source: tags/1.3.3/CHANGES

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

Changes for 1.3.3

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