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.1.14] - 2020-01-07
8### Changed
9- Remove use of spin-locks in the `use_file` module. [#125]
10- Update `wasi` to v0.9. [#126]
11- Do not read errno value on DragonFlyBSD to fix compilation failure. [#129]
12
13[#125]: https://github.com/rust-random/getrandom/pull/125
14[#126]: https://github.com/rust-random/getrandom/pull/126
15[#129]: https://github.com/rust-random/getrandom/pull/129
16
17## [0.1.13] - 2019-08-25
18### Added
19- VxWorks targets support. [#86]
20
21### Changed
22- If zero-length slice is passed to the `getrandom` function, always return
23`Ok(())` immediately without doing any calls to the underlying operating
24system. [#104]
25- Use the `kern.arandom` sysctl on NetBSD. [#115]
26
27### Fixed
28- Bump `cfg-if` minimum version from 0.1.0 to 0.1.2. [#112]
29- Typos and bad doc links. [#117]
30
31[#86]: https://github.com/rust-random/getrandom/pull/86
32[#104]: https://github.com/rust-random/getrandom/pull/104
33[#112]: https://github.com/rust-random/getrandom/pull/112
34[#115]: https://github.com/rust-random/getrandom/pull/115
35[#117]: https://github.com/rust-random/getrandom/pull/117
36
37## [0.1.12] - 2019-08-18
38### Changed
39- Update wasi dependency from v0.5 to v0.7. [#100]
40
41[#100]: https://github.com/rust-random/getrandom/pull/100
42
43## [0.1.11] - 2019-08-25
44### Fixed
45- Implement `std`-dependent traits for selected targets even if `std`
46feature is disabled. (backward compatibility with v0.1.8) [#96]
47
48[#96]: https://github.com/rust-random/getrandom/pull/96
49
50## [0.1.10] - 2019-08-18 [YANKED]
51### Changed
52- Use the dummy implementation on `wasm32-unknown-unknown` even with the
53disabled `dummy` feature. [#90]
54
55### Fixed
56- Fix CSP error for `wasm-bindgen`. [#92]
57
58[#90]: https://github.com/rust-random/getrandom/pull/90
59[#92]: https://github.com/rust-random/getrandom/pull/92
60
61## [0.1.9] - 2019-08-14 [YANKED]
62### Changed
63- Remove `std` dependency for opening and reading files. [#58]
64- Use `wasi` isntead of `libc` on WASI target. [#64]
65- By default emit a compile-time error when built for an unsupported target.
66This behaviour can be disabled by using the `dummy` feature. [#71]
67
68### Added
69- Add support for UWP targets. [#69]
70- Add unstable `rustc-dep-of-std` feature. [#78]
71
72[#58]: https://github.com/rust-random/getrandom/pull/58
73[#64]: https://github.com/rust-random/getrandom/pull/64
74[#69]: https://github.com/rust-random/getrandom/pull/69
75[#71]: https://github.com/rust-random/getrandom/pull/71
76[#78]: https://github.com/rust-random/getrandom/pull/78
77
78## [0.1.8] - 2019-07-29
79### Changed
80- Explicitly specify types to arguments of 'libc::syscall'. [#74]
81
82[#74]: https://github.com/rust-random/getrandom/pull/74
83
84## [0.1.7] - 2019-07-29
85### Added
86- Support for hermit and l4re. [#61]
87- `Error::raw_os_error` method, `Error::INTERNAL_START` and
88`Error::CUSTOM_START` constants. Use `libc` for retrieving OS error descriptions. [#54]
89
90### Changed
91- Remove `lazy_static` dependency and use custom structures for lock-free
92initialization. [#51] [#52]
93- Try `getrandom()` first on FreeBSD. [#57]
94
95### Removed
96-  Bitrig support. [#56]
97
98### Deprecated
99- `Error::UNKNOWN`, `Error::UNAVAILABLE`. [#54]
100
101[#51]: https://github.com/rust-random/getrandom/pull/51
102[#52]: https://github.com/rust-random/getrandom/pull/52
103[#54]: https://github.com/rust-random/getrandom/pull/54
104[#56]: https://github.com/rust-random/getrandom/pull/56
105[#57]: https://github.com/rust-random/getrandom/pull/57
106[#61]: https://github.com/rust-random/getrandom/pull/61
107
108## [0.1.6] - 2019-06-30
109### Changed
110- Minor change of RDRAND AMD bug handling. [#48]
111
112[#48]: https://github.com/rust-random/getrandom/pull/48
113
114## [0.1.5] - 2019-06-29
115### Fixed
116- Use shared `File` instead of shared file descriptor. [#44]
117- Workaround for RDRAND hardware bug present on some AMD CPUs. [#43]
118
119### Changed
120- Try `getentropy` and then fallback to `/dev/random` on macOS. [#38]
121
122[#38]: https://github.com/rust-random/getrandom/issues/38
123[#43]: https://github.com/rust-random/getrandom/pull/43
124[#44]: https://github.com/rust-random/getrandom/issues/44
125
126## [0.1.4] - 2019-06-28
127### Added
128- Add support for `x86_64-unknown-uefi` target by using RDRAND with CPUID
129feature detection. [#30]
130
131### Fixed
132- Fix long buffer issues on Windows and Linux. [#31] [#32]
133- Check `EPERM` in addition to `ENOSYS` on Linux. [#37]
134
135### Changed
136- Improve efficiency by sharing file descriptor across threads. [#13]
137- Remove `cloudabi`, `winapi`, and `fuchsia-cprng` dependencies. [#40]
138- Improve RDRAND implementation. [#24]
139- Don't block during syscall detection on Linux. [#26]
140- Increase consistency with libc implementation on FreeBSD. [#36]
141- Apply `rustfmt`. [#39]
142
143[#30]: https://github.com/rust-random/getrandom/pull/30
144[#13]: https://github.com/rust-random/getrandom/issues/13
145[#40]: https://github.com/rust-random/getrandom/pull/40
146[#26]: https://github.com/rust-random/getrandom/pull/26
147[#24]: https://github.com/rust-random/getrandom/pull/24
148[#39]: https://github.com/rust-random/getrandom/pull/39
149[#36]: https://github.com/rust-random/getrandom/pull/36
150[#31]: https://github.com/rust-random/getrandom/issues/31
151[#32]: https://github.com/rust-random/getrandom/issues/32
152[#37]: https://github.com/rust-random/getrandom/issues/37
153
154## [0.1.3] - 2019-05-15
155- Update for `wasm32-unknown-wasi` being renamed to `wasm32-wasi`, and for
156  WASI being categorized as an OS.
157
158## [0.1.2] - 2019-04-06
159- Add support for `wasm32-unknown-wasi` target.
160
161## [0.1.1] - 2019-04-05
162- Enable std functionality for CloudABI by default.
163
164## [0.1.0] - 2019-03-23
165Publish initial implementation.
166
167## [0.0.0] - 2019-01-19
168Publish an empty template library.
169