From 3145af1a0b04d5654f959111c79061c8e7e04272 Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Tue, 8 Jan 2019 10:37:04 +0000 Subject: [PATCH 1/9] Fix #682: move __wbg_shims module into rand_os --- .travis.yml | 2 +- rand_os/src/lib.rs | 55 ++++++++++++++++++++++++++++++++++++++++++++++ src/lib.rs | 55 ---------------------------------------------- 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/.travis.yml b/.travis.yml index c962ab16..f1ece9c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -148,7 +148,7 @@ matrix: #- cargo web test --target wasm32-unknown-emscripten #- cargo web test --nodejs --target wasm32-unknown-emscripten #- cargo build --target wasm32-unknown-unknown # without any features - - cargo build --target wasm32-unknown-unknown --features=rand_os/wasm-bindgen + - cargo build --target wasm32-unknown-unknown --features=wasm-bindgen - cd rand_os && cargo web test --target wasm32-unknown-unknown --features=stdweb - rust: nightly diff --git a/rand_os/src/lib.rs b/rand_os/src/lib.rs index 979392ad..01617db8 100644 --- a/rand_os/src/lib.rs +++ b/rand_os/src/lib.rs @@ -358,3 +358,58 @@ compile_error!("enable either wasm_bindgen or stdweb feature"); target_arch = "wasm32", )))] compile_error!("OS RNG support is not available for this platform"); + +// Due to rustwasm/wasm-bindgen#201 this can't be defined in the inner os +// modules, so hack around it for now and place it at the root. +#[cfg(all(feature = "wasm-bindgen", target_arch = "wasm32"))] +#[doc(hidden)] +#[allow(missing_debug_implementations)] +pub mod __wbg_shims { + + // `extern { type Foo; }` isn't supported on 1.22 syntactically, so use a + // macro to work around that. + macro_rules! rust_122_compat { + ($($t:tt)*) => ($($t)*) + } + + rust_122_compat! { + extern crate wasm_bindgen; + + pub use wasm_bindgen::prelude::*; + + #[wasm_bindgen] + extern "C" { + pub type Function; + #[wasm_bindgen(constructor)] + pub fn new(s: &str) -> Function; + #[wasm_bindgen(method)] + pub fn call(this: &Function, self_: &JsValue) -> JsValue; + + pub type This; + #[wasm_bindgen(method, getter, structural, js_name = self)] + pub fn self_(me: &This) -> JsValue; + #[wasm_bindgen(method, getter, structural)] + pub fn crypto(me: &This) -> JsValue; + + #[derive(Clone, Debug)] + pub type BrowserCrypto; + + // TODO: these `structural` annotations here ideally wouldn't be here to + // avoid a JS shim, but for now with feature detection they're + // unavoidable. + #[wasm_bindgen(method, js_name = getRandomValues, structural, getter)] + pub fn get_random_values_fn(me: &BrowserCrypto) -> JsValue; + #[wasm_bindgen(method, js_name = getRandomValues, structural)] + pub fn get_random_values(me: &BrowserCrypto, buf: &mut [u8]); + + #[wasm_bindgen(js_name = require)] + pub fn node_require(s: &str) -> NodeCrypto; + + #[derive(Clone, Debug)] + pub type NodeCrypto; + + #[wasm_bindgen(method, js_name = randomFillSync, structural)] + pub fn random_fill_sync(me: &NodeCrypto, buf: &mut [u8]); + } + } +} diff --git a/src/lib.rs b/src/lib.rs index 052621ea..2610643f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -712,61 +712,6 @@ pub fn random() -> T where Standard: Distribution { thread_rng().gen() } -// Due to rustwasm/wasm-bindgen#201 this can't be defined in the inner os -// modules, so hack around it for now and place it at the root. -#[cfg(all(feature = "wasm-bindgen", target_arch = "wasm32"))] -#[doc(hidden)] -#[allow(missing_debug_implementations)] -pub mod __wbg_shims { - - // `extern { type Foo; }` isn't supported on 1.22 syntactically, so use a - // macro to work around that. - macro_rules! rust_122_compat { - ($($t:tt)*) => ($($t)*) - } - - rust_122_compat! { - extern crate wasm_bindgen; - - pub use wasm_bindgen::prelude::*; - - #[wasm_bindgen] - extern "C" { - pub type Function; - #[wasm_bindgen(constructor)] - pub fn new(s: &str) -> Function; - #[wasm_bindgen(method)] - pub fn call(this: &Function, self_: &JsValue) -> JsValue; - - pub type This; - #[wasm_bindgen(method, getter, structural, js_name = self)] - pub fn self_(me: &This) -> JsValue; - #[wasm_bindgen(method, getter, structural)] - pub fn crypto(me: &This) -> JsValue; - - #[derive(Clone, Debug)] - pub type BrowserCrypto; - - // TODO: these `structural` annotations here ideally wouldn't be here to - // avoid a JS shim, but for now with feature detection they're - // unavoidable. - #[wasm_bindgen(method, js_name = getRandomValues, structural, getter)] - pub fn get_random_values_fn(me: &BrowserCrypto) -> JsValue; - #[wasm_bindgen(method, js_name = getRandomValues, structural)] - pub fn get_random_values(me: &BrowserCrypto, buf: &mut [u8]); - - #[wasm_bindgen(js_name = require)] - pub fn node_require(s: &str) -> NodeCrypto; - - #[derive(Clone, Debug)] - pub type NodeCrypto; - - #[wasm_bindgen(method, js_name = randomFillSync, structural)] - pub fn random_fill_sync(me: &NodeCrypto, buf: &mut [u8]); - } - } -} - #[cfg(test)] mod test { use rngs::mock::StepRng; From 26c0ca56f8dfab53278cad8ab471e920faf4068e Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Tue, 8 Jan 2019 10:39:57 +0000 Subject: [PATCH 2/9] Bump version number: 0.6.4 --- CHANGELOG.md | 4 ++++ Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 061d1cbd..585c1846 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ A [separate changelog is kept for rand_core](rand_core/CHANGELOG.md). You may also find the [Upgrade Guide](https://rust-random.github.io/book/update.html) useful. +## [0.6.4] - 2019-01-08 +### Fixes +- Move wasm-bindgen shims to correct crate (#682) + ## [0.6.3] - 2019-01-04 ### Fixes - Make the `std` feature require the optional `rand_os` dependency (#675) diff --git a/Cargo.toml b/Cargo.toml index 5e02bccd..8f3c3747 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rand" -version = "0.6.3" +version = "0.6.4" authors = ["The Rand Project Developers", "The Rust Project Developers"] license = "MIT/Apache-2.0" readme = "README.md" From 1d97fa139bfd59d12882b3e8a48a881c1621dbfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 7 Jan 2019 23:46:39 +0300 Subject: [PATCH 3/9] remove winapi feature --- rand_os/Cargo.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rand_os/Cargo.toml b/rand_os/Cargo.toml index af03e3dd..723a49a3 100644 --- a/rand_os/Cargo.toml +++ b/rand_os/Cargo.toml @@ -21,9 +21,8 @@ log = { version = "0.4", optional = true } [target.'cfg(unix)'.dependencies] libc = "0.2" -# TODO: check if all features are required [target.'cfg(windows)'.dependencies] -winapi = { version = "0.3", features = ["minwindef", "ntsecapi", "profileapi", "winnt"] } +winapi = { version = "0.3", features = ["minwindef", "ntsecapi", "winnt"] } [target.'cfg(target_os = "cloudabi")'.dependencies] cloudabi = "0.0.3" From 42ece4f82ae62afa26ae7fbd55f362b0741b4555 Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Tue, 8 Jan 2019 11:12:51 +0000 Subject: [PATCH 4/9] Document and correct usage of new rand_os "feature" --- README.md | 11 +++++-- src/deprecated.rs | 75 +++------------------------------------------ src/lib.rs | 36 ++-------------------- src/rngs/entropy.rs | 54 ++------------------------------ src/rngs/mod.rs | 2 +- 5 files changed, 19 insertions(+), 159 deletions(-) diff --git a/README.md b/README.md index 95970afd..314a57fd 100644 --- a/README.md +++ b/README.md @@ -74,8 +74,15 @@ pinned version of Rustc if you require compatibility with a specific version. ## Crate Features -Rand is built with only the `std` feature enabled by default. The following -optional features are available: +Rand is built with the `std` and `rand_os` features enabled by default: + +- `std` enables functionality dependent on the `std` lib and implies `alloc` + and `rand_os` +- `rand_os` enables the `rand_os` crate, `rngs::OsRng` and enables its usage; + the continued existance of this feature is not guaranteed so users are + encouraged to specify `std` instead + +The following optional features are available: - `alloc` can be used instead of `std` to provide `Vec` and `Box`. - `log` enables some logging via the `log` crate. diff --git a/src/deprecated.rs b/src/deprecated.rs index 76055c14..88eb09fc 100644 --- a/src/deprecated.rs +++ b/src/deprecated.rs @@ -291,45 +291,12 @@ impl SeedableRng for StdRng { impl CryptoRng for StdRng {} -#[cfg(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -)))] +#[cfg(feature="rand_os")] #[derive(Clone, Debug)] #[deprecated(since="0.6.0", note="import with rand::rngs::OsRng instead")] pub struct OsRng(rngs::OsRng); -#[cfg(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -)))] -#[cfg(feature="std")] +#[cfg(feature="rand_os")] impl RngCore for OsRng { #[inline(always)] fn next_u32(&mut self) -> u32 { @@ -352,48 +319,14 @@ impl RngCore for OsRng { } } -#[cfg(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -)))] -#[cfg(feature="std")] +#[cfg(feature="rand_os")] impl OsRng { pub fn new() -> Result { rngs::OsRng::new().map(OsRng) } } -#[cfg(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -)))] -#[cfg(feature="std")] +#[cfg(feature="rand_os")] impl CryptoRng for OsRng {} diff --git a/src/lib.rs b/src/lib.rs index 2610643f..a8fd21c7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -119,23 +119,7 @@ pub mod seq; #[cfg(feature="std")] #[doc(hidden)] pub use deprecated::EntropyRng; #[allow(deprecated)] -#[cfg(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -)))] +#[cfg(feature="rand_os")] #[doc(hidden)] pub use deprecated::OsRng; @@ -152,23 +136,7 @@ pub mod jitter { pub use rngs::TimerError; } #[allow(deprecated)] -#[cfg(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -)))] +#[cfg(feature="rand_os")] #[doc(hidden)] pub mod os { pub use deprecated::OsRng; diff --git a/src/rngs/entropy.rs b/src/rngs/entropy.rs index 8736324a..372b4d75 100644 --- a/src/rngs/entropy.rs +++ b/src/rngs/entropy.rs @@ -191,43 +191,11 @@ impl EntropySource for NoSource { } -#[cfg(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -)))] +#[cfg(feature="rand_os")] #[derive(Clone, Debug)] pub struct Os(rngs::OsRng); -#[cfg(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -)))] +#[cfg(feature="rand_os")] impl EntropySource for Os { fn new_and_fill(dest: &mut [u8]) -> Result { let mut rng = rngs::OsRng::new()?; @@ -240,23 +208,7 @@ impl EntropySource for Os { } } -#[cfg(not(all(feature="std", - any(target_os = "linux", target_os = "android", - target_os = "netbsd", - target_os = "dragonfly", - target_os = "haiku", - target_os = "emscripten", - target_os = "solaris", - target_os = "cloudabi", - target_os = "macos", target_os = "ios", - target_os = "freebsd", - target_os = "openbsd", target_os = "bitrig", - target_os = "redox", - target_os = "fuchsia", - windows, - all(target_arch = "wasm32", feature = "stdweb"), - all(target_arch = "wasm32", feature = "wasm-bindgen"), -))))] +#[cfg(not(feature="std"))] type Os = NoSource; diff --git a/src/rngs/mod.rs b/src/rngs/mod.rs index 528e24d4..847fc943 100644 --- a/src/rngs/mod.rs +++ b/src/rngs/mod.rs @@ -178,5 +178,5 @@ pub use self::small::SmallRng; pub use self::std::StdRng; #[cfg(feature="std")] pub use self::thread::ThreadRng; -#[cfg(feature="std")] +#[cfg(feature="rand_os")] pub use rand_os::OsRng; From f7bfa1a9a5c03739ec46f1a17e099f9d74d4cfb2 Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Tue, 8 Jan 2019 11:31:13 +0000 Subject: [PATCH 5/9] rand_os: use run-time failure on unsupported WASM platforms --- rand_os/src/lib.rs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/rand_os/src/lib.rs b/rand_os/src/lib.rs index 01617db8..5b07524c 100644 --- a/rand_os/src/lib.rs +++ b/rand_os/src/lib.rs @@ -330,13 +330,33 @@ mod_use!( wasm32_stdweb ); +/// Per #678 we use run-time failure where WASM bindings are missing #[cfg(all( target_arch = "wasm32", not(target_os = "emscripten"), not(feature = "wasm-bindgen"), not(feature = "stdweb"), ))] -compile_error!("enable either wasm_bindgen or stdweb feature"); +mod imp { + use rand_core::{Error, ErrorKind}; + use super::OsRngImpl; + + #[derive(Clone, Debug)] + pub struct OsRng; + + impl OsRngImpl for OsRng { + fn new() -> Result { + Err(Error::new(ErrorKind::Unavailable, + "OsRng: support for wasm32 requires emscripten, stdweb or wasm-bindgen")) + } + + fn fill_chunk(&mut self, _dest: &mut [u8]) -> Result<(), Error> { + unimplemented!() + } + + fn method_str(&self) -> &'static str { unimplemented!() } + } +} #[cfg(not(any( target_os = "android", From 94efb409ac15c5bca9572c7623a12d12ddeb8cc0 Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Tue, 8 Jan 2019 11:31:21 +0000 Subject: [PATCH 6/9] Remove remaining WASM remnants from rand to rand_os --- rand_os/src/lib.rs | 4 ++-- src/lib.rs | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/rand_os/src/lib.rs b/rand_os/src/lib.rs index 5b07524c..752303a2 100644 --- a/rand_os/src/lib.rs +++ b/rand_os/src/lib.rs @@ -126,8 +126,8 @@ #![deny(missing_docs)] #![deny(missing_debug_implementations)] #![doc(test(attr(allow(unused_variables), deny(warnings))))] -// for stdweb -#![recursion_limit="128"] + +#![cfg_attr(feature = "stdweb", recursion_limit="128")] pub extern crate rand_core; #[cfg(feature = "log")] diff --git a/src/lib.rs b/src/lib.rs index a8fd21c7..ca231b5d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -58,17 +58,12 @@ #![cfg_attr(not(feature="std"), no_std)] #![cfg_attr(all(feature="alloc", not(feature="std")), feature(alloc))] #![cfg_attr(all(feature="simd_support", feature="nightly"), feature(stdsimd))] -#![cfg_attr(feature = "stdweb", recursion_limit="128")] #[cfg(feature = "std")] extern crate core; #[cfg(all(feature = "alloc", not(feature="std")))] #[macro_use] extern crate alloc; #[cfg(feature="simd_support")] extern crate packed_simd; -#[cfg(all(target_arch="wasm32", not(target_os="emscripten"), feature="stdweb"))] -#[macro_use] -extern crate stdweb; - #[cfg(feature = "rand_os")] extern crate rand_os; From 1ad20a7f2537ac347d6983bd319f3f8642d271c8 Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Tue, 8 Jan 2019 12:25:28 +0000 Subject: [PATCH 7/9] Generalise WASM tests Remove two exceptions/special cases --- .travis.yml | 2 +- src/rngs/thread.rs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index f1ece9c2..6a32e3be 100644 --- a/.travis.yml +++ b/.travis.yml @@ -149,7 +149,7 @@ matrix: #- cargo web test --nodejs --target wasm32-unknown-emscripten #- cargo build --target wasm32-unknown-unknown # without any features - cargo build --target wasm32-unknown-unknown --features=wasm-bindgen - - cd rand_os && cargo web test --target wasm32-unknown-unknown --features=stdweb + - cargo web test --target wasm32-unknown-unknown --features=stdweb - rust: nightly env: DESCRIPTION="cross-platform builder (doesn't run tests)" diff --git a/src/rngs/thread.rs b/src/rngs/thread.rs index be77ddfa..7977d858 100644 --- a/src/rngs/thread.rs +++ b/src/rngs/thread.rs @@ -132,7 +132,6 @@ impl CryptoRng for ThreadRng {} #[cfg(test)] mod test { #[test] - #[cfg(not(feature="stdweb"))] fn test_thread_rng() { use Rng; let mut r = ::thread_rng(); From e1e400512ce5854eb7954bded461e9729251015c Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Tue, 8 Jan 2019 12:29:42 +0000 Subject: [PATCH 8/9] Update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 585c1846..6aa0a247 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,8 @@ You may also find the [Upgrade Guide](https://rust-random.github.io/book/update. ## [0.6.4] - 2019-01-08 ### Fixes -- Move wasm-bindgen shims to correct crate (#682) +- Move wasm-bindgen shims to correct crate (#686) +- Make `wasm32-unknown-unknown` compile but fail at run-time if missing bindingsg (#686) ## [0.6.3] - 2019-01-04 ### Fixes From 1d07496d87c8df19807d9bd44ef6b77c2adab6c8 Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Tue, 8 Jan 2019 12:42:31 +0000 Subject: [PATCH 9/9] Fix changelogs and bump rand_os version number --- CHANGELOG.md | 3 --- rand_os/CHANGELOG.md | 5 +++++ rand_os/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf701f4c..6aa0a247 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,6 @@ You may also find the [Upgrade Guide](https://rust-random.github.io/book/update. ## [0.6.4] - 2019-01-08 -### Additions -- Add support for x86_64-fortanix-unknown-sgx target (#670) - ### Fixes - Move wasm-bindgen shims to correct crate (#686) - Make `wasm32-unknown-unknown` compile but fail at run-time if missing bindingsg (#686) diff --git a/rand_os/CHANGELOG.md b/rand_os/CHANGELOG.md index b23c9904..459f7bd0 100644 --- a/rand_os/CHANGELOG.md +++ b/rand_os/CHANGELOG.md @@ -4,5 +4,10 @@ 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.1.1] - 2019-01-08 +### Additions +- Add support for x86_64-fortanix-unknown-sgx target (#670) + ## [0.1.0] - 2019-01-04 Initial release. diff --git a/rand_os/Cargo.toml b/rand_os/Cargo.toml index 3adca38a..2f9224a0 100644 --- a/rand_os/Cargo.toml +++ b/rand_os/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rand_os" -version = "0.1.0" +version = "0.1.1" authors = ["The Rand Project Developers"] license = "MIT/Apache-2.0" readme = "README.md"