source: trunk/abcl/CHANGES @ 14905

Last change on this file since 14905 was 14905, checked in by Mark Evenson, 7 years ago

abcl-asdf: introspect Maven exectuable output to find libraries

Fixes usage of CFFI with Quicklisp under FreeBSD RELEASE-11.0.

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