Skip to content

Version bump

Clemens Lieb edited this page Mar 31, 2021 · 4 revisions

Rubberduck uses (or tries to) a semantic versioning pattern.

[Major].[Minor].[Revision].[Build]

The build number is incremented automatically by the AppVeyor CI build server; the number represents the number of builds completed (successfully or not) on our continuous integration service, at least since the last time the counter was reset (it was reset at some point early in the 2.x cycle). These builds are entirely automated and an automatic pre-release tag is created every time, whenever a pull request is merged against the [next] branch. When reporting an issue found in the latest green release, make sure the issue can be reproduced with the latest pre-release build.

The revision number is incremented manually for a "hotfix" green-release. These builds enhance the latest minor version mostly through bug fixes, but enhancements to existing features can go in as well.

The minor number is incremented manually for a "minor" green-release. These builds introduce new features, and include all the commits made to [next] since the last minor update.

The major number is incremented manually for a "major" green-release. These builds introduce new features, and include all the commits made to [next] since the last major update. The last "major" version bump was from v1.4.3 to v2.0, when the entire backbone of the add-in was refactored to DI/IoC and the entire UI was redesigned with WPF. The next "major" version would be when we are ready for the next paradigm-shifting update of our internal APIs. Given the current roadmap, that would be when Rubberduck introduces its own code pane.


Files to modify

Merges to [next] are automatically handled. Before any merge to [master], a "version bump" pull request must be merged into [next], as close as possible to the last commit before a pull request is opened to merge [next] into [master].

The title of the pull request must state the new version, e.g.:

Changes build version to 2.3.1.x

The the following files must be in the diff of that pull request:

Clone this wiki locally