agon-vdp icon indicating copy to clipboard operation
agon-vdp copied to clipboard

Semantic versioning

Open stevesims opened this issue 2 years ago • 1 comments

I've moved the AgonConsole8 fork of agon-vdp to use semantic versioning.

There's several reasons why. On other projects I've used CI tooling that will do things like automatically increment version numbers and create new releases when new commits get pushed to main, and at some point I'd like to implement that.

Another reason is that I think it would be good for us to make more frequent releases. By having "major.minor.patch" it feels like the stakes are lower for cutting a new release that contains only patch changes. It's also not such a big deal to add in new minor features.

This PR sets the version at "2.0.0 Alpha 1". This is a straw-man number. Given that there has been quite a lot of changes made since the last full release, and this moves to a new version numbering system it feels like a justifiable number.

From the commit message:

move version info out to version.h file.

version info now a semantic version, with major, minor, patch, and “candidate” info, as well as an indicator for candidate type (displayed if candidate number is non-zero)

support for showing an automatically-generated build number added, which can be provided by a build script and is intended to be derived from the git hash

with this approach it should also be possible in the future to add other tooling to automatically increment version numbers

version info also includes the codebase variant, allowing us to easily differentiate between Quark and Console8

stevesims avatar Oct 27 '23 10:10 stevesims

I'll switch to this after 1.04 has been released properly, save confusing everyone (including myself)

breakintoprogram avatar Nov 11 '23 21:11 breakintoprogram