[asdf-devel] versioning [was Re: asdf verbosity]

Daniel Herring dherring at tentpost.com
Thu Apr 28 01:59:27 UTC 2011


On Wed, 27 Apr 2011, Faré wrote:

> On 27 April 2011 12:57,  <dherring at tentpost.com> wrote:
>> These are probably good things, but as Zach mentioned, recently ASDF has
>> started dragging users through internal development.  Its a gripe I have
>> about Slime and some other key libraries, so you are in good company, but
>> I cannot follow "the bleeding edge" as a matter of habit.
>>
> Uh - I've been trying my darned best to make "release" versions stable,
> e.g. 2.010, 2.011, 2.012, 2.013, 2.014. I may not have been as successful
> at it as I'd like, but so far as I can tell, all the complaints (which
> are justified and most welcome) had to do with non-release versions, e.g.
> 2.014.8, etc.

In a nutshell, things like changes to inputs (enforcing contracts), 
outputs (changing what's printed) and internal behaviors (e.g. path names 
vs objects) are very sensitive in ASDF.  There are many users of the 
system, and a good number were tuned to the implementation instead of any 
specification.  ASDF's design leaks all sorts of details.

While you are tagging "minor" releases roughly once a month, since there 
are no separate trunk/release branches, all the changes appear in each 
month's release.  Thus I think you either need to restrict yourself to 
truly minor changes (not good for development), only make major releases 
once a year or so, or split development and only backport critical fixes 
and clean API extensions to the release branch.

In short, I wasn't really aware that people were actively seeking 
enhancements, but I have seen a number of potentially breaking changes, 
and the current development cycle means people have to catch them every 
month.


>> I think many recent ASDF changes have been good, but they are falling into
>> the major release category.  They can't be going into monthly Quicklisp or
>> SBCL updates or (your favorite distribution channel here).
>>
> Do you call 2.014 vs 2.011 "major"?

By number, no.  By content, ...

>From a quick scan, here are a few good-looking changes that might count as 
major.

eb1ed61 Substituted (default-directory) for *default-pathname-defaults*
09b9b8a Binding of *default-pathname-defaults*
[special variables in CL have high visibility]

2.012.2: cleanup name of cache directory for clisp (remove trailing dash)
[the user should be told to rename or delete the old directory]




>> Its just that the end user should have to be involved.
> I don't understand what THAT means.

I think I meant "should not have".  In other words, end users should be 
able to trustingly accept minor and micro versions, generally without even 
reading a changelog.  Their grey matter should only need to kick in on the 
major release cycles.  This also allows other people (e.g. debian or sbcl) 
to safely make the upgrade choice for them.

- Daniel


More information about the asdf-devel mailing list