source: trunk/abcl/CHANGES @ 14892

Last change on this file since 14892 was 14892, checked in by mevenson, 12 months ago

metadata: publish all artifacts for 1.4.0 simultaneously

Update the README <file:README>, CHANGES <file:CHANGES> and the User
manual <file:doc/manual/> for 1.4.0.

<http://abcl.org/trac/changeset/14891>

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