CHANGES 10.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Version 0.18.1
==============
svn://common-lisp.net/project/armedbear/svn/tags/0.18.1/abcl
(17 Jan, 2010)

Features:

 * Support for printing java objects with print-object
 * Support for disassembling proxied functions

Bugs fixed:

 * maxima works again

15 16
Version 0.18.0
==============
17 18
svn://common-lisp.net/project/armedbear/svn/tags/0.18.0/abcl
(12 Jan, 2010)
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41


Features:

 * Programmable handling of out-of-memory and stack-overflow conditions
 * Faster initial startup (to support Google App Engine)
 * Faster special variable lookup
 * New interface for binding/unwinding special variables
 * Implement (SETF (STREAM-EXTERNAL-FORMAT <stream>) <format>)
 * Implement (SETF (JAVA:JFIELD <object>) <value>)
 * Constant FORMAT strings get compiled for performance


Bugs fixed:

 * FASLs are system default encoding dependent (ticket 77)
 * I/O of charset-unsupported characters causes infinite loop (ticket 76)
 * Memory leak where on unused functions with documentation
 * ANSI PRINT-LEVEL.* tests
 * Continued execution after failing to handle Throwable exceptions
 * Line numbers in generated java classes incorrect
 * JCALL, JNEW doesn't select best match when multiple applicable methods
 * STREAM-EXTERNAL-FORMAT always returns :DEFAULT, instead of actual format
42
 * REPL no longer hangs in Netbeans 6.[578] output window
43
 * Lambda-list variables replaced by surrounding SYMBOL-MACROLET
44 45 46 47 48 49


Other changes

 * LispObject does not inherit from Lisp anymore
 * Many functions declared 'final' for performance improvement
50
 * SYSTEM:*SOURCE* FASLs for system files no longer refer to intermediate build location
51 52


53
Version 0.17.0
54
==============
55 56 57
svn://common-lisp.net/project/armedbear/svn/tags/0.17.0/abcl
(07 Nov, 2009)

58

59
Features:
60

61
  * Google App Engine example project "Hello world"
62 63 64
  * Support for loading FASLs from JAR files
  * Checking of init-arguments for MAKE-INSTANCE (CLOS)
  * Support for *INVOKE-DEBUGGER-HOOK* (to support SLIME)
65 66 67 68 69
  * Reduced abcl.jar size (bytes and number of objects)
  * Faster access to locally bound specials (compiler efficiency)
  * Java property to print autoloading information: abcl.autoload.verbose
  * Experimental: binary fasls
  * Default Ant build target now "abcl.clean abcl.wrapper" (from abcl.help)
70 71 72
  * ConditionThrowable class renamed to ControlTransfer,
      parent class changed to RuntimeException (to make it unchecked)
  * API no longer throws ConditionThrowable/ControlTransfer
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87


Bugs fixed:

  * Better fix for #63: Prevent exceptions from happening (GO and RETURN-FROM)
  * Restore ability for ABCL to be build host for SBCL
  * CLOS performance improvements through looser COMPILE dependency
  * Compilation fix for highest SPEED setting (triggered by CL-BENCH)
  * COMPILE's use of temp files eliminated
  * OpenJDK on Darwin now correctly identified
  * Incorrect block names for SETF functions defined by LABELS
  * Fixed MULTIPLE-VALUE-CALL with more than 8 arguments
  * Incorrect identification of lexical scope on recursive TAGBODY/GO
    and BLOCK/RETURN-FROM blocks (compiler and interpreter)
  * Correctly return 65k in char-code-limit (was 256, incorrectly)
88
  * Fixes to be able to run the BEYOND-ANSI tests (part of ANSI test suite)
89 90 91 92 93 94
  * Compiler typo fix
  * Implementation of mutex functionality moved to lisp from Java
  * Functions handling #n= and #n# are now compiled
  * Autoload cleanups
  * System package creation cleaned up
  * CHAR-CODE-LIMIT correctly reflects CHAR-CODE maximum return value
95 96
  * Precompiler macroexpansion failure for macros expanding into
      special operators
97 98 99 100 101 102 103 104


Version 0.16.1
==============
svn://common-lisp.net/project/armedbear/svn/tags/0.16.1/abcl
(17 Oct, 2009)

Bugs fixed:
105 106 107

  * More careful checking for null args in LispStackFrame
  * Honor appearance of &allow-other-keys in CLOS MAKE-INSTANCE
108
  * Fix #63: GO forms to non-existent TAGBODY labels would exit ABCL
109
  * Don't leak temp files during compilation
110 111

Version 0.16.0
112
==============
113 114 115
(06 SEP 2009)
svn://common-lisp.net/project/armedbear/svn/tags/0.16.0/abcl

116
  Summary of changes:
117
  ------------------
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
  * Fixed generated wrapper for path names with spaces (Windows)
  * Fixed ticket #58: Inspection of Java objects in Lisp code
  * Restored functionality of the built-in profiler
  * Profiler extended with hot-spot counting (as opposed to call counting)
  * Stack sampling in the profiler moved to scheduler thread to
    reduce impact on the program execution thread
  * THE type-checking for the interpreter
    (for simple-enough type specifications)
  * Added structure argument type checking in structure slot
    accessor functions
  * Make GENSYM thread-safe
  * Various performance fixes found by running the raytracer
    from http://www.ffconsultancy.com/languages/ray_tracer/benchmark.html
  * Better initarg checking for make-instance and change-class
    Fixes ansi-test errors CHANGE-CLASS.1.11, MAKE-INSTANCE.ERROR.3,
    MAKE-INSTANCE.ERROR.4, CHANGE-CLASS.ERROR.4 and SHARED-INITIALIZE.ERROR.4
134 135
  * Improve performance of StackFrames (Erik Huelsmann, Ville Voutilainen,
    with input from Peter Graves and Douglas Miles)
136 137
  * Improve performance of CLOS eql-specializers via cache (Anton Vodonosov)
  * 'build-from-lisp.sh' shell script (Tobias Rittweiler)
138
  * New threading primitives aligned with Java/JVM constructs (Erik Huelsmann)
139 140 141 142

      SYNCHRONIZED-ON
      OBJECT-NOTIFY
      OBJECT-NOTIFY-ALL
143
  * THREADS package created to hold threads related primitives:
144 145 146 147 148 149

      THREADP THREAD-UNLOCK THREAD-LOCK THREAD-NAME THREAD-ALIVE-P
      CURRENT-THREAD DESTROY-THREAD INTERRUPT-THREAD WITH-THREAD-LOCK
      MAKE-THREAD-LOCK MAKE-THREAD INTERRUPT-THREAD

      MAPCAR-THREADS
150

151 152 153 154
      GET-MUTEX MAKE-MUTEX WITH-MUTEX RELEASE-MUTEX

    These primitives are still part of the EXTENSIONS package but are
    now to be considered as deprecated, marked to be removed with
155 156 157 158 159 160 161 162 163 164 165
    0.22
  * Stacktraces now contain calls through Java code relevant to
    debugging (Tobias Rittweiler)

    Backtrace functionality been moved from EXT:BACKTRACE-AS-LIST to
    SYS:BACKTRACE to mark this changes.  The methods SYS:FRAME-TO-STRING
    and SYS:FRAME-TO-LIST can be used to inspect the new
    LISP_STACK_FRAME and JAVA_STACK_FRAME objects
  * Various stream input performance optimizations
  * Fixed breakage when combining Gray streams and the pretty printer
  * Performance improvements for resolution of non-recursive #=n and #n#
166

167

168
Version 0.15.0
169
==============
170
svn://common-lisp.net/project/armedbear/svn/tags/0.15.0/abcl
171
(07 Jun, 2009)
172 173

 Summary of changes:
174
 -------------------
175
  * 2 more MOP exported symbols to support Cells port
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
  * Updated FASL version
  * Support (pre)compilation of functions with a non-null lexical environment
  * Compiler and precompiler cleanups
  * 'rt.lisp' copy from ANSI test suite removed
  * Many documentation additions for the (pre)compiler
  * JSR-233 support improvements
  * Refactoring of classes:
   - deleted: CompiledFunction, ClosureTemplateFunction, CompiledClosure,
              Primitive0R, Primitive1R, Primitive2R
   - renamed: CompiledClosure [from ClosureTemplateFunction]
  * Compiler support for non-constant &key and &optional initforms
  * Fixed ticket #21: JVM stack inconsistency [due to use of RET/JSR]
  * Numerous special bindings handling fixes, especially with respect
    to (local) transfer of control with GO/RETURN-FROM
  * Paths retrieved using URL.getPath() require decoding (r11815)
  * Build doesn't work inside paths with spaces (r11813)
  * Compilation of export of a symbol not in *package* (r11808)
  * Moved compiler-related rewriting of forms from precompiler to compiler
  * Removed chained closures ('XEPs') in case of &optional arguments only
  * Loading of SLIME fails under specific conditions (r11791)
  * Binding of *FASL-ANONYMOUS-PACKAGE* breaks specials handling (r11783)
  * Fixed ANSI tests: DO-ALL-SYMBOLS.{6,9,12}, DEFINE-SETF-EXPANDER.{1,6,?},
      MULTIPLE-VALUE-SETQ.{5,8}, SYMBOL-MACROLET.8, COMPILE-FILE.{17,18}
  * COMPILE and COMPILE-FILE second and third values after a failed
      invocation inside the same compilation-unit (r11769)
  * JCLASS on non-existing classes should signal an error (r11762)
  * Dotted lambda lists break interpretation (r11760)
  * Implementation of MACROEXPAND-ALL and COMPILER-LET (r11755)
  * Switch from casting to 'instanceof' for performance (r11754)
  * Google App Engine support: don't die if 'os.arch' isn't set (r11750)
  * Excessive stack use while resolving #n= and #n# (r11474)


Version 0.14.1
210
==============
211 212 213 214
(5 Apr, 2009)
svn://common-lisp.net/project/armedbear/svn/tags/0.14.1/abcl

 Summary of changes:
215
 -------------------
216 217 218
  * Include this CHANGES file and scripting files in the tar and zip files


219
Version 0.14.0
220
==============
221
(5 Apr, 2009)
222 223 224
svn://common-lisp.net/project/armedbear/svn/tags/0.14.0/abcl

 Summary of changes:
225
 -------------------
226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
  * Increased clarity on licensing (Classpath exception
     mentioned in COPYING, removed LICENSE)
  * Resolved infinite recursion on TRACEing the compiler
  * Changes on the lisp based build system for parity with Ant
  * Fixed interpreter creation in Java Scripting
  * libabcl.so no longer created; it was solely about installing
     a SIGINT handler. Libraries should not do that.
  * boxing of LispObject descendants in JCALL/JCALL-RAW fixed
  * OpenBSD and NetBSD platform detection
  * fixed special bindings restores in compiled code for
     MULTIPLE-VALUE-BIND/LET/LET*/PROGV and function bodies
  * introduced variadic list() function to replace list1() ... list9()
  * fix return value type of ACOS with complex argument
  * fixed precision of multiplication of complex values
  * fixed use of COMPILE inside file compilation (i.e. COMPILE-FILE)
  * fix expansion of macros inside RESTART-CASE
     (fixes RESTART-CASE ANSI failures)
  * fix macroexpansion in the precompiler
  * Fixnum and Bignum now use a static factory method;
      constructors are now private -> increases chances of numbers
      being EQ
247
  * Code cleanup in EXPT to fix (EXPT <any-number> <Bignum>)
248 249 250


Version 0.13.0
251
==============
252 253 254 255
(28 Feb, 2009)
svn://common-lisp.net/project/armedbear/svn/tags/0.13.0/abcl

 Summary of changes:
256
 -------------------
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275
  * Separated J and ABCL into two trees
  * Many many compiler code cleanups
  * NetBeans project files
  * Support for CDR6 (See http://cdr.eurolisp.org/document/6/)
  * More efficient code emission in the compiler
  * Ant build targets for testing (abcl.test)
  * Use ConcurrentHashMap to store the lisp threads for increased performance
  * Fix adjustability of expressly adjustable arrays (ticket #28)
  * Fix calculation of upperbound on ASH in the compiler
     (don't calculate numbers too big, instead, return '*')
  * Introduce LispInteger as the super type of Bignum and Fixnum
  * Boxing/unboxing for SingleFloat and DoubleFloat values,
      inclusive of unboxed calculations
  * Fixed URL decoding bug in loadCompiledFunction (use java.net.URLDecoder)
  * Fixed line number counting
  * Inlining of simple calculations (+/-/*)
  * All static fields declared 'final'
  * Add support for java.lang.Long based on Bignum to our FFI