This is a BETA release, many bugs may still remain!
Note that the beta status is only recorded in this file, if it is
found that this release is sufficiently bug free, this particular
release will be taken out of beta status.
This file will be updated with new information about this release,
please send bug AND success reports to pike@idonex.se so that they
may be recorded in this file.
Successful tests done on:
Solaris 2.5.1, 2.6, 2.7 (sparc & x86)
Linux Redhat 4.2
AIX 4.2
Digital UNIX 4.0
FreeBSD 2.2.6
Windows NT/95 (Pike0685.exe)
Known problems:
o Read hangs has been reported on Solaris 2.6, it is not known whether this
is a Roxen, Pike or Solaris bug at this time.
o Test 1014 in teststuite.in ( ({1,2,3})/1 ) may fail for some compilers.
We beleive this is a compiler bug, and are trying to find a workaround.
o for loops using global variables may not re-evaluate the test expression
properly. To fix this, replace F_GLOBAL on line 1277 in las.c with
F_IDENTIFIER. Fixed in 0.6.86.
o The configure test for POSIX threads hangs on MkLinux (gravensteiner).
This is beleived to be a bug in MkLinux.
Changes since 0.6.80:
o ANNOUNCE fixed
o crypto testsuite fixed
o IEEE floating point problems fixed on Solaris
o Should now compile with gcc on HP-UX
o catch { return foo(); } should now work
o A parser-hanging bug fixed
o Some NT bugfixes included.
A short summary of changes since 0.5 follows:
o The compiler is now two-pass, which means that you can access
variables and functions declared later in the source without
having to use prototypes. The two-pass compiler also makes
it possible to use the name of a class from inside itself.
o It is now possible to access variables and functions in the
'parent' class. This greatly simplifies coding in many
situations.
o The process handling has been changed to being object-
oriented. For this purpose, a new function has been created:
Process.create_process. The returned object can be used
as an argument to kill, and has methods which will report
the status of the child process.
o Similar to process handling, threads have been changed to use
an object-oriented approach.
o The 'varargs' keyword has been removed.
o You can now 'import "dirname"'.
o The module system has been modified so that the current
directory is no longer searched for modules. To use a module
in the current directory, you must either use 'import "."'
or specify the module as '.module' instead of just 'module'.
o Lots of bugs have been fixed. :)
o Implicit blocks have been implemented around if, switch, for,
do-while and foreach, this means that the scope of variables
such as 'x' in 'if(string x)' ends after the if construct.
o popen, system and spawn in the Process module have been changed
to *NOT* execute /bin/sh on the given string. This is to ensure
compatibility with Win32 systems.
Binaries
There is an NT binary available, see 'Known Problems' before using it.
Binary releases for UNIX will be made available if this release is
found to be worthy of more work.
/Fredrik Hübinette