From b899c72b79d2e909abf6230239d3c9377fc58899 Mon Sep 17 00:00:00 2001 From: Johannes Hofmann Date: Tue, 27 Oct 2026 07:55:43 +0100 Subject: build: single source of truth for the version Version now lives only in [workspace.package] in the root Cargo.toml; all three crates inherit it via version.workspace = true (this also fixes gipfel-core, which had drifted to 0.1.0 while the others were 0.5.4). edition/license are inherited the same way. The About dialog now reads env!("CARGO_PKG_VERSION") instead of a hardcoded string. A new test (changelog_top_matches_version) asserts the top gipfel-X.Y.Z entry in ChangeLog equals the crate version, so the manifest, the About dialog and the ChangeLog cannot drift apart. AGENTS.md gains a "Releasing a new version" section documenting the flow (bump workspace version, add ChangeLog entry, tag, git archive source tarball). --- Cargo.toml | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'Cargo.toml') diff --git a/Cargo.toml b/Cargo.toml index 3a99088..d293395 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,15 @@ resolver = "2" members = ["crates/gipfel-core", "crates/gipfel-cli", "crates/gipfel-app"] +# Single source of truth for metadata inherited by every crate via +# `version.workspace = true` etc. Bump `version` here on release; the +# About dialog and all crates follow. A test enforces the ChangeLog top +# entry matches this version. +[workspace.package] +version = "0.5.4" +edition = "2021" +license = "GPL-2.0-or-later" + [workspace.dependencies] kamadak-exif = "0.6" quick-xml = { version = "0.41", default-features = false } -- cgit v1.2.3