source: tags/1.5.0/CHANGES

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

Further updates to CHANGES

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