Changelog 73.3 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cl-asdf (2:3.3.2-1) unstable; urgency=low

  Bug fix release:
  * Dependency tracking: fix bugs in handling misnamed secondary systems.
    We now distinguish between "syntactic" and "semantic" primariness,
    properly warn in case a secondary system is misnamed, yet properly
    recompile or avoid spurious recompilation depending on whether
    there or not is a conflict or redefinition.
    Similarly handle package-inferred-system (thanks to Eric Timmons).
    Better warning in a fishy case of compute-action-stamp.
  * UIOP: Add package location information to define-package on SBCL.
  * Upgrade: fix issue with asdf/bundle.
  * Portability: add support for Mezzano (thanks to E. Housel, H. Harrington)
  * Test and documentation improvements.

 -- Francois-Rene Rideau <fare@tunes.org>  Thu, 03 May 2018 22:46:19 -0400

18
19
20
21
22
23
24
25
26
27
28
29
30
31
cl-asdf (2:3.3.1-1) unstable; urgency=low

  New milestone:
  * UIOP compatibility fix: Introduced new replacement "timestamp"
    comparison functions, because of inadvertent change in the
    API. Functions that are compatible with the old semantics are retained
    as "stamp" comparison functions, but will eventually be deprecated.
  * Upgrade fix: Upgrade from 3.2.1 needed repair.
  * Syntax manipulation: Fix for bugs that could be introduced when the
    default readtable was manipulated during the loading of a
    defsystem-depends-on system.
  * Tests: tests for new capabilities and bugs
  * Documentation: a number of improvements and clarifications.

32
 -- Robert P. Goldman <rpgoldman@sift.net>  Sun, 12 Nov 2017 17:39:04 -0600
33

34
cl-asdf (2:3.3.0-1) unstable; urgency=low
35
36
37
38
39
40
41
42
43
44

  New milestone:
  * Build-plan: Extensively revised the build plan process so that
    :DEFSYSTEM-DEPENDS-ON would work correctly, even when depended on systems
    change (which didn't work before). See our ELS demonstration about it:
    "Delivering Common Lisp Applications with ASDF 3.3"
    < https://github.com/fare/asdf2017 >
  * Internals: to support the above, many ASDF internals have changed.
    ASDF now has the notion of multiple build phases to a common build session
    (which generalizes the previous build cache). ASDF considers loading a .asd
45
46
47
48
49
50
51
52
53
    file as an operation DEFINE-OP, and tracks as dependencies files mentioned
    during in :LOAD-FILE-FORM statements, etc. Some code has moved to new
    files or among old files, and between packages. Actions are now
    uniformly represented as a CONS of an OPERATION and a COMPONENT, where
    in some cases previously only the class of the operation was
    preserved. Forcing is constrained to be uniform across all phases of a
    top level ASDF operation invocation. Fixed the protocol for
    resetting systems being (re)defined, allowing subclasses to define
    default slot values. Remove *LOAD-SYSTEM-OPERATION*, as the current
54
55
56
57
58
59
60
    maintainer of ECL, for which it was originally designed, decided
    that it could never be made to work properly, after all.
  * ASDF&UIOP: Tweak dependencies between ASDF and UIOP. To avoid DEFINE-OP
    circularity, asdf.asd with no longer causes uiop.asd to be loaded.
    A standalone UIOP won't be loaded at all unless it's strictly more recent
    than ASDF.
  * Tests: tests for new capabilities and bugs. Test backtraces can be disabled.
61
  * Documentation: a number of improvements and clarifications.
62
63
64
  * Feature: a new feature :asdf3.3
  * ECL: restored the deprecated function MAKE-BUILD, removed in 3.2.0,
    in a way that works on top of supported APIs (we still recommend you migrate
65
66
67
    to these supported APIs). Also stop using the deprecated COMPUTE-INIT-NAME.
  * Deprecation: starting to emit STYLE-WARNINGs for deprecated
    functions.  Will gradually escalate to true WARNINGs and then ERRORs.
68

69
 -- Robert P. Goldman <rpgoldman@sift.net>  Sun, 20 August 2017 21:00:00 -0500
70

71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
cl-asdf (2:3.2.1-1) unstable; urgency=low

  New release:
  * source-registry: resolve conflicts in a way compatible with Quicklisp.
  * Upgrade: make the upgrade logic more robust, especially on CCL.
  * Require-system: better normalize module vs system names on CMUCL MKCL SBCL.
  * Logical pathnames: fix bad-system-name warning behavior when using LPNs.
  * XDG: skip empty entries, for compatibility with Ubuntu
  * Bundles: numerous fixes for bundles especially so for ECL and MKCL.
    Don't try to combine .a's as it's not portable; only ever combine but .o's.
    Getting rid of the *load-system-operation*, now it's always load-op.
  * launch-program: more fixes, notably for ECL, clasp.
  * Deprecation: fix issues with the deprecation schedule of some functions.
  * Test and Release: fixes to the release process and to a few tests.
  * Documentation: a document describing best practices when using ASDF.

 -- Francois-Rene Rideau <fare@tunes.org>  Sun, 03 Avril 2017 14:49:29 +0100

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
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
cl-asdf (2:3.2.0-1) unstable; urgency=low

  New milestone:
  * launch-program: new UIOP API for asynchronous subprocesses, now available
    on: abcl allegro clozure cmucl ecl (and lispworks os-unix) mkcl sbcl scl.
    Big thanks to Elias Pipping for this significant contribution!
  * parameter-error, not-implemented-error: new UIOP functions to better signal
    abuse of parameters in function calls, or lack of function implementation.
  * with-deprecation macro in UIOP signals style-warnings, then warnings,
    then errors when deprecated functions are used. This macro is now used
    for all deprecated functions in ASDF.
  * require-system, component-loaded-p fixed to not reload .asd files,
    and to work in presence of preloaded-systems, that are now eagerly loaded.
  * registered-system added as an abstraction for internals and extensions.
  * make-operation is now the only supported way to create an operation;
    calling make-instance directly will raise an error. Update your software!
  * Removal of several obsolete backward-compatible internals:
    if-component-dep-fails, operation-forced. Update SLIME!
  * Robustness and portability fixes all around uiop, notably dealing with
    directory access, bundles on ECL and MKCL or with cffi-toolchain,
    dealing with a fatal-condition, surviving use of "logical" pathnames, etc.
  * Tests improved and extensively run on Linux, macOS and, notably, Windows,
    with recent versions of all the maintained CL implementations.
  * Internals of ASDF systematically cleaned up and documented.
  * Build, test, release infrastructure improved, both classic and asdf-tools.
  * Documentation updated.

 -- Francois-Rene Rideau <fare@tunes.org>  Sun, 08 Jan 2017 20:45:29 -0500

Robert Goldman's avatar
Robert Goldman committed
118
119
120
121
122
123
124
125
126
127
128
129
130
131
cl-asdf (2:3.1.7-1) unstable; urgency=low

  Bug fix and portability release:
  * Fix compilation on Genera.
  * Fix UIOP:FILE-EXISTS-P for dotfiles on CCL.
  * Fix infinite loop in source registry configuration that can occur when
        there are cycles in the filesystem (typically caused by symlinks)
        on some CL implementations.
  * Miscellaneous bug fixes.
  * Documentation improvements.
  * Restore original Makefile.

 -- Robert P. Goldman <rpgoldman@sift.net>  Wed, 23 Mar 2016 09:34:14 -0500

Robert Goldman's avatar
Robert Goldman committed
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
cl-asdf (2:3.1.6-1) unstable; urgency=low

  Bug fix and portability release:
  * Fix backtrace on SBCL.
  * Fix RUN-PROGRAM of string (shell command) on Windows SBCL (ticket
    #1501373).
  * Fix a number of issues with bundle operations (especially on
    non-C-compiler-based implementations).
  * Fix component-finding in package-inferred-system.
  * Fix race condition between multiple concurrent lisp processes
    doing ASDF builds (ticket #1483948).
  * Fix misplaced fasl cache on Windows.
  * Miscellaneous bug fixes.
  * Documentation improvements.

 -- Robert P. Goldman <rpgoldman@sift.net>  Sat, 17 Oct 2015 15:01:34 -0500

149
cl-asdf (2:3.1.5-1) unstable; urgency=low
150

151
  Bug fix and portability release:
152
153
154
155
  * Add immutable-system support (thanks to Dave Cooper).  This support
    should be regarded as preliminary and subject to change.
  * Substantially improved operation on Windows: many bugfixes and improve-
    ments to UIOP functions that interface with the operating system.
156
  * Add CLASP support.
157
  * Many miscellaneous fixes for issues on individual implementations,
158
159
160
    notably UIOP incompatibility introduced by SBCL 1.2.12, support for
    LispWorks 7 character types, fixes to chdir on ABCL, improvements
    to run-program on Windows.
161
162
  * Added OS-COND to UIOP to paper over some incompatibilities about when
    and how operating system can be detected on different implementations.
163
164
    Made OS predicates run test at runtime so you can bind *features* from
    a target system and determine its OS.
165
166
167
168
169
170
  * Fixes to XDG configuration directory handling.  Try to stick to the
    XDG spec, rather than guessing what it should be on different platforms.
    To recognize this, change UIOP functions about XDG files to "XDG-"
    prefixes.
  * Documentation improvements.

171
 -- François-René Rideau <fare@tunes.org>  Sat, 18 Jul 2015 16:51:50 -0500
172

173
174
cl-asdf (2:3.1.4-1) unstable; urgency=low

175
  [ Robert P. Goldman ]
176
177
178
179
180
  Bug fix release:
  * Remove compatibility stubs for old bundle classes (not working
    properly, anyway), these are now available in a contrib.
  * Add INPUT-STRING function to UIOP.
  * For developer and tester convenience, bring all the external
181
    dependencies into the git repo as submodules. See target make ext
182
  * Optionally speed up registry search by providing a cache for
183
184
    the SOURCE-REGISTRY. See the cache-generating script in:
      asdf/tools/cl-source-registry-cache.lisp
185
186
187
  * Fixes to tests and documentation.
  * Many minor bugfixes.

188
 -- François-René Rideau <fare@tunes.org>  Thu, 09 Oct 2014 21:18:21 -0400
189

190
cl-asdf (2:3.1.3-1) unstable; urgency=low
191
192
193
194
195
196
197
198

  Bug fix release:
  * A bug in 3.1.2 caused errors when hot-upgrading from 3.1.2 ASDF.
  * Fix bugs in ASDF component search caching. In some circumstances,
    aggressive caching (particularly of negative results) interfered with
    error-handling through restarts.  Also, in some cases use of caching
    interfered with error-checking. Some of these issues are discussed in
    ticket #1335323 on launchpad.
199
  * Miscellaneous bug fixes and tweaks to UIOP.
200
201
  * Documentation improvements.

202
 -- Francois-Rene Rideau <fare@tunes.org>  Mon, 14 Jul 2014 16:54:49 -0400
203

204
cl-asdf (2:3.1.2-2) unstable; urgency=low
205
206

  New release:
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
207
208
  * ~/common-lisp/ is now present by default in the source-registry, so
    you don't need to configure anything if you put source code there.
209
210
  * package-inferred-system implements the one-file, one-package, one-system
    paradigm of quick-build and faslpath as an extension to ASDF 3.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
211
212
213
  * non-propagating-operation replaces OPERATION for operations as a base class
    to inherit from for operations that do not propagate,
    whereas for backward compatibility with ASDF 1 and 2,
214
215
    subclasses of OPERATION implicitly propagate DOWNWARD and SIDEWAYs.
    Failure to explicitly inherit from one of the explicitly propagating
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
216
    or non-propagating classes will result in a WARNING for now.
217
  * Accept strings as operation class designators in DEFSYSTEM, which
Robert Goldman's avatar
Robert Goldman committed
218
219
    provides better integration of ASDF extensions loaded using
    DEFSYSTEM-DEPENDS-ON.
220
  * force-not now takes precedence over force, and systems named in the
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
221
    *immutable-systems* set (represented as an equal hash-table) are always
222
    forced-not, and even their .asd is not refreshed from the filesystem.
223
  * portability is much improved, with support for the latest GCL, and
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
224
    fixes for ABCL, CLISP, ECL, LispWorks, MKCL, SBCL, XCL, etc.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
225
226
227
  * bundle support was refactored, with many fixes to previously uncommon cases.
    ECL support is fixed, MKCL added, with a common extension to build programs
    without pulling in UIOP and with it the compiler.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
228
229
230
231
    image-op was added to create heap images for use with e.g. cl-launch.
    load-fasl-op was renamed to load-bundle-op, fasl-op to compile-bundle-op,
    binary-op to deliver-asd-op, and so forth for the monolithic- variants;
    previous names remain available for backward compatibility.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
232
233
  * robustness: Test improvements and new tests.
    Added missing dependencies in asdf.asd itself(!).
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
234
    Fixes to version-satisfies (thanks to stassats), to the file-stamp cache.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
235
    Fix to regression from 3.0.2.12 whereby ASDF failed to avoid downgrading.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
236
    Many cleanups. Many explanatory updates to source code comments.
237
238
239
  * run-program tweaked again, notably on Windows, on CLISP, and
    on implementations without a native run-program. On Windows, we
    punt on trying to ensure no final space is ever echo'ed by CMD.EXE " ".
240
  * provide both "asdf" and "ASDF" to play nicer with various Lisps.
241
  * upgrading from a sufficiently forward-compatible version (currently: 2.33)
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
242
    will be less disruptive of ASDF data and enhancements in the current image:
243
244
    previously loaded systems will not be cleared anymore,
    variables defined with defparameter* will not be reset.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
245
    Punting on upgrades from ASDF 1 for more robust behavior.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
246
247
248
249
250
  * make is the new name for build-system, as an experimental alternative
    interface to building software with ASDF — it operates with build-op,
    which itself delegates to *load-system-operation* by default.
    Prepare-op also delegates to *load-system-operation* on systems.
    You might bind that variable to load-bundle-op instead of load-op.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
251
  * uiop much improved so as to be used with Google's build system blaze:
252
253
    with-temporary-file, dump-image / restore-image, ensure-pathname,
    compile-file*, with-saved-deferred-warnings.
254
255
256
  * Added portable API to optimization settings.
  * Refine detection of operating systems. os-macosx-p and os-unix-p no
    longer mutually exclusive.
257
258
  * asdf3.1 feature pushed, to signal the slew of significant improvements
    in over a year since initial ASDF 3.0 pre-release (i.e. version 2.27).
259
260
  * Substantially rewritten, updated, and expanded manual.
  * TODO updated.
261

262
 -- Francois-Rene Rideau <fare@tunes.org>  Mon, 19 May 2014 20:07:40 -0400
263

264

265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
cl-asdf (2:3.0.3-1) unstable; urgency=low

  New release:
  * Run-program much improved, with a slight backward incompatibility.
    See the new documentation about it.
  * Portability enhanced, with more robust Windows support,
    plus patches for CCL, CLISP, LispWorks, XCL.
  * UIOP improved, with a README, more docstrings, a few new functions
    (println, writeln, stripln, ensure-gethash, vomit-output-stream),
    and bugfixes (to ensure-function, with-temporary-file, split-string).
  * Debian installations that don't export XDG_DATA_DIRS will benefit
    from the fix to split-string, as the bug was basically disabling
    the default source-registry entry for /usr/share/common-lisp/source//
    Closes: #723977
  * Minor tweaks to the defsystem, mostly to print more information
    in some situations, less in other situations, but also to better
    handle systems with secondary names like foo/bar, a fix for user
    functions in output-translation, and to :version (:read-file-...)
  * Documentation somewhat updated.

285
 -- Francois-Rene Rideau <fare@tunes.org>  Tue, 22 Oct 2013 22:30:12 -0500
286

287
288
289
290
291
292
293
294
295
cl-asdf (2:3.0.2.4-1) unstable; urgency=low

  UIOP:DIRECTORY* fixed to NOT follow symbolic links on LispWorks.
  Fix handling of :at key in :read-file-form.
  Fix package issue for system-definition-error (lp #1206173).
  Some docstring updates. Also documentation updates.

 -- Francois-Rene Rideau <fare@tunes.org>  Tue, 03 Sep 2013 12:17:21 -0500

Robert P. Goldman's avatar
Robert P. Goldman committed
296
297
298
299
300
301
302
303
304
cl-asdf (2:3.0.2-1) unstable; urgency=low

  Improve support for CMUCL, ABCL, restore MCL support.
  TRAVERSE is deprecated (moved to BACKWARD-INTERFACE), use
  MAKE-PLAN instead.
  Added DLL-OP and MONOLITHIC-DLL-OP for ECL.

 -- Robert P. Goldman <rpgoldman@sift.info>  Tue, 02 Jul 2013 12:05:57 -0500

305
306
307
308
309
310
311
cl-asdf (2:3.0.1.3-1) unstable; urgency=low

  Add some backward-compatibility to the debian package,
  with a symlink from asdf.lisp to build/asdf.lisp.

 -- Francois-Rene Rideau <fare@tunes.org>  Sun, 02 Jun 2013 00:56:50 +0200

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
312
313
314
315
316
317
318
cl-asdf (2:3.0.1.2-1) unstable; urgency=low

  ASDF 3.0.1.2 fixes issues with the debian package itself.
  It also includes fixes to run-program and run-shell-command.

 -- Francois-Rene Rideau <fare@tunes.org>  Mon, 27 May 2013 22:44:50 -0400

319
320
321
322
323
324
325
326
327
328
329
cl-asdf (2:3.0.1-1) unstable; urgency=low

  ASDF 3.0.1 is an emergency release for better compatibility with Quicklisp.

  * version-satisfies now uses uiop:version<= for comparison,
    and does not check for a same major version number,
    like version-compatible-p does, which was the
    undocumented behavior since ASDF 1.

 -- Francois-Rene Rideau <fare@tunes.org>  Mon, 16 May 2013 19:20:28 -0400

330
331
332
333
334
335
336
337
338
cl-asdf (2:3.0.0-1) unstable; urgency=low

  ASDF 3.0.0 is the first official release of ASDF 3;
  ASDF 2.27 to 2.33 were pre-releases.
  Since 2.33, the following changes were done:

  * Portability: have *uninteresting-conditions* be empty by default.
    Move stuff to *usual-uninteresting-conditions*, unused by default.
    Will make the SBCL team happy. Also, fix tests on ABCL.
339
    Fix regression of program-op on ECL, by implicitly linking in UIOP or ASDF.
340
341
342
343
344
345

  * UIOP: improvements to slurp-input-stream and thus run-program,
    notably accepting T as alias for *standard-output*,
    for better backward-compatibility of the deprecated run-shell-command.
    New macro with-output-file.

346
  * POIU support enhanced with various tweaks.
347
348
349

  * Build cleanup so make and concatenate-source-op create the same asdf.lisp

350
 -- Francois-Rene Rideau <fare@tunes.org>  Mon, 15 May 2013 23:57:22 -0400
351

352
cl-asdf (2:2.33-1) unstable; urgency=low
353

354
  ASDF 2.33 is a set of cleanups since 2.32.
355
356
  Since previous release 2.32, it includes the following changes:

357
358
359
  * Portability tweaks for ABCL, Allegro, CCL, CLISP, ECL, LispWorks, SBCL.

  * deferred-warning received yet more improvements for CCL.
360
361
362
363
364
365
366

  * upgrade is made more robust in many cases, notably for ECL, SBCL,
    or when using UIOP with an old ASDF<=2.26.

  * Packages have been tweaked to pass more tests,
    notably wrt what symbols are exported.

367
368
  * Image lifecycle support is improved, thanks to deploying ASDF3 for QRes.
    More options for dump-image on CCL; handle reentrance in restore-image.
369

370
371
372
373
374
375
376
377
  * delete-directory-tree, delete-empty-directory, copy-file,
    directory-exists-p, file-exists-p were added to UIOP,
    also better strcat, with reduce/strcat, base-string-p, etc.

  * Recompilation avoided for things already done by defsystem-depends-on.

  * monolithic-fasl-op was fixed in cases when the main system has components.

378
379
380
  * fasl-op and monolithic-fasl-op now work on ABCL trunk and upcoming 1.2.0,
    and will eventually replace the ABCL-JAR contrib.

381
382
383
  * *uninteresting-conditions* was added as a common list of conditions
    shared between the compile-time and load-time muffled conditions.

384
 -- Francois-Rene Rideau <fare@tunes.org>  Thu, 04 Apr 2013 01:54:26 -0400
385

386
387
388
389
390
391
392
393
394
395
396
397
398
cl-asdf (2:2.32-1) unstable; urgency=low

  ASDF 2.31 is yet another bug fix release in preparation of an upcoming ASDF 3.
  Since previous release 2.31, it includes the following changes:

  * deferred-warning checks are now disabled by default,
    to enhance backward compatibility with ASDF 2.26 and earlier.
    In the future, we will enable them by default,
    but not until we implement a smoother transition plan.

  * UIOP is the new official name for ASDF-DRIVER.
    "Utilities for Implementation- and OS- Portability".
    Old names remain as package and system nicknames:
399
    . ASDF/DRIVER ASDF-DRIVER ASDF-UTILS
400
401
402
403
404
405
406
407

  * require-system so systems may depend on implementation-provided modules.

  * auto-upgrade attempt in operate *before* the implicit find-system.

  * class specification for components can now be a string to be read as a symbol.

  * feature conditional dependencies are now debugged and tested:
408
    . :depends-on ("some-system" (:feature :foo "other-system))
409
410
    we only recommend them for dependencies between systems;
    within systems, we recommend you use feature-conditional components with
411
    . :if-feature :foo
412
413
414
    and we only provide limited support for the deprecated legacy way of using
    feature-conditionals with a module having :if-component-dep-fails :ignore
    while its components specify things like:
415
    . :in-order-to ((compile-op (feature :foo)))
416
417
418
419
420
421
422

  * read-from-file for :version specification is made more useful by using
    the ASDF-USER package rather than CL (into which interning is forbidden)
    to read the files.

 -- Francois-Rene Rideau <fare@tunes.org>  Tue, 05 Mar 2013 19:35:43 -0500

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
cl-asdf (2:2.31-1) unstable; urgency=low

  ASDF 2.31 is another bug fix release in preparation of an upcoming ASDF 3.
  Since previous release 2.30, it includes the following changes:

  * *default-encoding* is now UTF-8. As tested with cl-test-grid,
    This is a boon for most programs,
    that will compile in a more predictable way in a wider range of settings.
    A handful of unmaintained outliers still need to be fixed.

  * Downgrade is now explicitly avoided. ASDF will issue a warning
    if your system is misconfigured in a way that specifies downgrade,
    but will then ignore the specified ASDF downgrade.

  * version specifications, when invalid, will lead only to a warning for now;
    a future ASDF3 may restore the behavior of ASDF 2.27,
    that raises an errors when there is a bad :version specification,
    but for now, backward compatibility prevails.

  * ECL support received several bug fixes.

  * precompiled-system support was notably fixed, enabling single-fasl
    deployment of SBCL contribs.

 -- Francois-Rene Rideau <fare@tunes.org>  Mon, 25 Feb 2013 19:02:14 -0500

449
450
cl-asdf (2:2.30-1) unstable; urgency=low

451
  ASDF 2.30 is another bug fix release in preparation of an upcoming ASDF 3.
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
  Since previous release 2.29, it includes:

  * syntax around loading .asd files made more backward-compatible,
    by *not* (for now) binding *readtable* and *print-pprint-dispatch*
    to standard values, because it breaks some indelicate libraries.
    We intend to reinstate these bindings at some point in the future,
    but only after more implementations enforce the immutability
    of these standard values like SBCL does,
    and after fixed libraries have been released.
    This notably unbreaks iolib 0.7.3 (for readtable) and
    defdoc (for the pprint-dispatch table).

  * portability fixes for CCL and CMUCL.
    On CCL, punt on package upgrade, and on reify-simple-sexp.
    On CMUCL, fix raw-print-backtrace and hostname.

  * exported symbols cleaned up somewhat.

 -- Francois-Rene Rideau <fare@tunes.org>  Fri, 20 Feb 2013 17:53:32 -0500

472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
cl-asdf (2:2.29-1) unstable; urgency=low

  ASDF 2.29 is a bug fix release in preparation of an upcoming ASDF 3.
  Since previous release 2.28, it includes:

  * deferred-warnings support for Allegro, CMUCL, SCL;
    fixes to the CCL support.

  * Upgrade fixes regarding fallback system versions;
    making it possible (via massive use of eval-when)
    to compile ASDF without loading it first.

  * Compatibility with private use of :D package nickname
    by not claiming it for package ASDF/DRIVER anymore.
    Also explicitly handle NIL in safe-file-write-date,
    in case the implementation doesn't issue a file-error in that case;
    make UTF-8 the default encoding for with-input-file.
    Be portable to #+(and sbcl (not sb-eval)).

  * Bugfixes to old bugs: inline-methods can now be unqualified (lp#485393),
    defsystem-depends-on accepts arbitrary specs, not just names (lp#1027521).

 -- Francois-Rene Rideau <fare@tunes.org>  Fri, 16 Feb 2013 15:07:24 +0100

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
496
497
cl-asdf (2:2.28-1) unstable; urgency=low

498
499
500
  ASDF 2.28 is a quick patch to ASDF 2.27 to make it work better with
  systems that specify a relative pathname, then at runtime (e.g. in tests)
  use merge-pathnames or merge-pathnames* against it expecting a directory.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
501
502
503

 -- Francois-Rene Rideau <fare@tunes.org>  Fri, 01 Feb 2013 17:07:53 -0500

504
505
506
cl-asdf (2:2.27-1) unstable; urgency=low

  ASDF 2.27 is actually an almost complete rewrite of ASDF, and
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
507
  should be considered a pre-release for an upcoming ASDF 3.
508
509
  It nevertheless maintains backward compatibility with the current practice,
  and is tested against the software in Quicklisp.
510
511
512
513
514

  * ASDF-BUNDLE was merged into ASDF.
    This notably means fewer headaches for users of ECL;
    it also means a new load-fasl-op feature for all users of a modern CL,
    making it easier to deliver software as a single fasl.
515
516
    After release, I plan to offer a patch so SBCL use that for its contrib's.
    All remnants of asdf-bundle's predecessor asdf-ecl were removed.
517

518
  * DECADES-OLD bugs of notable significance were fixed:
519
520
    (a) changes in dependencies now trigger a rebuild across systems, and
    https://bugs.launchpad.net/asdf/+bug/479522
521
    (b) timestamps are now correctly propagated (they weren't at all!)
522
    https://bugs.launchpad.net/asdf/+bug/1087609
523
    Fixing them required a complete rewrite of ASDF's dependency tracking.
524
525
    In olden days, some have argued for not rebuilding systems that :depend-on
    a modified one as a "feature". It really isn't. On the other hand,
526
527
    it is now possible to explicitly prevent a system from being rebuilt, using
    an actual feature, :force-not, which was released in 2.21 in April 2012.
528
529
530

  * PREPARE-OP was introduced to fix a conceptual bug in the ASDF object model.
    It corresponds to "loading the dependencies of a component and its parents"
531
532
533
    and is explicitly depends-on'ed by LOAD-OP and COMPILE-OP of the component,
    instead of their implicitly depending on it via the TRAVERSE algorithm,
    which implicit dependency proved fatal in cases revealed by the above bugs.
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
    It propagates upward in the component hierarchy, rather than downward,
    like the TRAVERSE algorithm used to systematically propagate dependencies.

  * TRAVERSE was gutted out and factored into reusable higher-order functions
    and objects, which not only fixes the above conceptual bug, but makes for
    semantics that are simpler to implement, possible to understand,
    easier to extend, and less limited in expressivity.
    TRAVERSE doesn't automatically propagate operations
    downward the component hierarchy anymore;
    propagation is now implemented through methods on COMPONENT-DEPENDS-ON.

  * COMPONENT-DEPENDS-ON is now more powerful:
    it can express dependencies on arbitrary operation objects
    (i.e. operations of the same class can have different options)
    acting on arbitrary component objects
    (i.e. not necessarily siblings of the current component).
    The ASDF object model can now express arbitrary build graphs, with
    no more special magic for children components vs other dependencies.

  * COMPONENT-DO-FIRST is no more. It used to specify some dependencies
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
554
555
556
557
    that were skipped if no re-build was triggered based on local timestamps;
    except that ASDF 1 didn't let the users control it,
    and ASDF 2 only let you control it since 2.017 or so.
    In ASDF 3, COMPONENT-DEPENDS-ON is used for all dependencies,
558
559
560
561
    and all are consulted to correctly propagate timestamps.
    However actions meant for in-image side-effects are included
    only if needed, and might be visited twice by TRAVERSE,
    first without the needed-in-image-p flag, another time with.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
562
    You can use :IN-ORDER-TO everywhere you used to use :DO-FIRST, if ever.
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581

  * FORCE and FORCE-NOT now correctly distinguish T from :ALL in addition to
    a list of system name specifiers, as per the original specification
    (which was never implemented in ASDF 1). Additionally,
    builtin systems (such as SB-BSD-SOCKETS on SBCL) cannot be forced
    (which doesn't work on SBCL).

  * IF-FEATURE is a new attribute of components that accepts an arbitrary
    feature expression such as (:and :sbcl (:or :x86 :x86-64)),
    which when defined is a precondition to the component being enabled;
    when the expression is false, the component is disabled,
    and dependencies to it are removed.
    It replaces the misguided :if-component-dep-fails attribute of modules
    and the accompanying :feature feature, which were dropped.
    They were not very expressive, clunky to use, and relied on baking
    conceptually dubious non-local behavior in the old TRAVERSE algorithm,
    which belied the object model and defeated other features.
    Unhappily, this breaks backwards compatibility for the few who used it,
    namely sb-grovel, nibbles and ironclad.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
582
583
584
    A minimal compatibility layer is included that allows ASDF 3 or later
    to load the SB-GROVEL of old versions of SBCL; but it won't suffice
    to load an old version of nibbles or ironclad; please upgrade them
585
    a recent version that was updated to support ASDF 3.
586

587
588
589
590
591
592
593
594
  * CONCATENATE-SOURCE-OP is a new operation that builds a single Lisp file
    from all the source files in a system,
    which allows you to develop in a structured way with many compact files,
    yet deliver a large single file. Other related operations allow you
    to load that source file, or compile and load it,
    or do the same while including all other system dependencies.
    ASDF was broken up into lots of small files, to be delivered that way.

595
596
597
598
599
600
601
602
603
604
  * FOO/BAR/BAZ names will be recognized by defsystem as having to be located
    in a file called foo.asd. This is backward compatible in the case where
    you somehow arranged to load foo.asd before to use the other subsystems,
    except now ASDF can find the subsystems by name without the main system
    definition having been loaded. See uses of function PRIMARY-SYSTEM-NAME.

  * BUILD-OP is a generic operation that can do the "right thing" for
    each system, without users having to maintain the knowledge of
    what the right thing is for each system they may indirectly depend on.

605
606
607
608
609
610
  * Convenience methods were added to most exported generic functions,
    so you can (input-files 'compile-op '(system1 "file1")) instead of
    (input-files (make-instance 'compile-op) (find-component 'system1 "file1"))
    This notably makes it much easier to interact with ASDF at the REPL
    and debug your system definitions or ASDF extensions (or modifications).

611
612
613
  * Packages were introduced as ASDF was broken up into small files.
    Each file now has its own package, importing and exporting functionality,
    following the style made popular by faslpath and quick-build.
614
615
    ASDF does not yet include builtin support for quick-build or faslpath
    systems and dependencies, however. Possibly in ASDF 2.28.
616

617
618
619
620
621
622
623
624
625
626
627
628
629
  * ASDF-DRIVER is a separately-usable library for Common Lisp runtime support.
    It is transcluded in asdf.lisp (i.e. when delivering ASDF as a separate
    bootstrap file, the contents of ASDF-DRIVER have been included in it),
    but can also be used as a separate ASDF system on top of an old ASDF
    (within limits: CLISP and XCL still need a recent ASDF).
    The package ASDF/DRIVER (with short nickname :D) re-exports
    all the functions that ASDF needed to run portably.

  * Pathnames are a notable part of ASDF-DRIVER, required to deal
    portably with pathnames despite the many bugs and variations
    from platform to platform. See notably in pathname.lisp,
    MERGE-PATHNAMES*, SUBPATHNAME, PARSE-UNIX-NAMESTRING,
    PARSE-NATIVE-NAMESTRING, ENSURE-PATHNAME, and many many more.
630
631
632
633
634
635
636
637
638
639

  * Pathname use by ASDF was also improved in countless small ways,
    closing more buglets that appeared in as many corner cases.
    For instance, system pathname defaulting was improved,
    and systems not associated with a file will now have NIL as their pathname,
    which will otherwise be correctly treated.
    Many things that would vary depending on implementation will work better.
    Also, although we cannot strongly enough disrecommend the use of so-called
    "logical pathnames", especially where portability matters in any way, we
    support them better than ever within the limitations of the implementation.
640
641
642
643
644
645

  * Image lifecycle support is included in ASDF-DRIVER (and thus ASDF);
    this standardizes things like access to *COMMAND-LINE-ARGUMENTS*,
    declaring an entry-point to a program, hook functions and/or a prelude
    to run before to start the main entry, and a postlude and/or hook functions
    to run before to dump an image, dumping or creating an image, etc.
646
647
648
649
650
651
652
653

  * PROGRAM-OP allows you to create standalone executables on implementations
    that support it: CLISP, Clozure CL, CMUCL ECL, LispWorks, SBCL, SCL.
    A hello-world-example system shows demonstrates how to use it.

  * Run-program is a replacement for the old run-shell-command.
    Unlike run-shell-command, it is portable to Windows as well as Unix,
    it can avoid going through a shell and will sensibly escape arguments
654
    when it does go through a shell, and it has a usable interface
655
    to either capture program output or run the program interactively.
656
657
    This supersedes run-program/ previously available from xcvb-driver,
    including several improvements and portability fixes.
658

659
660
661
662
663
664
  * Conditions can be selectively muffled around compilation thanks to
    the an around-compile hook and the *UNINTERESTING-COMPILER-CONDITIONS*
    parameter, and around loading with *UNINTERESTING-LOADER-CONDITIONS*
    which is _appended_ to the former during loading.
    This supersedes the functionality previously available from xcvb-driver
    and its thin wrapper asdf-condition-control, which was retired.
665
666

  * Deferred warnings for yet undefined functions, that in a single-session
667
668
    build are usually signaled at the end of a compilation unit, will be
    saved and reassembled to make each system a compilation unit of its own,
669
670
    even when compilation of file happens across multiple sessions;
    only CCL and SBCL support this feature at this time.
671
672
    I welcome patches for other compilers, for which ASDF will _not_
    wrap an implicit WITH-COMPILATION-UNIT around its operate method anymore.
673
674

  * COMPILE-FILE* was beefed up to support all these features and more,
675
    and the Right Thing(tm) on all implementations, including
676
    support for their various extensions.
677

678
679
680
681
  * Internals have been refactored, and some sorry features were excised.
    The semantics of OPERATION-DONE-P is simplified and now well-specified.
    FIND-COMPONENT will pass component objects through, and
    a corresponding FIND-OPERATION replaces MAKE-SUB-OPERATION.
682
683
    Many internal accessors were renamed, after checking on Quicklisp
    that no one was using them.
684

685
  * Portability updates were done for each and every implementation.
686
687
688
    Working support for GCL 2.6 was restored, with notable limitations
    including lack of support for output-translations or logical-pathnames.

689
690
691
692
693
694
  * TRUENAME resolution can be reliably turned off in all cases where
    ASDF was using them by setting the variable *RESOLVE-SYMLINKS* to NIL.
    This is useful if your operating system makes that operation slow,
    or if your build system uses symlinks to content-addressed storage
    in which case TRUENAME just does the wrong thing.

695
696
697
698
  * PERFORMANCE of ASDF3 is somewhat slower (about 70%) than ASDF2
    when *RESOLVE-SYMLINKS* is true, and slightly faster when it is false;
    but underneath ASDF3 does much more work than ASDF2.

699
700
701
702
  * VERSION strings can now be specified as having to be fetched
    from a file using a (:read-file-form <path>) specification,
    that can use an optional :at keyword argument to specify
    a form or subform other than the first form in the file,
703
704
705
    as per the utility asdf-driver:access-at. For instance,
    if your file specials.lisp is a defpackage, an in-package
    and a defparameter of the version, then you could use:
706
      (:read-file-form "specials.lisp" :at (2 2))
707
708
709
    This makes it easier for developers to manage versioning
    of one or multiple systems with a single master version location.

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
710
711
712
713
714
715
716
717
718
  * COMPONENT-PROPERTY and the :PROPERTIES initarg of defsystem are deprecated;
    though they are still supported for now, we intend to retire them
    in a hypothetical future ASDF 4. To replace them, we recommend you instead
    define a subclass of asdf:system, with new slots and/or initargs, and
    use them with the :defsystem-depends-on and :class options of defsystem.
    We looked at usage of in Quicklisp systems, and added to asdf:system
    these slots corresponding to the general-purpose metadata we saw:
    :homepage :bug-tracker :mailto :long-name

719
  * Self-Upgrade of ASDF will happen automatically as the first thing
720
721
722
723
724
725
    before any attempt to build anything, as it was determined that
    doing it in the midst of a build breaks everything, and it is not
    otherwise possible to reliably detect in advance whether ASDF may
    be needed in such midst. If you don't want an ASDF upgrade, just
    don't configure your source-registry to include any copy of ASDF.

726
727
728
729
  * DEFINE-PACKAGE is provided as a replacement to DEFPACKAGE that supports
    hot upgrade of software where some packages have changed.
    It also provides new forms :MIX and :REEXPORT which can be quite practical.

730
731
732
733
734
735
736
737
  * ASDF-USER is now the shared package in which all .asd files are loaded.
    There will be no more temporary packages created
    around the loading of each .asd file. This shouldn't change much for users:
    you should probably still define your own private package whenever you
    define new classes, functions, or variables, to avoid namespace conflict;
    except now, when you don't, you can still access your defined symbols
    after the file is loaded.
    ASDF is not the right place to fix Common Lisp namespace issues, and
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
738
739
740
741
    these temporary packages were never a successful fix anyway;
    indeed, users were still required to define their own package as soon
    as they wanted to define variables, functions and classes
    in the system file.
742
743
744

  * ASDF3 was added to the *features* so you can detect the presence of
    this massively updated ASDF and its new features with #+asdf3.
745

746
747
  * Documentation received some updates, though by no means comparable
    to the complete rewrite of the code base.
748
749
750

  * Tests were updated, notably including support for bundles, encodings,
    run-program, and more. They were successfully run on
751
752
      abcl allegro allegromodern ccl clisp cmucl
      ecl ecl_bytecodes lispworks sbcl scl xcl
753
    Manual tests were run on gcl2.6 genera lispworks-personal-edition.
754
    Untested remain cormancl mkcl rmcl.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
755
    The internal test system itself was massively improved.
756

757
758
759
760
761
762
763
764
765
766
  * ASDF-DEBUG is a simple utility to make your favorite debugging primitives
    available in the package you're debugging. See contrib/debug.lisp
    and the asdf/utility:*asdf-debug-utility* variable.

  * ASDF-UTILS is now but an empty shell that depends-on ASDF-DRIVER.
    The ASDF-DRIVER package has the ASDF-UTILS nickname, and exports
    all the functionality that used to be in ASDF-UTILS, and much more,
    minus a few misdesigned things from ASDF1 that you ought not
    to have been using, and for which there are non-broken replacements.
    ASDF-UTILS was distributed separately from ASDF; ASDF-DRIVER is available
767
    both as part of ASDF 3 and later and separately.
768

769
770
  * POIU was updated. This extension is still distributed separately from ASDF.
    It is now much simplified and made correct by construction by
771
772
773
    reusing the new TRAVERSE infrastructure of ASDF and now being able to
    assume the ASDF object model is a complete description of dependencies.
    On SBCL it will handle deferred warnings from background compilations.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
774
    Where forking is not supported or not possible because of threads,
775
    it will gracefully fall back to serial compilation.
776

777
  * INFERIOR-SHELL (distributed separately) was updated to use asdf-driver
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
778
    instead of xcvb-driver. It notably provides a richer interface to
779
780
    the RUN-PROGRAM functionality.

781
  * SLIME support for ASDF was significantly enhanced.
782
    It is distributed with SLIME, separately from ASDF.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
783
784
    See latest slime checkin from 2013-01-29.
    It requires ASDF 2.014.6 or later (as used by 2011 quicklisp releases).
785
786
    We recommend that you should include slime-asdf in your slime-setup
    and that in your ~/.swank.lisp you should include:
787
788
789
    (in-package :swank)
    (pushnew 'try-compile-file-with-asdf *compile-file-for-emacs-hook*)

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
790
 -- Francois-Rene Rideau <fare@tunes.org>  Fri, 01 Feb 2013 13:27:12 -0500
791

792
793
794
795
796
797
798
799
800
801
802
cl-asdf (2:2.26-1) unstable; urgency=low

  * Package change: removed the old ASDF-UTILITIES package nickname for ASDF.
    Please use the separate ASDF-UTILS system and package for utilities.
  * compile-file-pathname* bug fix for :output-file nil. Fixes lp#1067617.
  * get-folder-path factored out of various functions, thanks Martin Simmons.
  * Lispworks: enable sys:get-folder-path on Personal Edition for Windows.
  * ECL: add proper wrapping-source-registry

 -- Francois-Rene Rideau <fare@tunes.org>  Thu, 30 Oct 2012 08:09:06 +0900

803
804
805
806
807
808
809
810
cl-asdf (2:2.25-1) unstable; urgency=low

  * Lispworks: avoid professional edition functions in personal edition.
  * CormanLisp: improve support a little bit.
  * Exports: don't export utilities anymore. Please use asdf-utils.

 -- Francois-Rene Rideau <fare@tunes.org>  Thu, 27 Sep 2012 18:35:21 -0400

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
cl-asdf (2:2.24-1) unstable; urgency=low

  * ACL: handle SMP vs non-SMP builds in Allegro 9.0
  * MKCL: add support for ManKai Common Lisp
  * ECL: merge improvements from ECL git. Refactor ECL support somewhat.
  * Remove broken-fasl-support: first, cormanlisp is supposed to have fixed it;
    second, cormanlisp is dead;
    third, one can now (setf *load-system-operation* 'load-source-op) instead
    while using asdf:load-system.
  * renaming ends-with to string-suffix-p to avoid conflict with alexandria.
  * Refactor load-system to use *load-system-operation*,
    and change require-system and module-provide-asdf to use that.

  Also note:
  * We recommend you use asdf-utils to access the utilities in asdf.
    Some time next year, we may stop exporting the utilities from asdf itself.
  * To avoid conflicts between alexandria, fare-utils, xcvb-driver,
    asdf-utils, etc., you can use xcvb-utils that solves the conflicts.
    Or you can use fare-utils:define-package-mix that will help you
    automatically resolve them.

 -- Francois-Rene Rideau <fare@tunes.org>  Sat, 25 Aug 2012 08:05:21 -0400

834
835
836
837
838
839
840
841
842
cl-asdf (2:2.23-1) unstable; urgency=low

  * add new :compile-check argument to compile-file* and around-compile-hook.
    This allows for consistency check of .fasl output before the file can
    possibly be seen by other builds (i.e. no race condition).
  * export more utilities for dealing with pathnames from environment.

 -- Francois-Rene Rideau <fare@tunes.org>  Tue, 17 Jul 2012 11:03:32 -0400

843
844
845
846
847
848
849
850
851
852
cl-asdf (2:2.22-1) unstable; urgency=low

  * require is now mapped to the recently defined require-system,
   not to load-system anymore.
  * more sensible inheritance semantics for default-component-class,
   which can be either a class or a class name.
  * accept wildcards in directory-files for physical pathnames. lp#1000842

 -- Francois-Rene Rideau <fare@tunes.org>  Tue, 12 Jun 2012 11:22:33 -0400

853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
cl-asdf (2:2.21-1) unstable; urgency=low

  * New features:
    * Most importantly, encodings.
      ASDF now lets you specify an :encoding for a system, module or component,
      that is used when loading or compiling Lisp files. See the documentation.
      By default, the only useful value is :utf-8, and
      we recommend you use UTF-8 everywhere.
      We intend to make UTF-8 the default in the future
      (current default is the legacy behavior of using whichever implicit
      default your underlying implementation is currently configured to use).
      An extension asdf-encodings is available that supports more encodings,
      including autodetection of encoding from either emacs-style declaration
      -*- Mode: Lisp ; coding: utf-8 -*- or content.
    * require-system works like load-system, but won't try to load or update
      systems that have already been loaded, as listed by loaded-systems.
      More generally, you can specify a list of systems as :force-not argument
      to load-system and the specified systems won't be loaded or updated.
    * You can specify :force-not and a list of systems when loading a system,
    * You can now specify :hostname in your asdf-output-translations,
      so you can easily share a home directory via the network
      yet split its fasl cache between several subtly different machines.
  * Bug Fixes:
    * lp#982285. since 2.014.4, the default source-registry
      was skipping anything from /usr or XDG_DATA_DIRS,
      because of a missing test in getenv-absolute-pathnames. Fixed in .15.
    * In 2.019.9 aka 2.20, ECL support was broken by using
      a function in the wrong package (defined in cl-user). Fixed in .1.
    * logical-pathname support was somewhat broken since 2.017.6,
      due to the way most implementations fail to read physical namestrings
      when *default-pathname-defaults* is a logical-pathname.
884
885
      Fixed, together with other logical-pathname issues, and
      a test case was added to the test suite to ensure no further regression.
886
887
888
889
890
891
892
893
894
      Works great modulo quirks around implementation bugs on CLISP and Allegro.
    * Make upgrading ASDF more robust on CMUCL, LispWorks, SBCL.
  * Minor tweaks:
    * Use :unspecific in pathname components on more implementations.
    * export and/or document more utilities.
    * add a few missing compatfmt for Genera.

 -- Francois-Rene Rideau <fare@tunes.org>  Sat, 28 Apr 2012 23:55:23 -0400

895
896
897
898
899
900
901
902
903
cl-asdf (2:2.20-1) unstable; urgency=low

  * Portability: support the new CCL fasl numbering API
  * Bug fixes: handle various configuration corner cases better
   (thanks to Sergey Katrevich and Rupert Warwick).
  * Feature: Robert Goldman fixed and documented WEAKLY-DEPENDS-ON.

 -- Francois-Rene Rideau <fare@tunes.org>  Fri, 13 Jan 2012 14:40:12 -0500

904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
cl-asdf (2:2.019-1) unstable; urgency=low

  * UI: Create and use a load-systems abstraction,
   in view of using it in a system-granular parallelizing backend. (.15)
  * Usability: when a system can't be found, there's now a restart to retry
   finding a system after reinitializing the source-registry (.10).
  * Feature: :around-compile now accepts lambda expressions, and also strings,
   so you can specify future wrappers that can't even be read yet. (.11, .12).
  * Filesystem: recursing through logical pathnames in LispWorks (.2, .3),
   on SBCL as on CMUCL, have asdf:subdirectories follow symlinks (.8., .9)
  * Configuration: modify user-configuration-directories and
   system-configuration-directories to return all valid directory names
   even when they don't exist yet so you may create them (.6), also output
   name of non-existing configuration file when opening them for writing (.7),
  * Internals: strcat (.5), split locate-systems from find-systems (.6)
  * Portability: Debugged CormanLisp support (.1).
   Fix type declaration for SCL (.17).
  * Bug fix: don't drop pathname components without a / at the end
   when reading a path using GETENV (.18). (Bug from 2.017.27)
  Closes: #647544.
  * Bug fix: don't redefine reinitialize-instance in ways that break
   its contract and its clients (such as asdf-dependency-grovel).
   Use change-class to reset slots (.16), but not to 'standard-object,
   which breaks ecl, rather to a proto-system class (.19), and not
   using keys with breaks genera (.21). (Bug from 2.017.3)
  * Bug fix: buglet in maybe-add-tree (.4)
  * Upgrade: unintern internals of signature changed in 2.017.12 (.13),
   have *system-definition-search-functions* not be a defparameter,
   but a defvar with a fixup (.14), clear *systems-being-defined* when
   upgrading asdf but re-find them immediately because they may be needed
   as part of a higher operation (.14).
   Unintern some more functions that have changed signature (.20).

 -- Francois-Rene Rideau <fare@tunes.org>  Sun, 27 Nov 2011 16:09:42 -0500

939
940
cl-asdf (2:2.018-1) unstable; urgency=low

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
941
  Bugs:
942
  * Solved a bug due to ASDF reusing components even when the ASDF definition
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
943
944
945
    has changed wildly, leading to bad behavior in incremental compilation
    and sometimes total failure of compilation of a new version.
    (Thanks to Xach for reporting and RPGoldman for fixing.)
946
  * Fix an issue with ASDF doing the wrong thing in case of a clock skew,
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
947
    thanks to Andreas Fuchs.
948
949
950
951
952
953
954
955
956
  * Simplification of the internals of perform-with-restarts and
   traverse's do-dep, that should fix some corner cases and make it
   easier to extend or further fix. There scarily doesn't remain
   any unedited code from Dan Barlow's original ASDF, though
   much of the interface design is preserved.
  * Upgrade code slightly simplified, with a particular fix for CLISP;
   it is now tested on all supported implementations, not just SBCL.
  * Improvements to tests and documentation.

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
957
  Portability:
958
959
960
961
962
963
964
965
966
  * Many implementation specific improvements for ECL:
   merge with the ECL upstream version, support for the bytecode compiler.
  * Because it is required at least on ABCL, made the Unix vs Windows detection
   a runtime rather than compile-time distinction
   No more asdf-unix or asdf-windows feature, but
   (asdf::os-unix-p) and (asdf::os-windows-p) functions (not exported for now).
   Also recognize darwin as Unix ECL.
  * Also small improvements for SCL.

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
967
  Features:
968
969
970
971
972
973
974
975
976
977
978
979
980
  * Bind *default-pathname-defaults* around load-sysdef,
   to increase chances of successful pathname parsing in defsystem.
  * Fixed run-shell-command on allegro/unix and clisp,
   documented the function, noted how it mightn't do what you think on Windows,
   marked it as obsolete, promoted as an official replacement my new
       xcvb-driver:run-program/process-output-stream
  * New :around-compile hook so you can control the syntax, optimization,
   and warning level, rename packages and balance compile-time side-effects,
   etc., around the compilation of files in your own modules.
  * Now exporting function subpathname, to portably make subpathnames.

 -- Francois-Rene Rideau <fare@tunes.org>  Sat, 29 Oct 2011 12:46:22 -0400

981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
cl-asdf (2:2.017-1) unstable; urgency=low

  Promoting 2.016.3 as 2.017. Since 2.016, we have the following improvements:
  * ABCL: jar translation happier with recent compile-file-pathname* change.
  * CCL: see truenamize change below.
  * GCL: vain partially reverted attempts at making GCL 2.6 and 2.7 fail less.
  * LispWorks: use probe-file for probe-file*
  * RMCL: location strings are now POSIX namestrings.
    You can thus share configuration files and environment variables
    between RMCL and other Lisp implementations on same host.
    Use #p"" syntax when you insist on using MacOS 9 style MCL pathnames.
  * truenamize: happier when e.g. the *default-pathname-defaults* is #p"",
    which is the case notably on CCL.
  * Logical pathnames: now preserved by the source-registry's tree directive.
  * Upgrade: instead of unintern'ing symbols, use fmakunbound;
    however, treat compilation of asdf specially, by always making sure
    it is loaded as source before it is compiled,
    so that compilation is never an upgrade and never calls fmakunbound, thus
    ensuring functions in the continuation of compilation are always fbound.
  * Obsolete: dropped support for *system-cache* and get-uid.
For faster browsing, not all history is shown. View entire blame