1# Changelog 2All notable changes to this project will be documented in this file. 3 4The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) 5and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 7## [0.2.2] - 2021-01-19 8### Changed 9- Forward `rustc-dep-of-std` to dependencies. [#198] 10- Highlight feature-dependend functionality in documentation using the `doc_cfg` feature. [#200] 11 12[#198]: https://github.com/rust-random/getrandom/pull/198 13[#200]: https://github.com/rust-random/getrandom/pull/200 14 15## [0.2.1] - 2021-01-03 16### Changed 17- Update `cfg-if` to v1.0. [#166] 18- Update `wasi` to v0.10. [#167] 19 20### Fixed 21- Multithreaded WASM support. [#165] 22 23### Removed 24- Windows XP support. [#177] 25- Direct `stdweb` support. [#178] 26- CloudABI support. [#184] 27 28[#165]: https://github.com/rust-random/getrandom/pull/165 29[#166]: https://github.com/rust-random/getrandom/pull/166 30[#167]: https://github.com/rust-random/getrandom/pull/167 31[#177]: https://github.com/rust-random/getrandom/pull/177 32[#178]: https://github.com/rust-random/getrandom/pull/178 33[#184]: https://github.com/rust-random/getrandom/pull/184 34 35## [0.2.0] - 2020-09-10 36### Features for using getrandom on unsupported targets 37 38The following (off by default) Cargo features have been added: 39- `"rdrand"` - use the RDRAND instruction on `no_std` `x86`/`x86_64` targets [#133] 40- `"js"` - use JavaScript calls on `wasm32-unknown-unknown` [#149] 41 - Replaces the `stdweb` and `wasm-bindgen` features (which are removed) 42- `"custom"` - allows a user to specify a custom implementation [#109] 43 44### Breaking Changes 45- Unsupported targets no longer compile [#107] 46- Change/Add `Error` constants [#120] 47- Only impl `std` traits when the `"std"` Cargo feature is specified [#106] 48- Remove offical support for Hermit, L4Re, and UEFI [#133] 49- Remove optional `"log"` dependancy [#131] 50- Update minimum supported Linux kernel to 2.6.32 [#153] 51- Update MSRV to 1.34 [#159] 52 53[#106]: https://github.com/rust-random/getrandom/pull/106 54[#107]: https://github.com/rust-random/getrandom/pull/107 55[#109]: https://github.com/rust-random/getrandom/pull/109 56[#120]: https://github.com/rust-random/getrandom/pull/120 57[#131]: https://github.com/rust-random/getrandom/pull/131 58[#133]: https://github.com/rust-random/getrandom/pull/133 59[#149]: https://github.com/rust-random/getrandom/pull/149 60[#153]: https://github.com/rust-random/getrandom/pull/153 61[#159]: https://github.com/rust-random/getrandom/pull/159 62 63## [0.1.16] - 2020-12-31 64### Changed 65- Update `cfg-if` to v1.0. [#173] 66- Implement `std::error::Error` for the `Error` type on additional targets. [#169] 67 68### Fixed 69- Multithreaded WASM support. [#171] 70 71[#173]: https://github.com/rust-random/getrandom/pull/173 72[#171]: https://github.com/rust-random/getrandom/pull/171 73[#169]: https://github.com/rust-random/getrandom/pull/169 74 75## [0.1.15] - 2020-09-10 76### Changed 77- Added support for Internet Explorer 11 [#139] 78- Fix Webpack require warning with `wasm-bindgen` [#137] 79 80[#137]: https://github.com/rust-random/getrandom/pull/137 81[#139]: https://github.com/rust-random/getrandom/pull/139 82 83## [0.1.14] - 2020-01-07 84### Changed 85- Remove use of spin-locks in the `use_file` module. [#125] 86- Update `wasi` to v0.9. [#126] 87- Do not read errno value on DragonFlyBSD to fix compilation failure. [#129] 88 89[#125]: https://github.com/rust-random/getrandom/pull/125 90[#126]: https://github.com/rust-random/getrandom/pull/126 91[#129]: https://github.com/rust-random/getrandom/pull/129 92 93## [0.1.13] - 2019-08-25 94### Added 95- VxWorks targets support. [#86] 96 97### Changed 98- If zero-length slice is passed to the `getrandom` function, always return 99`Ok(())` immediately without doing any calls to the underlying operating 100system. [#104] 101- Use the `kern.arandom` sysctl on NetBSD. [#115] 102 103### Fixed 104- Bump `cfg-if` minimum version from 0.1.0 to 0.1.2. [#112] 105- Typos and bad doc links. [#117] 106 107[#86]: https://github.com/rust-random/getrandom/pull/86 108[#104]: https://github.com/rust-random/getrandom/pull/104 109[#112]: https://github.com/rust-random/getrandom/pull/112 110[#115]: https://github.com/rust-random/getrandom/pull/115 111[#117]: https://github.com/rust-random/getrandom/pull/117 112 113## [0.1.12] - 2019-08-18 114### Changed 115- Update wasi dependency from v0.5 to v0.7. [#100] 116 117[#100]: https://github.com/rust-random/getrandom/pull/100 118 119## [0.1.11] - 2019-08-25 120### Fixed 121- Implement `std`-dependent traits for selected targets even if `std` 122feature is disabled. (backward compatibility with v0.1.8) [#96] 123 124[#96]: https://github.com/rust-random/getrandom/pull/96 125 126## [0.1.10] - 2019-08-18 [YANKED] 127### Changed 128- Use the dummy implementation on `wasm32-unknown-unknown` even with the 129disabled `dummy` feature. [#90] 130 131### Fixed 132- Fix CSP error for `wasm-bindgen`. [#92] 133 134[#90]: https://github.com/rust-random/getrandom/pull/90 135[#92]: https://github.com/rust-random/getrandom/pull/92 136 137## [0.1.9] - 2019-08-14 [YANKED] 138### Changed 139- Remove `std` dependency for opening and reading files. [#58] 140- Use `wasi` isntead of `libc` on WASI target. [#64] 141- By default emit a compile-time error when built for an unsupported target. 142This behaviour can be disabled by using the `dummy` feature. [#71] 143 144### Added 145- Add support for UWP targets. [#69] 146- Add unstable `rustc-dep-of-std` feature. [#78] 147 148[#58]: https://github.com/rust-random/getrandom/pull/58 149[#64]: https://github.com/rust-random/getrandom/pull/64 150[#69]: https://github.com/rust-random/getrandom/pull/69 151[#71]: https://github.com/rust-random/getrandom/pull/71 152[#78]: https://github.com/rust-random/getrandom/pull/78 153 154## [0.1.8] - 2019-07-29 155### Changed 156- Explicitly specify types to arguments of 'libc::syscall'. [#74] 157 158[#74]: https://github.com/rust-random/getrandom/pull/74 159 160## [0.1.7] - 2019-07-29 161### Added 162- Support for hermit and l4re. [#61] 163- `Error::raw_os_error` method, `Error::INTERNAL_START` and 164`Error::CUSTOM_START` constants. Use `libc` for retrieving OS error descriptions. [#54] 165 166### Changed 167- Remove `lazy_static` dependency and use custom structures for lock-free 168initialization. [#51] [#52] 169- Try `getrandom()` first on FreeBSD. [#57] 170 171### Removed 172- Bitrig support. [#56] 173 174### Deprecated 175- `Error::UNKNOWN`, `Error::UNAVAILABLE`. [#54] 176 177[#51]: https://github.com/rust-random/getrandom/pull/51 178[#52]: https://github.com/rust-random/getrandom/pull/52 179[#54]: https://github.com/rust-random/getrandom/pull/54 180[#56]: https://github.com/rust-random/getrandom/pull/56 181[#57]: https://github.com/rust-random/getrandom/pull/57 182[#61]: https://github.com/rust-random/getrandom/pull/61 183 184## [0.1.6] - 2019-06-30 185### Changed 186- Minor change of RDRAND AMD bug handling. [#48] 187 188[#48]: https://github.com/rust-random/getrandom/pull/48 189 190## [0.1.5] - 2019-06-29 191### Fixed 192- Use shared `File` instead of shared file descriptor. [#44] 193- Workaround for RDRAND hardware bug present on some AMD CPUs. [#43] 194 195### Changed 196- Try `getentropy` and then fallback to `/dev/random` on macOS. [#38] 197 198[#38]: https://github.com/rust-random/getrandom/issues/38 199[#43]: https://github.com/rust-random/getrandom/pull/43 200[#44]: https://github.com/rust-random/getrandom/issues/44 201 202## [0.1.4] - 2019-06-28 203### Added 204- Add support for `x86_64-unknown-uefi` target by using RDRAND with CPUID 205feature detection. [#30] 206 207### Fixed 208- Fix long buffer issues on Windows and Linux. [#31] [#32] 209- Check `EPERM` in addition to `ENOSYS` on Linux. [#37] 210 211### Changed 212- Improve efficiency by sharing file descriptor across threads. [#13] 213- Remove `cloudabi`, `winapi`, and `fuchsia-cprng` dependencies. [#40] 214- Improve RDRAND implementation. [#24] 215- Don't block during syscall detection on Linux. [#26] 216- Increase consistency with libc implementation on FreeBSD. [#36] 217- Apply `rustfmt`. [#39] 218 219[#30]: https://github.com/rust-random/getrandom/pull/30 220[#13]: https://github.com/rust-random/getrandom/issues/13 221[#40]: https://github.com/rust-random/getrandom/pull/40 222[#26]: https://github.com/rust-random/getrandom/pull/26 223[#24]: https://github.com/rust-random/getrandom/pull/24 224[#39]: https://github.com/rust-random/getrandom/pull/39 225[#36]: https://github.com/rust-random/getrandom/pull/36 226[#31]: https://github.com/rust-random/getrandom/issues/31 227[#32]: https://github.com/rust-random/getrandom/issues/32 228[#37]: https://github.com/rust-random/getrandom/issues/37 229 230## [0.1.3] - 2019-05-15 231- Update for `wasm32-unknown-wasi` being renamed to `wasm32-wasi`, and for 232 WASI being categorized as an OS. 233 234## [0.1.2] - 2019-04-06 235- Add support for `wasm32-unknown-wasi` target. 236 237## [0.1.1] - 2019-04-05 238- Enable std functionality for CloudABI by default. 239 240## [0.1.0] - 2019-03-23 241Publish initial implementation. 242 243## [0.0.0] - 2019-01-19 244Publish an empty template library. 245