0.9.8.8
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 924cc35..dbd1513 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,131 @@
 ;;;; -*- coding: utf-8; -*-
 ;;;; -*- coding: utf-8; -*-
+changes in sbcl-0.9.9 relative to sbcl-0.9.8:
+  * new platform: experimental support for the Windows operating
+    system has been added.  (thanks to Alastair Bridgewater)
+  * optimization: faster implementation of EQUAL
+  * fixed segfaults on x86 FreeBSD 7-current (thanks to NIIMI Satoshi)
+
+changes in sbcl-0.9.8 relative to sbcl-0.9.7:
+  * minor incompatible change: (SETF CLASS-NAME) and (SETF
+    GENERIC-FUNCTION-NAME) are generic functions once more (reverting
+    the change in the 0.9.7 release).  (SETF CLASS-NAME) is specified
+    by ANSI as a generic function, and for consistency (SETF
+    GENERIC-FUNCTION-NAME) is treated likewise.
+  * fixed bug #233.b: make constraint propagation notice when a variable
+    value is changed after it is referenced but before it is used
+  * fixed bug #296: no more arbitrary behaviour from filenames with
+    odd characters as --load arguments.  (reported by Adam Warner)
+  * fixed bug #390: :CHARACTER-SET pathname components now work as
+    expected.  (reported by Tim Daly Jr)
+  * fixed bug #391: complicated :TYPE intersections in slot
+    definitions no longer cause an error in PCL internals.
+  * fixed bug #392: plugged a hole in the obsolete-instance protocol.
+  * bug fix: FILE-STRING-LENGTH is now external-format sensitive,
+    returning the number of octets which would be written to the
+    file-stream.  (thanks to Robert J. Macomber)
+  * bug fix: the SB-SIMPLE-STREAMS contrib passes external-format
+    arguments to the internal stream functions.  (thanks to David
+    Lichteblau)
+  * bug fix: stack exhaustion is now handled on the x86/SunOS
+    platform.  (thanks to Daisuke Homma)
+  * bug fix: more accurate ROOM results on GENCGC platforms
+  * optimization: improved type inference for arithmetic-for
+    index variables in LOOP
+  * optimization: faster floating-point SQRT on x86-64
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** DOCUMENTATION returns NIL instead of "" for method combinations
+       that don't have a docstring
+
+changes in sbcl-0.9.7 relative to sbcl-0.9.6:
+  * minor incompatible change: (SETF CLASS-NAME) and (SETF
+    GENERIC-FUNCTION-NAME) are no longer generic functions, and
+    therefore are not customizeable by user code (as seems to be at
+    least permitted and maybe required by AMOP).  As a consolation,
+    however, the SBCL implementation of these functions now calls
+    REINITIALIZE-INSTANCE as specified by AMOP.
+  * bug fix: slot-definition documentation is propagated as per ANSI
+    7.6.2 to EFFECTIVE-SLOT-DEFINITIONS.
+    COMPUTE-EFFECTIVE-SLOT-DEFINITION now receives a :DOCUMENTATION
+    argument, as do eslotd initialization methods.  (from Pascal
+    Costanza's "Closer" project)
+  * bug fix: REINITIALIZE-INSTANCE on generic functions calls
+    COMPUTE-DISCRIMINATING-FUNCTION (almost) unconditionally, as
+    specified by AMOP.
+  * bug fix: it is now possible to have more than one subclass of
+    STANDARD-GENERIC-FUNCTION without causing stack overflow.
+    (reported by Bruno Haible, Pascal Costanza and others)
+  * bug fix: the dependent update protocol now works for generic
+    functions.  (thanks to Gerd Moellmann; reported by Bruno Haible
+    and Pascal Costanza)
+  * bug fix: condition-class instances corresponding to
+    DEFINE-CONDITION forms are now created eagerly.  (reported by
+    Kalle Olavi Niemitalo on comp.lang.lisp)
+  * bug fix: floating point printing is more accurate in some
+    circumstances.  (thanks to Simon Alexander)
+  * bug fix: *COMPILE-FILE-PATHNAME* now contains the user's pathname
+    merged with *DEFAULT-PATHNAME-DEFAULTS*.
+  * bug fix: callbacks on OS X now preserve stack-alignment.
+    (thanks to Cyrus Harmon)
+  * enhancement: the x86-64 disassembler is much better at
+    disassembling SSE instructions.  (thanks to Lutz Euler)
+  * enhancement: CHECK-TYPE on a variable now allows type-inference
+    (thanks to Vincent Arkesteijn)
+  * optimization: improved performance of EUC-JP external format.
+    (thanks to NIIMI Satoshi)
+  * optimization: performance improvements to IO on file streams of
+    :ELEMENT-TYPE CHARACTER
+  * optimization: much faster memory allocation on x86-64
+  * optimization: faster garbage collections (latency and throughput)
+    on gencgc
+  * optimization: faster bignum subtraction and division on x86 and x86-64 
+    (thanks to Lutz Euler)
+  * optimization: more accurate type-inference for loops that use a
+    floating point index variable or a negative step.
+
 changes in sbcl-0.9.6 relative to sbcl-0.9.5:
 changes in sbcl-0.9.6 relative to sbcl-0.9.5:
-  * bug fix: add a workaround to SBCL looping infinitely at startup on 
+  * bug fix: add a workaround to SBCL looping infinitely at startup on
     Linux kernels with apparently buggy implementations of personality().
     (thanks to Svein Ove Aas)
     Linux kernels with apparently buggy implementations of personality().
     (thanks to Svein Ove Aas)
+  * bug fix: Unicode symbols are correctly printed in LDB backtraces
+    (thanks to David Lichteblau)
+  * bug fix: local bindings shadow global symbol macros for
+    macroexpansion.  (reported by Matthew D Swank on comp.lang.lisp)
+  * optimization: non-open coded uses of numeric comparison operators
+    (e.g. >) no longer cons when called with more than one parameter
+    on platforms supporting dynamic-extent allocation.
+  * enhancement: saving cores with foreign code loaded is now supported
+    on MIPS/Linux in addition to the previously supported platforms.
+  * bug fix: FIND-RESTART now tests for activity, not applicability when given
+    a restart object as identifier. (reported by Helmut Eller for CMUCL)
+  * bug fix: division by zero in sb-sprof when no samples were collected
+  * bug fix: a race when a slow to arrive sigprof signal killed sbcl
+  * bug fix: asdf-install uses CRLF as required by the HTTP spec.
+    (thanks to Alexander Kjeldaas)
+  * new feature: ignoring the return values of destructive functions
+    like NREVERSE signals a compile-time style-warning.
+    (thanks to Kevin Reid)
+  * new feature: the alignment of alien structure fields can be
+    explicitly specified. (thanks to Cyrus Harmon)
+  * bug fix: run cleanup forms (in all threads) when receiving a SIGTERM
+    and dump core on SIGQUIT
+  * threads
+    ** incompatible change: threads do not inherit values of specials
+       from their parents (see manual)
+    ** bug fix: threads stacks belonging to dead threads are freed by the
+       next exiting thread, no need to gc to collect thread stacks anymore
+    ** minor incompatible change: INTERRUPT-THREAD-ERROR-ERRNO removed
+    ** WITH-RECURSIVE-LOCK can be nested in a WITH-MUTEX for the same lock
+    ** bug fix: dynamic variable and thread start related gc lossage
+    ** bug fix: job control (SIGSTOP/SIGCONT) no longer confuses threads
+       suspended for gc
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** SUBTYPEP is slightly more accurate on heinously complicated
+       CONS types where some of the members have uncertain (in the
+       NIL, NIL sense) type relationships to each other.
+  * GENCGC
+    ** Cores produced by SAVE-LISP-AND-DIE on GENCGC platforms are
+       no longer purified unless :PURIFY T is explicitly specified.
+    ** Non-purified cores are significantly smaller than before
 
 changes in sbcl-0.9.5 relative to sbcl-0.9.4:
   * new feature: timers based on Zach Beane's excellent timer package
 
 changes in sbcl-0.9.5 relative to sbcl-0.9.4:
   * new feature: timers based on Zach Beane's excellent timer package
@@ -719,7 +842,7 @@ changes in sbcl-0.8.16 relative to sbcl-0.8.15:
     (thanks to Richard Kreuter)
   * bug fix: defining classes whose accessors are methods on existing
     generic functions in other (locked) packages no longer signals
     (thanks to Richard Kreuter)
   * bug fix: defining classes whose accessors are methods on existing
     generic functions in other (locked) packages no longer signals
-    bogus package lock violations. (reported by François-René Rideau)
+    bogus package lock violations. (reported by François-René Rideau)
   * bug fix: special variables as DEFMETHOD parameters no longer have
     associated bogus type declarations. (reported by David Wragg and
     Bruno Haible)
   * bug fix: special variables as DEFMETHOD parameters no longer have
     associated bogus type declarations. (reported by David Wragg and
     Bruno Haible)