Releases: awslabs/shuttle
v0.8
- Add
BatchSemaphore
(#151) block_on
now has one less thread switch point, which breaks schedules. (#155)ReplayScheduler::set_target_clock
added (#156)- Schedulers now receive references to
Task
s instead ofTaskId
s (#156) - Expose
check_random_with_seed
(#161) - Make
check_random
optionally take a seed by providing the environment variableSHUTTLE_RANDOM_SEED
(#161) - Shuttle Explorer extension (#163).
AnnotationScheduler
and annotated schedule support added under feature "annotation" (#163)
v0.7.0
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::Barrier
is reused (#102) - Make
{Mutex, Condvar, RwLock}::new
const (#106) - Improve tracing spans (#99)
- Fix spurious deadlocks with
FuturesUnordered
(#105) - Split schedule output over multiple lines (#103)
- Bump
futures
dependency (#107)
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_static
support (#93)
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.
v0.4.1
v0.4.0
- Depdendency updates
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.
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.