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.3.19Back to top
- enhancement: specialized arrays can be printed readably without using
- enhancement: SB-DEBUG:PRINT-BACKTRACE truncates huge string arguments.
The full string remains available for inspection via (SB-DEBUG:ARG).
- bug fix: backtracing from several threads at once could fail
- bug fix: floating-point infinities could not be used as keys
in EQUALP hash tables. (#1696274)
- bug fix: random sb-fasteval failures. (#1642708)
- bug fix: align the stack in callback wrappers to defend against C
compiler over-aggressive use of SIMD. (#1697528)
- bug fix: don't try to find the class when reporting that a class does
not exist for a primitive type. (#1697226)
Older SBCL releases
New in version 1.3.18Back to top
- minor incompatible change: existing values of CFLAGS, ASFLAGS,
CPPFLAGS, and LINKFLAGS will be incorporated into C compiler
invocations when building from source.
- minor incompatible change: the result of WRITE-TO-STRING may be
a BASE-STRING if all characters written are of type BASE-CHAR.
- minor incompatible change: the broadcast stream with no output
streams is a singleton object. That object satisfies OPEN-STREAM-P
regardless of how many times CLOSE is invoked on it.
- enhancement: x86[-64] backends contain an experimental feature
which aids in demonstrating reachability of any object starting
from a tenured object or a thread stack by producing a proof
as a sequence of pointers to follow.
The file "tests/traceroot.test.sh" contains an example usage.
- enhancement: if the alien symbol "gc_coalesce_string_literals" is
set to 1 prior to SAVE-LISP-AND-DIE, then similar string constants
loaded from different fasl files may be collapsed to one object.
If the variable is set to 2, then additionally strings which are
STRING= in code resulting from COMPILE can be coalesced.
For instance, two functions returning the literal string "HI"
might return EQ strings after collapsing, which may be undesired
in a particular use. The flag pertains to gencgc only.
- enhancement: SXHASH values on pathnames are better distributed
- bug fix: MAKE-PATHNAME removes empty strings as components of a
directory, as is permitted: "Whenever a pathname is constructed
the components may be canonicalized if appropriate."
- optimization: various printer and FORMAT performance enhancements.
- bug fix: GET-FOREGROUND no longer fails in case all other interactive
threads exit (#1682671, reported by Syll)
- bug fix: RELEASE-FOREGROUND always removes the current thread from the
list of interactive threads. (#1682867, reported by Syll)