Releases: QUBIP/aurora
Releases · QUBIP/aurora
v0.10.0
0.10.0 - 2025-12-17
⚠ BREAKING CHANGES
- (pqclean) Switch to seed-only format for MLDSA44_Ed25519 private keys
- (pqclean) Switch to seed-only format for MLDSA65_Ed25519 private keys
🚀 Features
- Disallow building other profiles than debug
- (encoders) Add text encoder for ML-DSA-65 public keys
- (encoders) Add text encoder for ML-DSA-{44,87} public keys
- (encoders) Add text encoder for ML-DSA-{44,65}-Ed25519 public keys
- (adapters/common/transcoders) Do not clutter the current namespace when calling
make_pubkey_text_encoder! - (pqclean) Add
ENCODER_PrivateKeyInfo2Textfor MLDSA and Composite MLDSA - (tests) Add basic wycheproof test for MLDSA65_Ed25519
- (tests) Add wycheproof verify tests for pure ML-DSA
- (tests) Use a testing harness for wycheproof mldsa65ed25519 tests
- (tests) Add wycheproof signing tests for ML-DSA (pure & composite)
- (tests) Run signing tests with seed-only keys
- (pqclean) Fail gracefully on length error when decoding composite ML-DSA private keys
- (pqclean) Implement sign and verify with ctx for pure ML-DSA
- (pqclean) Implement sign and verify with ctx for composite ML-DSA
- (pqclean) Consistently implement Signer/Verifier as a wrapper for SignerWithCtx/VerifierWithCtx
- (pqclean) Derive private key from seed using rustcrypto-based helper
- (pqclean) Validate decoding of private keys through foreign module
🐛 Bug Fixes
- (tests) Don't refer to verify tests as sign tests in error message
- (tests) Check test flags before describing key decoding error as "expected"
- (tests) Remember to initialize crate::tests::common::setup for wycheproof tests
- (pqclean) Validate ctx length before calling the backend
🚜 Refactor
- (encoders) Extract a format_hex_bytes helper function
- (encoders) Use a macro to generate plain text encoders for public keys
- (encoders) Take encoder name as argument in text encoder generator macro
- (common/transcoders) Make explicit that the Structureless2Text encoder is specific for public keys only
- (common/transcoders/make_privkey_text_encoder) C functions should only do argument parsing and delegate logic to safe rust abstractions.
- (common/transcoders/make_pubkey_text_encoder) C functions should only do argument parsing and delegate logic to safe rust abstractions.
- (pqclean) Rename SupportedSecretKey trait to SupportedMlDsaSecretKey
- (pqclean) Define ML-DSA seed type alias and enforce at callsite
📚 Documentation
- (README) Add notes about SLH-DSA and hybrids
- (readme) Fix typos and clarify project description
- (doc,pqclean) Refer to pq-composite-sigs-13 everywhere
🧪 Testing
- Add basic known-answer tests for composite signatures
- (Cargo.toml) Revert to wycheproof-rs revision without the temporary extension for expanded private keys
- (common/signature) Improve error message on expected signature length mismatch
Cleanup
- (tests) Remove base64 dependency and hardcoded MLDSA44_Ed25519 test vectors
- (tests) Build wycheproof module in test mode only
- (pqclean/composites) Remove all legacy draft07 stuff
- (pqclean) Rename helpers to make explicit they operate on mldsa
v0.9.0
0.9.0 - 2025-10-24
🚀 Features
- (composite_sigs_draft12) Use feature-gated draft 12 OIDs and sign + verify functions
- (composite_sigs_draft12) Add cargo feature for post-WGLC official OIDs
- (config) Update default feature to postWGLC composite sigs
- (build) Trigger rebuild on FORCE_REBUILD env change
🐛 Bug Fixes
- (decoder) Clarify return values and fallback logic
- (pqclean) [breaking] Update composite MLDSA names to align with oqs-provider
- (rustcrypto/slhdsa) Fix TLS sigalg codepoint for SLH-DSA-SHAKE-128f
📚 Documentation
- (changelog) Fix typo
- Add TLS SignatureScheme id column to sigs table in README
- (mldsa) Add comments linking to ML-DSA OID specification
- Add OID column to sigalg table in README
- Add IANA TLS supported groups id column to KEMs table in README
- (X25519Kyber768Draft00) Add obsolescence notes in comments of TLS group capability
- (mldsa) Update IETF draft reference link for ML-DSA sigalg info
- (docs) Update draft URLs to datatracker.ietf.org
- (README) Reformat README.md
- (doc, rustcrypto) Improve formatting of URL for OID source
🚜 Refactor
- (transcoders) Provide provctx type to transcoders::make_does_selection_fn!() invocations
- Rename
OpenSSLProvidertoProviderInstance - (trace) Remove redundant formatting in log calls
- (features) Use feature-gated adapters and test macros
- (ossl_cb) Use the new ergonomic version of forge::OSSLCallback
- (signature adapters) Remove symlinks, use path attribute
- (pqclean) Centralize OID constants for composite MLDSA
- (rustcrypto) Remove vestiges of disabled algorithms
🧪 Testing
- (openssl) Ignore list_all_algorithms test
- Add OID consistency tests for signature adapters
⚙️ Miscellaneous Tasks
- (release) Bump to 0.8.6+dev
- (release) Bump version to 0.9.0-rc1 and update features
v0.8.5
0.8.5 - 2025-09-26
🚀 Features
- (rustcrypto) Add SLH-DSA-SHAKE-256s algorithm support
- (slhdsa_c) Add slhdsa_c adapter
- (rustcrypto) Add SLH-DSA-SHAKE-128f algorithm and tests
- (pqclean/MLDSA65_Ed25519) Update algorithm identifiers and links
- (pqclean) Add MLDSA44_Ed25519 algorithm support
- (pqclean/mldsa) Use upstream crate for pubkey derivation
🐛 Bug Fixes
- (deps) Remove version pin for openssl_provider_forge
- (tests) Support optional trailing comma in macro syntax
🚜 Refactor
- (adapters) Return Result<_, KMGMTError> instead of risking unwrap() in keygen
- (adapters) Use fallible API design for keygen in all adapters
- (SLHDSASHAKE192f/signature/tests) Move unit tests to separate file
- (tests) Modularize SLHDSASHAKE192f signature helpers
- (signature) Move signature.rs and signature_functions.rs to src/adapters/common
- (rustcrypto,macros) Add registration macros, simplify adapter
- (tests) Simplify macro usage for test generation
- (pqclean) Replace algorithms registrations with new macros
- (libcrux_draft) Use the new macros for alghoritm registration
- (libcrux) Use new macros for algorithms registration
⚙️ Miscellaneous Tasks
- (release) Bump to v0.8.5-dev
- (relase) Rename crate to
qubip_aurora - (release) Add crates.io metadata to
Cargo.toml - (README) Update crates links
- Exclude test data from package
Build
- (test) Ensure cdylib built only once before tests
Cleanup
- (encoder) Add explanatory comments for unwrap()
v0.8.4
Full Changelog: v0.8.3...v0.8.4
v0.7.1 - "Better `get_params()`"
Full Changelog: v0.7.0...v0.7.1
v0.7.0 - "The Split"
Full Changelog: https://github.com/QUBIP/aurora/commits/v0.7.0