source: branches/0.18.x/abcl/CHANGES @ 12364

Last change on this file since 12364 was 12364, checked in by ehuelsmann, 14 years ago

Backport r12350 upto 12355 and 12359:

fixes to recently added functionality (attempt 2).

  • Property svn:eol-style set to native
File size: 10.6 KB
Line 
1Version 0.18.0
2==============
3
4
5Features:
6
7 * Programmable handling of out-of-memory and stack-overflow conditions
8 * Faster initial startup (to support Google App Engine)
9 * Faster special variable lookup
10 * New interface for binding/unwinding special variables
11 * Implement (SETF (STREAM-EXTERNAL-FORMAT <stream>) <format>)
12 * Implement (SETF (JAVA:JFIELD <object>) <value>)
13 * Constant FORMAT strings get compiled for performance
14
15
16Bugs fixed:
17
18 * FASLs are system default encoding dependent (ticket 77)
19 * I/O of charset-unsupported characters causes infinite loop (ticket 76)
20 * Memory leak where on unused functions with documentation
21 * ANSI PRINT-LEVEL.* tests
22 * Continued execution after failing to handle Throwable exceptions
23 * Line numbers in generated java classes incorrect
24 * JCALL, JNEW doesn't select best match when multiple applicable methods
25 * STREAM-EXTERNAL-FORMAT always returns :DEFAULT, instead of actual format
26 * REPL no longer hangs in Netbeans 6.[578] output window
27 * Lambda-list variables replaced by surrounding SYMBOL-MACROLET
28
29
30Other changes
31
32 * LispObject does not inherit from Lisp anymore
33 * Many functions declared 'final' for performance improvement
34 * SYSTEM:*SOURCE* FASLs for system files no longer refer to intermediate build location
35
36
37Version 0.17.0
38==============
39svn://common-lisp.net/project/armedbear/svn/tags/0.17.0/abcl
40(07 Nov, 2009)
41
42
43Features:
44
45  * Google App Engine example project "Hello world"
46  * Support for loading FASLs from JAR files
47  * Checking of init-arguments for MAKE-INSTANCE (CLOS)
48  * Support for *INVOKE-DEBUGGER-HOOK* (to support SLIME)
49  * Reduced abcl.jar size (bytes and number of objects)
50  * Faster access to locally bound specials (compiler efficiency)
51  * Java property to print autoloading information: abcl.autoload.verbose
52  * Experimental: binary fasls
53  * Default Ant build target now "abcl.clean abcl.wrapper" (from abcl.help)
54  * ConditionThrowable class renamed to ControlTransfer,
55      parent class changed to RuntimeException (to make it unchecked)
56  * API no longer throws ConditionThrowable/ControlTransfer
57
58
59Bugs fixed:
60
61  * Better fix for #63: Prevent exceptions from happening (GO and RETURN-FROM)
62  * Restore ability for ABCL to be build host for SBCL
63  * CLOS performance improvements through looser COMPILE dependency
64  * Compilation fix for highest SPEED setting (triggered by CL-BENCH)
65  * COMPILE's use of temp files eliminated
66  * OpenJDK on Darwin now correctly identified
67  * Incorrect block names for SETF functions defined by LABELS
68  * Fixed MULTIPLE-VALUE-CALL with more than 8 arguments
69  * Incorrect identification of lexical scope on recursive TAGBODY/GO
70    and BLOCK/RETURN-FROM blocks (compiler and interpreter)
71  * Correctly return 65k in char-code-limit (was 256, incorrectly)
72  * Fixes to be able to run the BEYOND-ANSI tests (part of ANSI test suite)
73  * Compiler typo fix
74  * Implementation of mutex functionality moved to lisp from Java
75  * Functions handling #n= and #n# are now compiled
76  * Autoload cleanups
77  * System package creation cleaned up
78  * CHAR-CODE-LIMIT correctly reflects CHAR-CODE maximum return value
79  * Precompiler macroexpansion failure for macros expanding into
80      special operators
81
82
83Version 0.16.1
84==============
85svn://common-lisp.net/project/armedbear/svn/tags/0.16.1/abcl
86(17 Oct, 2009)
87
88Bugs fixed:
89
90  * More careful checking for null args in LispStackFrame
91  * Honor appearance of &allow-other-keys in CLOS MAKE-INSTANCE
92  * Fix #63: GO forms to non-existent TAGBODY labels would exit ABCL
93  * Don't leak temp files during compilation
94
95Version 0.16.0
96==============
97(06 SEP 2009)
98svn://common-lisp.net/project/armedbear/svn/tags/0.16.0/abcl
99
100  Summary of changes:
101  ------------------
102  * Fixed generated wrapper for path names with spaces (Windows)
103  * Fixed ticket #58: Inspection of Java objects in Lisp code
104  * Restored functionality of the built-in profiler
105  * Profiler extended with hot-spot counting (as opposed to call counting)
106  * Stack sampling in the profiler moved to scheduler thread to
107    reduce impact on the program execution thread
108  * THE type-checking for the interpreter
109    (for simple-enough type specifications)
110  * Added structure argument type checking in structure slot
111    accessor functions
112  * Make GENSYM thread-safe
113  * Various performance fixes found by running the raytracer
114    from http://www.ffconsultancy.com/languages/ray_tracer/benchmark.html
115  * Better initarg checking for make-instance and change-class
116    Fixes ansi-test errors CHANGE-CLASS.1.11, MAKE-INSTANCE.ERROR.3,
117    MAKE-INSTANCE.ERROR.4, CHANGE-CLASS.ERROR.4 and SHARED-INITIALIZE.ERROR.4
118  * Improve performance of StackFrames (Erik Huelsmann, Ville Voutilainen,
119    with input from Peter Graves and Douglas Miles)
120  * Improve performance of CLOS eql-specializers via cache (Anton Vodonosov)
121  * 'build-from-lisp.sh' shell script (Tobias Rittweiler)
122  * New threading primitives aligned with Java/JVM constructs (Erik Huelsmann)
123
124      SYNCHRONIZED-ON
125      OBJECT-NOTIFY
126      OBJECT-NOTIFY-ALL
127  * THREADS package created to hold threads related primitives:
128
129      THREADP THREAD-UNLOCK THREAD-LOCK THREAD-NAME THREAD-ALIVE-P
130      CURRENT-THREAD DESTROY-THREAD INTERRUPT-THREAD WITH-THREAD-LOCK
131      MAKE-THREAD-LOCK MAKE-THREAD INTERRUPT-THREAD
132
133      MAPCAR-THREADS
134
135      GET-MUTEX MAKE-MUTEX WITH-MUTEX RELEASE-MUTEX
136
137    These primitives are still part of the EXTENSIONS package but are
138    now to be considered as deprecated, marked to be removed with
139    0.22
140  * Stacktraces now contain calls through Java code relevant to
141    debugging (Tobias Rittweiler)
142
143    Backtrace functionality been moved from EXT:BACKTRACE-AS-LIST to
144    SYS:BACKTRACE to mark this changes.  The methods SYS:FRAME-TO-STRING
145    and SYS:FRAME-TO-LIST can be used to inspect the new
146    LISP_STACK_FRAME and JAVA_STACK_FRAME objects
147  * Various stream input performance optimizations
148  * Fixed breakage when combining Gray streams and the pretty printer
149  * Performance improvements for resolution of non-recursive #=n and #n#
150
151
152Version 0.15.0
153==============
154svn://common-lisp.net/project/armedbear/svn/tags/0.15.0/abcl
155(07 Jun, 2009)
156
157 Summary of changes:
158 -------------------
159  * 2 more MOP exported symbols to support Cells port
160  * Updated FASL version
161  * Support (pre)compilation of functions with a non-null lexical environment
162  * Compiler and precompiler cleanups
163  * 'rt.lisp' copy from ANSI test suite removed
164  * Many documentation additions for the (pre)compiler
165  * JSR-233 support improvements
166  * Refactoring of classes:
167   - deleted: CompiledFunction, ClosureTemplateFunction, CompiledClosure,
168              Primitive0R, Primitive1R, Primitive2R
169   - renamed: CompiledClosure [from ClosureTemplateFunction]
170  * Compiler support for non-constant &key and &optional initforms
171  * Fixed ticket #21: JVM stack inconsistency [due to use of RET/JSR]
172  * Numerous special bindings handling fixes, especially with respect
173    to (local) transfer of control with GO/RETURN-FROM
174  * Paths retrieved using URL.getPath() require decoding (r11815)
175  * Build doesn't work inside paths with spaces (r11813)
176  * Compilation of export of a symbol not in *package* (r11808)
177  * Moved compiler-related rewriting of forms from precompiler to compiler
178  * Removed chained closures ('XEPs') in case of &optional arguments only
179  * Loading of SLIME fails under specific conditions (r11791)
180  * Binding of *FASL-ANONYMOUS-PACKAGE* breaks specials handling (r11783)
181  * Fixed ANSI tests: DO-ALL-SYMBOLS.{6,9,12}, DEFINE-SETF-EXPANDER.{1,6,?},
182      MULTIPLE-VALUE-SETQ.{5,8}, SYMBOL-MACROLET.8, COMPILE-FILE.{17,18}
183  * COMPILE and COMPILE-FILE second and third values after a failed
184      invocation inside the same compilation-unit (r11769)
185  * JCLASS on non-existing classes should signal an error (r11762)
186  * Dotted lambda lists break interpretation (r11760)
187  * Implementation of MACROEXPAND-ALL and COMPILER-LET (r11755)
188  * Switch from casting to 'instanceof' for performance (r11754)
189  * Google App Engine support: don't die if 'os.arch' isn't set (r11750)
190  * Excessive stack use while resolving #n= and #n# (r11474)
191
192
193Version 0.14.1
194==============
195(5 Apr, 2009)
196svn://common-lisp.net/project/armedbear/svn/tags/0.14.1/abcl
197
198 Summary of changes:
199 -------------------
200  * Include this CHANGES file and scripting files in the tar and zip files
201
202
203Version 0.14.0
204==============
205(5 Apr, 2009)
206svn://common-lisp.net/project/armedbear/svn/tags/0.14.0/abcl
207
208 Summary of changes:
209 -------------------
210  * Increased clarity on licensing (Classpath exception
211     mentioned in COPYING, removed LICENSE)
212  * Resolved infinite recursion on TRACEing the compiler
213  * Changes on the lisp based build system for parity with Ant
214  * Fixed interpreter creation in Java Scripting
215  * libabcl.so no longer created; it was solely about installing
216     a SIGINT handler. Libraries should not do that.
217  * boxing of LispObject descendants in JCALL/JCALL-RAW fixed
218  * OpenBSD and NetBSD platform detection
219  * fixed special bindings restores in compiled code for
220     MULTIPLE-VALUE-BIND/LET/LET*/PROGV and function bodies
221  * introduced variadic list() function to replace list1() ... list9()
222  * fix return value type of ACOS with complex argument
223  * fixed precision of multiplication of complex values
224  * fixed use of COMPILE inside file compilation (i.e. COMPILE-FILE)
225  * fix expansion of macros inside RESTART-CASE
226     (fixes RESTART-CASE ANSI failures)
227  * fix macroexpansion in the precompiler
228  * Fixnum and Bignum now use a static factory method;
229      constructors are now private -> increases chances of numbers
230      being EQ
231  * Code cleanup in EXPT to fix (EXPT <any-number> <Bignum>)
232
233
234Version 0.13.0
235==============
236(28 Feb, 2009)
237svn://common-lisp.net/project/armedbear/svn/tags/0.13.0/abcl
238
239 Summary of changes:
240 -------------------
241  * Separated J and ABCL into two trees
242  * Many many compiler code cleanups
243  * NetBeans project files
244  * Support for CDR6 (See http://cdr.eurolisp.org/document/6/)
245  * More efficient code emission in the compiler
246  * Ant build targets for testing (abcl.test)
247  * Use ConcurrentHashMap to store the lisp threads for increased performance
248  * Fix adjustability of expressly adjustable arrays (ticket #28)
249  * Fix calculation of upperbound on ASH in the compiler
250     (don't calculate numbers too big, instead, return '*')
251  * Introduce LispInteger as the super type of Bignum and Fixnum
252  * Boxing/unboxing for SingleFloat and DoubleFloat values,
253      inclusive of unboxed calculations
254  * Fixed URL decoding bug in loadCompiledFunction (use java.net.URLDecoder)
255  * Fixed line number counting
256  * Inlining of simple calculations (+/-/*)
257  * All static fields declared 'final'
258  * Add support for java.lang.Long based on Bignum to our FFI
259
Note: See TracBrowser for help on using the repository browser.