LGM-Doyle wrote:
This might work, but most other re-labelings, reset the timestamp.
What do you mean by "most other re-labelings"? There are two ways in which milestones of issues/PRs are going to be changed after a release: renaming of a milestone (which should not change the timestamps) and reassigning issues/PRs to another milestone (which of course
will change their timestamp). Is there anything else?
Quote:
The current milestones are "v0.4.8 (manadatory)", "v0.4.8 (optional)" and "post 0.4.8".
One way of interpreting their intent is immediate, near future and far future requirements. [...] Looked at another way the current milestones correspond loosely to blockers, non-blockers and feature requests. [...] And in another way, required, desirable, and wished for.
Erm, not quite. I guess this could be one reason for our misunderstanding: the "mandatory" and "optional" milestones are exactly that (not correspond loosly to

), release blocking issues/PRs and those that do not block the release. The purpose of the "post" milestone is to mark issues/PRs which shouldn't be worked upon until after the release. Either because they require too much effort and are not important for the release (so would distract too much dev manpower), or would open a can of worms that would delay the release too much.
Or, to phrase it a bit more to the point: "mandatory" =
must go in, "optional" =
can go in, "post" =
should not go in.
Which means the the "post" milestone only makes sense when we're trying to wrap up a release, which in turn means that after a release all the issues/PRs assigned to the "post" milestone have to be reassigned. Unless I'm missing something obvious here, having more generic names for the "optional" and "post" milestone isn't going to help with that...
Quote:
Releasing v0.4.8 will not immediately make all of "v0.4.8 (optional)" mandatory for the next version.
Right, which is why I intend to rename the "0.4.8 (optional)" milestone to "0.5 (optional)" (or "next release (optional)" if we haven't decided on the version number of the next release). All the "mandatory" issues/PRs have been closed/merged anyway, which only leaves the issues/PRs assigned to the "post" milestone. These are actually the only ones of concern when it comes to the timestamp problem.
The only advantage generic names for the "optional" and "post" milestones would be that renaming them isn't necessary anymore. Given how rarely that happens, I consider that a non-issue. I'd rather have the (IMO) more descriptive names which include the version number, but that's of course more of a cosmetic issue and a matter of personal preference.
The only way to avoid the reassigning of issues/PRs after a release I see would be to give up the "post" milestone.
Quote:
We need a milestone for blocking issues and required features of the next release version. We could name it "vX.Y.Z".
We need a milestone for non-blocking issues, implemented but non-required features and upcoming requested features. We could name it "optional"
We need a milestone for long term works in progress (WIP) and wished for feature requests. We could name it "wishlist.
If we used milestone names like "vX.Y.Z", "optional" and "wishlist, then after release a new milestone named "vX.Y+1.Z" would be created to which a single feature request is moved from "optional. Otherwise nothing would change.
I'm a bit confused... except the last step, all this is practically the same as the current scheme, just different names for the milestones.
And I don't get that last step: what single feature request are you referring to here? Issues/PRs assigned to "optional" need to be reassigned to "vX.Y.Z" if we decide to promote something from being optional to being required for the next release, which is certainly not restricted to one item, and does not only happen right after a release. Also, this does not cover that items need to be moved from the "wishlist"/"post" milestone to "optional"...?
Sorry, it's not that I'm not open to revising my workflow here, you just need to have a bit more patience with me until I get what you mean.
