Steel Bank Common Lisp version 2.6.7
Steel Bank Common Lisp: Version 2.6.7 Update
Welcome to the news hub for Steel Bank Common Lisp (SBCL). Generally, new iterations of SBCL are deployed toward the conclusion of every month. To find the most recent build, please visit the SourceForge File List.
📜 Version Archive
The following versions have been released in the project's history:
| Major Series | Minor/Patch Versions |
|---|---|
| 2.6.x | 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0 |
| 2.5.x | 2.5.11 2.5.0 |
| 2.4.x | 2.4.11 2.4.0 |
| 2.3.x | 2.3.11 2.3.0 |
| 2.2.x | 2.2.11 2.2.0 |
| 2.1.x | 2.1.11 2.1.0 |
| 2.0.x | 2.0.11 2.0.0 |
| 1.5.x | 1.5.9 1.5.0 |
| 1.4.x | 1.4.16 1.4.0 |
| 1.3.x | 1.3.21 1.3.0 |
| 1.2.x | 1.2.16 1.2.0 |
| 1.1.x | 1.1.18 1.1.0 |
| 1.0.x | 1.0.58 1.0 |
| 0.9.x | 0.9.18 0.9.0 |
| 0.8.x | 0.8.21 0.8.0, 0.8alpha.0 |
| 0.7.x | 0.7.14 0.7.0 |
| 0.6.x | 0.6.13 0.6.0 |
🚀 New in Version 2.6.7
Released: 2026-07-28
📖 Documentation Overhaul
A significant addition is the SB-MANUAL contribution module. This module embeds the SBCL manual directly within the docstrings of section definitions.
Interactive Exploration: Because the manual is now tied to Lisp definitions, users can explore it interactively using tools like Slime's
M-.command. For those preferring a browser, theMGL-PAXlibrary (available out-of-tree) provides browsing capabilities.
Additionally, fixnum.com (an independent project) offers the manual in several formats:
- PDF (heavily linked)
- HTML (heavily linked)
- Markdown
- Plain Text
Manual Generation Workflow:
🛠 Hardware & Architecture Support
- X86-64: Added support for AVX512 instructions (Credit: Sylvia Harrington).
- ARM64 & X86-64: Expanded SIMD instruction support (Credit: Robert Smith & Arthur Miller).
- ARM64: Resolved a miscompilation issue regarding
SAP-REF-N(Credit: Arthur Miller). - MIPS & LoongArch:
INTEGER-LENGTHfor primitive types now avoids loop-based implementation (Credit: Hayley Patton).
🐛 Bug Fixes
- Read System: When
*READ-SUPPRESS*is set toT, the system no longer triggers warnings such asinternal-feature no longer present on *FEATURES*. - Compiler: Fixed a type-error occurring during the compilation of
CONCATENATEcalls when arguments are conditionally known to be non-sequences. - Type System: Fixed issue #2160747 where
(EQL complex)types were not recognized as numeric. - Math: Improved the handling of non-signalling (quiet) NaN inputs for the
LOGfunction (#2160429). - Compiler: Fixed the miscompilation of
MULTIPLE-VALUE-CALL(#2160268, reported by Woodrow Kiang).
⚡ Optimizations
- Complex Numbers: Passing constant complex numbers to local functions no longer requires consing (#2160207, reported by Vasily Postnicov).
- UTF-8: Now utilizes enhanced SIMD routines for conversions where supported.
- Compiler Transforms:
COUNTtransforms are now compatible with a broader range of keyword arguments. - SB-ALIEN: Reduced instruction count for
SB-ALIEN:DEREFby at least one operation. - Performance: The compiler's sparse set implementation has been tuned for better real-world efficiency.
📝 Documentation Updates
- FFI:
SB-MANUAL:@FOREIGN-FUNCTION-INTERFACEnow correctly identifies arrays ascolumn-majorrow-major. - Markup: Internal docstrings now utilize a subset of Markdown (Credit: Burson), though
DOCUMENTATIONandDESCRIBEwill strip some of this formatting. - Indexing: A dedicated index for declarations has been added to the manual.
🔄 New in Version 2.6.6
Released: 2026-06-28
⚠️ Incompatible Changes
| Feature | Change Description |
|---|---|
FDEFINITION | Now returns the outermost wrapper (#799533). |
| Unsafe C Strings | Strings using :EXTERNAL-FORMAT :ASCII are copied as raw bytes. The system no longer checks if the top bit is set: . |
💻 Platform & Architecture
- PowerPC: Fixed build issues for 64-bit big-endian systems using ELFv2.
- macOS 27 (ARM64): The static space address has been relocated (Credit: Piotr Kubaj).
- ARM64:
- Optimized
SB-THREAD:BARRIER(#2156072, reported by Gary Palter). - Fixed a compiler crash in
MULTIPLE-VALUE-LISTwithin argument forms (Credit: Sahil Kang).
- Optimized
🔧 General Fixes & Improvements
- Trace: Fixed a bug where
TRACEfailed when*PRINT-READABLY*was true and the return value lacked a readable representation (#2155788, reported by Gary Palter). - Type Derivation:
- The compiler is now more precise when deriving types for
COERCEbased on input constraints. - Improved return type derivation for
AREFandELT.
- The compiler is now more precise when deriving types for
- Strings: Increased speed for encoding and decoding UTF-8 C strings.
- Lists: The expression
(length (intersection a b))has been optimized to avoid creating an intermediate list. - Manual:
- Added a new section for
SB-INTROSPECT, including better comments and docstrings. - Corrected various typos and typesetting errors in the user manual.
- Added a new section for