source: trunk/abcl/CHANGES

Last change on this file was 14752, checked in by mevenson, 18 hours ago

CHANGES for abcl-1.3.2

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