Recent Releases of https://github.com/awslabs/shuttle
https://github.com/awslabs/shuttle - v0.8.1
0.8.1 (Jun 19, 2025)
- Fix bug in
BatchSemaphore(#167) - Fix bug in
RwLock(#170) - Add
current::reset_step_count(#175) - Add
spawn_local(#176) - Add
thread::scope(#181) - Add
AbortHandle(#182)
- Rust
Published by sarsko about 1 year ago
https://github.com/awslabs/shuttle - v0.8
- Add
BatchSemaphore(#151) block_onnow has one less thread switch point, which breaks schedules. (#155)ReplayScheduler::set_target_clockadded (#156)- Schedulers now receive references to
Tasks instead ofTaskIds (#156) - Expose
check_random_with_seed(#161) - Make
check_randomoptionally take a seed by providing the environment variableSHUTTLE_RANDOM_SEED(#161) - Shuttle Explorer extension (#163).
AnnotationSchedulerand annotated schedule support added under feature "annotation" (#163)
- Rust
Published by sarsko over 1 year ago
https://github.com/awslabs/shuttle - v0.7.0
- Add support for task labels. These replace task tags, which are deprecated and will be removed in a future release. (#138)
- In the meantime,
Tags are now implemented with a trait. This is a breaking change from 0.6.1. (#111) - Implement
is_finished()forfuture::JoinHandle(#118)
- Rust
Published by jamesbornholt over 2 years ago
https://github.com/awslabs/shuttle - v0.6.1
- Add feature to tag tasks (#98)
- Add scheduler to check for uncontrolled nondeterminism (#96, #97)
- Support spurious wakeups for
thread::park(#101) - Support different leaders when
sync::Barrieris reused (#102) - Make
{Mutex, Condvar, RwLock}::newconst (#106) - Improve tracing spans (#99)
- Fix spurious deadlocks with
FuturesUnordered(#105) - Split schedule output over multiple lines (#103)
- Bump
futuresdependency (#107)
- Rust
Published by bkragl about 3 years ago
https://github.com/awslabs/shuttle - v0.6.0
This version renames the silence_atomic_ordering_warning configuration option to silence_warnings, as well as the corresponding environment variables, to enable future warnings to be controlled by the same mechanism.
- Implement
lazy_staticsupport (#93)
- Rust
Published by jamesbornholt over 3 years ago
https://github.com/awslabs/shuttle - v0.5.0
This version updates the embedded rand library to v0.8. Tests that use shuttle::rand will need to update to the v0.8 interface of rand, which included some breaking changes.
- Update
randand other dependencies (#89) - Implement abort for
future::JoinHandle(#87) - Correctly handle the main thread's thread-local storage destructors (#88)
- Rust
Published by jamesbornholt over 3 years ago
https://github.com/awslabs/shuttle - v0.4.1
- Make PCT scheduling not linear in max number of tasks (#84)
- Rust
Published by jamesbornholt over 3 years ago
https://github.com/awslabs/shuttle - v0.4.0
- Depdendency updates
- Rust
Published by jamesbornholt over 3 years ago
https://github.com/awslabs/shuttle - v0.3.0
Note that clients using async primitives provided by Shuttle (task spawn, block_on, yield_now) will
need to be updated due to the renaming of the asynch module to future in this release.
- Rust 2021 conversion and dependency bumps (#76)
- Implement
thread::parkandthread::unpark(#77) - Implement
std::hint(#78) - Rename the
asynchmodule tofuture(#79)
- Rust
Published by jamesbornholt almost 4 years ago
https://github.com/awslabs/shuttle - v0.2.0
Note that failing test schedules created by versions of Shuttle before 0.2.0 will not successfully
replay on version 0.2.0, and vice versa, as the changes below affect Mutex and RwLock
scheduling decisions.
- Implement
Mutex::try_lock(#71) - Implement
RwLock::{try_read, try_write}(#72) - Export a version of
std::sync::Weak(#69) - Provide better error messages for deadlocks caused by non-reentrant locking (#66)
- Rust
Published by jamesbornholt almost 4 years ago
https://github.com/awslabs/shuttle - v0.1.0
- Implement
Condvar::wait_whileandCondvar::wait_timeout_while(#59) - Remove implicit
Sizedbounds onMutexandRwLock(#62) - Dependency updates (#58, #60)
- Rust
Published by jamesbornholt about 4 years ago
https://github.com/awslabs/shuttle - v0.0.7
- Fix a number of issues in support for async tasks (#50, #51, #52, #54)
- Improve error messages when using Shuttle primitives outside a Shuttle test (#42)
- Add support for thread local storage (the
thread_local!macro) (#43, #53) - Add support for
Oncecells (#49) - Simplify some dependencies to improve build times (#55)
- Move
context_switchesandmy_clockfunctions into a newcurrentmodule (#56)
- Rust
Published by jamesbornholt almost 5 years ago
https://github.com/awslabs/shuttle - v0.0.6
- Add support for
std::sync::atomic(#33) - Add
shuttle::context_switchesto get a logical clock for an execution (#37) - Track causality between threads (#38)
- Better handling for double panics and poisoned locks (#30, #40)
- Add option to not persist failures (#34)
- Rust
Published by jamesbornholt almost 5 years ago
https://github.com/awslabs/shuttle - v0.0.5
- Fix a performance regression with
tracingintroduced by #24 (#31) - Include default features for the
randcrate to fix compilation issues (#29)
- Rust
Published by jamesbornholt about 5 years ago
https://github.com/awslabs/shuttle - v0.0.4
- Add a timeout option to run tests for a fixed amount of time (#25)
- Include task ID in all
tracinglog output (#24) - Implement
thread::current(#23)
- Rust
Published by jamesbornholt about 5 years ago
https://github.com/awslabs/shuttle - v0.0.3
- Update for Rust 1.51 (#11)
- Add option to bound how many steps a test runs on each iterations (#14)
- Remove option to configure the maximum number of threads/tasks (#16, #19)
- Make
yield_nowa hint to the scheduler to allow validating busy loops (#18) - Add
ReplayScheduler::new_from_file(#20)
- Rust
Published by jamesbornholt about 5 years ago
https://github.com/awslabs/shuttle - v0.0.2
- Add Default impl to RwLock (#7)
- Add option to persist schedules to a file (#4)
- Rust
Published by jamesbornholt over 5 years ago
https://github.com/awslabs/shuttle - v0.0.1
Initial release of Shuttle
- Rust
Published by jamesbornholt over 5 years ago