changeset_operations/types.rs
1use changeset_core::{BumpType, PrereleaseSpec};
2use semver::Version;
3
4/// Represents a planned version change for a package.
5#[derive(Debug, Clone, PartialEq, Eq)]
6pub struct PackageVersion {
7 pub name: String,
8 pub current_version: Version,
9 pub new_version: Version,
10 pub bump_type: BumpType,
11}
12
13/// Per-package release configuration from merged CLI + TOML sources.
14#[derive(Debug, Clone, Default)]
15pub struct PackageReleaseConfig {
16 /// Prerelease tag for this package (e.g., "alpha", "beta")
17 pub prerelease: Option<PrereleaseSpec>,
18 /// Whether to graduate this 0.x package to 1.0.0
19 pub graduate_zero: bool,
20}