source: trunk/abcl/CHANGES @ 14684

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

Further update with changes.

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