source: trunk/abcl/CHANGES

Last change on this file was 14851, checked in by mevenson, 2 months ago

doc: note changes for abcl-1.3.4

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