v0.10.0
Summary
We're pleased to announce reclass-rs v0.10.0. This release introduces the first bigger feature that's incompatible with kapicorp-reclass: reclass-rs now supports default values for parameter references.
The gist of the feature is that users can specify default values for parameter references by providing the default value after a :: separator, for example ${foo::default} will fall back to value "default" when key foo is missing for the node. We chose :: as the separator because it can't currently appear in valid kapicorp-reclass inventories.
A more comprehensive documentation of reference default values is available in the Git repository.
Please note that the usage of :: as the separator for reference default values is a breaking change for existing reclass-rs inventories which reference a parameter that contains the empty string as a key segment.
Additionally, we've implemented the ignore_overwritten_missing_references kapicorp-reclass config option, and have updated reclass-rs to have the same default behavior (ignoring overwritten missing references) as kapicorp-reclass.
Apart from these user-facing new features, we've introduced Python type stubs for the reclass_rs Python module, updated the dependencies of the Rust implementation, and switched to Rust's 2024 Edition.
Changes
18 changes since v0.9.0
🔎 Breaking Changes
- Implement default values for references (#194)
🚀 Features
- Implement
ignore_overwritten_missing_referenceskapicorp-reclass config option (#185) - Implement default values for references (#194)
- Setup Python type stubs for
reclass_rs(#199)
🪛 Internal Changes
- Add explicit inferred lifetimes for Rust 1.89 (#178)
- Remove usage of
actions-rs/toolchainin GitHub actions (#179) - Fix flaky buildinfo test (#183)
- Switch macOS CI to macOS 15 runners (#193)
- Replace deprecated PyO3
downcast*calls with equivalentcast*calls (#191) - Switch to Rust 2024 Edition (#192)
🔗 Dependency Updates
- Update actions/attest-build-provenance action to v3 (#180)
- Update actions/setup-python action to v6 (#182)
- Update actions/checkout action to v6 (#190)
- Update mikepenz/release-changelog-builder-action action to v6 (#189)
- Update Rust crate nom to v8 (#151)
- Update Rust crate criterion to 0.8.0 (#195)
- Update Rust crate pyo3 to v0.27.2 (#196)
- Update GitHub Artifact Actions (major) (#197)
- Update Rust crate fancy-regex to 0.17.0 (#198)