Fix (run-program) to cleanup fd handlers
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 378236d..f917e18 100644 (file)
--- a/NEWS
+++ b/NEWS
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.43:
+changes relative to sbcl-1.0.51:
+  * enhancement: ASDF has been updated to version 2.017.
+  * enhancement: the --core command line option now accepts binaries with
+    an embedded core.
+  * enhancement: when built with :sb-core-compression, core files (regular
+    or executable) can be compressed with zlib.  Use the :COMPRESSION
+    argument to SAVE-LISP-AND-DIE to specify a compression level.
+  * enhancement: --[no-]merge-core-pages determines whether the runtime
+    hints the operating system that identical core pages between SBCL
+    processes should share the same physical memory.  Default is to only
+    enable this for compressed cores.
+  * optimization: SLEEP no longer conses.
+  * optimization: *PRINT-PRETTY* no longer slows down printing of strings
+    or bit-vectors when using the standard pretty-print dispatch table.
+  * bug fix: non-function FTYPE declarations no longer cause a compiler-error.
+    (lp#738464)
+  * bug fix: compiler-errors causes by MEMBER types in conjunction with with
+    AREF, CHAR, etc. (lp#826971)
+  * bug fix: compiler-errors causes by integer arguments with composed of
+    multiple ranges to ARRAY-IN-BOUNDS-P. (lp#826970)
+  * bug fix: ,@ and ,. now signal a read-time error for certain non-list
+    expressions. (lp#770184)
+  * bug fix: complex single float literals are correctly aligned when used
+    as arguments of arithmetic operators.
+  * bug fix: on 32-bit platforms, rounding of double floats larger than a
+    fixnum is correct.  (reported by Peter Keller)
+  * bug fix: stray FD-HANDLERs are no longer left lying around after unwinds
+    from RUN-PROGRAM.  (lp#840190, reported by Dominic Pearson; fix from Max
+    Mikhanosha)
+
+changes in sbcl-1.0.51 relative to sbcl-1.0.50:
+  * minor incompatible change: SB-BSD-SOCKET socket streams no longer
+    participate in SERVE-EVENT by default: pass :SERVE-EVENTS T to
+    MAKE-SOCKET-STREAM if using SERVE-EVENT.
+  * enhancement: added support for socket keepalive timeout intervals
+    and probe counts on Linux.
+  * enhancement: building 32-bit SBCL on Linux/x86-64 now works without a
+    chroot. (Use "SBCL_ARCH=x86 sh make.sh" to build.)
+  * enhancement: added new toplevel options --quit and --non-interactive
+    (lp#822712).
+  * enhancement: the Windows port of SBCL now builds and runs on Wine
+    (thanks to Anton Kovalenko).
+  * enhancement: more, and more correct, SSE instruction definitions on
+    x86-64 (thanks to Alexander Gavrilov).
+  * enhancement: SB-EXT:SPIN-LOOP-HINT assembles to an instruction designed
+    to help the processor execute spin loops, when applicable.  Currently
+    implemented for x86 and x86-64.
+  * optimization: unsigned integer divisions by a constant are implemented
+    using multiplication (affects CEILING, FLOOR, TRUNCATE, MOD, and REM.)
+  * optimization: improved type-derivation for LOAD-TIME-VALUE.
+  * bug fix: correct RIP offset calculation in SSE comparison and shuffle
+    instructions. (lp#814688)
+  * bug fix: COERCE to unfinalized extended sequence classes now works.
+    (reported by Jan Moringen; lp#815155)
+  * bug fix: a compiler error during typecheck generation, reported by Eric
+    Marsden. (lp#816564)
+  * bug fix: obsolete instance protocol fires when shared slots are added
+    or removed.
+  * bug fix: fixed-format floating point printing with scaling factors.
+    (lp#811386)
+  * bug fix: using GCC >= 4.6 to build SBCL on x86 no longer breaks
+    backtraces. (lp#818460)
+  * bug fix: better backtraces for interrupted syscall frames on x86.
+    (lp#549673)
+  * bug fix: SSE comparison instructions can be disassembled even when one
+    operand is in memory. (lp#814702)
+  * bug fix: incomplete writes when not using SERVE-EVENTS. (lp#820599)
+  * bug fix: MULTIPLE-VALUE-BIND + VALUES -> LET conversion could lose derived
+    type information associated with the VALUES form.
+  * bug fix: broken warnings/errors for type-errors involving LOAD-TIME-VALUE
+    forms. (lp#823014)
+  * bug fix: OPEN :IF-EXISTS :APPEND now returns correct FILE-POSITION before
+    first write (lp#561642).
+  * bug fix: compiled closures from EVAL could not be DESCRIBEd. (lp#824974)
+  * bug fix: bound propagation involving conversion of large bignums to
+    floats no longer signals a SIMPLE-TYPE-ERROR, reported by Lutz Euler.
+    (lp#819269)
+  * bug fix: &REST to &MORE conversion still works in unsafe call to known
+    functions; reported by Lutz Euler (lp#826459).
+  * bug fix: bogus deadlocks from interrupts and GCs. (lp#807475, regression
+    since 1.0.48)
+
+changes in sbcl-1.0.50 relative to sbcl-1.0.49:
+  * enhancement: errors from FD handlers now provide a restart to remove
+    the offending handler.
+  * enhancement: SB-INTROSPECT:FIND-DEFINITION-SOURCE now works on structure
+    copiers as well.
+  * enhancement: location of user or system initialization file can now easily
+    be customized for saved cores. See: SB-EXT:*USERINIT-PATHNAME-FUNCTION*
+    and SB-EXT:*SYSINIT-PATHNAME-FUNCTION*.
+  * enhancement: SB-EXT:MAKE-THREAD accepts an argument list designator for
+    the thunk, as a keyword argument, :arguments.
+  * enhancement: constraint propagation is simplified (and sped up) when
+    COMPILATION-SPEED > SPEED.
+  * enhancement: SB-ALIEN exports alien type specifiers SIZE-T and OFF-T.
+  * enhancement: debugger understands &MORE arguments better.
+  * optimization: extracting bits of a single-float on x86-64 has been
+    optimized. (lp#555201)
+  * optimization: MAP and MAP-INTO are more efficient for non-simple vectors,
+    when (> SPEED SPACE).
+  * optimization: local call trampolines (x86 and x86-64) are emitted
+    inline.
+  * optimization: implicit value cells for dynamic-extent closed-over bindings
+    on x86 and x86-64 can hold unboxed values as well.
+  * meta-optimization: improved compilation speed, especially for large
+    functions. (lp#792363 and lp#394206)
+  * bug fix: bound derivation for floating point operations is now more
+    careful about rounding possibly closing open bounds. (lp#793771)
+  * bug fix: SB-POSIX:SYSCALL-ERROR's argument is now optional. (accidental
+    backwards incompatible change in 1.0.48.27)
+  * bug fix: occasional debugger errors in when a type-error occured in a
+    function with dynamic-extent &rest list.
+  * bug fix: &optional and &key supplied-p arguments in DEFSTRUCT
+    boa-construtors can be used to initialized structure slots.
+  * bug fix: FMAKUNBOUND removes the MACRO-FUNCTION, should one exist.
+    (lp#795705, regression)
+  * bug fix: DIRECTORY works better on logical pathnames.
+  * bug fix: RUN-PROGRAM no longer fails spuriously when argument strings
+    are of the order of ARRAY-TOTAL-SIZE-LIMIT. (lp#787237)
+  * bug fix: the compiler no longer constant-folds NaNs in
+    MAKE-{SINGLE,DOUBLE}-FLOAT. (lp#486812)
+  * bug fix: FORMAT now handles floating point rounding correct, eg.
+    (format nil "~,1F" 0.01) => "0.0" instead of "0.01" as previously.
+    (lp#308961)
+  * bug fix: style warning during lambda-list introspection of generic
+    functions with both optional and key argments.
+  * bug fix: regalloc doesn't barf on unused TNs due to type-directed constant
+    folding. (lp#729765)
+  * bug fix: Fixed an off-by-one in MAP-ALLOCATED-OBJECTS that might have caused
+    infinite loops.
+
+changes in sbcl-1.0.49 relative to sbcl-1.0.48:
+  * minor incompatible change: WITH-LOCKED-HASH-TABLE no longer disables
+    interrupts for its body.
+  * enhancement: source locations are now available for files loaded as
+    source, compile-time-too evaluation, and initialization files.
+  * enhancement: WITH-COMPILATION-UNIT :SOURCE-NAMESTRING allows providing
+    virtual source-file information, eg. overriding input-file of COMPILE-FILE
+    when a temporary file is used for compilation.
+  * enhancement: ASDF has been updated to version 2.015.3.
+  * enhancement: backtraces involving frames from the default evaluator are
+    more readable.
+  * enhancement: RUN-PROGRAM works with user-defined binary input and output
+    streams.
+  * enhancement: more informative compile-time warnings and runtime errors for
+    type-errors detected at compile-time.
+  * enhancement: deadlock detection for mutexes and spinlocks.
+  * enhancement: dynamic-extent for &rest lists stack allocate only their
+    spines, not their argumets. While portable code should not rely on this,
+    particularly in combination with inlining, it should make dynamic-extent
+    easier to use safely.
+  * enhancement: SB-POSIX improvements:
+    ** WNOHANG and WUNTRACED are exported.
+    ** SYSCALL-ERROR now also provides the name of the failing system call.
+  * enhancement: --script improvements:
+    ** errors on standard input, output, and error streams are handled and
+       cause scripts to exit silently, making them easier to use in shell
+       pipelines.
+    ** backtraces from scripts now go to standard error instead of the
+       terminal even if one is available.
+    ** --script can be an argument, causing the script to be loaded from
+       standard input.
+  * enhancement: MAKE-ALIEN-STRING provides an easy way to transport lisp
+    strings to foreign memory.
+  * enhancement: (SETF GC-LOGFILE) allows logging garbage collections to
+    a file, making it easier to understand heap dynamics.
+  * optimization: using a &REST argument only in APPLY or VALUES-LIST calls
+    allows the compiler to automatically elide rest-list allocation so long as
+    the call sites are in functions that the compiler knows cannot escape.
+    (lp#504575)
+  * optimization: CALL-NEXT-METHOD using explicit arguments is faster,
+    especially in safe code when none of the required arguments have changed
+    their identities.
+  * bug fix: blocking reads from FIFOs created by RUN-PROGRAM were
+    uninterruptible, as well as blocking reads from socket streams created
+    with for which :SERVE-EVENTS NIL. (regression from 1.0.42.43)
+  * bug fix: SET-SYNTAX-FROM-CHAR now removes dispatch-macro character syntax
+    from the to-char if the from-char is not a dispatch-macro character.
+  * bug fix: references to undefined variables in function calls that are
+    optimized away now signal a runtime error. (lp#722734)
+  * bug fix: miscompilation of MULTIPLE-VALUE-CALL when asserting derived
+    types from a function defined in the same file. (regression from
+    1.0.43.57)
+  * bug fix: TRULY-THE forms are now macroexpandable and setf-expandable.
+    (lp#771673)
+  * bug fix: spurious errors during QUIT when standard streams were closed.
+
+changes in sbcl-1.0.48 relative to sbcl-1.0.47:
+  * incompatible change: SB!KERNEL:INSTANCE-LAMBDA, deprecated for over five
+    years, is now no longer supported.
+  * enhancement: read() and write() have been added to SB-POSIX.
+  * enhancement: types of DEFSTRUCT constructors are proclaimed more
+    accurately, allowing better typechecking of call-sites.
+  * enhancement: errors during compile-time-too processing (i.e. EVAL-WHEN)
+    are no longer caught. (reverted to pre 1.0.34 behaviour)
+  * optimization: slightly faster ISQRT. (lp#713343)
+  * bug fix: better support for Solaris /bin/sh in sh-based tests.
+  * bug fix: TRACE behaves better when attempting to trace undefined
+    functions. (lp#740717)
+  * bug fix: missed optimizations for (FUNCALL (LAMBDA ...) ...) in comparison
+    to (FUNCALL #'(LAMBDA ...) ...).
+  * bug fix: ((LAMBDA ...) ...) forms with invalid argument counts resulted in
+    a compile-time error. (lp#720382)
+  * bug fix: forms such as (FUNCALL (FUNCTION NAME OOPS) ...) were compiled
+    without complaints.
+  * bug fix: less verbose source forms for functions from EVAL. (lp#747485)
+  * bug fix: sense of SLOT-BOUNDP-USING-CLASS was inverted in a MAKE-INSTANCE
+    optimization. (regression from 1.0.45.18/1.0.46.15)
+  * bug fix: package locks did not protects against compile-time side-effects
+    of DEFUN. (lp#675584)
+  * bug fix: --dynamic-space-size argument is validated more carefully.
+    (lp#721457)
+  * bug fix: memory fault from printing a malformed simple-condition.
+    (lp#705690)
+  * bug fix: redefining classes so that slot-definition classes change now
+    engages the obsolete instance protocol. (lp#766271)
+  * bug fix: constant improper lists could break source coverage recording.
+    (lp#767959)
+  * bug fix: compiling calls to eg. MEMBER with massive constant list arguments
+    could exhaust stack.
+
+changes in sbcl-1.0.47 relative to sbcl-1.0.46:
+  * bug fix: fix mach port rights leaks in mach exception handling code on
+    darwin/x86 and /x86-64. (thanks to Willem Oudshoorn for motivation and the
+    initial patch)
+  * enhancement: --script muffles style-warnings and compiler notes. (lp#677779)
+  * enhancement: redefinition warnings for macros from different files. (lp#434657)
+  * enhancement: better MACHINE-VERSION on Darwin x86 and x86-64. (lp#668332)
+  * enhancement: (FORMAT "foo" ...) and similar signal a compile-time warning. (lp#327223)
+  * enhancement: no more "in: LAMBDA NIL" messages from the compiler for forms
+    processed using EVAL -- now the appropriate toplevel form is reported instead.
+  * enhancement: more legible style-warnings for inappropriate IGNORE and IGNORABLE
+    declarations. (lp#726331)
+  * enhancement: :NOT-NULL option has been added to alien C-STRING type to indicate
+    that NIL/NULL is excluded from the type.
+  * enhancement: SB-INTROSPECT:MAP-ROOT allows mapping over pointers contained in
+    arbitrary objects.
+  * optimization: SLOT-VALUE &co are faster in the presence of SLOT-VALUE-USING-CLASS
+    and its compatriots.
+  * optimization: core startup time is reduced by 30% on x86-64. (lp#557357)
+  * bug fix: SB-DEBUG:BACKTRACE-AS-LIST guards against potentially leaking
+    stack-allocated values out of their dynamic-extent. (lp#310175)
+  * bug fix: attempts to use SB-SPROF for wallclock profiling on threaded
+    x86-64 builds caused a type-error.
+  * bug fix: calling COMPILE with something else than a lambda-expression as the
+    second argument reports a more sensible error. (lp#718905)
+  * bug fix: invalid combinations of :PREDICATE and :TYPE options in DEFSTRUCT
+    are detected. (lp#520607)
+  * bug fix: constant keyword argument checking didn't take :ALLOW-OTHER-KEYS
+    into account.
+  * bug fix: SLOT-BOUNDP information is correct during MAKE-INSTANCE in the
+    presence of (SETF SLOT-VALUE-USING-CLASS) and SLOT-BOUNDP-USING-CLASS
+    methods. (regression from 1.0.45.18)
+  * bug fix: INITIALIZE-INSTANCE :AROUND methods supplying initargs via
+    CALL-NEXT-METHOD work correctly. (regression from 1.0.45.19)
+  * bug fix: several foreign functions accepting string also accepted NIL and
+    consequently caused a memory fault at 0 now signal a type-error instead.
+    (lp#721087)
+  * bug fix: under rare circumstances, constraint propagation could rewrite a
+    variable reference to refer to a variable not in scope, causing an error
+    during physical environment analysis when attempting to close over the
+    variable. (lp#551227)
+  * bug fix: SIMPLE-CONDITION :FORMAT-CONTROL defaults to NIL.
+
+changes in sbcl-1.0.46 relative to sbcl-1.0.45:
+  * enhancement: largefile support on Solaris.
+  * enhancement: SB-PROFILE:REPORT now supports :LIMIT and :PRINT-NO-CALL-LIST
+    arguments (lp#710017)
+  * enhancement: SB-PCL:+SLOT-UNBOUND+ is exported, making it possible to
+    distinguish unbound instance slots when using STANDARD-INSTANCE-ACCESS
+    &co. (lp#718039)
+  * optimization: ERROR and CERROR are approximately 5 times faster.
+  * optimization: optimized constructors are used for MAKE-INSTANCE of classes
+    with applicable non-standard (SETF SLOT-VALUE-USING-CLASS),
+    SLOT-BOUNDP-USING-CLASS, and INITIALIZE-INSTANCE :AROUND methods, speeding
+    up instance creation in those cases.
+  * optimization: arithmetic operations with multiple constant arguments in now
+    have them reduced at compile-time. (lp#676414)
+  * optimization: determining current character position on string-streams for
+    pretty-printing was overly slow.
+  * bug fix: local tail calls to DYNAMIC-EXTENT functions can no longer cause
+    lifetime analysis to overwrite closed-over variables (lp#681092).
+  * bug fix: encoding errors from some multibyte external formats such as EUC-JP
+    were not handled correctly (lp#713063).
+  * bug fix: printing waitqueue objects without setting *PRINT-CIRCLE* to T is now
+    safe (lp#673630).
+  * bug fix: Solaris/x86-64 wasn't getting built with lutex support by
+    mistake. (lp#667297).
+  * bug fix: CONSTANTLY generated functions had bogus lambda-lists. (lp#713626)
+  * bug fix: RUN-PROGRAM :PTY option was racy on OpenBSD. (lp#669485)
+  * bug fix: UNINTERN takes a symbol, not a symbol designator -- could previously
+    unintern the wrong symbol with the same name. (lp#693796)
+  * bug fix: COPY-PPRINT-DISPATCH always has access to a pristine table,
+    making it possible to restore the initial table if it has been messed up.
+    (lp#678409)
+
+changes in sbcl-1.0.45 relative to sbcl-1.0.44:
+  * enhancement: ~/ and ~user/ are treated specially in pathnames.
+    Refer to documentation for details.
+  * enhancement: ASDF has been updated to version 2.010.
+  * optimization: mutated closed-over variables that are only accessed by
+    DYNAMIC-EXTENT closures (currently only FLET and LABELS functions
+    declared to be DYNAMIC-EXTENT) are stored directly in their containing
+    stack frame, rather than allocating a VALUE-CELL (lp#586103).
+  * optimization: UNWIND-PROTECT cleanup functions are now declared
+    DYNAMIC-EXTENT.
+  * bug fix: backtracing function with &REST arguments now shows the full
+    argument list. (lp#310173)
+  * bug fix: return types for functions with complex lambda-lists are now
+    derived properly (lp#384892)
+  * bug fix: when SPEED > SPACE compiling CONCATENATE 'STRING with constant
+    long string arguments slowed the compiler down to a crawl.
+  * bug fix: closure VALUE-CELLs are no longer stack-allocated (lp#308934).
+  * bug fix: non-standard MAKE-METHOD-LAMBDA methods could break RETURN-FROM
+    in the DEFMETHOD body.
+  * bug fix: #<SB-C::DEFINED-FUN ...> should no longer appear in compiler
+    messages, being instead replaced with the corresponding function name.
+  * bug fix: don't derive overly complex unions of numeric types for arithmetic
+    operators. (lp#309448)
+
+changes in sbcl-1.0.44 relative to sbcl-1.0.43:
   * enhancement: RUN-PROGRAM accepts :EXTERNAL-FORMAT argument to select the
     external-format for its :INPUT, :OUTPUT, AND :ERROR :STREAMs.
   * enhancement: ALLOCATION-INFORMATION also provides the page the object
     resides on.
   * enhancement: default dynamic-space size can be configured at build-time
     without touching source, using the --dynamic-space-size argument to make.sh.
+  * enhancement: DESCRIBE recognizes symbols naming optimization policy
+    qualities, and mentions ALWAYS-BOUND declarations.
+  * enhancement: ATOMIC-INCF now supports AREF of (SIMPLE-ARRAY SB-EXT:WORD (*))
+    as a place.
+  * enhancement: ASDF has been updated to 2.009.
+  * enhancement: the system detects known type-erros in calls better,
+    signalling a full warning about violated proclaimed FTYPEs and violations
+    of derived FTYPEs within the same file, including self-calls.
+  * enhancement: new function: SB-EXT:DELETE-DIRECTORY is now provided.
+  * optimization: constant-folding exploits numeric and character types, in
+    addition member types.
+  * optimization: numeric, character and member types that are inhabited by
+    exactly one value are tested with EQL.
+  * optimization: more conditional branches are eliminated during IR1.
+    Branches are simplified before performing if/if-conversion, and simple
+    equivalent branches (that only read the same constant or variable) are
+    merged.
+  * improvements to the Windows port:
+    ** change: canonical unparsing form for pathname namestrings now uses / as
+       directory separator. NATIVE-NAMESTRING still uses \ as the separator.
+    ** bug fix: stackoverwriting due to incorrect usage of PeekConsoleInput
+       on Windows. (thanks to Kalyanov Dmitry)
+    ** bug fix: build now works on cygwin with GCC 4.x installed. (thanks to
+       Kalyanov Dmitry)
+    ** bug fix: run-sbcl.sh now works on Cygwin. (thanks to Kalyanov Dmitry)
   * bug fix: compiler failed to derive the result-type of MAKE-ARRAY as
     (AND VECTOR (NOT SIMPLE-ARRAY)) when appropriate. (lp#309130)
   * bug fix: (THE (VALUES ...)) in LOAD-TIME-VALUE caused a compiler-error.
     (lp#646796)
-  * bug fix: interrupts arriving due to CL:OPEN caused an error.
+  * bug fix: interrupts arriving during CL:OPEN caused an error.
   * bug fix: overeager character buffering could cause input to block
     spuriously when reading from a pipe (lp#643686)
   * bug fix: more efficient timer expiry should avoid starvation on systems
     where number of SIGALRMs per second is restricted. (lp#375515)
-  * improvements to the Windows port:
-    ** bug fix: stackoverwriting due to incorrect usage of PeekConsoleInput
-       on Windows. (thanks to Kalyanov Dmitry)
-    ** bug fix: build now works on cygwin with GCC 4.x installed. (thanks to
-       Kalyanov Dmitry)
-    ** bug fix: run-sbcl.sh now works on Cygwin. (thanks to Kalyanov Dmitry)
   * bug fix: non-unicode builds no longer fail (broken since 1.0.36.15).
   * bug fix: compile-times no longer scale linearly with the size of
     quoted lists in source-code. (lp#654289)
+  * bug fix: better errors for unknown external-formats in OPEN. (lp#561974)
+  * bug fix: DEBUG>SPEED no longer degrades ALIEN-FUNCALL performance quite
+    so badly. (lp#654485)
+  * bug fix: SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME no longer signals
+    an error for eg. STRUCTURE. (lp#458015)
+  * bug fix: LOOP WITH NIL = ... signalled an unused variable style-warning.
+    (lp#613871, thanks to Roman Marynchak)
+  * bug fix: more reliable &REST list type derivation. (lp#655203)
+  * bug fix: PPRINT-LOGICAL-BLOCK multiply-evaluated :PER-LINE-PREFIX,
+    and issued pointles code-deletion notes for it, :PREFIX, and :SUFFIX.
+  * bug fix: the compiler didn't utilize the proclaimed ftype for functions
+    also declared NOTINLINE. (lp#655581)
+  * bug fix: the compiler could attempt to emit constant left shifts of 
+    greater value than n-word-bits. (lp#309063)
+  * bug fix: (SETF SYMBOL-FUNCTION) and (SETF FDEFINITION) clear derived
+    type information for the function being set. (lp#659220)
+  * bug fix: the system used to signal bogus STYLE-WARNINGs when functions
+    containing self-calls were recompiled with a new signature, and failed
+    to warn when a self-call using the old signature was left in. (lp#655126)
+  * bug fix: incorrect FILE-POSITION on streams opened using :EXTERNAL-FORMAT
+    :DEFAULT when the default external had character size other than 8 bits.
+    (lp#657183)
+  * bug fix: derived types of functions in the same file were implicitly
+    trusted, leading to potential heap corruption when those function were
+    defined incompatibly. (lp#657499)
+  * bug fix: existing ASDF source registries are ignored when building
+    contribs (lp#659105)
+  * bug fix: short-form DEFSETF checks that the second argument is a symbol
+    (lp#655824, thanks to Roman Marynchak)
+  * bug fix: (SETF MACRO-FUNCTION) clobbered macro-definitions before
+    package-lock violation was detected. (lp#660752)
+  * bug fix: the system can store different docstrings for a single function
+    under different names. (lp#661631, regression from 1.0.29.24)
+  * bug fix: source-locations of DEFGENERIC forms weren't getting recorded
+    properly. (lp#384801)
+  * bug fix: (COERCE X '(SIMPLE-VECTOR 5)) and similar coercions to vectors
+    of specified length could confuse the type derivation in unsafe code.
+    (lp#655872)
+  * bug fix: SB-POSIX:FORK now signals an error if an attempt to
+    fork with multiple Lisp threads running is made on every platform,
+    not just Darwin. (lp#451111)
+  * bug fix: SB-BSD-SOCKETS and SB-SIMPLE-STREAMS could leave stale finalizers
+    around when core was saved, which could cause undefined behaviour when the
+    core was reified. 
+  * bug fix: Allow UNTRACE of functions that are no longer defined
+    (lp#667657, thanks to Attila Lendvai)
+  * bug fix: MAKE-ARRAY calls with invalid keyword argument lists now signal a
+    compile-time warning (lp#664373, thanks to Stas Boukarev)
 
 changes in sbcl-1.0.43 relative to sbcl-1.0.42:
   * incompatible change: FD-STREAMS no longer participate in the serve-event