0.8.21.31: tweak finalizers, thighten spec further
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index e18ea00..b85bd54 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,12 +2,48 @@ changes in sbcl-0.8.22 relative to sbcl-0.8.21:
   * incompatible change: the --noprogrammer option, deprecated since
     version 0.7.5, has been removed.  Please use the equivalent
     --disable-debugger option instead.
+  * incompatible change: finalizers and *AFTER-GC-HOOKS* are now run with
+    interrupts enabled.
+  * incompatible change: support for *BEFORE-GC-HOOKS* (that have been
+    inoperational for a while now) has been completely removed.
+  * null lexical environments are now printed as #<NULL-LEXENV>, 
+    significantly reducing the amount of clutter in typical backtraces.
+  * documentation on weak pointers, finalization, and after GC hooks
+    has been added to the manual.
   * optimization: REPLACE on declared (UNSIGNED-BYTE 8) vectors, as well
     as other specialized array types, is much faster.  SUBSEQ and
     COPY-SEQ on such arrays have also been sped up.
+  * fixed bug: finalizers are now thread-safe. (thanks to Gabor Mellis)
+  * fixed bug: finalizers and after GC hooks that cause consing are now
+    safe.
+  * fixed bug: compiler error messages and summaries are now printed to 
+    *ERROR-OUTPUT*, not *STANDARD-OUTPUT*.
   * fixed inference of the upper bound of an iteration variable.
     (reported by Rajat Datta).
+  * fixed bug 373: caused by erronous compilation of references to alien
+    variables in the runtime on ppc/darwin.
   * fixed bug 376: CONJUGATE type deriver.
+  * fixed infinite looping of ALIEN-FUNCALL, compiled with high DEBUG.
+    (reported by Baughn on #lisp)
+  * a cross-compiler bug on non-x86 platforms has been identified and
+    fixed.  (thanks to Bruno Haible)
+  * improvements to the MIPS runtime code for increased stability.
+    (thanks to Thiemo Seufer)
+  * increased the maximimum compact environment size to allow
+    purify on images with large amounts of functions. (thanks to Cyrus Harmon)
+  * partial workaround for bug 135: don't name the function we're
+    calling for hairy cases of EVAL, so as not to accumulate one environment
+    entry per call to EVAL.  (reported by Kevin Reid)
+  * improvements to the x86-64 disassembler. (thanks to Lutz Euler)
+  * optimization: type testing for non-vector arrays should be faster.
+  * fixed TRACE :ENCAPSULATE NIL, added support for :ENCAPSULATE NIL
+    on x86-64
+  * bug fix: setting 31st element of a bit vector to zero did not work
+    on Alpha-32.
+  * fixed some bugs related to Unicode integration:
+    ** the restarts for recovering from input and output encoding
+       errors only appear when there is in fact such an error to
+       handle.
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** MISC.549 and similar: late transformation of unsafe type
        assertions into derived types caused unexpected code
@@ -20,6 +56,11 @@ changes in sbcl-0.8.22 relative to sbcl-0.8.21:
     ** out-of-line type testers for character strings are available.
     ** EQUAL compiler transform understands specialness of objects
        of type BIT-VECTOR.
+    ** accessing double-floats stored on the stack now works on x86-64.
+    ** debugger internals could sometimes create invalid lispobjs, 
+       resulting in GC crashes.
+    ** MISC.548: type check weakening can convert required type into
+       optional.
 
 changes in sbcl-0.8.21 (0.9alpha.1?) relative to sbcl-0.8.20:
   * incompatible change: thread support for non-NPTL systems has