Skip to content

Releases: QUBIP/aurora

v0.10.0

17 Dec 20:13

Choose a tag to compare

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_PrivateKeyInfo2Text for 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

24 Oct 23:23

Choose a tag to compare

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 OpenSSLProvider to ProviderInstance
  • (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

26 Sep 16:10

Choose a tag to compare

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

01 Sep 13:27

Choose a tag to compare

v0.8.4 Pre-release
Pre-release

Full Changelog: v0.8.3...v0.8.4

v0.7.1 - "Better `get_params()`"

21 Feb 21:35

Choose a tag to compare

Pre-release

Full Changelog: v0.7.0...v0.7.1

v0.7.0 - "The Split"

21 Feb 21:34

Choose a tag to compare