NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #952 most downloaded on crates.io
Tokio-based single-threaded async runtime for the Actix ecosystem
Last release 24 days ago
13 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.2 years
Nearly every release is documented
notes for 29 of 29 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
36 releases · first in 2018
Add Arbiter::alive() and ArbiterHandle::alive() to check whether the arbiter's command channel is still open.
Arbiter::alive() and ArbiterHandle::alive() to check whether the arbiter's command channel is still open.Add separate net and signal features, enabled by default, to make Tokio networking and OS signal support optional. Users who disable default features
net and signal features, enabled by default, to make Tokio networking and OS signal support optional. Users who disable default features must explicitly enable net and/or signal to use the corresponding modules.One column per quarter.
Add Arbiter::try_new() and Arbiter::try_with_tokio_rt() for fallible Arbiter initialization.
Arbiter::try_new() and Arbiter::try_with_tokio_rt() for fallible Arbiter initialization.Add SystemRunner::stop_future and SystemRunner::into_parts for awaiting system stop inside block_on .
SystemRunner::stop_future and SystemRunner::into_parts for awaiting system stop inside block_on.{System, Arbiter}::with_tokio_rt to accept shared Tokio runtimes (e.g. Arc<tokio::runtime::Runtime> or &'static tokio::runtime::Runtime).io-uring support.Implement ActixStream for tokio::BufReader<IO> .
ActixStream for tokio::io::BufReader<IO>.pin re-export.ActixStream for tokio::io::BufReader<IO>.pin re-export.Relax F's bound (Fn => FnOnce) on {Arbiter, System}::with_tokio_rt() functions.
F's bound (Fn => FnOnce) on {Arbiter, System}::with_tokio_rt() functions.tokio-uring dependency to 0.5.Use Tokio LocalRuntime s for workers instead of LocalSet s.
LocalRuntimes for workers instead of LocalSets.actix_rt::System::runtime() method to retrieve the underlying actix_rt::Runtime runtime.actix_rt::Runtime::tokio_runtime() method to retrieve the underlying Tokio runtime.Remove experimental io-uring support.
io-uring support.#[track_caller] attribute to spawn functions and methods.tokio-uring dependency to 0.4.Add ServerBuilder::graceful_shutdown_signal() to propagate graceful shutdown to services.
ServerBuilder::graceful_shutdown_signal() to propagate graceful shutdown to services.tokio-uring dependency to 0.3.Add ServerBuilder::shutdown_signal() method.
ServerBuilder::shutdown_signal() method.Minimum supported Rust version (MSRV) is now 1.71.
Add System::run_with_code to allow retrieving the exit code on stop.
System::run_with_code to allow retrieving the exit code on stop.Add Arbiter::try_current for situations where thread may or may not have Arbiter context.
Arbiter::try_current for situations where thread may or may not have Arbiter context.System::new when feature is enabled.The spawn method can now resolve with non-unit outputs.
spawn method can now resolve with non-unit outputs.io-uring feature for enabling async file I/O on linux.BREAKING ActixStream::{poll_read_ready, poll_write_ready} methods now return Ready object in ok variant.
ActixStream::{poll_read_ready, poll_write_ready} methods now return Ready object in ok variant.
ActixStream was not intended to be public.Add ActixStream extension trait to include readiness methods.
ActixStream extension trait to include readiness methods.tokio::net::TcpSocket in net moduleAdd Arbiter::handle to get a handle of an owned Arbiter.
Arbiter::handle to get a handle of an owned Arbiter.System::try_current for situations where actix may or may not be running a System.- Expose JoinError from Tokio.
JoinError from Tokio.Remove all Arbiter-local storage methods.
tokio::pin.Remove deprecated Arbiter::local_join and Arbiter::is_running.
run_in_tokio, attach_to_tokio and AsyncSystemRunner.JoinHandle from actix_rt::spawn.Arbiter::spawn. Implementation is now inlined into actix_rt::spawn.Arbiter::{send => spawn} and Arbiter::{exec_fn => spawn_fn}.Arbiter::exec.Arbiter::local_join and Arbiter::is_running.Arbiter::spawn now accepts !Unpin futures.System::new no longer takes arguments.System::with_current.Builder.System::with_init as replacement for Builder::run.System::{is_set => is_registered}.ArbiterHandle for sending messages to non-current-thread arbiters.System::arbiter now returns an &ArbiterHandle.Arbiter::current now returns an ArbiterHandle instead.Arbiter::join now takes self by value.Add task mod with re-export of tokio::{spawn_blocking, yield_now, JoinHandle}
task mod with re-export of tokio::task::{spawn_blocking, yield_now, JoinHandle}default-features=false.Add System::attach_to_tokio method.
System::attach_to_tokio method.tokio dependency to 1.0.time module delay_for to sleep, delay_until to sleep_until, Delay to Sleep to stay aligned with Tokio's naming.'static lifetime requirement for Runtime::block_on and SystemRunner::block_on.
&self when calling.'static lifetime requirement for System::run and Builder::run.Arbiter::spawn now panics when System is not in scope.PENDING thread local.- Fix memory leak due to
Expose System::is_set to check if current system has ben started
System::is_set to check if current system has ben startedArbiter::is_running to check if event loop is runningArbiter::local_join associated function to get be able to await for spawned futures- Update dependencies
Fix compilation on non-unix platforms
Export main and test attribute macros
main and test attribute macrostime module (re-export of tokio-timer)net module (re-export of tokio-net)Migrate to std::future and tokio 0.2
Allow to join arbiter's thread. #60
Minimum supported Rust version (MSRV) is now 1.88.
syn dependency to 3.Avoid a copy of the Future when initializing the Box. #29
Allow to start System using existing CurrentThread Handle #22
Moved blocking module to actix-threadpool crate
blocking module to actix-threadpool crateAdded Arbiter::exec_fn - execute fn on the arbiter's thread
blocking moduleArbiter::exec_fn - execute fn on the arbiter's threadArbiter::exec - execute fn on the arbiter's thread and wait resultrun method returns io::Result<()>
run method returns io::Result<()>Handle- Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →