Expand description
§monochange_semver
monochange_semver merges requested bumps with compatibility evidence.
Reach for this crate when you need deterministic severity calculations for direct changes, propagated dependent changes, or ecosystem-specific compatibility providers.
§Why use it?
- combine manual change requests with provider-generated compatibility assessments
- share one bump-merging strategy across the workspace
- implement custom
CompatibilityProviderintegrations for ecosystem-specific evidence
§Best for
- computing release severities outside the full planner
- plugging ecosystem-specific compatibility logic into shared planning
- reusing the workspace’s bump-merging rules in custom tools
§Responsibilities
- collect compatibility assessments from providers
- merge bump severities deterministically
- calculate direct and propagated bump severities
- provide a shared abstraction for ecosystem-specific compatibility providers
§Example
use monochange_core::BumpSeverity;
use monochange_semver::direct_release_severity;
use monochange_semver::merge_severities;
let merged = merge_severities(BumpSeverity::Patch, BumpSeverity::Minor);
let direct = direct_release_severity(Some(BumpSeverity::Minor), None);
assert_eq!(merged, BumpSeverity::Minor);
assert_eq!(direct, BumpSeverity::Minor);Traits§
- Compatibility
Provider - Provider interface for ecosystem-specific compatibility evidence.
Functions§
- collect_
assessments - Collect compatibility assessments for the supplied change signals.
- direct_
release_ severity - Calculate the effective direct-release severity for a package.
- merge_
severities - Merge two bump severities and return the higher one.
- propagated_
release_ severity - Calculate the propagated severity applied to dependents of a changed package.
- strongest_
assessment - Return the strongest assessment from a list.
- strongest_
assessment_ for_ package - Return the strongest assessment for a specific package.