PackageTrack
Sign in Get early access

signal-hook

Unix signal handling

0.4.4 223M downloads/mo #457 most downloaded on crates.io vorner/signal-hook

What this package is like to depend on

Last release 4 months ago

04 Apr 2026

Release timing varies

gaps range from 2 weeks to 1.8 years

Most releases are documented

notes for 41 of 46 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

46 releases · first in 2018

5 releases in the last 12 months

see the full history below

Release timeline

46 releases · Jun 2018 to Apr 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 46
  1. 0.4.4 04 Apr 2026
    Release notes
    • Documentation about SIGBUS (#204).
    Open source →
  2. 0.4.3 24 Jan 2026
    Release notes
    • Don't exclude .c files from release package.
    Open source →
  3. 0.4.2 24 Jan 2026
    Release notes
    • Fix double-close on pipe unregister (#200).
    • Don't include development scripts in release package (195).
    Open source →
  4. 0.4.1 26 Dec 2025
    Release notes

    Version 0.4.1 (don't pin dep versions)

    Open source →
    Release notes
    • Don't pin specific dependency versions accidentally.
    Open source →
  5. 0.4.0 26 Dec 2025
    Release notes

    Not bumping the async crates - they use it, but they don't expose the
    changed API.

    Open source →
    Release notes
    • Changed the low_level::pipe to look OwnedFd instead of IntoRawFd, to enforce ownership of the file descriptor (#196).
    Open source →
  6. 0.3.18 09 May 2025

    Nothing published for this version

  7. 0.3.17 18 Jul 2023
    Release notes
    • Fix race condition leading into a panic in SignalsInfo::forever (#148).
    Open source →
  8. 0.3.16 15 Jul 2023
    Release notes
    • Fix compilation on OpenBSD (#147).
    Open source →
  9. 0.3.15 11 Feb 2023

    Nothing published for this version

  10. 0.3.14 16 May 2022
    Release notes
    • Added the SIGINFO signal (where available).
    Open source →
  11. 0.3.13 20 Dec 2021
    Release notes
    • Add haiku support.
    Open source →
  12. 0.3.12 08 Dec 2021
    Release notes
    • Fix accidentally broken windows build.
    Open source →
  13. 0.3.11 07 Dec 2021
    Release notes
    • Provide fallback sigaddset, sigemptyset on certain androids, as they are missing them.
    Open source →
  14. 0.3.10 31 Aug 2021
    Release notes
    • Doc link fixes.
    Open source →
  15. 0.3.9 01 Jun 2021
    Release notes
    • Deliver SIGCHLD even on stop/continue.
    Open source →
  16. 0.3.8 03 Apr 2021
    Release notes
    • Fix docs.rs build.
    Open source →
  17. 0.3.7 10 Mar 2021
    Release notes
    • Unmask a signal in default emulation if it is termination.
    Open source →
  18. 0.3.6 20 Feb 2021
    Release notes
    • Fix the labels on docs.rs :-|.
    Open source →
  19. 0.3.5 20 Feb 2021
    Release notes
    • Doc: include the features & these little labels inside docs.
    Open source →
  20. 0.3.4 16 Jan 2021
    Release notes
    • Fix feature dependencies (iterator depends on channel).
    Open source →
  21. 0.3.3 10 Jan 2021
    Release notes
    • low_level::emulate_default_handler to emulate whatever default handler would do.
    • low_level::signal_name to look up human readable name.
    • The Origin's debug output now contains the human readable name of the signal.
    Open source →
  22. 0.3.2 03 Jan 2021
    Release notes
    • Allow extracting Origin from the raw siginfo_t structure by hand, without needing an iterator.
    • Folding the signal-hook-sys inline (but still compiling C code only conditionally).
    • WithRawSiginfo extractor (to get hands on the raw siginfo_t).
    • Bugfix: Don't leak on WithOrigin destruction.
    Open source →
  23. 0.3.1 26 Dec 2020
    Release notes
    • Use caret dependencies where appropriate (to allow upgrades on signal-hook-registry).
    Open source →
  24. 0.3.0 21 Dec 2020
    Release notes
    • The cleanup module is gone, it was not a good API. Replaced by conditional termination in flag.
    • Some abstractions/patterns are moved to low_level submodule, as they are considered building blocks, not for direct use (register, pipe, channel).
    • The signal constants are moved to a submodule (consts), together with few more constants, to not clutter the root.
    • The forever iterator no longer consumes.
    Open source →
  25. 0.2.3 26 Dec 2020

    Nothing published for this version

  26. 0.2.2 15 Dec 2020
    Release notes
    • Extractor for the origin of a signal (PID, UID, what caused it).
    • Fixing some doc links on re-exports.
    Open source →
  27. 0.2.1 24 Nov 2020
    Release notes
    • Allow turning the iterator module off (the iterator feature, part of default features). This would allow compiling the crate on 1.31.0.
    Open source →
  28. 0.2.0 22 Nov 2020
    Release notes
    • Bump minimal rustc version to 1.36.0 (signal-hook-registry still builds with 1.26.0).
    • (Breaking) Support for exfiltrators ‒ ability to return more than just the signal number from the iterator and streams. Nothing more is implemented yet, but the place to put it is reserved in the API.
    • (Breaking) pipe::register_raw now takes ownership and tries to use send first, falls back to O_NONBLOCK and write on failure.
    • (Breaking) All async support is pulled out into separate crates, to decouple from the async runtime release cycles on the main signal-hook crate.
    • Inner parts of the Iterator are now exposed in signal_hook::iterator::backend, to support the async crates.
    Open source →
  29. 0.1.17 26 Dec 2020

    Nothing published for this version

  30. 0.1.16 17 Jun 2020
    Release notes
    • Fix possible blocking in signal handler registered by Signals.
    Open source →
  31. 0.1.15 11 May 2020
    Release notes
    • Make Signals work in edge-triggered mode in mio too, by always draining everything from the socket. Needed, because mio 0.7 doesn't have level-triggered any more.
    Open source →
  32. 0.1.14 01 May 2020
    Release notes
    • mio-0_7-support feature for use with mio 0.7.0+.
    • Bump minimal rustc version to 1.31.0 (signal-hook-registry can still build with 1.26.0).
    Open source →
  33. 0.1.13 26 Jan 2020
    Release notes
    • Some doc clarifications.
    Open source →
  34. 0.1.12 23 Nov 2019
    Release notes
    • cleanup module to register resetting signals to default.
    Open source →
  35. 0.1.11 27 Oct 2019
    Release notes
    • Docs improvements.
    • Fix registering pipes as well as sockets into the pipe module (#27).
    Open source →
  36. 0.1.10 13 Jul 2019
    Release notes
    • Fix busy loop in Iterator::forever when the mio-support feature is enabled (#16).
    Open source →
  37. 0.1.9 28 Apr 2019

    Nothing published for this version

  38. 0.1.8 25 Feb 2019
    Release notes
    • The Signals iterator can now be closed (from another instance or thread), which can be used to shut down the thread handling signals from the main thread.
    Open source →
  39. 0.1.7 26 Dec 2018
    Release notes
    • The Signals iterator allows adding signals after creation.
    • Fixed a bug where Signals registrations could be unregirestered too soon if the Signals was cloned previously.
    Open source →
  40. 0.1.6 11 Nov 2018
    Release notes
    • The internally used ArcSwap thing doesn't block other ArcSwaps now (has independent generation lock).
    Open source →
  41. 0.1.5 20 Sep 2018
    Release notes
    • Re-exported signal constants, so users no longer need libc.
    Open source →
  42. 0.1.4 20 Aug 2018
    Release notes
    • Compilation fix for android-aarch64
    Open source →
  43. 0.1.3 05 Aug 2018
    Release notes
    • Tokio support.
    • Mio support.
    • Dependency updates.
    Open source →
  44. 0.1.2 15 Jul 2018
    Release notes
    • Dependency updates.
    Open source →
  45. 0.1.1 01 Jul 2018
    Release notes
    • Get rid of catch_unwind inside the signal handler.
    • Link to the nix crate.
    Open source →
  46. 0.1.0 22 Jun 2018
    Release notes
    • Initial basic implementation.
    • Flag helpers.
    • Pipe helpers.
    • High-level iterator helper.
    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