0.7.2.7:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 2cef80c..1f76c35 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -981,19 +981,113 @@ changes in sbcl-0.7.0 relative to sbcl-0.6.13:
   some of which are apparent above.
 
 changes in sbcl-0.7.1 relative to sbcl-0.7.0:
-* SB-ALIEN:LOAD-FOREIGN and SB-ALIEN:LOAD-1-FOREIGN are set
-  up properly again. (There was a packaging bug in 0.7.0 which
-  left their definitions in SB-SYS::LOAD-FOREIGN and 
-  SB-SYS::LOAD-1-FOREIGN.)
-* DEFGENERIC is now choosier about the methods it redefines, so that
-  reLOADing a previously-LOADed file containing DEFGENERICs does
-  the right thing now. Thus, the Lispy edit/reLOAD-a-little/test
-  cycle now works as it should. (thanks to Alexey Dejneka)
-* Bug 106 (types (COMPLEX FOO) where FOO is an obscure type) was
-  fixed by Christophe Rhodes. (He actually submitted this patch
-  months ago, and I delayed until after 0.7.0.)
-* Bug 111 (internal compiler confusion about runtime checks on
-  FUNCTION types) was fixed by Alexey Dejneka.
+* mostly bug fixes:
+  ** SB-ALIEN:LOAD-FOREIGN and SB-ALIEN:LOAD-1-FOREIGN are set
+     up properly again. (There was a packaging bug in 0.7.0 which
+     left their definitions in SB-SYS::LOAD-FOREIGN and 
+     SB-SYS::LOAD-1-FOREIGN. LOAD-FOREIGN and LOAD-1-FOREIGN are
+     vital for most things which interface to C-level interfaces,
+     like extensions working with sockets or databases or
+     Perl-compatible regexes or whatever, and the need to fix
+     this bug is the main reason that 0.7.1 was released so
+     soon after 0.7.0.)
+  ** DEFGENERIC is now choosier about the methods it redefines, so that
+     reLOADing a previously-LOADed file containing DEFGENERICs does
+     the right thing now. Thus, the Lispy edit/reLOAD-a-little/test
+     cycle now works as it should. (thanks to Alexey Dejneka)
+  ** Bug 106 (types (COMPLEX FOO) where FOO is an obscure type) was
+     fixed by Christophe Rhodes. (He actually submitted this patch
+     months ago, and I delayed until after 0.7.0.)
+  ** Bug 111 (internal compiler confusion about runtime checks on
+     FUNCTION types) was fixed by Alexey Dejneka.
+* Some internal cleanups (getting rid of variables which aren't
+  needed now that the byte interpreter is gone) caused the fasl
+  file format number to change again.
+
+changes in sbcl-0.7.2 relative to sbcl-0.7.1:
+  * incompatible change: The compiler is now less aggressive about
+    tail call optimization, doing it only when (> SPACE DEBUG) or
+    (> SPEED DEBUG). (This is an incompatible change because there are
+    programs which relied on the old CMU-CL-style behavior to optimize
+    away their unbounded recursion which will now die of stack overflow.)
+  * minor incompatible change: The default BYTES-CONSED-BETWEEN-GCS
+    for non-GENCGC systems has been increased to 20M (since that
+    seems much closer to the likely performance optimum for modern
+    systems than the old 4M value was)
+  * minor incompatible change: new larger values for *DEBUG-PRINT-LENGTH*
+    and *DEBUG-PRINT-LEVEL*
+  * SBCL runs on SPARC systems now. (thanks to Christophe Rhodes' port
+    of CMU CL's support for SPARC, and various endianness and other 
+    SBCL portability fixes due to Christophe Rhodes and Dan Barlow)
+  * new syntactic sugar for the Unix command line: --load foo.bar is now
+    an alternate notation for --eval '(load "foo.bar")'.
+  * bug fixes:
+    ** The system now detects stack overflow and handles it gracefully,
+       at least for (OR (> SAFETY (MAX SPEED SPACE)) (= SAFETY 3))
+       optimization settings. (This is a good thing in general, and
+       its introduction in this version should be particularly timely
+       for anyone whose code fails because of suppression of tail
+       recursion!)
+    ** The system now hunts for the C variable "environ" in a more
+       devious way, to avoid segfaults when the C library version differs
+       between compile time and run time. (thanks to Christophe Rhodes)
+    ** INTEGER-valued CATCH tags now work. (thanks to Alexey Dejneka,
+       and also to Christophe Rhodes for porting the fix to non-X86 CPUs)
+    ** The compiler no longer issues bogus style warnings for undefined
+       classes in the same source file as the DEFCLASSes which defined
+       them. (thanks to Stig E Sandoe for reporting and Martin Atzmueller
+       for fixing this)
+    ** fixes in CONDITION class precedence list for undefined function
+       errors (thanks to Alexei Dejneka)
+    ** *DEFAULT-PATHNAME-DEFAULTS* is used more consistently and 
+       correctly. (thanks to Dan Barlow)
+    ** portability fixes aiming at bootstrapping under CLISP (thanks
+       to Dave McDonald and Christophe Rhodes)
+    ** FORMAT fixes (thanks to Robert Strandh and Dan Barlow)
+    ** fixes in type translation and and type inference (thanks to
+       Christophe Rhodes)
+    ** fixes to optimizer internal errors (thanks to Alexei Dejneka)
+    ** various fixes in the new ports (thanks to Dan Barlow)
+  * several changes related to debugging:
+    ** suppression of tail recursion, as noted above
+    ** stack overflow detection, as noted above
+    ** The default implementation of TRACE has changed. :ENCAPSULATE T
+       is now the default. (For some time encapsulation has been more
+       reliable than the breakpoint-based :ENCAPSULATE NIL
+       implementation, at least on X86 systems; and I just noticed that
+       encapsulation also seems closer to the spirit of the ANSI
+       specification.)
+
+changes in sbcl-0.7.3 relative to sbcl-0.7.2:
+  * SBCL now runs on the PPC archtiecture under Linux. It actually did
+    this as of 0.7.1.45, but was left out of the previous news section
+    (thanks to Dan Barlow)
+  * SBCL now runs on the Solaris operating system on SPARC architectures
+    (thanks to Christophe Rhodes's port of the CMUCL runtime)
+  * cleanups to the runtime on SPARC, both Linux and Solaris, and for
+    gcc>=3 (thanks to Nathan Froyd and Ingvar Mattsson)
+  * ANSI's DEFINE-SYMBOL-MACRO is now supported. (thanks to Nathan
+    Froyd porting CMU CL code originally by Douglas Thomas Crosher)
+  * The fasl file format has changed again, to allow the compiler's
+    INFO database to support symbol macros.
+  * The user manual (in doc/) is formatted into HTML more nicely.
+    (thanks to coreythomas)
+
+changes in sbcl-0.7.3 relative to sbcl-0.7.2:
+  * The system is smarter about SUBTYPEP relationships, especially
+    those involving NOT types (including types such as ATOM which are
+    represented internally using NOT types). Thus SUBTYPEP is less
+    likely to return (VALUES NIL NIL) in general, and in particular
+    bugs 58 and (the remaining bits of) bug 50 are fixed. (thanks to
+    Christophe Rhodes)
+  * The fasl file format has changed again, because the internal
+    representation of types now includes a new slot to support the new
+    SUBTYPEP-of-NOT-types logic.
+  * (not a change in the main branch of SBCL, but a related prototype
+    which can hopefully be merged into the main branch of SBCL in the
+    future:) Brian Spilsbury has produced a Unicode-enabled variant of
+    sbcl-0.7.0, available as a patch against sbcl-0.7.0 at
+      <http://designix.com.au/brian/SBCL/sbcl-0.7.0-unicode.p0.gz>.
 
 planned incompatible changes in 0.7.x:
 * When the profiling interface settles down, maybe in 0.7.x, maybe