Quick Summary
snow is now no_std-friendly, with only one required dependency (subtle) now if you bring your own cryptographic provider, thank you @complexspaces!
This release also sees some breaking API changes in the builder to further prevent misuse/abuse - more builder functions now return Result<Self, Error> instead of Self.
The P-256 curve is now also available as a non-default feature for those of you needing more curves in your life.
Finally, this release transitioned the snow codebase to Rust 2024 and has a new MSRV of 1.85.
New
- Add support for NIST P-256 curve by @AlfioEmanueleFresta in #185
no_stdsupport withallocby @jmlepisto #183
Improvements
- Removed dependency on
randby @complexspaces in #193 - Update dead docs link for forming NoiseParams strings by @thombles in #129
- Fix documentation reference to parameters in examples/simple.rs by @okdistribute in #113
- Update various links by @robyoder in #151
- Fix nonce incrementing in stateful transport to match the specification by @complexspaces in #152
- s/Ed448/Curve448/ by @dconnolly in #155
- curve25519_dalek 4 by @kayabaNerve in #161
- Bump aes-gcm and chacha20poly1305 by @kayabaNerve in #166
- Simplify example code by @BlackHoleFox in #175
- added example for oneway pattern Xpsk1 by @bluen in #186
Migrating from 0.9
The main change you'll likely notice is the need to add expect(...) or ? to a few builder functions that have been updated to further limit the chance of misuse.
Here are the semver-breaking changes:
- Builder function fallibility: more functions in the builder now return a
Resultto more explicitly prohibit calling the same setter twice. DHChoice::Ed448has been renamed toDHChoice::Curve448- Multiple new error enum variants have been added.
PRs
- Update dead docs link for forming NoiseParams strings by @thombles in #129
- Fix documentation reference to parameters in examples/simple.rs by @okdistribute in #113
- Bump
curve25519-dalekto v4.0.0-rc.0 by @tarcieri in #148 - Update various links by @robyoder in #151
- Fix nonce incrementing in stateful transport to match the specification by @complexspaces in #152
- s/Ed448/Curve448/ by @dconnolly in #155
- curve25519_dalek 4 by @kayabaNerve in #161
- Bump aes-gcm and chacha20poly1305 by @kayabaNerve in #166
- Simplify example code by @BlackHoleFox in #175
- Add support for NIST P-256 curve by @AlfioEmanueleFresta in #185
- added example for oneway pattern Xpsk1 by @bluen in #186
- Remove direct dependency on rand and rand_core by @complexspaces in #193
Full Changelog: v0.9.6...v0.10.0