1# Version 0.15 2 3## Version 0.15.1 (Jul 14, 2021) 4 5### Changes and Fixes 6 7 * A panic that could result from non-char boundary indexing was fixed. 8 * Stale doc references to version `0.14` were updated. 9 10## Version 0.15.0 (Feb 25, 2021) 11 12### Breaking Changes 13 14 * `Cookie::force_remove()` takes `&Cookie` instead of `Cookie`. 15 * Child jar methods split into immutable and mutable versions 16 (`Cookie::{private{_mut}, signed{_mut}}`). 17 * `Cookie::encoded()` returns a new `Display` struct. 18 * Dates with year `<= 99` are handled like Chrome: range `0..=68` maps to 19 `2000..=2068`, `69..=99` to `1969..=1999`. 20 * `Cookie::{set_}expires()` operates on a new `Expiration` enum. 21 22### New Features 23 24 * Added `Cookie::make_removal()` to manually create expired cookies. 25 * Added `Cookie::stripped()` display variant to print only the `name` and 26 `value` of a cookie. 27 * `Key` implements a constant-time `PartialEq`. 28 * Added `Key::master()` to retrieve the full 512-bit master key. 29 * Added `PrivateJar::decrypt()` to manually decrypt an encrypted `Cookie`. 30 * Added `SignedJar::verify()` to manually verify a signed `Cookie`. 31 * `Cookie::expires()` returns an `Option<Expiration>` to allow distinguishing 32 between unset and `None` expirations. 33 * Added `Cookie::expires_datetime()` to retrieve the expiration as an 34 `OffsetDateTime`. 35 * Added `Cookie::unset_expires()` to unset expirations. 36 37### General Changes and Fixes 38 39 * MSRV is 1.41. 40 41# Version 0.14 42 43## Version 0.14.3 (Nov 5, 2020) 44 45### Changes and Fixes 46 47 * `rust-crypto` dependencies were updated to their latest versions. 48 49## Version 0.14.2 (Jul 22, 2020) 50 51### Changes and Fixes 52 53 * Documentation now builds on the stable channel. 54 * `rust-crypto` dependencies were updated to their latest versions. 55 * Fixed 'interator' -> 'iterator' documentation typo. 56 57## Version 0.14.1 (Jun 5, 2020) 58 59### Changes and Fixes 60 61 * Updated `base64` dependency to 0.12. 62 * Updated minimum `time` dependency to correct version: 0.2.11. 63 * Added `readme` key to `Cargo.toml`, updated `license` field. 64 65## Version 0.14.0 (May 29, 2020) 66 67### Breaking Changes 68 69 * The `Key::from_master()` method was deprecated in favor of the more aptly 70 named `Key::derive_from()`. 71 * The deprecated `CookieJar::clear()` method was removed. 72 73### New Features 74 75 * Added `Key::from()` to create a `Key` structure from a full-length key. 76 * Signed and private cookie jars can be individually enabled via the new 77 `signed` and `private` features, respectively. 78 * Key derivation via key expansion can be individually enabled via the new 79 `key-expansion` feature. 80 81### General Changes and Fixes 82 83 * `ring` is no longer a dependency: `RustCrypto`-based cryptography is used in 84 lieu of `ring`. Prior to their inclusion here, the `hmac` and `hkdf` crates 85 were audited. 86 * Quotes, if present, are stripped from cookie values when parsing. 87 88# Version 0.13 89 90## Version 0.13.3 (Feb 3, 2020) 91 92### Changes 93 94 * The `time` dependency was unpinned from `0.2.4`, allowing any `0.2.x` 95 version of `time` where `x >= 6`. 96 97## Version 0.13.2 (Jan 28, 2020) 98 99### Changes 100 101 * The `time` dependency was pinned to `0.2.4` due to upstream breaking changes 102 in `0.2.5`. 103 104## Version 0.13.1 (Jan 23, 2020) 105 106### New Features 107 108 * Added the `CookieJar::reset_delta()` method, which reverts all _delta_ 109 changes to a `CookieJar`. 110 111## Version 0.13.0 (Jan 21, 2020) 112 113### Breaking Changes 114 115 * `time` was updated from 0.1 to 0.2. 116 * `ring` was updated from 0.14 to 0.16. 117 * `SameSite::None` now writes `SameSite=None` to correspond with updated 118 `SameSite` draft. `SameSite` can be unset by passing `None` to 119 `Cookie::set_same_site()`. 120 * `CookieBuilder` gained a lifetime: `CookieBuilder<'c>`. 121 122### General Changes and Fixes 123 124 * Added a CHANGELOG. 125 * `expires`, `max_age`, `path`, and `domain` can be unset by passing `None` to 126 the respective `Cookie::set_{field}()` method. 127 * The "Expires" field is limited to a date-time of Dec 31, 9999, 23:59:59. 128 * The `%` character is now properly encoded and decoded. 129 * Constructor methods on `CookieBuilder` allow non-static lifetimes. 130