Skip to main content

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}