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 2026Releases
latest 46-
0.4.404 Apr 2026 -
0.4.324 Jan 2026 -
0.4.224 Jan 2026Release notes
Open source →- Fix double-close on pipe unregister (#200).
- Don't include development scripts in release package (195).
-
0.4.126 Dec 2025 -
0.4.026 Dec 2025Release notes
Open source →Not bumping the async crates - they use it, but they don't expose the
changed API.Release notes
Open source →- Changed the
low_level::pipeto lookOwnedFdinstead ofIntoRawFd, to enforce ownership of the file descriptor (#196).
- Changed the
-
0.3.1809 May 2025Nothing published for this version
-
0.3.1718 Jul 2023 -
0.3.1615 Jul 2023 -
0.3.1511 Feb 2023Nothing published for this version
-
0.3.1416 May 2022 -
0.3.1320 Dec 2021 -
0.3.1208 Dec 2021 -
0.3.1107 Dec 2021Release notes
Open source →- Provide fallback sigaddset, sigemptyset on certain androids, as they are missing them.
-
0.3.1031 Aug 2021 -
0.3.901 Jun 2021 -
0.3.803 Apr 2021 -
0.3.710 Mar 2021 -
0.3.620 Feb 2021 -
0.3.520 Feb 2021 -
0.3.416 Jan 2021 -
0.3.310 Jan 2021Release notes
Open source →low_level::emulate_default_handlerto emulate whatever default handler would do.low_level::signal_nameto look up human readable name.- The
Origin's debug output now contains the human readable name of the signal.
-
0.3.203 Jan 2021Release notes
Open source →- Allow extracting Origin from the raw
siginfo_tstructure by hand, without needing an iterator. - Folding the signal-hook-sys inline (but still compiling C code only conditionally).
WithRawSiginfoextractor (to get hands on the rawsiginfo_t).- Bugfix: Don't leak on WithOrigin destruction.
- Allow extracting Origin from the raw
-
0.3.126 Dec 2020Release notes
Open source →- Use caret dependencies where appropriate (to allow upgrades on signal-hook-registry).
-
0.3.021 Dec 2020Release notes
Open source →- The
cleanupmodule is gone, it was not a good API. Replaced by conditional termination inflag. - Some abstractions/patterns are moved to
low_levelsubmodule, 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.
- The
-
0.2.326 Dec 2020Nothing published for this version
-
0.2.215 Dec 2020Release notes
Open source →- Extractor for the origin of a signal (PID, UID, what caused it).
- Fixing some doc links on re-exports.
-
0.2.124 Nov 2020Release notes
Open source →- Allow turning the iterator module off (the
iteratorfeature, part of default features). This would allow compiling the crate on 1.31.0.
- Allow turning the iterator module off (the
-
0.2.022 Nov 2020Release notes
Open source →- 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_rawnow takes ownership and tries to use send first, falls back toO_NONBLOCKandwriteon failure. - (Breaking) All async support is pulled out into separate crates, to decouple
from the async runtime release cycles on the main
signal-hookcrate. - Inner parts of the
Iteratorare now exposed insignal_hook::iterator::backend, to support the async crates.
-
0.1.1726 Dec 2020Nothing published for this version
-
0.1.1617 Jun 2020 -
0.1.1511 May 2020Release notes
Open source →- Make
Signalswork 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.
- Make
-
0.1.1401 May 2020Release notes
Open source →mio-0_7-supportfeature 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).
-
0.1.1326 Jan 2020 -
0.1.1223 Nov 2019 -
0.1.1127 Oct 2019Release notes
Open source →- Docs improvements.
- Fix registering pipes as well as sockets into the pipe module (#27).
-
0.1.1013 Jul 2019Release notes
Open source →- Fix busy loop in Iterator::forever when the mio-support feature is enabled (#16).
-
0.1.928 Apr 2019Nothing published for this version
-
0.1.825 Feb 2019Release notes
Open source →- The
Signalsiterator can now be closed (from another instance or thread), which can be used to shut down the thread handling signals from the main thread.
- The
-
0.1.726 Dec 2018Release notes
Open source →- The
Signalsiterator allows adding signals after creation. - Fixed a bug where
Signalsregistrations could be unregirestered too soon if theSignalswas cloned previously.
- The
-
0.1.611 Nov 2018Release notes
Open source →- The internally used ArcSwap thing doesn't block other ArcSwaps now (has independent generation lock).
-
0.1.520 Sep 2018 -
0.1.420 Aug 2018 -
0.1.305 Aug 2018 -
0.1.215 Jul 2018 -
0.1.101 Jul 2018Release notes
Open source →- Get rid of
catch_unwindinside the signal handler. - Link to the nix crate.
- Get rid of
-
0.1.022 Jun 2018Release notes
Open source →- Initial basic implementation.
- Flag helpers.
- Pipe helpers.
- High-level iterator helper.