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.6.9, 2026-09-26
Back to top- minor incompatible change: structure slots defined as :READ-ONLY can be
written using SLOT-VALUE with the constant slot name, matching the
existing behaviour if the slot name is provided as a variable.
- enhancement: addition of u8.16-shuffle to SSE3 SB-SIMD support. (thanks
to Qiantan Hong)
- enhancement: addition of some AVX512 support to SB-SIMD. (thanks to Aaron
Estrada)
- bug fix: address a number of issues in the SB-SIMD contributed module.
(thanks to Sylvia Harrington)
- bug fix: don't improperly inherit dynamic extent nature of transformations
of lists constructed with dynamic extent.
- bug fix: don't call SB-GMP exponential function with a non-rational base.
(thanks to Ilia Gradina)
- bug fix: compiler internal error from stack manipulation in inline- and
dynamic-extent-heavy code. (#2156347, reported by Vasily Postnicov)
- bug fix: the SB-MANUAL contributed module should build more reliably on
Windows. (#2165787)
- bug fix: be more conservative when inferring types of components of
composite data structures lexically following a declaration in the
presence of possible side effects. (#2165835)
- bug fix: compiler miscompilation of type checks of unused optional
arguments. (#2165974, reported by Vasily Postnicov)
- bug fix: test consistency checks of system variables now correctly ignore
SB-IMPL::*READ-LINE-BUFFERS*, affecting particularly large heaps.
(#2167121, reported by 3b)
- bug fix: miscompilation through too-optimistic reuse of storage locations.
(#2167208)
- bug fix: compiler error from off-by-one access to internal data
structures. (#2167568)
- bug fix: compiler error from compilation of nested functions with
non-local exits. (#2167725)
- bug fix: compiler error after incautious value coalescing. (#2167800)
- optimization: microoptimizations to the return sequence to generic
arithmetic assembly routines on x86-64.
- optimization: checks for whether floats are integral are more compact.
- optimization: on arm64, integer-length is more efficient on
machine-word-sized integers.
- optimization: certain basic operations on numeric RATIO types have a fast
path.
- optimization: the GMP-INTEXP used in the SB-GMP implementation of EXPT is faster.
- optimization: self- and mutually-referential functions can be
automatically stack-allocated when the system can prove that no function
reference can escape.
- optimization: the compiler can propagate equality constraints over local calls.
- optimization: the compiler can make use of register pairs for unboxed signed
128-bit simple arithmetic on ARM64 and x86-64.
- optimization: constraint propagation is somewhat faster.
- optimization: provide the compiler with smarts for type inference for
SB-SYS:WITH-INTERRUPTS. (#2167153, reported by Vasily Postnicov)
New in version 2.6.8, 2026-08-28
Back to top- minor incompatible change: FILE-POSITION on composite streams returns a
more accurate result for CONCATENATED-STREAM, and NULL on TWO-WAY-STREAM
and ECHO-STREAM.
- platform support:
- improvements to code generation for the ARM64 backend.
- improved support for AVX512 instruction encoding and decoding. (thanks
to Arthur Miller)
- various enhancements to the SB-SIMD contributed module. (thanks to Sylvia
Harrington and Arthur Miller)
- bug fix: FILE-POSITION on a stream after reading input into a list or
generic sequence returns the correct result.
- bug fix: allow the manual to build on more platforms. (#2162021)
- bug fix: infinite loop in the compiler while attempting to remove data
moves. (#2162597)
- bug fix: debugger failed to handle (COMPLEX DOUBLE-FLOAT) entities on the
stack. (reported by Clint Seinen)
- bug fix: error reporting from STRING-TO-OCTETS reported using the wrong
string indices. (#2164924)
- optimization: the compiler performs assignment conversion in nearly all
possible cases now, along the lines of Fluet and Weeks' "Contification
using Dominators" of 2001., which transforms state-machine-like code
written in terms of local functions into the equivalent tagbody/go control
structures.
- optimization: type inference of parameters is now possible for local
functions which recursively call themselves. (#486416, reported by
Tobias Rittweiler)
- optimization: special-case DPB with newbyte of 0 or -1.
- optimization: more improvements to UTF8 encoding and decoding.
- optimization: multiple structure TYPEP tests in sequence can elide
redundant memory loads of layouts.
- optimization: transform ZEROP of (LDB ...) to an equivalent zero test with
a mask. (#2162824, thanks to Vasily Postnicov)
Older SBCL releases