source: tags/1.7.1/CHANGES

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

1.7.1: metadata for abcl-1.7.1

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