1.0.16.31: --control-stack-size runtime argument
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 574c63c..4da4bff 100644 (file)
--- a/NEWS
+++ b/NEWS
 ;;;; -*- coding: utf-8; -*-
+changes in sbcl-1.0.17 relative to 1.0.16:
+  * temporary regression: user code can no longer allocate closure
+    variable storage on stack, due to bug 419 without explicitly
+    requesting it. Please consult sbcl-devel for advice if you need to
+    use this feature in the meanwhile.
+  * new feature: runtime argument --control-stack-size can be used to
+    adjust thread default control stack size.
+  * optimization: ADJOIN and PUSHNEW are upto ~70% faster in normal
+    SPEED policies.
+  * optimization: APPEND is upto ~10% faster in normal SPEED policies.
+  * optimization: two argument forms of LAST are upto ~10% faster
+    in normal SPEED policies.
+  * optimization: NCONC no longer needs to heap cons its &REST list
+    in normal SPEED policies.
+  * bug fix: result of MAKE-ARRAY can be stack allocated - regression
+    since 1.0.15.36. (thanks to Paul Khuong)
+  * bug fix: bogus errors when generating certain code sequences, due
+    to the compiler not accepting ANY-REG for primitive type T on x86
+    and x86-64. (reported by Stelian Ionescu.)
+  * bug fix: LAST when always returned the whole list when given a bignum
+    as the second argument.
+  * bug fix: dynamic extent allocation of nested lists and vectors
+    could leak to otherwise accessible parts.
+  * bug fix: invalid optimization of heap-allocated alien variable
+    reference.
+  * bug fix: fasl header checking is less vulnerable to different
+    platform word lengths.
+  * bug fix: more correct assembler syntax for GNU binutils
+    2.18.50.0.4 support.  (thanks to Marijn Schouten)
+  * bug fix: fix ECASE warnings from CMUCL-as-xc-host.  (reported by
+    Andreas Franke)
+
+changes in sbcl-1.0.16 relative to 1.0.15:
+  * minor incompatible change: revert the changes to sb-posix's error
+    signaling added in 1.0.14.
+  * minor incompatible change: change PROBE-FILE back to returning
+    NIL whenever we can't get a truename, as was the case before 1.0.14.
+  * minor incompatible change: SB-BSD-SOCKETS:NAME-SERVICE-ERROR now
+    inherits from ERROR instead of just CONDITION.
+  * new feature: SB-INTROSPECT can provide source locations for instances
+    as well. (thanks to Tobian Ritterweiler)
+  * optimization: binding special variables now generates smaller code
+    on threaded platforms.
+  * optimization: MEMBER and ASSOC are over 50% faster for :TEST #'EQ
+    and cases where no :TEST is given but the compiler can infer that
+    the element to search is of type (OR FIXNUM (NOT NUMBER)).
+  * optimization: better LOGNOT on fixnums.
+  * optimization: modular arithmetic for a particular requested width
+    is implemented using a tagged representation unless a better 
+    representation is available.
+  * fixed bug 423: TRULY-THE and *CHECK-CONSISTENCY* interaction.
+  * bug fix: SB-BSD-SOCKETS:MAKE-INET-ADDRESS checks the input string
+    for wellformedness and returns a specialized vector. (reported by
+    Francois-Rene Rideau)
+  * bug fix: FIND-CLASS was not thread-safe. (reported by Attila Lendvai)
+  * bug fix: ~R was broken for vigtillions. (thanks to Luis Oliveira)
+  * bug fix: attempt to obtain *SCHEDULER-LOCK* recursively when
+    unscheduling timer at the same time as another timer fires.
+  * bug fix: don't reschedule timers for dead threads.
+  * bug fix: periodic polling was broken. (thanks to Espen S Johnsen)
+  * bug fix: copying output from RUN-PROGRAM to a stream signalled
+    bogus errors if select() was interrupted.
+  * enhancement: add support for fcntl's struct flock to SB-POSIX.
+
+changes in sbcl-1.0.15 relative to sbcl-1.0.14:
+  * enhancement: cleaner backtraces for interactive interrupts, as
+    well as other cases where the interesting frames used to be
+    obscured by interrupt handling frames.
+  * enhancement: untracing a whole package using (UNTRACE "FOO") is
+    now supported, and tracing a whole package using (TRACE "FOO") now
+    traces SETF-functions as well.
+  * enhancement: implement SB-POSIX:MKTEMP and SB-POSIX:MKDTEMP.
+  * SB-DEBUG:PRINT-FRAME-CALL now prints the entry-point kind even
+    when SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS* is NIL.
+  * unreadably printed representation of hash-tables now includes
+    weakness if any.
+  * bug fix: partially fixed #188: type propagation from assignments
+    is now more efficient.
+  * bug fix: fixed #407: (COERCE X 'SINGLE-FLOAT) and (COERCE X
+    'DOUBLE-FLOAT) are not flushable.
+  * bug fix: on x86 and x86-64 pointer based EQ-hashing now uses the
+    full address of the object, and none of the tag bits.
+  * bug fix: readably printing hash-tables now respects other printer
+    control variables.  (reported by Cedric St-Jean)
+  * bug fix: compiler gave a bogus STYLE-WARNING for the :SYNCHRONIZED
+    keyword with MAKE-HASH-TABLE.
+  * bug fix: export SB-POSIX:MKSTEMP.
+  * bug fix: SORT was not interrupt safe.
+  * bug fix: XREF accounts for the last node of each basic-block as
+    well.
+  * bug fix: MAKE-INSTANCE optimizations interacted badly with
+    non-keyword :DEFAULT-INITARGS in the presence of :BEFORE/:AFTER
+    methods on SHARED-INITIALIZE.  (thanks to Matt Marjanovic)
+  * bug fix: the CTOR optimization for MAKE-INSTANCE should no longer
+    create obsolete instances in the case of redefinition or
+    obsoletion of a superclass.  (thanks to Andy Hefner)
+  * bug fix: Support for the Alpha architecture has been revived; it had
+    suffered somewhat from lack of maintenance since sbcl-1.0.
+  * improvements to the Windows port:
+     ** The system detects the codepage to use at startup, instead of
+        using the value from the saved core. (thanks to Kei Suzuki)
+
 changes in sbcl-1.0.14 relative to sbcl-1.0.13:
   * new feature: SB-EXT:*EXIT-HOOKS* are called when the process exits
     (see documentation for details.)
-  * Revived support for OpenBSD (contributed by Josh Elsasser)
+  * revived support for OpenBSD (contributed by Josh Elsasser)
+  * partially fixed bug #108: ROOM no longer suffers from occasional
+    (AVER (SAP= CURRENT END)) failures.
+  * fixed bug #402: proclaimed non-standard declarations in DEFMETHOD
+    bodies no longer cause a WARNING to be signalled. (reported by
+    Vincent Arkesteijn)
+  * bug fix: (TRUNCATE X 0) when X is a bignum now correctly signals
+    DIVISION-BY-ZERO. Similarly for MOD and REM (which suffered due to
+    the bug in TRUNCATE.) (reported by Michael Weber)
+  * bug fix: SB-SPROF:REPORT no longer signals an error if there are
+    no samples. (reported by Andy Hefner)
+  * bug fix: functions compiled using (COMPILE NIL '(LAMBDA ...))
+    no longer appear as (NIL ...) frames in backtraces.
   * bug fix: RESOLVE-CONFLICT (and the other name conflict machinery)
     is now actually exported from SB-EXT as documented.  (reported by
     Maciej Katafiasz)
+  * bug fix: sb-aclrepl now correctly understands how to inspect
+    single-floats on 64-bit platforms where single-floats are not boxed.
+  * bug fix: SB-MOP:CLASS-SLOTS now signals an error if the class has not
+    yet been finalized. (reported by Levente Meszaros)
+  * bug fix: CLOSE :ABORT T behaves more correctly on Windows.
+  * DESCRIBE and (DOCUMENTATION ... 'OPTIMIZE) describe meaning of
+    SBCL-specific optimize qualities.
 
 changes in sbcl-1.0.13 relative to sbcl-1.0.12:
   * minor incompatible change: RUN-PROGRAM now uses execvp(3) to find
@@ -14,7 +135,7 @@ changes in sbcl-1.0.13 relative to sbcl-1.0.12:
     been removed; it can be found in the CVS history, for somebody who
     needs that search behavior (see the manual).
   * minor incompatible change: compiler policy re. weakening type
-    checks has changed: now type checks are weakened on if SAFETY < 2
+    checks has changed: now type checks are weakened only if SAFETY < 2
     and SAFETY < SPEED.
   * SB-EXT:NATIVE-NAMESTRING takes a new keyword AS-FILE, forcing
     unparsing of directory pathnames as files. Analogously,
@@ -56,7 +177,7 @@ changes in sbcl-1.0.12 relative to sbcl-1.0.11:
     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
+  * optimization: CONCATENATE on strings is an order of magnitude 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.
@@ -170,7 +291,7 @@ changes in sbcl-1.0.9 relative to sbcl-1.0.8:
     could cause buffer-overflows.
   * bug fix: source location information is stored correctly 
     (broken since 1.0.6). This bug would generally show up as the
-    Slime debugger higlighting the wrong form when the sldb-show-source
+    Slime debugger highlighting the wrong form when the sldb-show-source
     command was used.
   * bug fix: Branch forms are again annotated as branches in the sb-cover
     annotations.
@@ -186,7 +307,7 @@ changes in sbcl-1.0.8 relative to sbcl-1.0.7:
   * enhancement: experimental macro SB-EXT:COMPARE-AND-SWAP provides
     atomic compare-and-swap operations on threaded platforms.
   * enhancement: experimental function SB-EXT:RESTRICT-COMPILER-POLICY
-    allows assining a global minimum value to optimization qualities
+    allows assigning a global minimum value to optimization qualities
     (overriding proclamations and declarations).
   * enhancement: closed over variables can be stack-allocated on x86
     and x86-64.
@@ -344,7 +465,7 @@ changes in sbcl-1.0.5 relative to sbcl-1.0.4:
   * bug fix: number of characters that can be written onto a single
     line in a file is unlimited.
   * bug fix: some GC deadlocks caused by asynchronous interrupts have
-    been fixed by inhibiting interrupts for when GC is disbled.
+    been fixed by inhibiting interrupts for when GC is disabled.
   * bug fix: some interrupt safety issues with GETHASH, (SETF
     GETHASH), CLRHASH and REMHASH have been fixed.
   * bug fix: binding *BREAK-ON-SIGNALS* to a value that is not a type
@@ -458,7 +579,7 @@ changes in sbcl-1.0.2 relative to sbcl-1.0.1:
 changes in sbcl-1.0.1 relative to sbcl-1.0:
   * new platform: FreeBSD/x86-64, including support for threading.
   * new feature: the compiler stores cross-referencing information
-    abount function calls (who-calls), macroexpansion (who-macroexpands)
+    about function calls (who-calls), macroexpansion (who-macroexpands)
     and special variables (who-binds, who-sets, who-references) for code
     compiled with (< SPACE 3). This information is available through the
     sb-introspect contrib.