Skip to content

dependencies: update rand requirement from ^0.9.2 to ^0.10.2 - #1015

Merged
cdc-as81 merged 2 commits into
mainfrom
cdc-as81-rand-10-2
Aug 4, 2026
Merged

dependencies: update rand requirement from ^0.9.2 to ^0.10.2#1015
cdc-as81 merged 2 commits into
mainfrom
cdc-as81-rand-10-2

Conversation

@cdc-as81

@cdc-as81 cdc-as81 commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Updates the requirements on rand to permit the latest version.

Changelog

Sourced from rand's changelog.

[0.9.5] — 2026-07-02

Fixes

  • Fix possible memory safety violation due to deserialization of UniformChar from bad source (#1803)

#1803: rust-random/rand#1803

[0.9.4] — 2026-04-13

Fixes

#1766: rust-random/rand#1766

[0.9.3] — 2026-04-11

This release back-ports a fix from v0.10. See also #1763.

Changes

  • Deprecate feature log (#1764)
  • Replace usages of doc_auto_cfg (#1764)

#1763: rust-random/rand#1763

[0.9.2] — 2025-07-20

Deprecated

  • Deprecate rand::rngs::mock module and StepRng generator (#1634)

Additions

  • Enable WeightedIndex<usize> (de)serialization (#1646)

[0.9.1] - 2025-04-17

Security and unsafe

  • Revise "not a crypto library" policy again (#1565)
  • Remove zerocopy dependency from rand (#1579)

Fixes

  • Fix feature simd_support for recent nightly rust (#1586)

Changes

  • Allow fn rand::seq::index::sample_weighted and fn IndexedRandom::choose_multiple_weighted to return fewer than amount results (#1623), reverting an undocumented change (#1382) to the previous release.

Additions

  • Add rand::distr::Alphabetic distribution. (#1587)
  • Re-export rand_core (#1604)

[0.9.0] - 2025-01-27

Security and unsafe

  • Policy: "rand is not a crypto library" (#1514)
  • Remove fork-protection from ReseedingRng and ThreadRng. Instead, it is recommended to call ThreadRng::reseed on fork. (#1379)
  • Use zerocopy to replace some unsafe code (#1349, #1393, #1446, #1502)

Dependencies

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@cdc-as81
cdc-as81 requested a review from k88hudson-cfa July 21, 2026 11:55
@github-actions

Copy link
Copy Markdown

Benchmark Results

Hyperfine

Command Mean [ms] Min [ms] Max [ms] Relative
large_sir::baseline 3.2 ± 0.0 3.1 3.3 1.00
large_sir::baseline_households 3.2 ± 0.0 3.1 3.3 1.01 ± 0.01
large_sir::entities 7.3 ± 0.9 6.6 9.4 2.28 ± 0.27
large_sir::households 6.7 ± 0.3 6.4 8.2 2.09 ± 0.10

Criterion

Regressions (slower)
Group Bench Param Change CI Lower CI Upper
sample_entity sample_entity_multi_property_indexed 1000 56.644% 55.024% 57.925%
sample_entity sample_entity_multi_property_indexed 10000 52.998% 52.133% 53.875%
sample_entity sample_entity_multi_property_indexed 100000 52.614% 51.735% 53.496%
large_dataset bench_query_population_multi_unindexed_entities 14.139% 12.332% 16.021%
sample_entity sample_entity_single_property_indexed 10000 13.758% 13.169% 14.368%
sample_entity sample_entity_single_property_indexed 1000 11.988% 11.268% 12.784%
large_dataset bench_query_population_derived_property_entities 11.035% 9.882% 12.160%
large_dataset bench_query_population_indexed_property_entities 10.873% 10.023% 11.886%
sample_entity sample_entity_single_property_unindexed 10000 9.239% 7.930% 10.440%
sample_entity sample_entity_single_property_indexed 100000 5.545% 4.960% 6.052%
large_dataset bench_query_population_multi_indexed_entities 5.482% 4.681% 6.081%
sampling sampling_single_unindexed_entities 4.446% 4.237% 4.618%
indexing with_query_results_multiple_individually_indexed_properties_enti 4.294% 3.525% 5.203%
counts index_after_adding_entities 3.786% 3.432% 4.163%
sampling count_and_sampling_single_known_length_entities 3.725% 3.017% 4.484%
sampling sampling_multiple_unindexed_entities 3.556% 3.388% 3.738%
counts reindex_after_adding_more_entities 2.599% 2.348% 2.871%
sample_entity sample_entity_single_property_unindexed 100000 2.452% 2.068% 2.783%
indexing query_people_single_indexed_property_entities 2.092% 1.559% 2.960%
Improvements (faster)
Group Bench Param Change CI Lower CI Upper
examples example-basic-infection -49.789% -61.337% -34.297%
examples example-births-deaths -35.055% -52.744% -8.895%
sample_entity sample_entity_whole_population 10000 -8.411% -9.143% -7.736%
sample_entity sample_entity_whole_population 1000 -6.722% -7.598% -5.720%
sampling sampling_single_unindexed_concrete_plus_derived_entities -6.284% -6.515% -6.056%
large_dataset bench_filter_unindexed_entity -5.219% -8.742% -1.368%
sample_entity sample_entity_single_property_unindexed 1000 -4.816% -7.632% -2.140%
counts multi_property_indexed_entities -4.395% -4.916% -3.854%
counts multi_property_unindexed_entities -3.794% -4.146% -3.262%
indexing query_people_count_indexed_multi-property_entities -2.625% -3.127% -2.211%
indexing query_people_count_multiple_individually_indexed_properties_enti -2.437% -2.578% -2.313%
sampling count_and_sampling_single_unindexed_concrete_plus_derived_entiti -1.719% -1.966% -1.505%
sampling sampling_single_l_reservoir_entities -1.487% -2.075% -1.005%
Unchanged / inconclusive (CI crosses 0%)
Group Bench Param Change CI Lower CI Upper
large_dataset bench_match_entity 1.728% 0.818% 2.409%
sampling sampling_multiple_known_length_entities 1.337% 0.373% 2.219%
algorithm_benches algorithm_sampling_multiple_known_length -1.295% -1.736% -0.741%
sampling sampling_single_known_length_entities 1.188% 0.417% 1.891%
indexing query_people_multiple_individually_indexed_properties_entities -1.135% -1.811% -0.202%
algorithm_benches algorithm_sampling_single_known_length 1.129% 0.510% 1.803%
indexing with_query_results_single_indexed_property_entities -1.000% -1.526% -0.582%
sample_entity sample_entity_whole_population 100000 -0.822% -1.437% -0.333%
counts concrete_plus_derived_unindexed_entities 0.624% -0.121% 1.821%
indexing query_people_indexed_multi-property_entities -0.598% -0.896% -0.317%
large_dataset bench_filter_indexed_entity 0.525% -1.314% 2.394%
indexing with_query_results_indexed_multi-property_entities -0.411% -0.711% 0.026%
algorithm_benches algorithm_sampling_single_l_reservoir 0.389% 0.068% 0.801%
counts single_property_indexed_entities -0.383% -1.041% 0.134%
algorithm_benches algorithm_sampling_single_rand_reservoir 0.329% 0.128% 0.622%
large_dataset bench_query_population_property_entities -0.225% -1.138% 0.706%
indexing query_people_count_single_indexed_property_entities -0.179% -0.687% 0.534%
algorithm_benches algorithm_sampling_multiple_l_reservoir 0.129% -0.234% 0.506%
sampling sampling_multiple_l_reservoir_entities 0.124% -0.031% 0.277%
counts single_property_unindexed_entities -0.000% -0.541% 0.615%
Not Compared (no baseline yet)
Group Bench Reason
(none)

github-actions Bot added a commit that referenced this pull request Jul 21, 2026
@github-actions

Copy link
Copy Markdown

Benchmark Results

Hyperfine

Command Mean [ms] Min [ms] Max [ms] Relative
large_sir::baseline 2.3 ± 0.1 2.2 2.4 1.00
large_sir::baseline_households 2.4 ± 0.1 2.3 2.7 1.04 ± 0.06
large_sir::entities 4.2 ± 0.2 4.1 4.6 1.83 ± 0.08
large_sir::households 4.1 ± 0.2 4.0 4.9 1.80 ± 0.10

Criterion

Regressions (slower)
Group Bench Param Change CI Lower CI Upper
large_dataset bench_query_population_property_entities 13.745% 10.632% 16.868%
large_dataset bench_query_population_indexed_property_entities 12.398% 11.514% 13.991%
counts multi_property_unindexed_entities 11.494% 9.103% 13.926%
algorithm_benches algorithm_sampling_single_rand_reservoir 6.768% 6.558% 6.988%
counts single_property_indexed_entities 5.721% 5.170% 6.279%
sample_entity sample_entity_single_property_unindexed 1000 5.720% 5.154% 6.238%
large_dataset bench_query_population_multi_indexed_entities 5.060% 4.003% 5.983%
large_dataset bench_query_population_derived_property_entities 4.983% 4.233% 5.726%
sample_entity sample_entity_whole_population 100000 4.524% 1.208% 7.536%
large_dataset bench_filter_indexed_entity 4.080% 2.328% 5.997%
sample_entity sample_entity_single_property_unindexed 100000 3.454% 2.659% 4.286%
algorithm_benches algorithm_sampling_multiple_known_length 3.160% 2.250% 4.117%
sample_entity sample_entity_whole_population 1000 3.122% 1.139% 5.052%
large_dataset bench_match_entity 2.923% 2.505% 3.313%
sampling sampling_multiple_known_length_entities 2.424% 1.469% 3.029%
indexing query_people_multiple_individually_indexed_properties_entities 2.335% 1.999% 2.665%
sampling sampling_multiple_l_reservoir_entities 1.991% 1.731% 2.293%
indexing query_people_count_multiple_individually_indexed_properties_enti 1.211% 1.013% 1.449%
indexing query_people_single_indexed_property_entities 1.201% 1.096% 1.305%
Improvements (faster)
Group Bench Param Change CI Lower CI Upper
sample_entity sample_entity_multi_property_indexed 1000 -7.627% -10.075% -5.201%
examples example-basic-infection -6.386% -7.262% -5.596%
examples example-births-deaths -4.774% -6.398% -3.611%
sampling sampling_single_unindexed_concrete_plus_derived_entities -4.742% -4.863% -4.624%
sampling count_and_sampling_single_known_length_entities -3.716% -4.188% -3.099%
sampling sampling_single_known_length_entities -3.050% -3.581% -2.395%
sample_entity sample_entity_single_property_indexed 10000 -2.857% -3.722% -1.982%
sample_entity sample_entity_single_property_indexed 100000 -2.638% -3.554% -1.706%
counts reindex_after_adding_more_entities -2.497% -3.510% -1.764%
counts multi_property_indexed_entities -1.664% -2.167% -1.159%
sampling sampling_single_l_reservoir_entities -1.636% -2.304% -1.073%
Unchanged / inconclusive (CI crosses 0%)
Group Bench Param Change CI Lower CI Upper
algorithm_benches algorithm_sampling_single_known_length 3.342% -0.272% 7.111%
sample_entity sample_entity_multi_property_indexed 10000 1.429% -0.288% 2.891%
large_dataset bench_filter_unindexed_entity 1.420% -2.128% 4.892%
indexing query_people_count_single_indexed_property_entities -1.311% -2.122% -0.515%
indexing query_people_count_indexed_multi-property_entities 1.246% 0.737% 2.072%
indexing query_people_indexed_multi-property_entities -0.981% -1.848% -0.286%
indexing with_query_results_indexed_multi-property_entities -0.978% -1.374% -0.681%
counts index_after_adding_entities 0.895% 0.447% 1.434%
sampling count_and_sampling_single_unindexed_concrete_plus_derived_entiti -0.870% -1.093% -0.660%
counts single_property_unindexed_entities 0.789% 0.088% 1.685%
sample_entity sample_entity_whole_population 10000 0.662% -1.076% 2.344%
counts concrete_plus_derived_unindexed_entities 0.569% -0.157% 1.309%
sample_entity sample_entity_single_property_indexed 1000 0.564% -0.900% 2.140%
sample_entity sample_entity_single_property_unindexed 10000 0.538% 0.138% 0.969%
indexing with_query_results_multiple_individually_indexed_properties_enti -0.390% -0.945% 0.087%
indexing with_query_results_single_indexed_property_entities 0.375% -0.741% 1.590%
large_dataset bench_query_population_multi_unindexed_entities -0.253% -0.932% 0.351%
sample_entity sample_entity_multi_property_indexed 100000 -0.226% -0.818% 0.404%
sampling sampling_multiple_unindexed_entities -0.210% -0.341% -0.112%
sampling sampling_single_unindexed_entities -0.160% -0.381% 0.087%
algorithm_benches algorithm_sampling_multiple_l_reservoir 0.079% -0.573% 0.705%
algorithm_benches algorithm_sampling_single_l_reservoir -0.062% -0.582% 0.317%
Not Compared (no baseline yet)
Group Bench Reason
(none)

github-actions Bot added a commit that referenced this pull request Jul 21, 2026
@cdc-as81 cdc-as81 changed the title chore: update rand requirement from ^0.9.2 to ^0.10.2 dependencies: update rand requirement from ^0.9.2 to ^0.10.2 Jul 27, 2026
@cdc-as81 cdc-as81 added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 27, 2026
@k88hudson-cfa

Copy link
Copy Markdown
Collaborator

Upgrading rand is a breaking change in user code, let's discuss

@k88hudson-cfa k88hudson-cfa added the needs discussion Needs discussion before implementation label Jul 27, 2026
@k88hudson-cfa

Copy link
Copy Markdown
Collaborator

Also this would probably mean a 3.0 bump

@k88hudson-cfa

Copy link
Copy Markdown
Collaborator

File #1021 to track dependencies

@k88hudson-cfa k88hudson-cfa removed the needs discussion Needs discussion before implementation label Jul 27, 2026
@cdc-as81
cdc-as81 merged commit 3c7649b into main Aug 4, 2026
25 checks passed
@cdc-as81
cdc-as81 deleted the cdc-as81-rand-10-2 branch August 4, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants