sbcl-2.0.5 released
Christophe Rhodes <[email protected]> Sun, 31 May 2020 15:55:06 +0100
| Newsgroups | gmane.lisp.steel-bank.announce |
|---|---|
| Message-ID | <87367gkvcl.fsf@shin> |
Dear all,
I've released sbcl-2.0.5 and uploaded artifacts to SourceForge.
Noteworthy changes in this release are summarized below.
I'd particularly like to highlight that hashing and equality predicates
have received some attention this month, and that it is possible that
code which previously worked by accident will no longer work, because an
implicit assumption which used to hold no longer does. Specifically,
structure-objects of the same class now can have distinct SXHASH values,
use of SXHASH as a hash function for hash tables with EQUALP or some
other content-based equality predicate will no longer work, whereas in
the past (where all instances of a given structure class would have the
same hash value) this would result in a poorly-performing but valid hash
table.
Best wishes,
Christophe
changes in sbcl-2.0.5 relative to sbcl-2.0.4:
* platform support:
** experimental support for ARM32 and ARM64 on OpenBSD
** better musl libc support. (lp#1768368, thanks to Eric Timmons)
** more correct use of futexes on 64-bit Linux. (lp#1876825, reported by
Ilya Perminov)
** restore building on current Solaris. (lp#1881393, thanks to Shawn
Ellis)
* enhancement: CMUCL-style START-BLOCK and END-BLOCK declarations are now
supported for block compiling forms at a sub-file granularity.
* enhancement: IPv6 support in sb-bsd-sockets is enabled on Windows.
* minor change: *compile-print* now makes it more clear what block
compilation is actually doing. The default output is now slightly more
verbose as a result.
* bug fix: number keys in EQUALP hash tables are correctly hashed.
(lp#1878653, reported by Syll)
* bug fix: EQness is better preserved given partial sharing of list contents
in the file compiler. (lp#1583753, reported by Denis Budyak)
* bug fix: the peephole pass neglected to preserve jump table labels.
(lp#1876485)
* bug fix: fix compiler crash in block compilation merging of toplevel
lambdas. (lp#1865336, reported by il71)
* bug fix: sb-introspect's function-lambda-arglist is better at extracting
default values of nested macro arguments. (lp#1876194)
* bug fix: RESTART-BIND's body is an implicit progn, and so does not accept
declarations. (lp#1876303, reported by Michal Herda)
* optimization: EQUAL hash tables with keys involving structure-objects will
have fewer systematic collisions.