Repository navigation
semrel-0.10.31
Release notes: 0.10.31 (2026-02-12)
Fixes
-
propagate parse_rules errors and recognize BREAKING-CHANGE
-
is_git_header uses hex/email heuristics to avoid false positives
-
Display impl uses ! shorthand and stops double-prefixing footer
-
saturate version increments at u16::MAX
-
preserve merge commit subjects in prune_message
-
config search path and empty-rules consistency
-
detect BREAKING CHANGE footer when body text precedes it
-
align rustfmt edition with Cargo.toml edition 2024
-
resolve clippy warnings in test code
-
use WriteError for IO errors in manifest write methods
-
prevent infinite loop in find_top_of_repo at filesystem root
-
use equality check for manifest filename matching
-
only strip git metadata headers from preamble, not body content
-
return error from CargoToml::set_version when package is None
-
accept 0.0.0 as a valid version in CargoToml
-
return Unknown for empty string in CommitType::from_str
-
preserve directory paths in initial commit tree walk
-
use correct error variants for version parse failures
-
make BumpRule case-sensitive so "M" maps to Major and "m" to Minor
-
remove unwraps, memory leaks, and silent error swallowing for production readiness
Refactor
- remove lying trait impls, unify manifest search order
- eliminate double get_files_changed, remove dead branch
- selective re-exports for config, commits, git, and version modules
- replace glob re-exports with selective re-exports
- remove ManifestObjectSafe trait, simplify manifest hierarchy
- remove once_cell and num-traits dependencies
- remove dead code, unused params, and inline version_type.rs
Style
- apply nightly rustfmt formatting
- reformat long chains to single lines
Test
- strengthen assertions and add missing coverage