<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">On 17 Nov 2021, at 12:36, Eric Timmons wrote:</p>

</div>
<div style="white-space:normal"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><p dir="auto">On 11/17/21 12:24 PM, Didier Verna wrote:</p>
<blockquote style="border-left:2px solid #777; color:#999; margin:0 0 5px; padding-left:5px; border-left-color:#999"><p dir="auto">Stelian Ionescu wrote:<br>
</p>
<blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><p dir="auto">Mostly sounds good to me. Assuming you're still interested in more<br>
expressive version numbers and constraints for 3.4, I'll work on moving<br>
that off the back burner.</p>
</blockquote><p dir="auto">Adding fine-grained version constraints would be a big mistake.</p>
</blockquote><p dir="auto">   I do not have the time to check this thoroughly right now, but I<br>
   recall having suggested that ASDF shouldn't impose any constraints on<br>
   version "numbers", but rather defer version comparison to libraries<br>
   when they use a version numbering scheme that ASDF doesn't understand.<br>
   This can be done by providing generic functions like version-> etc.,<br>
   and letting people provide methods on them. ><br>
   There may even be an issue and a patch lurking around somewhere.<br>
   Again, sorry for being fuzzy, this is just from the top of my head.<br>
</p>
</blockquote><p dir="auto">Hi Didier,<br>
<br>
I started from your patch on this, with the intention of allowing arbitrary version strings (so long as the protocol is fully implemented).<br>
<br>
I'd like to also extend ASDF's default to be more than just dot-separated numbers. The leading contenders at the moment are "semver style" where prerelease info is separated by a #\-, "build" metadata separated by a #\+, and no post-release info (NOTE: I am just talking about version string grammar here, *not* about compatibility constraints!) and something like PEP 440 <<a href="https://www.python.org/dev/peps/pep-0440/" style="color:#777">https://www.python.org/dev/peps/pep-0440/</a>>, which as I recall is very similar to the style you prefer.<br>
<br>
I have a preference toward the semver style because it's less restrictive and there's no notion of "canonical form" (unlike PEP 440), so it's easier to implement.<br>
<br>
-Eric</p>
</blockquote></div>
<div style="white-space:normal">

<p dir="auto">I favor something like this because it would be nice to have prerelease versions of ASDF that perform version checks properly.</p>

<p dir="auto">What I mean is, if we are going to add a feature in version 3.4, right now that would be in a prerelease version with a version number of something like 3.3.5.22</p>

<p dir="auto">It would be a lot better for realistic testing if we could instead use 3.4.0-alpha1 or 3.4.0-1 <em>and</em> have ASDF know that 3.4.0-1 comes <em>before</em> 3.4.0, not after.</p>
</div>
</div>
</body>
</html>