sbcl-0.9.0 released

William Harold Newman <[email protected]> Sun, 24 Apr 2005 15:48:01 -0500
Newsgroups gmane.lisp.steel-bank.announce
Message-ID <[email protected]>
W00t.

For those of you not following the discussion of versioning issues on
the sbcl-devel list, or just recovering from such a great party^W24/7
hacking session that you can't remember things like that, there's
nothing particularly magical about this release, despite its
less-fractional-than-usual release number. In particular, we didn't
use 0.9-ness as a flag day to introduce dramatic new changes or
policies; we have just agreed that it has more than enough progress to
justify stop calling it 0.8. Thus, 0.9.0 is different from
sbcl-0.8.21, but only about as different as you might expect from some
0.8.x to 0.8.x+1.

From the NEWS file in the distribution:
changes in sbcl-0.9.0 relative to sbcl-0.8.21:
  * incompatible change: the --noprogrammer option, deprecated since
    version 0.7.5, has been removed.  Please use the equivalent
    --disable-debugger option instead.
  * incompatible change: finalizers and *AFTER-GC-HOOKS* are now run with
    interrupts enabled.
  * incompatible change: support for *BEFORE-GC-HOOKS* (that have been
    inoperational for a while now) has been completely removed.
  * null lexical environments are now printed as #<NULL-LEXENV>, 
    significantly reducing the amount of clutter in typical backtraces.
  * documentation on weak pointers, finalization, and after GC hooks
    has been added to the manual.
  * optimization: REPLACE on declared (UNSIGNED-BYTE 8) vectors, as well
    as other specialized array types, is much faster.  SUBSEQ and
    COPY-SEQ on such arrays have also been sped up.
  * optimization: EQL is now more efficient when at least other argument 
    is known to be of type (OR FIXNUM (NOT NUMBER)).
  * fixed bug: the runtime is now less vulnerable to changes in the
    size of the SBCL object on OS X, and virtual memory is reserved for
    all spaces that need to be at a fixed address.
  * fixed bug: finalizers are now thread-safe. (thanks to Gabor Mellis)
  * fixed bug: finalizers and after GC hooks that cause consing are now
    safe.
  * fixed bug: compiler error messages and summaries are now printed to 
    *ERROR-OUTPUT*, not *STANDARD-OUTPUT*.
  * fixed inference of the upper bound of an iteration variable.
    (reported by Rajat Datta).
  * fixed bug 211e: calling local functions with duplicated constant
    keyword argument no longer causes a bogus style warning about an
    unused variable.
  * fixed bug 305: INLINE/NOTINLINE declaration no longer causes local
    ftype declaration to be disregarded. (reported by Dave Roberts)
  * fixed bug 373: caused by erronous compilation of references to alien
    variables in the runtime on ppc/darwin.
  * fixed bug 376: CONJUGATE type deriver.
  * fixed infinite looping of ALIEN-FUNCALL, compiled with high DEBUG.
    (reported by Baughn on #lisp)
  * a cross-compiler bug on non-x86 platforms has been identified and
    fixed.  (thanks to Bruno Haible)
  * improvements to the MIPS runtime code for increased stability.
    (thanks to Thiemo Seufer)
  * increased the maximimum compact environment size to allow
    purify on images with large amounts of functions. (thanks to Cyrus Harmon)
  * partial workaround for bug 135: don't name the function we're
    calling for hairy cases of EVAL, so as not to accumulate one environment
    entry per call to EVAL.  (reported by Kevin Reid)
  * improvements to the x86-64 disassembler. (thanks to Lutz Euler)
  * optimization: type testing for non-vector arrays should be faster.
  * fixed TRACE :ENCAPSULATE NIL, added support for :ENCAPSULATE NIL
    on x86-64
  * bug fix: setting 31st element of a bit vector to zero did not work
    on Alpha-32.
  * bug fix: redefining a class definition which failed due to a
    previous accessor / function clash now works (but see BUGS entry
    #380 for more problems in this area).  (thanks to Zach Beane)
  * the long form of DEFINE-METHOD-COMBINATION disables method group
    checking when given a single method group with pattern *.  (thanks
    to Wendall Marvel)
  * on x86 compiler supports stack allocation of results of simple
    calls of MAKE-ARRAY, bound to variables, declared DYNAMIC-EXTENT.
  * support for building and running on Mac OS X 10.4 "Tiger" has been added
    ** Binaries built on Tiger will not run on 10.2 "Jaguar" currently
  * fixed some bugs related to Unicode integration:
    ** the restarts for recovering from input and output encoding
       errors only appear when there is in fact such an error to
       handle.
  * fixed some bugs revealed by Paul Dietz' test suite:
    ** MISC.549 and similar: late transformation of unsafe type
       assertions into derived types caused unexpected code
       transformations.
    ** SCALE-FLOAT type deriver is less wrong.
    ** type derivers for EXP, LOG and similar functions compute result
       types for complex arguments better.
    ** (MISC.563) CONJUGATE type deriver works for very restricted
       complex types.
    ** out-of-line type testers for character strings are available.
    ** EQUAL compiler transform understands specialness of objects
       of type BIT-VECTOR.
    ** accessing double-floats stored on the stack now works on x86-64.
    ** debugger internals could sometimes create invalid lispobjs, 
       resulting in GC crashes.
    ** MISC.548: type check weakening can convert required type into
       optional.
    ** initialization forms for bindings are not in scope of free special
       declarations.

-- 
William Harold Newman <[email protected]>
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C  B9 25 FB EE E0 C3 E5 7C
Ubi saeva indignatio ulterius cor lacerare nequit. -- Jonathan Swift's epitaph


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click