Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
888 commits
Select commit Hold shift + click to select a range
304048b
Fix redundant import warnings (#1405)
MichaelOwenDyer Mar 7, 2024
7ed92ee
Add .choices() method to the Slice distribution (#1402)
JustusFluegel Mar 7, 2024
4ed1b20
chore: fix typos (#1407)
acceptacross Mar 11, 2024
769bcb6
Document more crate feature usage (#1411)
TheIronBorn Mar 18, 2024
be75bf5
Update zerocopy requirement from =0.8.0-alpha.5 to =0.8.0-alpha.6 (#1…
dependabot[bot] Mar 18, 2024
b45e892
Update average requirement from 0.13 to 0.14 (#1388)
dependabot[bot] Mar 18, 2024
4cbbb34
Remove automatic (delayed) reseed-on-fork (#1379)
dhardy Mar 18, 2024
1015e70
Prepare 0.9.0-alpha.1 (#1413)
dhardy Mar 18, 2024
a457907
Use Simd::wrapping_neg (#1414)
dhardy Mar 22, 2024
2eaf854
Bump the MSRV to 1.61.0 (#1416)
dhardy Mar 22, 2024
0e626c7
Cleaner README, remove MSRV shields (#1417)
dhardy Mar 25, 2024
0518975
Update average requirement from 0.14 to 0.15 (#1426)
dependabot[bot] Apr 2, 2024
7b37c15
Add methods weight, weights, and total_weight to weighted_index.rs (#…
MichaelOwenDyer Apr 2, 2024
2f6fee9
Bump actions/configure-pages from 4 to 5 (#1427)
dependabot[bot] Apr 2, 2024
2f14aec
Put macro `x86_intrinsic_impl` behind x86 configuration guard
MichaelOwenDyer Apr 3, 2024
21a1ce1
Merge pull request #1431 from MichaelOwenDyer/put-x86-macro-behind-x8…
MichaelOwenDyer Apr 4, 2024
bca078e
Optimize imports (#1430)
MichaelOwenDyer Apr 5, 2024
eae3228
rand_distr/std_math: add note regarding other dependents (#1421)
dhardy Apr 10, 2024
d42daab
Add "bug report" issue template (#1436)
dhardy Apr 10, 2024
d507f7e
Upgrade criterion
vks Jul 28, 2023
6f917e1
Move rand benches to their own crate
vks Apr 26, 2024
9855f37
Pin rayon and rayon-core to support MSRV 1.61
vks Apr 26, 2024
0935356
Fix benches test in pipeline
vks Apr 26, 2024
13620d9
Test feature serde1 on rand_chacha
dhardy Apr 27, 2024
f6ac90f
Updated Cargo.lock.msrv
dhardy Apr 27, 2024
47d0b54
Remove pin on Rayon versions
dhardy Apr 27, 2024
3c0661b
Rename rand_benches -> benches
dhardy Apr 27, 2024
24b84a0
Move Criterion benches to benches/src
dhardy Apr 27, 2024
e55b1f6
Merge rand_distr/benches into benches
dhardy Apr 27, 2024
75a233b
Add note to CHANGELOG
dhardy Apr 27, 2024
6389320
Update Cargo.lock.msrv again
dhardy Apr 27, 2024
bf0301b
Fix test.yml
dhardy Apr 27, 2024
089d993
Merge pull request #1439 from dhardy/upgrade-criterion
vks Apr 29, 2024
4f8257a
Rename `Rng::gen` to `Rng::random` (#1438)
vks Apr 29, 2024
a2375dc
Add #[track_caller] to methods which panic (#1442)
josephlr May 5, 2024
b10172f
Make fn WeightedTreeIndex::try_sample public
xmakro May 7, 2024
1f81878
Use zerocopy 0.7.33, not 0.8.0-alpha (#1446)
joshlf May 7, 2024
fba5521
Add `TryRngCore` and `TryCryptoRng` traits (#1424)
newpavlov May 8, 2024
e937769
Update Panic documentation and #[track_caller] (#1447)
josephlr May 8, 2024
1b762b2
Apply rustfmt and fix Clippy warnings (#1448)
newpavlov May 9, 2024
890ad8b
Rename `doc_cfg` to `docsrs` and use `doc_auto_cfg` (#1450)
newpavlov May 10, 2024
10a1fa4
Tweak docs CI job (#1451)
newpavlov May 11, 2024
defeb0c
Revise crate doc for rand_pcg, rand_chacha (#1454)
dhardy May 23, 2024
ba7f515
Revise RNG docs; enable small_rng by default (#1455)
dhardy May 23, 2024
6a46506
Fix benches CI job (#1456)
newpavlov May 24, 2024
ef75e56
Fix Nightly Clippy lints (#1457)
newpavlov May 25, 2024
ca9e119
Add IndexedRandom::choose_multiple_array, index::sample_array (#1453)
dhardy Jun 4, 2024
17746a1
Add distribution plots to `rand_distr` documentation (#1434)
MichaelOwenDyer Jul 8, 2024
763dbc5
`rand_distr`: Rename Zeta parameter from `a` to `s` (#1466)
MichaelOwenDyer Jul 10, 2024
d17ce4e
rand_distr: split gamma module (#1464)
dhardy Jul 11, 2024
2584f48
Fix pert for mode approx eq mean; use builder pattern (#1452)
dhardy Jul 16, 2024
1e381d1
UniformFloat: allow inclusion of high in all cases (#1462)
dhardy Jul 16, 2024
e4874a6
Fix some typos. (#1472)
waywardmonkeys Jul 20, 2024
f3aab23
Fix `clippy::doc_markdown` warnings. (#1474)
waywardmonkeys Jul 20, 2024
605476c
Portability fixes (#1469)
dhardy Jul 23, 2024
2d5948d
rand::distributions -> distr; split uniform module (#1470)
dhardy Jul 23, 2024
f7bbcca
Rename `serde1` feature to `serde`. (#1477)
waywardmonkeys Jul 26, 2024
2833c78
Document Rng::fill, random differences
dhardy Jul 28, 2024
79f1b0f
Document known issues: #1378, #1312, #1476.
dhardy Aug 12, 2024
9e030aa
Migrate remaining benchmarks to Criterion (#1490)
dhardy Sep 6, 2024
71c53be
Require SeedableRng::Seed to impl Clone + AsRef (#1491)
clarfonthey Sep 9, 2024
ef052ec
No usize except uniform (#1487)
dhardy Sep 9, 2024
f263820
Poisson: split Knuth/Rejection methods (#1493)
dhardy Sep 23, 2024
e2092e9
Poisson u64 sampling (#1498)
benjamin-lieser Oct 1, 2024
66b11eb
Rename gen_iter → random_iter, misc.. (#1500)
dhardy Oct 1, 2024
bc33411
Make sure BTPE is not entered when np < 10 (#1484)
benjamin-lieser Oct 3, 2024
d2eb51b
Remove some unsafe, update to zerocopy 0.8.0 (#1502)
joshlf Oct 7, 2024
d1f961c
Improve SmallRng initialization performance (#1482)
arthurprs Oct 7, 2024
9c2787d
Cdf testing with Kolmogorov Smirnov (#1494)
benjamin-lieser Oct 8, 2024
0fba940
rand_core: add blanket impl of TryRngCore for RngCore (#1499)
newpavlov Oct 9, 2024
f5185d9
thread_rng() → rand::rng() (#1506)
dhardy Oct 11, 2024
695fc9a
Fix new Clippy lints (#1511)
newpavlov Oct 15, 2024
9d57b87
Weibull doc: add PDF and warning against small k (#1509)
benjamin-lieser Oct 16, 2024
8225d94
Rng renames: gen_ → random_ (#1505)
dhardy Oct 16, 2024
8b455dd
Add `p()` for `Bernoulli` (#1481)
marcpabst Oct 17, 2024
0d32093
Use explicit features rather than implicit. (#1473)
waywardmonkeys Oct 17, 2024
1aa9a69
Add more Kolmogorov–Smirnov test (#1504)
JamboChen Oct 17, 2024
0c36c6c
Remove u64 support for Poisson (#1517)
dhardy Oct 24, 2024
24b9cc3
README: rand is not a crypto library (#1514)
dhardy Oct 28, 2024
585b29f
Add top-level helper functions (#1488)
oconnor663 Oct 31, 2024
ad67294
Zipf: let n have type F (#1518)
dhardy Nov 12, 2024
7fe350c
Hypergeo fix (#1510)
benjamin-lieser Nov 13, 2024
e85c923
Move KS tests (#1525)
benjamin-lieser Nov 18, 2024
3f984dd
Rename `Standard` → `StandardUniform` (#1526)
dhardy Nov 18, 2024
935a3e3
Remove rng parameter of ReseedingRng::new (#1533)
dhardy Nov 21, 2024
4807e26
rand_chacha: remove conditional compilation around using core (#1534)
ComputerDruid Nov 22, 2024
c68463c
Remove SmallRng::from_thread_rng (#1532)
dhardy Nov 22, 2024
c1f865f
Bump the MSRV to 1.63.0 (#1536)
dhardy Nov 25, 2024
0ff946c
Make getrandom a non-pub dep; rename feature to os_rng (#1537)
dhardy Nov 26, 2024
bf9d429
Add KS tests for weighted sampling; use A-ExpJ alg with log-keys (#1530)
dhardy Nov 26, 2024
3fac49f
Prepare 0.9.0-beta.0 (#1535)
dhardy Nov 26, 2024
b879689
Adjust GH Actions (#1538)
dhardy Nov 27, 2024
88c310b
Fix docs.rs build options (#1539)
dhardy Nov 27, 2024
9f05e22
Update: getrandom v0.3.0 rc.0 (#1541)
dhardy Nov 30, 2024
c681dfc
Create FUNDING.yml
dhardy Dec 19, 2024
afa24e4
Fix test status badges (#1544)
atouchet Dec 26, 2024
16eb7de
Add the `thread_rng` feature flag (#1547)
dhardy Jan 9, 2025
b4b1eb7
Re-org with distr::slice, distr::weighted modules (#1548)
dhardy Jan 14, 2025
34da321
Enable `stdarch_x86_avx512` for cpu has `avx512bw` (#1551)
serendipity-crypto Jan 14, 2025
039e740
benches/uniform: revise sample! macro for SIMD
dhardy Jan 14, 2025
5ec6390
benches/uniform: add SIMD benches
dhardy Jan 14, 2025
96f8df6
Prepare 0.9.0 release (#1558)
dhardy Jan 27, 2025
e06370c
Replaces the Poisson rejection method implementation (#1560)
JamboChen Jan 27, 2025
664fb3c
Mention removal of CryptoRngCore (#1562)
dhardy Jan 28, 2025
22ba98f
Consistent capitalization for deprecated function names in documentat…
yttersian Jan 28, 2025
b36dc2a
Update rand_core version number in Readme (#1569)
atouchet Jan 29, 2025
c01aee7
Fix some links (#1571)
atouchet Jan 30, 2025
bfd1826
SeedableRng docs: add note on (lack of) reproducibility (#1572)
dhardy Jan 31, 2025
7a14dfe
Implement `fill_via_chunks` without using zerocopy or `unsafe`.
briansmith Feb 3, 2025
2677c49
Revise "not a crypto library" policy and SECURITY.md (#1565)
dhardy Feb 6, 2025
0bc3f65
Move rand distr (#1577)
benjamin-lieser Feb 6, 2025
e0a70fd
Change to use `array::from_fn` in `Distribution<[T; N]> for StandardU…
sorairolake Feb 9, 2025
49d76cd
rename extract to extract_lane (#1586)
benjamin-lieser Feb 12, 2025
06b1642
Remove unnecessary underscore from `impl<T, const N: usize> Distribut…
sorairolake Feb 13, 2025
8929123
Add `Alphabetic` distribution (#1587)
1Git2Clone Feb 15, 2025
6a06056
rand_core: introduce an UnwrapMut wrapper (#1589)
baloo Feb 16, 2025
ec6d5c0
Prepare rand_core v0.9.1 (#1591)
dhardy Feb 16, 2025
775b05b
Relax `Sized` requirements for blanket impls (#1593)
fjarri Feb 20, 2025
975f602
fixup clippy 1.85 warnings
baloo Feb 20, 2025
e0eb2ee
rand_core: implement reborrow for `UnwrapMut`
baloo Feb 18, 2025
ee1d96f
rand_core: implement reborrow for `UnwrapMut` (#1595)
dhardy Feb 21, 2025
db2b1e0
rand: re-export `rand_core`
baloo Feb 22, 2025
c7fe1c4
rand: re-export `rand_core` (#1604)
dhardy Feb 22, 2025
99fabd2
Prepare rand_core 0.9.2
baloo Feb 22, 2025
d3dd415
Prepare rand_core 0.9.2 (#1605)
dhardy Feb 22, 2025
03ce3fe
Use @josephlr's suggestion
dhardy Feb 25, 2025
44f905c
Deprecate fns fill_via_u{32|64}_chunks
dhardy Feb 25, 2025
0680e6d
Merge with master and update CHANGELOG
dhardy Feb 25, 2025
7aa2637
Add SIMD benches (#1553)
dhardy Feb 25, 2025
270f6b3
Impl fill_via_chunks without using zerocopy or unsafe (#1607)
dhardy Feb 28, 2025
f8d416e
Prepare rand_core v0.9.3
dhardy Feb 28, 2025
340849e
Prepare rand_core v0.9.3 (#1608)
dhardy Mar 1, 2025
9c953d4
Update rand_core version number in Readme (#1613)
atouchet Mar 9, 2025
17fea2b
Add 'unbiased' to 'Crate Features' section
Raymi306 Mar 15, 2025
afcfbb2
Add 'unbiased' to 'Crate Features' section (#1616)
dhardy Mar 15, 2025
7808f4e
Update README.md Default Features (#1618)
Raymi306 Mar 22, 2025
5f5b580
Allow fn choose_multiple_weighted to return fewer than amount elts (#…
dhardy Apr 9, 2025
d468501
Fix documentation of fns rand_core::le::read_u*_into (#1626)
dhardy Apr 11, 2025
f812984
readme: replace relative links with absolute (#1627)
hashcatHitman Apr 16, 2025
3057641
Remove zerocopy from rand (#1579)
dhardy Apr 16, 2025
db993ec
Prepare rand v0.9.1 (#1629)
dhardy Apr 17, 2025
a6e217f
Update statrs link (#1630)
atouchet Apr 18, 2025
86262ac
Deprecate rand::rngs::mock module and StepRng (#1634)
dhardy Apr 25, 2025
204084a
Fix: Remove accidental editor swap file (#1636)
mingulov May 19, 2025
0c955c5
Add some tests for BlockRng, BlockRng64 and Xoshiro RNGs (#1639)
AbeZbm May 28, 2025
97c3e2f
rand_core: relax requirements on the param for `SeedableRng`
baloo May 31, 2025
6cb75ee
Make UniformUsize serializable (#1646)
aleb Jul 17, 2025
031a1f5
`examples/print-next.rs` (#1647)
dhardy Jul 20, 2025
98473ee
Prepare rand 0.9.2 (#1648)
dhardy Jul 20, 2025
1291ef1
pub use Xoshiro{128,256}PlusPlus (#1649)
dhardy Jul 30, 2025
14c9fd1
Remove impl_fill_each: Fill for [bool], [char], [f32], [f64]
dhardy Jul 30, 2025
e236d01
Let trait Fill be implemented for element types, not sliceable types
dhardy Jul 30, 2025
2f7f83e
Test that Fill may be implemented for externally-defined types
dhardy Aug 7, 2025
8b6d4f9
Revise impl_fill macro
dhardy Aug 7, 2025
a1faaeb
CHANGELOG
dhardy Aug 7, 2025
ead83fd
Let `trait Fill` be implemented for element types (#1652)
dhardy Aug 12, 2025
07a0208
rand_core: relax requirements on the param for `SeedableRng` (#1641)
dhardy Aug 12, 2025
cd640b1
Add test for rand_core MSRV
dhardy Sep 3, 2025
081e9da
Bump the MSRV to 1.85
dhardy Aug 12, 2025
57eaa4d
Migrate to edition 2024
dhardy Aug 12, 2025
0006804
Update formatting
dhardy Aug 12, 2025
052b80f
Update to Edition 2024, MSRV 1.85 (#1653)
dhardy Sep 4, 2025
f9d37d6
StdRng: test state after construction
dhardy Sep 3, 2025
37d5ad2
Added test vectors for StdRng (Strombergson 2013)
hpenne Jun 14, 2025
75c06da
Add StdRng test setting the counter
dhardy Sep 3, 2025
0c53ff5
Remove rng_state test
dhardy Sep 3, 2025
2f688d4
Convert test vectors to u128 arrays
dhardy Sep 4, 2025
ff5e2b4
Extend counter wrap test
dhardy Sep 4, 2025
e69f52a
Rename fns IndexedRandom::choose_multiple* -> sample*
dhardy Apr 19, 2025
74d53b0
Rename fns IteratorRandom::choose_multiple* -> sample*
dhardy Apr 19, 2025
55db818
Add deprecated fn wrappers
dhardy Apr 19, 2025
d2ae13e
Rename struct SliceChooseIter -> IndexedSamples
dhardy Apr 19, 2025
107db7e
Add fns IndexedRandom::choose_iter, choose_weighted_iter
dhardy Apr 19, 2025
198475a
CHANGELOG
dhardy Apr 19, 2025
34b2e45
Rename fns choose_multiple* → sample*; add choose*_iter (#1632)
dhardy Sep 4, 2025
d28a658
Added test vectors for StdRng, verified using rand_chacha. (#1654)
dhardy Sep 8, 2025
52b1bea
Replaced rand_chacha with chacha20.
hpenne Jun 14, 2025
ce3f8dc
Added entry to CHANGELOG.md
hpenne Jun 15, 2025
e41e428
Added fix for multiple versions of rand_core to benches.
hpenne Jun 15, 2025
0c201cd
Fixed some breakage due to upstream API changes.
hpenne Sep 8, 2025
9a7a59c
Updated to latest chacha20 release candidate. Removed some int conver…
hpenne Sep 8, 2025
9ee24b9
Added PR number to the CHANGELOG.md entry. Removed a superfluous u64:…
hpenne Sep 9, 2025
4490b41
Updated chacha20 to 0.10.0-rc.2, and removed the "legacy" feature and…
hpenne Sep 9, 2025
4afc333
Replace rand_chacha dependency with chacha20 (#1642)
dhardy Sep 10, 2025
47e9767
chacha feature, pub use ChaCha*Rng in rand/rngs
dhardy Sep 10, 2025
9b48cd4
CHANGELOG entry
dhardy Sep 10, 2025
da946be
chacha feature, pub use ChaCha*Rng in rand/rngs (#1659)
dhardy Sep 10, 2025
8a3d963
Prepare 0.10.0-rc.0
dhardy Sep 10, 2025
54ea272
Prepare 0.10.0-rc.0 (#1660)
dhardy Sep 11, 2025
4cbd428
chore: Replace `doc_auto_cfg` with `doc_cfg` (#1664)
sorairolake Oct 1, 2025
1b83503
Remove deprecated fns impls::fill_via_u{32,64}_chunks
dhardy Oct 20, 2025
ebff14a
Move impls contents to le
dhardy Oct 20, 2025
1446cb6
Update doc: le
dhardy Oct 20, 2025
e1f000d
Update doc: RngCore
dhardy Oct 20, 2025
1a0c861
Update CHANGELOG
dhardy Oct 20, 2025
dfd22ca
Remove rand::rngs::mock
dhardy Oct 20, 2025
22fa1ef
Update other uses of rand_core::impls
dhardy Oct 20, 2025
d2bb1c4
Move rand_core::impls::* to le (#1667)
dhardy Oct 20, 2025
aba9523
Remove CI test and Cargo.lock.msrv for rand_core with Rust 1.63.0
dhardy Oct 20, 2025
d812da4
Bump rand_core MSRV to 1.85.0 and Edition to 2024
dhardy Oct 20, 2025
679697d
Edition-related Clippy fix
dhardy Oct 20, 2025
e99a339
Bump MSRV and Edition for `rand_core` (#1668)
dhardy Oct 20, 2025
234c0ec
Remove fn read_adapter, rename RngReadAdapter -> RngReader and make p…
dhardy Oct 20, 2025
1d76be5
Let RngReader take R by value
dhardy Oct 20, 2025
72e9566
Bump MSRV and Edition for `rand_chacha` (#1671)
newpavlov Oct 20, 2025
703500a
Use --ignore-rust-version on non-MSRV builds (#1672)
dhardy Oct 21, 2025
8c5840f
Move RngReader to rand
dhardy Oct 21, 2025
140a6d4
Schedule weekly CI runs (#1673)
dhardy Oct 21, 2025
26ffd25
CHANGELOG
dhardy Oct 21, 2025
d0eef34
Move fn read_adapter out of trait TryRngCore to rand (#1669)
dhardy Oct 21, 2025
a8208d4
Fix type of RawOsError on UEFI targets (#1665)
usamoi Oct 22, 2025
7e9de12
rand_pcg: remove feature os_rng
dhardy Oct 20, 2025
abf5e4d
rand_chacha: remove feature os_rng (requires rand dev-dependency)
dhardy Oct 20, 2025
723d1d9
Update SECURITY.md
dhardy Oct 20, 2025
895c2c9
Remove fns {try_,}from_os_rng
dhardy Oct 20, 2025
908c584
Move OsRng definition to rand::rngs
dhardy Oct 20, 2025
fc7bf7f
CHANGELOGs
dhardy Oct 20, 2025
1d3235c
Update CI for rand_core
dhardy Oct 21, 2025
5d07c2d
Move OsRng down to rand (#1674)
dhardy Oct 30, 2025
e9c799c
Remove Clone for StdRng
dhardy Oct 30, 2025
4cc9891
Remove Clone support for ReseedingRng
dhardy Oct 30, 2025
1422700
CHANGELOG
dhardy Oct 30, 2025
5fce5ec
Remove Clone for StdRng, new bound for ReseedingRng (#1677)
dhardy Oct 30, 2025
fbe1712
Remove rand_core
dhardy Nov 4, 2025
3444da7
Fix up Cargo.tomls
dhardy Nov 4, 2025
b5188a0
Bump rand_core, chacha20 versions
dhardy Nov 4, 2025
84da23d
Bump local crate versions
dhardy Nov 4, 2025
e24a3aa
Remove rand_core CI tests
dhardy Nov 4, 2025
6c2fcc1
Add links to rand_chacha CHANGELOG
dhardy Nov 4, 2025
f05c2aa
Add links to rand_pcg CHANGELOG
dhardy Nov 4, 2025
cb578fb
Add missing entries to rand CHANGELOG
dhardy Nov 4, 2025
0ead7bc
Add links to rand CHANGELOG
dhardy Nov 4, 2025
703f7c2
CHANGELOG: use hyphen not m-dash
dhardy Nov 4, 2025
3948e19
Remove rand_core and use as external dependency; bump versions to 0.1…
dhardy Nov 4, 2025
0b6d218
Remove dead link to rand_core changelog
allan2 Nov 4, 2025
6c8eecb
Update link
allan2 Nov 5, 2025
737be86
Update rand_core changelog link (#1680)
dhardy Nov 5, 2025
fdacad9
Update CHANGELOG format: add links (#1679)
dhardy Nov 6, 2025
a7b1d28
Cargo.toml: bump `chacha20` to v0.10.0-rc.5
tarcieri Nov 6, 2025
b4d90bf
Cargo.toml: bump `chacha20` to v0.10.0-rc.5 (#1683)
dhardy Nov 8, 2025
e0fd7f8
Bump rand for 0.10.0-rc.5
dhardy Nov 8, 2025
2eb1bbe
Bump rand for 0.10.0-rc.5 (#1684)
dhardy Nov 8, 2025
1c00b3d
Drop dependency on rand_core/serde
dhardy Nov 28, 2025
a2a1e09
Drop dependency on rand_core/serde (#1689)
dhardy Nov 30, 2025
2238cb9
Remove CI for gh-pages deployment
dhardy Dec 5, 2025
b72dac1
Remove links to rust-random.github.io/rand
dhardy Dec 5, 2025
17b12b1
Remove local docs (#1692)
dhardy Dec 5, 2025
a559582
Use postcard instead of bincode in tests
valadaptive Dec 15, 2025
1e08cf5
Add to CHANGELOG
valadaptive Dec 15, 2025
8336923
Use postcard instead of bincode in tests (#1693)
dhardy Dec 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: dhardy
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Bug report
about: Something doesn't work as expected
title: ''
labels: X-bug
assignees: ''

---

## Summary

A clear and concise description of what the bug is.

What behaviour is expected, and why?

## Code sample

```rust
// Code demonstrating the problem
```
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/suggest-a-change.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Suggest a change
about: Describe this issue template's purpose here.
title: 'CHANGE: <summary>'
labels: ''
assignees: ''

---

A change request is considered a (small) Request-For-Comment, and requires a concrete proposal and motivation.

## Summary

How does this affect the API / end-user? (Include API-breaking changes, value-breaking changes and API additions.)

## Details

What changes does this require internally?

## Motivation

What is the motivation for this change?

Since every change has a cost (even if just API churn or extra code size), every change must have sufficient motivation. This is arguably the most important part of the RFC.

## Alternatives

Which alternatives might be considered, and why or why not?
7 changes: 7 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
- [ ] Added a `CHANGELOG.md` entry

# Summary

# Motivation

# Details
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "monthly"
open-pull-requests-limit: 10
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
42 changes: 42 additions & 0 deletions .github/workflows/benches.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Benches

on:
push:
branches: [ master ]
paths-ignore:
- "**.md"
- "examples/**"
pull_request:
branches: [ master ]
paths-ignore:
- "**.md"
- "examples/**"

defaults:
run:
working-directory: ./benches

jobs:
clippy-fmt:
name: "Benches: Check Clippy and rustfmt"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: clippy, rustfmt
- name: Rustfmt
run: cargo fmt -- --check
- name: Clippy
run: cargo clippy --all-targets -- -D warnings
benches:
name: "Benches: Test"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: Test
run: RUSTFLAGS=-Dwarnings cargo test --benches
189 changes: 189 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
name: Main tests

on:
push:
branches: [ master, '0.[0-9]+' ]
paths-ignore:
- "**.md"
- "benches/**"
pull_request:
branches: [ master, '0.[0-9]+' ]
paths-ignore:
- "**.md"
- "benches/**"
schedule:
- cron: '0 0 * * SUN'

permissions:
contents: read # to fetch code (actions/checkout)

jobs:
clippy-fmt:
name: Check Clippy and rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: clippy, rustfmt
- name: Check Clippy
run: cargo clippy --workspace -- -D warnings
- name: Check rustfmt
run: cargo fmt --all -- --check

check-doc:
name: Check doc
runs-on: ubuntu-latest
env:
RUSTDOCFLAGS: "-Dwarnings --cfg docsrs -Zunstable-options --generate-link-to-definition"
steps:
- uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: rand
run: cargo doc --all-features --no-deps
- name: rand_chacha
run: cargo doc --all-features --package rand_chacha --no-deps
- name: rand_pcg
run: cargo doc --all-features --package rand_pcg --no-deps

test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
toolchain: stable
- os: macos-latest
target: x86_64-apple-darwin
toolchain: stable
# TODO: also aarch64 / M1
- os: windows-latest
target: x86_64-pc-windows-gnu
toolchain: stable
- os: windows-latest
target: x86_64-pc-windows-msvc
toolchain: beta
# Test both windows-gnu and windows-msvc; use beta rust on one
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
variant: MSRV
toolchain: 1.85.0
- os: ubuntu-latest
deps: sudo apt-get update ; sudo apt install gcc-multilib
target: i686-unknown-linux-gnu
toolchain: nightly
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
toolchain: nightly
variant: minimal_versions

steps:
- uses: actions/checkout@v4
- name: Not MSRV
if: ${{ matrix.variant != 'MSRV' }}
run: cargo generate-lockfile --ignore-rust-version
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
target: ${{ matrix.target }}
toolchain: ${{ matrix.toolchain }}
- run: ${{ matrix.deps }}
- name: Maybe minimal versions
if: ${{ matrix.variant == 'minimal_versions' }}
run: |
cargo generate-lockfile -Z minimal-versions
- name: Maybe nightly
if: ${{ matrix.toolchain == 'nightly' }}
run: |
cargo test --target ${{ matrix.target }} --features=nightly
cargo test --target ${{ matrix.target }} --all-features
cargo test --target ${{ matrix.target }} --lib --tests --no-default-features
- name: Test rand
run: |
cargo test --target ${{ matrix.target }} --lib --tests --no-default-features
cargo build --target ${{ matrix.target }} --no-default-features --features alloc,os_rng,small_rng,unbiased
cargo test --target ${{ matrix.target }} --lib --tests --no-default-features --features=alloc,os_rng,small_rng
cargo test --target ${{ matrix.target }} --examples
- name: Test rand (all stable features)
run: |
cargo test --target ${{ matrix.target }} --features=serde,log,small_rng
- name: Test rand_pcg
run: cargo test --target ${{ matrix.target }} --manifest-path rand_pcg/Cargo.toml --features=serde
- name: Test rand_chacha
run: cargo test --target ${{ matrix.target }} --manifest-path rand_chacha/Cargo.toml --features=serde

test-cross:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
target: powerpc-unknown-linux-gnu
toolchain: stable

steps:
- uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
target: ${{ matrix.target }}
toolchain: ${{ matrix.toolchain }}
- name: Cache cargo plugins
uses: actions/cache@v4
with:
path: ~/.cargo/bin/
key: ${{ runner.os }}-cargo-plugins
- name: Install cross
run: cargo install cross || true
- name: Test
run: |
# all stable features:
cross test --no-fail-fast --target ${{ matrix.target }} --features=serde,log,small_rng
cross test --no-fail-fast --target ${{ matrix.target }} --examples
cross test --no-fail-fast --target ${{ matrix.target }} --manifest-path rand_pcg/Cargo.toml --features=serde
cross test --no-fail-fast --target ${{ matrix.target }} --manifest-path rand_chacha/Cargo.toml

test-miri:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install toolchain
run: |
rustup toolchain install nightly --component miri
rustup override set nightly
cargo miri setup
- name: Test rand
run: |
cargo miri test --no-default-features --lib --tests
cargo miri test --features=log,small_rng
cargo miri test --manifest-path rand_pcg/Cargo.toml --features=serde
cargo miri test --manifest-path rand_chacha/Cargo.toml --no-default-features

test-no-std:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
target: thumbv6m-none-eabi
- name: Build top-level only
run: cargo build --target=thumbv6m-none-eabi --no-default-features

test-ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
target: aarch64-apple-ios
- name: Build top-level only
run: cargo build --target=aarch64-apple-ios
Loading