release-21d.md 2.86 KB
Newer Older
Raymond Toy's avatar
Raymond Toy committed
1
# CMUCL 21d
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

The CMUCL project is pleased to announce the release of CMUCL 21c.
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.

Raymond Toy's avatar
Raymond Toy committed
18
## New in this release:
19 20
  * Known issues:
  * Feature enhancements
Raymond Toy's avatar
Raymond Toy committed
21
    * Update to ASDF 3.3.2
22
  * Changes
Raymond Toy's avatar
Raymond Toy committed
23 24 25 26
    * x86 and sparc have replaced the MT19937 RNG with xoroshiro128+ RNG.
      * The required state for this generator is just 4 32-bit words instead of the 600+ for MT19937.
      * The generator is also faster than MT19937 (approximately 28% faster on x86 and 18% on sparc).
      * The new function `KERNEL:RANDOM-STATE-JUMP` modifies the given state to jump 2^64 samples ahead, allowing 2^64 non-overlapping sequences.
Raymond Toy's avatar
Raymond Toy committed
27
    * Updated CLX to telent clx version 06e39a0d.
Raymond Toy's avatar
Raymond Toy committed
28
    * New functions `SET-GC-ASSERTIONS` and `GET-GC-ASSERTIONS`.  See the docstrings for more information and also ~~#69~~.
29
    * `MACHINE-TYPE` and `MACHINE-VERSION` return more information about thep rocessor cmucl is running on, using information from the `cpuid` instruction.
30 31 32
  * ANSI compliance fixes:
  * Bug fixes:
  * Gitlab tickets:
33 34
    * ~~#48~~ Update RNG from MT19937 to xoroshiro128+
    * ~~#45~~ Handling of relative paths in `EXT:RUN-PROGRAM`
35 36 37 38 39
    * ~~#50~~ CLX (Hemlock) fails to run.
    * ~~#49~~ CLM crashes
    * ~~#47~~ Backquate and multiple splices
    * ~~#59~~ Incorrect type-derivation for `decode-float`
    * ~~#60~~ The function `C::%UNARY-FROUND` is undefined
40
    * ~~#58~~ Bogus type error in comparison of complex number with `THE` form
41 42
    * ~~#61~~ Segfault when compiling call to `ARRAY-HAS-FILL-POINTER-P` on bit vector constant
    * ~~#62~~ Segfault when compiling `ARRAY-DISPLACEMENT` on a string constant
Raymond Toy's avatar
Raymond Toy committed
43
    * ~~#69~~ GC assertions compiled in and allow user to enable them.
44
    * ~~#71~~ More info for `MACHINE-TYPE` and `MACHINE-VERSION` for x86
45 46 47 48 49 50 51
  * Other changes:
  * Improvements to the PCL implementation of CLOS:
  * Changes to building procedure:

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

Raymond Toy's avatar
Raymond Toy committed
52 53
See http://www.cmucl.org or
https://gitlab.common-lisp.net/cmucl/cmucl for more information,
54
See
Raymond Toy's avatar
Raymond Toy committed
55
https://gitlab.common-lisp.net/cmucl/cmucl/wikis/GettingCmucl
56 57 58 59
for obtaining CMUCL, including sources and binaries..


We hope you enjoy using this release of CMUCL!