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_std
support withalloc
by @jmlepisto #183
Improvements
- Removed dependency on
rand
by @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
Result
to more explicitly prohibit calling the same setter twice. DHChoice::Ed448
has 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-dalek
to 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