Changelog

5.0.0 (future)

  • CHANGE: Rewrite event debouncing.
  • CHANGE: Remove Op and DebouncedEvent event classification. #187
  • CHANGE: Make it opt-in to receive information about event kind. #187
  • CHANGE: Make Notice events opt-in.
  • CHANGE: Remove Senders from watcher API in favour of EventFn #214
  • META: The project maintainers have changed from @passcod to notify-rs.
  • CHANGE: Avoid stating the watched path for non-recursive watches with inotify #256
  • FIX: Report events promptly on Linux, even when many occur in rapid succession. #268
  • FIX: Remove anymap, and replace event attributes with an opaque type. #306
  • CHANGE: Hide fsevent::{CFRunLoopIsWaiting,callback}, fix clippy lint warnings #312

unreleased

5.0.0-pre.10 (2021-06-04)

  • FIX: Make StreamContextInfo Send to fix soundness issue #325

5.0.0-pre.9 (2021-05-21)

  • DEPS: Upgrade fsevent-sys dependency to 4.0 #322
  • CHANGE: Remove dependency on fsevent. #313
  • FIX: Correct the return type for CFRunLoopIsWaiting to be Boolean #319
  • CHANGE: Hide fsevent::{CFRunLoopIsWaiting,callback}, fix clippy lint warnings #312
  • FIX: Fix some clippy lints #320

5.0.0-pre.8 (2021-05-12)

  • HOTFIX: Fix breaking change in fsevent-sys in minor version destroying builds #316
  • FIX: Don't crash on macos when creating & deleting folders in rapid succession #302
  • FIX: Remove anymap, and replace event attributes with an opaque type. #306

5.0.0-pre.7 (2021-04-15)

  • FIX: Display proper error message when reaching inotify limits on linux #285
  • FIX: Fix leaks on Windows #298

5.0.0-pre.6 (2021-02-20)

  • FIX: Handle interrupted system call errors from mio #281

5.0.0-pre.5 (2021-01-28)

  • RUSTC: Push the minimum version to 1.47.0 #280
  • DEPS: Update inotify to 0.9 #280
  • DEPS: Update mio to 0.7 and remove mio-extras #278
  • FIX: Report events promptly on Linux, even when many occur in rapid succession. #268

5.0.0-pre.4 (2020-10-31)

  • CHANGE: Avoid stating the watched path for non-recursive watches with inotify #256
  • DOCS: Fix broken link in crate documentation #260

5.0.0-pre.3 (2020-06-22)

  • DEPS: Removed unused chashmap dependency #242

5.0.0-pre.2 (2020-01-07)

  • (Temporary): Remove event debouncing.
  • (Temporary): Remove tests.
  • CHANGE: Rewrite immediate events to use new system.
  • CHANGE: Remove Senders from watcher API in favour of EventFn #214
  • DEPS: Update inotify to 0.8. #234
  • DEPS: Update crossbeam-channel to 0.4.
  • DEPS: [macOS] Update fsevent to 2.0.1 and fsevent-sys to 3.0.0.

5.0.0-pre.1 (2019-06-30)

(no changes, just a new release because the old one failed to publish properly)

5.0.0-pre.0 (2019-06-22)

  • yanked 2019-06-30
  • RUSTC: Push the minimum version to 1.36.0 #201
  • RUSTC: Switch the crate to Rust 2018.
  • FIX: Implement Sync for PollWatcher to support FreeBSD. #197
  • FEATURE: Add new runtime configuration system.
  • FEATURE: Add Ongoing events (optional, configured at runtime). #146, #183
  • FEATURE: Bring in new event system from next branch. #187
  • FEATURE: Allow multiple watchers to send to the same channel. 2a035c86
  • CHANGE: Switch to crossbeam channel. #160
  • CHANGE: Rename Chmod to Metadata. #179, #180, previously #112, #161
  • CHANGE: Remove DebouncedEvent event classification. #187
  • DEPS: [Linux] Upgrade inotify to 0.7. #184
  • DEPS: [macOS] Upgrade fsevent to 0.4. #195
  • DEPS: Upgrade filetime to 0.2.6.
  • META: Rename v4-legacy branch to main, to further clarify status and prepare for a breaking release.
  • DOCS: Change v5 to Next Generation Notify to allow for a breaking release.
  • DOCS: Add rust-analyzer to Readme showcase.
  • DOCS: Add github issue / PR templates and funding.

4.0.15 (2020)

  • DEPS: Update winapi to 0.3.8 and remove kernel32-sys. #232
  • META: The project maintainers are changed from @passcod to notify-rs.

4.0.14 (2019-10-17)

  • FIX: Fix deadlock in debouncer. #210

4.0.13 (2019-09-01)

  • FIX: Undo filetime pin. #202, 22e40f5e
  • META: Project is abandoned.

4.0.12 (2019-05-22)

  • FIX: Implement Sync for PollWatcher to support FreeBSD. #198
  • DEPS: Peg filetime to 1.2.5 to maintain rustc 1.26.1 compatibility. #199

4.0.11 (2019-05-08)

  • DEPS: [macOS] Upgrade fsevent to 0.4. #196

4.0.10 (2019-03-07)

  • FIX: Panic caused by a clock race. #182
  • DOCS: Add xi to Readme showcase. e6f09441

4.0.9 (2019-02-09)

4.0.8 (2019-02-06)

  • DOCS: Mention hotwatch as alternative API. #175, 34775f26
  • DEPS: [Linux] Disable stream feature for inotify. #176, e729e279
  • DOCS: Add dates to releases in changelog. cc621398
  • DOCS: Backfill changelog: 4.0.2 to 4.0.7. 6457f697
  • DOCS: Backfill changelog: 0.0.1 to 2.6.0. d34e6ee7

4.0.7 (2019-01-23)

  • DOCS: Document unexpected behaviour around watching a tree root. #165, #166
  • DOCS: Remove v2 documentation. 8310b2cc
  • TESTS: Change how tests are skipped. 0b4c8400
  • DOCS: Add timetrack to Readme showcase. #167
  • META: Change commit message style: commits are now prefixed by a [topic].
  • FIX: Make sure debounced watcher terminates. #170
  • FIX: [Linux] Remove thread wake-up on timeout (introduced in 4.0.5 by error). #174
  • FIX: Restore compatibility with Rust before 1.30.0. eab75118
  • META: Enforce compatibility with Rust 1.26.1 via CI. 50924cd6
  • META: Add maintenance status badge. ecd686ba
  • DOCS: Freeze v4 branch (2018-10-05) 8310b2cc — and subsequently unfreeze it. (2019-01-19) 20c40f99, c00da47c

4.0.6 (2018-08-30)

  • FIX: Add some consts to restore semver compatibility. 6d4f1ab9

4.0.5 (2018-08-29)

  • DEPS: Update winapi (0.3), mio (0.6), inotify (0.6), filetime (0.2), bitflags (1.0). #162
  • SEMVER BREAK: The bitflags upgrade introduced a breaking change to the API.

4.0.4 (2018-08-06)

  • Derive various traits for RecursiveMode. #148
  • DOCS: Add docket to Readme showcase. #154
  • DOCS: Rename OS X to macOS. #156
  • FIX: [FreeBSD / Poll] Release the lock while the thread sleeps (was causing random hangs). #159

4.0.3 (2017-11-26)

  • FIX: [macOS] Concurrency-related FSEvent crash. #132
  • FIX: [macOS] Deadlock due to race in FsEventWatcher. #118, #134
  • DEPS: Update walkdir to 2.0. fbffef24

4.0.2 (2017-11-03)

  • FIX: Suppress events for files which have been moved and deleted if a new file in the original location is created quickly when using the debounced interface (eg. while safe-saving files) #129

4.0.1 (2017-03-25)

  • FIX: [Linux] Detect moves if two connected move events are split between two mio polls

4.0.0 (2017-02-07)

  • CHANGE: [Linux] Update dependency to inotify 0.3.0.
  • FIX: [macOS] .watch() panics on macOS when the target doesn't exist. #105

(start work on vNext) (2016-12-29)

3.0.1 (2016-12-05)

  • FIX: [macOS] Fix multiple panics in debounce module related to move events. #99, #100, #101

3.0.0 (2016-10-30)

  • FIX: [Windows] Fix watching files on Windows using relative paths. #90
  • FEATURE: Add debounced event notification interface. #63
  • FEATURE: [Polling] Implement CREATE and DELETE events for PollWatcher. #88
  • FEATURE: [Polling] Add ::with_delay_ms() constructor. #88
  • FIX: [macOS] Report ITEM_CHANGE_OWNER as CHMOD events. #93
  • FIX: [Linux] Emit CLOSE_WRITE events. #93
  • FEATURE: Allow recursion mode to be changed. #60, #61 breaking
  • FEATURE: Track move events using a cookie.
  • FEATURE: [macOS] Return an error when trying to unwatch non-existing file or directory.
  • CHANGE: [Linux] Remove IGNORED event. breaking
  • CHANGE: [Linux] Provide absolute paths even if the watch was created with a relative path.

2.6.3 (2016-08-05)

  • FIX: [macOS] Bump fsevents version. #91

2.6.2 (2016-07-05)

  • FEATURE: [macOS] Implement Send and Sync for FsWatcher. #82
  • FEATURE: [Windows] Implement Send and Sync for ReadDirectoryChangesWatcher. #82
  • DOCS: Add example to monitor a given file or directory. #77

2.6.1 (2016-06-09)

  • FIX: [Linux] Only register directories for watching. #74
  • DOCS: Update Readme example code. ccfb54be

2.6.0 (2016-06-06)

  • Fix clippy lints. #57
  • Run formatter. #59
  • Fix warnings. #58
  • FEATURE: Add Result alias. #72
  • DEPS: Update inotify (0.2). #49, #70
  • DOCS: Write API docs. #65
  • FEATURE: [Linux] Add op::IGNORED. #73
  • Simplify Cargo.toml. #75
  • FEATURE: Implement std::Error for our Error type. #71

2.5.5 (2016-03-27)

  • DOCS: Explain an FSEvent limitation. #51
  • DOCS: Clean up example code. #52
  • RELENG: [macOS] Support i686. #54
  • FEATURE: Implement Display on Error. #56

2.5.4 (2016-01-23)

  • META: Remove all * specifiers to comply with Crates.io policy. 9f44843f

2.5.3 (2015-12-25)

  • RELENG: [Linux] Support i686. #46

2.5.2 (2015-12-21)

  • META: Fix AppVeyor build. #43, #45
  • FIX: [Linux] Use a mio loop instead of handmade. #40
  • DEPS: Replace walker by walkdir (0.1). #44

2.5.1 (2015-12-05)

  • META: Update Code of Conduct. c963bdf0
  • RELENG: Support musl. #42

2.5.0 (2015-11-29)

  • FEATURE: Add Windows backend. #39
  • META: Add AppVeyor CI. 304473c3

2.4.1 (2015-11-06)

  • FIX: [macOS] Race condition in FSEvent. #33

2.4.0 (2015-10-25)

  • FIX: [macOS] Stop segfault when watcher is moved. #33, #35
  • FEATURE: Add ::with_delay to poll. #34

2.3.3 (2015-10-08)

  • FIX: Comply with Rust RFC 1214, adding Sized bound to trait. #32

2.3.2 (2015-09-08)

  • META: Use Travis CI Linux containers, macOS builds. 7081297d
  • FIX: [macOS] Symlinks and broken tests. #27

2.3.1 (2015-08-24)

  • FIX: Move paths instead of borrowing. 3340d740

2.3.0 (2015-07-29)

  • FEATURE: Use AsRef<Path> instead of Path in signatures. #25

2.2.0 (2015-07-12)

  • FEATURE: [Linux] Support watching single file. #22
  • META: Change release commit message style to be just the version, instead of “Cut ${version}”.

2.1.0 (2015-06-26)

  • META: Add Code of Conduct. 4b88f7d9
  • FEATURE: Restore Poll backend. #12
  • FIX: [Linux] Inverse op::WRITE and op::REMOVE. #18
  • DEPS: [macOS] Use fsevent (0.2). #14

2.0.0 (2015-06-09)

  • RUST: 1.0 is out! Use stable, migrate to walker crate. 0b127a38
  • FEATURE: [macOS] FSEvent backend. #13
  • BREAKING: Remove Poll backend. 92936460

1.2.2 (2015-05-09)

  • RUST: Update to latest, migrate to bitflags crate. #11

1.2.1 (2015-04-03)

  • RUST: Update to latest, thread upgrades. #9

1.2.0 (2015-03-05)

  • FEATURE: Provide full path to file that caused an event. #8

1.1.3 (2015-02-18)

  • META: Add Travis CI. 2c865803
  • DOCS: Build using Rust-CI. 9c7dd960
  • RUST: Update to latest, upgrade to new IO. #5
  • FIX: [Linux] Keep watching when there are no events received. #6

1.1.2 (2015-02-03)

  • RUST: Update to latest, using old_io. 116af0c4

1.1.1 (2015-01-06)

  • RUST: Update to latest and fix changes to channels. 327075c2

1.1.0 (2015-01-06)

  • FEATURE: [Linux] Recursive watch. #2

1.0.5 (2015-01-03)

  • RELENG: Publish on crates.io. 6f7d38a9
  • RUST: Update to latest. fd78d0e4
  • FIX: [Linux] Stop panic when inotify backend is dropped. 6f7d38a9

1.0.4 (2014-12-23)

1.0.3 (2014-12-23)

1.0.2 (2014-12-21)

  • FIX: Build on non-Linux platforms. 55c8d7b0

1.0.1 (2014-12-20)

1.0.0 (2014-12-20)

  • FEATURE: Invent Notify.
  • FEATURE: [Linux] inotify backend. d4b61fd2
  • FEATURE: Poll backend. b24a5339
  • FEATURE: Recommended watcher selection mechanism. a9c60ebf

0.0.1 (2014-12-11)

  • Empty release (no code)