Versioning

Up a Level

I'm a strong believer in putting a version on everything I produce. There are a couple of reasons, but the main reason is because I want to be able to look at a copy I gave someone or flip to the legal page of a book and see if anything is missing. In one case, I accidentally gave a reviewer an older copy (not that it would have changed things) and didn't realize it until after the point (that was one of the reasons I version as I do).

I use a versioning convention called Semantic Versioning[1] which describes how to parse or understand the version. In this system, a version consists of three numbers separated by periods, such as “1.2.3”. Even in writing, using this convention makes sense.

1: https://semver.org/

One thing to point out is that you can easily have larger numbers in the middle. I've had a story that hit a version tha looked like “1.13.1”.

Comparing Versions

To see if one version is greater than the other, you compare the numbers from left to right. For example, look at the major version. Version “2.0.0” is more recent than “1.98.12”. If the numbers are the same, look at the second and do the same, then the patch.

Versioning Styles

I prefer an approach called conventional commits[2] to figure out my versions. This is based on the commits[3] messages and calculates the version automatically based on what is changed. I find it easier since it means every change bumped up the version and I don't have to worry about accidentally have two different copies that are both “version two.”

2: ../conventional-commits/
3: ../commits/

The opposite of a semantic version is a romantic version. This is when the author decides the story has reached a new version and manually changes it. It is “romantic” because it is based on the subjective feelings of the creator.

Footer

Below are various useful links within this site and to related sites (not all have been converted over to Gemini).

Now
Contact
Biography
Bibliography
Support
Fiction
Fedran
Coding
The Moonfires
Categories
Tags
Privacy
Colophon
License
Mailing List