source: tags/1.3.1/CHANGES

Last change on this file was 14702, checked in by Mark Evenson, 10 years ago

abcl-1.3.1 release tag metadata.

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