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 1.3.1Back to top
- enhancement: SB-THREAD support for ARM64.
- enhancement: compiling an out-of-line DEFSTRUCT constructor call
will warn if a defaulted value is incompatible with its slot type.
- enhancement: a local INLINE declaration on a structure constructor
will work as intended, subject to any other factors that inhibit
inlining, even if the DEFSTRUCT was not itself within a global
INLINE proclamation for the named constructor
- enhancement: SB-EXT:DYNAMIC-SPACE-SIZE is now defined for cheneygc.
- enhancement: x86[-64] platforms support SB-EXT:CAS on structure slots
of type SB-EXT:WORD
- enhancement: the interleaved structure slot optimization from
release 1.2.6 has been ported to 32-bit x86, Sparc, PowerPC, ARM64.
- enhancement: SB-THREAD:JOIN-THREAD signals a proper error when an attempt
is made to join the current thread
- bug fix: NTH-VALUE does not cause stack overflow. (#1511419)
- bug fix: structure constructor type checking is better. (#1508735)
- bug fix: supplied-p variables for unused optional or keyword variables no
longer confuse SB-DI:PARSE-COMPILED-DEBUG-FUN-LAMBDA-LIST (and thus the
backtrace machinery) (#1498644)
- bug fix: Backtrace correctly handles undefined-function frames on MIPS.
- bug fix: WITH-FLOAT-TRAPS-MASKED correctly clears accrued traps on MIPS
(fixes issues with floating-point type derivation in the compiler).
- bug fix: FLOAT-NAN-P and FLOAT-TRAPPING-NAN-P now work correctly on MIPS
- bug fix: MIPS context register access now masks to 32 bits (fixing issues
parsing negative-fixnum values for internal-error arguments and escaped
debug variables on 64-bit CPUs).
- bug fix: (SETF SAP-REF-DOUBLE) with constant offset on big-endian MIPS
now works correctly.
- bug fix: Callback parameter (argument) handling on MIPS is now vastly
- bug fix: %DECREMENT-SEMAPHORE adjusts the remaining timeout after a
Older SBCL releases
New in version 1.3.0Back to top
- minor incompatible change: the environment passed to a macro/setf/deftype
expander is not always an object of type SB-KERNEL:LEXENV.
It can be nil, as is permissible by the standard.
- enhancement: ported to ARM64 Linux.
- enhancement: a new interpreter is included which has many benefits
over sb-eval. It is disabled by default. See src/interpreter/README
for instructions to enable it, and further details.
- bug fix: calling COMPILE when SB-EXT:*EVALUATOR-MODE* was :INTERPRET
would fail to perform "normal semantic processing such as macro expansion"
as stipulated by X3J13 issue LOAD-TIME-EVAL.
- bug fix: SB-UNICODE:CONFUSABLE-P no longer treats "<" and the empty
string as confusable. (#1504739)
- bug fix: (ASSERT (COMPUTE-IT ...)) would expand incorrectly
if COMPUTE-IT was a local macro that shadowed a global function.
- bug fix: SB-POSIX:CFSETISPEED and SB-POSIX:CFSETOSPEED now work properly
on platforms that use only the minimum specified set of fields in struct
termios (verified on Linux, still known not to work on FreeBSD and NetBSD,
very probably others). (partial fix for #1500951)