ASDF 3.1 "ASDF3.1"

Tasks done under this milestone were for what became release 3.1.2.

(3.1.0.x were for the lot of work that went before 3.1.2, and 3.1.1 had serious bugs and 3.1.2 was the first stable release.)

Milestone information

Code name:
Robert P. Goldman
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
5 Faré, 3 Robert P. Goldman
No blueprints are targeted to this milestone.
3 Invalid, 1 Won't Fix, 12 Fix Released

Download files for this release

File Description Downloads

Release notes 

The first official release of ASDF 3.1 is ASDF version 3.1.2.


View the full changelog

  * ~/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.
  * package-inferred-system combines the one-file, one-package, one-system paradigm
    of quick-build and faslpath with the portability and robustness of ASDF 3.
  * 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,
    subclasses of OPERATION implicitly propagate DOWNWARD and SIDEWAYs.
    Failure to explicitly inherit from one of the explicitly propagating
    or non-propagating classes will result in a WARNING for now.
  * Accept strings as operation class designators in DEFSYSTEM, which
    provides better integration of ASDF extensions loaded using
  * force-not now takes precedence over force, and systems named in the
    *immutable-systems* set (represented as an equal hash-table) are always
    forced-not, and even their .asd is not refreshed from the filesystem.
  * portability is much improved, with support for the latest GCL, and
    fixes for ABCL, CLISP, ECL, LispWorks, MKCL, SBCL, XCL, etc.
  * 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.
    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.
  * robustness: Test improvements and new tests.
    Added missing dependencies in asdf.asd itself(!).
    Fixes to version-satisfies (thanks to stassats), to the file-stamp cache.
    Fix to regression from whereby ASDF failed to avoid downgrading.
    Many cleanups. Many explanatory updates to source code comments.
  * 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 " ".
  * provide both "asdf" and "ASDF" to play nicer with various Lisps.
  * upgrading from a sufficiently forward-compatible version (currently: 2.33)
    will be less disruptive of ASDF data and enhancements in the current image:
    previously loaded systems will not be cleared anymore,
    variables defined with defparameter* will not be reset.
    Punting on upgrades from ASDF 1 for more robust behavior.
  * 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.
  * uiop much improved so as to be used with Google's build system blaze:
    with-temporary-file, dump-image / restore-image, ensure-pathname,
    compile-file*, with-saved-deferred-warnings.
  * Added portable API to optimization settings.
  * Refine detection of operating systems. os-macosx-p and os-unix-p no
    longer mutually exclusive.
  * 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).
  * Substantially rewritten, updated, and expanded manual.
  * TODO updated.

0 blueprints and 16 bugs targeted

Bug report Importance Assignee Status
1307569 #1307569 test-utilities fails on ABCL Mac OSX 1 Undecided   3 Invalid
1307571 #1307571 ABCL fails test-encodings on Mac OSX 1 Undecided   3 Invalid
1315930 #1315930 Upgrade from 2.32 to master (pre 3.1) fails on CMUCL Mac OS 1 Undecided   3 Invalid
1307180 #1307180 Quicklisp-special ASDF repository setup no longer works: bad interaction with ASDF-package system 6 Wishlist   4 Won't Fix
1307151 #1307151 TEST-PROGRAM test fails on CCL 1.9 with ASDF 2 Critical   10 Fix Released
1307172 #1307172 Operations in LispWorks popping up shell windows on Mac OSX: hangs 2 Critical   10 Fix Released
1293278 #1293278 A non-hidden default source tree 3 High Faré  10 Fix Released
1184002 #1184002 Are FORCE and FORCE-NOT semantics right? 4 Medium Faré  10 Fix Released
1265700 #1265700 ASDF drops weakly-depends-on information 5 Low   10 Fix Released
654358 #654358 Info manual nodes are too big 6 Wishlist Robert P. Goldman  10 Fix Released
1230368 #1230368 Implement quick-build support 6 Wishlist Faré  10 Fix Released
1293292 #1293292 Fix defsystem to accept strings as operation designators 6 Wishlist Faré  10 Fix Released
1294018 #1294018 Rename fasl-op and load-fasl-op 6 Wishlist Faré  10 Fix Released
1247662 #1247662 asdf::system-defsystem-depends-on sometimes slot-unbound 1 Undecided Robert P. Goldman  10 Fix Released
1276746 #1276746 uiop/filesystem:directory-files CLISP lists user home directory twice 1 Undecided   10 Fix Released
1276748 #1276748 uiop/filesystem:directory-files SBCL lists directories as well as files 1 Undecided Robert P. Goldman  10 Fix Released
This milestone contains Public information
Everyone can see this information.