- Bump hfsevents constraint to >= 0.1.8 to pick up race condition fix (see luite/hfsevents#19)
- Document polling interval units (#111)
- Fix compat with text-2.1.2 (closes #116)
- Remove some redundant cleanup code paths
- Add
unliftio
lower bound (#106) - Change the tests back to a test-suite to avoid building for library users. (#107)
- Fix up Windows compatibility.
- Export
WatchConfig
type (#108)
- Fix compatibility with *BSD.
API breaking update.
- New options for threading control (single-threaded, thread-per-watch, and thread-per-manager)
- Revamp
WatchConfig
options to be less confusing and reduce boolean blindness. - Pull out debouncing stuff, since it was never correct as it simply took the last event affecting a given file in the debounce period. Debouncing is currently not included, and should be handled as an orthogonal concern. I'd like to include some debouncing logic, but didn't want to delay this release any longer.
- We now expose
type DebounceFn = Action -> IO Action
, which represents an arbitrary debouncer. All debouncers should be in the form of one of these functions. - A robust state machine debouncer is in progress but not fully implemented yet; see the
state-machine
branch. - Contributions are welcome! We can potentially add multiple debouncers of different complexity as modules under
System.FSNotify.Debounce.*
.
- We now expose
- Don't silently fall back to polling on failure of native watcher. Instead, throw an exception which the user can recover from by switching to polling.
- Add ModifiedAttributes event type + Linux support
- Add confOnHandlerException to be able to control what happens when a handler throws an exception.
- WatchConfig constructor is no longer exposed. Instead use
defaultConfig {...}
with the accessors.
API breaking update with a number of bugfixes and improvements.
- Now we can detect directory creation/deletion. A boolean flag has been added
to
Event
to indicate if the event pertains to a directory or not. This is the only API change. - Test stability improvements + CI test suites now passing on Windows, Linux, and Mac.
- Interpreting OSX hfsevents flags is more sane now (see comments in OSX.hs for details).
- Improve a race condition when adding watches on Linux.
- Improve robustness of the PollManager.
- Fix double call to
closeHandle
on Windows. - Remove comments about locking from the documentation.
Update to the new hinotify API (v0.3.10)
Catch IO exceptions when initialising inotify on Linux
Don't use system-filepath
Use filepath instead of deprecated system-filepath
- Fix the tests
- Restore compatibility with GHC 7.4
- Fix a bug in
treeExtAny
, which previously work identically totreeExtExists
- Improve documentation
Include CHANGELOG.md and README.md in the source distribution.
- Allow to stop a listening job. Note this changes the return type of watching
functions from
()
toIO ()
. - Previously, some care was taken to prevent multiple callbacks from running simultaneously. It is now the user's responsibility. See #43 for details.
- Previously, paths returned to callbacks were relative on Windows. Now they are absolute, like on the other platforms.
- The
WatchConfig
type has changed. Previously, it only specified debouncing parameters. Now it also contains polling parameters. - The
isPollingManager
function is added to determine, at runtime, whether the polling implementation is used.