source: trunk/abcl/CHANGES @ 14623

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

CHANGES for abcl-1.3.0

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