191 lines
6.0 KiB
Markdown
191 lines
6.0 KiB
Markdown
# Changelog
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## 0.10.3 (2024-10-09)
|
|
### Added
|
|
- Make integer primitive `SecretSlice`s cloneable ([#1236])
|
|
- Impl `From<&str>` for `SecretString` ([#1237])
|
|
|
|
[#1236]: https://github.com/iqlusioninc/crates/pull/1236
|
|
[#1237]: https://github.com/iqlusioninc/crates/pull/1237
|
|
|
|
## 0.10.2 (2024-09-20)
|
|
### Added
|
|
- Impl `Deserialize` for `SecretString` ([#1220])
|
|
|
|
[#1220]: https://github.com/iqlusioninc/crates/pull/1220
|
|
|
|
## 0.10.1 (2024-09-18)
|
|
### Added
|
|
- Impl `Clone` for `SecretString` ([#1217])
|
|
|
|
[#1217]: https://github.com/iqlusioninc/crates/pull/1217
|
|
|
|
## 0.10.0 (2024-09-17)
|
|
|
|
This release represents a significant redesign of the `secrecy` crate. We will update this section
|
|
with upgrade instructions based on feedback from people upgrading, as it's been a long time since
|
|
the previous release, and this release includes a number of breaking changes.
|
|
|
|
The most notable change is the generic `Secret<T>` type has been removed: instead use `SecretBox<T>`
|
|
which stores secrets on the heap instead of the stack. Many of the other changes fall out of this
|
|
change and things which were previously type aliases of `Secret<T>` are now type aliases of
|
|
`SecretBox<T>`.
|
|
|
|
This unfortunately means this crate no longer has support for "heapless" `no_std` targets. We don't
|
|
have a good solution for these targets, which was a motivation for this change in the first place.
|
|
|
|
### Added
|
|
- `SecretBox::{init_with, try_init_with}` ([#1212])
|
|
- `SecretBox::init_with_mut` ([#1213])
|
|
- `?Sized` bounds for `SecretBox` ([#1213])
|
|
- `SecretSlice<T>` ([#1214])
|
|
|
|
### Changed
|
|
- Rust 2021 edition upgrade ([#889])
|
|
- MSRV 1.60 ([#1105])
|
|
- `SecretBox<T>` is now a newtype rather than a type alias of `Secret<Box<T>> ([#1140])
|
|
- `SecretString` is now a type alias for `SecretBox<str>` ([#1213])
|
|
- Disable `serde` default features ([#1194])
|
|
|
|
### Removed
|
|
- `alloc` feature: now a hard dependency ([#1140])
|
|
- `bytes` crate integration: no replacement ([#1140])
|
|
- `DebugSecret` trait: no replacement ([#1140])
|
|
- `Secret<T>`: use `SecretBox<T>` instead ([#1140])
|
|
|
|
[#889]: https://github.com/iqlusioninc/crates/pull/889
|
|
[#1105]: https://github.com/iqlusioninc/crates/pull/1105
|
|
[#1140]: https://github.com/iqlusioninc/crates/pull/1140
|
|
[#1194]: https://github.com/iqlusioninc/crates/pull/1194
|
|
[#1212]: https://github.com/iqlusioninc/crates/pull/1212
|
|
[#1213]: https://github.com/iqlusioninc/crates/pull/1213
|
|
[#1214]: https://github.com/iqlusioninc/crates/pull/1214
|
|
|
|
## 0.9.0 (Skipped)
|
|
|
|
## 0.8.0 (2021-07-18)
|
|
|
|
NOTE: This release includes an MSRV bump to Rust 1.56. Please use `secrecy = "0.7.0"`
|
|
if you would like to support older Rust versions.
|
|
|
|
### Added
|
|
- impl `From<T>` for `Secret` ([#482])
|
|
|
|
### Changed
|
|
- Bump `bytes` to v1.0 ([#592])
|
|
- Switch to `resolver = "2"`; MSRV 1.56 ([#755])
|
|
|
|
[#482]: https://github.com/iqlusioninc/crates/pull/482
|
|
[#592]: https://github.com/iqlusioninc/crates/pull/592
|
|
[#755]: https://github.com/iqlusioninc/crates/pull/755
|
|
|
|
## 0.7.0 (2020-07-08)
|
|
### Added
|
|
- Re-export zeroize ([#466])
|
|
- `rustdoc` improvements ([#464], [#465])
|
|
|
|
### Changed
|
|
- Have `DebugSecret` take a formatter ([#467])
|
|
- Make `FromStr` impl for `SecretString` be `Infallible` ([#323])
|
|
|
|
### Fixed
|
|
- Use `SerializableSecret` in `Serialize` bounds ([#463])
|
|
|
|
[#467]: https://github.com/iqlusioninc/crates/pull/467
|
|
[#466]: https://github.com/iqlusioninc/crates/pull/466
|
|
[#465]: https://github.com/iqlusioninc/crates/pull/465
|
|
[#464]: https://github.com/iqlusioninc/crates/pull/464
|
|
[#463]: https://github.com/iqlusioninc/crates/pull/463
|
|
[#323]: https://github.com/iqlusioninc/crates/pull/323
|
|
|
|
## 0.6.0 (2019-12-12)
|
|
|
|
- Impl `CloneableSecret` for `Secret<[T; N]>` where `T: Clone` ([#311])
|
|
- Impl `DebugSecret` for `[T; N]` where `N` <= 64 ([#310])
|
|
- Impl `FromStr` for `SecretString` ([#309])
|
|
- Upgrade to `bytes` v0.5 ([#301], [#308], [#312])
|
|
|
|
[#312]: https://github.com/iqlusioninc/crates/pull/312
|
|
[#311]: https://github.com/iqlusioninc/crates/pull/311
|
|
[#310]: https://github.com/iqlusioninc/crates/pull/310
|
|
[#309]: https://github.com/iqlusioninc/crates/pull/309
|
|
[#308]: https://github.com/iqlusioninc/crates/pull/308
|
|
[#301]: https://github.com/iqlusioninc/crates/pull/301
|
|
|
|
## 0.5.2 (2019-12-18)
|
|
|
|
- Backport Impl `FromStr` for `SecretString` ([#309])
|
|
|
|
[#309]: https://github.com/iqlusioninc/crates/pull/309
|
|
|
|
## 0.5.1 (2019-11-30)
|
|
|
|
- Change default `DebugSecret` string to `[REDACTED]` ([#290])
|
|
|
|
[#290]: https://github.com/iqlusioninc/crates/pull/290
|
|
|
|
## 0.5.0 (2019-10-13)
|
|
|
|
- Upgrade to `zeroize` v1.0.0 ([#279])
|
|
|
|
[#279]: https://github.com/iqlusioninc/crates/pull/279
|
|
|
|
## 0.4.1 (2019-10-13)
|
|
|
|
- Upgrade to `zeroize` v1.0.0-pre ([#268])
|
|
|
|
[#268]: https://github.com/iqlusioninc/crates/pull/268
|
|
|
|
## 0.4.0 (2019-09-03)
|
|
|
|
- Add `SerializableSecret` ([#262])
|
|
- Add (optional) concrete `SecretBytes` type ([#258], [#259], [#260], [#261])
|
|
|
|
[#262]: https://github.com/iqlusioninc/crates/pull/262
|
|
[#261]: https://github.com/iqlusioninc/crates/pull/261
|
|
[#260]: https://github.com/iqlusioninc/crates/pull/260
|
|
[#259]: https://github.com/iqlusioninc/crates/pull/259
|
|
[#258]: https://github.com/iqlusioninc/crates/pull/258
|
|
|
|
## 0.3.1 (2019-08-26)
|
|
|
|
- Impl `CloneableSecret` for `String` ([#256])
|
|
|
|
[#256]: https://github.com/iqlusioninc/crates/pull/256
|
|
|
|
## 0.3.0 (2019-08-20)
|
|
|
|
- Add support for `alloc` types ([#253])
|
|
- `zeroize` v0.10.0 ([#248])
|
|
- Add a default impl for `DebugSecret` trait ([#241])
|
|
|
|
[#253]: https://github.com/iqlusioninc/crates/pull/253
|
|
[#248]: https://github.com/iqlusioninc/crates/pull/248
|
|
[#241]: https://github.com/iqlusioninc/crates/pull/241
|
|
|
|
## 0.2.2 (2019-06-28)
|
|
|
|
- README.md: add Gitter badges; update image links ([#221])
|
|
|
|
[#221]: https://github.com/iqlusioninc/crates/pull/221
|
|
|
|
## 0.2.1 (2019-06-04)
|
|
|
|
- `zeroize` v0.9.0 ([#215])
|
|
|
|
[#215]: https://github.com/iqlusioninc/crates/pull/215
|
|
|
|
## 0.2.0 (2019-05-29)
|
|
|
|
- Add `CloneableSecret` marker trait ([#210])
|
|
|
|
[#210]: https://github.com/iqlusioninc/crates/pull/210
|
|
|
|
## 0.1.0 (2019-05-23)
|
|
|
|
- Initial release
|