Replies: 11 comments 7 replies
-
My proposal:
as for maintaining: we should officially point out, that we only fix the current release branch but wellcome backports to older ones as long as there pipeline do work. If there is a critical bug/sec issue we should consider the last release branch too if affected |
Beta Was this translation helpful? Give feedback.
-
My 2 cents:
|
Beta Was this translation helpful? Give feedback.
-
the last point I dont get ... as we do squash merge and cherry-picking |
Beta Was this translation helpful? Give feedback.
-
I agree with that. If we stick to features count, then there may be only major releases, because there is a lot of breaking changes (in my sense) and bugs just won't get released between majors. So, what's the point of semver then? Just use calendar versioning :) It's next on steroids (with changelog as was concerned in previous discussion).
I think breaking changes should not be released in minors. MINOR version when you add functionality in a backward compatible manner. |
Beta Was this translation helpful? Give feedback.
-
In my idea you would treat fixes different than features. I.e. if two features are merged, than an important sec fix, a release is made with ONLY the sec fix and the features are only included in the next point release. Otherwise the fixed date of point release is not really making sense as new features get released during the rolling sec fix releases. Should this become a poll among maintainers and the result will be binding for the project? Or more like a discussion and owners still decide what they want to do in the end? |
Beta Was this translation helpful? Give feedback.
-
Isn't this our current approach with patch releases? They'll never contain new features, but security and bug fixes will be backported. |
Beta Was this translation helpful? Give feedback.
-
That's purpose of PATCH version, I think. Suppose, current last release is 1.0.0. Two features (non-breaking) are planned for 1.1 and merged. Than an important sec fix is going to 1.1 branch (obviously) and 1.0 also. Then 1.0 is going to release 1.0.1 immediately, but 1.1 is waiting for its schedule.
Obvious, if there is no breaking change for planned major release date, then skip major and continue with minors. |
Beta Was this translation helpful? Give feedback.
-
Pretty interesting discussion and a difficult decision. I think the approach of @6543 here is a good starting point. However, it would be really helpful if there is a defined plan for the support cycle. The reason for this is that realising many patch versions and having to support back lots of minor versions might be pretty difficult/time consuming. A possible solution to this could be that only the latest 3 minor releases are supported. This would unload some effort from patching but some users might prefer having a date-defined support cycle. |
Beta Was this translation helpful? Give feedback.
-
Minor releases (usually) never get a backport. At least not in projects of this scale, we are not Hashicorp. But even then, IMO it would also be fine to say "please go with the flow", i.e. expecting from users to update their instance at least 2-4 times a year? |
Beta Was this translation helpful? Give feedback.
-
As updating to the next minor release should be no problem (no breaking change) I would only support the last minor.patch of the last major and maybe previous major versions. So for example:
|
Beta Was this translation helpful? Give feedback.
-
@woodpecker-ci/maintainers Since we are now just before releasing 2.0, we need to finally decide on this:
|
Beta Was this translation helpful? Give feedback.
-
This was already mentioned in #1780, but there wasn't really a discussion about this or even a decision.
Now that we published the first "really" stable release 1.0.0, we should think about how we proceed with new releases and how to support them. This mainly includes the question: When do we want to publish a new release, either after a specified time or after a specified number of merged PRs/features?
For point releases, we had that question internally once after a dependency update with security fixes, and we decided to publish the release immediately after merging such security-related PRs. We also need to decide if we define rules for releasing point releases if there are no security issues, just some bugs. I'd suggest here to treat critical bugs as security fixes and release them immediately, and if there was a long time (a few weeks?) no point release because there were no security updates/critical bugs, also create a release so bug fixes can be used.
Also, the second part of this issue is the support cycle: How long do we want to support releases with point releases containing bug and security fixes?
Beta Was this translation helpful? Give feedback.
All reactions