Cross-platform filesystem notification library for Rust.
- Notify Documentation
- Notify Types Documentation
- Mini Debouncer Documentation
- Full Debouncer Documentation
- File ID
- Examples
- Changelog
- Upgrading notify from v4
- Minimum supported Rust version: 1.85
As used by: alacritty, cargo watch, cobalt, deno, docket, mdBook, rust-analyzer, watchexec, watchfiles, xi-editor, and others.
(Looking for desktop notifications instead? Have a look at notify-rust or alert-after!)
We follow these MSRV rules:
- The current MSRV is 1.85.
- MSRV bumps do NOT require a major release and may happen in minor releases.
- The MSRV may be updated when needed, but support for the current stable Rust release and the previous two stable releases (N, N-1, N-2) is always guaranteed.
- For example, if the current stable version is 1.85, we guarantee support for 1.85, 1.84, and 1.83, so the minimum supported Rust version will be at most 1.83.
- MSRV is bumped only when needed, e.g.:
- required by dependencies
- any serious bug is found (including security-related)
- adopting new stable Rust features
- Every MSRV bump is documented in the release notes when it happens.
- Linux / Android: inotify
- macOS: FSEvents or kqueue, see features
- Windows: ReadDirectoryChangesW
- iOS / FreeBSD / NetBSD / OpenBSD / DragonflyBSD: kqueue
- All platforms: polling
notify is licensed under the CC Zero 1.0.
notify-types is licensed under the MIT or Apache-2.0 license.
notify-debouncer-mini is licensed under the MIT or Apache-2.0 license.
notify-debouncer-full is licensed under the MIT or Apache-2.0 license.
file-id is licensed under the MIT or Apache-2.0 license.
Inspired by Go's fsnotify and Node.js's Chokidar, born out of need for cargo watch, and general frustration at the non-existence of C/Rust cross-platform notify libraries.
Originally created by Félix Saparelli and awesome contributors.