source: trunk/abcl/CHANGES

Last change on this file was 15476, checked in by Mark Evenson, 6 months ago

meta: trunk now builds 1.8.1-dev artifacts

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