Faré wrote:
While I think we should indeed soon release 3.2, I believe that it is not so urgent that it can't wait for a few more useful changes, especially since we do provide backward compatibility functions for the old API. So I propose we release a 3.1.5 for now, and do a few more changes before we actually cut a 3.2.
I wasn't clear: I don't mean that we need to do a 3.2 release at this very moment, just that these changes are not fully compatible, so are worthy of a "greater than patch level" release.
Well, we do provide a backward compatible API; but it's true that the behavior on Windows has slightly changed.
We provide a backward compatible API, but we don't have a *forward* compatible one, because of the new XDG functions.
On the other hand, we have accumulated enough bug fixes and features since last October, including support for a new implementation (clasp) to warrant a release soon. Release numbers are not a scarce resource, so if you believe this requires a 3.2 release now, that just means that the further changes I'd like will have to be for a 3.3 release.
On the other hand, maybe we need to have 3.2.0.1 be the next thing we push, and call it a release candidate. It may be that the release will have to be 3.2.1, but I could live with that.
That's how we did the 3.1 release: pre-releases as 3.1.0.x, and release as 3.1.1. It seems to have worked out well — well except for immediately followeing it with a 3.1.2 for a bug fix :-(.
What do firm believers in semantic versioning do about this? Just always have their release be x.y.z when they want x.y, so that they can have a release candidate? Or do they do something like x.y.rcz? That would require a change to VERSION-SATISFIES...
We could specially parse rc as "-1", "beta" as "-2", "alpha" as -3, etc, but that sounds like dubious over-engineering to me.
Agreed. OK, the next time I push, I will push 3.2.0.1, because I'd like to have people be able to start checking for version 3.2 for the new XDG functions (and eventually the new test-operation functions).
Should we push just asdf-3.2 or also uiop-3.2 (since the new XDG functions are properly UIOP)?
thanks, r