/pub/pike/all/0.6.72/


This is a BETA release, many bugs may still remain!
This release is now obsoleted by Pike-v0.6.80.

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 (sparc & x86)
	Linux Redhat 4.2
	AIX 4.2
	SCO OpenServer 3.3.2
	Digital UNIX 4.0
	FreeBSD 2.2.6

Known problems:

o The test suite reports errors in sprintf on some systems which does not
  follow the IEEE float standard correctly. Don't worry about it.

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 language.c has #line directives that confuses gcc 2.8.1.
  Solution: install bison, delete language.c and compile as normal.

o Due to a mistake when packing this release, not all files are the
  absolutely latest versions. Steps has been taken to make sure this
  particular mistake is not repeated.

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 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 ANNOUNCE says it is pike 0.5b, it is not.

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 this is the first 0.6 beta release, the changes are very numerous.
  To expedite releases, changes will be posted on http://pike.idonex.se.
  A short summary 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 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 has been fixed. :)

	o implicit blocks has been implemented around if, switch, for,
	  do-while and foreach, this means that the scope of variables
	  such as 'if(string x)' are invalid after the if construct.

Binaries
  There will be no binary distributions of this release because of some
  of the problems mentioned above. I will instead concentrate on making
  another release within a few days.

	/Fredrik Hübinette