Skip to content

Inherit crate version from [workspace.package] - #106

Merged
popen2 merged 1 commit into
mainfrom
claude/relaxed-clarke-GHyTO-workspace-versioning
Jun 10, 2026
Merged

popen2 merged 1 commit into
mainfrom
claude/relaxed-clarke-GHyTO-workspace-versioning

Conversation

@popen2

@popen2 popen2 commented Jun 10, 2026

Copy link
Copy Markdown
Member

What

Move the crate version to [workspace.package] and have every member crate inherit it with version.workspace = true, instead of each manifest hard-coding its own version.

Why

All eight workspace members carried their own version = "0.1.0", so bumping the release version meant editing eight manifests — and in practice it never happened, leaving every crate at 0.1.0. Since utoipa derives the OpenAPI info.version from the api crate's CARGO_PKG_VERSION, that stale 0.1.0 propagated into the published openapi.yaml, the rendered API reference on the docs site, and the generated SDKs.

With this change, releasing bumps the version in one place — [workspace.package].version — or via cargo set-version --workspace <VER>, keeping all crates and the OpenAPI version in lockstep. This pairs with the release-runbook fix in platzio/dev#6.

Note

The version is intentionally left at 0.1.0 here — no bump. The next release will set it through the workspace key (a release is planned right after this merges). Inter-crate dependencies are path-only (no version pins), so nothing else needed touching, and Cargo.lock is unchanged.

Verification

cargo metadata --no-deps resolves all eight crates at 0.1.0 through the workspace, confirming the inheritance is wired correctly:

platz-api 0.1.0
platz-auth 0.1.0
platz-chart-discovery 0.1.0
platz-db 0.1.0
platz-k8s-agent 0.1.0
platz-otel 0.1.0
platz-resource-sync 0.1.0
platz-status-updates 0.1.0

https://claude.ai/code/session_012x3qrx2pZ4HtbhJPB6W5Zv


Generated by Claude Code

All workspace members carried their own `version = "0.1.0"` in
Cargo.toml, so a release had to touch eight manifests to bump the
version — and in practice they were never bumped, leaving every crate
at 0.1.0. That stale version is what `utoipa` reports as the OpenAPI
`info.version` (via the api crate's CARGO_PKG_VERSION), so the published
openapi.yaml and everything generated from it advertised 0.1.0.

Move the version to `[workspace.package]` and have each member inherit
it with `version.workspace = true`. Releasing is now a single edit (or
`cargo set-version --workspace <VER>`), keeping all crates and the
OpenAPI version in lockstep.

The version itself is intentionally left at 0.1.0 here — the next
release bumps it through the workspace key.
@popen2
popen2 merged commit 2fb2ed5 into main Jun 10, 2026
6 checks passed
@popen2
popen2 deleted the claude/relaxed-clarke-GHyTO-workspace-versioning branch June 10, 2026 17:17
@popen2 popen2 mentioned this pull request Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants