source: tags/0.26.0/abcl/CHANGES

Last change on this file was 13385, checked in by ehuelsmann, 13 years ago

Set release date in CHANGES.

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