========================== C M U C L  20 d =============================

[Not yet released]

The CMUCL project is pleased to announce the release of CMUCL 20d.
This is a major release which contains numerous enhancements and
bug fixes from the 20c release.

CMUCL is a free, high performance implementation of the Common Lisp
programming language which runs on most major Unix platforms. It
mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
sophisticated native code compiler; a powerful foreign function
interface; an implementation of CLOS, the Common Lisp Object System,
which includes multi-methods and a meta-object protocol; a source-level
debugger and code profiler; and an Emacs-like editor implemented in
Common Lisp. CMUCL is maintained by a team of volunteers collaborating
over the Internet, and is mostly in the public domain.

New in this release:

  * Known issues:

  * Feature enhancements
    * Added a new contrib, "contrib-packed-sse2" to allow packed
      operations ala SSE2.  Support for some packed sse2 operations
      like multiply, divide, and shuffle for both packed singles and
      doubles.  All operations are done on top of (complex
      double-float) numbers.  Utility functions are provided to set
      and access these packed numbers.
    * Added external format for EUC-KR.
 
  * Changes
    * ASDF2 updated to version 2.21.
    * Behavior of STRING-TO-OCTETS has changed.  This is an
      incompatible change from the previous version but should be more
      useful when a buffer is given which is not large enough to hold
      all the octets for the given string.  See docstring for more
      details.
    * The PowerPC port of CMUCL on Darwin (Mac OS X) has been revived
      and is up-to-date.  It will run on OSX 10.4 and 10.5.  However,
      only the Unicode build is supported.
    * Updated to Unicode 6.1.0.
    * Many additional aliases for external formats added that match
      the glibc iconv aliases.
      
  * ANSI compliance fixes:
    * CMUCL was not printing pathnames like (make-pathname :directory
      '(:absolute "tmp" "" "/")) correctly.  This is now printed using
      #P(...).

  * Bugfixes:
    * DECODE-FLOAT was not correctly declared and could not be
      compiled to handle double-double-floats.
    * The source distribution now includes the scripts from the bin
      directory, which was previously missing.
    * The stack needs to be 16-byte aligned on Darwin.
    * LDB no longer prints prompts forever when EOF is reached.
    * LISP:UNICODE-COMPLETE now longer signals an error if the prefix
      isn't a prefix of the name of any Unicode character.  Nil is
      returned instead.
    * Some VOP costs were incorrect which prevented the fast complex
      double-float multiplier from being used when sse3 is available. 
    * External format for UTF-32 was generating an error when
      converting octets to a string.
    * The UTF-16-BE and UTF-16-LE external formats were returning the
      incorrect number of octets when surrogates pairs were decoded.
      This confuses the stream buffering code.
    * Fix typo in ISO8859-2 external format that caused it not to work
      correctly.  This type potentially also caused failures for all other
      external formats that were based on ISO8859-2.

  * Trac Tickets:
    * #50: Print/read error with make-pathname.
    * #53: UTF-8 in core.
    * #52: UNICODE-COMPLETE-NAME misses a completion.
    * #55: blocked signals.
    * #58: UTF-16 buffering problem.

  * Other changes:
    * The layout of the cmucl directories has been changed.
    * On darwin/x86, gcc-4.2 is explicitly used in case Xcode 4 is
      installed.  CMUCL doesn't run correctly when built with gcc/llvm
      in Xcode 4.
    * Add -R option to build.sh to force recompiling the C
      runtime. (Default it to compile only what is changed.)

  * Improvements to the PCL implementation of CLOS:

  * Changes to building procedure:

This release is not binary compatible with code compiled using CMUCL
20c; you will need to recompile FASL files. 

See <URL:http://www.cmucl.org> or
<URL:http://trac.common-lisp.net/cmucl> for download information,
guidelines on reporting bugs, and mailing list details.


We hope you enjoy using this release of CMUCL!
