PackageTrack
Sign in Get early access

tokio-signal

An implementation of an asynchronous Unix signal handling backed futures.

0.2.9 4.7M downloads/mo #4650 most downloaded on crates.io tokio-rs/tokio

What this package is like to depend on

Last release 7 years ago

no release in 18 months

Release timing varies

gaps range from 2 weeks to 6 months

Nearly every release is documented

notes for 15 of 15 stable releases

1 version withdrawn

withdrawn after publishing

10 years old

17 releases · first in 2016

0 releases in the last 12 months

see the full history below

Release timeline

17 releases · Sep 2016 to Feb 2020
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 17
  1. 0.3.0-alpha.1 08 Aug 2019 pre-release

    Nothing published for this version

  2. 0.2.9 05 Feb 2020
    Release notes

    Fixes

    • AsyncSeek impl for File (#1986).
    • rt: shutdown deadlock in threaded_scheduler (#2074, #2082).
    • rt: memory ordering when dropping JoinHandle (#2044).
    • docs: misc API documentation fixes and improvements.
    Open source →
  3. 0.2.8 22 Mar 2019 withdrawn
    Release notes

    Fixes

    • depend on new version of tokio-macros.
    Open source →
  4. 0.2.7 22 Nov 2018
    Release notes

    Fixes

    • potential deadlock when dropping basic_scheduler Runtime.
    • calling spawn_blocking from within a spawn_blocking (#2006).
    • storing a Runtime instance in a thread-local (#2011).
    • miscellaneous documentation fixes.
    • rt: fix Waker::will_wake to return true when tasks match (#2045).
    • test-util: time::advance runs pending tasks before changing the time (#2059).

    Added

    • net::lookup_host maps a T: ToSocketAddrs to a stream of SocketAddrs (#1870).
    • process::Child fields are made public to match std (#2014).
    • impl Stream for sync::broadcast::Receiver (#2012).
    • sync::RwLock provides an asynchronous read-write lock (#1699).
    • runtime::Handle::current returns the handle for the current runtime (#2040).
    • StreamExt::filter filters stream values according to a predicate (#2001).
    • StreamExt::filter_map simultaneously filter and map stream values (#2001).
    • StreamExt::try_next convenience for streams of Result<T, E> (#2005).
    • StreamExt::take limits a stream to a specified number of values (#2025).
    • StreamExt::take_while limits a stream based on a predicate (#2029).
    • StreamExt::all tests if every element of the stream matches a predicate (#2035).
    • StreamExt::any tests if any element of the stream matches a predicate (#2034).
    • task::LocalSet.await runs spawned tasks until the set is idle (#1971).
    • time::DelayQueue::len returns the number entries in the queue (#1755).
    • expose runtime options from the #[tokio::main] and #[tokio::test] (#2022).
    Open source →
    Release notes

    Changed

    • unix::Signal now implements Sync
    • minimize allocations

    Fixes

    • unix::Signal now avoids extraneous wakeups generated as a result of dropping other instances
    Open source →
  5. 0.2.6 24 Oct 2018
    Release notes

    Fixes

    • fs::File::seek API regression (#1991).
    Open source →
    Release notes

    Changed

    • Use the signal-hook crate for managing signal registrations
    Open source →
  6. 0.2.5 30 Aug 2018
    Release notes

    Added

    • io::AsyncSeek trait (#1924).
    • Mutex::try_lock (#1939)
    • mpsc::Receiver::try_recv and mpsc::UnboundedReceiver::try_recv (#1939).
    • writev support for TcpStream (#1956).
    • time::throttle for throttling streams (#1949).
    • implement Stream for time::DelayQueue (#1975).
    • sync::broadcast provides a fan-out channel (#1943).
    • sync::Semaphore provides an async semaphore (#1973).
    • stream::StreamExt provides stream utilities (#1962).

    Fixes

    • deadlock risk while shutting down the runtime (#1972).
    • panic while shutting down the runtime (#1978).
    • sync::MutexGuard debug output (#1961).
    • misc doc improvements (#1933, #1934, #1940, #1942).

    Changes

    • runtime threads are configured with runtime::Builder::core_threads and runtime::Builder::max_threads. runtime::Builder::num_threads is deprecated (#1977).
    Open source →
    Release notes

    Fixes

    • Fix a possible starvation when polling multiple Signal instances outside of a tokio reactor (e.g. by using Future::wait)
    Open source →
  7. 0.2.4 25 Aug 2018
    Release notes

    Fixes

    • sync::Mutex deadlock when lock() future is dropped early (#1898).
    Open source →
    Release notes

    Fixes

    • Actually make unix::bsd public
    Open source →
  8. 0.2.3 25 Aug 2018
    Release notes

    Added

    • read / write integers using AsyncReadExt and AsyncWriteExt (#1863).
    • read_buf / write_buf for reading / writing Buf / BufMut (#1881).
    • TcpStream::poll_peek - pollable API for performing TCP peek (#1864).
    • sync::oneshot::error::TryRecvError provides variants to detect the error kind (#1874).
    • LocalSet::block_on accepts !'static task (#1882).
    • task::JoinError is now Sync (#1888).
    • impl conversions between tokio::time::Instant and std::time::Instant (#1904).

    Fixes

    Open source →
    Release notes

    Features

    • Exposes SIGINFO on BSD-based operating systems.
    Open source →
  9. 0.2.2 14 Aug 2018
    Release notes

    Fixes

    • scheduling with basic_scheduler (#1861).
    • update spawn panic message to specify that a task scheduler is required (#1839).
    • API docs example for runtime::Builder to include a task scheduler (#1841).
    • general documentation (#1834).
    • building on illumos/solaris (#1772).
    • panic when dropping LocalSet (#1843).
    • API docs mention the required Cargo features for Builder::{basic, threaded}_scheduler (#1858).

    Added

    • impl Stream for signal::unix::Signal (#1849).
    • API docs for platform specific behavior of signal::ctrl_c and signal::unix::Signal (#1854).
    • API docs for signal::unix::Signal::{recv, poll_recv} and signal::windows::CtrlBreak::{recv, poll_recv} (#1854).
    • File::into_std and File::try_into_std methods (#1856).
    Open source →
    Release notes

    Fixes

    • Fix starvation of Signals whenever a Signal instance is dropped
    • Fix starvation of individual Signals based on their creation order
    Open source →
  10. 0.2.1 27 May 2018
    Release notes

    Fixes

    • API docs for TcpListener::incoming, UnixListener::incoming (#1831).

    Added

    • tokio::task::LocalSet provides a strategy for spawning !Send tasks (#1733).
    • export tokio::time::Elapsed (#1826).
    • impl AsRawFd, AsRawHandle for tokio::fs::File (#1827).
    Open source →
    Release notes

    Fixes

    • Bump minimum supported version of mio to 0.6.14
    Open source →
  11. 0.2.0 07 May 2018
    Release notes

    A major breaking change. Most implementation and APIs have changed one way or another. This changelog entry contains a highlight

    Changed

    • APIs are updated to use async / await.
    • most tokio-* crates are collapsed into this crate.
    • Scheduler is rewritten.
    • tokio::spawn returns a JoinHandle.
    • A single I/O / timer is used per runtime.
    • I/O driver uses a concurrent slab for allocating state.
    • components are made available via feature flag.
    • Use bytes 0.5
    • tokio::codec is moved to tokio-util.

    Removed

    • Standalone timer and net drivers are removed, use Runtime instead
    • current_thread runtime is removed, use tokio::runtime::Runtime with basic_scheduler instead.
    Open source →
    Release notes

    Features

    • Uses tokio instead of tokio_core
    • Supports all 33 signals on FreeBSD
    Open source →
  12. 0.1.5 09 Mar 2018
    Release notes
    • Provide timer API (#266)
    Open source →
  13. 0.1.4 02 Feb 2018
    Release notes
    • Fix build on FreeBSD (#218)
    • Shutdown the Runtime when the handle is dropped (#214)
    • Set Runtime thread name prefix for worker threads (#232)
    • Add builder for Runtime (#234)
    • Extract TCP and UDP types into separate crates (#224)
    • Optionally support futures 0.2.
    Open source →
  14. 0.1.3 03 Jan 2018
    Release notes
    • Fix CurrentThread::turn to block on idle (#212).
    Open source →
  15. 0.1.2 24 Jan 2017
    Release notes
    • Introduce Tokio Runtime (#141)
    • Provide CurrentThread for more flexible usage of current thread executor (#141).
    • Add Lio for platforms that support it (#142).
    • I/O resources now lazily bind to the reactor (#160).
    • Extract Reactor to dedicated crate (#169)
    • Add facade to sub crates and add prelude (#166).
    • Switch TCP/UDP fns to poll_ -> Poll<...> style (#175)
    Open source →
  16. 0.1.1 12 Jan 2017
    Release notes
    • Doc fixes
    Open source →
  17. 0.1.0 10 Sep 2016
    Release notes
    • Initial crate released based on RFC.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive