source: trunk/abcl/CHANGES @ 15280

Last change on this file since 15280 was 15280, checked in by Mark Evenson, 3 years ago

Make javap the default for CL:DISASSEMBLE

Fix system interface for choosing disassemblers. Use
SYS:CHOOSE-DISASSEMBLER to interogate and/or change the active
disassembler for CL:DISASSEMBLER from the available assemblers
enumerated in SYS:*DISASSEMBLERS*. Test the ABCL-INTROSPECT for
loading available disassemblers as part of CI.

Additional disassemblers are collected in the ABCL-INTROSPECT contrib
as top-level ASDF systems. Currently available disassemblers include
OBJECTWEB, JAVAP, JAD, PROCYON, FERNFLOWER, and CFR.

Update OBJECTWEB to ASM framework 8.0.1

Encapsulate the loading and use of javap and jad command line
disassemblers as ASDF systems.

Rename all packages as ABCL-INTROSPECT/mumble/mumble.

Normalize ASDF formatting with dangling ":components" keyword. N.b. I
don't like this convention, as stylistically keyword arguments should
not occur in a line without their parameter, but otherwise ASDF
systems creep into too much screen.

Incomplete initial implementation for PROCYON.

Fix test semantics. Normalize test system ASDF name to
the singular form.

Document the CL:DISASSEMBLER interface in the manual and system
README.

Move the JAD dissassembler into a contrib. This contrib should
introspect the current archicture, download the necessary version of
JAD, and use that but it doesn't yet quite work. Among other
problems, it seems that the PATHNAME-URL implementation used for
downloading has problems on openjdk8 being returned a 403 Forbidden
from the remote server for some unexplained reason, whereas openjdk11
works.

  • Property svn:eol-style set to native
File size: 64.2 KB
Line 
1Version 1.6.2
2=============
3Unreleased
4
5<https://github.com/armedbear/abcl/>
6<https://gitlab.common-lisp.net/abcl/abcl/>
7<https://abcl.org/svn/trunk/abcl/>
8
9Enhancements
10============
11
12* [] Fix and extend SYS:CHOOSE-ASSEMBLER functionality for CL:DISASSEMBLE
13
14
15Version 1.6.1
16=============
17April 24, 2020
18
19<https://abcl.org/svn/tags/1.6.1/>
20<https://abcl.org/trac/changeset/15270>
21<https://github.com/armedbear/abcl/commit/cef85a7f5573733d08117f04295a744f9f986c6a>
22<https://gitlab.common-lisp.net/abcl/abcl/-/commit/1d237263a7a0cda49bf1b21a8cd586642aca99e4>
23
24Enhancements
25------------
26
27* [r15223] Fix compiler for java.lang.VerifyError with PROGN
28  (somewhat-functional-programmer)
29
30* [r15250] ABCL now builds and runs across openjdk{6,7,8,11,13,14}
31
32* [r15256] Build autoconfiguration via ci/create-build-properties.bash
33
34* [r15252] Provide accessor in URL-STREAM for underlying java.io.InputStream
35
36* [r15226] [INCOMPLETE] Address problems with DECODE-FLOAT
37  (Robert Dodier)
38
39
40Fixes
41-----
42
43* [r15229] Maven central repository now requires TLS
44
45* [r15242] jstatic: check narrowing for explicit method reference
46
47* [r15232] [r15233] [r15241] Reworking DWIM on java call sites
48
49   The FFI will now find Java call sites whose types are Short or Byte
50   with integers if they can be narrowed without losing information.
51   This work should be considered provisional, subject to possible
52   revision.
53
54* [r15234] Fix calling Java methods with varargs parameters
55
56* [r15233] Fix calling Java methods with short and byte parameters
57
58* [r15231] abcl-build: test the install of maven-3.6.3
59
60* [r15238] build: ensure javac compiles with UTF-8 encoding
61
62* [r15243] abcl-asdf: rework Maven usage strategy
63
64* [r15245] abcl-asdf: use WITH-AETHER macro to ensure Maven Aether is loaded
65
66* [r15251] abcl-asdf:  assume that either 'which' or 'where' works
67
68Updates
69-------
70
71* [r15240] Use ASDF-3.3.4
72
73
74Tests
75-----
76
77* [r15239] ci: now use latest CFFI distributed with Quicklisp
78
79* [r15247] t/format-dollar: correction for CL:FORMAT dollar usage
80
81* [r15248] t/jcoerce-numerics: JCOERCE across numerics without losing information
82
83* [r15249] t/decode-float: tests for currently broken handling of CL:DECODE-FLOAT
84
85
86Version 1.6.0
87=============
88November 22, 2019
89
90<https://abcl.org/svn/tags/1.6.0>
91
92Compatiblity
93------------
94
95ABCL 1.6.0 supports building and running on openjdk6, openjdk7,
96openjdk8, and openjdk11.
97
98Enhancements
99-----------
100
101* [r15085] Add a restart for generics defined over functions or macros
102  when arguments don't match (Alan).
103
104* [r15086] jss: Disambiguate java class lookup in dynamic scope
105  (Alan).
106
107* [r15087] jss: Optimizations for jss field accessors (Alan).
108
109* [r15089] [r15090] jss: JSS:TO-HASHSET converts java.util.List
110  references to java.util.Hashset (Alan).
111
112* [r15091] jss: Improve JSS:J2LIST, add JSS:JMAP (Olof).
113
114* [r15092] Make JVM class names more intelligible (Olof).
115
116* [r15093] abcl-asdf: Support multiple Maven repositories (Olof).
117
118* [r15101] [r15102] [r15103] abcl-asdf: add test cases for multiple
119  repositories (Olof).
120
121* [r15095] Define undefined conditions and handler functions following
122  error-fun='error pattern (Alan).
123
124* [r15105] jss: make use of warning muffling (Olof).
125
126* [r15133] [r15134] Support building and running in openjdk11.
127
128* [r15142] Signal better error for out-of-bounds CL:REPLACE (Olof).
129
130* [r15148] docker: use the now standardized openjdk8 container,
131  install ant and maven dependencies.
132
133Fixes
134-----
135
136* [r15096] Fix and check array types for JSS:JMAP/J2LIST (Olof).
137
138* [r15097] abcl-asdf: compatiblity with maven-3.5.0.
139
140* [r15099] Export the JVM:*RESIGNAL-COMPILER-WARNINGS* interface.
141
142* [r15100] Fix ASDF usage of MVN module (Olof).
143
144* [r15107] Fix translate-directory-components-aux: throw takes 2
145  arguments (metawilm).
146
147* [r15114] Intern SYSTEM:AVAILABLE-ENCODINGS symbols (Robert Dodier).
148
149* [r15115] abcl-asdf: fix ABCL-ASDF:MVN-MODULE collect request (Alan).
150
151* [r15116] Fix CL:PRINT-OBJECT of null pointer (Alan).
152
153* [r15117] The compiled version of JSS:INVOKE-RESTARGS was evaluating
154  the first argument twice (Alan).
155
156* [r15118] abcl-asdf: stop complaining about not loading a file named
157  the module name (Alan).
158
159* [r15120] Don't evaluate format control string in ReaderError (Javier
160  Olaechea).
161
162* [r15124] Fix monetary floating-point formatted output (Scott
163  Burson).
164
165* [r15125] Stackframe head edge case fix (Alan).
166
167* [r15137] Fix ANSI-TESTS GENSYM.ERROR.10 and GENSYM.ERROR.11 (Douglas
168    Miles).
169
170* [r15138] Fix ANSI-TEST MAKE-CONCATENATED-STREAM.30 failure (Douglas
171    Miles).
172
173* [r15139] Fix ANSI-TESTS FILE-POSITION.10 (Douglas Miles).
174
175* [r15141] compiler: fix stack inconsistency errors
176  (somewhat-functional-programmer).
177
178* [r15143] Check for element type before filling vectors (Olof).
179
180* [r15144] Fix high start index for CL:SUBSEQ (Olof).
181
182* [r15146] JSS read sharp expression bugfixes (Alan).
183
184* [r15149] jss: explicitly scope JSS:TO-HASHSET.
185
186Updates
187-------
188
189* ASDF 3.3.3
190
191* JNA 5.5.0
192
193
194Version 1.5.0
195=============
196June 11, 2017
197
198Enhancements
199------------
200
201* [r14934] ABCL-INTROSPECT a contrib for accessing ABCL compiler
202  information (Alan).
203
204* [r14907] ABCL-AIO all-in-one jar target creates dist/abcl-aio.jar (Alan).
205
206* [r15009] Rework ABCL-BUILD as a contrib which uses UIOP machinery to
207  invoke Ant on <file:build.xml>, unifying all build mechanisms to a single
208  prescriptive source artifact external to Common-Lisp.
209
210* [r14911] [r14955] [r14914]  Source recording on SYS:SOURCE plist
211  PRECOMPILER possibly beta reduce form with function
212  position lambda, record arglist during Build
213
214* [r14912] [r14922] Re-write the ASDF descriptions using secondary systems
215
216* [r14917] build: 'abcl.clean.application.fasls' now cleans only ABCL fasls
217
218* [r14923] Added Dockerfile to package ABCL in Docker
219
220* [r14927] Build add ability to download Maven from Ant
221
222* [r14931] Bless EXT:GET-PID as the offical way to get process id
223
224* [r14947] JSS syntax for access Java fields (Alan)
225
226* [r14962] JSS:J2LIST as a convenience method for turning "anything"
227  in Java to an appropriate Lisp list.
228
229* [r14967] (Provisional) ABCL-ASDF JDK-JAR ASDF class to describe JDK
230  path locations (Alan).
231
232* [r14969] Add QUICKLISP-ABCL:*QUICKLISP-PARENT-DIR* special (Alan).
233
234* [r14978] Implement MAKE-LOAD-FORM for Java fields (Alan).
235
236* [r15013] Restore the ability SYSTEM:CHOOSE-ASSEMBLER to use Objectweb
237
238* [r15018] Enable use of MVN-MODULE in ASDF definitions (Alan).
239
240* [r15019] Add NAMED-READTABLES from <​https://github.com/melisgl/named-readtables>
241
242* [r15062] ABCL-INTROSPECT 'javaparser.asd' definition adds a
243  SHARPSIGN-ONE-QUOTATION_MARK macro to evaluate arbitrary Java expressions
244
245
246Fixes
247-----
248
249* [r14902] Fix CL:OPEN for :DIRECTION :INPUT (pipping)
250
251* [r14903] JNEW-RUNTIME-CLASS Make static functions and :int
252  parameters work.  Fix return conversion for null.  Ensure that the
253  same classloader is used (olof).
254
255* [r14905] ABCL-ASDF uses the value of the reported Maven home to look
256  for libraries, fixing loading CFFI under FreeBSD 11-RELEASE.
257
258* [r14906] JSS:LOOKUP-CLASSNAME would return allcaps class name if not
259  found (alan).
260
261* [r14909] QUICKLISP-ABCL simplify load/compile logic.
262
263* [r14918] JAVA Remove generic Throwable handler from JAVA:JFIELD innards
264
265* [r14919] ABCL-ASDF fix finding Maven on Fedora
266
267* [r14926] ABCL-ASDF fix problems with test suite's reliance on PROVE
268
269* [r14921] CL:DIRECTORY no longer errors on files containing asterisk characters
270
271* [r14950] Fix restart calculation for compiled closures (Alan)
272
273* [r14952] Guard printing of large Java objects (Alan)
274
275* [r14953] Fix debugging frames which don't have a pathname (Alan)
276
277* [r14956] Show function documentation in describe (Alan)
278
279* [r14966] JAVA:CHAIN returns last value of computation (Alan)
280
281* [r14973] ABCL-ASDF probes for "mvn" and "mvn.cmd" under Windows
282
283* [r14974] Standardize the use of CL:*LOAD-VERBOSE* to control loading
284  verbosity.
285
286* [r14976] Fix CL:GET-OUTPUT-STREAM-STRING to reset underlying buffer
287
288* [r14979] Fix JavaObject.getParts() for Java arrays (Alan).
289
290* [r14980] Fix SETF for EXT:URL-PATHNAME-FRAGMENT
291
292* [r14987] Fix CL:MAKE-PATHNAME for explicitly nil HOST
293
294* [r14996] Correctly implement 'time-of-the-time' daylight savings
295  semantics (Scott).
296
297* [r15001] Fix signalling simple error with #\~ in CL:FORMAT string
298  (Alan).
299
300* [r15002] Fix problems with SHARED-INITIALIZE (Olof).
301
302* [r15003] Fix ENSURE-GENERIC-FUNCTION when removing definition (Olof).
303
304* [r15004] Fix DESTRUCTURING-BIND with &rest arguments (Olof)
305
306* [r15024] Optimise LOGCOUNT (Olof).
307
308* [r15026] Support bignum argument for FILE-POSITION (Olof).
309
310* [r15032] Better directory validation; handle :UNSPECIFIC (Olof).
311
312* [r15033] Fix LOOP code size estimation (Olof).
313
314* [r15034] Fix NTH inlining type mismatch (Olof).
315
316* [r15035] Fix byte code verification error in edge case (Olof).
317
318* [r15036] Fix PACKAGE-ERROR-PACKAGE behaviour (Olof).
319
320* [r15037] Fix MAX type derivation (Olof).
321
322* [r15038] Fix NPE if directory can't be accessed (Olof).
323
324* [r15044] Documentation renders less/greater-than characters correctly (Olof).
325
326
327Updates
328-------
329
330* ASDF 3.2.1
331
332
333Version 1.4.0
334=============
33508-OCT-2016
336
337<https://abcl.org/svn/tags/1.4.0/>
338<https://abcl.org/trac/changeset/14888>
339
340Enhancements
341============
342
343* Consolidated RUN-PROGRAM fixes (ferada, pipping)
344
345  In support of getting a more universal UIOP:RUN-PROGAM across all
346  contemporary Lisp implementations.
347
348* Upstream consolidated patchset (ferada)
349
350** [r14857] Support `FILE-POSITION` on string streams.
351** [r14859] Add multiple disassembler selector.
352** [r14860] Add EXTERNAL-ONLY option to APROPOS.
353** [r14861] Fix nested classes from JARs not visible with JSS.
354
355* [r14840-2] (Scott L. Burson) Introduced "time of time" semantics for
356  {encode,decode}-universal time.
357
358* EXTENSIONS:MAKE-TEMP-FILE now takes keyword arguments to
359  specify values of the prefix and suffix strings to the underlying
360  JVM implementation of java.io.File.createTempFile().
361
362* [r14849] EXT:OS-{UNIX,WINDOWS}-P now provide a pre-ASDF runtime check on hosting platform
363
364Fixes
365-----
366
367* [r14863] RandomCharacterFile (vibhu)
368
369* [r14839] (JSS) Ensure the interpolation of Java symbol names as strings (alan ruttenberg)
370
371* [r14889] Fix ANSI-TEST SXHASH.8 (dmiles)
372
373Updates
374------
375
376* [r14883] asdf-3.1.7.27
377
378* [r14849] jna-4.2.2
379
380Removed
381-------
382
383* [r14885] ASDF-INSTALL was removed
384
385
386Version 1.3.3
387=============
38818-SEP-2015
389
390<https://abcl.org/svn/tags/1.3.3/>
391
392
393Enhancements
394------------
395
396*  [r14802,r14813] Add character name for non-breaking space
397
398   Use a human readable name for character 160, #\No-break_space,
399   following sbcl, ccl and clisp. This permits the Quicklisp system
400   spinneret to load.  The #\No-break_space name is a valid
401   CHAR-NAME/NAME-CHAR pair, but is not emitted as a glyph under the
402   current output encoding under the CL:FORMAT "~:c" directive as
403   these implementations do by default.
404
405   Thanks to Javier Olaechea.
406
407Fixes
408-----
409
410* [r14808] CL:FILE-WRITE-DATE fixed for logical pathnames
411
412* ANSI-TEST
413
414** Update references to new git repository at
415   <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git>
416
417** ABCL now runs the git master consolidated ANSI-TEST suite which
418   features subdirectories and distinquished value for
419   *DEFAULT-PATHNAME-DEFAULTS*.
420
421** ABCL.TEST.ANSI:CLEAN-TESTS now acts recursively via appropiate
422   Pathname wildcards to match new directory structure.
423
424* ASDF
425
426  Fix COMPILE-SYSTEM to offer full ANSI environment for ASDF and
427  ABCL-CONTRIB.
428
429* ABCL-ASDF
430
431** Use of Maven has been robustified.
432
433*** [r14803] Fix usage with all known versions through maven-3.3.3
434
435   Addresses <http://abcl.org/trac/ticket/390>.
436
437*** [r14806] Fix usage with specifying local Maven repository
438
439** More complete attempt at re-initialization via
440
441        (ABCL-ASDF:INIT :force t)
442
443
444Version 1.3.2
445=============
44619-APR-2015
447
448<https://abcl.org/svn/tags/1.3.2/>
449
450
451Enhancements
452------------
453
454* Make result of DEFINE-MODIFY-MACRO available at compilation time
455  [r14727]
456
457
458Fixes
459-----
460* Fix failed AVER [#289] [r14763]
461
462* Fix incorrect dead code elimination
463
464  Additionally, don't recurse into flet/labels upon elimination of a
465  single labels function; simply continue by changing the applicable
466  set.  Reported by Vibhu Mohindra. [r14754][r14756]
467
468* Numeric tower repairs on promoting floats across representation
469  boundaries [r14749-50] (Massimiliano Ghilardi).
470
471* Return SIMPLE-ERROR for invalid external-format arguments.[r14735]
472
473* Lisp stack frame representation now formatted as unreadable. [r14738-9]
474
475Contrib
476-------
477
478* JSS
479
480** Fix GET-JAVA-FIELD and SET-JAVA-FIELD [r14718]
481
482** no longer error on NO-SUCH-JAVA-FIELD, by setting fields as
483   accessible where necessary [r14715] [r14725]
484
485* ABCL-ASDF
486
487** Update to current Maven support (keep up with changing APIs through
488   the Maven 3.2.3-3.2.5 hysteresis) [r14742-7] (Cyrus Hamon).
489
490** Special-case JNA artifacts with alternate network location [r14733]
491
492** Further work on ABCL-ASDF:RESOLVE [r14732] (Cyrus Hamon)
493
494** Find Maven under FreeBSD ports [r14723], under OS X Homebrew [r14776]
495
496
497* ABCL-JAR
498
499** Fix ASDF-JAR:PACKAGE [#376] [r14717][r14720][r14736] (Eduardo Bellani)
500
501*  ASDF
502
503** Updated to version 3.1.4.
504
505
506Version 1.3.1
507=============
50830-APR-2014
509
510<https://abcl.org/svn/tags/1.3.1/>
511
512## Fixed
513
514*  The underlying Java Function Interface (JFI) now converts CL:T and
515   CL:NIL to JAVA:+TRUE+ and JAVA:+FALSE+.  Users who wish to
516   reference a JAVA:+NULL+ should do so explicitly.
517   <http://abcl.org/trac/changeset/14694>
518
519*  Make JCALL work in more places.  Thanks to Olof-Joachim Frahm.
520   <http://abcl.org/trac/changeset/14683>
521
522*  Interpolate CL:SLEEP and THREADS:OBJECT-WAIT for timeouts below the
523   Planck timer ("1ns") to a nanosecond.
524   <http://abcl.org/trac/changeset/14679>
525
526*  Update to ASDF 3.1.0.103.
527   <http://abcl.org/trac/changeset/14661>
528
529   Fixes loading of Ironclad and other Quicklisp systems.
530
531*  Fix Uniform Naming Convention (aka "UNC" or "network") paths under Windows.
532   <http://abcl.org/trac/changeset/14659>
533
534   DIRECTORY now works again on UNC paths.
535
536   UNC paths may be either specified with either back slash (#\\) or
537   forward slash (#\/) doubled as the first character in a Pathname
538   namestring.
539
540   The patterns in
541
542        //<server>/<share>/[directories-and-files]
543
544   are parsed as
545
546    <server> is stored as HOST.
547
548    <share> is stored as DEVICE.
549
550    [directories-and-files] gets parsed as per the normal rules under
551    Windows.
552
553   Mixing namestrings with both backslash and slash characters can
554   lead to unpredictable results.  It is recommended not to use
555   backslash characters in namestrings if it can be avoided.  The
556   pathname printed representation is always normalized to using
557   forward slash delimiters.
558
559
560*  Find contrib based on system jar name.
561   <http://abcl.org/trac/changeset/14657>
562
563   From Olof-Joachim Frahm.
564
565
566Version 1.3.0
567=============
56815-MAR-2014
569
570<https://abcl.org/svn/tags/1.3.0/>
571
572
573## Features
574
575*  Make LispStackFrame.UNAVAILABLE_ARG a singleton object,
576   and lazily create the little used portions of the Lisp stack.
577
578    Aggressively cache and control the use of memory by the underlying
579    Lisp stack frame representation by introducing the private
580    LispThread.StackFrame and LispThread.StackSegments classes.
581
582    Contributed by Dmitry Nadezhin.
583
584    LispStackFrame object are allocated on every
585    LispThread.execute(...) .  However, they are seldom [accessed]
586    ([... verify via] inspect[tion of the] stack trace). This patch
587    delays allocation of LispStackFrame? objects until they are
588    requested.  Raw information about stack frames is stored in
589    stack. Stack is an Object[] array (more precisely a list of [...]4
590    [Mib] Object[] arrays).
591
592    ME: We are going to need a way to try to less agressively grab 4Mib
593    chunks in low memory situations.
594
595    Memory profiling of ABCL shows that the classes with largest
596    allocation count are org.armedbear.lisp.LispStackFrame and
597    org.armedbear.lisp.LispStackFrame.UnavailableArgument.
598
599    Contributed by Dmitry Nadezhin.
600
601    [r14572]: http://abcl.org/trac/changeset/14572
602    [r14579]: http://abcl.org/trac/changeset/14579
603
604*  ASDF 3.0.1.94 shipped with the implementation
605
606*  per function call stack and memory exception handler in CL:COMPILE
607
608   Inline calls to jrun-exception-protected (used by handler-bind to
609   catch out of memory conditions).  This commit saves generation
610   roughly 50 cls files.
611
612   [r14552]: http://abcl.org/trac/changeset/14552
613
614*  SYS:SHA256 audited
615
616    The functionality if the SYS:SHA256 algorithim has been audited for
617    use on inputs of single for files with recently shipping ORCL Java 7
618    implementations (through jdk-1.7.0_51).
619
620    [r14582]:  http://abcl.org/trac/changeset/14582
621
622* Connect to NetBeans controlled JDWP via SLIME
623
624    The Netbeans IDE configuration now includes a way to connect to
625    the running-under-jdb ABCL via SLIME.  One needs a version of
626    SLIME able to be loaded from its 'swank.asd' definition. 
627
628* Install 'abcl.jar' and 'abcl-contrib.jar' locally as Maven artifacts
629
630    The Ant `abcl.mvn.install` target now installs build artifacts
631    into the local Maven repository (Olof-Joachim Frahm)
632
633    [r14579]: http://abcl.org/trac/changeset/14606
634
635## Compatibility
636
637*  CL:DIRECTORY
638
639   The implementation specific :RESOLVE-SYMLINKS argument to the ANSI
640   DIRECTORY function has been changed to nil.  This implements
641   behavior closer to SBCL and guarantees that a DIRECTORY operation
642   will not signal a file error.
643
644   [r14619]: http://abcl.org/trac/changeset/14619
645   [ticket-340]: http://abcl.org/trac/ticket/340
646
647## Fixes
648
649*  Fix CL:SLEEP for intervals less than a millisecond. 
650
651   For intervals less than or equal to a nanosecond, including an
652   interval of zero, the current thread merely yields execution to
653   other threads.
654
655   [r14632]: http://abcl.org/trac/changeset/14632
656
657
658## Tested
659
660### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.7.0_51-b13" "x86_64-Mac_OS_X-10.9.1"
661
662### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.8.0-b129" "x86_64-Mac_OS_X-10.9.2"
663
664## Contrib
665
666#### abcl-asdf
667
668*  Now working with both Maven 3.0.x and 3.1.x.  Thanks to Anton for
669   the help!
670
671   [ticket-328]: http://abcl.org/trac/ticket/328
672
673*  cache Maven dependency resolution to avoid repeated lookups.
674
675   Instead of calling ABCL-ASDF:RESOLVE in both the ASDF COMPILE-OP
676   and LOAD-OP, we now cache the result of invocation in COMPILE-OP
677   and add this value in the LOAD-OP phase. Contributed by Cyrus
678   Harmon.
679
680   [r14631]: http://abcl.org/trac/changeset/14631
681
682#### jna
683 
684   Now references jna-4.0.0.  Some incompatibility with CFFI ([in
685   progress with fixing upstream][cffi-easye]).
686
687[cffi-easye]: http://github.com/easye/cffi/
688
689
690Version 1.2.1
691=============
69227-JUN-2013
693
694<http//abcl.org/svn/tags/1.2.1/abcl/CHANGES>
695<http://abcl.org/releases/1.2.1>
696
697*  Tested:  orcl-jdk-1.7.0_25 orcl-jdk-1.6.0_43
698
699** ansi tests rc-2 failing 11-13 of 21708 total. 
700   Some regressions since 1.1.1
701
702*  Stablility fixes; additional Quicklisp compatibility
703
704** Fix (make-instance 'standard-generic-function)
705
706
707Version 1.2.0
708=============
70901-JUN-2013
710
711<https://abcl.org/svn/tags/1.2.0/>
712<https//abcl.org/svn/tags/1.2.0/abcl/CHANGES>
713
714
715Released at ECLM 2013 Madrid, ES // 01 June 2013
716
717   * Package local nicknames to behave like SBCL
718
719   * ASDF 3.0.1 is now shipped with the implementation
720
721   * a more robust MOP implementation
722
723   * Common cases of creating purely synthetic JAVA:JNEW-RUNTIME-CLASS
724     now (mostly) work.  Please report corner cases for fixing.
725
726   * the system autoloader has been extended to cover functions bound to
727     symbol properties
728
729
730
731Version 1.1.1
732=============
73314-FEB-2013
734
735<https://abcl.org/svn/tags/abcl/1.1.1/CHANGES>
736
737
738  * All reported errors with the MOP implementation have been addressed.
739
740  * An autoloader for SETF expansion functions has been implemented,
741    eliminating the errors associated with not being able to use (SETF
742    SYMBOL) without first invoking SYMBOL as a function. [#266
743
744  * All outstanding regressions in the ANSI test suite with respect to
745    abcl-1.0.1 have been fixed.
746 
747  * The ability to resolve Maven components in ASDF system definitions has been restored.
748
749Issues Resolved
750---------------
751
752[#266]  PSETF.47 ANSI regression 
753[#284]  checks in ensure-generic-function-using-class should occur later
754[#296]  SLIME fails to initialize with (SETF DOCUMENTATION) undefined   
755[#198]  Hunchentoot run failure   
756[#228]  Need to implement autoloader facility for SETF functions
757[#288]  Control character names   
758[#290]  Compiling (defvar *foo* '(quote . x)) throws an error
759[#293]  Loop and default value for of-type problem 
760[#294]  Reader doesn't recognize terminating characters in some cases
761[#299]  ABCL-ASDF:MVN components not loading
762
763Version 1.1.0
764=============
76507-DEC-2012
766
767<https://abcl.org/svn/tags/1.1.0/abcl/>
768
769
770Features
771--------
772
773  *  A functioning (A)MOP implementation through the hard work of Rudi
774     Schlatte (@rudi)
775
776  *  The implementation can be used across many more Quicklisp systems
777     through a process of extensive testing.  Thanks @xach!
778
779     Nota bene: all of the following systems need patches to work as
780     of the 2012-10-13 Quicklisp.  All patches have been accepted in
781     at least an initial form by the upstream maintainers.
782
783     ** CLOSER-MOP
784        Quite possible with local patches
785     ** CFFI
786       Needs patches to 2012-10-13 Quicklisp.  [!!?]
787       *** Dynamic interfaces idempotent across process -- no more reloading
788     ** HUNCHENTOOT
789       *** some bugs with underlying streams to be fixed in abcl-1.2-dev
790     ** CXML
791        Basic XML parsing works.  XPath still borked. [???]     
792  *  Java 5 bytecode Compiler
793
794     The internal Lisp-to-Java bytecode compiler has been hardened by
795     regression testing across Quicklisp libraries. 
796
797     **  Extensive interpreter/compiler bug fixes due to access to cl-test-suite [???] @antov
798     ** large objects (?!?)
799
800  *  The facility to construct runtime classes via JNEW-RUNTIME-CLASS (@astalla)
801
802    Pretty close to full coverage of primtives for creating synthethic
803    java classes at runtime.  Easy to extend with your needs; sensible
804    defaults.
805 
806    ** Fields
807    *** getter/setters
808    ** Annotations
809
810
811  * ASDF
812
813     ** Stock ASDF-2.26.6 which includes #+abcl conditional patches
814        for the URL-PATHAME and JAR-PATHNAME implementation extensions
815        to ANSI.
816
817  *  ABCL-CONTRIB
818
819     ** ABCL-ASDF
820
821        Network installation of binary artifacts named by Maven POM uris.
822
823        *** checks at runtime if a given class is present in the
824            accessible classloaders
825
826        *** If the check for the presence of a class fails, find a
827            maven-3.0.4 binary locally, execute its Aether connector
828            to retrieve its transitive dependencies from the network.
829
830      ** JSS
831         
832         Java Syntax Sucks.  q.v [lsw2]
833   
834         Extensive bugfixing wrt. method resolution [#229]
835
836      ** JFLI
837
838         A "captured from the wild" version of what @rich.hickey did before Clojure.
839       
840Changes
841-------
842
843  * [#249] PATHNAME merge semantics DWIMs on an inferred type
844
845  Extends ANSI PATHNAME in a non-conforming manner, which was probably
846  already the case.
847
848  * [r13695] Reimplementation of global symbol macros to avoid using
849    the symbol's value slot.
850
851  * [r13696] DEFMACRO now supports documentation strings as per the
852    ANSI specification.
853
854  * [r13700] ABCL loads under the Weblogic 10.3 application server.
855
856  * [r13768] [#193] Allow zero-length symbols
857 
858  * [r13785] JNEW-RUNTIME-CLASS gets fields and annotations
859 
860  * [r13790] JNEW-RUNTIME-CLASS getters/setters for fields
861
862  * [r13796] [r13797] N3 DOAP description for ABCL
863
864  * [r13803] Build target 'abcl-contrib.jar' packages ABCL-CONTRIB
865
866Fixes
867-----
868
869  * ANSI [#241]
870 
871     ** &AUX parameters fixes RESTAS
872
873   
874  * [#221] Stack exhaustsion on funcall in non-existing package
875
876  * [#113] DEFSTRUCT concurrency
877
878  * [#216][#211] Compiler
879
880    ** stack inconsistency
881
882  * [#187] Better SORT and STABLE-SORT via Jorge Tavares [???]
883
884Issues Resolved
885---------------
886
887    * [#234]    ABCL-ASDF mvn errors with VERSION slot unbound 
888    * [#237]    JNA fails to load blocking CFFI
889    * [#249]    Problems under Ubuntu   
890    * [#250]    SYS:SHA256 does not compile     
891    * [#265]    COMPILE-FILE.2 COMPILE-FILE.2A ANSI regression 
892    * [#268]    ABCL-ASDF working with maven-3.0.3     
893    * [#269]    SLIME cannot browse systems with November Quicklisp     
894    * [#270]    Is BUGS.DEFEGENERIC.1 a valid test?     
895    * [#271]    ASDF-2.26 changes synced upstream
896    * [#272]    DESCRIBE.[14] ANSI regression   rschlatte       
897    * [#275]    ABCL-CONTRIB still provided if abcl-contrib.jar cannot be located       
898    * [#276]    defmethod doesn't call add-method       
899    * [#277]    reinitialize-instance on class metaobjects incorrect
900    * [#113]    DEFSTRUCT redefinition can crash ABCL on MAKE-STRUCT
901    * [#199]    CL:DEFMETHOD fails for &AUX arguments that reference other arguments   
902    * [#213]    ABCL-ASDF breakage on trunk     
903    * [#215]    ABCL-ASDF:RESOLVE should work in more (some?) cases     
904    * [#229]    JSS method resolution failure   
905    * [#246]    CFFI: dynamically generated classes referred from .fasl can not be found after ABCL restart
906    * [#168]    Compilation fails for quicklisp let-plus       
907    * [#187]    Stack Overflow for Worst-case Vector Sort       
908    * [#202]    ENSURE-GENERIC-FUNCTION assumes LAMBDA-LIST is NIL
909    * [#204]    abcl-asdf maybe-parse-mvn ignores version information
910    * [#205]    JSS logic for resolving methods a little wonky (could use better diagnostics on why resolution has failed)     
911    * [#207]    DECLARE should signal conditions when type declarations are violated
912    * [#210]    Add JFLI to contrib     
913    * [#217]    ANSI tests wont run on Revision 14011: /trunk/abcl     
914    * [#219]    Keyword argument checking for lambda lists is too lenient for ANSI     
915    * [#220]    Lambda list checking too lenient       
916    * [#224]    Autoloader fails when *read-XXXX* variables bound to non-standard values       
917    * [#225]    One of the paths in STD-COMPUTE-DISCRIMINATING function not working     
918    * [#235]    Compiled cl+ssl sources not reloadable 
919    * [#241]    &rest and &aux can't coexist anymore in lambda lists   
920    * [#243]    ClassCastException in MAKE-PATHNAME     
921    * [#245]    Slots of a class with a custom meta-class are reported as unbound.     
922    * [#247]    CFFI: $Proxy3 is not assignable to com.sun.jna.Pointer 
923    * [#252]    MOP rework broke profiler?     
924    * [#254]    Cannot load ASDF systems in jar archives with ASDF-BINARY-LOCATIONS-COMPATIBILTY enabled
925    * [#255]    ASDF file encoding specification doesn't work   
926    * [#263]    loading systems from abcl-contrib fails if CLASSPATH has a component with wildcard
927    * [#264]    abcl-asdf.asd broken since revision 14233
928    * [#60      ]Implement USE-FAST-CALLS properly
929    * [#130]    "SLIME under Windows has ""extra"" CRLF"       
930    * [#172]    DOCUMENTATION does not work for generic functions       
931    * [#174]    Conformance bug in time implementation when using SLIME
932    * [#175]    abcl.release target fails occasionally  unassigned     
933    * [#189]    Compiler fails for 'unsigned-byte type declaration     
934    * [#201]    &WHOLE broken in DEFINE-METHOD-COMBINATION     
935    * [#206]    COMPILER-UNSUPPORTED-FEATURE-ERROR is derived from CONDITION, rather than from ERROR   
936    * [#208]    "Files loaded via ""--load <FILE>"" on the command line have no pathname defaults"     
937    * [#211]    closure-common fails to load correctly after compilation       
938    * [#214]    Stack overflow when compiler macro with fallback is triggered   
939    * [#232]    Allow wrapper script to reference install directory instead of build directory
940    * [#192]    ASDF::IMPLEMENTATION-IDENTIFIER contains ABCL build environment identifier
941    * [#195]    prompt is displayed twice when evaluating NIL at the REPL
942
943Version 1.0.1
944==============
94509-JAN-2012
946
947<https://abcl.org/svn/tags/1.0.1/abcl/>
948
949
950Changes
951-------
952
953  * Updated ASDF to 2.019
954
955  * User Manual now contains more polished formating from docstring
956    groveling, an index of symbols, and additional enhancements.
957
958  * 'abcl.properties.in' now contains examples of optimizing the ABCL
959    wrapper script for 64bit instances for Java7 and for Java6. 
960
961  * [r13720] Randomize string hash computation to guard against
962    exploits.
963
964  * [r13723] New internal API in Package.java for looking up internal
965    vs. external symbols.
966
967Fixes
968-----
969
970  * [#181][r13718] The implementation now correctly loads ASDF definitions
971    from jar archives.  This had prevented the ABCL-CONTRIB loading
972    mechanism from working.
973
974  * [#177] Made the mechanism for locating the abcl-contrib archive
975    more robust
976
977  * [#177] LIST-DIRECTORY no longer ignores :RESOLVE-SYMLINKS
978
979  * [r13706] Fix Streadm.readToken() bug reported by Blake McBride.
980
981  * [#183][r13703] Move threads-jss.lisp out of system source to
982    restore conditional recompilation logic.
983
984
985Version 1.0.0
986==============
98722-OCT-2011
988
989<https://abcl.org/svn/tags/1.0.0/abcl/>
990
991Released at the European Common Lisp Meeting Amsterdam 2011
992
993
994Features
995--------
996
997 * (Draft) manual
998
999 * Much better Quicklisp system capabilities (trivial-garbage,
1000 bordeaux-threads, parenscript, cxml, et. al.)
1001
1002Changes
1003-------
1004
1005 * Updated ASDF to 2.017.22
1006
1007Fixes
1008-----
1009
1010 * CLOSURE-HTML now compiles
1011
1012 * DEFINE-METHOD-COMBINATION long form implemented
1013
1014
1015Version 0.27.0
1016==============
1017
1018<https://abcl.org/svn/tags/0.27.0/>
1019
1020
1021Features
1022--------
1023
1024 * ABCL works as an SBCL build host
1025
1026 * Huge (> 64k) literal object support (fixes CL-UNICODE support)
1027
1028 * The ABCL-ASDF contrib allows the specification of JAR-FILE or
1029   JAR-DIRECTORY components that can be resolved via a PATHNAME.  The
1030   MVN component bootstraps a Maven3 Aether connector to locally
1031   replicate a versioned jar artifact for dynamic inclusion in the
1032   CLASSPATH.
1033
1034Changes
1035-------
1036
1037 * Renamed LispObject.writeToString() method to (more Lispy) printObject()
1038
1039 * New LispObject.princToString() for user readable output
1040
1041 * Changed behaviour of LispObject.unreadableString() to signal
1042   errors when *PRINT-READABLY* is non-NIL
1043
1044 * Static initializers moved to <clinit>() (java: static { }) to
1045   prevent repeated execution when invoking the constructor multiple times
1046
1047 * Compiler clean-ups
1048
1049 * Changed implementation of LABELS to eliminate the need
1050   to *always* create a closure
1051
1052 * File compiler (COMPILE-FILE) clean-ups
1053
1054 * When calling a function with the wrong number of arguments,
1055   report the expected (range) of arguments
1056
1057 * Upgraded ASDF to 2.017
1058
1059 * JSS:JLIST-TO-LIST now converts any java.list.List to a Lisp list.
1060
1061 * The ASDF extensions from JSS for the "jar-directory", "jar-file",
1062   and "class-file-directory" types have been refactored into the
1063   ABCL-ASDF contrib as well as the *ADDED-TO-CLASSPATH* variable
1064   which records dynamically added dependencies.  Use the
1065   JSS:ENSURE-COMPATIBILITY function to have JSS include these
1066   dependencies. 
1067
1068*  As long as ABCL-ASDF:ENSURE-MVN-VERSION can dynamically introspect
1069   and then load Maven 3 libraries at runtime, ASDF components of type
1070   MVN can now be used to specify versioned JVM artifacts.
1071
1072 * Threads spawned by THREADS:MAKE-THREAD can terminate the Lisp image
1073   via the EXT:QUIT and EXT:EXIT functions.
1074
1075
1076Fixes
1077-----
1078
1079 * MULTIPLE-VALUE-PROG1.10 (ansi test) fixed
1080
1081 * [ticket #148] READTABLE-CASE :INVERT doesn't work for uninterned symbols
1082
1083 * [ticket #161] READTABLE-CASE of current readtable affects FASL content
1084
1085 * [ticket #162] Non-symbol in variable position of SETQ form causes
1086   class verification failure
1087
1088 * [ticket #163] Local functions shadow global macro and function bindings
1089   (fixes PARENSCRIPT support)
1090
1091 * [ticket 158] Readable printing of the string "#<abc>" does not signal
1092   a PRINT-NOT-READABLE error anymore
1093
1094 * Fixed SYNTAX.SHARP-BACKSLASH.6 and SYNTAX.SHARP-BACKSLASH.7
1095
1096 * Fixed many PPRINT.* test suite failures
1097
1098 * [ticket #151] LOAD fails for whitespace in JAR-PATHNAME
1099
1100
1101Version 0.26.2
1102==============
110314-AUG-2011
1104
1105<http://abcl.org/svn/tags/0.26.2/abcl>
1106
1107Features
1108--------
1109  * Enable compilation with Java 7
1110
1111Fixes
1112-----
1113  * Fix loading from fasls under Windows with whitespace in pathname.
1114
1115  * Fix #131: Don't include ':' in the version string.
1116
1117  * Fix #141: SETF of APPLY not working with arbitrary function.
1118
1119  * Include filename in the error string being reported.
1120
1121  * Include the test source in the release.
1122
1123  * Include ASDF definition in source release.
1124 
1125
1126Version 0.26.1
1127==============
112827-JUL-2011
1129
1130<https://abcl.org/svn/tags/0.26.1/abcl>
1131
1132Features
1133--------
1134
1135 * Upgrade ASDF to 2.017.
1136
1137Fixes
1138-----
1139
1140 * Fix compilation problems by including the
1141   org.armedbear.lisp.protocol source in the build process
1142
1143 * Printing of conditions defined with DEFINE-CONDITION
1144
1145 * Regression with failing SYNTAX.SHARP-BACKSLASH.6
1146   and SYNTAX.SHARP-BACKSLASH.7 ANSI test suite failures
1147
1148 * Multiple failures in PPRINT.* ANSI test suite failures
1149
1150 * String interop with Java for strings with fill pointer
1151
1152 * Made #\Uxxxx a synonym for character codes with values greater than
1153   255 on input, but never output as the character name by the
1154   implementation.
1155
1156Version 0.26.0
1157==============
115810-JUL-2011
1159
1160<https://abcl.org/svn/tags/0.26.0/abcl>
1161
1162Features
1163--------
1164
1165 * Add support for weak reference objects
1166
1167 * Add support for finalizers on LispObject derived classes
1168
1169 * Upgrade ASDF to 2.0.16.1
1170
1171 * #\ reader macro now understands #\uNNNN as unicode codepoints
1172
1173 * JAVA:JRESOLVE-METHOD returns same method as would have been
1174   called by JAVA:JCALL with the same arguments
1175
1176 * Ant 'update' target to upload application to Google App Engine
1177
1178 * Simple RUN-PROGRAM implementation
1179
1180 * Support for custom slot definitions according to AMOP
1181
1182 * New JAVA:*JAVA-OBJECT-TO-STRING-LENGTH* variable to control pretty
1183   printing of Java objects
1184
1185 * JSS - more dynamic Lisp/Java FFI - (http://lsw2.googlecode.com/svn/trunk)
1186   imported
1187
1188 * (REQUIRE :ABCL-CONTRIB) adds 'abcl-contrib.jar' to the ASDF search path
1189
1190 * Support for weak references in hash tables through a :WEAKNESS keyword
1191   argument to MAKE-HASH-TABLE; with SYS:HASH-TABLE-WEAKNESS for inspection
1192
1193 * Support for loading ASDF systems from JAR archives
1194
1195 * Fast SHA1, SHA256 and SHA512 cryptographic hashes for files
1196
1197 * Beginnings of a manual
1198
1199 * ABCL/ASDF integration with Maven provided systems
1200
1201 * ASDF-JAR:PACKAGE function to package ASDF systems into JARs
1202
1203Changes
1204=======
1205
1206 * Reduced code size in the compiler by changing COMPILE-TEST-FORM
1207
1208 * Enhanced SLIME inspector for JAVA:JAVA-OBJECT
1209
1210 * Reimplemented MERGE-PATHNAMES
1211
1212 * TRANSLATE-PATHNAME aligned with SBCL's behaviour if version is wild
1213
1214 * Removed PRINT-OBJECT methods duplicating Java side code
1215
1216 * Refactored code in SYSTEM:ZIP function
1217
1218 * Allow JCOERCE to convert any number to java.lang.Byte (using
1219   its two's complement)
1220
1221 * Replace MAKE-IMMEDIATE-OBJECT with +NULL+, +TRUE+ and +FALSE+ constants
1222   (the only supported ones)
1223
1224 * Better separation between java-collections package and Java FFI
1225
1226 * JAVA:ADD-TO-CLASSPATH is now a generic function
1227
1228Fixes
1229=====
1230
1231 * Google App Engine example fixed
1232
1233 * MAKE-PATHNAME erroneously merges directories as in MERGE-PATHNAME
1234
1235 * Pretty printer routines using SYS:OUTPUT-OBJECT with GRAY-STREAM
1236
1237 * Value of *PRINT-CASE* affects file (to FASL) compilation
1238
1239 * MAKE-PATHNAME ignores version in :DEFAULTS
1240
1241 * URI decoding algorithm in Pathname.java
1242
1243 * JNEW-ARRAY-FROM-ARRAY should create byte[] arrays
1244
1245Version 0.25.0
1246==============
124710-MAR-2011
1248
1249<https://abcl.org/svn/tags/0.25.0/abcl>
1250
1251
1252Features
1253--------
1254
1255* Add :resolve-symlinks keyword argument for DIRECTORY.
1256
1257* Support -- as a command line parameter for the REPL.
1258
1259* Preliminary support for Maven deployment.
1260
1261* Add an initargs cache for speedups in check-initargs. This should
1262  make the initarg checking in CLOS quite a bit faster.
1263
1264* Incorporate output of 'svnversion' into LISP-IMPLEMENTATION-VERSION.
1265
1266* Ant target for generating Javadoc.
1267
1268Fixes
1269-----
1270
1271* [svn r13229] Remove non-existing THREAD-LOCK and THREAD-UNLOCK from autoloads.
1272
1273* [svn 13228] Fix incorrect elimination of named local functions
1274  declared inline when they're actually reified in the flet/labels body.
1275
1276* [svn r13217] Forward-referenced classes work properly now.
1277
1278* [svn r13209] Add initarg checking to REINITIALIZE-INSTANCE.
1279
1280* [svn r13204] FINALIZE-INHERITANCE is (more) AMOP compatible.
1281
1282* [svn r13203] Create ATOMIC-DEFGENERIC macro, in order to eliminate
1283  FMAKUNBOUND calls and the resulting windows where no function is bound to
1284  symbols which are the most essential building blocks in CLOS/AMOP.
1285
1286* [svn r13200] Atomically swap generic functions into place of temporary
1287  DEFUNs for all standard-class slot accessors.
1288  Note: This addresses the recursive requirement to be able
1289  to allocate objects and classes while changing the functions
1290  used to create them.
1291
1292* [svn r13196] Provide more context regarding the reason of autoloading.
1293  Note: This change *hugely* helps debugging.
1294
1295* [svn r13189] Fix MACROEXPAND-ALL autoloader which should be
1296  loaded from 'format.lisp'.
1297
1298* [svn r13188] Fix DEFSTRUCT trying to generate accessors named NIL
1299
1300* [svn r13187] Fix #125: FASL reader should not convert symbol
1301  case [Qi FASL loading issues].
1302
1303* [svn r13185] Fix #119: Incorrect dynamic environment for
1304  evaluation of :CLASS allocation slot initforms.
1305
1306* [svn r13182-r13184] Fix error printing issues.
1307
1308* [svn r13181] Increase autoload verbosity: include FASLs too
1309  (not only Java classes).
1310
1311Changes
1312-------
1313
1314* Merge 'unsafe-p-removal' branch.
1315
1316Version 0.24.0
1317==============
131822-JAN-2011
1319
1320<https://abcl.org/svn/tags/0.24.0/abcl>
1321
1322Features
1323--------
1324
1325* [svn r130103-r13107] Implemented JNULL_REF_P to distinguish a
1326  JAVA-OBJECT which contains a Java "null" from the Lisp NIL.
1327
1328* [svn r13102] More type-conversion helpers in JAVA package:
1329  LIST-FROM-JARRAY, VECTOR-FROM-JARRAY, and LIST-FROM-JENUMERATION.
1330
1331* [svn r13078] JVM::MAKE-CLASS-INTERFACE-FILE provides an interface
1332  for the creation of Java interfaces as serialized by the new
1333  classwriter code.  An example of use can be found in
1334  "examples/misc/dynamic-interfaces.lisp".
1335
1336* [svn r13087] Upgraded to ASDF-2.012
1337
1338
1339Fixes
1340-----
1341
1342* [svn r13135] Fix the problem that FASLs can contain
1343  a limited number of functions.
1344
1345* [svn r13117][ticket #117] Fix stack inconsistency error.
1346
1347* [svn r13018][ticket #114] Fix strange backtrace growth.
1348
1349* [svn r13105] Fix Pathname.java failing to find boot.lisp in an
1350  "unpacked JAR" situation found by running ABCL in the Glassfish v3
1351  servlet container.
1352
1353* [svn r13096] For arrays, add initialization with the default value
1354  of the element type if neither INITIAL-ELEMENT nor INITIAL-CONTENT
1355  have been specified.  Found by: dmalves_ (freenode irc nick).
1356
1357* [svn r13094] Eliminate flushes after every character in
1358  javax.scripting support.
1359
1360* [svn r13090] Make --batch exit, use Lisp.exit() in places where
1361  applicable so that the streams are flushed, hence allowing --eval
1362  output to be flushed.
1363
1364* [svn r13088] Fix algorithim error in writing byte sequences via
1365  RandomAccessCharacterFile.  Found and fixed by David Kirkman.
1366
1367
1368Changes
1369-------
1370
1371* [svn r13141-13146,13156] Make ABCL a well behaving library to better
1372  support embedding: NEVER call System.exit() again.  Instead, ABCL now
1373  throws org.armedbear.lisp.ProcessingTerminated and
1374  org.armedbear.lisp.IntegrityError.
1375
1376* [svn r13111] Added a "tools" directory available in SVN repository
1377  to contain tools for developing ABCL in various states.  The first
1378  inhabitant is 'code-grapher.lisp' that provides a prototype to
1379  diagram a JVM instruction sequence via graphviz.
1380
1381* [svn r13101] Reduced verbosity of the AbclScriptEngine.
1382
1383* [svn r13097-13100] Slight refactoring of PATHNAME code, further
1384  specifying URI escaping rules.
1385
1386* [svn r13091-2] Better error reporting for UnhandledCondition thrown
1387  from the Interpreter, storing the originating Java error in the
1388  "cause" field if the cause is a subclass of JAVA_EXCEPTION.
1389
1390
1391Version 0.23.1
1392==============
139301-DEC-2010
1394
1395<https://abcl.org/svn/tags/0.23.1/abcl>
1396
1397
1398Fixes
1399-----
1400
1401* [svn r13509-10] Allow JSR-223 clients to query ABCL metadata without
1402  incurring the entire interpreter startup time.
1403
1404* [svn r13506] Fix probles with loading FASLs in directories
1405  containing whitespace characters.
1406 
1407  We now require all PATHNAME objects constructed via a namestring
1408  containing the "file" scheme to be URI encoded according to
1409  RFC3986. 
1410
1411
1412Version 0.23
1413============
141425-NOV-2010
1415
1416<https://abcl.org/svn/tags/0.23.0/abcl>
1417
1418
1419Features
1420--------
1421
1422* [svn r12986] Update to ASDF 2.010.1
1423
1424* [svn r12982] Experimental support for the long form
1425     of DEFINE-METHOD-COMBINATION
1426
1427* [svn r12994] New java-interop macros: CHAIN and JMETHOD-LET
1428
1429* [svn r13030-31,r13034] ASDF-INSTALL improvements: Ensure that the
1430     ASDF registry contains the ASDF-INSTALL locations.  Better
1431     resolution mechanism for 'gpg' binary.
1432
1433Fixes
1434-----
1435
1436* [svn r13039] Restore the Lisp-based build
1437
1438* [ticket #108][svn r13027] Fix download problems with ASDF-INSTALL
1439
1440* [svn r12995-12997] Changes to generated byte code to prevent JRockit JVM
1441     from crashing when optimizing it
1442
1443* Various fixes in order to complete the Maxima test suite without failures
1444
1445* [ticket #98] THREAD type specifier not exported from the THREADS package
1446
1447* [svn r12946] Fix CLOS thread-safety
1448
1449* [svn r12930] Fix non-constantness of constant symbols when using SET
1450
1451* [svn r12929] Don't throw conditions on floating point underflow
1452    (fixes Maxima failures)
1453
1454* [svn r12928] Fix for Java-collections-as-lisp-sequences support
1455
1456* [svn r12927] Fix for regression to moved threads related symbols
1457
1458* [ticket #104] SET changes value of symbols defined with DEFCONSTANT
1459
1460* [ticket #88] Need a predicate to indicate source of compiled version
1461      ie Java vs Lisp
1462
1463* [ticket #106] DEFSTRUCT :include with :conc-name creating overwriting
1464      inherited slot accessors
1465
1466* [ticket #97] Symbol imported in multiple packages reported multiple
1467      times by APROPOS
1468
1469* [ticket #107] Incorrect compilation of (SETF STRUCTURE-REF) expansion
1470
1471* [ticket #105] DIRECTORY ignores :WILD-INFERIORS
1472
1473Other
1474-----
1475
1476* [svn r12918] Compiler byte code generator cleanup: introduction
1477      of generic class file writer, elimination of special purpose code
1478      in the compiler.
1479
1480* Number of hashtable implementations reduced to 1 (from 5)
1481
1482* Reduced use of 'synchronized' global hash table access by using
1483      the java.util.concurrent package
1484
1485Version 0.22
1486============
148724-SEP-2010
1488
1489<https://abcl.org/svn/tags/0.22.0/abcl>
1490
1491Fixes
1492-----
1493
1494* [svn r12902] Fix reading data with scandinavian latin1 characters
1495
1496* [svn r12906] Respect the CLASSPATH environment variable in the
1497  abcl wrapper scripts
1498
1499* [ticket #103] DOCUMENTATION not autoloaded
1500
1501Other
1502-----
1503
1504* [svn r12819] Until-0.22-compatibility hacks (in threads support) removed
1505
1506
1507
1508Version 0.21
1509============
151024-JUL-2010
1511
1512<https://abcl.org/svn/tags/0.21.0/abcl>
1513
1514
1515Features
1516--------
1517
1518* [svn r12818] Update to ASDF 2.004
1519
1520* [svn r12738-805] Support for custom CLOS slot definitions and
1521  custom class options.
1522
1523* [svn r12756] slot-* functions work on structures too.
1524
1525* [svn r12774] Improved Java integration: jmake-proxy can implement
1526  more than one interface.
1527
1528* [svn r12773] Improved Java integration: functions to dynamically
1529  manipulate the classpath.
1530
1531* [svn r12755] Improved Java integration: CL:STRING can convert Java
1532  strings to Lisp strings.
1533
1534Fixes
1535-----
1536
1537* [svn 12809-10-20] Various printing fixes.
1538
1539* [svn 12804] Fixed elimination of unused local functions shadowed by macrolet.
1540
1541* [svn r12798-803] Fixed pathname serialization across OSes.
1542  On Windows pathnames are always printed with forward slashes,
1543  but can still be read with backslashes.
1544
1545* [svn r12740] Make JSR-223 classes compilable with Java 1.5
1546
1547Other
1548-----
1549
1550* [svn r12754] Changed class file generation and FASL loading
1551  to minimize reflection.
1552
1553* [svn r12734] A minimal Swing GUI Console with a REPL
1554  is now included with ABCL.
1555
1556Version 0.20
1557============
155824-MAY-2010
1559
1560<https://abcl.org/svn/tags/0.20.0/abcl>
1561
1562
1563Features
1564--------
1565
1566* [svn r12576] Support for CLOS METACLASS feature.
1567
1568* [svn r12591-602] Consolidation of copy/paste code in the readers.
1569
1570* [svn r12619] Update to ASDF2 (specifically to ASDF 1.719).
1571
1572* [svn r12620] Use interpreted function in FASL when compilation fails.
1573
1574* [ticket #95] PATHNAME-JAR and PATHNAME-URL subtypes now handle jar
1575  and URL references working for OPEN, LOAD, PROBE-FILE,
1576  FILE-WRITE-DATE, DIRECTORY, et. al.
1577
1578* Many small speed improvements (by marking functions 'final').
1579
1580* [ticket #91] Threads started through MAKE-THREAD now have a
1581    thread-termination restart available in their debugger.
1582
1583* [svn r12663] JCLASS supports an optional class-loader argument.
1584
1585* [svn r12634] THREADS:THREAD-JOIN implemented.
1586
1587* [svn r12671] Site specific initialization code can be included in
1588  builds via the 'abcl.startup.file' Ant property.
1589
1590Fixes
1591-----
1592
1593* [ticket #89] Inlining of READ-LINE broken when the return value
1594    is unused.
1595
1596* [svn r12636] Java class verification error when compiling PROGV
1597    in a context wanting an unboxed return value (typically a
1598    logical expression).
1599
1600* [svn r12635] ABCL loads stale fasls instead of updated source
1601    even when LOAD is called with a file name without extension.
1602
1603* [ticket #92] Codepoints between #xD800 and #xDFFF are incorrectly
1604    returned as characters from CODE-CHAR.
1605
1606* [ticket #93] Reader doesn't handle zero returned values from
1607    macro functions correctly.
1608
1609* [ticket #79] Different, yet similarly named, uninterned symbols
1610    are incorrectly coalesced into the same object in a fasl.
1611
1612* [ticket #86] No restarts available to kill a thread, if none
1613    bound by user code.
1614
1615* [svn r12586] Increased function dispatch speed by eliminating
1616    FIND-CLASS calls (replacing them by constant references).
1617
1618* [svn r12656] PATHNAME-JAR now properly uses HTTP/1.1 HEAD requests
1619  to detect if remote resource has been changed.
1620
1621* [svn r12643] PATHNAME-JAR now properly references Windows drive
1622    letters on DEVICE other than the default.
1623
1624* [svn r12621] Missing 'build-from-lisp.sh' referenced in README now
1625    included in source release.
1626
1627Other
1628-----
1629
1630* [svn r12581] LispCharacter() constructors made private, in favor
1631    of getInstance() for better re-use of pre-constructed characters.
1632
1633* [svn r12583] JAVA-CLASS reimplemented in Lisp.
1634
1635* [svn r12673] Load 'system.lisp' moved later in boot sequence so
1636    unhandled conditions drop to debugger.
1637
1638* [svn r12675] '--nosystem' commandline option inhibits loading of
1639    'system.lisp'.
1640
1641* [svn r12642] Under Windows, pathname TYPE components can now contain
1642    embedded periods iff they end in '.lnk' to support shortcuts.
1643
1644
1645Version 0.19
1646============
164714-MAR-2010
1648
1649<https://abcl.org/svn/tags/0.19/abcl>
1650
1651
1652Features
1653--------
1654
1655* [svn r12518] *DISASSEMBLER* may now contain a hook which returns the
1656  command to disassemble compiled functions.
1657
1658* [svn r12516] An implementation of user-extensible sequences as
1659  proposed in Christopher Rhodes, "User-extensible sequences in Common
1660  Lisp", Proc. of the 2007 International Lisp Conference.
1661
1662* [svn r12513] Implement SYS:SRC and SYS:JAVA logical pathname
1663  translations for system Lisp source and the root of the Java package
1664  structure, respectively.
1665
1666* [svn r12505] All calls to anonymous functions and local functions that have
1667  been declared inline are now converted to LET* forms, reducing stack usage
1668  and the number of generated classes.
1669
1670* [svn r12487] An initial port ASDF-INSTALL now forms the first ABCL
1671  contrib.  Such contribs are optionally built by the Ant target
1672  'abcl.contrib'.  ASDF-INSTALL is not expected to work very well
1673  under Windows in its present state.
1674
1675* [svn r12447] [ticket:80] REQUIRE now searches for ASDF systems.
1676
1677* [svn r12422] Jar pathname support extensively re-worked and tested
1678  so that LOAD, PROBE-FILE, TRUENAME, DIRECTORY, and WRITE-FILE-DATE
1679  all work both for local and remote jar pathnames of the form
1680  "jar:URL!/JAR-ENTRY".
1681
1682  The loading ASDF systems from jar files is now possible.
1683
1684  SYS:PATHNAME-JAR-P predicate signals whether a pathname references a
1685  jar.
1686
1687  NB: jar pathnames do *not* currently work as an argument to OPEN.
1688
1689  SYS:UNZIP implemented to unpack ZIP files.
1690
1691  SYS:ZIP now has a three argument version for creating zip files with
1692  hierarchical entries.
1693
1694* [svn r12450] Collect unprocessed command-line arguments in
1695  EXT:*COMMAND-LINE-ARGUMENT-LIST* (Dennis Lambe Jr.)
1696
1697* [svn r12414] SYS::%GET-OUTPUT-STREAM-ARRAY returns a Lisp byte array
1698  from a Java byte array stream.
1699
1700* [svn 12402] ABCL.TEST.LISP:RUN-MATCHING will now execute that subset
1701  of tests which match a string.
1702
1703
1704Fixes/Optimizations
1705-------------------
1706
1707* [svn r12526] Unbinding of PROGV bound variables on local transfer
1708  of control (within-java-function jump targets)
1709
1710* [svn r12510] The new ansi-test WITH-STANDARD-IO-SYNTAX.23 passes.
1711  Our with-standard-io-syntax implementation now correctly resets all necessary
1712  pprint variables. Patch by Douglas R. Miles, thanks for the contribution!
1713
1714* [svn r12485] Pathnames starting with "." can now have TYPE.
1715
1716* [svn r12484] FASLs containing "." characters not used to indicate
1717  type (i.e. ".foo.bar.baz.abcl") can now be loaded.
1718
1719* [svn r12422] Pathname.java URL contructor under Windows now properly
1720  interprets the drive letter.
1721
1722* [svn r12449] The 'abcl.jar' produced by Netbeans now contains a valid
1723  manifest (found by Paul Griffionen).
1724
1725* [svn r12441] ZipCache now caches all references to ZipFiles based on
1726  the last-modified time for local files.  Remote files are always
1727  retrieved due to problems in the underlying JVM code.
1728
1729  SYS:REMOVE-ZIP-CACHE implements a way to invalidate an entry given a
1730  pathname.
1731
1732* [svn r12439] Remove duplication of java options in Windows
1733  'abcl.bat' script.
1734
1735* [svn r12437] CHAR-CODE-LIMIT is the upper execlusive limit (found by
1736  Paul Griffionen).
1737
1738* [svn r12436] Describe formatting was missing a newline (reported by
1739  Blake McBride).
1740
1741* [svn 12469] Ensure that FILE-ERROR always has a value (possibly NIL)
1742  for its PATHNAME member.
1743
1744* [svn r14222] MERGE-PATHNAMES no longer potentially shares structure
1745  between its result and *DEFAULT-PATHNAME-DEFAULTS*.
1746
1747* [svn r12416] Fixed ANSI LAMBDA.nn test failures caused by errors in
1748  lambda inlining.
1749
1750* [svn r12417] [ticket:83] Fix TRANSLATE-LOGICAL-PATHNAME regression.
1751  (Alan Ruttenberg).
1752
1753* [svn r12412] Optimize memory efficiency of FORMAT by use of a
1754  hashtable rather than a CHAR-CODE-LIMIT array.
1755
1756* [svn r12408] FIND-SYMBOL requires a  string argument.
1757
1758* [svn r12400] Make NIL (as symbol) available to the compiler.
1759
1760* [svn r12398] Move lambda list analysis to compile time where possible.
1761
1762* [svn r12397] BROADCAST-STREAM obeys default external format fixing
1763  ANSI MAKE-BROADCAST-STREAM.8.
1764
1765* [svn r12395] Improve arglist display for SLIME (Matthias Hölzl).
1766
1767* [svn r12394] Optimize array utilization in closures.
1768
1769* [svn r12393] Optimize array functions in compiler which don't
1770  require clearing the VALUES array.
1771
1772* [svn r12392] Optimize/normalize aspects of boot.lisp
1773
1774* [svn r12391] Prevent duplicated subclasses form occuring.
1775
1776
1777Other
1778-----
1779
1780* [svn r12447] SYS::*MODULE-PROVIDER-FUNCTION* now provides a mechanism
1781  to extend the REQUIRE resolver mechanism at runtime.
1782
1783* [svn r12430] Ant based build no longer writes temporary files to
1784  contain the Lisp build instructions.
1785
1786* [svn r12481] STANDARD-CLASS now has slots to be inherited by
1787  deriving metaclasses in support of the (in progress) work on
1788  metaclass.
1789
1790* [svn r12425] No longer ignore the METACLASS defclass option in
1791  support of the (in progress) work on metaclass
1792
1793* [svn r12422] SYS::*LOAD-TRUENAME-FASL* now contains the TRUENAME of
1794  the Java "*.cls" component when loading a packed FASL.
1795
1796* [svn r12461] Human readable Java representations for class cast
1797  exceptions for NULL and UNBOUND values.
1798
1799* [svn r12453 et. ff.] Large numbers of the implementation of Java
1800  primitives have been declared in a way so that a stack trace
1801  provides a much more readable indication of what has been invoked.
1802  Primitives which extend Primitive are prefixed with "pf_"; those
1803  which extend SpecialOperator are prefixed with "sf_".
1804
1805* [svn r12422] The internal structure of a jar pathname has changed.
1806  Previously a pathname with a DEVICE that was itself a pathname
1807  referenced a jar.  This convention was not able to simultaneously
1808  represent both jar entries that were themselves jar files (as occurs
1809  with packed FASLs within JARs) and devices which refer to drive
1810  letters under Windows.  Now, a pathname which refers to a jar has a
1811  DEVICE which is a proper list of at most two entries.  The first
1812  entry always references the "outer jar", and the second entry (if it
1813  exists) references the "inner jar".
1814
1815* [svn r12419] Ant 'abcl.release' target centralizes the build steps
1816  necessary for creating releases.
1817
1818* [svn r12409] Compiler now rewrites function calls with (LAMBDA 
) as
1819  the operator to LET* forms.
1820
1821* [svn r12415] CLASS-FILE renamed to ABCL-CLASS-FILE to prepare for
1822  (in progress) reworking of Stream inheritance.
1823
1824* [svn r123406] 'test/lisp/abcl/bugs.lisp' forms a default location to
1825  add unit tests for current bug testing.  The intention is to move
1826  these tests into the proper location elsewhere in the test suite
1827  once they have been fixed.
1828
1829* [svn r124040] Java tests upgraded to use junit-4.8.1.  Netbeans
1830  project runtime classpath now uses compilation results before source
1831  directory, allowing the invocation of ABCL in interpreted mode if
1832  the Ant 'abcl.compile.lisp.skip' property is set.  Java unit tests
1833  for some aspects of jar pathname work added.
1834
1835*  New toplevel 'doc' directory now contains:
1836
1837   + [svn r12410] Design for the (in progress) reworking of the Stream
1838     inheritance.
1839
1840   + [svn r12433] Design and current status for the re-implementation
1841     of jar pathnames.
1842
1843* [svn r12402] Change ABCL unit tests to use the ABCL-TEST-LISP definition
1844  contained in 'abcl.asd'.  Fixed and renabled math-tests.  Added new
1845  tests for work related to handling jar pathnames.
1846
1847* [svn r12401] The REFERENCES-NEEDED-P field of the LOCAL-FUNCTION structure now
1848  tracks whether local functions need the capture of an actual
1849  function object.
1850
1851
1852Version 0.18.1
1853==============
185417-JAN-2010
1855
1856<https://abcl.org/svn/tags/0.18.1/abcl>
1857
1858
1859Features:
1860
1861 * Support for printing java objects with print-object
1862 * Support for disassembling proxied functions
1863
1864Bugs fixed:
1865
1866 * maxima works again
1867
1868Version 0.18.0
1869==============
187012-JAN-2010
1871
1872<https://abcl.org/svn/tags/0.18.0/abcl>
1873
1874Features:
1875
1876 * Programmable handling of out-of-memory and stack-overflow conditions
1877 * Faster initial startup (to support Google App Engine)
1878 * Faster special variable lookup
1879 * New interface for binding/unwinding special variables
1880 * Implement (SETF (STREAM-EXTERNAL-FORMAT <stream>) <format>)
1881 * Implement (SETF (JAVA:JFIELD <object>) <value>)
1882 * Constant FORMAT strings get compiled for performance
1883
1884
1885Bugs fixed:
1886
1887 * FASLs are system default encoding dependent (ticket 77)
1888 * I/O of charset-unsupported characters causes infinite loop (ticket 76)
1889 * Memory leak where on unused functions with documentation
1890 * ANSI PRINT-LEVEL.* tests
1891 * Continued execution after failing to handle Throwable exceptions
1892 * Line numbers in generated java classes incorrect
1893 * JCALL, JNEW doesn't select best match when multiple applicable methods
1894 * STREAM-EXTERNAL-FORMAT always returns :DEFAULT, instead of actual format
1895 * REPL no longer hangs in Netbeans 6.[578] output window
1896 * Lambda-list variables replaced by surrounding SYMBOL-MACROLET
1897
1898
1899Other changes
1900
1901 * LispObject does not inherit from Lisp anymore
1902 * Many functions declared 'final' for performance improvement
1903 * SYSTEM:*SOURCE* FASLs for system files no longer refer to intermediate build location
1904
1905
1906Version 0.17.0
1907==============
190807-NOV-2009
1909
1910<https://abcl.org/svn/tags/0.17.0/abcl>
1911
1912
1913Features:
1914
1915  * Google App Engine example project "Hello world"
1916  * Support for loading FASLs from JAR files
1917  * Checking of init-arguments for MAKE-INSTANCE (CLOS)
1918  * Support for *INVOKE-DEBUGGER-HOOK* (to support SLIME)
1919  * Reduced abcl.jar size (bytes and number of objects)
1920  * Faster access to locally bound specials (compiler efficiency)
1921  * Java property to print autoloading information: abcl.autoload.verbose
1922  * Experimental: binary fasls
1923  * Default Ant build target now "abcl.clean abcl.wrapper" (from abcl.help)
1924  * ConditionThrowable class renamed to ControlTransfer,
1925      parent class changed to RuntimeException (to make it unchecked)
1926  * API no longer throws ConditionThrowable/ControlTransfer
1927
1928
1929Bugs fixed:
1930
1931  * Better fix for #63: Prevent exceptions from happening (GO and RETURN-FROM)
1932  * Restore ability for ABCL to be build host for SBCL
1933  * CLOS performance improvements through looser COMPILE dependency
1934  * Compilation fix for highest SPEED setting (triggered by CL-BENCH)
1935  * COMPILE's use of temp files eliminated
1936  * OpenJDK on Darwin now correctly identified
1937  * Incorrect block names for SETF functions defined by LABELS
1938  * Fixed MULTIPLE-VALUE-CALL with more than 8 arguments
1939  * Incorrect identification of lexical scope on recursive TAGBODY/GO
1940    and BLOCK/RETURN-FROM blocks (compiler and interpreter)
1941  * Correctly return 65k in char-code-limit (was 256, incorrectly)
1942  * Fixes to be able to run the BEYOND-ANSI tests (part of ANSI test suite)
1943  * Compiler typo fix
1944  * Implementation of mutex functionality moved to lisp from Java
1945  * Functions handling #n= and #n# are now compiled
1946  * Autoload cleanups
1947  * System package creation cleaned up
1948  * CHAR-CODE-LIMIT correctly reflects CHAR-CODE maximum return value
1949  * Precompiler macroexpansion failure for macros expanding into
1950      special operators
1951
1952
1953Version 0.16.1
1954==============
195517-OCT-2009
1956
1957<https://abcl.org/svn/tags/0.16.1/abcl>
1958
1959Bugs fixed:
1960
1961  * More careful checking for null args in LispStackFrame
1962  * Honor appearance of &allow-other-keys in CLOS MAKE-INSTANCE
1963  * Fix #63: GO forms to non-existent TAGBODY labels would exit ABCL
1964  * Don't leak temp files during compilation
1965
1966Version 0.16.0
1967==============
196806-SEP-2009
1969
1970<https://abcl.org/svn/tags/0.16.0/abcl>
1971
1972  Summary of changes:
1973  ------------------
1974  * Fixed generated wrapper for path names with spaces (Windows)
1975  * Fixed ticket #58: Inspection of Java objects in Lisp code
1976  * Restored functionality of the built-in profiler
1977  * Profiler extended with hot-spot counting (as opposed to call counting)
1978  * Stack sampling in the profiler moved to scheduler thread to
1979    reduce impact on the program execution thread
1980  * THE type-checking for the interpreter
1981    (for simple-enough type specifications)
1982  * Added structure argument type checking in structure slot
1983    accessor functions
1984  * Make GENSYM thread-safe
1985  * Various performance fixes found by running the raytracer
1986    from http://www.ffconsultancy.com/languages/ray_tracer/benchmark.html
1987  * Better initarg checking for make-instance and change-class
1988    Fixes ansi-test errors CHANGE-CLASS.1.11, MAKE-INSTANCE.ERROR.3,
1989    MAKE-INSTANCE.ERROR.4, CHANGE-CLASS.ERROR.4 and SHARED-INITIALIZE.ERROR.4
1990  * Improve performance of StackFrames (Erik Huelsmann, Ville Voutilainen,
1991    with input from Peter Graves and Douglas Miles)
1992  * Improve performance of CLOS eql-specializers via cache (Anton Vodonosov)
1993  * 'build-from-lisp.sh' shell script (Tobias Rittweiler)
1994  * New threading primitives aligned with Java/JVM constructs (Erik Huelsmann)
1995
1996      SYNCHRONIZED-ON
1997      OBJECT-NOTIFY
1998      OBJECT-NOTIFY-ALL
1999  * THREADS package created to hold threads related primitives:
2000
2001      THREADP THREAD-UNLOCK THREAD-LOCK THREAD-NAME THREAD-ALIVE-P
2002      CURRENT-THREAD DESTROY-THREAD INTERRUPT-THREAD WITH-THREAD-LOCK
2003      MAKE-THREAD-LOCK MAKE-THREAD INTERRUPT-THREAD
2004
2005      MAPCAR-THREADS
2006
2007      GET-MUTEX MAKE-MUTEX WITH-MUTEX RELEASE-MUTEX
2008
2009    These primitives are still part of the EXTENSIONS package but are
2010    now to be considered as deprecated, marked to be removed with
2011    0.22
2012  * Stacktraces now contain calls through Java code relevant to
2013    debugging (Tobias Rittweiler)
2014
2015    Backtrace functionality been moved from EXT:BACKTRACE-AS-LIST to
2016    SYS:BACKTRACE to mark this changes.  The methods SYS:FRAME-TO-STRING
2017    and SYS:FRAME-TO-LIST can be used to inspect the new
2018    LISP_STACK_FRAME and JAVA_STACK_FRAME objects
2019  * Various stream input performance optimizations
2020  * Fixed breakage when combining Gray streams and the pretty printer
2021  * Performance improvements for resolution of non-recursive #=n and #n#
2022
2023
2024Version 0.15.0
2025==============
202607-Jun-2009
2027
2028<https://abcl.org/svn/tags/0.15.0/abcl>
2029
2030
2031 Summary of changes:
2032 -------------------
2033  * 2 more MOP exported symbols to support Cells port
2034  * Updated FASL version
2035  * Support (pre)compilation of functions with a non-null lexical environment
2036  * Compiler and precompiler cleanups
2037  * 'rt.lisp' copy from ANSI test suite removed
2038  * Many documentation additions for the (pre)compiler
2039  * JSR-233 support improvements
2040  * Refactoring of classes:
2041   - deleted: CompiledFunction, ClosureTemplateFunction, CompiledClosure,
2042              Primitive0R, Primitive1R, Primitive2R
2043   - renamed: CompiledClosure [from ClosureTemplateFunction]
2044  * Compiler support for non-constant &key and &optional initforms
2045  * Fixed ticket #21: JVM stack inconsistency [due to use of RET/JSR]
2046  * Numerous special bindings handling fixes, especially with respect
2047    to (local) transfer of control with GO/RETURN-FROM
2048  * Paths retrieved using URL.getPath() require decoding (r11815)
2049  * Build doesn't work inside paths with spaces (r11813)
2050  * Compilation of export of a symbol not in *package* (r11808)
2051  * Moved compiler-related rewriting of forms from precompiler to compiler
2052  * Removed chained closures ('XEPs') in case of &optional arguments only
2053  * Loading of SLIME fails under specific conditions (r11791)
2054  * Binding of *FASL-ANONYMOUS-PACKAGE* breaks specials handling (r11783)
2055  * Fixed ANSI tests: DO-ALL-SYMBOLS.{6,9,12}, DEFINE-SETF-EXPANDER.{1,6,?},
2056      MULTIPLE-VALUE-SETQ.{5,8}, SYMBOL-MACROLET.8, COMPILE-FILE.{17,18}
2057  * COMPILE and COMPILE-FILE second and third values after a failed
2058      invocation inside the same compilation-unit (r11769)
2059  * JCLASS on non-existing classes should signal an error (r11762)
2060  * Dotted lambda lists break interpretation (r11760)
2061  * Implementation of MACROEXPAND-ALL and COMPILER-LET (r11755)
2062  * Switch from casting to 'instanceof' for performance (r11754)
2063  * Google App Engine support: don't die if 'os.arch' isn't set (r11750)
2064  * Excessive stack use while resolving #n= and #n# (r11474)
2065
2066
2067Version 0.14.1
2068==============
206905-Apr-2009
2070
2071<https://abcl.org/svn/tags/0.14.1/abcl>
2072
2073
2074Summary of changes:
2075-------------------
2076 * Include this CHANGES file and scripting files in the tar and zip files
2077
2078
2079Version 0.14.0
2080==============
208105-APR-2009
2082
2083<https://abcl.org/svn/tags/0.14.0/abcl>
2084
2085 Summary of changes:
2086 -------------------
2087  * Increased clarity on licensing (Classpath exception
2088     mentioned in COPYING, removed LICENSE)
2089  * Resolved infinite recursion on TRACEing the compiler
2090  * Changes on the lisp based build system for parity with Ant
2091  * Fixed interpreter creation in Java Scripting
2092  * libabcl.so no longer created; it was solely about installing
2093     a SIGINT handler. Libraries should not do that.
2094  * boxing of LispObject descendants in JCALL/JCALL-RAW fixed
2095  * OpenBSD and NetBSD platform detection
2096  * fixed special bindings restores in compiled code for
2097     MULTIPLE-VALUE-BIND/LET/LET*/PROGV and function bodies
2098  * introduced variadic list() function to replace list1() ... list9()
2099  * fix return value type of ACOS with complex argument
2100  * fixed precision of multiplication of complex values
2101  * fixed use of COMPILE inside file compilation (i.e. COMPILE-FILE)
2102  * fix expansion of macros inside RESTART-CASE
2103     (fixes RESTART-CASE ANSI failures)
2104  * fix macroexpansion in the precompiler
2105  * Fixnum and Bignum now use a static factory method;
2106      constructors are now private -> increases chances of numbers
2107      being EQ
2108  * Code cleanup in EXPT to fix (EXPT <any-number> <Bignum>)
2109
2110
2111Version 0.13.0
2112==============
211328-FEB-2009
2114
2115<https://abcl.org/svn/tags/0.13.0/abcl>
2116
2117 Summary of changes:
2118 -------------------
2119  * Separated J and ABCL into two trees
2120  * Many many compiler code cleanups
2121  * NetBeans project files
2122  * Support for CDR6 (See http://cdr.eurolisp.org/document/6/)
2123  * More efficient code emission in the compiler
2124  * Ant build targets for testing (abcl.test)
2125  * Use ConcurrentHashMap to store the lisp threads for increased performance
2126  * Fix adjustability of expressly adjustable arrays (ticket #28)
2127  * Fix calculation of upperbound on ASH in the compiler
2128     (don't calculate numbers too big, instead, return '*')
2129  * Introduce LispInteger as the super type of Bignum and Fixnum
2130  * Boxing/unboxing for SingleFloat and DoubleFloat values,
2131      inclusive of unboxed calculations
2132  * Fixed URL decoding bug in loadCompiledFunction (use java.net.URLDecoder)
2133  * Fixed line number counting
2134  * Inlining of simple calculations (+/-/*)
2135  * All static fields declared 'final'
2136  * Add support for java.lang.Long based on Bignum to our FFI
2137
2138
Note: See TracBrowser for help on using the repository browser.