source: trunk/abcl/CHANGES @ 15712

Last change on this file since 15712 was 15670, checked in by Mark Evenson, 2 years ago

1.9.2-dev: change metadata back to development for 1.9.2

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