;;;; -*- coding: utf-8; -*-
+changes in sbcl-0.9.16 relative to sbcl-0.9.15:
+ * feature: implemented the READER-METHOD-CLASS and
+ WRITER-METHOD-CLASS portion of the Class Initialization Protocol
+ as specified by AMOP.
+ * optimization: faster LOGCOUNT implementation on x86 and x86-64
+ (thanks to Lutz Euler)
+ * bug fix: improved the handling of type declarations and the
+ detection of violations for keyword arguments with non-constant
+ defaults.
+
+changes in sbcl-0.9.15 relative to sbcl-0.9.14:
+ * added support for the ucs-2 external format. (contributed by Ivan
+ Boldyrev)
+ * minor incompatible change: pretty printing of objects of type
+ (cons symbol) is, in the default pprint-dispatch-table, now
+ sensitive to whether the symbol satisfies FBOUNDP. (thanks to
+ Marcus Pearce)
+ * minor incompatible change: SB-MOP:FINALIZE-INHERITANCE is now
+ called later in a class's lifetime, possibly as late as when the
+ first instance of the class is created. Previously,
+ SB-MOP:FINALIZE-INHERITANCE was called by the system as soon as a
+ class became finalizeable.
+ * fixed bug: FILE-POSITION sometimes returned inconsistent results
+ for multibyte external-format streams. (thanks to "vbzoli")
+ * fixed bug: CHANGE-CLASS would fail to preserve the values of slots
+ with :ALLOCATION :CLASS inherited from superclasses of the
+ original class.
+ * fixed bug: anonymous classes can now be created using the :NAME
+ initarg and MAKE-INSTANCE / REINITIALIZE-INSTANCE, as specified by
+ AMOP. (reported by Leonid Slobodov on comp.lang.lisp)
+ * fixed bug: core-files saved with :EXECUTABLE T can again be
+ executed when SBCL_HOME isn't set. (reported by James Knight)
+ * fixed bug: toplevel LOCALLY forms with declarations could
+ occasionally get miscompiled. (reported by Yaroslav Kavenchuk)
+ * fixed bug: printing from several different threads using different
+ values of *print-case* could cause invalid output, due to
+ some internal special variables of the printer not being bound
+ thread-locally (reported by Max Mikhanosha)
+ * fixed bug: SPECIALIZER metaobjects (including anonymous classes
+ and EQL-SPECIALIZERs) can be used as specializers to DEFMETHOD.
+ (reported by Pascal Costanza)
+ * fixed bug: FINALIZE-INHERITANCE is called from
+ REINITIALIZE-INSTANCE on classes when the class has previously
+ been finalized, as required by AMOP.
+ * minor code generation optimizations:
+ ** better register allocation in CLOS dispatching functions
+ ** overflow detection when coercing signed bytes to fixnums on x86-64
+ ** is now implemented with one IMUL instruction instead of three shifts
+ ** more efficient bit-vector access on x86 and x86-64
+ ** more efficient access to raw structure slots on x86 and x86-64
+ * fixed some bugs revealed by Paul Dietz' test suite:
+ ** ENSURE-DIRECTORIES-EXIST.8: ENSURE-DIRECTORIES-EXIST must
+ return its argument.
+
+changes in sbcl-0.9.14 relative to sbcl-0.9.13:
+ * feature: thread support on Solaris/x86, and experimental thread support
+ on OS X/x86.
+ * feature: SBCL now tries to signal a STORAGE-CONDITION when running out
+ of heap.
+ * feature: SBCL now provides USE-VALUE and STORE-VALUE restarts in the
+ default method for SLOT-UNBOUND.
+ * minor incompatible change: prevent the user from specializing the
+ new-value argument to SB-MOP:SLOT-VALUE-USING-CLASS. It's
+ somewhat counter to the intent of the protocol, I (CSR) think, and
+ additionally it just doesn't work in SBCL as currently
+ implemented, thanks to optimizations (that are always valid for
+ the other three SLOT-VALUEish functions, but not for the setter).
+ * minor incompatible change: the :SB-LDB feature is now enabled by
+ default, and DISABLE-DEBUGGER and ENABLE-DEBUGGER also affect
+ the low-level debugger.
+ * enchancement: RUN-PROGRAM is now able to extract the file-descriptor
+ from SYNONYM-STREAM and TWO-WAY-STEAMS provided they can be decomposed
+ down to an SB-SYS:FD-STREAM, allowing direct communication in
+ more cases. Temporary files and pipes are still used as a fallback
+ strategy.
+ * thread-safety: DECODE-UNIVERSAL-TIME & GET-DECODED-TIME depended
+ on the non-reentrant C functions localtime(3) and gmtime(3).
+ * bug fix: global optimization policy was not visible in LOCALLY and
+ MACROLET forms.
+ * bug fix: class objects can be used as specializers in methods.
+ (reported by Pascal Costanza)
+ * bug fix: native unparsing of pathnames with :DIRECTORY NIL failed
+ with a type error. (reported by blitz_ on #lisp)
+ * bug fix: unparsing logical pathnames with :NAME :WILD :TYPE NIL
+ failed with a type error. (reported by Pascal Bourguignon)
+ * bug fix: merging pathnames against defaults with :DIRECTORY
+ starting with '(:RELATIVE :BACK) should preserve the :BACK.
+ (reported by James Y Knight)
+ * bug fix: saving large (>2GB) cores on x86-64 now works
+ * bug fix: a x86-64 backend bug when compiling (setf aref) with a
+ constant index and a (simple-array (signed-byte 32)) array
+ * bug fix: NAME-CHAR on an invalid symbol no longer signals an
+ error (patch by Robert J. Macomber)
+ * feature: TIME now displays the amount of run-time spent in GC
+ * bug fix: The debugger now does a better job of respecting
+ (PUSH '(*PRINT-CIRCLE* . T) SB-DEBUG:*DEBUG-PRINT-VARIABLE-ALIST*)
+ when printing SB-DEBUG:*DEBUG-CONDITION*. (This is a debugger-only
+ workaround for bug 403.)
+ * bug fix: floating point exception handling now works on FreeBSD
+ (thanks to NIIMI Satoshi)
+ * fixed some bugs revealed by Paul Dietz' test suite:
+ ** MISC.641: LET-conversion were not supposed to work in late
+ compilation stages.
+ * improvements to the Win32/x86 port:
+ ** GET-INTERNAL-RUN-TIME implemented, thanks to Frank Buss.
+ ** improved SB-BSD-SOCKETS support, thanks to Timothy Ritchey.
+
+changes in sbcl-0.9.13 relative to sbcl-0.9.12:
+ * new feature: source path information is generated for macro-expansion
+ errors for use in IDE's like Slime (thanks to Helmut Eller)
+ * bug fix: calls to the compiler no longer modify *RANDOM-STATE*
+ * bug fix: compiler does not loop forever on an invalid type in
+ TYPEP.
+ * improvement: compilation of most CLOS applications is significantly
+ faster
+ * optimization: added a limited bytecode compiler for simple toplevel
+ forms, speeding up compilation and FASL loading
+
changes in sbcl-0.9.12 relative to sbcl-0.9.11:
- * Enhancements for sbcl running on the Windows operating system:
- ** (user-homedir-pathname) and default initialization file
- locations now know about the user's "Documents and Settings"
- directory (thanks to Yaroslav Kavenchuk)
- ** run-program is implemented (thanks to Mike Thomas)
- ** sockets support (thanks to Timothy Ritchey)
- ** better backtrace support (thanks to Alastair Bridgewater)
- ** sb-grovel supported
- ** asdf-install and sb-posix work somewhat
- ** capable of running Slime using SWANK:*COMMUNICATION-STYLE* NIL
+ * minor incompatible change: in sbcl-0.9.11 (but not earlier
+ versions) SB-MOP:FINALIZE-INHERITANCE would recursively descend
+ into subclasses of the finalized class. Now user calls to
+ FINALIZE-INHERITANCE finalize just the one class, and calls by the
+ system return before any subclasses are finalized.
* minor incompatible change: The reader no longer ignores errors
regarding non-existent packages in #+ and #- feature tests.
* new feature: command line options --no-sysinit, --no-userinit to
(SETF DOCUMENTATION); only find and set documentation for
structure names for the STRUCTURE doc-type. (suggested by Gary
King)
+ * improvements to the Win32/x86 port:
+ ** (user-homedir-pathname) and default initialization file
+ locations now know about the user's "Documents and Settings"
+ directory (thanks to Yaroslav Kavenchuk)
+ ** run-program is implemented (thanks to Mike Thomas)
+ ** sockets support (thanks to Timothy Ritchey)
+ ** better backtrace support (thanks to Alastair Bridgewater)
+ ** sb-grovel supported
+ ** asdf-install and sb-posix work somewhat
+ ** capable of running Slime using SWANK:*COMMUNICATION-STYLE* NIL
* improvements to the Solaris/x86 port:
** works on Solaris 11/Solaris Express
** floating-point exception handling support