source: trunk/abcl/CHANGES @ 14625

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

The SLIME master on github can now load SLIME from ASDF.

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