News
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 2.5.8, 2025-08-29
Back to top- minor incompatible change: SB-THREAD:MAIN-THREAD-P can only be applied to
threads, not arbitrary lisp objects.
- minor incompatible change: the instruction-combining (peephole)
optimization pass does not run if COMPILATION-SPEED has a higher value
than SPEED.
- platform support:
- on arm64, provide better backtraces in the statistical profiler's
reporting, along with better detection of assembly routines, local
functions and callers of foreign code.
- on ppc64le, make --dynamic-space-size behave as documented.
(#2121255)
- on x86-64, handle more cases in the ALU+TEST peephole optimization.
- bug fix: for file-streams with :DIRECTION :IO, input and output file
positions should no longer get out of sync. (#1600610, reported by
Guillaume le Vaillant, test cases by Brent Benson)
- bug fix: an infinite loop in SUBTYPEP for types involving negations of
CONS of specialized ARRAY types. (#2114755)
- bug fix: miscompilation of a CASE form with small numeric keys.
(#2119035)
- bug fix: anonymous alien structs definitions are deduplicated, making it
harder to overflow internal data structures. (#2114943, reported by
Brooke Tilley)
- bug fix: allow ALU+TEST peephole optimizations to fire on x86-64.
(#2120547, reported by Christoph Breitkopf)
- bug fix: miscompilation of a LOOP form with rational arithmetic on
variables involved in termination tests. (#2121178, reported by 3b)
- bug fix: the compiler is better able to associate some forms in a
macroexpanion with the original sources.
- optimization: improve array construction with LIST or SEQUENCE
:INITIAL-CONTENTS.
New in version 2.5.7, 2025-07-26
Back to top- enhancement: the encapsulate mechanism can be used to wrap functions that
are currently not FBOUNDP.
- bug fix: internal compiler error in a failure of stack analysis during
propagation of dynamic-extent. (#2113935)
- bug fix: address regression in type inference for TRUNCATE and other
division-related operators. (#2115305, reported by Vasiliy Postnicov)
- bug fix: cleanup of the main thread is performed more carefully when SBCL
is used as a shared library. (#2115669, reported by Fedorov Alexander)
- bug fix: the compiler does not lose track of the types of specialized
external entry points for user-defined functions. (#2115955, reported
by Matt Kaufmann)
- bug fix: adjust compiler template argument acceptability for increased
usage scope. (#2116150)
- bug fix: provide a stub for ROTATE-RIGHT-WORD for constant-folding during
compilation. (#2117080)
- bug fix: provide a stub for %MAKE-DOUBLE-FLOAT for constant-folding during
compilation. (reported by Eric Marsden)
- bug fix: don't loop infinitely in the presence of type-mismatching
circular #S read syntax. (reported by Bohong Huang)
- optimization: calls to SLOT-VALUE (and related functions) within methods,
on values that are not a specialized argument to those methods, are
optimized similarly to calls to SLOT-VALUE in non-method code.
- optimization: calls to REPLACE with VECTOR first argument and LIST second
argument are improved.
- optimization: TYPECASE over a set of structure types known not to be
extensible is converted to an array lookup.
Older SBCL releases