turmoil
Simulation testing framework for distributed systems
0.7.2
16M downloads/mo
#2404 most downloaded on crates.io
tokio-rs/turmoil
What this package is like to depend on
Last release 4 months ago
24 Apr 2026
Release timing varies
gaps range from 2 weeks to 8 months
Most releases are documented
notes for 23 of 26 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
26 releases · first in 2022
3 releases in the last 12 months
see the full history below
Release timeline
26 releases · Aug 2022 to Apr 2026
2023
2024
2025
2026
Releases
latest 26-
0.7.224 Apr 2026 -
0.7.129 Jan 2026Release notes
Open source →Added
- Add simulated filesystem and barriers for deterministic testing (#250, #254)
unstable-fsfeature: Drop-in replacements for std::fs and tokio::fs with durability simulationunstable-barriersfeature: Inject hooks at specific code points for deterministic test control
- Add
turmoil::net::lookup_host(#257) - Add API to check whether we are inside a simulation (#258)
- Add
UdpSocket::try_recv(#255) - Add
crate::since_epoch()API to return logical time elapsed since epoch (#249) - Add ci to check external types (#250)
- Update to rand 0.9 (#215)
Changed
Release notes
Open source →Added
- Add simulated filesystem and barriers for deterministic testing (#250, #254)
unstable-fsfeature: Drop-in replacements for std::fs and tokio::fs with durability simulationunstable-barriersfeature: Inject hooks at specific code points for deterministic test control
- Add
turmoil::net::lookup_host(#257) - Add API to check whether we are inside a simulation (#258)
- Add
UdpSocket::try_recv(#255) - Add
crate::since_epoch()API to return logical time elapsed since epoch (#249) - Add ci to check external types (#250)
- Update to rand 0.9 (#215)
Changed
- Add simulated filesystem and barriers for deterministic testing (#250, #254)
-
0.7.003 Nov 2025Release notes
Open source →Added
- Add a basic cluster simulation example (#233)
- Seed tokio with the world rng (#245)
- Update deps (#236, #237, #239, #241)
- Add bind drop test (#235)
Fixed
Breaking
- Change
Builderto accept an rng seed (#246)
-
0.6.610 Mar 2025Release notes
Open source →Added
- Add UDP multicast, broadcast simulation (#224, #226)
- Improve host ports exhausted panic message (#218)
- Add explicit tracing output when runtime shuts down due to no clients (#213)
- Update Axum example to
0.8(#221)
Fixed
-
0.6.529 Jan 2025Release notes
Open source →Release notes
Open source → -
0.6.409 Oct 2024 -
0.6.315 Jul 2024 -
0.6.203 Apr 2024Release notes
Open source →Added
- Enable tokio io driver (#171)
Fixed
- Make sim_elapsed function safe to call outside of simulation (#170)
Release notes
Open source →Added
- Enable tokio io driver (#171)
Fixed
- Make sim_elapsed function safe to call outside of simulation (#170)
-
0.6.116 Jan 2024 -
0.6.017 Nov 2023Release notes
Open source →Added
- Documentation to the sim builder (#152)
Fixed
- Avoid trying to spawn on teardown when rt is gone (#153)
- Deliver loopback packets in the next step (#153)
Breaking
- Remove
rngfrom sim builder as it wasn't applied when building.
This is technically a bug fix, but will break consumers.
Usebuild_with_rnginstead (#150)
Release notes
Open source →Added
- Documentation to the sim builder (#152)
Fixed
- Avoid trying to spawn on teardown when rt is gone (#153)
- Deliver loopback packets in the next step (#153)
Breaking
- Remove
rngfrom sim builder as it wasn't applied when building. This is technically a bug fix, but will break consumers. Usebuild_with_rnginstead (#150)
-
0.5.806 Nov 2023 -
0.5.720 Oct 2023 -
0.5.624 Jul 2023 -
0.5.506 Jun 2023Release notes
Open source →Added
- Make socket buffer capacity configurable (#121)
Fixed
- Fix reverse dns lookups on static binds (#120)
-
0.5.424 May 2023Release notes
Open source →Added
- Support ephemeral port assignments on bind (#110)
- Add support for Ipv6 network/binds (#113)
- Add support for loopback (#118)
Fixed
-
0.5.323 Mar 2023 -
0.5.213 Mar 2023 -
0.5.102 Mar 2023 -
0.5.008 Feb 2023Nothing published for this version
-
0.4.010 Jan 2023Nothing published for this version
-
0.3.307 Dec 2022 -
0.3.214 Nov 2022 -
0.3.110 Nov 2022Release notes
Open source →Added
- Add local/peer addrs to tcp types
- Expose host elapsed time
Changed
- Use tracing levels for different network events (#53)
Fixed
- Fix host crash behavior (#52)
-
0.3.028 Oct 2022Release notes
Open source →Added
- Bind to multiple ports per host
- Simulated networking (UDP and TCP) that mirror tokio::net
- Client host error handling
Changed
- Logging uses
tracingfor writing events
-
0.2.011 Aug 2022 -
0.1.003 Aug 2022Nothing published for this version