1.0.26.13: OpenBSD x86-64 support
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 4aec9ca..6728d45 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,18 +1,89 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
+changes in sbcl-1.0.27 relative to 1.0.26:
+  * new port: support added for x86-64 OpenBSD. (thanks to Josh Elsasser)
+  * bug fix: a type error is signaled for attempts to use the LOOP
+    keyword ACROSS for a NIL value. (thanks to Daniel Lowe)
+
+changes in sbcl-1.0.26 relative to 1.0.25:
+  * incompatible change: an interruption (be it a function passed to
+    INTERRUPT-THREAD or a timer function) runs in an environment where
+    interrupts can be enabled. The interruption can use
+    WITH-INTERRUPTS or WITHOUT-INTERRUPTS as it sees fit. Use
+    WITHOUT-INTERRUPTS to avoid nesting of interruptions and
+    potentially running out of stack. Keep in mind that in the absence
+    of WITHOUT-INTERRUPTS some potentially blocking operation such as
+    acquiring a lock can enable interrupts.
+  * incompatible change: GC-OFF and GC-ON are removed, as they were
+    always unsafe. Use WITHOUT-GCING instead.
+  * new feature: runtime option --disable-ldb
+  * new feature: runtime option --lose-on-corruption to die at the
+    slightest hint of possibly non-recoverable errors: running out of
+    memory, stack, alien stack, binding stack, encountering a memory
+    fault, etc. In the absence of --lose-on-corruption a warning is
+    printed to stderr.
+  * enhancement: detect binding stack exhaustion
+  * enhancement: detect alien stack exhaustion on x86/x86-64
+  * improvement: generally more stable and reliable interrupt handling
+  * improvement: there is a per thread interruption queue,
+    interruptions are executed in order of arrival
+  * improvement: a repeating timer reschedules itself when the it has
+    finished, but expiration times are spaced equally. If an
+    expiration time is in the past it will trigger after a short grace
+    period that may give a chance to other things to run.
+  * optimization: slightly faster gc on multithreaded builds
+  * optimization: faster WITHOUT-GCING
+  * bug fix: when JOIN-THREAD signals an error, do it when not holding
+    important locks so that the debugger/handler doesn't produce
+    recursive errors or deadlock.
+  * bug fix: real-time signals are not used anymore, so no more
+    hanging when the system wide real-time signal queue gets full.
+  * bug fix: INTERRUPT-THREAD on a dying thread could produce memory
+    fault.
+  * bug fix: finalizers, gc hooks never run in a WITHOUT-INTERRUPTS
+  * bug fix: fix random memory faults related to interrupts on alpha
+  * bug fix: fix random memory faults related to interrupts on sparc
+  * bug fix: fix deadlocks related to starting threads
+  * bug fix: fix deadlines on locks on futex platforms
+  * bug fix: restore errno in signal handlers
+  * bug fix: fix deadlocks related to hash tables
+  * bug fix: fix deadlocks in pcl
+
 changes in sbcl-1.0.25 relative to 1.0.24:
   * incompatible change: SB-INTROSPECT:FUNCTION-ARGLIST is deprecated, to be
     removed later. Please use SB-INTROSPECT:FUNCTION-LAMBDA-LIST instead.
   * new feature: SB-INTROSPECT:DEFTYPE-LAMBDA-LIST allows retrieval of
     DEFTYPE lambda lists. (thanks to Tobias Rittweiler)
+  * enhancement: MUTEX-VALUE is to be superseded by MUTEX-OWNER that has a
+    better name and does not return values so stale on multiprocessor systems.
+    Also, HOLDING-MUTEX-P was added for about the only sane usage of
+    MUTEX-OWNER.
+  * improvement: unithread builds keep track of MUTEX-VALUE.
   * improvement: reading from a TWO-WAY-STREAM does not touch the output
     stream anymore making it thread safe to have a concurrent reader and
     a writer, for instance, in a pipe.
   * improvement: GET-SETF-EXPANDER avoids adding bindings for constant
     arguments, making compiler-macros for SETF-functions able to inspect
     their constant arguments.
+  * improvement: COMPILE-FILE reports times with millisecond accuracy
+    (thanks to Luis Oliveira)
   * optimization: CHAR-CODE type derivation has been improved, making
     TYPEP elimination on subtypes of CHARACTER work better. (reported
     by Tobias Rittweiler, patch by Paul Khuong)
+  * bug fix: setting alien structure fields of type struct by value now
+    computes the right offset for the memory copy.
+  * bug fix: compilation problem involving inlined calls to aliens with
+    result type VOID. (reported by Ken Olum)
+  * bug fix: #235a; sequential inline expasion in different policies no
+    longer reuses the functional from the previous expansion site.
+  * bug fix: DEFTYPE no longer breaks on bodies consisting of a single
+    unquoted symbol. Regression from 1.0.22.8. (reported by Ariel Badichi)
+  * bug fix: named ENUMs in multiply-referenced alien record types no longer
+    cause an implied type redefinition.  Regression from 1.0.21.29.
+  * bug fix: sign-extension of small signed return values now works with C
+    code compiled with gcc 4.3 or newer. (reported by Liam Healy)
+  * improvements to the Windows port:
+    ** SB-BSD-SOCKETS now works from saved cores as well. (reported by Stephen
+       Westfold, thanks to Rudi Schlatte)
 
 changes in sbcl-1.0.24 relative to 1.0.23:
   * new feature: ARRAY-STORAGE-VECTOR provides access to the underlying data
@@ -246,7 +317,7 @@ changes in sbcl-1.0.19 relative to 1.0.18:
     type is not know sufficiently well a compile-time are now compiled
     correctly. (reported by John Morrison)
   * bug fix: compiler no longer makes erronous assumptions in the
-    presense of non-foldable SATISFIES types.
+    presence of non-foldable SATISFIES types.
   * bug fix: stack analysis missed cleanups of dynamic-extent
     arguments in non-let-converted calls to local functions.
   * improvements to the Windows port: