Skip to content

Releases: lawliet89/biscuit

v0.7.0

10 Nov 02:04
7bc9441
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.6.0

29 Mar 00:21
a6d162a
Compare
Choose a tag to compare

0.6.0

Breaking Changes

  • Fix build errors and bump MSRV by @lawliet89 in #308
  • jws::RegisteredHeader field web_key
    is now of type Option<jwk::JWK<Empty>> instead of Option<String>. If you were not using JWKs,
    continue setting the value to None will not breaking. If you were previously serializing your
    JWK as JSON strings, you will now have to deserialize them into jwk::JWK<Empty>. Please raise
    issues if you encounter any bugs. [#189]

Enhancements

  • Add support for Flattened JWS [#190]
  • Added more documentation for using OpenSSL to manipulate keys [#179]
  • Derive Clone for JWKSet by @lawliet89 in #204
  • Lints fixes

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.6.0-beta1

24 Feb 08:13
9148092
Compare
Choose a tag to compare
v0.6.0-beta1 Pre-release
Pre-release

0.6.0-beta1 (2021-02-24)

Breaking Changes

  • jws::RegisteredHeader field web_key
    is now of type Option<jwk::JWK<Empty>> instead of Option<String>. If you were not using JWKs,
    continue setting the value to None will not breaking. If you were previously serializing your
    JWK as JSON strings, you will now have to deserialize them into jwk::JWK<Empty>. Please raise
    issues if you encounter any bugs. [#189]

Enhancements

  • Add support for Flattened JWS [#190]
  • Added more documentation for using OpenSSL to manipulate keys [#179]

v0.5.0 2020-11-17

17 Nov 03:02
44adfc7
Compare
Choose a tag to compare

The only changes since v0.5.0-beta2 are dependencies upgrades and setting a higher MSRV.

0.5.0 (2020-11-17)

These are changes since v0.4.2.

Breaking Changes

  • MSRV is now Rust 1.41 due to changes in Cargo.lock format.
    See announcement.

  • The jwk::AlgorithmParameters::OctetKey enum variant is now a newtype variant which takes a
    jwk::OctetKeyParameters struct for its parameters. To migrate your existing code, you can do
    the following

    -jwk::AlgorithmParameters::OctetKey {
    +jwk::AlgorithmParameters::OctetKey(jwk::OctetKeyParameters {
       value: key,
       key_type: Default::default(),
    -}
    +})

    (#125)

  • jws::Compact::decode_with_jwks now supports JWK without an alg specified. However, a new
    parameter to specify an expected parameter had to be added to support this use case. This is to
    mitigate against issues like
    this.
    Existing usage of JWK with the alg specified can simply add a None as the second parameter.
    (#130)

  • Remove StringOrUri because it was hard to get the Uri type working properly. Replace all usage
    of StringOrUri with Strings instead. (#131)

Enhancements

  • Add new jwk::AlgorithmParameters::OctetKeyPair variant to support (de)serializing OKP
    key types. (#125)
  • Add support for JWK thumbprints (RFC 7638) (#156)
  • Allow verifying tokens with a keypair as Secret
    (#132)

Bug Fixes

  • Fix computing Aad per the RFC by doing base64 encoding
    (#147)

0.5.0-beta2 (2020-07-22)

22 Jul 06:51
Compare
Choose a tag to compare
Pre-release

0.5.0-beta2 (2020-07-22)

The changes below are since 0.5.0-beta1

Breaking Changes

  • Remove StringOrUri because it was hard to get the Uri type working properly. Replace all usage
    of StringOrUri with Strings instead. (#131)

Enhancements

  • Add support for JWK thumbprints (RFC 7638) (#156)
  • Allow verifying tokens with a keypair as Secret
    (#132)

Bug Fixes

  • Fix computing Aad per the RFC by doing base64 encoding
    (#147)

0.5.0-beta1 (2020-04-29)

29 Apr 07:18
Compare
Choose a tag to compare
Pre-release

0.5.0-beta1 (2020-04-29)

Breaking Changes

  • The jwk::AlgorithmParameters::OctetKey enum variant is now a newtype variant which takes a
    jwk::OctetKeyParameters struct for its parameters. To migrate your existing code, you can do
    the following

    -jwk::AlgorithmParameters::OctetKey {
    +jwk::AlgorithmParameters::OctetKey(jwk::OctetKeyParameters {
       value: key,
       key_type: Default::default(),
    -}
    +})

    (#125)

  • jws::Compact::decode_with_jwks now supports JWK without an alg specified. However, a new
    parameter to specify an expected parameter had to be added to support this use case. This is to
    mitigate against issues like
    this.
    Existing usage of JWK with the alg specified can simply add a None as the second parameter.
    (#130)

Enhancements

  • Add new jwk::AlgorithmParameters::OctetKeyPair variant to support (de)serializing OKP
    key types. (#125)

v0.4.2 (2020-01-07)

07 Jan 05:18
24c7e61
Compare
Choose a tag to compare

0.4.2 (2020-01-07)

Enhancements

  • Add jws::Compact::decode_with_jwks method to decode a JWT with JWKs (#124)

Internal Changes

  • Replace lazy_static with once_cell (#123)

v0.4.1

06 Nov 06:50
1a1346c
Compare
Choose a tag to compare

0.4.1 (2019-11-06)

  • Fix documentation build on 1.40 Nightly

v0.4.0

06 Nov 06:24
a288794
Compare
Choose a tag to compare

0.4.0 (2019-11-06)

There are no new feature except for some breaking changes to correct some errors.

Breaking Changes

Octet Misspelling

All misspelling of octect have been corrected to octet. The following
types have been renamed and the old misspelt version is no longer available.

To migrate, you can simply do a case sensitive replace of Octect with Octet and
octect with octet in your code.

The following types have been renamed:

  • jwk::KeyType::Octect 🡒 jwk::KeyType::Octet
  • jwk::KeyType::OctectKeyPair 🡒 jwk::KeyType::OctetKeyPair
  • jwk::OctectKeyType 🡒 jwk::OctetKeyType
  • jwk::OctectKeyType::Octect 🡒 jwk::OctetKeyType::Octet
  • jwk::AlgorithmParameters::OctectKey 🡒 jwk::AlgorithmParameters::OctetKey

The following functions have been renamed:

  • jwk::JWK::new_octect_key 🡒 jwk::JWK::new_octet_key
  • jwk::JWK::octect_key 🡒 jwk::JWK::octet_key
  • jwk::AlgorithmParameters::octect_key 🡒 jwk::AlgorithmParameters::octet_key

Clippy trivially_copy_pass_by_ref lint

This release also fixes the
Clippy trivially_copy_pass_by_ref lint
by modifying function arguments that would have taken a reference of a 1 byte value that
implements Copy to take the value of itself. This mainly affects all struct methods
of the following types

There should be no need to modify your code for this because the types are Copy.

  • jwa::SignatureAlgorithm
  • jwa::KeyManagementAlgorithm
  • jwa::ContentEncryptionAlgorithm
  • jwk::KeyType

v0.3.1

30 Jul 02:31
91822d8
Compare
Choose a tag to compare

0.3.1 (2019-07-30)

There are no new features except for ring dependency changes.

  • biscuit now depends on ring 0.16.5
  • Changed internal usage of ring's AEAD APIs
  • Removed Compact::to_string. Compact now implements Display which has a blanket
    implementation of std::string::ToString. Use that instead. This should not break any
    users because std::string::ToString is used by the std prelude.