source: branches/1.3.1/CHANGES @ 14681

Last change on this file since 14681 was 14681, checked in by Mark Evenson, 9 years ago

Backport r14679-80: Non-zero timeouts CL:SLEEP and THREADS:OBJECT-WAIT
below the timer Planck limit interpolated as a nanosecond.

Thanks for James Lawrence for the consul.

Addresses #14632.

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