Releases: fedora-infra/siguldry
siguldry-pkcs11 1.0.0
[1.0.0] - 2026-03-12
Added
- Everything (initial release)
siguldry 0.5.0
[0.5.0] - 2026-03-12
This release was entirely focused on making Siguldry a functional replacement
for Sigul. There were no substantive changes to the Sigul client
implementation.
There were numerous breaking changes to the database schema, the Siguldry
protocol, and the Rust APIs, but since Siguldry was far from functional that's
probably okay.
Starting from this release, database migrations for the Siguldry server will be
provided and the schema is expected to be fairly stable. When migrations are
required, they will be noted prominently in the change log.
However, the Rust APIs will definitely change. The CLI may also change as the
Fedora infrastructure team provides feedback. All breaking changes will be called
out in the release notes, of course.
The primary interface for signing is the libsiguldry_pkcs11.so PKCS#11 module,
which will be stable.
Added
-
The siguldry client configuration now accepts a list of keys to unlock
automatically (#109) -
The siguldry server CLI now has a sub-command to import keys and users from a Sigul
database and associated data directory (#118) -
The siguldry server now supports signing with keys in PKCS#11 tokens (#112)
Changed
-
The minimum supported Rust version is now 1.88 (#96)
-
Keys stored in the database are now encrypted with AES-256-GCM rather than
AES-256-CBC. Furthermore, if PKCS#11 binding is configured, the key material
is bound in addition to the key passphrases (#114 and #150) -
Keys are no longer decrypted in the main server process. Instead, requests
are forwarded to a Unix socket, bound by the systemd siguldry-signer.socket
unit. Each client connection spawns a new instance of
siguldry-signer@.service. This process is responsible for decrypting keys and
signing requests (#112) -
The siguldry client list-keys command now only shows the user keys they have
access to (#151)
Removed
sigul-pesign-bridge 0.7.0
siguldry 0.4.1
[0.4.1] - 2025-11-25
Fixed
- Fixed building the siguldry crate outside the git repository by relocating the sqlx fixtures to
the crate (#95)
siguldry 0.4.0
[0.4.0] - 2025-11-24
Added
-
Added support for the
sign-certificatecommand to create certificates for Sigul-managed keys (#48) -
A new protocol, based on Sigul 1.2, has been added; this includes a new server, bridge, and
client implementation. At this time it is still incomplete, but does support basic signing
requests, such as inline PGP signatures (#64, #72)
Removed
- The legacy Sigul client is has been removed as a default feature and been
moved into thev1submodule. To continue using the legacy Sigul client,
enable thesigul-clientfeature and adjust your imports accordingly (#64)
Changed
- Updated the pyo3 test dependency from 0.26 to 0.27 (#84)
sigul-pesign-bridge 0.6.0
siguldry 0.3.1
siguldry 0.3.0
[0.3.0] - 2025-06-12
Added
-
The library now logs when the TCP connection is established before attempting
to negotiate the TLS session (#43). -
Added support for the 'user-info' command to the siguldry client (#32)
-
Added support for the 'new-user', 'modify-user', and 'delete-user' commands to the siguldry client (#46)
-
Added support for the full suite of key management commands to the siguldry client. These include
'key-user-info', 'modify-key-user', 'list-keys', 'new-key', 'import-key', 'delete-key',
'modify-key', 'list-key-users', 'grant-key-access', 'revoke-key-access', change-key-expiration',
'get-public-key', 'change-passphrase', and 'list-binding-methods' (#47)
Changed
-
The minimum supported Rust version (MSRV) is now 1.84 to align with RHEL 9.6 and 10.0 (#45)
-
Breaking change: Several error variants have been moved from
siguldry::error::ConnectionError
tosiguldry::error::ClientError. AsConnectionErroris a variant ofClientError, this reduces
the amount of nested error type matching required. The variants are:Sigul,Serde, andInvalidSignature(#46) -
Breaking change: The
ConnectionError::Fatalvariant has been replaced withConnectionError::ProtocolViolation(#46)
sigul-pesign-bridge-0.4.0
[0.4.0] - 2025-05-05
Changed
-
The
request_timeout_secsconfiguration has been replaced bytotal_request_timeout_secs
andsigul_request_timeout_secs. The total request timeout is the amount of time before
an individual request is terminated. The sigul request timeout is the amount of time the
bridge will wait for a Sigul request to succeed before canceling and retrying (#36) -
The default value of
total_request_timeout_secs(previouslyrequest_timeout_secs) is now
600 seconds and matches the documented default inconfig.toml.example(#36)
sigul-pesign-bridge 0.3.1
[0.3.1] - 2025-03-24
Fixed
- The example config.toml has been updated with the new
[sigul]section (#29)