Merge pull request #672 from dhardy/master

Prepare 0.6.2 release + rand_os and rand_xoshiro initial releases + rand_chacha and rand_xorshift patchs
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6fdacc3..62aa946 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,8 +9,20 @@
 You may also find the [Upgrade Guide](https://rust-random.github.io/book/update.html) useful.
 
 
-## [0.6.2] - Unreleased
-- Disable `i128` and `u128` if the `target_os` is `emscripten`.
+## [0.6.2] - 2019-01-04
+### Additions
+- Add `Default` for `ThreadRng` (#657)
+- Move `rngs::OsRng` to `rand_os` sub-crate; clean up code; use as dependency (#643) ##BLOCKER##
+- Add `rand_xoshiro` sub-crate, plus benchmarks (#642, #668)
+
+### Fixes
+- Fix bias in `UniformInt::sample_single` (#662)
+- Use `autocfg` instead of `rustc_version` for rustc version detection (#664)
+- Disable `i128` and `u128` if the `target_os` is `emscripten` (#671: work-around Emscripten limitation)
+- CI fixes (#660, #671)
+
+### Optimisations
+- Optimise memory usage of `UnitCircle` and `UnitSphereSurface` distributions (no PR)
 
 ## [0.6.1] - 2018-11-22
 - Support sampling `Duration` also for `no_std` (only since Rust 1.25) (#649)
diff --git a/Cargo.toml b/Cargo.toml
index 7b18500..59950fe 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "rand"
-version = "0.6.1"
+version = "0.6.2"
 authors = ["The Rand Project Developers", "The Rust Project Developers"]
 license = "MIT/Apache-2.0"
 readme = "README.md"
diff --git a/rand_chacha/CHANGELOG.md b/rand_chacha/CHANGELOG.md
index d0c4a2fc..a1979f6 100644
--- a/rand_chacha/CHANGELOG.md
+++ b/rand_chacha/CHANGELOG.md
@@ -4,5 +4,9 @@
 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-04
+- Disable `i128` and `u128` if the `target_os` is `emscripten` (#671: work-around Emscripten limitation)
+- Update readme and doc links
+
 ## [0.1.0] - 2018-10-17
 - Pulled out of the Rand crate
diff --git a/rand_chacha/Cargo.toml b/rand_chacha/Cargo.toml
index aa8f88f..028428c 100644
--- a/rand_chacha/Cargo.toml
+++ b/rand_chacha/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "rand_chacha"
-version = "0.1.0"
+version = "0.1.1"
 authors = ["The Rand Project Developers", "The Rust Project Developers"]
 license = "MIT/Apache-2.0"
 readme = "README.md"
diff --git a/rand_os/CHANGELOG.md b/rand_os/CHANGELOG.md
index 6b69099..b23c990 100644
--- a/rand_os/CHANGELOG.md
+++ b/rand_os/CHANGELOG.md
@@ -4,5 +4,5 @@
 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.0] - 2018-11-14
+## [0.1.0] - 2019-01-04
 Initial release.
diff --git a/rand_os/Cargo.toml b/rand_os/Cargo.toml
index 393230e..af03e3d 100644
--- a/rand_os/Cargo.toml
+++ b/rand_os/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "rand_os"
-version = "0.1.0" # NB: When modifying, also modify html_root_url in lib.rs
+version = "0.1.0"
 authors = ["The Rand Project Developers"]
 license = "MIT/Apache-2.0"
 readme = "README.md"
diff --git a/rand_os/README.md b/rand_os/README.md
index e58daa1..4f48b63 100644
--- a/rand_os/README.md
+++ b/rand_os/README.md
@@ -3,9 +3,10 @@
 [![Build Status](https://travis-ci.org/rust-random/rand.svg?branch=master)](https://travis-ci.org/rust-random/rand)
 [![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand)
 [![Latest version](https://img.shields.io/crates/v/rand_os.svg)](https://crates.io/crates/rand_os)
-[![Documentation](https://docs.rs/rand_os/badge.svg)](https://docs.rs/rand_os)
-[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-yellow.svg)](https://github.com/rust-random/rand#rust-version-requirements)
-[![License](https://img.shields.io/crates/l/rand_os.svg)](https://github.com/rust-random/rand/tree/master/rand_os#license)
+[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/)
+[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_os)
+[![API](https://docs.rs/rand_os/badge.svg)](https://docs.rs/rand_os)
+[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements)
 
 A random number generator that retrieves randomness straight from the
 operating system.
@@ -17,11 +18,11 @@
 entropy source. Unlike other Rand crates, this crate does not support `no_std`
 (handling this gracefully is a current discussion topic).
 
-Documentation:
-[master branch](https://rust-random.github.io/rand/rand_os/index.html),
-[by release](https://docs.rs/rand_os)
+Links:
 
-[Changelog](CHANGELOG.md)
+-   [API documentation (master)](https://rust-random.github.io/rand/rand_os)
+-   [API documentation (docs.rs)](https://docs.rs/rand_os)
+-   [Changelog](CHANGELOG.md)
 
 ## License
 
diff --git a/rand_os/src/cloudabi.rs b/rand_os/src/cloudabi.rs
index dd5272c..8b96a2b 100644
--- a/rand_os/src/cloudabi.rs
+++ b/rand_os/src/cloudabi.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for CloudABI
+
 extern crate cloudabi;
 
 use std::io;
diff --git a/rand_os/src/dragonfly_haiku_emscripten.rs b/rand_os/src/dragonfly_haiku_emscripten.rs
index 8e4993a..6132d7a 100644
--- a/rand_os/src/dragonfly_haiku_emscripten.rs
+++ b/rand_os/src/dragonfly_haiku_emscripten.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for DragonFly / Haiku / Emscripten
+
 use rand_core::Error;
 use super::random_device;
 use super::OsRngImpl;
diff --git a/rand_os/src/freebsd.rs b/rand_os/src/freebsd.rs
index c86d7f7..6b8e672 100644
--- a/rand_os/src/freebsd.rs
+++ b/rand_os/src/freebsd.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for FreeBSD
+
 extern crate libc;
 
 use rand_core::{Error, ErrorKind};
@@ -32,4 +42,4 @@
     fn max_chunk_size(&self) -> usize { 256 }
 
     fn method_str(&self) -> &'static str { "kern.arandom" }
-}
\ No newline at end of file
+}
diff --git a/rand_os/src/fuchsia.rs b/rand_os/src/fuchsia.rs
index f0a038d..7063ff6 100644
--- a/rand_os/src/fuchsia.rs
+++ b/rand_os/src/fuchsia.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for Fuchsia Zircon
+
 extern crate fuchsia_zircon;
 
 use rand_core::{Error, ErrorKind};
diff --git a/rand_os/src/lib.rs b/rand_os/src/lib.rs
index 736fb5c..979392a 100644
--- a/rand_os/src/lib.rs
+++ b/rand_os/src/lib.rs
@@ -122,7 +122,7 @@
 //! [16]: #support-for-webassembly-and-amsjs
 #![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png",
        html_favicon_url = "https://www.rust-lang.org/favicon.ico",
-       html_root_url = "https://docs.rs/rand_os/0.1.0")]
+       html_root_url = "https://rust-random.github.io/rand/")]
 #![deny(missing_docs)]
 #![deny(missing_debug_implementations)]
 #![doc(test(attr(allow(unused_variables), deny(warnings))))]
diff --git a/rand_os/src/linux_android.rs b/rand_os/src/linux_android.rs
index 4f9cca2..9622f93 100644
--- a/rand_os/src/linux_android.rs
+++ b/rand_os/src/linux_android.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for Linux / Android
+
 extern crate libc;
 
 use rand_core::{Error, ErrorKind};
@@ -169,4 +179,4 @@
     });
 
     AVAILABLE.load(Ordering::Relaxed)
-}
\ No newline at end of file
+}
diff --git a/rand_os/src/macos.rs b/rand_os/src/macos.rs
index d167eee..6c67251 100644
--- a/rand_os/src/macos.rs
+++ b/rand_os/src/macos.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for MacOS / iOS
+
 extern crate libc;
 
 use rand_core::{Error, ErrorKind};
@@ -40,4 +50,4 @@
     }
 
     fn method_str(&self) -> &'static str { "SecRandomCopyBytes" }
-}
\ No newline at end of file
+}
diff --git a/rand_os/src/netbsd.rs b/rand_os/src/netbsd.rs
index 9b5779e..cf4b6c7 100644
--- a/rand_os/src/netbsd.rs
+++ b/rand_os/src/netbsd.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for NetBSD
+
 use rand_core::Error;
 use super::random_device;
 use super::OsRngImpl;
@@ -41,4 +51,4 @@
     }
 
     fn method_str(&self) -> &'static str { "/dev/urandom" }
-}
\ No newline at end of file
+}
diff --git a/rand_os/src/openbsd_bitrig.rs b/rand_os/src/openbsd_bitrig.rs
index 4d724f6..c9b35a6 100644
--- a/rand_os/src/openbsd_bitrig.rs
+++ b/rand_os/src/openbsd_bitrig.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for OpenBSD / Bitrig
+
 extern crate libc;
 
 use rand_core::{Error, ErrorKind};
diff --git a/rand_os/src/random_device.rs b/rand_os/src/random_device.rs
index c8a2c30..5da9194 100644
--- a/rand_os/src/random_device.rs
+++ b/rand_os/src/random_device.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 //! Helper functions to read from a random device such as `/dev/urandom`.
 //!
 //! All instances use a single internal file handle, to prevent possible
@@ -59,4 +67,4 @@
         _ => Error::with_cause(ErrorKind::Unavailable,
                 "error while opening random device", err)
     }
-}
\ No newline at end of file
+}
diff --git a/rand_os/src/redox.rs b/rand_os/src/redox.rs
index b33fb1f..36fae26 100644
--- a/rand_os/src/redox.rs
+++ b/rand_os/src/redox.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for Redox
+
 use rand_core::Error;
 use super::random_device;
 use super::OsRngImpl;
diff --git a/rand_os/src/solaris.rs b/rand_os/src/solaris.rs
index 93a5a80..e8965fd 100644
--- a/rand_os/src/solaris.rs
+++ b/rand_os/src/solaris.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for the Solaris family
+//!
 //! Read from `/dev/random`, with chunks of limited size (1040 bytes).
 //! `/dev/random` uses the Hash_DRBG with SHA512 algorithm from NIST SP 800-90A.
 //! `/dev/urandom` uses the FIPS 186-2 algorithm, which is considered less
diff --git a/rand_os/src/wasm32_bindgen.rs b/rand_os/src/wasm32_bindgen.rs
index bb93887..8e7c979 100644
--- a/rand_os/src/wasm32_bindgen.rs
+++ b/rand_os/src/wasm32_bindgen.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for WASM via wasm-bindgen
+
 use rand_core::{Error, ErrorKind};
 use super::OsRngImpl;
 
@@ -112,4 +122,4 @@
             OsRng::Browser(_) => "crypto.getRandomValues",
         }
     }
-}
\ No newline at end of file
+}
diff --git a/rand_os/src/wasm32_stdweb.rs b/rand_os/src/wasm32_stdweb.rs
index 82c5f3c..3be0ce6 100644
--- a/rand_os/src/wasm32_stdweb.rs
+++ b/rand_os/src/wasm32_stdweb.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for WASM via stdweb
+
 use std::mem;
 use stdweb::unstable::TryInto;
 use stdweb::web::error::Error as WebError;
@@ -94,4 +104,4 @@
             OsRngMethod::Node => "crypto.randomBytes",
         }
     }
-}
\ No newline at end of file
+}
diff --git a/rand_os/src/windows.rs b/rand_os/src/windows.rs
index be0ccc9..6b06c7a 100644
--- a/rand_os/src/windows.rs
+++ b/rand_os/src/windows.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Implementation for Windows
+
 extern crate winapi;
 
 use rand_core::{Error, ErrorKind};
diff --git a/rand_pcg/CHANGELOG.md b/rand_pcg/CHANGELOG.md
index d37408d..6f793cf 100644
--- a/rand_pcg/CHANGELOG.md
+++ b/rand_pcg/CHANGELOG.md
@@ -4,6 +4,11 @@
 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.2] - unreleased
+- potential blocker: https://github.com/TyOverby/bincode/issues/250
+- make `bincode` a dev-dependency again
+- clean up tests and Serde support
+
 ## [0.1.1] - 2018-10-04
 - make `bincode` an explicit dependency when using Serde
 
diff --git a/rand_xorshift/CHANGELOG.md b/rand_xorshift/CHANGELOG.md
index 9a896a5..539af41 100644
--- a/rand_xorshift/CHANGELOG.md
+++ b/rand_xorshift/CHANGELOG.md
@@ -4,5 +4,8 @@
 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-04
+- Reorganise code and tests; tweak doc
+
 ## [0.1.0] - 2018-07-16
 - Pulled out of the Rand crate
diff --git a/rand_xorshift/Cargo.toml b/rand_xorshift/Cargo.toml
index b763bfc..114fee9 100644
--- a/rand_xorshift/Cargo.toml
+++ b/rand_xorshift/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "rand_xorshift"
-version = "0.1.0"
+version = "0.1.1"
 authors = ["The Rand Project Developers", "The Rust Project Developers"]
 license = "MIT/Apache-2.0"
 readme = "README.md"
diff --git a/rand_xoshiro/CHANGELOG.md b/rand_xoshiro/CHANGELOG.md
index cd44b05..b23c990 100644
--- a/rand_xoshiro/CHANGELOG.md
+++ b/rand_xoshiro/CHANGELOG.md
@@ -4,5 +4,5 @@
 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.0] - 2018-11-??
+## [0.1.0] - 2019-01-04
 Initial release.
diff --git a/rand_xoshiro/COPYRIGHT b/rand_xoshiro/COPYRIGHT
new file mode 100644
index 0000000..468d907
--- /dev/null
+++ b/rand_xoshiro/COPYRIGHT
@@ -0,0 +1,12 @@
+Copyrights in the Rand project are retained by their contributors. No
+copyright assignment is required to contribute to the Rand project.
+
+For full authorship information, see the version control history.
+
+Except as otherwise noted (below and/or in individual files), Rand is
+licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
+<http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+<LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.
+
+The Rand project includes code from the Rust project
+published under these same licenses.
diff --git a/rand_xoshiro/README.md b/rand_xoshiro/README.md
index 243d187..014477e 100644
--- a/rand_xoshiro/README.md
+++ b/rand_xoshiro/README.md
@@ -3,20 +3,21 @@
 [![Build Status](https://travis-ci.org/rust-random/rand.svg?branch=master)](https://travis-ci.org/rust-random/rand)
 [![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand)
 [![Latest version](https://img.shields.io/crates/v/rand_xoshiro.svg)](https://crates.io/crates/rand_xoshiro)
-[![Documentation](https://docs.rs/rand_xoshiro/badge.svg)](https://docs.rs/rand_xoshiro)
-[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-yellow.svg)](https://github.com/rust-random/rand#rust-version-requirements)
-[![License](https://img.shields.io/crates/l/rand_xoshiro.svg)](https://github.com/rust-random/rand/tree/master/rand_xoshiro#license)
+[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/)
+[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_xoshiro)
+[![API](https://docs.rs/rand_xoshiro/badge.svg)](https://docs.rs/rand_xoshiro)
+[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements)
 
 Rust implementation of the [xoshiro, xoroshiro and splitmix64](http://xoshiro.di.unimi.it) random number generators.
 
 This crate depends on [rand_core](https://crates.io/crates/rand_core) and is
 part of the [Rand project](https://github.com/rust-random/rand).
 
-Documentation:
-[master branch](https://rust-random.github.io/rand/rand_xoshiro/index.html),
-[by release](https://docs.rs/rand_xoshiro)
+Links:
 
-[Changelog](CHANGELOG.md)
+-   [API documentation (master)](https://rust-random.github.io/rand/rand_xoshiro)
+-   [API documentation (docs.rs)](https://docs.rs/rand_xoshiro)
+-   [Changelog](CHANGELOG.md)
 
 ## License
 
diff --git a/rand_xoshiro/src/common.rs b/rand_xoshiro/src/common.rs
index dc858c2..9ee09e2 100644
--- a/rand_xoshiro/src/common.rs
+++ b/rand_xoshiro/src/common.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 /// Initialize a RNG from a `u64` seed using `SplitMix64`.
 macro_rules! from_splitmix {
     ($seed:expr) => { {
diff --git a/rand_xoshiro/src/lib.rs b/rand_xoshiro/src/lib.rs
index fa5212f..a2015b9 100644
--- a/rand_xoshiro/src/lib.rs
+++ b/rand_xoshiro/src/lib.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 //! This crate implements the [xoshiro] family of pseudorandom number generators
 //! designed by David Blackman and Sebastiano Vigna. They feature high
 //! perfomance and a small state and superseed the previous xorshift-based
diff --git a/rand_xoshiro/src/splitmix64.rs b/rand_xoshiro/src/splitmix64.rs
index 0e8789b..a7cac9f 100644
--- a/rand_xoshiro/src/splitmix64.rs
+++ b/rand_xoshiro/src/splitmix64.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use byteorder::{ByteOrder, LittleEndian};
 use rand_core::le::read_u64_into;
 use rand_core::impls::fill_bytes_via_next;
diff --git a/rand_xoshiro/src/xoroshiro128plus.rs b/rand_xoshiro/src/xoroshiro128plus.rs
index b5b3ea8..df032c8 100644
--- a/rand_xoshiro/src/xoroshiro128plus.rs
+++ b/rand_xoshiro/src/xoroshiro128plus.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use rand_core;
 use rand_core::le::read_u64_into;
 use rand_core::impls::fill_bytes_via_next;
diff --git a/rand_xoshiro/src/xoroshiro128starstar.rs b/rand_xoshiro/src/xoroshiro128starstar.rs
index 968d1b4..2d27850 100644
--- a/rand_xoshiro/src/xoroshiro128starstar.rs
+++ b/rand_xoshiro/src/xoroshiro128starstar.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use rand_core;
 use rand_core::le::read_u64_into;
 use rand_core::impls::fill_bytes_via_next;
diff --git a/rand_xoshiro/src/xoroshiro64star.rs b/rand_xoshiro/src/xoroshiro64star.rs
index 7ad8e03..86338fd 100644
--- a/rand_xoshiro/src/xoroshiro64star.rs
+++ b/rand_xoshiro/src/xoroshiro64star.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use byteorder::{ByteOrder, LittleEndian};
 use rand_core;
 use rand_core::le::read_u32_into;
diff --git a/rand_xoshiro/src/xoroshiro64starstar.rs b/rand_xoshiro/src/xoroshiro64starstar.rs
index f434365..a40baee 100644
--- a/rand_xoshiro/src/xoroshiro64starstar.rs
+++ b/rand_xoshiro/src/xoroshiro64starstar.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use byteorder::{ByteOrder, LittleEndian};
 use rand_core;
 use rand_core::le::read_u32_into;
diff --git a/rand_xoshiro/src/xoshiro128plus.rs b/rand_xoshiro/src/xoshiro128plus.rs
index 006b93c..b0c7cc7 100644
--- a/rand_xoshiro/src/xoshiro128plus.rs
+++ b/rand_xoshiro/src/xoshiro128plus.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use rand_core::impls::{next_u64_via_u32, fill_bytes_via_next};
 use rand_core::le::read_u32_into;
 use rand_core::{SeedableRng, RngCore, Error};
diff --git a/rand_xoshiro/src/xoshiro128starstar.rs b/rand_xoshiro/src/xoshiro128starstar.rs
index 48ae0a2..836864e 100644
--- a/rand_xoshiro/src/xoshiro128starstar.rs
+++ b/rand_xoshiro/src/xoshiro128starstar.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use rand_core::impls::{next_u64_via_u32, fill_bytes_via_next};
 use rand_core::le::read_u32_into;
 use rand_core::{SeedableRng, RngCore, Error};
diff --git a/rand_xoshiro/src/xoshiro256plus.rs b/rand_xoshiro/src/xoshiro256plus.rs
index b35efc3..08da5a8 100644
--- a/rand_xoshiro/src/xoshiro256plus.rs
+++ b/rand_xoshiro/src/xoshiro256plus.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use rand_core::impls::fill_bytes_via_next;
 use rand_core::le::read_u64_into;
 use rand_core::{SeedableRng, RngCore, Error};
diff --git a/rand_xoshiro/src/xoshiro256starstar.rs b/rand_xoshiro/src/xoshiro256starstar.rs
index 18d5e92..fc0a208 100644
--- a/rand_xoshiro/src/xoshiro256starstar.rs
+++ b/rand_xoshiro/src/xoshiro256starstar.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use rand_core::impls::fill_bytes_via_next;
 use rand_core::le::read_u64_into;
 use rand_core::{SeedableRng, RngCore, Error};
diff --git a/rand_xoshiro/src/xoshiro512plus.rs b/rand_xoshiro/src/xoshiro512plus.rs
index 018e31f..fe982e4 100644
--- a/rand_xoshiro/src/xoshiro512plus.rs
+++ b/rand_xoshiro/src/xoshiro512plus.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use rand_core::impls::fill_bytes_via_next;
 use rand_core::le::read_u64_into;
 use rand_core::{SeedableRng, RngCore, Error};
diff --git a/rand_xoshiro/src/xoshiro512starstar.rs b/rand_xoshiro/src/xoshiro512starstar.rs
index 6ee101e..1a33f0a 100644
--- a/rand_xoshiro/src/xoshiro512starstar.rs
+++ b/rand_xoshiro/src/xoshiro512starstar.rs
@@ -1,3 +1,11 @@
+// Copyright 2018 Developers of the Rand project.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
 use rand_core::impls::fill_bytes_via_next;
 use rand_core::le::read_u64_into;
 use rand_core::{SeedableRng, RngCore, Error};