source: tags/1.1.0/abcl/CHANGES

Last change on this file was 14252, checked in by Mark Evenson, 11 years ago

Changes for abcl-1.1.0.

For John and Yoko.

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