source: trunk/abcl/CHANGES @ 14251

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

Further CHANGES updates.

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