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.4.6, 2024-06-29
Back to top- enhancement: name conflicts resulting from colliding symbols in IMPORT and
USE-PACKAGE are resolved once for each name, rather than between pairwise
colliding symbols.
- enhancement: calls to structure constructors with type mismatches in
default initforms cause compile-time warnings.
- platform support:
- fix constant-folding of %log1p and %log2 on 32-bit x86.
- fix the encoding of popcntd on ppc64
- bug fix: EXPORT could be tricked into exporting two distinct symbols of
the same name from the same package.
- bug fix: two-argument calls to LOG with arguments of different precision
do not lose accuracy through insufficiently-precise intermediate values.
- bug fix: :NEWLINE options in *DEFAULT-EXTERNAL-FORMAT* are respected when
opening files. (reported by Marco Antoniotti)
- bug fix: extend type declarations for the iteration variable of DOLIST
with NULL during the evaluation of the result clause. (#942237)
- bug fix: #\uE0 (LATIN CAPITAL LETTER A WITH GRAVE) was incorrectly not
downcased with STRING-DOWNCASE. (#2067841, reported by Matt Kaufmann)
- bug fix: backquoted lists as arguments to MAKE-ARRAY were miscompiled.
(#2069345, reported by Dan Bothell)
- bug fix: resolve the circularity between the type system and the CLOS
metaobject protocol more robustly. (#2069502, reported by Jan Moringen)
- bug fix: misplaced tilde in a logical pathname error message.
(#2069995, thanks to Marco Heisig)
- optimization: various speedups to UTF-8 based external format streams and
other stream routines.
New in version 2.4.5, 2024-05-30
Back to top- incompatible change: attempting to pass or return alien structs by value
now signals errors. Previously, such attempts would silently tend to
corrupt registers or memory; there is work in progress to allow such calls
conforming to the platform ABI. (thanks to Rongcui Dong)
- minor incompatible change: function debug info is compressed only if the
system is compiled with libzstd, rather than falling back to a pure-lisp
compression implementation.
- minor incompatible change: the compiler will warn in more cases when it
can detect incorrectly-typed arguments to FORMAT directives ~C and ~R
- minor incompatible change: strings are converted to a more compact
representation if possible before being used as docstrings.
- platform support:
- explicitly include stdlib.h where needed on OpenBSD. (thanks to
Sebastien Marie)
- make the editcore utility work on Windows. (thanks to Luís Borges de
Oliveira)
- fix memory initialization in RUN-PROGRAM on Windows.
- resolve a deadlock in %INTERRUPT-THREAD on Darwin. (#2062940,
reported by Yan)
- hang on startup under some terminal emulators on OS X 14.5.
(#2067313, reported by Richard M Kreuter)
- enhancement: when (> debug 1), try to find source locations for code
expanded from macros that copy their input forms.
- bug fix: the method-combination generic function caches were missing some
of the generic functions constructed during the PCL build itself.
(reported by Didier Verna)
- bug fix: SXHASH on equal PATHNAME objects could return different values in
different cores. (reported by Luís Borges de Oliveira)
- bug fix: spurious compiler warnings on SORT in some circumstances.
(#2065609, reported by William G Lederer)
- optimization: faster bignum addition and negation on arm64, x86-64.
- optimization: faster type tests for (unsigned-byte X) for X being
multiples of the platform word size, on arm64, x86-64.
Older SBCL releases