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 (Pike0680.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 ANNOUNCE says it is pike 0.5b, it is not.
o The test suite fails with "Index 'hmac' not found in module". This is
because of an error in the testsuite and does not affect the actual
function of Pike. Solution: Edit out the line with 'add_constant' from
the beginning of src/modules/_Lobotomized_Crypto/testsuite.in and try
again.
o the sprintf %8F tests fails on some platforms, usually, this indicates
that your compiler or os does not follow the IEEE specs for the pow()
function. Please send us the relevant portions of the test logs when
this problem appears.
o Test 1014 in teststuite.in ( ({1,2,3})/1 ) fails for some compilers.
It is not known weather this is a compiler or a Pike bug. Either way,
we hope to have the problem fixed soon.
o Compilation on HP-UX with gcc fails because configure defines
LARGEFILE_SOURCE without defining __STDC_EXT__.
o The Win32 version only works if you install it in the default location:
C:\Program Files\Idonex\Pike
o catch { return foo(); } will sometimes mess up local variables.
o Certain syntax errors can completely freeze pike.
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.
Changes since 0.6.72:
o The release now contains all the newest files.
o IEEE floating point problems fixed on FreeBSD
o language.c now compiles nicely with gcc 2.8.1
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 not be made available for this release.
Look for binary releases in the next release instead.
/Fredrik Hübinette