DOI versioning

What is DOI versioning?

DOI versioning allows you to:

  • edit/update the record’s files after they have been published.
  • cite a specific version of a record.
  • cite all of versions of a record.

How does DOI versioning work?

When you publish an upload for the first time, we register two DOIs:

  • a DOI representing the specific version of your record.
  • a DOI representing all of the versions of your record.

Afterwards, we register a DOI for every new version of your upload.

This is best illustrated by an example of a software package. If the software has been released in two versions (v1.0 and v1.1), then the following DOIs would have been registered:

  • v1.0 (specific version): 10.1234/7s0da-05p39
  • v1.1 (specific version): 10.1234/chc5z-w0r30
  • Concept (all versions): 10.1234/3s67k-pd636

The first two DOIs for versions v1.0 and v.1.1 represent the specific versions of the software. The last DOI represents all the versions of the given software package, i.e. the concept of the software package and the ensemble of versions. We therefore also call the them Version DOIs and Concept DOIs (note, technically both are just normal DOIs).

You may notice that the version DOIs do not include a “.v1”-suffix. Read below to find out why.

Which DOI should I use in citations?

You should normally always use the DOI for the specific version of your record in citations. This is to ensure that other researchers can access the exact research artefact you used for reproducibility. By default, we use the specific version to generate citations.

You can use the Concept DOI representing all versions in citations when it is desirable to cite an evolving research artifact, without being specific about the version.

Where does the Concept DOI resolve to?

The Concept DOI resolves to the landing page of the latest version of your record.

I only want to change the title of my upload, do I still get a new DOI?

No, you can continue to edit the metadata of your upload without creating a new version of a record. You should only create a new version if you want to update the files of your record.

Why don’t the DOIs have a version number suffix like “.v1”?

Including semantic information such as the version number in a DOI is bad practice, because this information may change over time, while DOIs must remain persistent and should not change.

Moreover, DOI versioning is linear, which means that the version number may in fact not be the real version number of the resource. Take for instance software, where it is common practice to have dot versions and make new releases in a non-linear order (e.g. first v1.0, then v1.1, then v2.0, then v1.2).

The versioning suffix is also not a functionality of the DOI system, i.e. adding .v2 to a DOI will not resolve to version 2 of a resource for any DOI from any provider. Different providers also use different patterns such as e.g. .v2, .2, /2.

Most importantly, version suffixes are not machine readable. A discovery system that understands DOIs, will not know that .v1 and .v2 of a DOI are in fact two versions of the same resource.

A better solution to this problem is to semantically link two DOIs in the metadata of a DOI. This ensures that discovery systems have a machine-readable way to discover that two DOIs are versions of the same resource.

See also Cool DOIs for further information.

Do you duplicate all the files for every new version of a record?

No, if you change a 10kb README file in 50GB dataset we do not duplicate the entire 50GB dataset. InvenioRDM, the underlying technical software platform, efficiently handles the file storage so we only store the new extra 10kb.