source: trunk/abcl/CHANGES @ 12500

Last change on this file since 12500 was 12500, checked in by Mark Evenson, 12 years ago

Correct contributor's last name spelling.

  • Property svn:eol-style set to native
File size: 17.2 KB
Line 
1Version 0.19
2============
3svn://common-lisp.net/project/armedbear/svn/trunk/abcl
4(Unreleased)
5
6Features
7--------
8
9* [svn 12487] An initial port ASDF-INSTALL now forms the first ABCL
10  contrib which are optionally built by the Ant target 'abcl.contrib'.
11  ASDF-INSTALL is not expected to work very well under Windows at the
12  moment.
13
14* [svn 12447] REQUIRE now searches for ASDF systems.
15
16* [svn r12422] Jar pathname support extensively re-worked and tested
17  so that LOAD, PROBE-FILE, TRUENAME, and WRITE-FILE-DATE all work
18  both for local and remote jar pathnames of the form
19  "jar:URL!/JAR-ENTRY".
20
21  Loading ASDF systems from jar files are now possible.
22
23  SYS:PATHNAME-JAR-P predicate signals whether a pathname refences a
24  jar.
25       
26  NB: jar pathnames do *not* currently work as an argument to OPEN or
27  DIRECTORY.
28
29  SYS:UNZIP implemented to unpack ZIP files. 
30
31  SYS:ZIP now has a three argument version for creating zip files with
32  hierarchical entries.
33
34* [svn r12414] SYS::%GET-OUTPUT-STREAM-ARRAY returns a Lisp byte array
35  from a Java byte array stream.
36
37* [svn 12402] ABCL.TEST.LISP:RUN-MATCHING will now execute that subset
38  of tests which match a string.
39
40
41Fixes/Optimizations
42-------------------
43
44* [svn r12485] Pathnames starting with "." can now have TYPE.
45
46* [svn r12484] FASLS containing "." characters not used to indicate
47  type (i.e. ".foo.bar.baz.abcl") can now be loaded.
48
49* [svn 12422] Pathname.java URL contructor under Windows now properly
50  interprets the drive letter.
51
52* [svn r12449] The 'abcl.jar' produced by Netbeans now contains a valid
53  manifest (found by Paul Griffionen).
54
55* [svn r12441] ZipCache now caches all references to ZipFiles based on
56  the last-modified time for local files.  Remote files are always
57  retrieved due to problems in the underlying JVM code. 
58 
59  SYS:REMOVE-ZIP-CACHE implements a way to invalidate an entry given a
60  pathname.
61
62* [svn r12439] Remove duplication of java options in Windows
63  'abcl.bat' script.
64
65* [svn r12437] CHAR-CODE-LIMIT is the upper execlusive limit (found by
66  Paul Griffionen).
67
68* [svn r12436] Describe formatting missing a newline (reported by
69  Blake McBride).
70
71* [svn 12469] Ensure that FILE-ERROR always has a value (possibly NIL)
72  for its PATHNAME member.
73
74* [svn r14222] MERGE-PATHNAMES no longer potentially shares between
75  result and *DEFAULT-PATHNAME-DEFAULTS*.
76
77* [svn r12416] Fixed ANSI LAMBDA.nn test failures caused by errors in
78  lambda inlining.
79
80* [svn r12417] [ticket:83] Fix TRANSLATE-LOGICAL-PATHNAME regression.
81  (Alan Ruttenberg).
82
83* [svn r12412] Optimize memory efficiency of FORMAT by use of a
84  hashtable rather than a CHAR-CODE-LIMIT array.
85
86* [svn r12408] FIND-SYMBOL requires a  string argument.
87
88* [svn r12400] Make NIL (as symbol) available to the compiler.
89
90* [svn r12398] Move lambda list analysis to compile time where possible.
91
92* [svn r12397] BROADCAST-STREAM obeys default external format fixing
93  ANSI MAKE-BROADCAST-STREAM.8.
94
95* [svn r12395] Improve arglist display for SLIME (Matthias Hölzl).
96
97* [svn r12394] Optimize array utilization in closures.
98
99* [svn r12393] Optimize array functions in compiler which don't
100  require clearing the VALUES array.
101
102* [svn r12392] Optimize/normalize aspects of boot.lisp
103
104* [svn r12391] Prevent duplicated subclasses form occuring.
105
106
107Other
108-----
109
110* [svn 12447] SYS::*MODULE-PROVIDER-FUNCTION* now provides a mechanism
111  to extend the REQUIRE resolver mechanism at runtime.
112
113* [svn r12430] Ant based build no longer writes temporary files to
114  contain the Lisp build instructions.
115
116* [svn r12481] STANDARD-CLASS now has slots to be inherited by
117  deriving metaclasses in support of the (in progress) work on
118  metaclass.
119
120* [svn r12425] No longer ignore the METACLASS defclass option in
121  support of the (in progress) work on metaclass
122
123* [svn r12422] SYS::*LOAD-TRUENAME-FASL* now contains the TRUENAME of
124  the Java "*.cls" component we loading a packed FASL.
125
126* [svn r12461] Human readable Java representations for class cast
127  exceptions for NULL and UNBOUND values.
128
129* [svn 12453 et. ff.] Large numbers of Java primitives have been
130  declared in a way so that a stack trace provides a much more
131  readable indication of what has been invoked.  Primitives which
132  extend Primitive are prefixed with "pf_"; those which extend
133  SpecialOperator are prefixed with "sf_".
134
135* [svn 12422] The internal structure of a jar pathname has changed.
136  Previously a pathname with a DEVICE that was itself a pathname
137  referenced a jar.  This convention was not able to simultaneously
138  represent both jar entries that were themselves jar files (as occurs
139  with packed FASLs within JARs) and devices which refer to drive
140  letters under Windows.  Now, a pathname which refers to a jar has a
141  DEVICE which is a proper list of at most two entries.  The first
142  entry always references the "outer jar", and the second entry (if it
143  exists) references the "inner jar".
144
145* [svn r12419] Ant 'abcl.release' target centralizes the build steps
146  necessary for creating releases.
147
148* [svn r12409] Compiler now rewrites function calls with (LAMBDA 
) as
149  the operator to LET* forms.
150
151* [svn r12415] CLASS-FILE renamed to ABCL-CLASS-FILE to prepare for
152  (in progress) reworking of Stream inheritance.
153
154* [svn r123406] 'test/lisp/abcl/bugs.lisp' forms a default location to
155  add unit tests for current bug testing.  The intention is to move
156  these tests into the proper location elsewhere in the test suite
157  once they have been fixed.
158
159* [svn r124040] Java tests upgraded to use junit-4.8.1.  Netbeans
160  project runtime classpath now uses compilation results before source
161  directory, allowing the invocation of ABCL in interpreted mode if
162  the Ant 'abcl.compile.lisp.skip' property is set.  Java unit tests
163  for some aspects of jar pathname work added.
164
165*  New toplevel 'doc' directory now contains:
166   
167   + [svn r12410] Design for the (in progress) reworking of the Stream
168     inheritance.
169   
170   + [svn r12433] Design and current status for the re-implementation
171     of jar pathnames.
172
173* [svn r12402] Change ABCL unit tests to use the ABCL-TEST-LISP definition
174  contained in 'abcl.asd'.  Fixed and renabled math-tests.  Added new
175  tests for work related to handling jar pathnames.
176
177* [svn r12401] The REFERENCES-NEEDED-P field of the LOCAL-FUNCTION structure now
178  tracks whether local functions need the capture of an actual
179  function object.
180   
181
182Version 0.18.1
183==============
184svn://common-lisp.net/project/armedbear/svn/tags/0.18.1/abcl
185(17 Jan, 2010)
186
187Features:
188
189 * Support for printing java objects with print-object
190 * Support for disassembling proxied functions
191
192Bugs fixed:
193
194 * maxima works again
195
196Version 0.18.0
197==============
198svn://common-lisp.net/project/armedbear/svn/tags/0.18.0/abcl
199(12 Jan, 2010)
200
201
202Features:
203
204 * Programmable handling of out-of-memory and stack-overflow conditions
205 * Faster initial startup (to support Google App Engine)
206 * Faster special variable lookup
207 * New interface for binding/unwinding special variables
208 * Implement (SETF (STREAM-EXTERNAL-FORMAT <stream>) <format>)
209 * Implement (SETF (JAVA:JFIELD <object>) <value>)
210 * Constant FORMAT strings get compiled for performance
211
212
213Bugs fixed:
214
215 * FASLs are system default encoding dependent (ticket 77)
216 * I/O of charset-unsupported characters causes infinite loop (ticket 76)
217 * Memory leak where on unused functions with documentation
218 * ANSI PRINT-LEVEL.* tests
219 * Continued execution after failing to handle Throwable exceptions
220 * Line numbers in generated java classes incorrect
221 * JCALL, JNEW doesn't select best match when multiple applicable methods
222 * STREAM-EXTERNAL-FORMAT always returns :DEFAULT, instead of actual format
223 * REPL no longer hangs in Netbeans 6.[578] output window
224 * Lambda-list variables replaced by surrounding SYMBOL-MACROLET
225
226
227Other changes
228
229 * LispObject does not inherit from Lisp anymore
230 * Many functions declared 'final' for performance improvement
231 * SYSTEM:*SOURCE* FASLs for system files no longer refer to intermediate build location
232
233
234Version 0.17.0
235==============
236svn://common-lisp.net/project/armedbear/svn/tags/0.17.0/abcl
237(07 Nov, 2009)
238
239
240Features:
241
242  * Google App Engine example project "Hello world"
243  * Support for loading FASLs from JAR files
244  * Checking of init-arguments for MAKE-INSTANCE (CLOS)
245  * Support for *INVOKE-DEBUGGER-HOOK* (to support SLIME)
246  * Reduced abcl.jar size (bytes and number of objects)
247  * Faster access to locally bound specials (compiler efficiency)
248  * Java property to print autoloading information: abcl.autoload.verbose
249  * Experimental: binary fasls
250  * Default Ant build target now "abcl.clean abcl.wrapper" (from abcl.help)
251  * ConditionThrowable class renamed to ControlTransfer,
252      parent class changed to RuntimeException (to make it unchecked)
253  * API no longer throws ConditionThrowable/ControlTransfer
254
255
256Bugs fixed:
257
258  * Better fix for #63: Prevent exceptions from happening (GO and RETURN-FROM)
259  * Restore ability for ABCL to be build host for SBCL
260  * CLOS performance improvements through looser COMPILE dependency
261  * Compilation fix for highest SPEED setting (triggered by CL-BENCH)
262  * COMPILE's use of temp files eliminated
263  * OpenJDK on Darwin now correctly identified
264  * Incorrect block names for SETF functions defined by LABELS
265  * Fixed MULTIPLE-VALUE-CALL with more than 8 arguments
266  * Incorrect identification of lexical scope on recursive TAGBODY/GO
267    and BLOCK/RETURN-FROM blocks (compiler and interpreter)
268  * Correctly return 65k in char-code-limit (was 256, incorrectly)
269  * Fixes to be able to run the BEYOND-ANSI tests (part of ANSI test suite)
270  * Compiler typo fix
271  * Implementation of mutex functionality moved to lisp from Java
272  * Functions handling #n= and #n# are now compiled
273  * Autoload cleanups
274  * System package creation cleaned up
275  * CHAR-CODE-LIMIT correctly reflects CHAR-CODE maximum return value
276  * Precompiler macroexpansion failure for macros expanding into
277      special operators
278
279
280Version 0.16.1
281==============
282svn://common-lisp.net/project/armedbear/svn/tags/0.16.1/abcl
283(17 Oct, 2009)
284
285Bugs fixed:
286
287  * More careful checking for null args in LispStackFrame
288  * Honor appearance of &allow-other-keys in CLOS MAKE-INSTANCE
289  * Fix #63: GO forms to non-existent TAGBODY labels would exit ABCL
290  * Don't leak temp files during compilation
291
292Version 0.16.0
293==============
294(06 SEP 2009)
295svn://common-lisp.net/project/armedbear/svn/tags/0.16.0/abcl
296
297  Summary of changes:
298  ------------------
299  * Fixed generated wrapper for path names with spaces (Windows)
300  * Fixed ticket #58: Inspection of Java objects in Lisp code
301  * Restored functionality of the built-in profiler
302  * Profiler extended with hot-spot counting (as opposed to call counting)
303  * Stack sampling in the profiler moved to scheduler thread to
304    reduce impact on the program execution thread
305  * THE type-checking for the interpreter
306    (for simple-enough type specifications)
307  * Added structure argument type checking in structure slot
308    accessor functions
309  * Make GENSYM thread-safe
310  * Various performance fixes found by running the raytracer
311    from http://www.ffconsultancy.com/languages/ray_tracer/benchmark.html
312  * Better initarg checking for make-instance and change-class
313    Fixes ansi-test errors CHANGE-CLASS.1.11, MAKE-INSTANCE.ERROR.3,
314    MAKE-INSTANCE.ERROR.4, CHANGE-CLASS.ERROR.4 and SHARED-INITIALIZE.ERROR.4
315  * Improve performance of StackFrames (Erik Huelsmann, Ville Voutilainen,
316    with input from Peter Graves and Douglas Miles)
317  * Improve performance of CLOS eql-specializers via cache (Anton Vodonosov)
318  * 'build-from-lisp.sh' shell script (Tobias Rittweiler)
319  * New threading primitives aligned with Java/JVM constructs (Erik Huelsmann)
320
321      SYNCHRONIZED-ON
322      OBJECT-NOTIFY
323      OBJECT-NOTIFY-ALL
324  * THREADS package created to hold threads related primitives:
325
326      THREADP THREAD-UNLOCK THREAD-LOCK THREAD-NAME THREAD-ALIVE-P
327      CURRENT-THREAD DESTROY-THREAD INTERRUPT-THREAD WITH-THREAD-LOCK
328      MAKE-THREAD-LOCK MAKE-THREAD INTERRUPT-THREAD
329
330      MAPCAR-THREADS
331
332      GET-MUTEX MAKE-MUTEX WITH-MUTEX RELEASE-MUTEX
333
334    These primitives are still part of the EXTENSIONS package but are
335    now to be considered as deprecated, marked to be removed with
336    0.22
337  * Stacktraces now contain calls through Java code relevant to
338    debugging (Tobias Rittweiler)
339
340    Backtrace functionality been moved from EXT:BACKTRACE-AS-LIST to
341    SYS:BACKTRACE to mark this changes.  The methods SYS:FRAME-TO-STRING
342    and SYS:FRAME-TO-LIST can be used to inspect the new
343    LISP_STACK_FRAME and JAVA_STACK_FRAME objects
344  * Various stream input performance optimizations
345  * Fixed breakage when combining Gray streams and the pretty printer
346  * Performance improvements for resolution of non-recursive #=n and #n#
347
348
349Version 0.15.0
350==============
351svn://common-lisp.net/project/armedbear/svn/tags/0.15.0/abcl
352(07 Jun, 2009)
353
354 Summary of changes:
355 -------------------
356  * 2 more MOP exported symbols to support Cells port
357  * Updated FASL version
358  * Support (pre)compilation of functions with a non-null lexical environment
359  * Compiler and precompiler cleanups
360  * 'rt.lisp' copy from ANSI test suite removed
361  * Many documentation additions for the (pre)compiler
362  * JSR-233 support improvements
363  * Refactoring of classes:
364   - deleted: CompiledFunction, ClosureTemplateFunction, CompiledClosure,
365              Primitive0R, Primitive1R, Primitive2R
366   - renamed: CompiledClosure [from ClosureTemplateFunction]
367  * Compiler support for non-constant &key and &optional initforms
368  * Fixed ticket #21: JVM stack inconsistency [due to use of RET/JSR]
369  * Numerous special bindings handling fixes, especially with respect
370    to (local) transfer of control with GO/RETURN-FROM
371  * Paths retrieved using URL.getPath() require decoding (r11815)
372  * Build doesn't work inside paths with spaces (r11813)
373  * Compilation of export of a symbol not in *package* (r11808)
374  * Moved compiler-related rewriting of forms from precompiler to compiler
375  * Removed chained closures ('XEPs') in case of &optional arguments only
376  * Loading of SLIME fails under specific conditions (r11791)
377  * Binding of *FASL-ANONYMOUS-PACKAGE* breaks specials handling (r11783)
378  * Fixed ANSI tests: DO-ALL-SYMBOLS.{6,9,12}, DEFINE-SETF-EXPANDER.{1,6,?},
379      MULTIPLE-VALUE-SETQ.{5,8}, SYMBOL-MACROLET.8, COMPILE-FILE.{17,18}
380  * COMPILE and COMPILE-FILE second and third values after a failed
381      invocation inside the same compilation-unit (r11769)
382  * JCLASS on non-existing classes should signal an error (r11762)
383  * Dotted lambda lists break interpretation (r11760)
384  * Implementation of MACROEXPAND-ALL and COMPILER-LET (r11755)
385  * Switch from casting to 'instanceof' for performance (r11754)
386  * Google App Engine support: don't die if 'os.arch' isn't set (r11750)
387  * Excessive stack use while resolving #n= and #n# (r11474)
388
389
390Version 0.14.1
391==============
392(5 Apr, 2009)
393svn://common-lisp.net/project/armedbear/svn/tags/0.14.1/abcl
394
395 Summary of changes:
396 -------------------
397  * Include this CHANGES file and scripting files in the tar and zip files
398
399
400Version 0.14.0
401==============
402(5 Apr, 2009)
403svn://common-lisp.net/project/armedbear/svn/tags/0.14.0/abcl
404
405 Summary of changes:
406 -------------------
407  * Increased clarity on licensing (Classpath exception
408     mentioned in COPYING, removed LICENSE)
409  * Resolved infinite recursion on TRACEing the compiler
410  * Changes on the lisp based build system for parity with Ant
411  * Fixed interpreter creation in Java Scripting
412  * libabcl.so no longer created; it was solely about installing
413     a SIGINT handler. Libraries should not do that.
414  * boxing of LispObject descendants in JCALL/JCALL-RAW fixed
415  * OpenBSD and NetBSD platform detection
416  * fixed special bindings restores in compiled code for
417     MULTIPLE-VALUE-BIND/LET/LET*/PROGV and function bodies
418  * introduced variadic list() function to replace list1() ... list9()
419  * fix return value type of ACOS with complex argument
420  * fixed precision of multiplication of complex values
421  * fixed use of COMPILE inside file compilation (i.e. COMPILE-FILE)
422  * fix expansion of macros inside RESTART-CASE
423     (fixes RESTART-CASE ANSI failures)
424  * fix macroexpansion in the precompiler
425  * Fixnum and Bignum now use a static factory method;
426      constructors are now private -> increases chances of numbers
427      being EQ
428  * Code cleanup in EXPT to fix (EXPT <any-number> <Bignum>)
429
430
431Version 0.13.0
432==============
433(28 Feb, 2009)
434svn://common-lisp.net/project/armedbear/svn/tags/0.13.0/abcl
435
436 Summary of changes:
437 -------------------
438  * Separated J and ABCL into two trees
439  * Many many compiler code cleanups
440  * NetBeans project files
441  * Support for CDR6 (See http://cdr.eurolisp.org/document/6/)
442  * More efficient code emission in the compiler
443  * Ant build targets for testing (abcl.test)
444  * Use ConcurrentHashMap to store the lisp threads for increased performance
445  * Fix adjustability of expressly adjustable arrays (ticket #28)
446  * Fix calculation of upperbound on ASH in the compiler
447     (don't calculate numbers too big, instead, return '*')
448  * Introduce LispInteger as the super type of Bignum and Fixnum
449  * Boxing/unboxing for SingleFloat and DoubleFloat values,
450      inclusive of unboxed calculations
451  * Fixed URL decoding bug in loadCompiledFunction (use java.net.URLDecoder)
452  * Fixed line number counting
453  * Inlining of simple calculations (+/-/*)
454  * All static fields declared 'final'
455  * Add support for java.lang.Long based on Bignum to our FFI
456
Note: See TracBrowser for help on using the repository browser.