diff --git a/crates/uv-cli/src/version.rs b/crates/uv-cli/src/version.rs index d3954ba1395..26c80b8d315 100644 --- a/crates/uv-cli/src/version.rs +++ b/crates/uv-cli/src/version.rs @@ -56,6 +56,13 @@ impl ProjectVersionInfo { } } +impl SelfVersionInfo { + /// Returns just the version string (e.g., "0.5.1"), without commit info or target triple. + pub fn version(&self) -> &str { + &self.version + } +} + impl fmt::Display for SelfVersionInfo { /// Formatted version information: "[+] ([ ])" /// diff --git a/crates/uv/src/commands/project/version.rs b/crates/uv/src/commands/project/version.rs index 41f441917ce..97e9919ac0d 100644 --- a/crates/uv/src/commands/project/version.rs +++ b/crates/uv/src/commands/project/version.rs @@ -50,7 +50,7 @@ pub(crate) fn self_version( match output_format { VersionFormat::Text => { if short { - writeln!(printer.stdout(), "{}", version_info.cyan())?; + writeln!(printer.stdout(), "{}", version_info.version().cyan())?; } else { writeln!(printer.stdout(), "uv {}", version_info.cyan())?; } diff --git a/crates/uv/tests/it/version.rs b/crates/uv/tests/it/version.rs index 0ba78161120..49278aeeafc 100644 --- a/crates/uv/tests/it/version.rs +++ b/crates/uv/tests/it/version.rs @@ -2289,17 +2289,14 @@ fn self_version_short() -> Result<()> { let filters = context .filters() .into_iter() - .chain([( - r"\d+\.\d+\.\d+(-alpha\.\d+)?(\+\d+)?( \(.*\))?", - r"[VERSION] ([COMMIT] DATE)", - )]) + .chain([(r"\d+\.\d+\.\d+(-alpha\.\d+)?(\+\d+)?", r"[VERSION]")]) .collect::>(); uv_snapshot!(filters, context.self_version() .arg("--short"), @" success: true exit_code: 0 ----- stdout ----- - [VERSION] ([COMMIT] DATE) + [VERSION] ----- stderr ----- ");