News - Steel Bank Common Lisp

4 min read Original article ↗

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.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.

New in version 2.6.6, 2026-06-28

Back to top

  • minor incompatible change: FDEFINITION now returns the outermost wrapper (added e.g. by TRACE, PROFILE) like SYMBOL-FUNCTION. (#799533)
  • minor incompatible change: in unsafe code, C strings with :EXTERNAL-FORMAT :ASCII are copied directly as byte-sized quantities without checking whether the top bit of the byte is set.
  • platform support:
    • fix the build on big-endian 64-bit PowerPC with ELFv2. (thanks to Piotr Kubaj)
    • move the static space address for macOS 27 on ARM64. (#2156072, reported by Gary Palter)
    • optimizations to SB-THREAD:BARRIER for ARM64. (thanks to Sahil Kang)
    • fix a compiler crash in MULTIPLE-VALUE-LIST in argument forms on ARM64. (#2155788, reported by Gary Palter)
  • bug fix: TRACE no longer fails when trying to print a return value that cannot be printed readably and *PRINT-READABLY* is true.
  • optimization: the compiler is more precise in its type derivation of COERCE given constraints on its inputs.
  • optimization: the compiler is better able to derive the return types of AREF and ELT.
  • optimization: faster encoding and decoding of UTF-8 C strings.
  • optimization: (length (intersection a b)) doesn't cons an intermediate list.
  • documentation: the manual now includes a section for SB-INTROSPECT, which has also seen improvement in its documentation strings and comments.
  • documentation: fixed many typesetting problems and typos in the user manual.

Older SBCL releases