source: trunk/abcl/CHANGES @ 14264

Last change on this file since 14264 was 14264, checked in by Mark Evenson, 8 years ago

Bump trunk to abcl-1.2-dev

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