- Docs
- Start
- Versioning
Versioning
One lockstep version across every Zever module, per-module tags, and replace-less consumption.
Zever ships about 180 Go modules (one per battery interface, adapter, helper, and tool; 176 in the repo workspace plus two out-of-tree consumer proofs) under a single lockstep version. There is no umbrella module and no root go.mod: you require only the modules you use, all pinned to the same version.
One version, per-module tags
Section titled “One version, per-module tags”Every release tags each module as <path>/vX.Y.Z (for example container/v0.8.0, adapters/db/sqlite/v0.8.0), cut by tools/tag-release.sh. Releases are lockstep: all modules share the version, so a bump means moving every Zever require together. make modgraph-check enforces the rule behind the tags — each go.mod module path must equal github.com/zenta-dev/zever/<reldir> — with two deliberate exceptions for the out-of-tree consumer proofs (docs/examples, examples/external-sms), which keep their own module paths.
Pre-1.0, any 0.x minor or patch may break; every break is listed in CHANGELOG.md with a **Breaking:** prefix. See Upgrade for the bump procedure.
Consume without replaces
Section titled “Consume without replaces”Published per-module tags resolve through the Go module proxy, so consumer projects need no replace directives:
go get github.com/zenta-dev/zever/config@v0.8.0 github.com/zenta-dev/zever/container@v0.8.0go mod tidyRules for a healthy consumer go.mod:
- Keep every
github.com/zenta-dev/zever/*require on the same version; mixed versions are untested and unsupported. go mod tidymust succeed with noreplacepointing at a local checkout (zever newwrites plain requires against the published modules; local replaces appear only when scaffolding from inside a framework checkout — see Installation).go install github.com/zenta-dev/zever/cmd/zever@vX.Y.Zworks from v0.7.2 on (cmd/zever/go.modcommits noreplacedirectives). Earlier tags, and the other modules (libraries meant forgo get), cannot be installed this way; use the installer or a release binary for those.
zever new scaffolds a project that already follows these rules. Bumps move every require together — see Upgrade.