source: trunk/abcl/CHANGES

Last change on this file was 14844, checked in by mevenson, 6 months ago

doc: note use of asdf-3.1.6 in implementation

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