Release process
This page describes the process for releasing a new version of conda-store.
Release captain
For every release, there is an assigned "Release Captain". The Release Captain's responsibilities are:
- Manage both the release and testing processes and the documentation and release checklists as needed.
 - Communicate the status of the release to the rest of the conda-store development team and the community.
 - Assign owners to checklist items (if not owned by the Release Captain).
 
CalVer details
conda-store, conda-store-ui, and jupyterlab-conda-store releases should follow the following CalVer versioning style:
YYYY-MM-releaseNumber
YYYY represents the year - such as 2023.
MM represents the non-zero padded month - such as 1 for January, 12 for December.
releaseNumber represents the current release for that month, starting at 1. Anything above 1 represents a hotfix (patch) release.
For the release tag, there should be NO prepended v.
Release process walkthrough
Each of the packages can be released independently.
However, it is recommended to make joint releases to ensure the latest version of conda-store-ui is used in conda-store-server and in the jupyterlab-conda-store extension.
To do so, the releases should be done in the following order:
The release process is as follows:
- Agree on a release schedule. We aim to make a monthly conda-store release.
Though this will depend on whether there are any 
release-blockerissues opened or team availability.The release captain should create an issue with the release date and assign themselves as the release captain. - Start a release. The release captain should open a 
New releaseissue on the corresponding repository and assign the issue to themselves. - Prepare and make the release. The release captain should follow the checklist items in the 
New releaseissue and close the release issues once this is done.