NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #457 most downloaded on crates.io
Portable interface to epoll, kqueue, event ports, and IOCP
Last release 1 years ago
14 Sep 2025
Release timing varies
gaps range from 2 weeks to 7 months
Nearly every release is documented
notes for 47 of 47 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
47 releases · first in 2020
One column per quarter.
Bump MSRV to 1.71. ( #251 ) Update to windows-sys v0.61.
Add wait_deadline function.
wait_deadline function. (#226)Add a new optional tracing feature. When enabled, this feature adds logging to the implementation. By default it is disabled.
Implement AsRawFd and AsFd for Poller on Redox OS.
Add support for visionOS. ( #217 ) Fix typos in documentation.
Update to windows-sys v0.59.
windows-sys v0.59. (#214)Update hermit-abi to v0.4.0.
hermit-abi to v0.4.0. (#209)Fix a typo in Event::is_err() .
Event::is_err(). (#204)Add support for the PS Vita as a platform.
Deprecate the is_connect_failed function.
Use the epoll backend when RedoxOS is enabled.
epoll backend when RedoxOS is enabled. (#190)Add the ability to identify whether socket connection has failed.
Child object. (#180)eventfd initialization failures with a message
indicating the source of those failures. (#186)When AFD fails to initialize, the resulting error now references the underlying system error.
- Bump windows-sys to v0.52.0.
windows-sys to v0.52.0. (#169)Automatically restarts polling when ErrorKind::Interrupted is returned, rather than relying on the user to handle it.
ErrorKind::Interrupted is returned, rather than relying on the user to handle it. (#164)Poller::wait(). (#163)The kqueue backend previously allowed the following operations that other backends forbid. Now these operations result in an error:
kqueue backend previously allowed the following operations that other backends forbid. Now these operations result in an error: (#153)
Add an Event::new() constructor to simplify creating Events.
Event::new() constructor to simplify creating Events. (#149)Replace libc in all backends with the rustix crate (#108).
libc in all backends with the rustix crate (#108).tracing instead of log for logging (#119).Event partially opaque, and create a new Events struct for holding events. (#133)polling in Linux containers without eventfd available. (#134)Pollers. (#136)c_int from the standard library in polling::os::kqueue instead of defining our own. (#143)std feature. (#147)Add functionality for posting events to the IOCP.
Add edge/oneshot combination mode.
Add level and edge triggered modes to the poller
EVFILT_USER to wake up the poller instead of a pipe (#73)port_send to wake up the poller instead of a pipe (#74)windows_sys from 0.42 to 0.45 (#80)kqueue filter types (#83)Update use of libc::timespec to prepare for future libc version
libc::timespec to prepare for future libc version (#55)libc::kevent to prepare for future libc version (#56)Fix the build error with MSRV on Windows
Switch from winapi to windows-sys
winapi to windows-sys (#47)Fix the build error on illumos and Solaris
Poller internal representation (#40)Implement AsRawFd for Poller on most Unix systems
AsRawFd for Poller on most Unix systems (#39)AsRawHandle for Poller on Windows (#39)Support VxWorks, Fuchsia and other Unix systems by using poll.
Switch from wepoll-sys to wepoll-ffi.
wepoll-sys to wepoll-ffi.- Update cfg-if dependency to 1.
cfg-if dependency to 1.Replace manual pointer conversion with as_ptr() and as_mut_ptr().
as_ptr() and as_mut_ptr().- Minor docs improvements.
Add Event argument to Poller::insert().
Event argument to Poller::insert().insert()/interest()/remove() to add()/modify()/delete().wepoll-sys-stjepang with an wepoll-sys.- Add "std" cargo feature.
Remove libc dependency on Windows.
libc dependency on Windows.Replace the epoll_create1 hack with a cleaner solution.
epoll_create1 hack with a cleaner solution.epoll_wait to support systems without timerfd.- Fix a typo in the readme.
- Stabilize.
Fix compilation on x86_64-unknown-linux-gnux32
Replace log::debug! with log::trace!.
log::debug! with log::trace!.Specify oneshot mode in epoll/wepoll at insert.
- Add logging.
Fix a bug where epoll would block when the timeout is set to zero.
Fix a bug in timeouts on Windows where it would trigger too early.
Improve error handling around event ports fcntl
Add support for event ports (illumos and Solaris)
- Improve documentation - Fix a bug in Event::none().
Event::none().- Initial version
Your coding agent can read these notes before it upgrades. Set up the MCP server →