0.9.10.2:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 41a3063..fcc512e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,105 @@
 ;;;; -*- coding: utf-8; -*-
+changes in sbcl-0.9.11 relative to sbcl-0.9.10:
+  * new feature: Unicode character names are now known to the system
+    (through CHAR-NAME and NAME-CHAR).
+  * bug fix: as implied by AMOP, standardized classes no longer have
+    slots named by external symbols of public packages.  (reported by
+    Pascal Costanza)
+
+changes in sbcl-0.9.10 relative to sbcl-0.9.9:
+  * new feature: new SAVE-LISP-AND-DIE keyword argument :EXECUTABLE can
+    be used for bundling the runtime and the core file into one 
+    executable binary. This feature is not currently supported on all SBCL
+    platforms.  (thanks to James Bielman and NIIMI Satoshi)
+  * new feature: a generational or ephemeral garbage collector is now
+    the default on the PowerPC platform (both Linux and Darwin).  The
+    old Cheney (stop and copy) collector is a build-time option.
+    (thanks to Cyrus Harmon, after Raymond Toy)
+  * minor incompatible change: the method by which SBCL finds its
+    contributed modules has changed; it no longer relies on symbolic
+    links from an $SBCL_HOME/systems directory, but searches directly
+    in the subdirectories of $SBCL_HOME.
+  * enhancement: the dynamic heap size on the Linux/PPC platform is
+    markedly larger, even using the older Cheney garbage collector.
+  * fixed bug #399: full call to DATA-VECTOR-REF in accesses to
+    certain complicated string types.  (reported by Gary King)
+  * fixed bug: STRING-TO-OCTETS and OCTETS-TO-STRING did not convert
+    character codes.  (thanks to Yaroslav Kavenchuk and Ivan Boldyrev)
+  * fixed bug: DOCUMENTATION on structures no longer signals an 
+    error if no structure type of the right name exists.  (reported by
+    Glenn Ehrlich)
+  * fixed bug: compiled calls to MAKE-INSTANCE where there is an
+    applicable non-standard primary or :AROUND method on
+    INITIALIZE-INSTANCE or SHARED-INITIALIZE and a non-keyword initarg
+    no longer cause unbound variable errors.  (reported by Kevin Reid)
+  * fixed bug: metacircle resolution in cases where methods have slots
+    added before the slots from STANDARD-METHOD.  (reported by Jean
+    Bresson)
+  * fixed bug: the Power PC assembly code for calling into lisp
+    sometimes computed its return address wrongly (depending on the
+    15th bit of the address, fixed at link time).  This used to
+    manifest itself in a segmentation violation while building PCL.
+    (reported by Kevin Rosenberg, Eric Marsden, Lars Brinkhoff and
+    many others over the years)
+  * fixed bug: ROOM no longer reports silly numbers for stack usage if
+    the stack pointer (treated as a signed integer) is negative.
+    (thanks to Peter van Eynde)
+
+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)
+  * fixed several bugs in and robustified the PPC FFI (including
+    callbacks).  (thanks to Cyrus Harmon and Heiner Schwarte)
+  * bug fix: allow non-simple string symbol names (reported by Paul
+    Dietz)
+  * bug fix: interrupt handling on NetBSD (thanks to Richard M
+    Kreuter)
+  * bug fix: saving a core corrupted callbacks on x86/x86-64
+  * bug fix: closed a loophole in metacircularity detection and
+    grounding in the PCL implementation of CLOS.
+  * bug fix: TRUENAME on "/" no longer returns a relative pathname.
+    (reported by tomppa on #lisp)
+  * bug fix: clear the direction flag on Lisp -> C transitions, as 
+    required by the x86-64 ABI. Fixes mysterious GC crashes on SuSE.
+    (reported by Andrej Grozin and Hendrik Maryns)
+  * optimization: major improvements to GC efficiency on GENCGC platforms
+  * optimization: faster implementation of EQUAL
+  * optimization: emit more efficient opcodes for some common 
+    immediate->register MOV instructions on x86-64.  (thanks to Lutz Euler)
+  * optimization: several other minor code-generation improvements on x86-64
+  * 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
+\a
 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
@@ -6,6 +107,11 @@ changes in sbcl-0.9.7 relative to sbcl-0.9.6:
     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.
@@ -15,6 +121,11 @@ changes in sbcl-0.9.7 relative to sbcl-0.9.6:
   * 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.
@@ -32,6 +143,8 @@ changes in sbcl-0.9.7 relative to sbcl-0.9.6:
     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:
   * bug fix: add a workaround to SBCL looping infinitely at startup on