source: tags/1.8.0/CHANGES

Last change on this file was 15464, checked in by Mark Evenson, 4 years ago

abcl 1.8.0 metadata

rc14

TODO manual needs much description about pathnames

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