|
| 1 | +# Changelog |
| 2 | +All notable changes to this project will be documented in this file. |
| 3 | + |
| 4 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 5 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 6 | + |
| 7 | +## [0.2.0] --- 2022-04-05 |
| 8 | +This release focuses on introducing [AIF] and [libdcaf]-support. |
| 9 | + |
| 10 | +### Added |
| 11 | +- Support for scopes using the |
| 12 | + [Authorization Information Format (AIF) for ACE](https://datatracker.ietf.org/doc/html/draft-ietf-ace-aif). |
| 13 | + For this purpose, the following types have been added: |
| 14 | + - `AifEncodedScope`, representing an AIF-encoded scope (surprise) |
| 15 | + - `AifEncodedScopeElement`, a single element in an AIF-encoded scope |
| 16 | + - `AifRestMethodSet`, encoding a set of REST methods |
| 17 | +- Support for scopes used by the [libdcaf] implementation |
| 18 | + (a variant of AIF-encoded scopes). |
| 19 | + |
| 20 | +### Fixed |
| 21 | +- Binary-encoded scopes are now properly serialized. |
| 22 | +- Some incorrect documentation regarding scopes has been corrected. |
| 23 | + |
| 24 | +## [0.1.0] --- 2022-04-02 |
| 25 | +As this is the first release, lots of basic functionality has been setup. |
| 26 | +For more extensive documentation, consult the |
| 27 | +[crate-level documentation](https://docs.rs/dcaf). |
| 28 | + |
| 29 | +### Added |
| 30 | +- CBOR de-/serializable model of the ACE-OAuth framework has been added: |
| 31 | + - Binary- and text-encoded scopes |
| 32 | + - Access token requests and responses |
| 33 | + - Authorization server request creation hints |
| 34 | + - Error responses |
| 35 | + - Various smaller types (`AceProfile`, `GrantType`, `ProofOfPossessionKey`, `TokenType`...) |
| 36 | + - Use `serialize_into` or `deserialize_from` to serialize and deserialize these types. |
| 37 | +- Methods to create and work with access tokens: |
| 38 | + - `encrypt_access_token` |
| 39 | + - `decrypt_access_token` |
| 40 | + - `sign_access_token` |
| 41 | + - `verify_access_token` |
| 42 | + - `get_token_headers` (to extract headers from an opaque token) |
| 43 | +- Related: Various COSE Cipher traits intended for users to implement, |
| 44 | + used in the above methods for cryptographic operations: |
| 45 | + - `CoseCipherCommon` (to set headers specific to the cipher) |
| 46 | + - `CoseEncrypt0Cipher` |
| 47 | + - `CoseVerify1Cipher` |
| 48 | + - `CoseMac0Cipher` |
| 49 | +- Constants describing CBOR abbreviations of various ACE-OAuth fields |
| 50 | +- `no_std` support |
| 51 | + |
| 52 | +[0.1.0]: https://github.com/namib-project/dcaf-rs/releases/tag/v0.1.0 |
| 53 | +[0.2.0]: https://github.com/namib-project/dcaf-rs/compare/v0.1.0...v0.2.0 |
| 54 | +[AIF]: https://datatracker.ietf.org/doc/html/draft-ietf-ace-aif |
| 55 | +[libdcaf]: https://gitlab.informatik.uni-bremen.de/DCAF/dcaf |
0 commit comments