Skip to content

gosd 0.8.1 (2026-08-24)

Choose a tag to compare

@gosd-knope gosd-knope released this 24 Aug 06:55
e5b0cbe

Features

App versions can resolve from git tags: --app-version git:v*.*.*

A version recorded in a checked-in gosd-build.toml couldn't change per
release — so now it doesn't have to. An [app] version (or
--app-version) value starting git: resolves at build time from your
app repository's tags, in pure Go with no git binary required: the
wildcard pattern after git: picks which tags count, the matching tag
nearest the commit being built wins (describe semantics, so maintenance
branches never steal a newer tag from another branch), and the pattern's
literal prefix is stripped from the result — git:v*.*.* turns tag
v1.4.2 into 1.4.2. Between releases the version reads
1.4.2-5-g<hash>, and an unclean worktree appends -dirty rather than
failing the build.

Shallow CI checkouts have no tags to search, so the error for that case
names the efficient fix directly: a treeless fetch — fetch-depth: 0
with filter: tree:0 for actions/checkout, or
git fetch --unshallow --tags --filter=tree:0 — which downloads the
commit graph and tags (all resolution needs) while skipping historical
file contents. Details and examples live on the build-config
documentation page.

One edge: a literal version that genuinely began with git: now means
something else; no known app does this.