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 GitHub is a platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control. GitHub provides access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Creating a CITATION.cf... Writing a CodeMeta file Creating a 'Read the D... How to add your first ... 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 Zenodo is a general-purpose open repository developed under the European OpenAIRE program and operated by CERN. It allows researchers to deposit research papers, data sets, research software, reports, and other research-related digital artefacts. Writing a CodeMeta file Software documentation Digital Software Ident...
Contributors

How to cite this page

Christian Hüser, Shoaib Sufi, Daniel Garijo, "Releasing code". everse.software. http://everse.software/RSQKit/releasing_code .