-
Notifications
You must be signed in to change notification settings - Fork 0
Make a release
Olivier Cots edited this page Oct 30, 2025
·
17 revisions
This page explains how to release a new version of a package within the control-toolbox ecosystem.
See Semantic Versioning.
Version numbers follow the format:
MAJOR.MINOR.PATCH
- MAJOR: increment for incompatible API changes
- MINOR: increment for new functionality in a backward-compatible way
- PATCH: increment for backward-compatible bug fixes
Additional labels for pre-release or build metadata are available.
In Julia, the version is stored in the
Project.tomlfile at the root of the package.
If you want to release a patch starting from an older release:
- Find the commit ID in the Releases page.
- Checkout that commit:
git checkout commit_idYou will see a “detached HEAD” warning.
- Switch to a new branch:
git switch -c patch_branch- Update the code (including the version in
Project.toml), then commit and push. - Trigger registration by commenting:
@JuliaRegistrator register()
It may take a few days for the new version to appear in the registry.
Assuming your package is in the General registry:
- Update the version in
Project.toml. - Add a comment in an issue, PR, or commit:
@JuliaRegistrator register()
- This automatically creates a new tag in GitHub.
- To enable automatic tagging in workflows, add
TagBot.ymlto your repository.
⚠️ Note: Using a personal registry such as ct-registry is obsolete. Only use this for legacy packages.
If needed:
- Go to the
mainbranch with an updatedProject.toml:
pkg> activate .
using LocalRegistry
using MyPackage
register()- Create a GitHub release with a tag of the form
vx.y.z.
Remarks:
- The registry can usually be omitted when adding a new version.
- The version number comes from the
versionfield ofProject.toml.
✅ Summary
| Step | Action |
|---|---|
| Update version | Edit Project.toml
|
| Register in General Registry | @JuliaRegistrator register() |
| Optional legacy registry |
LocalRegistry.register() (deprecated) |
| GitHub tag | Added automatically via TagBot |
📚 References: