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.1.16Back to top
- minor incompatible change: improve read/print consistency for pathnames on
Win32, by using the circumflex character #\^ as the escape character.
- enhancement: SB-EXT:DEFINE-LOAD-TIME-GLOBAL. (#1253688)
- enhancement: Loading fasls with symbols from an undefined package includes
the name of the symbol in the error message.
- bug fix: problems when redefining classes and doing TYPEP on classes
- bug fixes to the x86-64 XCHG instruction:
- it was misencoded when used with RAX, R8-R15 registers. (reported by
- it was misencoded when used to exchange EAX with itself.
- the disassembler wrongly printed XCHG RAX, R8 and the corresponding
32- and 16-bit variations as NOP.
- bug fix: the disassembler outputs source annotations in the right place
and no longer randomly drops some of them. (#1249205)
- bug fix: fix commutative-arg-swap from introducing undumpable structures
into code, prevent code with errors from being compiled. (#1276282)
- bug fix: pathnames with :back in their directory component are succeffully
- bug fix: the deterministic profiler now uses ENCAPSULATE functionality to
wrap functions around. (#309086)
Older SBCL releases
New in version 1.1.15Back to top
- new feature: the iterative spilling/coloring register allocator developed
by Alexandra Barchunova during Google Summer of Code 2013 is now merged
in. By default, it only activates for functions that optimize with
(speed 3) and (> speed compilation-speed), but setting
sb-regalloc:*register-allocation-method* to :iterative forces its
execution. The previous behaviour can be obtained by instead setting that
variable to :greedy. Thanks again to Google for their support, and, more
crucially, to Alexandra Barchunova for her hard work.
- optimization: make-array with known element-type and unknown dimensions is
- optimization: make-array with unknown element-type is faster as well.
- enhancement: sb-ext:save-lisp-and-die on Windows now accepts
:application-type argument, which can be :console or :gui. :gui allows
having GUI applications without an automatically appearing console window.
- enhancement: reduced conservativism on GENCGC platforms:
conservative roots must be valid-looking tagged pointers or point
within a code object, not merely point to within the allocated part
of a page, in order to pin a page.
- enhancement: support for "Mac Roman" external format.
- enhancement: encapsulation of named generic functions now happens without
altering the identity of the function bound to the name.
- bug fix: Windows applications without the console window no longer misbehave.
(patch by Wilfredo Velazquez, #1256034).
- bug fix: modular arithmetic optimizations do not stumble on dead branches
with bad constants. (reported by Douglas Katzman)
- bug fix: CLISP can be used again as a cross-compilation host.
(Thanks to Vasily Postnicov, #1261451)
- bug fix: run-program crashed with :directory nil. (#1265077)