Skip to content
Templiqx
Esc
navigateopen⌘Jpreview
On this page

Engine and SDK versioning

Templiqx keeps the engine and all three host SDK packages on one coordinated semantic-version line. The compatibility matrix is the source of truth: engineVersion and every SDK sdkVersion have the same major.minor.patch, while engineApiVersion is the matching major.minor line.

Semantic-version policy

  • Patch — the Operations OpenAPI digest is unchanged and only engine or compatibility metadata advances.
  • Minor — an operation ID is added, or the OpenAPI digest changes without removing an operation ID.
  • Breaking — an operation ID is removed or renamed. The bump tool refuses this change rather than modifying the existing Operations API in place.

Classification always compares the working-tree openapi/templiqx-operations-v1.yaml with the version committed at Git HEAD. The matrix records the resulting digest and versions; it does not duplicate an operation inventory.

Breaking Operations APIs

The /operations/vN path is a wire-compatibility boundary. A breaking HTTP change requires a new base path such as /operations/v2, a corresponding new OpenAPI document, and a major release. Do not remove or rename operations under an existing versioned base path.

Coordinated bump workflow

Preview the deterministic plan from the repository root:

just bump-engine
# or, explicitly:
just bump-engine --dry-run

The safe default is dry: without --yes, the command prints its classification, proposed version, digest delta, operation-ID delta, and every version-controlled file it would touch, then writes nothing. Override the proposed version with --to major.minor.patch when needed.

Apply the reviewed plan explicitly:

just bump-engine --yes
just bump-engine --to 0.2.0 --yes

The tool writes the compatibility matrix first, aligns the Cargo workspace and the TypeScript, Python, and .NET package versions, refreshes their lockfiles, then runs each SDK’s existing generator so compatibility markers remain derived from the matrix. Finally it prepends a changelog stanza describing the engine and contract delta. It never commits, publishes, or edits hand-written transport clients. The bump script itself performs no network requests; the existing .NET generator can populate its pinned generator cache when absent.

Review the resulting ordinary Git diff, then run:

just bump-check
just compat-check
just verify

bump-check is the fast tripwire: it fails when the normative OpenAPI digest does not match the matrix and prints the exact bump command to run.

Last updated on July 28, 2026

Was this page helpful?