source: trunk/abcl/CHANGES @ 15084

Last change on this file since 15084 was 15084, checked in by Mark Evenson, 6 years ago

Miscellaneous fixups to source locations and documentation

Build 1.6.0-SNAPSHOT via Maven.

Fix various ABCL-CONTRIB documentation quirks.

Move Netbeans/Ant? integration into a subdirectory.

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