Update.
[projects/cmucl/cmucl.git] / src / general-info / release-20d.txt
CommitLineData
d4dc2cd1
RT
1========================== C M U C L 20 d =============================
2
d4dc2cd1
RT
3The CMUCL project is pleased to announce the release of CMUCL 20d.
4This is a major release which contains numerous enhancements and
5bug fixes from the 20c release.
6
7CMUCL is a free, high performance implementation of the Common Lisp
8programming language which runs on most major Unix platforms. It
9mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
10sophisticated native code compiler; a powerful foreign function
11interface; an implementation of CLOS, the Common Lisp Object System,
12which includes multi-methods and a meta-object protocol; a source-level
13debugger and code profiler; and an Emacs-like editor implemented in
14Common Lisp. CMUCL is maintained by a team of volunteers collaborating
15over the Internet, and is mostly in the public domain.
16
17New in this release:
18
19 * Known issues:
20
21 * Feature enhancements
b08f245d
RT
22 * Added a new contrib, "contrib-packed-sse2" to allow packed
23 operations ala SSE2. Support for some packed sse2 operations
24 like multiply, divide, and shuffle for both packed singles and
ceba057c 25 doubles. All operations are done on top of (complex
b08f245d
RT
26 double-float) numbers. Utility functions are provided to set
27 and access these packed numbers.
58af4a63 28 * Added external format for EUC-KR.
b08f245d 29
d4dc2cd1 30 * Changes
b6f29d0e 31 * ASDF2 updated to version 2.24.
17c9b814
RT
32 * Behavior of STRING-TO-OCTETS has changed. This is an
33 incompatible change from the previous version but should be more
34 useful when a buffer is given which is not large enough to hold
35 all the octets for the given string. See docstring for more
36 details.
944c67fb 37 * The PowerPC port of CMUCL on Darwin (Mac OS X) has been revived
b68a4feb
RT
38 and is roughly up-to-date. It will run on OSX 10.4 and 10.5.
39 However, only the Unicode build is supported.
537cc9bb 40 * Updated to Unicode 6.1.0.
4c7f35da
RT
41 * Many additional aliases for external formats added that match
42 the glibc iconv aliases.
c4ee759a
RT
43 * Implement faster LOGCOUNT function on x86, if :SSE3 feature is
44 available. (Only applies to new uses of LOGCOUNT. The core
45 uses the default version.)
46 * On x86, SET-FLOATING-POINT-MODES clears any current and accrued
47 exceptions that match exceptions in :TRAPS. Previously,
48 enabling a trap when the current exception also listed that trap
49 caused the exception to be immediately signaled. This no longer
50 happens and now matches how ppc and sparc behave.
a3e696a8 51 * OSX Lion and XCode 4 can now compile cmucl without problems.
0609ed42 52 * OSX 10.4 is no longer supported.
7ce792af
RT
53 * Micro optimizations for floats: 2*x -> x+x and x/2^n ->
54 (2^(n))*x.
8d75583b
RT
55 * Add VM::WITH-CYCLE-COUNTER to return the number of cycles elapsed
56 when executing the body, as measured by the CPU cycle/tick counter.
7ce792af 57
d4dc2cd1 58 * ANSI compliance fixes:
83969ea4
RT
59 * CMUCL was not printing pathnames like (make-pathname :directory
60 '(:absolute "tmp" "" "/")) correctly. This is now printed using
61 #P(...).
d4dc2cd1
RT
62
63 * Bugfixes:
576ae2a5
RT
64 * DECODE-FLOAT was not correctly declared and could not be
65 compiled to handle double-double-floats.
83969ea4
RT
66 * The source distribution now includes the scripts from the bin
67 directory, which was previously missing.
68 * The stack needs to be 16-byte aligned on Darwin.
ceba057c 69 * LDB no longer prints prompts forever when EOF is reached.
1995dd49 70 * LISP:UNICODE-COMPLETE now longer signals an error if the prefix
ceba057c 71 isn't a prefix of the name of any Unicode character. Nil is
1995dd49 72 returned instead.
b08f245d
RT
73 * Some VOP costs were incorrect which prevented the fast complex
74 double-float multiplier from being used when sse3 is available.
236396d8
RT
75 * External format for UTF-32 was generating an error when
76 converting octets to a string.
99d39125
RT
77 * The UTF-16-BE and UTF-16-LE external formats were returning the
78 incorrect number of octets when surrogates pairs were decoded.
79 This confuses the stream buffering code.
994726e6
RT
80 * Fix typo in ISO8859-2 external format that caused it not to work
81 correctly. This type potentially also caused failures for all other
82 external formats that were based on ISO8859-2.
583fcce3
RT
83 * COMPILE-FILE should not signal an error when given a list for
84 :EXTERNAL-FORMAT. Lists are needed to specify a composing
85 external format like :DOS or :MAC.
afd3451a
RT
86 * EXPORT and friends should not EVAL the form when compiling.
87 This was probably a leftover from the time when CMUCL did not
88 have DEFPACKAGE. (See ticket:60.)
0653c413
RT
89 * The debugger was not always opening the file in the correct
90 external format. It defaulted to using
91 *DEFAULT-EXTERNAL-FORMAT* instead of the format used when
92 compiling the file.
7ce792af
RT
93 * Minor build issue in CLM debugger interface due to USE-PACKAGE
94 no longer having special compiler treatment.
f621914f
RT
95 * READ-CYCLE-COUNTER no longer destroys any live values in the EBX
96 and ECX registers.
d4dc2cd1
RT
97
98 * Trac Tickets:
3073cc1f
RT
99 * #50: Print/read error with make-pathname.
100 * #53: UTF-8 in core.
944c67fb 101 * #52: UNICODE-COMPLETE-NAME misses a completion.
ca2a2a43 102 * #55: blocked signals.
f3db74d4 103 * #58: UTF-16 buffering problem.
afd3451a 104 * #60: compile-file and export problem
40b532c5 105 * #61: Darwin+clang doesn't produce a working lisp
d4dc2cd1
RT
106
107 * Other changes:
83969ea4 108 * The layout of the cmucl directories has been changed.
1995dd49
RT
109 * Add -R option to build.sh to force recompiling the C
110 runtime. (Default it to compile only what is changed.)
ebb2b74c
RT
111 * Add -R option to build-all.sh to force recompiling the C
112 runtime.
d4dc2cd1
RT
113
114 * Improvements to the PCL implementation of CLOS:
115
116 * Changes to building procedure:
117
118This release is not binary compatible with code compiled using CMUCL
11920c; you will need to recompile FASL files.
120
ceba057c
RT
121See <URL:http://www.cmucl.org> or
122<URL:http://trac.common-lisp.net/cmucl> for download information,
d4dc2cd1
RT
123guidelines on reporting bugs, and mailing list details.
124
125
126We hope you enjoy using this release of CMUCL!