From e2704bffca8b0b5f03477c5e9bb8485598a6b35e Mon Sep 17 00:00:00 2001 From: squidfunk Date: Wed, 17 Dec 2025 20:47:45 +0100 Subject: [PATCH] fix: no changes when no versions have been released Signed-off-by: squidfunk --- crates/mono/src/cli/command/version/changed.rs | 4 +++- crates/mono/src/cli/command/version/create.rs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/mono/src/cli/command/version/changed.rs b/crates/mono/src/cli/command/version/changed.rs index c1892de..adba373 100644 --- a/crates/mono/src/cli/command/version/changed.rs +++ b/crates/mono/src/cli/command/version/changed.rs @@ -91,7 +91,9 @@ where // packages to standard output if they have a version increment let dependents = context.workspace.dependents()?; for node in &dependents { - if increments[node].is_some() { + // In case no versions have been created so far, all packages must + // be considered changed to be included in the initial release + if increments[node].is_some() || versions.is_empty() { let name = dependents[node].name().expect("invariant"); println!("{name}"); } diff --git a/crates/mono/src/cli/command/version/create.rs b/crates/mono/src/cli/command/version/create.rs index a66b3c3..422c5a4 100644 --- a/crates/mono/src/cli/command/version/create.rs +++ b/crates/mono/src/cli/command/version/create.rs @@ -72,7 +72,7 @@ where // Obtain version increments, which denote which packages have changed, // and abort immediately if there are no changes that require a release let mut increments = changeset.increments().to_vec(); - if increments.iter().all(Option::is_none) { + if !versions.is_empty() && increments.iter().all(Option::is_none) { eprintln!("Nothing to release"); return Ok(()); }