1.0.12.13: sequence optimizations: SUBSEQ, part 3
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index daa94e7..1f3ead3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,46 @@
 ;;;; -*- coding: utf-8; -*-
+changes in sbcl-1.0.13 relative to sbcl-1.0.12:
+  * SB-EXT:NATIVE-NAMESTRING takes a new keyword AS-FILE, forcing
+    unparsing of directory pathnames as files. Analogously,
+    SB-EXT:PARSE-NATIVE-NAMESTRING takes an AS-DIRECTORY, forcing a
+    filename to parse into a directory pathname.
+  * optimization: SUBSEQ is 30-80% faster for strings and vectors
+    whose element-type or simplicity is not fully known at
+    compile-time.
+  * bug fix: some sequence functions elided bounds checking when
+    SPEED > SAFETY.
+  * bug fix: too liberal weakening of union-type checks when SPEED >
+    SAFETY.
+  * bug fix: more bogus fixnum declarations in ROOM implementation
+    have been fixed.
+
+changes in sbcl-1.0.12 relative to sbcl-1.0.11:
+  * new feature: MAKE-HASH-TABLE now experimentally accepts a
+    :SYNCHRONIZED argument, which makes the hash-table safe for
+    concurrent accesses (but not iteration.) See also:
+    SB-EXT:WITH-LOCKED-HASH-TABLE, and
+    SB-EXT:HASH-TABLE-SYNCHRONIZED-P.
+  * optimization: CONCATENATE on strings is an order of magnitue faster
+    in code compiled with (> SPEED SPACE).
+  * optimization: SUBSEQ is ~50% faster on lists.
+  * bug fix: bug 417 fixed -- source location reporting is now more robust.
+  * bug fix: SUBSEQ on a list will now correctly signal an error if if
+    END is smaller then START.
+  * bug fix: SB-PROFILE will no longer report extra consing for nested
+    calls to profiled functions.
+  * bug fix: ROOM implementation had bogus fixnum declarations which
+    could cause type-errors when calling ROOM on large images.
+  * bug fix: if file compilation is aborted, the partial fasl is now
+    deleted, and COMPILE-FILE returns NIL as the primary value.
+  * bug fix: number of thread safety issues relating to SBCL's internal
+    hash-table usage have been fixed.
+  * bug fix: SB-SYS:WITH-PINNED-OBJECTS could cause garbage values to
+    be returned from its body when the values were being returned
+    using unknown-values return convection and the W-P-O was wrapped
+    inside an UNWIND-PROTECT.
+  * bug fix: sb-posix should now compile again under Windows, enabling
+    slime to work again.
+
 changes in sbcl-1.0.11 relative to sbcl-1.0.10:
   * incompatible change: hash-table accessor functions are no longer
     automatically protected by locks. Concurrent accesses on the same hash-table
@@ -7,6 +49,9 @@ changes in sbcl-1.0.11 relative to sbcl-1.0.10:
     locking at the correct granularity. In the current implementation it is
     still safe to have multiple readers access the same table, but it's not
     guaranteed that this property will be maintained in future releases.
+  * minor incompatible change: (SETF MUTEX-VALUE) is not longer supported,
+    and will signal an error at runtime.
+  * enhancement: SB-THREAD package now exports a semaphore interface.
   * enhancement: CONS can now stack-allocate on x86 and
     x86-64. (Earlier LIST and LIST* supported stack-allocation, but
     CONS did not.)
@@ -15,8 +60,17 @@ changes in sbcl-1.0.11 relative to sbcl-1.0.10:
   * enhancement: dynamic-extent support has been extended to support
     cases where there are multiple possible sources for the stack
     allocated value.
+  * optimization: RELEASE-MUTEX no longer needs to perform a syscall
+    if the mutex is uncontested on Linux.
   * bug fix: symbol-macro expansion now uses the *MACROEXPAND-HOOK*
     as specified by the CLHS. (thanks to Tobias Rittweiler)
+  * bug fix: NaN comparison now works on x86-64.
+  * bug fix: CLOSE :ABORT T on a stream with pending output now
+    works.
+  * bug fix: instances of non-standard metaclasses using standard
+    instance structure protocol sometimes missed the slot type checks
+    in safe code.
+  * bug fix: known functions can be inlined in high-debug code.
 
 changes in sbcl-1.0.10 relative to sbcl-1.0.9:
   * minor incompatible change: the MSI installer on Windows no longer