6 minutes reading time
Zenodo now supports DOI versioning!
We are pleased to announce the launch of DOI versioning support in Zenodo - the open research repository from OpenAIRE and CERN. This new feature enables users to update the record’s files after they have been made public and researchers to easily cite either specific versions of a record or to cite, via a top-level DOI, all the versions of a record.
DOI versioning support was one of our most requested features for Zenodo, and it has been co-developed by OpenAIRE’s Zenodo team and EUDAT’s B2SHARE team as an extension module for CERN’s Invenio digital repository platform, which powers both Zenodo and B2SHARE.
These are exciting times for Zenodo and OpenAIRE. This update comes hot on the heels of the recent relaunch which made Zenodo faster, improved GitHub integration, integrated support for Horizon2020 grant information, and enabled 50 gigabyte uploads!
About Zenodo: Zenodo was built and developed by researchers, to ensure that everyone can join in Open Science. The OpenAIRE project, in the vanguard of the open access and open data movements in Europe was commissioned by the EC to support their nascent Open Data policy by providing a catch-all repository for EC funded research. CERN, an OpenAIRE partner and pioneer in open source, open access and open data, provided this capability and Zenodo was launched in May 2013. In support of its research programme CERN has developed tools for Big Data management and extended Digital Library capabilities for Open Data. Through Zenodo these Big Science tools could be effectively shared with the long-tail of research.
We here explain more about this new exciting feature:
What is DOI versioning?
DOI versioning allows you to:
How does DOI versioning work?
When you publish an upload on Zenodo for the first time, we register two DOIs:
- 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.
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) on Zenodo, then the following DOIs would have been registered:
- a DOI representing the specific version of your record.
- a DOI representing all of the versions of your record.
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 artifact you used for reproducibility. By default, Zenodo uses 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?
Currently the Concept DOI resolves to the landing page of the latest version of your record. This is not fully correct, and in the future we will change this to create a landing page specifically representing all of the versions.
Do you support versioning for already existing records?
Yes. However, for uploads published before the 30th of May 2017, you have to first upgrade your record to support versioning. This is done by clicking the “Upgrade to versioned record” button on the record page.
If you have previously uploaded multiple versions of an upload as individual records on Zenodo, then DO NOT click the button to upgrade your record with versioning support. Please contact us on so we can link the records under one versioning scheme.
Clicking the “Upgrade to versioned record” button on any of the records you would like to link, will irreversibly register them as individually-versioned records.
If you used the GitHub integration to archive your software on Zenodo, then we have already migrated and linked your records to support versioning.
Do you support DOI versioning for DOIs from providers other than Zenodo?
No, we only support DOI versioning for records with Zenodo DOIs (i.e. DOIs starting with the prefix 10.5281).
I only want to change the title of my upload, do I still get a new DOI?
No, as before 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.
Moveover, Zenodo DOI versioning is linear, which means that the Zenodo 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 DOI will not resolve to version 2 of a resource for any DOI from any provider. Different providers also uses 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", a blog post by Martin Fenner, DataCite Technical Director: https://doi.org/10.5438/55E5-T5C0
Why do you include “zenodo” in the DOI?
Currently DOIs registered by Zenodo follows the pattern “10.5281/zenodo.<integer>” where 10.5281 is the Zenodo DOI prefix and <integer> is a sequentially assigned integer. The word “zenodo” is semantic information, and as mentioned in the previous question it is a bad idea to include semantic information in DOIs as it may change over time. The current practice was introduced when Zenodo was launched in May 2013, and while it is not ideal we did not want to change the existing practice.
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. Invenio v3, the underlying digital repository platform that powers Zenodo, efficiently handles the file storage so we only store the new extra 10kb.
- v1.0 (specific version): 10.5281/zenodo.60943
- v1.1 (specific version): 10.5281/zenodo.800648
- Concept (all versions): 10.5281/zenodo.705645