361 lines
14 KiB
Markdown
361 lines
14 KiB
Markdown
|
# Changelog
|
|||
|
All notable changes to this project will be documented in this file.
|
|||
|
|
|||
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||
|
|
|||
|
## [0.2.8] - 2022-10-20
|
|||
|
### Changed
|
|||
|
- The [Web Cryptography API] will now be preferred on `wasm32-unknown-unknown`
|
|||
|
when using the `"js"` feature, even on Node.js [#284] [#295]
|
|||
|
|
|||
|
### Added
|
|||
|
- Added benchmarks to track buffer initialization cost [#272]
|
|||
|
|
|||
|
### Fixed
|
|||
|
- Use `$crate` in `register_custom_getrandom!` [#270]
|
|||
|
|
|||
|
### Documentation
|
|||
|
- Add information about enabling `"js"` feature [#280]
|
|||
|
- Fix link to `wasm-bindgen` [#278]
|
|||
|
- Document the varied implementations for underlying randomness sources [#276]
|
|||
|
|
|||
|
[Web Cryptography API]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API
|
|||
|
[#284]: https://github.com/rust-random/getrandom/pull/284
|
|||
|
[#295]: https://github.com/rust-random/getrandom/pull/295
|
|||
|
[#272]: https://github.com/rust-random/getrandom/pull/272
|
|||
|
[#270]: https://github.com/rust-random/getrandom/pull/270
|
|||
|
[#280]: https://github.com/rust-random/getrandom/pull/280
|
|||
|
[#278]: https://github.com/rust-random/getrandom/pull/278
|
|||
|
[#276]: https://github.com/rust-random/getrandom/pull/276
|
|||
|
|
|||
|
## [0.2.7] - 2022-06-14
|
|||
|
### Changed
|
|||
|
- Update `wasi` dependency to `0.11` [#253]
|
|||
|
|
|||
|
### Fixed
|
|||
|
- Use `AtomicPtr` instead of `AtomicUsize` for Strict Provenance compatibility. [#263]
|
|||
|
|
|||
|
### Documentation
|
|||
|
- Add comments explaining use of fallback mechanisms [#257] [#260]
|
|||
|
|
|||
|
[#263]: https://github.com/rust-random/getrandom/pull/263
|
|||
|
[#260]: https://github.com/rust-random/getrandom/pull/260
|
|||
|
[#253]: https://github.com/rust-random/getrandom/pull/253
|
|||
|
[#257]: https://github.com/rust-random/getrandom/pull/257
|
|||
|
|
|||
|
## [0.2.6] - 2022-03-28
|
|||
|
### Added
|
|||
|
- Nintendo 3DS (`armv6k-nintendo-3ds`) support [#248]
|
|||
|
|
|||
|
### Changed
|
|||
|
- Retry `open` when interrupted [#252]
|
|||
|
|
|||
|
[#248]: https://github.com/rust-random/getrandom/pull/248
|
|||
|
[#252]: https://github.com/rust-random/getrandom/pull/252
|
|||
|
|
|||
|
## [0.2.5] - 2022-02-22
|
|||
|
### Added
|
|||
|
- ESP-IDF targets (`*‑espidf`) support [#245]
|
|||
|
|
|||
|
### Fixed
|
|||
|
- Webpack warning caused by dynamic require [#234]
|
|||
|
- Error checking on iOS for `SecRandomCopyBytes` [#244]
|
|||
|
|
|||
|
[#234]: https://github.com/rust-random/getrandom/pull/234
|
|||
|
[#244]: https://github.com/rust-random/getrandom/pull/244
|
|||
|
[#245]: https://github.com/rust-random/getrandom/pull/245
|
|||
|
|
|||
|
## [0.2.4] - 2021-12-13
|
|||
|
### Changed
|
|||
|
- Use explicit imports in the `js` backend [#220]
|
|||
|
- Use `/dev/urandom` on Redox instead of `rand:` [#222]
|
|||
|
- Use `NonZeroU32::new_unchecked` to convert wasi error [#233]
|
|||
|
|
|||
|
### Added
|
|||
|
- SOLID targets (`*-kmc-solid_*`) support [#235]
|
|||
|
- Limited Hermit (`x86_64-unknown-hermit`) support [#236]
|
|||
|
|
|||
|
[#220]: https://github.com/rust-random/getrandom/pull/220
|
|||
|
[#222]: https://github.com/rust-random/getrandom/pull/222
|
|||
|
[#233]: https://github.com/rust-random/getrandom/pull/233
|
|||
|
[#235]: https://github.com/rust-random/getrandom/pull/235
|
|||
|
[#236]: https://github.com/rust-random/getrandom/pull/236
|
|||
|
|
|||
|
## [0.2.3] - 2021-04-10
|
|||
|
### Changed
|
|||
|
- Replace build.rs with link attributes. [#205]
|
|||
|
- Add support for getrandom syscall on DragonFly BSD. [#210]
|
|||
|
- Improve Node.js detection. [#215]
|
|||
|
|
|||
|
[#205]: https://github.com/rust-random/getrandom/pull/205
|
|||
|
[#210]: https://github.com/rust-random/getrandom/pull/210
|
|||
|
[#215]: https://github.com/rust-random/getrandom/pull/215
|
|||
|
|
|||
|
## [0.2.2] - 2021-01-19
|
|||
|
### Changed
|
|||
|
- Forward `rustc-dep-of-std` to dependencies. [#198]
|
|||
|
- Highlight feature-dependend functionality in documentation using the `doc_cfg` feature. [#200]
|
|||
|
|
|||
|
[#198]: https://github.com/rust-random/getrandom/pull/198
|
|||
|
[#200]: https://github.com/rust-random/getrandom/pull/200
|
|||
|
|
|||
|
## [0.2.1] - 2021-01-03
|
|||
|
### Changed
|
|||
|
- Update `cfg-if` to v1.0. [#166]
|
|||
|
- Update `wasi` to v0.10. [#167]
|
|||
|
|
|||
|
### Fixed
|
|||
|
- Multithreaded WASM support. [#165]
|
|||
|
|
|||
|
### Removed
|
|||
|
- Windows XP support. [#177]
|
|||
|
- Direct `stdweb` support. [#178]
|
|||
|
- CloudABI support. [#184]
|
|||
|
|
|||
|
[#165]: https://github.com/rust-random/getrandom/pull/165
|
|||
|
[#166]: https://github.com/rust-random/getrandom/pull/166
|
|||
|
[#167]: https://github.com/rust-random/getrandom/pull/167
|
|||
|
[#177]: https://github.com/rust-random/getrandom/pull/177
|
|||
|
[#178]: https://github.com/rust-random/getrandom/pull/178
|
|||
|
[#184]: https://github.com/rust-random/getrandom/pull/184
|
|||
|
|
|||
|
## [0.2.0] - 2020-09-10
|
|||
|
### Features for using getrandom on unsupported targets
|
|||
|
|
|||
|
The following (off by default) Cargo features have been added:
|
|||
|
- `"rdrand"` - use the RDRAND instruction on `no_std` `x86`/`x86_64` targets [#133]
|
|||
|
- `"js"` - use JavaScript calls on `wasm32-unknown-unknown` [#149]
|
|||
|
- Replaces the `stdweb` and `wasm-bindgen` features (which are removed)
|
|||
|
- `"custom"` - allows a user to specify a custom implementation [#109]
|
|||
|
|
|||
|
### Breaking Changes
|
|||
|
- Unsupported targets no longer compile [#107]
|
|||
|
- Change/Add `Error` constants [#120]
|
|||
|
- Only impl `std` traits when the `"std"` Cargo feature is specified [#106]
|
|||
|
- Remove official support for Hermit, L4Re, and UEFI [#133]
|
|||
|
- Remove optional `"log"` dependency [#131]
|
|||
|
- Update minimum supported Linux kernel to 2.6.32 [#153]
|
|||
|
- Update MSRV to 1.34 [#159]
|
|||
|
|
|||
|
[#106]: https://github.com/rust-random/getrandom/pull/106
|
|||
|
[#107]: https://github.com/rust-random/getrandom/pull/107
|
|||
|
[#109]: https://github.com/rust-random/getrandom/pull/109
|
|||
|
[#120]: https://github.com/rust-random/getrandom/pull/120
|
|||
|
[#131]: https://github.com/rust-random/getrandom/pull/131
|
|||
|
[#133]: https://github.com/rust-random/getrandom/pull/133
|
|||
|
[#149]: https://github.com/rust-random/getrandom/pull/149
|
|||
|
[#153]: https://github.com/rust-random/getrandom/pull/153
|
|||
|
[#159]: https://github.com/rust-random/getrandom/pull/159
|
|||
|
|
|||
|
## [0.1.16] - 2020-12-31
|
|||
|
### Changed
|
|||
|
- Update `cfg-if` to v1.0. [#173]
|
|||
|
- Implement `std::error::Error` for the `Error` type on additional targets. [#169]
|
|||
|
|
|||
|
### Fixed
|
|||
|
- Multithreaded WASM support. [#171]
|
|||
|
|
|||
|
[#173]: https://github.com/rust-random/getrandom/pull/173
|
|||
|
[#171]: https://github.com/rust-random/getrandom/pull/171
|
|||
|
[#169]: https://github.com/rust-random/getrandom/pull/169
|
|||
|
|
|||
|
## [0.1.15] - 2020-09-10
|
|||
|
### Changed
|
|||
|
- Added support for Internet Explorer 11 [#139]
|
|||
|
- Fix Webpack require warning with `wasm-bindgen` [#137]
|
|||
|
|
|||
|
[#137]: https://github.com/rust-random/getrandom/pull/137
|
|||
|
[#139]: https://github.com/rust-random/getrandom/pull/139
|
|||
|
|
|||
|
## [0.1.14] - 2020-01-07
|
|||
|
### Changed
|
|||
|
- Remove use of spin-locks in the `use_file` module. [#125]
|
|||
|
- Update `wasi` to v0.9. [#126]
|
|||
|
- Do not read errno value on DragonFlyBSD to fix compilation failure. [#129]
|
|||
|
|
|||
|
[#125]: https://github.com/rust-random/getrandom/pull/125
|
|||
|
[#126]: https://github.com/rust-random/getrandom/pull/126
|
|||
|
[#129]: https://github.com/rust-random/getrandom/pull/129
|
|||
|
|
|||
|
## [0.1.13] - 2019-08-25
|
|||
|
### Added
|
|||
|
- VxWorks targets support. [#86]
|
|||
|
|
|||
|
### Changed
|
|||
|
- If zero-length slice is passed to the `getrandom` function, always return
|
|||
|
`Ok(())` immediately without doing any calls to the underlying operating
|
|||
|
system. [#104]
|
|||
|
- Use the `kern.arandom` sysctl on NetBSD. [#115]
|
|||
|
|
|||
|
### Fixed
|
|||
|
- Bump `cfg-if` minimum version from 0.1.0 to 0.1.2. [#112]
|
|||
|
- Typos and bad doc links. [#117]
|
|||
|
|
|||
|
[#86]: https://github.com/rust-random/getrandom/pull/86
|
|||
|
[#104]: https://github.com/rust-random/getrandom/pull/104
|
|||
|
[#112]: https://github.com/rust-random/getrandom/pull/112
|
|||
|
[#115]: https://github.com/rust-random/getrandom/pull/115
|
|||
|
[#117]: https://github.com/rust-random/getrandom/pull/117
|
|||
|
|
|||
|
## [0.1.12] - 2019-08-18
|
|||
|
### Changed
|
|||
|
- Update wasi dependency from v0.5 to v0.7. [#100]
|
|||
|
|
|||
|
[#100]: https://github.com/rust-random/getrandom/pull/100
|
|||
|
|
|||
|
## [0.1.11] - 2019-08-25
|
|||
|
### Fixed
|
|||
|
- Implement `std`-dependent traits for selected targets even if `std`
|
|||
|
feature is disabled. (backward compatibility with v0.1.8) [#96]
|
|||
|
|
|||
|
[#96]: https://github.com/rust-random/getrandom/pull/96
|
|||
|
|
|||
|
## [0.1.10] - 2019-08-18 [YANKED]
|
|||
|
### Changed
|
|||
|
- Use the dummy implementation on `wasm32-unknown-unknown` even with the
|
|||
|
disabled `dummy` feature. [#90]
|
|||
|
|
|||
|
### Fixed
|
|||
|
- Fix CSP error for `wasm-bindgen`. [#92]
|
|||
|
|
|||
|
[#90]: https://github.com/rust-random/getrandom/pull/90
|
|||
|
[#92]: https://github.com/rust-random/getrandom/pull/92
|
|||
|
|
|||
|
## [0.1.9] - 2019-08-14 [YANKED]
|
|||
|
### Changed
|
|||
|
- Remove `std` dependency for opening and reading files. [#58]
|
|||
|
- Use `wasi` isntead of `libc` on WASI target. [#64]
|
|||
|
- By default emit a compile-time error when built for an unsupported target.
|
|||
|
This behaviour can be disabled by using the `dummy` feature. [#71]
|
|||
|
|
|||
|
### Added
|
|||
|
- Add support for UWP targets. [#69]
|
|||
|
- Add unstable `rustc-dep-of-std` feature. [#78]
|
|||
|
|
|||
|
[#58]: https://github.com/rust-random/getrandom/pull/58
|
|||
|
[#64]: https://github.com/rust-random/getrandom/pull/64
|
|||
|
[#69]: https://github.com/rust-random/getrandom/pull/69
|
|||
|
[#71]: https://github.com/rust-random/getrandom/pull/71
|
|||
|
[#78]: https://github.com/rust-random/getrandom/pull/78
|
|||
|
|
|||
|
## [0.1.8] - 2019-07-29
|
|||
|
### Changed
|
|||
|
- Explicitly specify types to arguments of 'libc::syscall'. [#74]
|
|||
|
|
|||
|
[#74]: https://github.com/rust-random/getrandom/pull/74
|
|||
|
|
|||
|
## [0.1.7] - 2019-07-29
|
|||
|
### Added
|
|||
|
- Support for hermit and l4re. [#61]
|
|||
|
- `Error::raw_os_error` method, `Error::INTERNAL_START` and
|
|||
|
`Error::CUSTOM_START` constants. Use `libc` for retrieving OS error descriptions. [#54]
|
|||
|
|
|||
|
### Changed
|
|||
|
- Remove `lazy_static` dependency and use custom structures for lock-free
|
|||
|
initialization. [#51] [#52]
|
|||
|
- Try `getrandom()` first on FreeBSD. [#57]
|
|||
|
|
|||
|
### Removed
|
|||
|
- Bitrig support. [#56]
|
|||
|
|
|||
|
### Deprecated
|
|||
|
- `Error::UNKNOWN`, `Error::UNAVAILABLE`. [#54]
|
|||
|
|
|||
|
[#51]: https://github.com/rust-random/getrandom/pull/51
|
|||
|
[#52]: https://github.com/rust-random/getrandom/pull/52
|
|||
|
[#54]: https://github.com/rust-random/getrandom/pull/54
|
|||
|
[#56]: https://github.com/rust-random/getrandom/pull/56
|
|||
|
[#57]: https://github.com/rust-random/getrandom/pull/57
|
|||
|
[#61]: https://github.com/rust-random/getrandom/pull/61
|
|||
|
|
|||
|
## [0.1.6] - 2019-06-30
|
|||
|
### Changed
|
|||
|
- Minor change of RDRAND AMD bug handling. [#48]
|
|||
|
|
|||
|
[#48]: https://github.com/rust-random/getrandom/pull/48
|
|||
|
|
|||
|
## [0.1.5] - 2019-06-29
|
|||
|
### Fixed
|
|||
|
- Use shared `File` instead of shared file descriptor. [#44]
|
|||
|
- Workaround for RDRAND hardware bug present on some AMD CPUs. [#43]
|
|||
|
|
|||
|
### Changed
|
|||
|
- Try `getentropy` and then fallback to `/dev/random` on macOS. [#38]
|
|||
|
|
|||
|
[#38]: https://github.com/rust-random/getrandom/issues/38
|
|||
|
[#43]: https://github.com/rust-random/getrandom/pull/43
|
|||
|
[#44]: https://github.com/rust-random/getrandom/issues/44
|
|||
|
|
|||
|
## [0.1.4] - 2019-06-28
|
|||
|
### Added
|
|||
|
- Add support for `x86_64-unknown-uefi` target by using RDRAND with CPUID
|
|||
|
feature detection. [#30]
|
|||
|
|
|||
|
### Fixed
|
|||
|
- Fix long buffer issues on Windows and Linux. [#31] [#32]
|
|||
|
- Check `EPERM` in addition to `ENOSYS` on Linux. [#37]
|
|||
|
|
|||
|
### Changed
|
|||
|
- Improve efficiency by sharing file descriptor across threads. [#13]
|
|||
|
- Remove `cloudabi`, `winapi`, and `fuchsia-cprng` dependencies. [#40]
|
|||
|
- Improve RDRAND implementation. [#24]
|
|||
|
- Don't block during syscall detection on Linux. [#26]
|
|||
|
- Increase consistency with libc implementation on FreeBSD. [#36]
|
|||
|
- Apply `rustfmt`. [#39]
|
|||
|
|
|||
|
[#30]: https://github.com/rust-random/getrandom/pull/30
|
|||
|
[#13]: https://github.com/rust-random/getrandom/issues/13
|
|||
|
[#40]: https://github.com/rust-random/getrandom/pull/40
|
|||
|
[#26]: https://github.com/rust-random/getrandom/pull/26
|
|||
|
[#24]: https://github.com/rust-random/getrandom/pull/24
|
|||
|
[#39]: https://github.com/rust-random/getrandom/pull/39
|
|||
|
[#36]: https://github.com/rust-random/getrandom/pull/36
|
|||
|
[#31]: https://github.com/rust-random/getrandom/issues/31
|
|||
|
[#32]: https://github.com/rust-random/getrandom/issues/32
|
|||
|
[#37]: https://github.com/rust-random/getrandom/issues/37
|
|||
|
|
|||
|
## [0.1.3] - 2019-05-15
|
|||
|
- Update for `wasm32-unknown-wasi` being renamed to `wasm32-wasi`, and for
|
|||
|
WASI being categorized as an OS.
|
|||
|
|
|||
|
## [0.1.2] - 2019-04-06
|
|||
|
- Add support for `wasm32-unknown-wasi` target.
|
|||
|
|
|||
|
## [0.1.1] - 2019-04-05
|
|||
|
- Enable std functionality for CloudABI by default.
|
|||
|
|
|||
|
## [0.1.0] - 2019-03-23
|
|||
|
Publish initial implementation.
|
|||
|
|
|||
|
## [0.0.0] - 2019-01-19
|
|||
|
Publish an empty template library.
|
|||
|
|
|||
|
[0.2.8]: https://github.com/rust-random/getrandom/compare/v0.2.7...v0.2.8
|
|||
|
[0.2.7]: https://github.com/rust-random/getrandom/compare/v0.2.6...v0.2.7
|
|||
|
[0.2.6]: https://github.com/rust-random/getrandom/compare/v0.2.5...v0.2.6
|
|||
|
[0.2.5]: https://github.com/rust-random/getrandom/compare/v0.2.4...v0.2.5
|
|||
|
[0.2.4]: https://github.com/rust-random/getrandom/compare/v0.2.3...v0.2.4
|
|||
|
[0.2.3]: https://github.com/rust-random/getrandom/compare/v0.2.2...v0.2.3
|
|||
|
[0.2.2]: https://github.com/rust-random/getrandom/compare/v0.2.1...v0.2.2
|
|||
|
[0.2.1]: https://github.com/rust-random/getrandom/compare/v0.2.0...v0.2.1
|
|||
|
[0.2.0]: https://github.com/rust-random/getrandom/compare/v0.1.15...v0.2.0
|
|||
|
[0.1.16]: https://github.com/rust-random/getrandom/compare/v0.1.15...v0.1.16
|
|||
|
[0.1.15]: https://github.com/rust-random/getrandom/compare/v0.1.14...v0.1.15
|
|||
|
[0.1.14]: https://github.com/rust-random/getrandom/compare/v0.1.13...v0.1.14
|
|||
|
[0.1.13]: https://github.com/rust-random/getrandom/compare/v0.1.12...v0.1.13
|
|||
|
[0.1.12]: https://github.com/rust-random/getrandom/compare/v0.1.11...v0.1.12
|
|||
|
[0.1.11]: https://github.com/rust-random/getrandom/compare/v0.1.10...v0.1.11
|
|||
|
[0.1.10]: https://github.com/rust-random/getrandom/compare/v0.1.9...v0.1.10
|
|||
|
[0.1.9]: https://github.com/rust-random/getrandom/compare/v0.1.8...v0.1.9
|
|||
|
[0.1.8]: https://github.com/rust-random/getrandom/compare/v0.1.7...v0.1.8
|
|||
|
[0.1.7]: https://github.com/rust-random/getrandom/compare/v0.1.6...v0.1.7
|
|||
|
[0.1.6]: https://github.com/rust-random/getrandom/compare/v0.1.5...v0.1.6
|
|||
|
[0.1.5]: https://github.com/rust-random/getrandom/compare/v0.1.4...v0.1.5
|
|||
|
[0.1.4]: https://github.com/rust-random/getrandom/compare/v0.1.3...v0.1.4
|
|||
|
[0.1.3]: https://github.com/rust-random/getrandom/compare/v0.1.2...v0.1.3
|
|||
|
[0.1.2]: https://github.com/rust-random/getrandom/compare/v0.1.1...v0.1.2
|
|||
|
[0.1.1]: https://github.com/rust-random/getrandom/compare/v0.1.0...v0.1.1
|
|||
|
[0.1.0]: https://github.com/rust-random/getrandom/compare/v0.0.0...v0.1.0
|
|||
|
[0.0.0]: https://github.com/rust-random/getrandom/releases/tag/v0.0.0
|