source: tags/1.3.2/CHANGES

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

1.3.2: metadata for release

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