source: trunk/abcl/CHANGES

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

Update to asdf-3.1.4

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