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.4, 2024-04-29
Back to top- minor incompatible change: after-GC hooks are now called in the finalizer
thread on threaded builds.
- platform support:
- on win32 on 64-bit systems, clear x87 state as well as SSE state after
an exception. (#2000435, reported by David Scherfgen)
- enhancement: type assertions resulting from declarations involving variable
numbers of multiple values are now checked.
- enhancement: support for memory allocation arenas is now available on the
arm64 platform.
- enhancement: the cross-referencing facility is now able to handle
anonymous functions.
- enhacnement: the SB-INTROSPECT contrib finds callees in methods of generic
functions.
- bug fix: inconsistency in VOP definitions implementing DPB. (#2059842)
- bug fix: MASK-FIELD miscompilation. (#2059849)
- bug fix: caching a state-dependent type function leads to wrong type
inference further down the line. (#2059888)
- bug fix: internal consistency violation after failing to apply a
MAKE-ARRAY transform. (#2060083)
- bug fix: check the array index before constant-folding an array reference.
(#2060347)
- bug fix: don't try to apply type constraints from SATISFIES
types. (#2060756)
- bug fix: the JOIN-THREAD-PROBLEM function is now exported from the
SB-THREAD package. (#2063385, thanks to Benjamin Lee)
- bug fix: compare-and-swap works as expected on SLOT-VALUE of
FUNCALLABLE-STANDARD-OBJECT instances. (reported by qhong)
- bug fix: on arm64, and x86-64 with some non-default build options, integer
rounding functions treat minus zero more consistently.
- bug fix: disassembly of stack allocation of vectors caused a crash.
(reported by bohonghuang)
- bug fix: don't leak memory when decompressing a compressed core.
- optimization: the amount of space needed for debug-info is about 50% less,
leading to a total default image size reduction of more than 10%.
- optimization: on arm64 and x86-64, encoding constants in machine code is
sometimes smaller.
- optimization: on arm64 and x86-64, list accumulation is done with less
space overhead.
- optimization: APPLY can apply a function to the REST of a &REST list
without additional consing.
New in version 2.4.3, 2024-03-29
Back to top- enhancement: when dumping debug information to fasl files, the system
respects the SOURCE_DATE_EPOCH environment variable (if set) as the latest
timestamp to be used.
- contributed module: the sb-perf contributed module, an interface
originally by Luke Gorrie to Linux's perf, is now included by default on
Linux. (Thanks to Philipp Marek)
- platform support:
- on Linux and BSD variants, timezone querying is now faster.
- Arm64/Darwin: allow configuring the system with a relocatable static
space.
- PPC64: allow configuring the system with fasteval.
- bug fix: erroneous transform of EQUALP on characters (#2055425)
- bug fix: float rounders (FTRUNCATE and related functions) handle minus
zero more consistently, returning minus zero as the primary value when
rounding to zero from a negative value.
- bug fix: type checks for (VECTOR T) were giving the wrong answer for
vectors displayed to simple multi-dimensional arrays. (reported by
_death)
- bug fix: do not transform away division by BIT when the BIT might still
include 0. (#2056184, reported by xizang)
- bug fix: various errors related to imperfections in the perfect hash
generator. (#2055794, #2056341)
- bug fix: respect declarations for symbol macros inside defmethod.
(#2056514, reported by Jonathan Braud)
- bug fix: failure to set structure slots to floats on Arm64. (#2058148,
reported by Bibek Panthi)
- optimization: improvements to the implementation of CASE.
- optimization: faster PARSE-INTEGER :radix 10/16 on word-sized integers.
- optimization: improvements to LOGBITP.
Older SBCL releases