Release Management
Semantic versioning
The project follow Semantic Versioning. Will
- increase
majorversion when incompatible API changes. - increase
minorversion when significant backward compatible feature introduced patchversion is the number of commits on the git branch where release happens
Immutable release version
A release version is generated based on git commit as:
MAJOR.MINOR.COMMIT_COUNT-YYYYMMDD-HHmmss-COMMIT_SHORT_HASH
e.g. 0.1.143-20250916-182808-228bd315
MAJOR.MINOR is read from
.base-version
file.
Immutable
The immutable nature of versioning guarantees that once a version is released, it can never be changed. Any change will result a different release.
Release workflow
The github release action based workflow to perform the release. The release will be triggered:
- automatically when last commit has
[release]keyword - or manually on demand
Static code analysis
The github verification action will perform static code analsys on every push to ensure the code base in good status:
- Render examples
- Check projects
which will:
- Run
deno check - Run
deno fmt - Run
deno lint - Generate docs from source code
- At the end, it will run
git diffwhich will fail the action if any change found
- Run