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@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.