1.0.23.17: new function: SIMPLE-ARRAY-VECTOR
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 7ec96bc..ea6743c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,454 @@
 ;;;; -*- coding: utf-8; -*-
+  * new feature: SIMPLE-ARRAY-VECTOR provides access to the underlying
+    data vector of an multidimensional SIMPLE-ARRAY.
+  * optimization: faster generic arithmetic dispatch on x86 and x86-64.
+  * bug fix: lexical type declarations are now correctly reported by
+    SB-CLTL2. (reported by Larry D'Anna)
+  * bug fix: STRING-TO-OCTETS did not handle :START properly when
+    using UTF-8 as external format. (thanks to Luis Oliveira)
+  * bug fix: errors from invalid fill-pointer values to (SETF FILL-POINTER)
+    are signalled correctly. (thanks to Stas Boukarev)
+
+changes in sbcl-1.0.23 relative to 1.0.22:
+  * enhancement: when disassembling method functions, disassembly
+    for the associated fast function is also produced.
+  * enhancement: system stores DEFTYPE lambda-lists, so DESCRIBE can
+    report them.
+  * optimization: printing with *PRINT-PRETTY* true is now more
+    efficient as long as the object being printed doesn't require
+    special handling by the pretty printer.
+  * bug fix: slot symbol-macros from WITH-SLOTS inside DEFMETHOD bodies
+    now interact correctly with type declarations.
+  * partial bug fix: PCL detects infinite recursion during wrapper
+    validation. (thanks to Attila Lendvai)
+  * bug fix: #426; nested function calls are inlined properly.
+    Previously if FOO was an inline function, in calls of the form
+    (FOO (FOO ...)) the outer call was not inlined.
+  * bug fix: long long arguments passed in registers to alien
+    functions on PowerPC Linux and NetBSD are now handled correctly
+    when preceded by SYSTEM-AREA-POINTERs. (reported by Josh Elsasser)
+
+changes in sbcl-1.0.22 relative to 1.0.21:
+  * minor incompatible change: LOAD-SHARED-OBJECT no longer by default looks
+    for the shared object in the current directory, but passes the native
+    namestring of the designated pathname to the operation system's shared
+    object loading function as-it.
+  * minor incompatible change: --disable-debugger toplevel option now takes
+    effect before processing of initialization files and --eval or --load
+    options.
+  * new feature: new commandline argument: --script, which supports
+    shebang lines. See documentation for details. (based on work by
+    Kevin Reid)
+  * new feature: SAVE-LISP-AND-DIE can save current values of
+    --dynamic-space-size and --control-stack-size in the executable core,
+    causing it to skip normal runtime option processing. See documentation
+    for details. (thanks to Zach Beane)
+  * enhancement: inoccous calls to EVAL or generic functions dispatching
+    on subclasses of eg. STREAM no longer cause compiler notes to appear.
+  * enhancement: the system no longer resignals errors from --load and
+    --eval toplevel arguments as SIMPLE-ERRORS, which caused restarts
+    associated with the original error to be lost. (thanks to Ariel
+    Badichi)
+  * enhancement: :DONT-SAVE keyword argument has been added to
+    LOAD-SHARED-OBJECT for controlling interaction with
+    SAVE-LISP-AND-DIE, and UNLOAD-SHARED-OBJECT can be used to undo
+    the effects of an earlier LOAD-SHARED-OBJECT call.
+  * bug fix: ADJUST-ARRAY on multidimensional arrays used bogusly give
+    them a fill pointer unless :DISPLACED-TO or :INITIAL-CONTENTS were
+    provided. (reported by Cedric St-Jean)
+  * bug fix: circularity handling in the reader did not treat raw
+    structure slots correctly. (reported by Cedric St-Jean)
+  * bug fix: SERVE-EVENT occasionally signaled an error about bogus
+    file descriptors when there were none.
+  * bug fix: DEFINE-COMPILER-MACRO support of destructuring lambda-lists
+    was broken. (reporteed by Willem Broekema)
+  * bug fix: SB-EXT:NATIVE-NAMESTRING on Windows did not work on
+    pathnames without a directory.
+  * bug fix: COMPILE-FILE did not warn about undefined variable
+    references at toplevel, and LOAD of the resulting fasl did
+    not signal an error.
+  * bug fix: functions with non-required arguments used to end up with
+    (SB-C::&OPTIONAL-DISPATCH ...) as their name.
+  * bug fix: redefining a function with non-required arguments didn't
+    update the system's knowledge about its call signature properly.
+  * bug fix: fixed #431; incompatible alien record type redefinitions
+    are detected and handled. (reported by Neil Haven)
+  * bug fix: using RESTRICT-COMPILER-POLICY with DEBUG 3 could cause
+    PROGV miscompilation. (reported by Matthias Benkard, patch by Juho
+    Snellman)
+  * bug fix: on x86 and x86-64 backtraces were sometimes truncated
+    after alien stack frames.
+  * bug fix: strings passed to mk{s,d}temp lacked null termination
+
+changes in sbcl-1.0.21 relative to 1.0.20:
+  * new feature: the compiler is able to track the effective type of a
+    generic function across method addition and removal.
+  * new feature: SB-EXT:ATOMIC-INCF allows atomic incrementation of
+    appropriately typed structure slots without locking.
+  * new feature: SB-EXT:CALL-WITH-TIMING provides access to timing
+    information like those gathered by TIME using a programming-friendly
+    interface.
+  * new feature: TIME reports time taken even if the form performs a
+    non-local transfer of control.
+  * enhancement: reduced conservativism on GENCGC platforms: on
+    average 45% less pages pinned (measured from SBCL self build).
+  * bug fix: SB-EXT:COMPARE-AND-SWAP on SYMBOL-VALUE can no longer
+    mutate constant symbols or violate declaimed type of the symbol.
+  * bug fix: SB-THREAD:SIGNAL-SEMAPHORE could fail to wakeup threads
+    sleeping on the semaphore in heavily contested semaphores.
+  * bug fix: semaphores and condition variables were not interrupt
+    safe.
+  * bug fix: SB-THREAD:CONDITION-WAIT doesn't allow waits on mutexes
+    owned by other threads anymore.
+  * bug fix: FIND on lists called KEY outside the specified
+    subsequence. (reported by budden)
+  * bug fix: LOG doesn't use single-float intermediate results when
+    given mixed integer and double-float arguments, leading to better
+    precision. (reported by Bob Felts)
+  * bug fix: LOG with base zero returned values of inconsistent type.
+
+changes in sbcl-1.0.20 relative to 1.0.19:
+  * minor incompatible change: OPTIMIZE qualities
+    SB-C::STACK-ALLOCATE-DYNAMIC-EXTENT, SB-C::STACK-ALLOCATE-VECTOR,
+    and SB-C::STACK-ALLOCATE-VALUE-CELLS no longer exist. See documentation
+    and SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT* for details.
+  * documentation: some slot access efficiency guidelines have been
+    added to the user manual.
+  * optimization: ASSOC-IF, ASSOC-IF-NOT, MEMBER-IF, MEMBER-IF-NOT,
+    RASSOC, RASSOC-IF, and RASSOC-IF-NOT are now equally efficient
+    as ASSOC and MEMEBER.
+  * optimization: calls to ASSOC, MEMBER, and RASSOC can be transformed
+    to more efficient EQ-comparison versions more often.
+  * optimization: enhanced derivation of DOLIST iteration variable type
+    for constant lists.
+  * optimization: constant folding of simple (LIST ...) forms as DOLIST
+    arguments.
+  * optimization: runtime lookup of function definitions can be
+    elided in more cases, eg: (let ((x 'foo)) (funcall foo)).
+  * optimization: compiler is able to derive the return type of
+    (AREF (THE STRING X) Y) as being CHARACTER.
+  * optimization: CLRHASH on empty hash-tables no longer does pointless
+    work. (thanks to Alec Berryman)
+  * optimization: REPLACE deftransforms don't punt when :START1 or
+    :START2 is given
+  * bug fix: compiling DESTRUCTURING-BIND on constant list arguments
+    no longer emits a code deletion note. (reported by Andrew
+    Gasparovic)
+  * bug fix: bogus odd-number-of-keywords STYLE-WARNINGs from calls to
+    functions with an odd number of &OPTIONAL arguments, a &REST
+    argument, and one or more &KEY arguments at the call site.
+  * bug fix: STYLE-WARNINGs for functions with both &OPTIONAL and &KEY
+    arguments appeared at call sites as well.
+  * bug fix: fixed #425; CLOSE drops input buffers from streams, so
+    READ-LINE &co can no longer read from them afterwards. (reported
+    by Damien Cassou)
+  * bug fix: fixed #427: unused local aliens no longer cause compiler
+    breakage. (reported by Stelian Ionescu, Andy Hefner and Stanislaw
+    Halik)
+  * bug fix: non-local exit from a WITH-ALIEN form no longer causes
+    alien-stack leakage. (reported by Andy Hefner)
+  * bug fix: PROGV signals an error when an attempt to violate declared
+    type of a variable or bind a constant is made.
+  * bug fix: SET signals an error when an attempt to violate declared
+    type of a variable is made.
+  * bug fix: restart computation during the execution of a restart
+    test function no longer causes infinite recursion. (reported by
+    Michael Weber)
+  * bug fix: calling SB-COVER:REPORT with a non-directory pathname now
+    signals an error. (thanks to Pierre Mai)
+  * bug fix: EXPORT left symbol unexported in conflict situations.
+    (thanks to Michael Weber)
+  * bug fix: correctly handle name conflicts involving CL:NIL.
+    (thanks to Michael Weber)
+  * bug fix: RESOLVE-CONFLICT restart for name conflicts handles
+    conflicts arising from USEing package with conflicting symbols
+    correctly. (thanks to Michael Weber)
+
+changes in sbcl-1.0.19 relative to 1.0.18:
+  * new feature: user-customizable variable SB-EXT:*MUFFLED-WARNINGS*;
+    warnings that go otherwise unhandled will be muffled if they are
+    of the type that's the value of this variable.  
+  * optimization: stack allocation is slightly more efficient on x86
+    and x86-64.
+  * bug fix: DEFSTRUCT forms with user-specified :CONSTRUCTOR options,
+    where a raw slot always is initialized using the initform whose
+    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.
+  * bug fix: stack analysis missed cleanups of dynamic-extent
+    arguments in non-let-converted calls to local functions.
+  * improvements to the Windows port:
+    ** adjusted address spaces for building on both Win32 and
+       Win64. (thanks for John Connors)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** interval arithmetic during type derivation used inexact integer
+       to single-float coercions.
+    ** arithmetic operations involving large integers and single
+       floats give the same results in compiled and interpreted code.
+    ** deriving the result type of COERCE no longer signals an error
+       if the derived type of the second argument is a MEMBER type
+       containing invalid type specifiers.
+    ** ADJOIN with constant NIL as second argument works correctly.
+    ** FUNCTION-KEYWORDS was called SB-PCL::FUNCTION-KEYWORD-PARAMETERS.
+
+changes in sbcl-1.0.18 relative to 1.0.17:
+  * minor incompatible change: SB-SPROF:WITH-PROFILING now by default
+    profiles only the current thread.
+  * minor incompatible change: changes to SYMBOL-VALUE of constants
+    defined with DEFCONSTANT now signal an error.
+  * enhancement: SB-SPROF now has support for wallclock profiling,
+    and is also able to profile specific threads. REPORT output
+    has also additional sorting options.
+  * enhancement: better pretty-printing of DEFPACKAGE forms.  (Thanks
+    to Michael Weber)
+  * optimization: structure allocation has been improved
+    ** constructors created by non-toplevel DEFSTRUCTs are ~40% faster.
+    ** out of line constructors are ~10% faster.
+    ** inline constructors are ~15% faster.
+    ** inline constructors are capable of dynamic extent allocation
+       (generally on x86 and x86-64, in some cases on other platforms
+       as well.)
+  * optimization: simple uses of HANDLER-CASE and HANDLER-BIND no
+    longer cons.
+  * optimization: file compiler is now able to coalesce non-circular
+    lists, non-base strings, and bit-vectors. Additionally, constants
+    are never referenced through SYMBOL-VALUE at runtime.
+  * optimization: code defining methods on PRINT-OBJECT (and other
+    generic functions in the COMMON-LISP package) now loads faster.
+  * bug fix: EAI_NODATA is deprecated since RFC 3493. Stop using it
+    in sb-bsd-sockets.
+  * bug fix: if COMPILE-FILE aborts due to an unwind, the partial
+    fasl is now deleted. (reported by Attila Lendvai)
+  * bug fix: READ-LINE always returned NIL for the last line in files.
+    (reported by Yoshinori Tahara)
+  * bug fix: more accurate disassembly annotations of foreign function
+    calls.  (thanks to Andy Hefner)
+  * bug fix: trimming non-simple strings and non-string string
+    designators when the there is nothing to trim works properly.
+    (thanks to James Knight)
+  * new feature: SB-POSIX bindings for mlockall, munlockall, and setsid.
+    (thanks to Travis Cross)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** NIL is a valid function name (regression at 1.0.13.38)
+    ** FILL on lists was missing its return value (regression at 1.0.12.27)
+    ** STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIM did not respect
+       fill pointers properly (regression at 1.0.12.23)
+    ** STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIM did not respect
+       displacement indices properly (regression at 1.0.12.23)   
+
+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.
+  * enhancement: improved TIME output
+    ** all times are reported using the measured accuracy (milliseconds
+       for real and GC times, microseconds for everything else.)
+    ** processor cycle counts on x86 and x86-64.
+    ** interpreted forms are counted for both evaluator modes.
+    ** number of lambdas converted by the compiler is reported.
+    ** CPU percentage report (computed from real and total run time.)
+    ** more comprehensive run time reporting, using a condenced format
+    ** interperted form, lambda, and page fault counts are omitted
+       when zero.
+  * 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: SB-FLUID build feature no longer breaks the build. (thanks
+    to Sidney Markowitz)
+  * bug fix: UNION and NUNION work with :TEST-NOT once more,
+    regression since 1.0.9.1. (thanks to Eric Marsden)
+  * bug fix: result of MAKE-ARRAY can be stack allocated - regression
+    since 1.0.15.36. (thanks to Paul Khuong)
+  * 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)
+  * bug fix: the fopcompiler can handle LOCALLY forms (with no
+    declarations) successfully.  (reported by Attila Lendvai)
+
+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)
+  * 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
+    an executable in the search path, and does so in the child
+    process's PATH.  The function FIND-EXECUTABLE-IN-SEARCH-PATH has
+    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 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,
+    SB-EXT:PARSE-NATIVE-NAMESTRING takes an AS-DIRECTORY, forcing a
+    filename to parse into a directory pathname.
+  * enhancement: implicit generic function creation now signals a
+    specific style-warning IMPLICIT-GENERIC-FUNCTION-WARNING, which
+    users can bind handlers for and muffle around calls to LOAD.
+  * enhancement: RUN-PROGRAM allows unicode arguments and environments
+    to be used (using the default stream external format), and allows
+    non-simple strings to be used. (thanks to Harald Hanche-Olsen)
+  * optimization: COPY-SEQ, FILL, and SUBSEQ are 30-80% faster for
+    strings and vectors whose element-type or simplicity is not fully
+    known at compile-time.
+  * optimization: STRING-TRIM and related functions no longer allocate
+    a new string when no trimming needs to be performed. These functions
+    are also faster than before when the input string has been declared
+    as a simple-string.
+  * optimization: READ-SEQUENCE on simple-strings is up to 80% faster.
+  * optimization: READ-LINE is significantly faster for files containing
+    long lines.
+  * optimization: non-open coded uses of character comparison operators
+    (e.g. char=) no longer cons when called with more than one parameter
+    on platforms supporting dynamic-extent allocation.
+  * bug fix: READ-SEQUENCE on composite stream wrapping a Gray stream
+    with STREAM-ELEMENT-TYPE (UNSIGNED-BYTE 8) signalled an error.
+  * bug fix: COPY-SEQ on lists did not signal a type-error on improper
+    lists in safe code.
+  * 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 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.
+  * 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 +457,8 @@ 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
@@ -16,8 +468,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
@@ -81,7 +542,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.
@@ -97,7 +558,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.
@@ -255,7 +716,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
@@ -369,7 +830,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.