1.0.42: will be tagged as sbcl_1_0_42
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index f6228a5..525a67a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,14 +1,73 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.37:
-  * INCOMPATIBLE CHANGE: Thread names are now restricted to SIMPLE-STRINGs
-    like for any other thread-related datastructure (MUTEX, etc.)
-  * DEPRECATION: the SB-QUEUE contrib was merged into the SB-CONCURRENCY
+changes in sbcl-1.0.42 relative to sbcl-1.0.41
+  * build changes
+    ** Cross-compilation host is now specified to make.sh using
+       command-line argument --xc-host=<command> instead of a positional
+       argument. (thanks to Daniel Herring)
+    ** Install location can be specified to make.sh using command-line
+       argument --prefix=<path>. (lp#550889s, thanks to Daniel Herring)
+  * optimization: The default implementation of
+    COMPUTE-DISCRIMINATING-FUNCTION does much less wasted work.
+  * enhancement: Explicit memory barrier operations are now available for use
+    by multithreaded code.  See documentation for details.
+  * enhancement: Experimental support for threading on Linux/PPC.
+  * bug fix: RENAME-PACKAGE returns the package.  (Thanks to Eric Marsden)
+  * bug fix: EXPT signals an error if first argument is a zero and second
+    argument is a floating point zero. (lp#571581, thanks to Roman Marynchak)
+  * bug fix: DEFTYPE signals an error for non-list lambda-lists.
+    (lp#576594, thanks to Roman Marynchak)
+  * bug fix: make ASDF-INSTALL compatible with the now-included ASDF2.
+    (lp#612998, reported by Phil Hargett; patch from Jim Wise)
+
+changes in sbcl-1.0.41 relative to sbcl-1.0.40:
+  * optimization: validity of observed keyword initargs to MAKE-INSTANCE is
+    cached, leading to many fewer expensive calls to
+    COMPUTE-APPLICABLE-METHODS.
+  * optimization: in the (unoptimized) general method for MAKE-INSTANCE on a
+    CLASS argument, search for and call an appropriate optimized ctor function
+    if it exists.
+  * bug fix: WRITE always returns the correct value.
+
+changes in sbcl-1.0.40 relative to sbcl-1.0.39:
+  * bug fix: readdir now works on :inode64 darwin builds (lp#592897)
+  * bug fix: Name conflicts between symbols passed as arguments to a single
+    call to IMPORT no longer add multiple symbols with the same name to the
+    package (detectable via DO-SYMBOLS).
+  * bug fix: support building without the dlshim on darwin x86 and x86-64
+    (lp#533470).
+  * bug fix: TRACE :ENCAPSULATE NIL now works on ppc/linux.
+
+changes in sbcl-1.0.39 relative to sbcl-1.0.38:
+  * bug fix: Backtrace from undefined function on x86 and x86-64 now show
+    the calling frame.
+  * bug fix: linkage-table entries on PPC now no longer overflow their
+    space allocation (potentially causing crashes if they are written out
+    of order).
+  * bug fix: Scrub control stack after scavenging in gencgc on non-x86oid
+    platforms, preventing the GC from seeing stale pointers on the control
+    stack in subsequent GCs (which would, and does, break invariants).
+  * bug fix: 32-bit unicode external formats now work on big-endian systems.
+  * bug fix: Literal characters with code points greater than about 32767
+    now work on PPC UNICODE builds.
+  * bug fix: Any noise left by SSE operations (sqrt and conversions) in the
+    high order bits are explicitly cleared out. In some contrived situations,
+    this could lead to wrong results in mixed real/complex float arithmetic.
+  * bug fix: Fix function/macro redefinition warnings when building with
+    clisp.  (lp#576787, thanks to Josh Elsasser)
+  * new platform: experimental support for ppc/openbsd (thanks to Josh
+    Elsasser).
+  * bug fix: Floating-point traps now work on ppc/linux.
+
+changes in sbcl-1.0.38 relative to sbcl-1.0.37:
+  * incompatible change: Thread names are now restricted to SIMPLE-STRINGs
+    like for any other thread-related datastructure, MUTEX, etc. (lp#547095)
+  * deprecation: the SB-QUEUE contrib was merged into the SB-CONCURRENCY
     contrib module. New code should depend on SB-CONCURRENCY, not SB-QUEUE.
-  * DEPRECATION: SB-THEAD:GET-MUTEX was deprecated in favor of
+  * deprecation: SB-THEAD:GET-MUTEX was deprecated in favor of
     SB-THREAD:GRAB-MUTEX.
-  * new contrib: SB-CONCURRENCY is a new contrib; it's supposed to contain
-    additional data structures and tools for concurrent programming; at the
-    moment it contains a lock-free queue, and a lock-free mailbox
+  * new contributed module: SB-CONCURRENCY is a new contrib; it's supposed to
+    contain additional data structures and tools for concurrent programming;
+    at the moment it contains a lock-free queue, and a lock-free mailbox
     implementation.
   * new feature: added SB-THREAD:GRAB-MUTEX; it's like the now deprecated
     GET-MUTEX but takes &key rather than &optional parameters.  Also added
@@ -31,11 +90,24 @@ changes relative to sbcl-1.0.37:
        SOCKET-PEERNAME.
     ** SOCKET-MAKE-STREAM once more supports the :AUTO-CLOSE option.
        (lp#540413)
+    ** SOCKET-CLOSE now accepts :ABORT argument, which is passed on to
+       CL:CLOSE when appropriate, and no longer disassociates the stream
+       from the socket if close failed. (lp#543951)
   * improvements to the instrumenting profiler
     ** new feature: report per-function GC overhead. (thanks to John Fremlin)
     ** optimization: counters no longer use locks for the overflow mode.
     ** bug fix: whenever a profiling counter wrapped into overflow mode, it
        incurred an off-by-one miscount.
+  * enhancement: improved MAKE-HASH-TABLE documentation (lp#543473)
+  * enhancement: improved DEFMETHOD pretty-printing.
+  * enhancement: perform range reduction when arguments are too large for
+    x87's transcendentals (instead of returning 0). (lp#327192)
+  * enhancement: eliminate some spurious TYPE-WARNINGs. Should help with
+    some of CL-PPCRE's macros. (lp#570079)
+  * enhancement: our machine code is slightly less hostile to valgrind on 
+    x86-64.
+  * enhancement: up-to-date versions of NetBSD-current are supported.  (Thanks
+    to Robert Swindells and Aleksej Saushev)
   * bug fix: correct restart text for the continuable error in MAKE-PACKAGE.
   * bug fix: a rare case of startup-time page table corruption.
   * bug fix: a semaphore with multiple waiters and some of them unwinding due
@@ -51,6 +123,26 @@ changes relative to sbcl-1.0.37:
   * bug fix: allow forward FIND and POSITION on lists to elide checking :END
     against length of the list if the element is found before the specified
     END is reached. (thanks to Alec Berryman, lp#554385)
+  * bug fix: errors signalled during package graph modification no longer
+    block FIND-SYMBOL and FIND-PACKAGE in other threads. (lp#511072)
+  * bug fix: SB-POSIX build was broken when SBCL was compiled without the
+    :SB-DOC feature. (lp#552564)
+  * bug fix: SB-INTROSPECT build issues on GENGC/PPC. (lp#490490)
+  * bug fix: more robust runtime executable path detection. (lp#375549)
+  * bug fix: GCD always returns positive values. (lp#413680)
+  * bug fix: Converting division to multiplication by reciprocal handles
+    denormals.
+  * bug fix: We were too eager in eliding range reduction tests on x87.
+    The maximal magnitude is 2^63, not 2^64.
+  * bug fix: Transforms for TRUNCATE don't die when the result is completely
+    ignored anymore.
+  * bug fix: Maybe restore buildability on Alpha.
+  * bug fix: READ-BYTE isn't inline anymore, fixing weird streams failures. 
+    (lp#569404)
+  * bug fix: RANDOM-STATE can be printed readably again.
+  * bug fix: Unreadable objects were sometimes printed like #<\nFoo>.
+  * bug fix: Using EQL with non-constant values of constant type (e.g. EQL
+    types) could result in type mismatches during compilation.
 
 changes in sbcl-1.0.37 relative to sbcl-1.0.36:
   * enhancement: Backtrace from THROW to uncaught tag on x86oids now shows