source: trunk/abcl/CHANGES

Last change on this file was 14877, checked in by mevenson, 11 hours ago

Keywordize EXT:MAKE-TEMP-FILE for temp file name patterns

EXT:MAKE-TEMP-FILE &key (PREFIX "abcl") (SUFFIX ".tmp")

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