Skip to main content

Release Management

Semantic versioning

The project follow Semantic Versioning. Will

  1. increase major version when incompatible API changes.
  2. increase minor version when significant backward compatible feature introduced
  3. patch version 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:

  1. automatically when last commit has [release] keyword
  2. 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:

  1. Render examples
  2. Check projects which will:
    1. Run deno check
    2. Run deno fmt
    3. Run deno lint
    4. Generate docs from source code
    5. At the end, it will run git diff which will fail the action if any change found