-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider releasing less often #444
Comments
Right now I am a recent convert to the semantic release approach to "unromantic and unsentimental" releases. As part of this you'll find features in x.y.0 releases only, and everything else is a fix or refactor. As part of semantic release, a new GitHub release is made for each version of renovate, you can see them here: https://github.com/singapore/renovate/releases As far as I'm aware, most people use the tool one of two ways:
You could also consider using a tool like changelog to provide a list of changes between certain releases. If these don't really satisfy, could you describe in more detail about how you "decide" when to update? |
Well, first of all, each update in a package I depend on means unplanned work. So a package releasing too often has a signal/noise ratio too low, and I would probably completely silence the releases for it - possibly missing important updates in the process. Second, when I decide to upgrade a package, I need a list of all the things that change so that I understand what I need to do in my codebase. Yes, the changelog tool you mention can do that, but IMHO it's the package author's job to provide it, not the user. Lastly, a package released several times a day feels like it's using developers as beta testers. IMO it's a proof of quality to release only battle-tested releases. |
I think every point you have (or counterpoint I could respond with) still comes back to the same fundamental disagreement: you don't like the "semantic release" approach to software versioning. Otherwise the only way to satisfy your impression of "quality" while maintaining semantic releasing would be to just release features less often, which obviously isn't your goal. With the current approach to releases, I'd suggest either:
|
I think I'll close this issue for now because it really translates to "Don't use semantic release" and for now I will be sticking to it. Happy to receive more comments here in the meantime. |
@fzaninotto out of curiosity, would it be useful if |
Thanks for your explanations, they make sense, even if we disagree. As for |
I intend to stick to semver syntax pretty strictly, i.e. renovate@9 should not break any configuration syntax. But as an App user, what prevents me from releasing renovate@10 and pushing it live, possibly messing up your configuration? My plan is this:
|
That would be really appreciated. I recently enabled the GitHub App for a project, and my only concern was whether there was a mechanism for informing me of breaking changes to configuration or features. I guess in the case of a feature getting removed, could you just remove the configuration from the |
Hard to predict - configuration might get completely removed, or it might have its structure modified, or maybe just get a different default. Whatever is the case, the script should take the old config and transform it to new, whatever that takes. |
I know this package is all about detecting changes in dependencies, but your release process makes it nearly impossible to determine when a feature was released, or which features I can gain from a version bump...
The text was updated successfully, but these errors were encountered: