Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.2.1] - 2026-11-04
Other
- update Cargo.lock dependencies
[0.2.0] - 2026-10-26
Added
- Add HTTP connector to
signstar-yubihsm2
Fixed
- Specifically set timeout for reconnection to a reset YubiHSM2
[0.1.0] - 2026-09-28
Added
- (deps) Update rustcrypto crates
- (deps) Upgrade crate
yubihsm2to 0.45.0 - Add labels to generated YubiHSM objects
- Add
Label::from_truncated_strto createLabelfromstr - Implement creating
ConnectorfromConnection - Implement
BackendCheckfor YubiHSM2Connection - [breaking] Extend
CryptographicKeyContext::OpenPgpwithnotations - Derive
strum::DisplayforObjectAlgorithm - Serialize
AsymmetricAlgorithmusingkebab-case - Derive
strum::DisplayforWrapKeyKind - Derive
strum::DisplayforOpaqueDataAlgorithm - Add
YubiHsm2SigningKey::close_session - Add
YubiHsm2SigningKey::new - Publicly re-export
yubihsm::Client - Implement
DisplayforObjectId - Add support for changing the currently used authentication key
- (deps) Upgrade crate
yubihsm2to 0.44.0 - Implement
Labelfromyubihsm::object::Label - Implement comparison, ordering and hashing for
Label - Add
ObjectAlgorithmto describe YubiHSM2 object algorithms - Add
AsymmetricAlgorithmto describe asymmetric key algorithms - Implement
WrapKeyKindfromyubihsm::wrap::Algorithm - Derive
HashforWrapKeyKind - Derive
PartialOrdandOrdforWrapKeyKind - Derive serde
DeserializeandSerializeforWrapAlgorithm - Derive
PartialOrdandOrdforWrapAlgorithm - Implement
Vec<Vec<CommandReturnValue>>fromScenarioReturnValue - Add support for retrieving opaque data from a YubiHSM2 to
Command - Add support for putting opaque data into the YubiHSM2 to
Command - Implement creating
yubihsm::object::LabelfromLabel - Add serde
Deserialize/Serializesupport forLabel - Fail on
\0characters inLabel::from_str - Publicly re-export
yubihsm::object::Info - Publicly re-export
yubihsm::Connector - Implement
AsRef<BTreeSet<Domain>>forDomains - Implement
AsRef<BTreeSet<Capability>>forCapabilities - Add
Credentials::idto return theId - Add constructor for
Scenario - Implement the listing of YubiHSM2 objects based on filter sets
- [breaking] Hide all file-backed types behind the “cli” feature
- Expose
CommandNamepublicly - Add
ScenarioReturnValue::chainsreturning return values - Add
YubiHsmWrapKeyFromWrapKeyto createyubihsm::wrap::Key - Add
WrapKeyFromPassphrasecreatingWrapKeyfromPassphrase - Add
WrapKeyas strong-typed abstraction foryubihsm::wrap::Key - Add
WrapKeyKindmapping toyubihsm::wrap::Algorithm - Derive
CloneandCopyforObjectId - Derive
CloneforKeyInfo - [breaking] Use file-backed authentication only for the CLI
- Add
AuthenticationKey, wrappingyubihsm::authentication::Key - Add
FileBackedCredentialsfor credentials based on file contents - Implement creating
Capabilitiesfromyubihsm::Capability - Implement
DisplayforCapabilities - Implement
DisplayforDomains - Derive strum’s
AsRefStrandDisplayforDomain - Add all (upstream) available variants for the
Capabilityenum - Derive
strum::AsRefStrforCapabilityand serialize correctly - Derive
HashforDomains - Derive
PartialOrdandOrdforDomains - Derive
HashforCapabilities - Derive
PartialOrdandOrdforCapabilities - Derive
PartialOrdandOrdforCapability - Add
wrap-ed25519subcommand tosignstar-yubihsm2 backup - Add support for clap for
Domainobjects - Rely on
Domains::bitsinDomains::to_be_bytes - Add
Domains::bitsto return the underlying bits value - Re-export
yubihsm::capability::Capability - Re-export
yubihsm::command::Code - Add
backup dumpsubcommand tosignstar-yubihsm2 - Add
backupmodule tosignstar-yubihsm2 - [breaking] Allow specifying multiple domains per key object
- Add
Connectionto describe the connection to a YubiHSM2 - (cargo) Remove
serdefrom default features - (cargo) Rename
mockhsmfeature to_yubihsm2-mockhsm - Use
Idinsignstar-yubihsm2::Credentials - Add
Idas a low-level YubiHSM2 Object ID representation - Implement
DisplayforDomain - Derive
HashforDomain - Derive
PartialOrdandOrdforDomain - Derive
EqforDomain - Add YubiHSM provisioning CLI
- Use
yubihsm::device::SerialNumberinYubiHsmConnection - Re-export
yubihsm::Domainandyubihsm::device::SerialNumber - Add
signstar_yubihsm2::signerto sign with YubiHSM2 keys - Add optional
serdesupport forCredentials - Add
Credentialsfor handling YubiHSM2 authentication - Add bare
signstar-yubihsm2crate
Fixed
- [breaking] Diversify the logger setup for journald and terminal
- (deps) Update Rust crate ccm to 0.6.0
- (deps) Update Rust crate argon2 to 0.6.0
- [breaking] Correctly generate certificates with multiple User IDs
- Use
WrapKeyfor wrapping keys, notAuthenticationKey - Don’t require mutability in
Fromimplementations forDomains - Fix clippy lints reported by Rust stable
- (cargo) Only require
clap-verbosity-flagforclifeature - Properly separate
mockhsmandserdefeatures - Move time import to not cause issues with
mockhsmdisabled - Use debug builds with all features for testing
signstar-yubihsm2
Other
- Remove warning for
_yubihsm2-mockhsmfeature debug requirement - [breaking] Remove unused types
LogDigestandLOG_DIGEST_SIZE - [breaking] Replace signstar-yubihsm2’s
Idwithyubihsm::object::Id - [breaking] Switch from yubihsm.rs to yubihsm2
- Convert
allows intoexpects - Improve
ScenarioReturnValue::persist_file_backed_scenario - Improve
ScenarioReturnValue::compare_with_file_backed_scenario - Expand the docs for
FileBackedScenarioReturnValueMismatch - [breaking] Separate writing to output file from default library functions
- [breaking] Rename
Commandvariants to matchyubishmfunctions - [breaking] Make serialization of command output optional
- (cargo) Move crate
yubihsmto workspace dependencies - Use
AuthenticationKeyinstead of custom function - [breaking] Replace
AuthwithFileBackedCredentials - [breaking] Restructure
Scenarioas chain of authenticated commands - Format all JSON files using
biome - Use top-level use statements for external types
- [breaking] Expose all signstar_crypto errors over top-level Error type
- [breaking] Standardize on snake_case for scenario object representation
- Move module files to mod.rs files
- Sort
From/TryFromimplementations forDomains - [breaking] Adhere to upstream naming convention in
Capabilityvariants - Use
BTreeSetinstead ofHashSetinCapabilities - Use
BTreeSetinstead ofHashSetforDomains - Derive
EqandPartialEqfor object identifiers - [breaking] Introduce
Labeltype and use that inInnerFormat - [breaking] Use dedicated
Capabilitiestype inInnerFormat - Add documentation describing YubiHSM Wrap (YHW) format
- (README) Improve information about available features
- [breaking] Rely on
IdinAuthandCommandfor increased robustness - [breaking] Use
IdinKeyInfoto increase robustness - [breaking] Rely on
IdinObjectIdfor increased robustness - (deps) Move
serde_jsoncrate to workspace dependencies - (deps) Move
clap-verbosity-flagto workspace dependencies - (deps) Update Rust crate pgp to 0.19