ASDF 3.3 is released

Robert Goldman rpgoldman at
Sat Oct 7 20:59:31 UTC 2017

Today we release ASDF 3.3. The most substantial change is to the build 
planning process, which has been reformed by François-René Rideau so 
that DEFSYSTEM-DEPENDS-ON now behaves correctly.  There are a number of 
other improvements, and we are indebted to Daniel Kochmanski, Rommel 
Martinez, and Chun Tian for contributions.  Thanks again to Anton 
Vodonosov and Dave Cooper for support in testing, and new thanks to 
Martti Halminen, Jens K. Loewe, and Jason Miller.

I would like to dedicate this ASDF release to the late Elias Pipping.  
On a technical level, Elias made great improvements in some of the most 
challenging ASDF internals, notably the RUN-PROGRAM component of UIOP, a 
place where implementations are not constrained by the language 
specification, diverge radically from each other, and are poorly 
documented.  On a personal level, Elias was very supportive to me as 
ASDF maintainer, and while I was going through an illness.  He did all 
these things despite being gravely ill with the cancer that eventually 
killed him.  He will be greatly missed, Z'chrono L'vracha.

We urge implementations that are currently bundling previous versions of 
ASDF to adopt 3.3.0 at their earliest convenience. The improvements 
offered in this release will substantially improved the reliability and 
predictability of ASDF use. Details on bugfixes can be found at and in the discussions in merged branches of

Here is the changelog entry for 3.3:

cl-asdf (2:3.3.0-1) unstable; urgency=low

   New milestone:
   * Build-plan: Extensively revised the build plan process so that
     :DEFSYSTEM-DEPENDS-ON would work correctly, even when depended on 
     change (which didn't work before). See our ELS demonstration about 
     "Delivering Common Lisp Applications with ASDF 3.3"
     < >
   * Internals: to support the above, many ASDF internals have changed.
     ASDF now has the notion of multiple build phases to a common build 
     (which generalizes the previous build cache). ASDF considers 
loading a .asd
     file as an operation DEFINE-OP, and tracks as dependencies files 
     during in :LOAD-FILE-FORM statements, etc. Some code has moved to 
     files or among old files, and between packages. Actions are now
     uniformly represented as a CONS of an OPERATION and a COMPONENT, 
     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
     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 
     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 
     than ASDF.
   * Tests: tests for new capabilities and bugs. Test backtraces can be 
   * Documentation: a number of improvements and clarifications.
   * 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
     to these supported APIs). Also stop using the deprecated 
   * Deprecation: starting to emit STYLE-WARNINGs for deprecated
     functions.  Will gradually escalate to true WARNINGs and then 

   -- Robert P. Goldman <rpgoldman at>  Sun, 20 August 2017 
21:00:00 -0500

Robert P. Goldman
Research Fellow
Smart Information Flow Technologies (d/b/a SIFT, LLC)

319 N. First Ave., Suite 400
Minneapolis, MN 55401

Voice:	(612) 326-3934
Email:    rpgoldman at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ecl-devel mailing list