sbcl-2.1.2 released

Christophe Rhodes <[email protected]> Mon, 01 Mar 2021 21:10:16 +0000
Newsgroups gmane.lisp.steel-bank.announce
Message-ID <875z2a8ts7.fsf@shin>
Dear all,

Somewhat belatedly for February, I have released sbcl-2.1.2 and uploaded
artifacts to SourceForge.  Perhaps the most newsworthy news this release
is the support for Mac OS X on the 64-bit ARM architecture; there are
also some fixes for long-standing bugs (in some cases, 20-year-old bugs)
in the type system.  A full list of changes is appended below.

Best wishes,

Christophe

changes in sbcl-2.1.2 relative to sbcl-2.1.1:
  * platform support:
    ** support for ARM64 macOS;
    ** improvement in coverage mark implementation on non-x86oid backends,
       approaching the existing x86oid support;
    ** more empirically-robust retrieval of the program counter from illegal
       instruction traps on SPARC;
    ** retain fewer dead objects when saving cores with precise collectors.
  * incompatible change: MAP-ALL-SAMPLES and MAP-TRACE-SAMPLES
    are no longer present in the SB-SPROF contrib module.
  * minor incompatible change: SB-SPROF:WITH-PROFILING defaults to all
    threads. SB-SPROF:START-PROFILING no longer accepts a :SAMPLING keyword.
  * enhancement: the sb-introspect contrib now supports finding the lambda
    lists of method combinations.  (thanks to Didier Verna)
  * enhancement: short-form DEFSETF now stores a source-location.
  * bug fix: canonical unions of CONS types were being incorrectly computed.
    (lp#1912863, reported by James Kalenius)
  * bug fix: better understanding of array simplicity (or otherwise) in the
    type system.  (lp#1903241)
  * bug fix: unions of rational and integer types now have a single canonical
    form, allowing more correct reasoning about them in the type system.
  * bug fix: less likely to overclaim certainty about type equality of union
    types.  (lp#1916040)
  * bug fix: HANDLER-BIND evaluates the forms producing handler functions only
    once.  (lp#1916302, reported by Christophe Junke)
  * optimization: FIND on constant sequences can be compiled into a jump
    table, in a similar manner to POSITION
  * optimization: the compiler's awareness of numeric contagion rules for
    operations on pairs of floating point numbers is improved.  (lp#1914094,
    thanks to Andrew Berkley)