source: trunk/abcl/CHANGES

Last change on this file was 14711, checked in by mevenson, 5 months ago

Note JFI boolean conversion in CHANGES.

  • Property svn:eol-style set to native
File size: 51.3 KB
Line 
1Version 1.4.0-dev
2=================
3http://abcl.org/svn/trunk/
4Unreleased.
5
6Version 1.3.1
7=============
8http://abcl.org/svn/tags/1.3.1/
930-APR-2014
10
11## Fixed
12
13*  The underlying Java Function Interface (JFI) now converts CL:T and
14   CL:NIL to JAVA:+TRUE+ and JAVA:+FALSE+.  Users who wish to
15   reference a JAVA:+NULL+ should do so explicitly.
16   <http://abcl.org/trac/changeset/14694>
17
18*  Make JCALL work in more places.  Thanks to Olof-Joachim Frahm.
19   <http://abcl.org/trac/changeset/14683>
20
21*  Interpolate CL:SLEEP and THREADS:OBJECT-WAIT for timeouts below the
22   Planck timer ("1ns") to a nanosecond.
23   <http://abcl.org/trac/changeset/14679>
24
25*  Update to ASDF 3.1.0.103.
26   <http://abcl.org/trac/changeset/14661>
27
28   Fixes loading of Ironclad and other Quicklisp systems.
29
30*  Fix Uniform Naming Convention (aka "UNC" or "network") paths under Windows.
31   <http://abcl.org/trac/changeset/14659>
32
33   DIRECTORY now works again on UNC paths.
34
35   UNC paths may be either specified with either back slash (#\\) or
36   forward slash (#\/) doubled as the first character in a Pathname
37   namestring.
38
39   The patterns in
40
41        //<server>/<share>/[directories-and-files]
42
43   are parsed as
44
45    <server> is stored as HOST.
46
47    <share> is stored as DEVICE.
48
49    [directories-and-files] gets parsed as per the normal rules under
50    Windows.
51
52   Mixing namestrings with both backslash and slash characters can
53   lead to unpredictable results.  It is recommended not to use
54   backslash characters in namestrings if it can be avoided.  The
55   pathname printed representation is always normalized to using
56   forward slash delimiters.
57
58
59*  Find contrib based on system jar name.
60   <http://abcl.org/trac/changeset/14657>
61
62   From Olof-Joachim Frahm.
63
64
65Version 1.3.0
66=============
67http://abcl.org/svn/tags/1.3.0/
6815-MAR-2014
69
70## Features
71
72*  Make LispStackFrame.UNAVAILABLE_ARG a singleton object,
73   and lazily create the little used portions of the Lisp stack.
74
75    Aggressively cache and control the use of memory by the underlying
76    Lisp stack frame representation by introducing the private
77    LispThread.StackFrame and LispThread.StackSegments classes.
78
79    Contributed by Dmitry Nadezhin.
80
81    LispStackFrame object are allocated on every
82    LispThread.execute(...) .  However, they are seldom [accessed]
83    ([... verify via] inspect[tion of the] stack trace). This patch
84    delays allocation of LispStackFrame? objects until they are
85    requested.  Raw information about stack frames is stored in
86    stack. Stack is an Object[] array (more precisely a list of [...]4
87    [Mib] Object[] arrays).
88
89    ME: We are going to need a way to try to less agressively grab 4Mib
90    chunks in low memory situations.
91
92    Memory profiling of ABCL shows that the classes with largest
93    allocation count are org.armedbear.lisp.LispStackFrame and
94    org.armedbear.lisp.LispStackFrame.UnavailableArgument.
95
96    Contributed by Dmitry Nadezhin.
97
98    [r14572]: http://abcl.org/trac/changeset/14572
99    [r14579]: http://abcl.org/trac/changeset/14579
100
101*  ASDF 3.0.1.94 shipped with the implementation
102
103*  per function call stack and memory exception handler in CL:COMPILE
104
105   Inline calls to jrun-exception-protected (used by handler-bind to
106   catch out of memory conditions).  This commit saves generation
107   roughly 50 cls files.
108
109   [r14552]: http://abcl.org/trac/changeset/14552
110
111*  SYS:SHA256 audited
112
113    The functionality if the SYS:SHA256 algorithim has been audited for
114    use on inputs of single for files with recently shipping ORCL Java 7
115    implementations (through jdk-1.7.0_51).
116
117    [r14582]:  http://abcl.org/trac/changeset/14582
118
119* Connect to NetBeans controlled JDWP via SLIME
120
121    The Netbeans IDE configuration now includes a way to connect to
122    the running-under-jdb ABCL via SLIME.  One needs a version of
123    SLIME able to be loaded from its 'swank.asd' definition. 
124
125* Install 'abcl.jar' and 'abcl-contrib.jar' locally as Maven artifacts
126
127    The Ant `abcl.mvn.install` target now installs build artifacts
128    into the local Maven repository (Olof-Joachim Frahm)
129
130    [r14579]: http://abcl.org/trac/changeset/14606
131
132## Compatibility
133
134*  CL:DIRECTORY
135
136   The implementation specific :RESOLVE-SYMLINKS argument to the ANSI
137   DIRECTORY function has been changed to nil.  This implements
138   behavior closer to SBCL and guarantees that a DIRECTORY operation
139   will not signal a file error.
140
141   [r14619]: http://abcl.org/trac/changeset/14619
142   [ticket-340]: http://abcl.org/trac/ticket/340
143
144## Fixes
145
146*  Fix CL:SLEEP for intervals less than a millisecond. 
147
148   For intervals less than or equal to a nanosecond, including an
149   interval of zero, the current thread merely yields execution to
150   other threads.
151
152   [r14632]: http://abcl.org/trac/changeset/14632
153
154
155## Tested
156
157### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.7.0_51-b13" "x86_64-Mac_OS_X-10.9.1"
158
159### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.8.0-b129" "x86_64-Mac_OS_X-10.9.2"
160
161## Contrib
162
163#### abcl-asdf
164
165*  Now working with both Maven 3.0.x and 3.1.x.  Thanks to Anton for
166   the help!
167
168   [ticket-328]: http://abcl.org/trac/ticket/328
169
170*  cache Maven dependency resolution to avoid repeated lookups.
171
172   Instead of calling ABCL-ASDF:RESOLVE in both the ASDF COMPILE-OP
173   and LOAD-OP, we now cache the result of invocation in COMPILE-OP
174   and add this value in the LOAD-OP phase. Contributed by Cyrus
175   Harmon.
176
177   [r14631]: http://abcl.org/trac/changeset/14631
178
179#### jna
180 
181   Now references jna-4.0.0.  Some incompatibility with CFFI ([in
182   progress with fixing upstream][cffi-easye]).
183
184[cffi-easye]: http://github.com/easye/cffi/
185
186
187Version 1.2.1
188=============
189http//abcl.org/svn/tags/1.2.1/abcl/CHANGES
19027 June 2013
191http://abcl.org/releases/1.2.1
192
193*  Tested:  orcl-jdk-1.7.0_25 orcl-jdk-1.6.0_43
194
195** ansi tests rc-2 failing 11-13 of 21708 total. 
196   Some regressions since 1.1.1
197
198*  Stablility fixes; additional Quicklisp compatibility
199
200** Fix (make-instance 'standard-generic-function)
201
202
203Version 1.2.0
204=============
205svn.uri=:"http//abcl.org/svn/tags/1.2.0/"
206http//abcl.org/svn/tags/1.2.0/abcl/CHANGES
207released at ECLM 2013 Madrid, ES // 01 June 2013
208
209   * Package local nicknames to behave like SBCL
210
211   * ASDF 3.0.1 is now shipped with the implementation
212
213   * a more robust MOP implementation
214
215   * Common cases of creating purely synthetic JAVA:JNEW-RUNTIME-CLASS
216     now (mostly) work.  Please report corner cases for fixing.
217
218   * the system autoloader has been extended to cover functions bound to
219     symbol properties
220
221
222
223Version 1.1.1
224=============
225svn.uri=:"http://abcl.org/svn/tags/abcl/1.1.1/CHANGES"
226(14 Feburary 2013)
227
228  * All reported errors with the MOP implementation have been addressed.
229
230  * An autoloader for SETF expansion functions has been implemented,
231    eliminating the errors associated with not being able to use (SETF
232    SYMBOL) without first invoking SYMBOL as a function. [#266
233
234  * All outstanding regressions in the ANSI test suite with respect to
235    abcl-1.0.1 have been fixed.
236 
237  * The ability to resolve Maven components in ASDF system definitions has been restored.
238
239Issues Resolved
240---------------
241
242[#266]  PSETF.47 ANSI regression 
243[#284]  checks in ensure-generic-function-using-class should occur later
244[#296]  SLIME fails to initialize with (SETF DOCUMENTATION) undefined   
245[#198]  Hunchentoot run failure   
246[#228]  Need to implement autoloader facility for SETF functions
247[#288]  Control character names   
248[#290]  Compiling (defvar *foo* '(quote . x)) throws an error
249[#293]  Loop and default value for of-type problem 
250[#294]  Reader doesn't recognize terminating characters in some cases
251[#299]  ABCL-ASDF:MVN components not loading
252
253Version 1.1.0
254=============
255svn.uri=:"http://abcl.org/svn/tags/1.1.0/abcl/"
256(07 December 2012)
257
258Features
259--------
260
261  *  A functioning (A)MOP implementation through the hard work of Rudi
262     Schlatte (@rudi)
263
264  *  The implementation can be used across many more Quicklisp systems
265     through a process of extensive testing.  Thanks @xach!
266
267     Nota bene: all of the following systems need patches to work as
268     of the 2012-10-13 Quicklisp.  All patches have been accepted in
269     at least an initial form by the upstream maintainers.
270
271     ** CLOSER-MOP
272        Quite possible with local patches
273     ** CFFI
274       Needs patches to 2012-10-13 Quicklisp.  [!!?]
275       *** Dynamic interfaces idempotent across process -- no more reloading
276     ** HUNCHENTOOT
277       *** some bugs with underlying streams to be fixed in abcl-1.2-dev
278     ** CXML
279        Basic XML parsing works.  XPath still borked. [???]     
280  *  Java 5 bytecode Compiler
281
282     The internal Lisp-to-Java bytecode compiler has been hardened by
283     regression testing across Quicklisp libraries. 
284
285     **  Extensive interpreter/compiler bug fixes due to access to cl-test-suite [???] @antov
286     ** large objects (?!?)
287
288  *  The facility to construct runtime classes via JNEW-RUNTIME-CLASS (@astalla)
289
290    Pretty close to full coverage of primtives for creating synthethic
291    java classes at runtime.  Easy to extend with your needs; sensible
292    defaults.
293 
294    ** Fields
295    *** getter/setters
296    ** Annotations
297
298
299  * ASDF
300
301     ** Stock ASDF-2.26.6 which includes #+abcl conditional patches
302        for the URL-PATHAME and JAR-PATHNAME implementation extensions
303        to ANSI.
304
305  *  ABCL-CONTRIB
306
307     ** ABCL-ASDF
308
309        Network installation of binary artifacts named by Maven POM uris.
310
311        *** checks at runtime if a given class is present in the
312            accessible classloaders
313
314        *** If the check for the presence of a class fails, find a
315            maven-3.0.4 binary locally, execute its Aether connector
316            to retrieve its transitive dependencies from the network.
317
318      ** JSS
319         
320         Java Syntax Sucks.  q.v [lsw2]
321   
322         Extensive bugfixing wrt. method resolution [#229]
323
324      ** JFLI
325
326         A "captured from the wild" version of what @rich.hickey did before Clojure.
327       
328Changes
329-------
330
331  * [#249] PATHNAME merge semantics DWIMs on an inferred type
332
333  Extends ANSI PATHNAME in a non-conforming manner, which was probably
334  already the case.
335
336  * [r13695] Reimplementation of global symbol macros to avoid using
337    the symbol's value slot.
338
339  * [r13696] DEFMACRO now supports documentation strings as per the
340    ANSI specification.
341
342  * [r13700] ABCL loads under the Weblogic 10.3 application server.
343
344  * [r13768] [#193] Allow zero-length symbols
345 
346  * [r13785] JNEW-RUNTIME-CLASS gets fields and annotations
347 
348  * [r13790] JNEW-RUNTIME-CLASS getters/setters for fields
349
350  * [r13796] [r13797] N3 DOAP description for ABCL
351
352  * [r13803] Build target 'abcl-contrib.jar' packages ABCL-CONTRIB
353
354Fixes
355-----
356
357  * ANSI [#241]
358 
359     ** &AUX parameters fixes RESTAS
360
361   
362  * [#221] Stack exhaustsion on funcall in non-existing package
363
364  * [#113] DEFSTRUCT concurrency
365
366  * [#216][#211] Compiler
367
368    ** stack inconsistency
369
370  * [#187] Better SORT and STABLE-SORT via Jorge Tavares [???]
371
372Issues Resolved
373---------------
374
375    * [#234]    ABCL-ASDF mvn errors with VERSION slot unbound 
376    * [#237]    JNA fails to load blocking CFFI
377    * [#249]    Problems under Ubuntu   
378    * [#250]    SYS:SHA256 does not compile     
379    * [#265]    COMPILE-FILE.2 COMPILE-FILE.2A ANSI regression 
380    * [#268]    ABCL-ASDF working with maven-3.0.3     
381    * [#269]    SLIME cannot browse systems with November Quicklisp     
382    * [#270]    Is BUGS.DEFEGENERIC.1 a valid test?     
383    * [#271]    ASDF-2.26 changes synced upstream
384    * [#272]    DESCRIBE.[14] ANSI regression   rschlatte       
385    * [#275]    ABCL-CONTRIB still provided if abcl-contrib.jar cannot be located       
386    * [#276]    defmethod doesn't call add-method       
387    * [#277]    reinitialize-instance on class metaobjects incorrect
388    * [#113]    DEFSTRUCT redefinition can crash ABCL on MAKE-STRUCT
389    * [#199]    CL:DEFMETHOD fails for &AUX arguments that reference other arguments   
390    * [#213]    ABCL-ASDF breakage on trunk     
391    * [#215]    ABCL-ASDF:RESOLVE should work in more (some?) cases     
392    * [#229]    JSS method resolution failure   
393    * [#246]    CFFI: dynamically generated classes referred from .fasl can not be found after ABCL restart
394    * [#168]    Compilation fails for quicklisp let-plus       
395    * [#187]    Stack Overflow for Worst-case Vector Sort       
396    * [#202]    ENSURE-GENERIC-FUNCTION assumes LAMBDA-LIST is NIL
397    * [#204]    abcl-asdf maybe-parse-mvn ignores version information
398    * [#205]    JSS logic for resolving methods a little wonky (could use better diagnostics on why resolution has failed)     
399    * [#207]    DECLARE should signal conditions when type declarations are violated
400    * [#210]    Add JFLI to contrib     
401    * [#217]    ANSI tests wont run on Revision 14011: /trunk/abcl     
402    * [#219]    Keyword argument checking for lambda lists is too lenient for ANSI     
403    * [#220]    Lambda list checking too lenient       
404    * [#224]    Autoloader fails when *read-XXXX* variables bound to non-standard values       
405    * [#225]    One of the paths in STD-COMPUTE-DISCRIMINATING function not working     
406    * [#235]    Compiled cl+ssl sources not reloadable 
407    * [#241]    &rest and &aux can't coexist anymore in lambda lists   
408    * [#243]    ClassCastException in MAKE-PATHNAME     
409    * [#245]    Slots of a class with a custom meta-class are reported as unbound.     
410    * [#247]    CFFI: $Proxy3 is not assignable to com.sun.jna.Pointer 
411    * [#252]    MOP rework broke profiler?     
412    * [#254]    Cannot load ASDF systems in jar archives with ASDF-BINARY-LOCATIONS-COMPATIBILTY enabled
413    * [#255]    ASDF file encoding specification doesn't work   
414    * [#263]    loading systems from abcl-contrib fails if CLASSPATH has a component with wildcard
415    * [#264]    abcl-asdf.asd broken since revision 14233
416    * [#60      ]Implement USE-FAST-CALLS properly
417    * [#130]    "SLIME under Windows has ""extra"" CRLF"       
418    * [#172]    DOCUMENTATION does not work for generic functions       
419    * [#174]    Conformance bug in time implementation when using SLIME
420    * [#175]    abcl.release target fails occasionally  unassigned     
421    * [#189]    Compiler fails for 'unsigned-byte type declaration     
422    * [#201]    &WHOLE broken in DEFINE-METHOD-COMBINATION     
423    * [#206]    COMPILER-UNSUPPORTED-FEATURE-ERROR is derived from CONDITION, rather than from ERROR   
424    * [#208]    "Files loaded via ""--load <FILE>"" on the command line have no pathname defaults"     
425    * [#211]    closure-common fails to load correctly after compilation       
426    * [#214]    Stack overflow when compiler macro with fallback is triggered   
427    * [#232]    Allow wrapper script to reference install directory instead of build directory
428    * [#192]    ASDF::IMPLEMENTATION-IDENTIFIER contains ABCL build environment identifier
429    * [#195]    prompt is displayed twice when evaluating NIL at the REPL
430
431Version 1.0.1
432==============
433svn.uri=:"http://abcl.org/svn/tags/1.0.1/abcl/"
434(09 January 2012)
435
436Changes
437-------
438
439  * Updated ASDF to 2.019
440
441  * User Manual now contains more polished formating from docstring
442    groveling, an index of symbols, and additional enhancements.
443
444  * 'abcl.properties.in' now contains examples of optimizing the ABCL
445    wrapper script for 64bit instances for Java7 and for Java6. 
446
447  * [r13720] Randomize string hash computation to guard against
448    exploits.
449
450  * [r13723] New internal API in Package.java for looking up internal
451    vs. external symbols.
452
453Fixes
454-----
455
456  * [#181][r13718] The implementation now correctly loads ASDF definitions
457    from jar archives.  This had prevented the ABCL-CONTRIB loading
458    mechanism from working.
459
460  * [#177] Made the mechanism for locating the abcl-contrib archive
461    more robust
462
463  * [#177] LIST-DIRECTORY no longer ignores :RESOLVE-SYMLINKS
464
465  * [r13706] Fix Streadm.readToken() bug reported by Blake McBride.
466
467  * [#183][r13703] Move threads-jss.lisp out of system source to
468    restore conditional recompilation logic.
469
470
471Version 1.0.0
472==============
473svn.uri=:"http://abcl.org/svn/tags/1.0.0/abcl/"
474released at the European Common Lisp Meeting Amsterdam 2011
475(22 October 2011)
476
477
478Features
479--------
480
481 * (Draft) manual
482
483 * Much better Quicklisp system capabilities (trivial-garbage,
484 bordeaux-threads, parenscript, cxml, et. al.)
485
486Changes
487-------
488
489 * Updated ASDF to 2.017.22
490
491Fixes
492-----
493
494 * CLOSURE-HTML now compiles
495
496 * DEFINE-METHOD-COMBINATION long form implemented
497
498
499Version 0.27.0
500==============
501svn.uri="http://abcl.org/svn/tags/0.27.0/"
502
503
504Features
505--------
506
507 * ABCL works as an SBCL build host
508
509 * Huge (> 64k) literal object support (fixes CL-UNICODE support)
510
511 * The ABCL-ASDF contrib allows the specification of JAR-FILE or
512   JAR-DIRECTORY components that can be resolved via a PATHNAME.  The
513   MVN component bootstraps a Maven3 Aether connector to locally
514   replicate a versioned jar artifact for dynamic inclusion in the
515   CLASSPATH.
516
517Changes
518-------
519
520 * Renamed LispObject.writeToString() method to (more Lispy) printObject()
521
522 * New LispObject.princToString() for user readable output
523
524 * Changed behaviour of LispObject.unreadableString() to signal
525   errors when *PRINT-READABLY* is non-NIL
526
527 * Static initializers moved to <clinit>() (java: static { }) to
528   prevent repeated execution when invoking the constructor multiple times
529
530 * Compiler clean-ups
531
532 * Changed implementation of LABELS to eliminate the need
533   to *always* create a closure
534
535 * File compiler (COMPILE-FILE) clean-ups
536
537 * When calling a function with the wrong number of arguments,
538   report the expected (range) of arguments
539
540 * Upgraded ASDF to 2.017
541
542 * JSS:JLIST-TO-LIST now converts any java.list.List to a Lisp list.
543
544 * The ASDF extensions from JSS for the "jar-directory", "jar-file",
545   and "class-file-directory" types have been refactored into the
546   ABCL-ASDF contrib as well as the *ADDED-TO-CLASSPATH* variable
547   which records dynamically added dependencies.  Use the
548   JSS:ENSURE-COMPATIBILITY function to have JSS include these
549   dependencies. 
550
551*  As long as ABCL-ASDF:ENSURE-MVN-VERSION can dynamically introspect
552   and then load Maven 3 libraries at runtime, ASDF components of type
553   MVN can now be used to specify versioned JVM artifacts.
554
555 * Threads spawned by THREADS:MAKE-THREAD can terminate the Lisp image
556   via the EXT:QUIT and EXT:EXIT functions.
557
558
559Fixes
560-----
561
562 * MULTIPLE-VALUE-PROG1.10 (ansi test) fixed
563
564 * [ticket #148] READTABLE-CASE :INVERT doesn't work for uninterned symbols
565
566 * [ticket #161] READTABLE-CASE of current readtable affects FASL content
567
568 * [ticket #162] Non-symbol in variable position of SETQ form causes
569   class verification failure
570
571 * [ticket #163] Local functions shadow global macro and function bindings
572   (fixes PARENSCRIPT support)
573
574 * [ticket 158] Readable printing of the string "#<abc>" does not signal
575   a PRINT-NOT-READABLE error anymore
576
577 * Fixed SYNTAX.SHARP-BACKSLASH.6 and SYNTAX.SHARP-BACKSLASH.7
578
579 * Fixed many PPRINT.* test suite failures
580
581 * [ticket #151] LOAD fails for whitespace in JAR-PATHNAME
582
583
584Version 0.26.2
585==============
586http://abcl.org/svn/tags/0.26.2/abcl
587(14 August 2011)
588
589Features
590--------
591  * Enable compilation with Java 7
592
593Fixes
594-----
595  * Fix loading from fasls under Windows with whitespace in pathname.
596
597  * Fix #131: Don't include ':' in the version string.
598
599  * Fix #141: SETF of APPLY not working with arbitrary function.
600
601  * Include filename in the error string being reported.
602
603  * Include the test source in the release.
604
605  * Include ASDF definition in source release.
606 
607
608Version 0.26.1
609==============
610http://abcl.org/svn/tags/0.26.1/abcl
611(27 July 2011)
612
613Features
614--------
615
616 * Upgrade ASDF to 2.017.
617
618Fixes
619-----
620
621 * Fix compilation problems by including the
622   org.armedbear.lisp.protocol source in the build process
623
624 * Printing of conditions defined with DEFINE-CONDITION
625
626 * Regression with failing SYNTAX.SHARP-BACKSLASH.6
627   and SYNTAX.SHARP-BACKSLASH.7 ANSI test suite failures
628
629 * Multiple failures in PPRINT.* ANSI test suite failures
630
631 * String interop with Java for strings with fill pointer
632
633 * Made #\Uxxxx a synonym for character codes with values greater than
634   255 on input, but never output as the character name by the
635   implementation.
636
637Version 0.26.0
638==============
639http://abcl.org/svn/tags/0.26.0/abcl
640(10 July 2011)
641
642Features
643--------
644
645 * Add support for weak reference objects
646
647 * Add support for finalizers on LispObject derived classes
648
649 * Upgrade ASDF to 2.0.16.1
650
651 * #\ reader macro now understands #\uNNNN as unicode codepoints
652
653 * JAVA:JRESOLVE-METHOD returns same method as would have been
654   called by JAVA:JCALL with the same arguments
655
656 * Ant 'update' target to upload application to Google App Engine
657
658 * Simple RUN-PROGRAM implementation
659
660 * Support for custom slot definitions according to AMOP
661
662 * New JAVA:*JAVA-OBJECT-TO-STRING-LENGTH* variable to control pretty
663   printing of Java objects
664
665 * JSS - more dynamic Lisp/Java FFI - (http://lsw2.googlecode.com/svn/trunk)
666   imported
667
668 * (REQUIRE :ABCL-CONTRIB) adds 'abcl-contrib.jar' to the ASDF search path
669
670 * Support for weak references in hash tables through a :WEAKNESS keyword
671   argument to MAKE-HASH-TABLE; with SYS:HASH-TABLE-WEAKNESS for inspection
672
673 * Support for loading ASDF systems from JAR archives
674
675 * Fast SHA1, SHA256 and SHA512 cryptographic hashes for files
676
677 * Beginnings of a manual
678
679 * ABCL/ASDF integration with Maven provided systems
680
681 * ASDF-JAR:PACKAGE function to package ASDF systems into JARs
682
683Changes
684=======
685
686 * Reduced code size in the compiler by changing COMPILE-TEST-FORM
687
688 * Enhanced SLIME inspector for JAVA:JAVA-OBJECT
689
690 * Reimplemented MERGE-PATHNAMES
691
692 * TRANSLATE-PATHNAME aligned with SBCL's behaviour if version is wild
693
694 * Removed PRINT-OBJECT methods duplicating Java side code
695
696 * Refactored code in SYSTEM:ZIP function
697
698 * Allow JCOERCE to convert any number to java.lang.Byte (using
699   its two's complement)
700
701 * Replace MAKE-IMMEDIATE-OBJECT with +NULL+, +TRUE+ and +FALSE+ constants
702   (the only supported ones)
703
704 * Better separation between java-collections package and Java FFI
705
706 * JAVA:ADD-TO-CLASSPATH is now a generic function
707
708Fixes
709=====
710
711 * Google App Engine example fixed
712
713 * MAKE-PATHNAME erroneously merges directories as in MERGE-PATHNAME
714
715 * Pretty printer routines using SYS:OUTPUT-OBJECT with GRAY-STREAM
716
717 * Value of *PRINT-CASE* affects file (to FASL) compilation
718
719 * MAKE-PATHNAME ignores version in :DEFAULTS
720
721 * URI decoding algorithm in Pathname.java
722
723 * JNEW-ARRAY-FROM-ARRAY should create byte[] arrays
724
725Version 0.25.0
726==============
727http://abcl.org/svn/tags/0.25.0/abcl
728(10 March 2011)
729
730Features
731--------
732
733* Add :resolve-symlinks keyword argument for DIRECTORY.
734
735* Support -- as a command line parameter for the REPL.
736
737* Preliminary support for Maven deployment.
738
739* Add an initargs cache for speedups in check-initargs. This should
740  make the initarg checking in CLOS quite a bit faster.
741
742* Incorporate output of 'svnversion' into LISP-IMPLEMENTATION-VERSION.
743
744* Ant target for generating Javadoc.
745
746Fixes
747-----
748
749* [svn r13229] Remove non-existing THREAD-LOCK and THREAD-UNLOCK from autoloads.
750
751* [svn 13228] Fix incorrect elimination of named local functions
752  declared inline when they're actually reified in the flet/labels body.
753
754* [svn r13217] Forward-referenced classes work properly now.
755
756* [svn r13209] Add initarg checking to REINITIALIZE-INSTANCE.
757
758* [svn r13204] FINALIZE-INHERITANCE is (more) AMOP compatible.
759
760* [svn r13203] Create ATOMIC-DEFGENERIC macro, in order to eliminate
761  FMAKUNBOUND calls and the resulting windows where no function is bound to
762  symbols which are the most essential building blocks in CLOS/AMOP.
763
764* [svn r13200] Atomically swap generic functions into place of temporary
765  DEFUNs for all standard-class slot accessors.
766  Note: This addresses the recursive requirement to be able
767  to allocate objects and classes while changing the functions
768  used to create them.
769
770* [svn r13196] Provide more context regarding the reason of autoloading.
771  Note: This change *hugely* helps debugging.
772
773* [svn r13189] Fix MACROEXPAND-ALL autoloader which should be
774  loaded from 'format.lisp'.
775
776* [svn r13188] Fix DEFSTRUCT trying to generate accessors named NIL
777
778* [svn r13187] Fix #125: FASL reader should not convert symbol
779  case [Qi FASL loading issues].
780
781* [svn r13185] Fix #119: Incorrect dynamic environment for
782  evaluation of :CLASS allocation slot initforms.
783
784* [svn r13182-r13184] Fix error printing issues.
785
786* [svn r13181] Increase autoload verbosity: include FASLs too
787  (not only Java classes).
788
789Changes
790-------
791
792* Merge 'unsafe-p-removal' branch.
793
794Version 0.24.0
795==============
796http://abcl.org/svn/tags/0.24.0/abcl
797(22 January 2011)
798
799Features
800--------
801
802* [svn r130103-r13107] Implemented JNULL_REF_P to distinguish a
803  JAVA-OBJECT which contains a Java "null" from the Lisp NIL.
804
805* [svn r13102] More type-conversion helpers in JAVA package:
806  LIST-FROM-JARRAY, VECTOR-FROM-JARRAY, and LIST-FROM-JENUMERATION.
807
808* [svn r13078] JVM::MAKE-CLASS-INTERFACE-FILE provides an interface
809  for the creation of Java interfaces as serialized by the new
810  classwriter code.  An example of use can be found in
811  "examples/misc/dynamic-interfaces.lisp".
812
813* [svn r13087] Upgraded to ASDF-2.012
814
815
816Fixes
817-----
818
819* [svn r13135] Fix the problem that FASLs can contain
820  a limited number of functions.
821
822* [svn r13117][ticket #117] Fix stack inconsistency error.
823
824* [svn r13018][ticket #114] Fix strange backtrace growth.
825
826* [svn r13105] Fix Pathname.java failing to find boot.lisp in an
827  "unpacked JAR" situation found by running ABCL in the Glassfish v3
828  servlet container.
829
830* [svn r13096] For arrays, add initialization with the default value
831  of the element type if neither INITIAL-ELEMENT nor INITIAL-CONTENT
832  have been specified.  Found by: dmalves_ (freenode irc nick).
833
834* [svn r13094] Eliminate flushes after every character in
835  javax.scripting support.
836
837* [svn r13090] Make --batch exit, use Lisp.exit() in places where
838  applicable so that the streams are flushed, hence allowing --eval
839  output to be flushed.
840
841* [svn r13088] Fix algorithim error in writing byte sequences via
842  RandomAccessCharacterFile.  Found and fixed by David Kirkman.
843
844
845Changes
846-------
847
848* [svn r13141-13146,13156] Make ABCL a well behaving library to better
849  support embedding: NEVER call System.exit() again.  Instead, ABCL now
850  throws org.armedbear.lisp.ProcessingTerminated and
851  org.armedbear.lisp.IntegrityError.
852
853* [svn r13111] Added a "tools" directory available in SVN repository
854  to contain tools for developing ABCL in various states.  The first
855  inhabitant is 'code-grapher.lisp' that provides a prototype to
856  diagram a JVM instruction sequence via graphviz.
857
858* [svn r13101] Reduced verbosity of the AbclScriptEngine.
859
860* [svn r13097-13100] Slight refactoring of PATHNAME code, further
861  specifying URI escaping rules.
862
863* [svn r13091-2] Better error reporting for UnhandledCondition thrown
864  from the Interpreter, storing the originating Java error in the
865  "cause" field if the cause is a subclass of JAVA_EXCEPTION.
866
867
868Version 0.23.1
869==============
870http://abcl.org/svn/tags/0.23.1/abcl
871(01 December 2010)
872
873Fixes
874-----
875
876* [svn r13509-10] Allow JSR-223 clients to query ABCL metadata without
877  incurring the entire interpreter startup time.
878
879* [svn r13506] Fix probles with loading FASLs in directories
880  containing whitespace characters.
881 
882  We now require all PATHNAME objects constructed via a namestring
883  containing the "file" scheme to be URI encoded according to
884  RFC3986. 
885
886
887Version 0.23
888============
889http://abcl.org/svn/tags/0.23.0/abcl
890(25 November, 2010)
891
892Features
893--------
894
895* [svn r12986] Update to ASDF 2.010.1
896
897* [svn r12982] Experimental support for the long form
898     of DEFINE-METHOD-COMBINATION
899
900* [svn r12994] New java-interop macros: CHAIN and JMETHOD-LET
901
902* [svn r13030-31,r13034] ASDF-INSTALL improvements: Ensure that the
903     ASDF registry contains the ASDF-INSTALL locations.  Better
904     resolution mechanism for 'gpg' binary.
905
906Fixes
907-----
908
909* [svn r13039] Restore the Lisp-based build
910
911* [ticket #108][svn r13027] Fix download problems with ASDF-INSTALL
912
913* [svn r12995-12997] Changes to generated byte code to prevent JRockit JVM
914     from crashing when optimizing it
915
916* Various fixes in order to complete the Maxima test suite without failures
917
918* [ticket #98] THREAD type specifier not exported from the THREADS package
919
920* [svn r12946] Fix CLOS thread-safety
921
922* [svn r12930] Fix non-constantness of constant symbols when using SET
923
924* [svn r12929] Don't throw conditions on floating point underflow
925    (fixes Maxima failures)
926
927* [svn r12928] Fix for Java-collections-as-lisp-sequences support
928
929* [svn r12927] Fix for regression to moved threads related symbols
930
931* [ticket #104] SET changes value of symbols defined with DEFCONSTANT
932
933* [ticket #88] Need a predicate to indicate source of compiled version
934      ie Java vs Lisp
935
936* [ticket #106] DEFSTRUCT :include with :conc-name creating overwriting
937      inherited slot accessors
938
939* [ticket #97] Symbol imported in multiple packages reported multiple
940      times by APROPOS
941
942* [ticket #107] Incorrect compilation of (SETF STRUCTURE-REF) expansion
943
944* [ticket #105] DIRECTORY ignores :WILD-INFERIORS
945
946Other
947-----
948
949* [svn r12918] Compiler byte code generator cleanup: introduction
950      of generic class file writer, elimination of special purpose code
951      in the compiler.
952
953* Number of hashtable implementations reduced to 1 (from 5)
954
955* Reduced use of 'synchronized' global hash table access by using
956      the java.util.concurrent package
957
958Version 0.22
959============
960http://abcl.org/svn/tags/0.22.0/abcl
961(September 24, 2010)
962
963Fixes
964-----
965
966* [svn r12902] Fix reading data with scandinavian latin1 characters
967
968* [svn r12906] Respect the CLASSPATH environment variable in the
969  abcl wrapper scripts
970
971* [ticket #103] DOCUMENTATION not autoloaded
972
973Other
974-----
975
976* [svn r12819] Until-0.22-compatibility hacks (in threads support) removed
977
978
979
980Version 0.21
981============
982http://abcl.org/svn/tags/0.21.0/abcl
983(July 24, 2010)
984
985
986Features
987--------
988
989* [svn r12818] Update to ASDF 2.004
990
991* [svn r12738-805] Support for custom CLOS slot definitions and
992  custom class options.
993
994* [svn r12756] slot-* functions work on structures too.
995
996* [svn r12774] Improved Java integration: jmake-proxy can implement
997  more than one interface.
998
999* [svn r12773] Improved Java integration: functions to dynamically
1000  manipulate the classpath.
1001
1002* [svn r12755] Improved Java integration: CL:STRING can convert Java
1003  strings to Lisp strings.
1004
1005Fixes
1006-----
1007
1008* [svn 12809-10-20] Various printing fixes.
1009
1010* [svn 12804] Fixed elimination of unused local functions shadowed by macrolet.
1011
1012* [svn r12798-803] Fixed pathname serialization across OSes.
1013  On Windows pathnames are always printed with forward slashes,
1014  but can still be read with backslashes.
1015
1016* [svn r12740] Make JSR-223 classes compilable with Java 1.5
1017
1018Other
1019-----
1020
1021* [svn r12754] Changed class file generation and FASL loading
1022  to minimize reflection.
1023
1024* [svn r12734] A minimal Swing GUI Console with a REPL
1025  is now included with ABCL.
1026
1027Version 0.20
1028============
1029http://abcl.org/svn/tags/0.20.0/abcl
1030(24 May, 2010)
1031
1032
1033Features
1034--------
1035
1036* [svn r12576] Support for CLOS METACLASS feature.
1037
1038* [svn r12591-602] Consolidation of copy/paste code in the readers.
1039
1040* [svn r12619] Update to ASDF2 (specifically to ASDF 1.719).
1041
1042* [svn r12620] Use interpreted function in FASL when compilation fails.
1043
1044* [ticket #95] PATHNAME-JAR and PATHNAME-URL subtypes now handle jar
1045  and URL references working for OPEN, LOAD, PROBE-FILE,
1046  FILE-WRITE-DATE, DIRECTORY, et. al.
1047
1048* Many small speed improvements (by marking functions 'final').
1049
1050* [ticket #91] Threads started through MAKE-THREAD now have a
1051    thread-termination restart available in their debugger.
1052
1053* [svn r12663] JCLASS supports an optional class-loader argument.
1054
1055* [svn r12634] THREADS:THREAD-JOIN implemented.
1056
1057* [svn r12671] Site specific initialization code can be included in
1058  builds via the 'abcl.startup.file' Ant property.
1059
1060Fixes
1061-----
1062
1063* [ticket #89] Inlining of READ-LINE broken when the return value
1064    is unused.
1065
1066* [svn r12636] Java class verification error when compiling PROGV
1067    in a context wanting an unboxed return value (typically a
1068    logical expression).
1069
1070* [svn r12635] ABCL loads stale fasls instead of updated source
1071    even when LOAD is called with a file name without extension.
1072
1073* [ticket #92] Codepoints between #xD800 and #xDFFF are incorrectly
1074    returned as characters from CODE-CHAR.
1075
1076* [ticket #93] Reader doesn't handle zero returned values from
1077    macro functions correctly.
1078
1079* [ticket #79] Different, yet similarly named, uninterned symbols
1080    are incorrectly coalesced into the same object in a fasl.
1081
1082* [ticket #86] No restarts available to kill a thread, if none
1083    bound by user code.
1084
1085* [svn r12586] Increased function dispatch speed by eliminating
1086    FIND-CLASS calls (replacing them by constant references).
1087
1088* [svn r12656] PATHNAME-JAR now properly uses HTTP/1.1 HEAD requests
1089  to detect if remote resource has been changed.
1090
1091* [svn r12643] PATHNAME-JAR now properly references Windows drive
1092    letters on DEVICE other than the default.
1093
1094* [svn r12621] Missing 'build-from-lisp.sh' referenced in README now
1095    included in source release.
1096
1097Other
1098-----
1099
1100* [svn r12581] LispCharacter() constructors made private, in favor
1101    of getInstance() for better re-use of pre-constructed characters.
1102
1103* [svn r12583] JAVA-CLASS reimplemented in Lisp.
1104
1105* [svn r12673] Load 'system.lisp' moved later in boot sequence so
1106    unhandled conditions drop to debugger.
1107
1108* [svn r12675] '--nosystem' commandline option inhibits loading of
1109    'system.lisp'.
1110
1111* [svn r12642] Under Windows, pathname TYPE components can now contain
1112    embedded periods iff they end in '.lnk' to support shortcuts.
1113
1114
1115Version 0.19
1116============
1117http://abcl.org/svn/trunk/abcl
1118(14 Mar, 2010)
1119
1120Features
1121--------
1122
1123* [svn r12518] *DISASSEMBLER* may now contain a hook which returns the
1124  command to disassemble compiled functions.
1125
1126* [svn r12516] An implementation of user-extensible sequences as
1127  proposed in Christopher Rhodes, "User-extensible sequences in Common
1128  Lisp", Proc. of the 2007 International Lisp Conference.
1129
1130* [svn r12513] Implement SYS:SRC and SYS:JAVA logical pathname
1131  translations for system Lisp source and the root of the Java package
1132  structure, respectively.
1133
1134* [svn r12505] All calls to anonymous functions and local functions that have
1135  been declared inline are now converted to LET* forms, reducing stack usage
1136  and the number of generated classes.
1137
1138* [svn r12487] An initial port ASDF-INSTALL now forms the first ABCL
1139  contrib.  Such contribs are optionally built by the Ant target
1140  'abcl.contrib'.  ASDF-INSTALL is not expected to work very well
1141  under Windows in its present state.
1142
1143* [svn r12447] [ticket:80] REQUIRE now searches for ASDF systems.
1144
1145* [svn r12422] Jar pathname support extensively re-worked and tested
1146  so that LOAD, PROBE-FILE, TRUENAME, DIRECTORY, and WRITE-FILE-DATE
1147  all work both for local and remote jar pathnames of the form
1148  "jar:URL!/JAR-ENTRY".
1149
1150  The loading ASDF systems from jar files is now possible.
1151
1152  SYS:PATHNAME-JAR-P predicate signals whether a pathname references a
1153  jar.
1154
1155  NB: jar pathnames do *not* currently work as an argument to OPEN.
1156
1157  SYS:UNZIP implemented to unpack ZIP files.
1158
1159  SYS:ZIP now has a three argument version for creating zip files with
1160  hierarchical entries.
1161
1162* [svn r12450] Collect unprocessed command-line arguments in
1163  EXT:*COMMAND-LINE-ARGUMENT-LIST* (Dennis Lambe Jr.)
1164
1165* [svn r12414] SYS::%GET-OUTPUT-STREAM-ARRAY returns a Lisp byte array
1166  from a Java byte array stream.
1167
1168* [svn 12402] ABCL.TEST.LISP:RUN-MATCHING will now execute that subset
1169  of tests which match a string.
1170
1171
1172Fixes/Optimizations
1173-------------------
1174
1175* [svn r12526] Unbinding of PROGV bound variables on local transfer
1176  of control (within-java-function jump targets)
1177
1178* [svn r12510] The new ansi-test WITH-STANDARD-IO-SYNTAX.23 passes.
1179  Our with-standard-io-syntax implementation now correctly resets all necessary
1180  pprint variables. Patch by Douglas R. Miles, thanks for the contribution!
1181
1182* [svn r12485] Pathnames starting with "." can now have TYPE.
1183
1184* [svn r12484] FASLs containing "." characters not used to indicate
1185  type (i.e. ".foo.bar.baz.abcl") can now be loaded.
1186
1187* [svn r12422] Pathname.java URL contructor under Windows now properly
1188  interprets the drive letter.
1189
1190* [svn r12449] The 'abcl.jar' produced by Netbeans now contains a valid
1191  manifest (found by Paul Griffionen).
1192
1193* [svn r12441] ZipCache now caches all references to ZipFiles based on
1194  the last-modified time for local files.  Remote files are always
1195  retrieved due to problems in the underlying JVM code.
1196
1197  SYS:REMOVE-ZIP-CACHE implements a way to invalidate an entry given a
1198  pathname.
1199
1200* [svn r12439] Remove duplication of java options in Windows
1201  'abcl.bat' script.
1202
1203* [svn r12437] CHAR-CODE-LIMIT is the upper execlusive limit (found by
1204  Paul Griffionen).
1205
1206* [svn r12436] Describe formatting was missing a newline (reported by
1207  Blake McBride).
1208
1209* [svn 12469] Ensure that FILE-ERROR always has a value (possibly NIL)
1210  for its PATHNAME member.
1211
1212* [svn r14222] MERGE-PATHNAMES no longer potentially shares structure
1213  between its result and *DEFAULT-PATHNAME-DEFAULTS*.
1214
1215* [svn r12416] Fixed ANSI LAMBDA.nn test failures caused by errors in
1216  lambda inlining.
1217
1218* [svn r12417] [ticket:83] Fix TRANSLATE-LOGICAL-PATHNAME regression.
1219  (Alan Ruttenberg).
1220
1221* [svn r12412] Optimize memory efficiency of FORMAT by use of a
1222  hashtable rather than a CHAR-CODE-LIMIT array.
1223
1224* [svn r12408] FIND-SYMBOL requires a  string argument.
1225
1226* [svn r12400] Make NIL (as symbol) available to the compiler.
1227
1228* [svn r12398] Move lambda list analysis to compile time where possible.
1229
1230* [svn r12397] BROADCAST-STREAM obeys default external format fixing
1231  ANSI MAKE-BROADCAST-STREAM.8.
1232
1233* [svn r12395] Improve arglist display for SLIME (Matthias Hölzl).
1234
1235* [svn r12394] Optimize array utilization in closures.
1236
1237* [svn r12393] Optimize array functions in compiler which don't
1238  require clearing the VALUES array.
1239
1240* [svn r12392] Optimize/normalize aspects of boot.lisp
1241
1242* [svn r12391] Prevent duplicated subclasses form occuring.
1243
1244
1245Other
1246-----
1247
1248* [svn r12447] SYS::*MODULE-PROVIDER-FUNCTION* now provides a mechanism
1249  to extend the REQUIRE resolver mechanism at runtime.
1250
1251* [svn r12430] Ant based build no longer writes temporary files to
1252  contain the Lisp build instructions.
1253
1254* [svn r12481] STANDARD-CLASS now has slots to be inherited by
1255  deriving metaclasses in support of the (in progress) work on
1256  metaclass.
1257
1258* [svn r12425] No longer ignore the METACLASS defclass option in
1259  support of the (in progress) work on metaclass
1260
1261* [svn r12422] SYS::*LOAD-TRUENAME-FASL* now contains the TRUENAME of
1262  the Java "*.cls" component when loading a packed FASL.
1263
1264* [svn r12461] Human readable Java representations for class cast
1265  exceptions for NULL and UNBOUND values.
1266
1267* [svn r12453 et. ff.] Large numbers of the implementation of Java
1268  primitives have been declared in a way so that a stack trace
1269  provides a much more readable indication of what has been invoked.
1270  Primitives which extend Primitive are prefixed with "pf_"; those
1271  which extend SpecialOperator are prefixed with "sf_".
1272
1273* [svn r12422] The internal structure of a jar pathname has changed.
1274  Previously a pathname with a DEVICE that was itself a pathname
1275  referenced a jar.  This convention was not able to simultaneously
1276  represent both jar entries that were themselves jar files (as occurs
1277  with packed FASLs within JARs) and devices which refer to drive
1278  letters under Windows.  Now, a pathname which refers to a jar has a
1279  DEVICE which is a proper list of at most two entries.  The first
1280  entry always references the "outer jar", and the second entry (if it
1281  exists) references the "inner jar".
1282
1283* [svn r12419] Ant 'abcl.release' target centralizes the build steps
1284  necessary for creating releases.
1285
1286* [svn r12409] Compiler now rewrites function calls with (LAMBDA 
) as
1287  the operator to LET* forms.
1288
1289* [svn r12415] CLASS-FILE renamed to ABCL-CLASS-FILE to prepare for
1290  (in progress) reworking of Stream inheritance.
1291
1292* [svn r123406] 'test/lisp/abcl/bugs.lisp' forms a default location to
1293  add unit tests for current bug testing.  The intention is to move
1294  these tests into the proper location elsewhere in the test suite
1295  once they have been fixed.
1296
1297* [svn r124040] Java tests upgraded to use junit-4.8.1.  Netbeans
1298  project runtime classpath now uses compilation results before source
1299  directory, allowing the invocation of ABCL in interpreted mode if
1300  the Ant 'abcl.compile.lisp.skip' property is set.  Java unit tests
1301  for some aspects of jar pathname work added.
1302
1303*  New toplevel 'doc' directory now contains:
1304
1305   + [svn r12410] Design for the (in progress) reworking of the Stream
1306     inheritance.
1307
1308   + [svn r12433] Design and current status for the re-implementation
1309     of jar pathnames.
1310
1311* [svn r12402] Change ABCL unit tests to use the ABCL-TEST-LISP definition
1312  contained in 'abcl.asd'.  Fixed and renabled math-tests.  Added new
1313  tests for work related to handling jar pathnames.
1314
1315* [svn r12401] The REFERENCES-NEEDED-P field of the LOCAL-FUNCTION structure now
1316  tracks whether local functions need the capture of an actual
1317  function object.
1318
1319
1320Version 0.18.1
1321==============
1322http://abcl.org/svn/tags/0.18.1/abcl
1323(17 Jan, 2010)
1324
1325Features:
1326
1327 * Support for printing java objects with print-object
1328 * Support for disassembling proxied functions
1329
1330Bugs fixed:
1331
1332 * maxima works again
1333
1334Version 0.18.0
1335==============
1336http://abcl.org/svn/tags/0.18.0/abcl
1337(12 Jan, 2010)
1338
1339
1340Features:
1341
1342 * Programmable handling of out-of-memory and stack-overflow conditions
1343 * Faster initial startup (to support Google App Engine)
1344 * Faster special variable lookup
1345 * New interface for binding/unwinding special variables
1346 * Implement (SETF (STREAM-EXTERNAL-FORMAT <stream>) <format>)
1347 * Implement (SETF (JAVA:JFIELD <object>) <value>)
1348 * Constant FORMAT strings get compiled for performance
1349
1350
1351Bugs fixed:
1352
1353 * FASLs are system default encoding dependent (ticket 77)
1354 * I/O of charset-unsupported characters causes infinite loop (ticket 76)
1355 * Memory leak where on unused functions with documentation
1356 * ANSI PRINT-LEVEL.* tests
1357 * Continued execution after failing to handle Throwable exceptions
1358 * Line numbers in generated java classes incorrect
1359 * JCALL, JNEW doesn't select best match when multiple applicable methods
1360 * STREAM-EXTERNAL-FORMAT always returns :DEFAULT, instead of actual format
1361 * REPL no longer hangs in Netbeans 6.[578] output window
1362 * Lambda-list variables replaced by surrounding SYMBOL-MACROLET
1363
1364
1365Other changes
1366
1367 * LispObject does not inherit from Lisp anymore
1368 * Many functions declared 'final' for performance improvement
1369 * SYSTEM:*SOURCE* FASLs for system files no longer refer to intermediate build location
1370
1371
1372Version 0.17.0
1373==============
1374http://abcl.org/svn/tags/0.17.0/abcl
1375(07 Nov, 2009)
1376
1377
1378Features:
1379
1380  * Google App Engine example project "Hello world"
1381  * Support for loading FASLs from JAR files
1382  * Checking of init-arguments for MAKE-INSTANCE (CLOS)
1383  * Support for *INVOKE-DEBUGGER-HOOK* (to support SLIME)
1384  * Reduced abcl.jar size (bytes and number of objects)
1385  * Faster access to locally bound specials (compiler efficiency)
1386  * Java property to print autoloading information: abcl.autoload.verbose
1387  * Experimental: binary fasls
1388  * Default Ant build target now "abcl.clean abcl.wrapper" (from abcl.help)
1389  * ConditionThrowable class renamed to ControlTransfer,
1390      parent class changed to RuntimeException (to make it unchecked)
1391  * API no longer throws ConditionThrowable/ControlTransfer
1392
1393
1394Bugs fixed:
1395
1396  * Better fix for #63: Prevent exceptions from happening (GO and RETURN-FROM)
1397  * Restore ability for ABCL to be build host for SBCL
1398  * CLOS performance improvements through looser COMPILE dependency
1399  * Compilation fix for highest SPEED setting (triggered by CL-BENCH)
1400  * COMPILE's use of temp files eliminated
1401  * OpenJDK on Darwin now correctly identified
1402  * Incorrect block names for SETF functions defined by LABELS
1403  * Fixed MULTIPLE-VALUE-CALL with more than 8 arguments
1404  * Incorrect identification of lexical scope on recursive TAGBODY/GO
1405    and BLOCK/RETURN-FROM blocks (compiler and interpreter)
1406  * Correctly return 65k in char-code-limit (was 256, incorrectly)
1407  * Fixes to be able to run the BEYOND-ANSI tests (part of ANSI test suite)
1408  * Compiler typo fix
1409  * Implementation of mutex functionality moved to lisp from Java
1410  * Functions handling #n= and #n# are now compiled
1411  * Autoload cleanups
1412  * System package creation cleaned up
1413  * CHAR-CODE-LIMIT correctly reflects CHAR-CODE maximum return value
1414  * Precompiler macroexpansion failure for macros expanding into
1415      special operators
1416
1417
1418Version 0.16.1
1419==============
1420http://abcl.org/svn/tags/0.16.1/abcl
1421(17 Oct, 2009)
1422
1423Bugs fixed:
1424
1425  * More careful checking for null args in LispStackFrame
1426  * Honor appearance of &allow-other-keys in CLOS MAKE-INSTANCE
1427  * Fix #63: GO forms to non-existent TAGBODY labels would exit ABCL
1428  * Don't leak temp files during compilation
1429
1430Version 0.16.0
1431==============
1432(06 SEP 2009)
1433http://abcl.org/svn/tags/0.16.0/abcl
1434
1435  Summary of changes:
1436  ------------------
1437  * Fixed generated wrapper for path names with spaces (Windows)
1438  * Fixed ticket #58: Inspection of Java objects in Lisp code
1439  * Restored functionality of the built-in profiler
1440  * Profiler extended with hot-spot counting (as opposed to call counting)
1441  * Stack sampling in the profiler moved to scheduler thread to
1442    reduce impact on the program execution thread
1443  * THE type-checking for the interpreter
1444    (for simple-enough type specifications)
1445  * Added structure argument type checking in structure slot
1446    accessor functions
1447  * Make GENSYM thread-safe
1448  * Various performance fixes found by running the raytracer
1449    from http://www.ffconsultancy.com/languages/ray_tracer/benchmark.html
1450  * Better initarg checking for make-instance and change-class
1451    Fixes ansi-test errors CHANGE-CLASS.1.11, MAKE-INSTANCE.ERROR.3,
1452    MAKE-INSTANCE.ERROR.4, CHANGE-CLASS.ERROR.4 and SHARED-INITIALIZE.ERROR.4
1453  * Improve performance of StackFrames (Erik Huelsmann, Ville Voutilainen,
1454    with input from Peter Graves and Douglas Miles)
1455  * Improve performance of CLOS eql-specializers via cache (Anton Vodonosov)
1456  * 'build-from-lisp.sh' shell script (Tobias Rittweiler)
1457  * New threading primitives aligned with Java/JVM constructs (Erik Huelsmann)
1458
1459      SYNCHRONIZED-ON
1460      OBJECT-NOTIFY
1461      OBJECT-NOTIFY-ALL
1462  * THREADS package created to hold threads related primitives:
1463
1464      THREADP THREAD-UNLOCK THREAD-LOCK THREAD-NAME THREAD-ALIVE-P
1465      CURRENT-THREAD DESTROY-THREAD INTERRUPT-THREAD WITH-THREAD-LOCK
1466      MAKE-THREAD-LOCK MAKE-THREAD INTERRUPT-THREAD
1467
1468      MAPCAR-THREADS
1469
1470      GET-MUTEX MAKE-MUTEX WITH-MUTEX RELEASE-MUTEX
1471
1472    These primitives are still part of the EXTENSIONS package but are
1473    now to be considered as deprecated, marked to be removed with
1474    0.22
1475  * Stacktraces now contain calls through Java code relevant to
1476    debugging (Tobias Rittweiler)
1477
1478    Backtrace functionality been moved from EXT:BACKTRACE-AS-LIST to
1479    SYS:BACKTRACE to mark this changes.  The methods SYS:FRAME-TO-STRING
1480    and SYS:FRAME-TO-LIST can be used to inspect the new
1481    LISP_STACK_FRAME and JAVA_STACK_FRAME objects
1482  * Various stream input performance optimizations
1483  * Fixed breakage when combining Gray streams and the pretty printer
1484  * Performance improvements for resolution of non-recursive #=n and #n#
1485
1486
1487Version 0.15.0
1488==============
1489http://abcl.org/svn/tags/0.15.0/abcl
1490(07 Jun, 2009)
1491
1492 Summary of changes:
1493 -------------------
1494  * 2 more MOP exported symbols to support Cells port
1495  * Updated FASL version
1496  * Support (pre)compilation of functions with a non-null lexical environment
1497  * Compiler and precompiler cleanups
1498  * 'rt.lisp' copy from ANSI test suite removed
1499  * Many documentation additions for the (pre)compiler
1500  * JSR-233 support improvements
1501  * Refactoring of classes:
1502   - deleted: CompiledFunction, ClosureTemplateFunction, CompiledClosure,
1503              Primitive0R, Primitive1R, Primitive2R
1504   - renamed: CompiledClosure [from ClosureTemplateFunction]
1505  * Compiler support for non-constant &key and &optional initforms
1506  * Fixed ticket #21: JVM stack inconsistency [due to use of RET/JSR]
1507  * Numerous special bindings handling fixes, especially with respect
1508    to (local) transfer of control with GO/RETURN-FROM
1509  * Paths retrieved using URL.getPath() require decoding (r11815)
1510  * Build doesn't work inside paths with spaces (r11813)
1511  * Compilation of export of a symbol not in *package* (r11808)
1512  * Moved compiler-related rewriting of forms from precompiler to compiler
1513  * Removed chained closures ('XEPs') in case of &optional arguments only
1514  * Loading of SLIME fails under specific conditions (r11791)
1515  * Binding of *FASL-ANONYMOUS-PACKAGE* breaks specials handling (r11783)
1516  * Fixed ANSI tests: DO-ALL-SYMBOLS.{6,9,12}, DEFINE-SETF-EXPANDER.{1,6,?},
1517      MULTIPLE-VALUE-SETQ.{5,8}, SYMBOL-MACROLET.8, COMPILE-FILE.{17,18}
1518  * COMPILE and COMPILE-FILE second and third values after a failed
1519      invocation inside the same compilation-unit (r11769)
1520  * JCLASS on non-existing classes should signal an error (r11762)
1521  * Dotted lambda lists break interpretation (r11760)
1522  * Implementation of MACROEXPAND-ALL and COMPILER-LET (r11755)
1523  * Switch from casting to 'instanceof' for performance (r11754)
1524  * Google App Engine support: don't die if 'os.arch' isn't set (r11750)
1525  * Excessive stack use while resolving #n= and #n# (r11474)
1526
1527
1528Version 0.14.1
1529==============
1530(5 Apr, 2009)
1531http://abcl.org/svn/tags/0.14.1/abcl
1532
1533 Summary of changes:
1534 -------------------
1535  * Include this CHANGES file and scripting files in the tar and zip files
1536
1537
1538Version 0.14.0
1539==============
1540(5 Apr, 2009)
1541http://abcl.org/svn/tags/0.14.0/abcl
1542
1543 Summary of changes:
1544 -------------------
1545  * Increased clarity on licensing (Classpath exception
1546     mentioned in COPYING, removed LICENSE)
1547  * Resolved infinite recursion on TRACEing the compiler
1548  * Changes on the lisp based build system for parity with Ant
1549  * Fixed interpreter creation in Java Scripting
1550  * libabcl.so no longer created; it was solely about installing
1551     a SIGINT handler. Libraries should not do that.
1552  * boxing of LispObject descendants in JCALL/JCALL-RAW fixed
1553  * OpenBSD and NetBSD platform detection
1554  * fixed special bindings restores in compiled code for
1555     MULTIPLE-VALUE-BIND/LET/LET*/PROGV and function bodies
1556  * introduced variadic list() function to replace list1() ... list9()
1557  * fix return value type of ACOS with complex argument
1558  * fixed precision of multiplication of complex values
1559  * fixed use of COMPILE inside file compilation (i.e. COMPILE-FILE)
1560  * fix expansion of macros inside RESTART-CASE
1561     (fixes RESTART-CASE ANSI failures)
1562  * fix macroexpansion in the precompiler
1563  * Fixnum and Bignum now use a static factory method;
1564      constructors are now private -> increases chances of numbers
1565      being EQ
1566  * Code cleanup in EXPT to fix (EXPT <any-number> <Bignum>)
1567
1568
1569Version 0.13.0
1570==============
1571(28 Feb, 2009)
1572http://abcl.org/svn/tags/0.13.0/abcl
1573
1574 Summary of changes:
1575 -------------------
1576  * Separated J and ABCL into two trees
1577  * Many many compiler code cleanups
1578  * NetBeans project files
1579  * Support for CDR6 (See http://cdr.eurolisp.org/document/6/)
1580  * More efficient code emission in the compiler
1581  * Ant build targets for testing (abcl.test)
1582  * Use ConcurrentHashMap to store the lisp threads for increased performance
1583  * Fix adjustability of expressly adjustable arrays (ticket #28)
1584  * Fix calculation of upperbound on ASH in the compiler
1585     (don't calculate numbers too big, instead, return '*')
1586  * Introduce LispInteger as the super type of Bignum and Fixnum
1587  * Boxing/unboxing for SingleFloat and DoubleFloat values,
1588      inclusive of unboxed calculations
1589  * Fixed URL decoding bug in loadCompiledFunction (use java.net.URLDecoder)
1590  * Fixed line number counting
1591  * Inlining of simple calculations (+/-/*)
1592  * All static fields declared 'final'
1593  * Add support for java.lang.Long based on Bignum to our FFI
1594
1595
Note: See TracBrowser for help on using the repository browser.