========================== C M U C L  21 a =============================

[Work in progress]

The CMUCL project is pleased to announce the release of CMUCL 21b.
This is a major release which contains numerous enhancements and
bug fixes from the 21a 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

  * Changes
    * Update to ASDF 3.1.7.
    * Add support for asdf's static-image-op
      * This mostly entails internal changes in how executables are
        handled.  lisp.a is not complete; it must be linked with
        either exec-init.o or exec-final.o.
      * If the linker fails to link an image, the exit code is
        returned to indicate failure.
    * When printing the process structure (from run-program), include
      the exit code to make it easier to see if the the process exited
      cleanly or not.  The printed representation is also changed
      slightly to use pprint-unreadable-object.
    * Executable images on OSX no longer support running on other
      versions of the OS.  Previously, -mmacosx-version-min=10.5 was
      used to specify the executable would run on OSX versions >=
      10.5.  This, however, requires the 10.5DK be available.  Thus,
      no longer require that.
    * Disassembly of bytes and words now use .BYTE and .WORD instead
      of BYTE and WORD.
    * Unix support on Linux has been unified with all other OSes.
      Thus, src/code/unix-glibc2.lisp is no longer used.
    * Micro-optimize modular shifts on x86.
    * Update lisp-unit to commit e6c259f.
    * Added EXT:WITH-FLOAT-TRAPS-ENABLED to complement
      WITH-FLOAT-TRAPS-MASKED.
    * (EXPT 0 power) doesn't throw INTEXP-LIMIT-ERROR anymore for any
      integer value of power.
    * Starting cmucl with "-dyanmic-space-size 0" means using the
      maximum possible heap size for the platform.
    * More descriptive docstring for
      * *environment-list*
      * :env option for run-program
    * Maximum dynamic-space-size on Linux reduced to 1530 MB because
      that's the largest available space on 32-bit Ubuntu 11.10.
    * For linux, darwin, and solaris/sparc, the binding stack and
      control stack are now mapped into memory whereever the OS wishes
      to place them instead of being mapped into a fixed location.
      This is indicated by new feature :relocatable-stacks.

  * ANSI compliance fixes:
    * PATHNAME-MATCH-P did not accept search-lists.

  * Bugfixes:
    * Linux was missing unix-setitimer which prevented saving cores.
    * Generate inxact exceptions more carefully.
    * Fix FP issue when building with Xcode 7.2 (and newer versions of
      clang).  (See ticket #12.)
    * Cleanups in handling floating-point exceptions.  See Tickets #15
      and #16.

  * Trac Tickets:

  * Gitlab tickets:
    * Ticket #10 fixed: setting an element of a 1, 2, or 4-bit array
      with a constant index did not always set the element
      appropriately.
    * Ticket #12 fixed.  It looks like a possible compiler bug, but
      worked around by explicitly setting inexact instead of using FP
      instructions to generate inexact.
    * Ticket #16 fixed: search-lists are handled correctly.
    * Ticket #14 fixed: WITH-FLOAT-TRAPS-ENABLED doesn't incorrectly
      set accrued exceptions anymore.
    * Ticket #15 fixed: FLOATING-POINT-INEXACT exception prints out
      values correctly now.
    * Ticket #17 fixed: better docstring for *ENVIRONMENT-LIST*
    * Ticket #18 fixed: better description of :ENV option for
      RUN-PROGRAM.
    * Ticket #22 fixed: Incorrect coercion to float.

  * Other changes:

  * Improvements to the PCL implementation of CLOS:

  * Changes to building procedure:


This release is not binary compatible with code compiled using CMUCL
21a; 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!
