summaryrefslogtreecommitdiff
path: root/Cargo.toml
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2026-10-27 07:55:43 +0100
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2026-10-27 07:55:47 +0100
commitb899c72b79d2e909abf6230239d3c9377fc58899 (patch)
tree3c84d6eb69a5366d95fc85f04fa92d1ac7345b4d /Cargo.toml
parent7d31997bd9118351e8a849d2101c5aacc0aae78b (diff)
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).
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml9
1 files changed, 9 insertions, 0 deletions
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 }