source: tags/1.9.0/CHANGES

Last change on this file was 15591, checked in by Mark Evenson, 18 months ago

abcl-1.9.0: rc-5 metadata

"Complete" metadata for abcl-1.9.0

From 3883dccb28d42eabebcf3644242ce87467ade19d Mon Sep 17 00:00:00 2001

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