CHANGES 70.2 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
Version 1.8.1
=============

Unreleased

<https://abcl.org/svn/trunk/abcl/>
<https://github.com/armedbear/abcl/>
<https://gitlab.common-lisp.net/abcl/abcl/>


Mark's avatar
Mark committed
11
Version 1.8.0
12
13
=============

Mark's avatar
Mark committed
14
October 29, 2020
15

Mark's avatar
Mark committed
16
<https://abcl.org/svn/tags/1.8.0/>
17
18
19
<https://github.com/armedbear/abcl/>
<https://gitlab.common-lisp.net/abcl/abcl/>

Mark's avatar
Mark committed
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Features
--------

* [r15390-r15406][r15408-r15413][r15422-r15425][r15434-r15458][r15460-15463]
  Overhauled JAR-PATHNAME and URL-PATHNAME subtypes of PATHNAME to fully support
  recursive addressing of zip within both local and remote zip
  archives.

Incompatibilities
-----------------

* [r15414] Change algorithm for determining pathname type from
  parsing namestrings to be more like SBCL and CCL

     | Expression | NAME   | TYPE |
     |------------+--------+------|
     | #p"..."    | ".."   | ""   |
     | #p".foo"   | ".foo" | NIL  |

Enhancements
------------

* [r15378][r15421] Support openjdk15 

* [r15360-r15365] (Alessio) Serialization of top-level, named functions.

* [r15353] JAVA:JCLASS now works on all arrays of primitive type.

* [r15356] ABCL-INTROSPECT adds EXT:READ-CLASS to conveniently read
  java class bytes from the source referenced by a PATHNAME.

* [r15366] The compiler now properly emits make-array for top-level specialized
  vector forms.

* [r15367] Loading ABCL-INTROSPECT now adds the function
  EXT:STREAM-UNIX-FD which returns the integer of the underlying file
  descriptor from a socket stream reference.

* [r15368] Less cryptic warnings for ignored socket write timeout.

* [r15381] JNEW-ARRAY-FROM-ARRAY now capable of constructing all
  possible arrays of primitive type.


Fixes
-----

* [r15359] Fix running openjdk11 compilation on openjdk8.

* [r15358] Fix SYS:RUN-PROGRAM issues with openjdk11.

* [r15357] Re-work strategy for the denotation of the hosting runtime
  platform in CL:*FEATURES* to include a "JAVA-<n>" where "<n>" is an
  integer denoting the major version of the platform according to
  JEP-223.

* [r15351][r15352] For CL:MAKE-ARRAY, ensure :NIO-BUFFER argument
  works in all cases, fix :NIO-DIRECT for (unsigned-byte 16)
  specialized arrays.

* [r15369][r15376] Fix wildcard matching to work on pathnames
  consisting of only #\* characters.

* [r15377] (Daniel Kochmański) Fix loop destructuring problems.

* [r15379] Fix VECTOR-PUSH-EXTEND for (UNSIGNED-BYTE 8).

* [r15427] Define CALL-NEXT-METHOD and NEXT-METHOD-P as local functions.

* [r15386] Make the pre-compiler be more careful in optimizing lambdas.

* [r15388] Ensure that SYS:CHECK-REDEFINITION does not signal error
  conditions.

* [r15387] Fix FILE-POSITION by resetting file charset decoder before
  conversion.

* [r15383] Fix capacity allocation for arrays specialized on

         (or (unsigned-byte 16)
             (unsigned-byte 32))

  created via an CL:MAKE-ARRAY :NIO-BUFFER argument.


Contrib
-------

* [r15420] Use jna-5.6.0.

* [r15384] quicklisp-abcl attempts to remove all Quicklisp fasls on
  failure to load.

* ASDF-JAR loading compiled fasls stored in JAR archives
  now works again.


Build
-----

* [r15426] Ensure that we construct the manual with a proper version.

* [r15407] Building and running a local ABCL hopefully does more of
  what you mean.


Tests
-----

* [r15416] The default reporting via abcl/test/lisp/parse-ansi-tests is
  for compiled tests.

* [r15385] Travis CI now uses versions of STATIC-VECTORS, CL+SSL, and
  CFFI from Quicklisp.  Overhaul ABCL-PROVE system definition
  explicitly enumerating tests for more deterministic behavior.

* [r15382] Test usage of :NIO-BUFFER keyword in CL:MAKE-ARRAY.

* [r15380] Tests for creating primitive java arrays.

140

141
142
143
Version 1.7.1
=============

Mark's avatar
Mark committed
144
145
146
147
148
149
150
151
152
July 18, 2020

<https://abcl.org/svn/tags/1.7.1/>
<https://github.com/armedbear/abcl/>
<https://gitlab.common-lisp.net/abcl/abcl/>

Fixes
-----

Mark's avatar
Mark committed
153
* [r15337] Fix ELT on vectors specialized on (unsigned-byte 32)
Mark's avatar
Mark committed
154

Mark's avatar
Mark committed
155
* [r15327] Restore svref optimizations for SIMPLE-VECTOR sorts
Mark's avatar
Mark committed
156

Mark's avatar
Mark committed
157
* [r15326] Fix sorting vectors of length 0
Mark's avatar
Mark committed
158
159


160

161
Version 1.7.0
Mark's avatar
Mark committed
162
=============
Mark's avatar
Mark committed
163
June 3, 2020
Mark's avatar
Mark committed
164

Mark's avatar
Mark committed
165
<https://abcl.org/svn/tags/1.7.0/>
Mark's avatar
Mark committed
166
<https://github.com/armedbear/abcl/commit/91f7561840ee5ded6f35922119ed7dc8442747cd>
167
<https://gitlab.common-lisp.net/abcl/abcl/-/commit/799cfb697d20652e06ffa760f07288823424cf2f>
Mark's avatar
Mark committed
168
169
170
171

The implementation now runs on the openjdk6, openjdk7, openjdk8,
openjdk11, openjdk13, and openjdk14 JVM runtimes.

Mark's avatar
Mark committed
172

173
Enhancements
Mark's avatar
Mark committed
174
175
------------

Mark's avatar
Mark committed
176
177
178
179
180
* [r15305][r15306][r15307] The :NIO symbol is now present in
  CL:*FEATURES*, denoting the use of java.nio.ByteBuffer et. al. in
  the implementation of arrays specialized on commonly used unsigned
  byte-types.  CL:MAKE-ARRAY now has the :NIO-BUFFER and :NIO-DIRECT
  keyword arguments useful in the construction of such arrays.
Mark's avatar
Mark committed
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202

* [r15280][r15283] The default implementation for CL:DISASSEMBLE has
  been switched from jad to javap.  The SYS:CHOOSE-ASSEMBLER interface
  is now able to switch between the jad, javap, fernflower, Procyon,
  and CFR backends provided as loaded ASDF definitions contained in
  the ABCL-INTROSPECT contrib.

* [r15268] ABCL-BUILD:DIRECTORY-HASHES outputs the SHA256 hashes of files in
  a directory.

* [r15282] The ABCL-INTROSPECT contrib now adds the EXT:WRITE-CLASS method
  to write the bytecode representation of a Java class to disk.

* [r15293] The Dockerfile has been updated to use openjdk11


Fixes
-----

* [r15292] Fixed all known outstanding problems with DECODE-FLOAT for
  values less than normalized floats.

Mark's avatar
Mark committed
203
* [r15287] Attempts to fill specialized 32-bit arrays with elements
Mark's avatar
Mark committed
204
205
   greater than 2^32-1 now properly signals a type error.
     
Mark's avatar
Mark committed
206
207
* [r15267] ABCL-BUILD:ANT/CALL no longer signals an error on failure
  instead reporting associated error messages.
Mark's avatar
Mark committed
208

Mark's avatar
Mark committed
209
* [r15281] Autoconfiguration for builds on supported platforms extended.
Mark's avatar
Mark committed
210
211
212
213
214
215
216
217
218
219
220
221
222

* [r15290] The invocation of CL-BENCH now utilizes its ASDF definition.

* [r15294][r15298] The contents of the <file:ci/> directory are now
  included in the source release, and have had all mention of
  TRAVIS_BUILD_DIR removed decoupling their use from the presence of
  Travis.

Tests
-----

* [r15277] (pdietz) Additional tests for compiler failures.

Mark's avatar
Mark committed
223
224
* [r15278][r15279] (phoe) Added tests for unbound slots
  DIVISION-BY-ZERO has ARITHMETIC-ERROR-OPERANDS.
Mark's avatar
Mark committed
225

Mark's avatar
Mark committed
226
227
* [r15284][r15285][r15288] The CI now tests the ability to use OpenSSL
  via CL+SSL.
Mark's avatar
Mark committed
228

Mark's avatar
Mark committed
229
230
* [r15289] The CI now tests the version CFFI with
  CFFI-SYS:MAKE-SHAREABLE-BYTE-VECTOR implemented.
Mark's avatar
Mark committed
231
232

* [r15291] The CI now tests IRONCLAD.
233
234


Mark's avatar
Mark committed
235

236
237
Version 1.6.1
=============
238
239
April 24, 2020

Mark's avatar
Mark committed
240
241
242
243
244
<https://abcl.org/svn/tags/1.6.1/>
<https://abcl.org/trac/changeset/15270>
<https://github.com/armedbear/abcl/commit/cef85a7f5573733d08117f04295a744f9f986c6a>
<https://gitlab.common-lisp.net/abcl/abcl/-/commit/1d237263a7a0cda49bf1b21a8cd586642aca99e4>

245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
Enhancements
------------

* [r15223] Fix compiler for java.lang.VerifyError with PROGN
  (somewhat-functional-programmer)

* [r15250] ABCL now builds and runs across openjdk{6,7,8,11,13,14}

* [r15256] Build autoconfiguration via ci/create-build-properties.bash 

* [r15252] Provide accessor in URL-STREAM for underlying java.io.InputStream

* [r15226] [INCOMPLETE] Address problems with DECODE-FLOAT
  (Robert Dodier)


Fixes
-----

* [r15229] Maven central repository now requires TLS

* [r15242] jstatic: check narrowing for explicit method reference 

* [r15232] [r15233] [r15241] Reworking DWIM on java call sites

   The FFI will now find Java call sites whose types are Short or Byte
   with integers if they can be narrowed without losing information.
   This work should be considered provisional, subject to possible
   revision.

* [r15234] Fix calling Java methods with varargs parameters

* [r15233] Fix calling Java methods with short and byte parameters

* [r15231] abcl-build: test the install of maven-3.6.3

* [r15238] build: ensure javac compiles with UTF-8 encoding

* [r15243] abcl-asdf: rework Maven usage strategy

* [r15245] abcl-asdf: use WITH-AETHER macro to ensure Maven Aether is loaded

* [r15251] abcl-asdf:  assume that either 'which' or 'where' works

Updates
-------

* [r15240] Use ASDF-3.3.4


Tests
-----

* [r15239] ci: now use latest CFFI distributed with Quicklisp

* [r15247] t/format-dollar: correction for CL:FORMAT dollar usage

* [r15248] t/jcoerce-numerics: JCOERCE across numerics without losing information

* [r15249] t/decode-float: tests for currently broken handling of CL:DECODE-FLOAT
305

Mark's avatar
Mark committed
306

307
Version 1.6.0
308
=============
309
310
November 22, 2019

Mark's avatar
Mark committed
311
<https://abcl.org/svn/tags/1.6.0>
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349

Compatiblity
------------

ABCL 1.6.0 supports building and running on openjdk6, openjdk7,
openjdk8, and openjdk11.

Enhancements
-----------

* [r15085] Add a restart for generics defined over functions or macros
  when arguments don't match (Alan).

* [r15086] jss: Disambiguate java class lookup in dynamic scope
  (Alan).

* [r15087] jss: Optimizations for jss field accessors (Alan).

* [r15089] [r15090] jss: JSS:TO-HASHSET converts java.util.List
  references to java.util.Hashset (Alan).

* [r15091] jss: Improve JSS:J2LIST, add JSS:JMAP (Olof).

* [r15092] Make JVM class names more intelligible (Olof).

* [r15093] abcl-asdf: Support multiple Maven repositories (Olof).

* [r15101] [r15102] [r15103] abcl-asdf: add test cases for multiple
  repositories (Olof).

* [r15095] Define undefined conditions and handler functions following
  error-fun='error pattern (Alan).

* [r15105] jss: make use of warning muffling (Olof).

* [r15133] [r15134] Support building and running in openjdk11.

* [r15142] Signal better error for out-of-bounds CL:REPLACE (Olof).
350

351
352
* [r15148] docker: use the now standardized openjdk8 container,
  install ant and maven dependencies.
353

354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
Fixes
-----

* [r15096] Fix and check array types for JSS:JMAP/J2LIST (Olof).

* [r15097] abcl-asdf: compatiblity with maven-3.5.0.

* [r15099] Export the JVM:*RESIGNAL-COMPILER-WARNINGS* interface.

* [r15100] Fix ASDF usage of MVN module (Olof).

* [r15107] Fix translate-directory-components-aux: throw takes 2
  arguments (metawilm).

* [r15114] Intern SYSTEM:AVAILABLE-ENCODINGS symbols (Robert Dodier).

* [r15115] abcl-asdf: fix ABCL-ASDF:MVN-MODULE collect request (Alan).

* [r15116] Fix CL:PRINT-OBJECT of null pointer (Alan).

* [r15117] The compiled version of JSS:INVOKE-RESTARGS was evaluating
  the first argument twice (Alan).

* [r15118] abcl-asdf: stop complaining about not loading a file named
  the module name (Alan).

* [r15120] Don't evaluate format control string in ReaderError (Javier
  Olaechea).

* [r15124] Fix monetary floating-point formatted output (Scott
  Burson).

* [r15125] Stackframe head edge case fix (Alan).

* [r15137] Fix ANSI-TESTS GENSYM.ERROR.10 and GENSYM.ERROR.11 (Douglas
    Miles).

* [r15138] Fix ANSI-TEST MAKE-CONCATENATED-STREAM.30 failure (Douglas
    Miles).

* [r15139] Fix ANSI-TESTS FILE-POSITION.10 (Douglas Miles).

* [r15141] compiler: fix stack inconsistency errors
  (somewhat-functional-programmer).

* [r15143] Check for element type before filling vectors (Olof).

* [r15144] Fix high start index for CL:SUBSEQ (Olof).

* [r15146] JSS read sharp expression bugfixes (Alan).

* [r15149] jss: explicitly scope JSS:TO-HASHSET.
406

407
408
409
Updates
-------

410
411
412
* ASDF 3.3.3

* JNA 5.5.0
413
414


415
416
417
418
Version 1.5.0
=============
June 11, 2017

419
420
421
Enhancements
------------

422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
* [r14934] ABCL-INTROSPECT a contrib for accessing ABCL compiler
  information (Alan).

* [r14907] ABCL-AIO all-in-one jar target creates dist/abcl-aio.jar (Alan).

* [r15009] Rework ABCL-BUILD as a contrib which uses UIOP machinery to
  invoke Ant on <file:build.xml>, unifying all build mechanisms to a single
  prescriptive source artifact external to Common-Lisp.

* [r14911] [r14955] [r14914]  Source recording on SYS:SOURCE plist 
  PRECOMPILER possibly beta reduce form with function
  position lambda, record arglist during Build

* [r14912] [r14922] Re-write the ASDF descriptions using secondary systems

* [r14917] build: 'abcl.clean.application.fasls' now cleans only ABCL fasls

* [r14923] Added Dockerfile to package ABCL in Docker

* [r14927] Build add ability to download Maven from Ant

* [r14931] Bless EXT:GET-PID as the offical way to get process id

* [r14947] JSS syntax for access Java fields (Alan)

* [r14962] JSS:J2LIST as a convenience method for turning "anything"
  in Java to an appropriate Lisp list.

* [r14967] (Provisional) ABCL-ASDF JDK-JAR ASDF class to describe JDK
  path locations (Alan).

* [r14969] Add QUICKLISP-ABCL:*QUICKLISP-PARENT-DIR* special (Alan).

* [r14978] Implement MAKE-LOAD-FORM for Java fields (Alan).

* [r15013] Restore the ability SYSTEM:CHOOSE-ASSEMBLER to use Objectweb

* [r15018] Enable use of MVN-MODULE in ASDF definitions (Alan).

461
462
463
464
* [r15019] Add NAMED-READTABLES from <​https://github.com/melisgl/named-readtables>

* [r15062] ABCL-INTROSPECT 'javaparser.asd' definition adds a
  SHARPSIGN-ONE-QUOTATION_MARK macro to evaluate arbitrary Java expressions
465

466

467
468
469
Fixes
-----

470
471
* [r14902] Fix CL:OPEN for :DIRECTION :INPUT (pipping)

472
473
474
* [r14903] JNEW-RUNTIME-CLASS Make static functions and :int
  parameters work.  Fix return conversion for null.  Ensure that the
  same classloader is used (olof).
475

476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
* [r14905] ABCL-ASDF uses the value of the reported Maven home to look
  for libraries, fixing loading CFFI under FreeBSD 11-RELEASE.

* [r14906] JSS:LOOKUP-CLASSNAME would return allcaps class name if not
  found (alan).

* [r14909] QUICKLISP-ABCL simplify load/compile logic.

* [r14918] JAVA Remove generic Throwable handler from JAVA:JFIELD innards

* [r14919] ABCL-ASDF fix finding Maven on Fedora

* [r14926] ABCL-ASDF fix problems with test suite's reliance on PROVE

* [r14921] CL:DIRECTORY no longer errors on files containing asterisk characters

* [r14950] Fix restart calculation for compiled closures (Alan)

* [r14952] Guard printing of large Java objects (Alan)

* [r14953] Fix debugging frames which don't have a pathname (Alan)

* [r14956] Show function documentation in describe (Alan)

* [r14966] JAVA:CHAIN returns last value of computation (Alan)

* [r14973] ABCL-ASDF probes for "mvn" and "mvn.cmd" under Windows

* [r14974] Standardize the use of CL:*LOAD-VERBOSE* to control loading
  verbosity.

* [r14976] Fix CL:GET-OUTPUT-STREAM-STRING to reset underlying buffer

* [r14979] Fix JavaObject.getParts() for Java arrays (Alan).

* [r14980] Fix SETF for EXT:URL-PATHNAME-FRAGMENT

* [r14987] Fix CL:MAKE-PATHNAME for explicitly nil HOST

* [r14996] Correctly implement 'time-of-the-time' daylight savings
  semantics (Scott).

* [r15001] Fix signalling simple error with #\~ in CL:FORMAT string
  (Alan).

* [r15002] Fix problems with SHARED-INITIALIZE (Olof).

* [r15003] Fix ENSURE-GENERIC-FUNCTION when removing definition (Olof).

* [r15004] Fix DESTRUCTURING-BIND with &rest arguments (Olof)

* [r15024] Optimise LOGCOUNT (Olof).

* [r15026] Support bignum argument for FILE-POSITION (Olof).

* [r15032] Better directory validation; handle :UNSPECIFIC (Olof).

* [r15033] Fix LOOP code size estimation (Olof).

* [r15034] Fix NTH inlining type mismatch (Olof).

* [r15035] Fix byte code verification error in edge case (Olof).

* [r15036] Fix PACKAGE-ERROR-PACKAGE behaviour (Olof).

* [r15037] Fix MAX type derivation (Olof).

* [r15038] Fix NPE if directory can't be accessed (Olof).

* [r15044] Documentation renders less/greater-than characters correctly (Olof).
546

547

548
549
550
Updates
-------

551
* ASDF 3.2.1
552
553


554
555
556
Version 1.4.0
=============
08-OCT-2016
557

Mark's avatar
Mark committed
558
559
560
<https://abcl.org/svn/tags/1.4.0/>
<https://abcl.org/trac/changeset/14888>

561
562
563
564
565
Enhancements
============

* Consolidated RUN-PROGRAM fixes (ferada, pipping)

566
567
568
  In support of getting a more universal UIOP:RUN-PROGAM across all
  contemporary Lisp implementations.

569
570
571
572
573
574
575
* Upstream consolidated patchset (ferada)

** [r14857] Support `FILE-POSITION` on string streams.
** [r14859] Add multiple disassembler selector.
** [r14860] Add EXTERNAL-ONLY option to APROPOS.
** [r14861] Fix nested classes from JARs not visible with JSS.

576
577
* [r14840-2] (Scott L. Burson) Introduced "time of time" semantics for
  {encode,decode}-universal time.
578

579
580
581
* EXTENSIONS:MAKE-TEMP-FILE now takes keyword arguments to
  specify values of the prefix and suffix strings to the underlying
  JVM implementation of java.io.File.createTempFile().
582

583
584
* [r14849] EXT:OS-{UNIX,WINDOWS}-P now provide a pre-ASDF runtime check on hosting platform

585
586
587
Fixes
-----

588
* [r14863] RandomCharacterFile (vibhu)
589
590

* [r14839] (JSS) Ensure the interpolation of Java symbol names as strings (alan ruttenberg)
591

592
* [r14889] Fix ANSI-TEST SXHASH.8 (dmiles)
593
594
595
596

Updates
------

597
* [r14883] asdf-3.1.7.27
598

599
* [r14849] jna-4.2.2
600

601
602
603
604
605
Removed
-------

* [r14885] ASDF-INSTALL was removed

606
607
608
609
610

Version 1.3.3
=============
18-SEP-2015

Mark's avatar
Mark committed
611
612
613
<https://abcl.org/svn/tags/1.3.3/>


614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
Enhancements
------------

*  [r14802,r14813] Add character name for non-breaking space

   Use a human readable name for character 160, #\No-break_space,
   following sbcl, ccl and clisp. This permits the Quicklisp system
   spinneret to load.  The #\No-break_space name is a valid
   CHAR-NAME/NAME-CHAR pair, but is not emitted as a glyph under the
   current output encoding under the CL:FORMAT "~:c" directive as
   these implementations do by default.

   Thanks to Javier Olaechea.

Fixes
-----

* [r14808] CL:FILE-WRITE-DATE fixed for logical pathnames

* ANSI-TEST

** Update references to new git repository at
   <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git>

** ABCL now runs the git master consolidated ANSI-TEST suite which
   features subdirectories and distinquished value for
   *DEFAULT-PATHNAME-DEFAULTS*.

** ABCL.TEST.ANSI:CLEAN-TESTS now acts recursively via appropiate
   Pathname wildcards to match new directory structure.

* ASDF

  Fix COMPILE-SYSTEM to offer full ANSI environment for ASDF and
  ABCL-CONTRIB. 

* ABCL-ASDF

** Use of Maven has been robustified.

*** [r14803] Fix usage with all known versions through maven-3.3.3

   Addresses <http://abcl.org/trac/ticket/390>.

*** [r14806] Fix usage with specifying local Maven repository

** More complete attempt at re-initialization via

        (ABCL-ASDF:INIT :force t)


Version 1.3.2
=============
19-APR-2015

Mark's avatar
Mark committed
669
670
671
<https://abcl.org/svn/tags/1.3.2/>


672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
Enhancements
------------

* Make result of DEFINE-MODIFY-MACRO available at compilation time
  [r14727]


Fixes
-----
* Fix failed AVER [#289] [r14763]

* Fix incorrect dead code elimination

  Additionally, don't recurse into flet/labels upon elimination of a
  single labels function; simply continue by changing the applicable
  set.  Reported by Vibhu Mohindra. [r14754][r14756]

* Numeric tower repairs on promoting floats across representation
  boundaries [r14749-50] (Massimiliano Ghilardi).

* Return SIMPLE-ERROR for invalid external-format arguments.[r14735]

* Lisp stack frame representation now formatted as unreadable. [r14738-9]

Contrib
-------

* JSS

** Fix GET-JAVA-FIELD and SET-JAVA-FIELD [r14718]

** no longer error on NO-SUCH-JAVA-FIELD, by setting fields as
   accessible where necessary [r14715] [r14725]

* ABCL-ASDF

** Update to current Maven support (keep up with changing APIs through
   the Maven 3.2.3-3.2.5 hysteresis) [r14742-7] (Cyrus Hamon).

** Special-case JNA artifacts with alternate network location [r14733]

** Further work on ABCL-ASDF:RESOLVE [r14732] (Cyrus Hamon)

** Find Maven under FreeBSD ports [r14723], under OS X Homebrew [r14776]


* ABCL-JAR

** Fix ASDF-JAR:PACKAGE [#376] [r14717][r14720][r14736] (Eduardo Bellani)

*  ASDF

** Updated to version 3.1.4.
725
726


727
728
Version 1.3.1
=============
729
30-APR-2014
730

Mark's avatar
Mark committed
731
732
<https://abcl.org/svn/tags/1.3.1/>

733
734
## Fixed

735
736
737
738
739
*  The underlying Java Function Interface (JFI) now converts CL:T and
   CL:NIL to JAVA:+TRUE+ and JAVA:+FALSE+.  Users who wish to
   reference a JAVA:+NULL+ should do so explicitly.
   <http://abcl.org/trac/changeset/14694>

740
741
742
743
744
745
*  Make JCALL work in more places.  Thanks to Olof-Joachim Frahm.
   <http://abcl.org/trac/changeset/14683>

*  Interpolate CL:SLEEP and THREADS:OBJECT-WAIT for timeouts below the
   Planck timer ("1ns") to a nanosecond.
   <http://abcl.org/trac/changeset/14679>
746

747
*  Update to ASDF 3.1.0.103.
748
   <http://abcl.org/trac/changeset/14661>
749
750
751
752

   Fixes loading of Ironclad and other Quicklisp systems.

*  Fix Uniform Naming Convention (aka "UNC" or "network") paths under Windows.
753
   <http://abcl.org/trac/changeset/14659>
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781

   DIRECTORY now works again on UNC paths.

   UNC paths may be either specified with either back slash (#\\) or
   forward slash (#\/) doubled as the first character in a Pathname
   namestring.

   The patterns in

        //<server>/<share>/[directories-and-files]

   are parsed as

    <server> is stored as HOST.

    <share> is stored as DEVICE.

    [directories-and-files] gets parsed as per the normal rules under
    Windows.

   Mixing namestrings with both backslash and slash characters can
   lead to unpredictable results.  It is recommended not to use
   backslash characters in namestrings if it can be avoided.  The
   pathname printed representation is always normalized to using
   forward slash delimiters.


*  Find contrib based on system jar name.
782
   <http://abcl.org/trac/changeset/14657>
783
784
785

   From Olof-Joachim Frahm.

786

787
788
789
Version 1.3.0
=============
15-MAR-2014
790

Mark's avatar
Mark committed
791
792
793
<https://abcl.org/svn/tags/1.3.0/>


794
795
## Features

796
*  Make LispStackFrame.UNAVAILABLE_ARG a singleton object,
797
   and lazily create the little used portions of the Lisp stack.
798

799
800
801
    Aggressively cache and control the use of memory by the underlying
    Lisp stack frame representation by introducing the private
    LispThread.StackFrame and LispThread.StackSegments classes.
802

803
    Contributed by Dmitry Nadezhin.
804

805
    LispStackFrame object are allocated on every
806
807
808
809
810
811
812
813
814
    LispThread.execute(...) .  However, they are seldom [accessed]
    ([... verify via] inspect[tion of the] stack trace). This patch
    delays allocation of LispStackFrame? objects until they are
    requested.  Raw information about stack frames is stored in
    stack. Stack is an Object[] array (more precisely a list of [...]4
    [Mib] Object[] arrays).

    ME: We are going to need a way to try to less agressively grab 4Mib
    chunks in low memory situations.
815
816
817
818
819
820
821
822
823
824

    Memory profiling of ABCL shows that the classes with largest
    allocation count are org.armedbear.lisp.LispStackFrame and
    org.armedbear.lisp.LispStackFrame.UnavailableArgument.

    Contributed by Dmitry Nadezhin.

    [r14572]: http://abcl.org/trac/changeset/14572
    [r14579]: http://abcl.org/trac/changeset/14579

825
*  ASDF 3.0.1.94 shipped with the implementation
826
827
828
829
830
831
832
833
834

*  per function call stack and memory exception handler in CL:COMPILE

   Inline calls to jrun-exception-protected (used by handler-bind to
   catch out of memory conditions).  This commit saves generation
   roughly 50 cls files.

   [r14552]: http://abcl.org/trac/changeset/14552

835
836
*  SYS:SHA256 audited

837
838
839
    The functionality if the SYS:SHA256 algorithim has been audited for
    use on inputs of single for files with recently shipping ORCL Java 7
    implementations (through jdk-1.7.0_51).
840

841
    [r14582]:  http://abcl.org/trac/changeset/14582
842

843
* Connect to NetBeans controlled JDWP via SLIME
844

845
    The Netbeans IDE configuration now includes a way to connect to
846
847
    the running-under-jdb ABCL via SLIME.  One needs a version of
    SLIME able to be loaded from its 'swank.asd' definition.  
848

849
850
851
852
* Install 'abcl.jar' and 'abcl-contrib.jar' locally as Maven artifacts

    The Ant `abcl.mvn.install` target now installs build artifacts
    into the local Maven repository (Olof-Joachim Frahm)
853

854
    [r14579]: http://abcl.org/trac/changeset/14606
855
856
857

## Compatibility

858
859
860
861
862
863
864
865
866
867
*  CL:DIRECTORY 

   The implementation specific :RESOLVE-SYMLINKS argument to the ANSI
   DIRECTORY function has been changed to nil.  This implements
   behavior closer to SBCL and guarantees that a DIRECTORY operation
   will not signal a file error.

   [r14619]: http://abcl.org/trac/changeset/14619
   [ticket-340]: http://abcl.org/trac/ticket/340

868
869
870
871
872
873
874
875
876
877
878
## Fixes

*  Fix CL:SLEEP for intervals less than a millisecond.  

   For intervals less than or equal to a nanosecond, including an
   interval of zero, the current thread merely yields execution to
   other threads.

   [r14632]: http://abcl.org/trac/changeset/14632


879
880
881
## Tested

### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.7.0_51-b13" "x86_64-Mac_OS_X-10.9.1"
882

883
884
885
### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.8.0-b129" "x86_64-Mac_OS_X-10.9.2"

## Contrib
886
887
888

#### abcl-asdf

889
890
891
892
893
894
895
896
897
898
899
*  Now working with both Maven 3.0.x and 3.1.x.  Thanks to Anton for
   the help!

   [ticket-328]: http://abcl.org/trac/ticket/328

*  cache Maven dependency resolution to avoid repeated lookups.

   Instead of calling ABCL-ASDF:RESOLVE in both the ASDF COMPILE-OP
   and LOAD-OP, we now cache the result of invocation in COMPILE-OP
   and add this value in the LOAD-OP phase. Contributed by Cyrus
   Harmon.
900

901
   [r14631]: http://abcl.org/trac/changeset/14631
902
903
904
905

#### jna
  
   Now references jna-4.0.0.  Some incompatibility with CFFI ([in
906
   progress with fixing upstream][cffi-easye]).
907

908
[cffi-easye]: http://github.com/easye/cffi/
909
910


911
912
Version 1.2.1
=============
Mark's avatar
Mark committed
913
914
915
916
27-JUN-2013

<http//abcl.org/svn/tags/1.2.1/abcl/CHANGES>
<http://abcl.org/releases/1.2.1>
917
918
919
920
921
922
923
924
925
926
927

*  Tested:  orcl-jdk-1.7.0_25 orcl-jdk-1.6.0_43

** ansi tests rc-2 failing 11-13 of 21708 total.  
   Some regressions since 1.1.1

*  Stablility fixes; additional Quicklisp compatibility

** Fix (make-instance 'standard-generic-function)


928
929
Version 1.2.0
=============
Mark's avatar
Mark committed
930
931
932
933
934
935
936
01-JUN-2013

<https://abcl.org/svn/tags/1.2.0/>
<https//abcl.org/svn/tags/1.2.0/abcl/CHANGES>


Released at ECLM 2013 Madrid, ES // 01 June 2013 
937
938
939
940
941
942
943
944
945
946
947
948
949

   * Package local nicknames to behave like SBCL

   * ASDF 3.0.1 is now shipped with the implementation

   * a more robust MOP implementation

   * Common cases of creating purely synthetic JAVA:JNEW-RUNTIME-CLASS
     now (mostly) work.  Please report corner cases for fixing.

   * the system autoloader has been extended to cover functions bound to
     symbol properties

950
951


952
953
Version 1.1.1
=============
Mark's avatar
Mark committed
954
955
956
957
14-FEB-2013

<https://abcl.org/svn/tags/abcl/1.1.1/CHANGES>

958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982

  * All reported errors with the MOP implementation have been addressed.

  * An autoloader for SETF expansion functions has been implemented,
    eliminating the errors associated with not being able to use (SETF
    SYMBOL) without first invoking SYMBOL as a function. [#266

  * All outstanding regressions in the ANSI test suite with respect to
    abcl-1.0.1 have been fixed.
  
  * The ability to resolve Maven components in ASDF system definitions has been restored.

Issues Resolved
---------------

[#266] 	PSETF.47 ANSI regression 	
[#284] 	checks in ensure-generic-function-using-class should occur later
[#296] 	SLIME fails to initialize with (SETF DOCUMENTATION) undefined 	
[#198] 	Hunchentoot run failure 	
[#228] 	Need to implement autoloader facility for SETF functions
[#288] 	Control character names 	
[#290] 	Compiling (defvar *foo* '(quote . x)) throws an error 
[#293] 	Loop and default value for of-type problem 	
[#294] 	Reader doesn't recognize terminating characters in some cases
[#299] 	ABCL-ASDF:MVN components not loading 
983

984
985
Version 1.1.0
=============
Mark's avatar
Mark committed
986
987
988
989
07-DEC-2012

<https://abcl.org/svn/tags/1.1.0/abcl/>

990
991
992
993

Features
--------

994
995
  *  A functioning (A)MOP implementation through the hard work of Rudi
     Schlatte (@rudi)
996
997

  *  The implementation can be used across many more Quicklisp systems
998
     through a process of extensive testing.  Thanks @xach!
999
1000
1001
1002
1003
1004

     Nota bene: all of the following systems need patches to work as
     of the 2012-10-13 Quicklisp.  All patches have been accepted in
     at least an initial form by the upstream maintainers.

     ** CLOSER-MOP 
1005
        Quite possible with local patches 
1006
     ** CFFI 
1007
1008
       Needs patches to 2012-10-13 Quicklisp.  [!!?]
       *** Dynamic interfaces idempotent across process -- no more reloading
1009
     ** HUNCHENTOOT 
1010
1011
1012
       *** some bugs with underlying streams to be fixed in abcl-1.2-dev
     ** CXML
        Basic XML parsing works.  XPath still borked. [???]     
1013
1014
1015
1016
1017
  *  Java 5 bytecode Compiler 

     The internal Lisp-to-Java bytecode compiler has been hardened by
     regression testing across Quicklisp libraries.  

1018
1019
     **  Extensive interpreter/compiler bug fixes due to access to cl-test-suite [???] @antov
     ** large objects (?!?)
1020

1021
  *  The facility to construct runtime classes via JNEW-RUNTIME-CLASS (@astalla)
1022

1023
1024
1025
    Pretty close to full coverage of primtives for creating synthethic
    java classes at runtime.  Easy to extend with your needs; sensible
    defaults.
1026
1027
  
    ** Fields
1028
    *** getter/setters 
1029
    ** Annotations
1030
1031
1032
1033


  * ASDF

1034
1035
1036
     ** Stock ASDF-2.26.6 which includes #+abcl conditional patches
        for the URL-PATHAME and JAR-PATHNAME implementation extensions
        to ANSI.
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053

  *  ABCL-CONTRIB

     ** ABCL-ASDF 

        Network installation of binary artifacts named by Maven POM uris.

        *** checks at runtime if a given class is present in the
            accessible classloaders

        *** If the check for the presence of a class fails, find a
            maven-3.0.4 binary locally, execute its Aether connector
            to retrieve its transitive dependencies from the network.

      ** JSS 
         
         Java Syntax Sucks.  q.v [lsw2]
1054
    
1055
         Extensive bugfixing wrt. method resolution [#229]
1056

1057
1058
1059
1060
      ** JFLI

         A "captured from the wild" version of what @rich.hickey did before Clojure.
        
1061
1062
1063
Changes
-------

1064
1065
1066
1067
1068
  * [#249] PATHNAME merge semantics DWIMs on an inferred type

  Extends ANSI PATHNAME in a non-conforming manner, which was probably
  already the case.

1069
1070
1071
1072
1073
1074
1075
1076
  * [r13695] Reimplementation of global symbol macros to avoid using
    the symbol's value slot.

  * [r13696] DEFMACRO now supports documentation strings as per the
    ANSI specification.

  * [r13700] ABCL loads under the Weblogic 10.3 application server.

1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
  * [r13768] [#193] Allow zero-length symbols
  
  * [r13785] JNEW-RUNTIME-CLASS gets fields and annotations
  
  * [r13790] JNEW-RUNTIME-CLASS getters/setters for fields

  * [r13796] [r13797] N3 DOAP description for ABCL

  * [r13803] Build target 'abcl-contrib.jar' packages ABCL-CONTRIB

1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
Fixes
-----

  * ANSI [#241]
 
     ** &AUX parameters fixes RESTAS 

    
  * [#221] Stack exhaustsion on funcall in non-existing package

  * [#113] DEFSTRUCT concurrency 

  * [#216][#211] Compiler 

    ** stack inconsistency

  * [#187] Better SORT and STABLE-SORT via Jorge Tavares [???]

1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
Issues Resolved
---------------

    * [#234]    ABCL-ASDF mvn errors with VERSION slot unbound  
    * [#237]    JNA fails to load blocking CFFI 
    * [#249]    Problems under Ubuntu   
    * [#250]    SYS:SHA256 does not compile     
    * [#265]    COMPILE-FILE.2 COMPILE-FILE.2A ANSI regression  
    * [#268]    ABCL-ASDF working with maven-3.0.3      
    * [#269]    SLIME cannot browse systems with November Quicklisp     
    * [#270]    Is BUGS.DEFEGENERIC.1 a valid test?     
    * [#271]    ASDF-2.26 changes synced upstream
    * [#272]    DESCRIBE.[14] ANSI regression   rschlatte       
    * [#275]    ABCL-CONTRIB still provided if abcl-contrib.jar cannot be located       
    * [#276]    defmethod doesn't call add-method       
    * [#277]    reinitialize-instance on class metaobjects incorrect
    * [#113]    DEFSTRUCT redefinition can crash ABCL on MAKE-STRUCT
    * [#199]    CL:DEFMETHOD fails for &AUX arguments that reference other arguments    
    * [#213]    ABCL-ASDF breakage on trunk     
    * [#215]    ABCL-ASDF:RESOLVE should work in more (some?) cases     
    * [#229]    JSS method resolution failure   
    * [#246]    CFFI: dynamically generated classes referred from .fasl can not be found after ABCL restart
    * [#168]    Compilation fails for quicklisp let-plus        
    * [#187]    Stack Overflow for Worst-case Vector Sort       
    * [#202]    ENSURE-GENERIC-FUNCTION assumes LAMBDA-LIST is NIL
    * [#204]    abcl-asdf maybe-parse-mvn ignores version information
    * [#205]    JSS logic for resolving methods a little wonky (could use better diagnostics on why resolution has failed)      
    * [#207]    DECLARE should signal conditions when type declarations are violated
    * [#210]    Add JFLI to contrib     
    * [#217]    ANSI tests wont run on Revision 14011: /trunk/abcl      
    * [#219]    Keyword argument checking for lambda lists is too lenient for ANSI      
    * [#220]    Lambda list checking too lenient        
    * [#224]    Autoloader fails when *read-XXXX* variables bound to non-standard values        
    * [#225]    One of the paths in STD-COMPUTE-DISCRIMINATING function not working     
    * [#235]    Compiled cl+ssl sources not reloadable  
    * [#241]    &rest and &aux can't coexist anymore in lambda lists    
    * [#243]    ClassCastException in MAKE-PATHNAME     
    * [#245]    Slots of a class with a custom meta-class are reported as unbound.      
    * [#247]    CFFI: $Proxy3 is not assignable to com.sun.jna.Pointer  
    * [#252]    MOP rework broke profiler?      
    * [#254]    Cannot load ASDF systems in jar archives with ASDF-BINARY-LOCATIONS-COMPATIBILTY enabled
    * [#255]    ASDF file encoding specification doesn't work   
    * [#263]    loading systems from abcl-contrib fails if CLASSPATH has a component with wildcard
    * [#264]    abcl-asdf.asd broken since revision 14233
    * [#60      ]Implement USE-FAST-CALLS properly
    * [#130]    "SLIME under Windows has ""extra"" CRLF"        
    * [#172]    DOCUMENTATION does not work for generic functions       
    * [#174]    Conformance bug in time implementation when using SLIME 
    * [#175]    abcl.release target fails occasionally  unassigned      
    * [#189]    Compiler fails for 'unsigned-byte type declaration      
    * [#201]    &WHOLE broken in DEFINE-METHOD-COMBINATION      
    * [#206]    COMPILER-UNSUPPORTED-FEATURE-ERROR is derived from CONDITION, rather than from ERROR    
    * [#208]    "Files loaded via ""--load <FILE>"" on the command line have no pathname defaults"      
    * [#211]    closure-common fails to load correctly after compilation        
    * [#214]    Stack overflow when compiler macro with fallback is triggered   
    * [#232]    Allow wrapper script to reference install directory instead of build directory
    * [#192]    ASDF::IMPLEMENTATION-IDENTIFIER contains ABCL build environment identifier
    * [#195]    prompt is displayed twice when evaluating NIL at the REPL
1163
1164
1165

Version 1.0.1
==============
Mark's avatar
Mark committed
1166
1167
1168
1169
09-JAN-2012

<https://abcl.org/svn/tags/1.0.1/abcl/>

1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205

Changes
-------

  * Updated ASDF to 2.019

  * User Manual now contains more polished formating from docstring
    groveling, an index of symbols, and additional enhancements.

  * 'abcl.properties.in' now contains examples of optimizing the ABCL
    wrapper script for 64bit instances for Java7 and for Java6.  

  * [r13720] Randomize string hash computation to guard against
    exploits.

  * [r13723] New internal API in Package.java for looking up internal
    vs. external symbols.

Fixes
-----

  * [#181][r13718] The implementation now correctly loads ASDF definitions
    from jar archives.  This had prevented the ABCL-CONTRIB loading
    mechanism from working.

  * [#177] Made the mechanism for locating the abcl-contrib archive
    more robust

  * [#177] LIST-DIRECTORY no longer ignores :RESOLVE-SYMLINKS

  * [r13706] Fix Streadm.readToken() bug reported by Blake McBride.

  * [#183][r13703] Move threads-jss.lisp out of system source to
    restore conditional recompilation logic.


1206
Version 1.0.0
1207
==============
Mark's avatar
Mark committed
1208
1209
1210
1211
1212
22-OCT-2011

<https://abcl.org/svn/tags/1.0.0/abcl/>

Released at the European Common Lisp Meeting Amsterdam 2011
1213
1214
1215
1216
1217
1218
1219


Features
--------

 * (Draft) manual

1220
1221
1222
 * Much better Quicklisp system capabilities (trivial-garbage,
 bordeaux-threads, parenscript, cxml, et. al.)

1223
1224
1225
1226
1227
1228
1229
1230
Changes
-------

 * Updated ASDF to 2.017.22

Fixes
-----

1231
 * CLOSURE-HTML now compiles
1232

1233
 * DEFINE-METHOD-COMBINATION long form implemented
1234
1235


1236
1237
Version 0.27.0
==============
Mark's avatar
Mark committed
1238
1239

<https://abcl.org/svn/tags/0.27.0/>
1240
1241


1242
1243
1244
1245
1246
1247
1248
Features
--------

 * ABCL works as an SBCL build host

 * Huge (> 64k) literal object support (fixes CL-UNICODE support)

1249
1250
1251
1252
1253
 * The ABCL-ASDF contrib allows the specification of JAR-FILE or
   JAR-DIRECTORY components that can be resolved via a PATHNAME.  The
   MVN component bootstraps a Maven3 Aether connector to locally
   replicate a versioned jar artifact for dynamic inclusion in the
   CLASSPATH.
1254
1255
1256
1257

Changes
-------

1258
 * Renamed LispObject.writeToString() method to (more Lispy) printObject()
1259
1260
1261
1262
1263
1264

 * New LispObject.princToString() for user readable output

 * Changed behaviour of LispObject.unreadableString() to signal
   errors when *PRINT-READABLY* is non-NIL

1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
 * Static initializers moved to <clinit>() (java: static { }) to
   prevent repeated execution when invoking the constructor multiple times

 * Compiler clean-ups

 * Changed implementation of LABELS to eliminate the need
   to *always* create a closure

 * File compiler (COMPILE-FILE) clean-ups

1275
1276
1277
1278
1279
 * When calling a function with the wrong number of arguments,
   report the expected (range) of arguments

 * Upgraded ASDF to 2.017

1280
1281
1282
1283
1284
1285
1286
1287
1288
 * JSS:JLIST-TO-LIST now converts any java.list.List to a Lisp list.

 * The ASDF extensions from JSS for the "jar-directory", "jar-file",
   and "class-file-directory" types have been refactored into the
   ABCL-ASDF contrib as well as the *ADDED-TO-CLASSPATH* variable
   which records dynamically added dependencies.  Use the
   JSS:ENSURE-COMPATIBILITY function to have JSS include these
   dependencies.  

1289
1290
1291
1292
*  As long as ABCL-ASDF:ENSURE-MVN-VERSION can dynamically introspect
   and then load Maven 3 libraries at runtime, ASDF components of type
   MVN can now be used to specify versioned JVM artifacts.

1293
1294
1295
1296
 * Threads spawned by THREADS:MAKE-THREAD can terminate the Lisp image
   via the EXT:QUIT and EXT:EXIT functions.


1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
Fixes
-----

 * MULTIPLE-VALUE-PROG1.10 (ansi test) fixed

 * [ticket #148] READTABLE-CASE :INVERT doesn't work for uninterned symbols

 * [ticket #161] READTABLE-CASE of current readtable affects FASL content

 * [ticket #162] Non-symbol in variable position of SETQ form causes
   class verification failure

 * [ticket #163] Local functions shadow global macro and function bindings
   (fixes PARENSCRIPT support)

1312
1313
1314
1315
1316
1317
1318
1319
1320
 * [ticket 158] Readable printing of the string "#<abc>" does not signal
   a PRINT-NOT-READABLE error anymore

 * Fixed SYNTAX.SHARP-BACKSLASH.6 and SYNTAX.SHARP-BACKSLASH.7

 * Fixed many PPRINT.* test suite failures

 * [ticket #151] LOAD fails for whitespace in JAR-PATHNAME

1321

1322
1323
Version 0.26.2
==============
Mark's avatar
Mark committed
1324
1325
1326
14-AUG-2011

<http://abcl.org/svn/tags/0.26.2/abcl>
1327
1328
1329
1330
1331
1332
1333
1334

Features
--------
  * Enable compilation with Java 7

Fixes
-----
  * Fix loading from fasls under Windows with whitespace in pathname.
1335

1336
1337
1338
  * Fix #131: Don't include ':' in the version string.

  * Fix #141: SETF of APPLY not working with arbitrary function.
1339

1340
1341
1342
  * Include filename in the error string being reported.

  * Include the test source in the release.
1343

1344
  * Include ASDF definition in source release.
1345
  
1346

1347
1348
Version 0.26.1
==============
Mark's avatar
Mark committed
1349
1350
1351
27-JUL-2011

<https://abcl.org/svn/tags/0.26.1/abcl>
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376

Features
--------

 * Upgrade ASDF to 2.017.

Fixes
-----

 * Fix compilation problems by including the
   org.armedbear.lisp.protocol source in the build process

 * Printing of conditions defined with DEFINE-CONDITION

 * Regression with failing SYNTAX.SHARP-BACKSLASH.6
   and SYNTAX.SHARP-BACKSLASH.7 ANSI test suite failures

 * Multiple failures in PPRINT.* ANSI test suite failures

 * String interop with Java for strings with fill pointer

 * Made #\Uxxxx a synonym for character codes with values greater than
   255 on input, but never output as the character name by the
   implementation.

1377
1378
Version 0.26.0
==============
Mark's avatar
Mark committed
1379
1380
1381
10-JUL-2011

<https://abcl.org/svn/tags/0.26.0/abcl>
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465

Features
--------

 * Add support for weak reference objects

 * Add support for finalizers on LispObject derived classes

 * Upgrade ASDF to 2.0.16.1

 * #\ reader macro now understands #\uNNNN as unicode codepoints

 * JAVA:JRESOLVE-METHOD returns same method as would have been
   called by JAVA:JCALL with the same arguments

 * Ant 'update' target to upload application to Google App Engine

 * Simple RUN-PROGRAM implementation

 * Support for custom slot definitions according to AMOP

 * New JAVA:*JAVA-OBJECT-TO-STRING-LENGTH* variable to control pretty
   printing of Java objects

 * JSS - more dynamic Lisp/Java FFI - (http://lsw2.googlecode.com/svn/trunk)
   imported

 * (REQUIRE :ABCL-CONTRIB) adds 'abcl-contrib.jar' to the ASDF search path

 * Support for weak references in hash tables through a :WEAKNESS keyword
   argument to MAKE-HASH-TABLE; with SYS:HASH-TABLE-WEAKNESS for inspection

 * Support for loading ASDF systems from JAR archives

 * Fast SHA1, SHA256 and SHA512 cryptographic hashes for files

 * Beginnings of a manual

 * ABCL/ASDF integration with Maven provided systems

 * ASDF-JAR:PACKAGE function to package ASDF systems into JARs

Changes
=======

 * Reduced code size in the compiler by changing COMPILE-TEST-FORM

 * Enhanced SLIME inspector for JAVA:JAVA-OBJECT

 * Reimplemented MERGE-PATHNAMES

 * TRANSLATE-PATHNAME aligned with SBCL's behaviour if version is wild

 * Removed PRINT-OBJECT methods duplicating Java side code

 * Refactored code in SYSTEM:ZIP function

 * Allow JCOERCE to convert any number to java.lang.Byte (using
   its two's complement)

 * Replace MAKE-IMMEDIATE-OBJECT with +NULL+, +TRUE+ and +FALSE+ constants
   (the only supported ones)

 * Better separation between java-collections package and Java FFI

 * JAVA:ADD-TO-CLASSPATH is now a generic function

Fixes
=====

 * Google App Engine example fixed

 * MAKE-PATHNAME erroneously merges directories as in MERGE-PATHNAME

 * Pretty printer routines using SYS:OUTPUT-OBJECT with GRAY-STREAM

 * Value of *PRINT-CASE* affects file (to FASL) compilation

 * MAKE-PATHNAME ignores version in :DEFAULTS

 * URI decoding algorithm in Pathname.java

 * JNEW-ARRAY-FROM-ARRAY should create byte[] arrays

1466
1467
Version 0.25.0
==============
Mark's avatar
Mark committed
1468
1469
1470
1471
10-MAR-2011

<https://abcl.org/svn/tags/0.25.0/abcl>

1472
1473
1474
1475

Features
--------

1476
* Add :resolve-symlinks keyword argument for DIRECTORY.
1477

1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
* Support -- as a command line parameter for the REPL.

* Preliminary support for Maven deployment.

* Add an initargs cache for speedups in check-initargs. This should
  make the initarg checking in CLOS quite a bit faster.

* Incorporate output of 'svnversion' into LISP-IMPLEMENTATION-VERSION.

* Ant target for generating Javadoc.

Fixes
-----

* [svn r13229] Remove non-existing THREAD-LOCK and THREAD-UNLOCK from autoloads.

* [svn 13228] Fix incorrect elimination of named local functions
  declared inline when they're actually reified in the flet/labels body.

* [svn r13217] Forward-referenced classes work properly now.

* [svn r13209] Add initarg checking to REINITIALIZE-INSTANCE.

* [svn r13204] FINALIZE-INHERITANCE is (more) AMOP compatible.

* [svn r13203] Create ATOMIC-DEFGENERIC macro, in order to eliminate
  FMAKUNBOUND calls and the resulting windows where no function is bound to
  symbols which are the most essential building blocks in CLOS/AMOP.

* [svn r13200] Atomically swap generic functions into place of temporary
  DEFUNs for all standard-class slot accessors.
  Note: This addresses the recursive requirement to be able
  to allocate objects and classes while changing the functions
  used to create them.

* [svn r13196] Provide more context regarding the reason of autoloading.
  Note: This change *hugely* helps debugging.

* [svn r13189] Fix MACROEXPAND-ALL autoloader which should be
  loaded from 'format.lisp'.

* [svn r13188] Fix DEFSTRUCT trying to generate accessors named NIL

* [svn r13187] Fix #125: FASL reader should not convert symbol
  case [Qi FASL loading issues].

* [svn r13185] Fix #119: Incorrect dynamic environment for
  evaluation of :CLASS allocation slot initforms.

* [svn r13182-r13184] Fix error printing issues.

* [svn r13181] Increase autoload verbosity: include FASLs too
  (not only Java classes).

Changes
-------

* Merge 'unsafe-p-removal' branch.
1536

1537
1538
Version 0.24.0
==============
Mark's avatar
Mark committed
1539
1540
1541
22-JAN-2011

<https://abcl.org/svn/tags/0.24.0/abcl>
1542
1543
1544
1545

Features
--------

1546
1547
1548
1549
1550
* [svn r130103-r13107] Implemented JNULL_REF_P to distinguish a
  JAVA-OBJECT which contains a Java "null" from the Lisp NIL.

* [svn r13102] More type-conversion helpers in JAVA package:
  LIST-FROM-JARRAY, VECTOR-FROM-JARRAY, and LIST-FROM-JENUMERATION.
1551
1552
1553
1554
1555
1556

* [svn r13078] JVM::MAKE-CLASS-INTERFACE-FILE provides an interface
  for the creation of Java interfaces as serialized by the new
  classwriter code.  An example of use can be found in
  "examples/misc/dynamic-interfaces.lisp".

1557
* [svn r13087] Upgraded to ASDF-2.012
1558
1559
1560
1561
1562


Fixes
-----

1563
1564
1565
* [svn r13135] Fix the problem that FASLs can contain
  a limited number of functions.

1566
* [svn r13117][ticket #117] Fix stack inconsistency error.
1567
1568
1569
1570
1571
1572
1573

* [svn r13018][ticket #114] Fix strange backtrace growth.

* [svn r13105] Fix Pathname.java failing to find boot.lisp in an
  "unpacked JAR" situation found by running ABCL in the Glassfish v3
  servlet container.

1574
1575
1576
1577
1578
1579
* [svn r13096] For arrays, add initialization with the default value
  of the element type if neither INITIAL-ELEMENT nor INITIAL-CONTENT
  have been specified.  Found by: dmalves_ (freenode irc nick).

* [svn r13094] Eliminate flushes after every character in
  javax.scripting support.
1580
1581
1582
1583
1584

* [svn r13090] Make --batch exit, use Lisp.exit() in places where
  applicable so that the streams are flushed, hence allowing --eval
  output to be flushed.

1585
1586
* [svn r13088] Fix algorithim error in writing byte sequences via
  RandomAccessCharacterFile.  Found and fixed by David Kirkman.
1587
1588
1589
1590
1591


Changes
-------

1592
1593
1594
1595
* [svn r13141-13146,13156] Make ABCL a well behaving library to better
  support embedding: NEVER call System.exit() again.  Instead, ABCL now
  throws org.armedbear.lisp.ProcessingTerminated and
  org.armedbear.lisp.IntegrityError.
1596
1597
1598
1599
1600
1601

* [svn r13111] Added a "tools" directory available in SVN repository
  to contain tools for developing ABCL in various states.  The first
  inhabitant is 'code-grapher.lisp' that provides a prototype to
  diagram a JVM instruction sequence via graphviz.

1602
1603
1604
1605
1606
1607
1608
1609
* [svn r13101] Reduced verbosity of the AbclScriptEngine.

* [svn r13097-13100] Slight refactoring of PATHNAME code, further
  specifying URI escaping rules.

* [svn r13091-2] Better error reporting for UnhandledCondition thrown
  from the Interpreter, storing the originating Java error in the
  "cause" field if the cause is a subclass of JAVA_EXCEPTION.
1610
1611


1612
1613
Version 0.23.1
==============
Mark's avatar
Mark committed
1614
1615
1616
1617
01-DEC-2010

<https://abcl.org/svn/tags/0.23.1/abcl>

1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632

Fixes
-----

* [svn r13509-10] Allow JSR-223 clients to query ABCL metadata without
  incurring the entire interpreter startup time.

* [svn r13506] Fix probles with loading FASLs in directories
  containing whitespace characters.
  
  We now require all PATHNAME objects constructed via a namestring
  containing the "file" scheme to be URI encoded according to
  RFC3986.  


1633
1634
Version 0.23
============
Mark's avatar
Mark committed
1635
1636
1637
1638
25-NOV-2010

<https://abcl.org/svn/tags/0.23.0/abcl>

1639

1640
1641
1642
1643
1644
Features
--------

* [svn r12986] Update to ASDF 2.010.1

1645
1646
* [svn r12982] Experimental support for the long form
     of DEFINE-METHOD-COMBINATION
1647
1648
1649

* [svn r12994] New java-interop macros: CHAIN and JMETHOD-LET

1650
1651
1652
1653
* [svn r13030-31,r13034] ASDF-INSTALL improvements: Ensure that the
     ASDF registry contains the ASDF-INSTALL locations.  Better
     resolution mechanism for 'gpg' binary.

1654
1655
1656
Fixes
-----

1657
* [svn r13039] Restore the Lisp-based build
1658

1659
* [ticket #108][svn r13027] Fix download problems with ASDF-INSTALL
1660

1661
* [svn r12995-12997] Changes to generated byte code to prevent JRockit JVM
1662
1663
     from crashing when optimizing it

1664
1665
* Various fixes in order to complete the Maxima test suite without failures

1666
1667
* [ticket #98] THREAD type specifier not exported from the THREADS package

1668
1669
* [svn r12946] Fix CLOS thread-safety

1670
1671
1672
1673
1674
1675
1676
1677
1678
* [svn r12930] Fix non-constantness of constant symbols when using SET

* [svn r12929] Don't throw conditions on floating point underflow
    (fixes Maxima failures)

* [svn r12928] Fix for Java-collections-as-lisp-sequences support

* [svn r12927] Fix for regression to moved threads related symbols

1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
* [ticket #104] SET changes value of symbols defined with DEFCONSTANT

* [ticket #88] Need a predicate to indicate source of compiled version
      ie Java vs Lisp

* [ticket #106] DEFSTRUCT :include with :conc-name creating overwriting
      inherited slot accessors

* [ticket #97] Symbol imported in multiple packages reported multiple
      times by APROPOS

* [ticket #107] Incorrect compilation of (SETF STRUCTURE-REF) expansion

1692
* [ticket #105] DIRECTORY ignores :WILD-INFERIORS
1693

1694
1695
1696
1697
1698
1699
1700
Other
-----

* [svn r12918] Compiler byte code generator cleanup: introduction
      of generic class file writer, elimination of special purpose code
      in the compiler.

1701
1702
1703
1704
1705
* Number of hashtable implementations reduced to 1 (from 5)

* Reduced use of 'synchronized' global hash table access by using
      the java.util.concurrent package

1706
1707
Version 0.22
============
Mark's avatar
Mark committed
1708
1709
1710
24-SEP-2010

<https://abcl.org/svn/tags/0.22.0/abcl>
1711
1712
1713
1714
1715
1716

Fixes
-----

* [svn r12902] Fix reading data with scandinavian latin1 characters

1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
* [svn r12906] Respect the CLASSPATH environment variable in the
  abcl wrapper scripts

* [ticket #103] DOCUMENTATION not autoloaded

Other
-----

* [svn r12819] Until-0.22-compatibility hacks (in threads support) removed



1729
1730
Version 0.21
============
Mark's avatar
Mark committed
1731
1732
1733
24-JUL-2010

<https://abcl.org/svn/tags/0.21.0/abcl>
1734
1735
1736
1737
1738
1739
1740


Features
--------

* [svn r12818] Update to ASDF 2.004

1741
1742
* [svn r12738-805] Support for custom CLOS slot definitions and
  custom class options.
1743
1744
1745

* [svn r12756] slot-* functions work on structures too.

1746
1747
* [svn r12774] Improved Java integration: jmake-proxy can implement
  more than one interface.
1748

1749
1750
* [svn r12773] Improved Java integration: functions to dynamically
  manipulate the classpath.
1751

1752
1753
* [svn r12755] Improved Java integration: CL:STRING can convert Java
  strings to Lisp strings.
1754
1755
1756
1757
1758
1759
1760
1761

Fixes
-----

* [svn 12809-10-20] Various printing fixes.

* [svn 12804] Fixed elimination of unused local functions shadowed by macrolet.

1762
1763
1764
* [svn r12798-803] Fixed pathname serialization across OSes.
  On Windows pathnames are always printed with forward slashes,
  but can still be read with backslashes.
1765
1766
1767
1768
1769
1770

* [svn r12740] Make JSR-223 classes compilable with Java 1.5

Other
-----

1771
1772
* [svn r12754] Changed class file generation and FASL loading
  to minimize reflection.
1773

1774
1775
* [svn r12734] A minimal Swing GUI Console with a REPL
  is now included with ABCL.
1776

1777
1778
Version 0.20
============
Mark's avatar
Mark committed
1779
1780
1781
24-MAY-2010

<https://abcl.org/svn/tags/0.20.0/abcl>
1782
1783
1784
1785
1786


Features
--------

1787
* [svn r12576] Support for CLOS METACLASS feature.
1788

1789
* [svn r12591-602] Consolidation of copy/paste code in the readers.
1790

1791
* [svn r12619] Update to ASDF2 (specifically to ASDF 1.719).
1792

1793
* [svn r12620] Use interpreted function in FASL when compilation fails.
1794

1795
1796
1797
* [ticket #95] PATHNAME-JAR and PATHNAME-URL subtypes now handle jar
  and URL references working for OPEN, LOAD, PROBE-FILE,
  FILE-WRITE-DATE, DIRECTORY, et. al.
1798

1799
* Many small speed improvements (by marking functions 'final').