Digital Archaeology Maintainathon
  • Home
  • Resources
  • Reading list
  • 2026 Recap

On this page

  • Further reading

Develop a release strategy

Preserve and release
Choose SemVer, AltVer or CalVer and tag a release users can rely on.

Sharing code as a series of stable releases makes it easier to share code with predictable functionality. As new features are implemented or when the codebase changes in substantial ways, the software should be rolled into a new release. This enhances clarity for what users can expect when they download a specific release. It also makes it easier to communicate and de-bug issues raised by users by ensuring that all parties are accessing the same codebase.

There are numerous schemes for releasing code, which enable developers to communicate the degree of changes made between versions. Some of these include:

  • Semantic Versioning: Major, Minor or Patch versions indicate breaking changes relative to prior versions.
  • Alternative Versioning (AltVer): Tracks implementation of major overhauls, new features, and careful maintenance.
  • Calendar Versioning (CalVer): For “rolling” releases that follow a regular maintenance cycle.

Further reading

  • Semantic Versioning
  • Alternative Versioning (AltVer)
  • Calendar Versioning (CalVer)
  • From ZeroVer to SemVer: a comprehensive list of versioning schemes in open source
 

CC0 1.0 Universal | This page is built with ❤️ and Quarto, with theme from vetiver