ASDF 3.3.1 is released

Faré fahree at gmail.com
Fri Nov 17 10:39:37 UTC 2017


Oops, I failed to proofread the announcement with enough details
beforehand, so here is a clarification.

The new uiop does *not* define the old stamp< etc. functions; it
merely uses the new names timestamp< etc. to define its modified
functions with incompatible calling convention. It will thus NOT
support an old ASDF. However, the old ASDF will normally support
itself thanks to the old UIOP that came transcluded in it, so all is
well, except in the perverse case of someone taking several explicit
steps to configure his source-registry (or other system registry) to
include both an old ASDF and a new UIOP. This won't happen merely by
with Quicklisp. This won't happen if you use ASDF 3 or later to load
UIOP (i.e. if you use any implementation that isn't an old version 4
years behind in terms of ASDF). In other words, it can only happen on
purpose, at which point the user deserves to lose (and probably
explicitly tries to).

No one in Quicklisp uses the stamp< etc. function; if you are tempted
to (why not), I recommend using the timestamp< etc. functions instead
and declaring a dependency on UIOP 3.3.1 or later.

I recommend that all implementations that upgraded to 3.3.0 should
upgrade to 3.3.1 to avoid the known bugs in 3.3.0, that have affected
a few people already. Implementations that skipped 3.3.0 should also
consider upgrading to 3.3.1, which is stable and supports proper
incrementality in presence of defsystem-depends-on.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
What someone says often fails to inform us about the (rest of the) world,
but always informs us about the utterer.


On Tue, Nov 14, 2017 at 5:25 PM, Robert Goldman <rpgoldman at sift.info> wrote:
> Today we release ASDF 3.3.1, the first bugfix release for the 3.3.0 release
> series. Of primary interest in this release are
>
> a fix for an incompatibility in the UIOP stamp-comparison functions. The
> handling of infinity as a bound in these functions changed between 3.2 and
> 3.3, potentially causing problems in backward compatibility. In order to
> maintain compatibility, the old behavior was restored to the
> stamp-comparison functions, and new functions -- TIMEstamp comparison
> functions -- were added to carry the new behaviors.
>
> a fix for upgrade from version 3.2.1
>
> fixes for bugs that can occur when the default readtable is manipulated
> inside a dependency loaded by DEFSYSTEM-DEPENDS-ON.
>
> We urge implementations that are currently bundling previous versions of
> ASDF -- and especially those bundling 3.3.0 -- to upgrade to 3.3.1 at their
> earliest convenience.
>
> Here is the changelog entry for 3.3.1:
>
> cl-asdf (2:3.3.167-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.



More information about the asdf-devel mailing list