The current version of RSQKit is a work in progress. Any content should not be considered final at this stage.
Skip to content Skip to footer

Your tasks: Releasing code

How to Create Code Releases

Description

A software release is the process of making a new or updated version of software available to users. It’s an important phase in software development cycle that involves several other stages, including: planning, development, testing, deployment, and maintenance.

Considerations

  • A software release is a new version of a software product, and a release log (changelog) is a document that records the changes made to the software over time and is published with the software at the time of the release.
  • Software versioning is the process of assigning either unique version names or unique version numbers to software releases. Naming schemes can vary - for example Semantic Versioning (e.g. “1.0.2”) and Calendar Versioning (e.g. “24.10”).
  • Attachments like built binaries or packages or other software artefacts can be provided with the release.

Solutions

Software Project Management Platforms like GitHub and GitLab offer features to help with releasing software automatically.

For example, to perform a software release on GitHub:

  • Go to your source code repository on GitHub.
  • Prepare changelog ahead of the release process.
  • Click on Releases and then on Draft a new release button.
  • Decide on a software versioning scheme you will use and use a unique name or number for this release.
  • Add release notes - a short and non overly technical summary of the changelog intended for end-users.
  • Click on Publish release.
  • If your repository is integrated with Zenodo - a new DOI for this software release will automatically be minted by Zenodo.

Related pages

Skip tool table

Tools and resources on this page

Tool or resource Description Related pages Registry
Calendar Versioning Calendar Versioning (CalVer) is a versioning convention based on your project's release calendar, instead of arbitrary numbers.
GitHub Software development, sharing and version control platform Writing a CodeMeta file Creating a 'Read the D... Software documentation Version control Digital Software Ident...
GitLab DevOps platform that enables teams to collaborate, plan, develop, test, and deploy software using an integrated toolset for version control, CI/CD, and project management. Creating a 'Read the D... Software documentation Version control
Semantic Versioning Semantic versioning (SemVer) is a widely-adopted version scheme that encodes a version of a project by a three-part version number (Major. Minor. Patch), an optional pre-release tag, and an optional build meta tag.
Zenodo Open repository for EU-funded research outputs from Horizon Europe, Euratom, and earlier Framework Programmes Writing a CodeMeta file Software documentation Digital Software Ident...
Skip national tools table

National resources

Tools and resources tailored to users in different countries.

Tool or resource Description Related pages Registry
Contributors

How to cite this page

Christian Hüser, Shoaib Sufi, Daniel Garijo, "Releasing code". http://everse.software. http://everse.software/RSQKit/releasing_code (accessed 08 January, 2025).