source: trunk/abcl/CHANGES @ 15619

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

Build as abcl-1.9.1-dev

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