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.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)
New in version 2.6.7, 2026-07-28
Back to top- new contrib module: SB-MANUAL contains the SBCL manual in docstrings of
section definitions, which tie together the docstrings of normal Lisp
definitions. The manual can thus be explored interactively in the usual
way (e.g. with Slime's M-.), and it is browsable with the MGL-PAX library
(out of tree). Also, https://fixnum.com/ (similarly unrelated to the SBCL
project) provides alternative renderings of the SBCL manual as heavily
linked PDF and HTML documents as well as Markdown and plain text.
- new feature: DOCUMENTATION supports DOC-TYPE DECLARATION.
- platform support:
- the SB-SIMD contrib now supports ARM64. (Thanks to Sylvia Harrington)
- AVX512 instructions are now supported on X86-64. (Thanks to Robert
Smith and Arthur Miller)
- additional support for SIMD instructions on ARM64 and X86-64. (Thanks
to Arthur Miller)
- fix miscompilation of SAP-REF-N on ARM64. (Thanks to Hayley Patton)
- implement INTEGER-LENGTH on primitive types without a loop on MIPS and
LoongArch.
- bug fix: READing with *READ-SUPPRESS* T no longer emits warnings like
"<internal-feature> no longer present on *FEATURES*".
- bug fix: compiler type-error when compiling calls to CONCATENATE with
conditional known non-sequence arguments. (#2160747)
- bug fix: (EQL <complex>) types were not being treated as numeric by the
type system. (#2160429)
- bug fix: improve the handling of quiet (non-signalling) NaN inputs to LOG.
(#2160268, reported by Woodrow Kiang)
- bug fix: miscompilation of MULTIPLE-VALUE-CALL. (#2160207, reported by
Vasily Postnicov)
- optimization: passing constant complex numbers to local functions can be
done without consing.
- optimization: where available, use enhanced SIMD routines for UTF-8
conversions.
- optimization: compiler transforms of COUNT are applicable with a wider
variety of keyword arguments.
- optimization: remove at least one redundant instruction from SB-ALIEN:DEREF.
- optimization: the sparse set implementation in the compiler has been tuned
to improve performance on real-world workloads.
- documentation: many typos and typesetting issues were fixed.
- documentation: SB-MANUAL:@FOREIGN-FUNCTION-INTERFACE now correctly states
that arrays are row-major (not column-major). (#2158033, thanks to Scott
L. Burson)
- documentation: internally, docstrings now conform to a subset of Markdown,
but DOCUMENTATION (and thus DESCRIBE) strips some of this markup. The
official manual is still generated from Texinfo, but the Texinfo files are
generated from SB-MANUAL.
- documentation: the manual now has a separate index for declarations.
Older SBCL releases