New SBCL versions are usually released at the end of each
month: check the Sourceforge File List to see the current version. The new features of the two most recent SBCL releases are listed below.
Please see the complete news page for details on all historical SBCL releases.
New in version 1.4.0Back to top
- minor incompatible change: DESTRUCTURING-BIND treats non-toplevel () as
nested empty pattern. This seems to be what the standard mandates, so
conforming code should not be affected.
- ehancement: (GC :GEN 7) with gencgc will zero-fill dead pseudo-static
objects so that they do not spuriously cause reachability of objects that
would have been otherwise dead.
- enhancement: PROCESS-STATUS now tracks stopped and continued processes
properly (also fixes #1624941, based on patch by Elias Pipping).
- bug fix: INSPECT handles errors signaled while printing slot
- bug fix: DESCRIBE works on classes like it used to.
- bug fix: *LOAD-PATHNAME* and *LOAD-TRUENAME* are bound to pathnames
when processing a sysinit or userinit file
- bug fix: save-lisp-and-die is able to collect more garbage on non-x86oid
- bug fix: fixed out-of-bounds array read in optimized POSITION on bit-vectors
- bug fix: signal emulation respects the 128-byte stack red zone on x86-64
Older SBCL releases
New in version 1.3.21Back to top
- minor incompatible change: the CLOBBER-IT restart for defstruct redefintion
has been removed after a 15 year deprecation cycle. Use the new name,
RECKLESSLY-CONTINUE. Note also that this restart is hidden if deemed unsafe
due to altered placement of untagged slots in the structure.
- enhancement: the assignment of -DSBCL_PREFIX= in src/runtime/GNUmakefile
can be removed as a local patch, which results in an sbcl executable
that finds its core file relative to itself by looking in "../lib/sbcl".
- enhancement: backends using the generational GC are able to relocate
dynamic space anywhere the operating system places it.
This feature can be disabled by removing :relocatable-heap from the
build configuration. Not supported on Windows.
- enhancement: DEFMETHOD no longer signals IMPLICIT-GENERIC-FUNCTION-WARNING.
- enhancement: better type conflict detection for high order functions, e.g.
(find x "123" :test #'=)
- enhancement: the tabular output of ROOM is aligned dynamically, preventing
misaligned tables for larger sizes or counts.
- enhancement: ROOM reports on immobile space if applicable.
- optimization: optimized external-format routines.
- bug fix: SB-INTROSPECT:ALLOCATION-INFORMATION returns :IMMOBILE
instead of :FOREIGN for objects in immobile space.
- bug fix: dotted lists in special forms and function call forms signal
an appropriate error
- bug fix: EQUALP hash tables with pathname keys now ignore internal slots.
(#1712944, reported by Jason Miller)