28  Version updating & making a new release

Releases of your database are snapshots that are archived and available for use.

We suggest semantic versioning to label your versions. As discussed in Falster et al 2019, semantic versioning can apply to datasets as well as code.

The version number will have 3 components for actual releases, and 4 for development versions. The structure is major.minor.patch.dev, where dev is at least 9000. The dev component provides a visual signal that this is a development version. So, if the current version is 0.9.1.9000, the release will be be 0.9.2, 0.10.0 or 1.0.0.

Our approach to incrementing version numbers is:

Figure: Semantic versioning communicates to users the types of changes that have occurred between successive versions of an evolving dataset, using a tri-digit label where increments in a number indicate major, minor, and patch-level changes, respectively. From Falster et al 2019, (CC-BY).

The process of making a release is as follows. Note that corresponding releases and versions are needed in both austraits and traits.build: #TODO - this is no longer true right?

  1. Update the version number in the DESCRIPTION file, using:
desc::desc_bump_version() # Specify `which` argument for type of version increment
  1. Compile the database.

  2. Update documentation.

  3. Commit and push to GitHub (using PR workflow).

  4. Make a release on GitHub, adding version number.

  5. Prepare for the next version by updating version numbers.

desc::desc_bump_version("dev")