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.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)
Older SBCL releases
New in version 1.2.16Back to top
- enhancement: by default, timers with a repeat interval do not "catch up"
by repeatedly calling their function after a clock discontinuity such as a
suspend and resume cycle
- bug fix: correctly restore multiple values on the stack in the presence of
alien calls. (#1489590)
- bug fix: MAKE-STRING-OUTPUT-STREAM enforces that :ELEMENT-TYPE
is a subtype of CHARACTER.
- bug fix: an EQL method specializer no longer causes garbage retention
if there are no extant methods using the specializer. (#492851)