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 1.0.19
- new feature: user-customizable variable SB-EXT:*MUFFLED-WARNINGS*;
warnings that go otherwise unhandled will be muffled if they are
of the type that's the value of this variable.
- optimization: stack allocation is slightly more efficient on x86
and x86-64.
- bug fix: DEFSTRUCT forms with user-specified :CONSTRUCTOR options,
where a raw slot always is initialized using the initform whose
type is not know sufficiently well a compile-time are now compiled
correctly. (reported by John Morrison)
- bug fix: compiler no longer makes erronous assumptions in the
presense of non-foldable SATISFIES types.
- bug fix: stack analysis missed cleanups of dynamic-extent
arguments in non-let-converted calls to local functions.
- improvements to the Windows port:
- adjusted address spaces for building on both Win32 and
Win64. (thanks for John Connors)
- fixed some bugs revealed by Paul Dietz' test suite:
- interval arithmetic during type derivation used inexact integer
to single-float coercions.
- arithmetic operations involving large integers and single
floats give the same results in compiled and interpreted code.
- deriving the result type of COERCE no longer signals an error
if the derived type of the second argument is a MEMBER type
containing invalid type specifiers.
- ADJOIN with constant NIL as second argument works correctly.
- FUNCTION-KEYWORDS was called SB-PCL::FUNCTION-KEYWORD-PARAMETERS.
New in version 1.0.18
- minor incompatible change: SB-SPROF:WITH-PROFILING now by default
profiles only the current thread.
- minor incompatible change: changes to SYMBOL-VALUE of constants
defined with DEFCONSTANT now signal an error.
- enhancement: SB-SPROF now has support for wallclock profiling,
and is also able to profile specific threads. REPORT output
has also additional sorting options.
- enhancement: better pretty-printing of DEFPACKAGE forms. (Thanks
to Michael Weber)
- optimization: structure allocation has been improved
- constructors created by non-toplevel DEFSTRUCTs are ~40% faster.
- out of line constructors are ~10% faster.
- inline constructors are ~15% faster.
- inline constructors are capable of dynamic extent allocation
(generally on x86 and x86-64, in some cases on other platforms
as well.)
- optimization: simple uses of HANDLER-CASE and HANDLER-BIND no
longer cons.
- optimization: file compiler is now able to coalesce non-circular
lists, non-base strings, and bit-vectors. Additionally, constants
are never referenced through SYMBOL-VALUE at runtime.
- optimization: code defining methods on PRINT-OBJECT (and other
generic functions in the COMMON-LISP package) now loads faster.
- bug fix: EAI_NODATA is deprecated since RFC 3493. Stop using it
in sb-bsd-sockets.
- bug fix: if COMPILE-FILE aborts due to an unwind, the partial
fasl is now deleted. (reported by Attila Lendvai)
- bug fix: READ-LINE always returned NIL for the last line in files.
(reported by Yoshinori Tahara)
- bug fix: more accurate disassembly annotations of foreign function
calls. (thanks to Andy Hefner)
- bug fix: trimming non-simple strings and non-string string
designators when the there is nothing to trim works properly.
(thanks to James Knight)
- new feature: SB-POSIX bindings for mlockall, munlockall, and setsid.
(thanks to Travis Cross)
- fixed some bugs revealed by Paul Dietz' test suite:
- NIL is a valid function name (regression at 1.0.13.38)
- FILL on lists was missing its return value (regression at 1.0.12.27)
- STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIM did not respect
fill pointers properly (regression at 1.0.12.23)
- STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIM did not respect
displacement indices properly (regression at 1.0.12.23)
Older SBCL releases