Releases: emcrisostomo/fswatch
fswatch v. 1.21.0
What's New in fswatch v. 1.21.0:
fswatch v. 1.21.0 introduces the following features and bug fixes:
-
CLI, Issues 104 and 273: Add
--filter-mode=conjunctive. In this mode,
include filters define the candidate set and exclude filters subtract from
it: a path is accepted when it matches an include filter, or when no
include filters are specified, and does not match any exclude filter. -
CLI, Issue 151: Add
--pruneto prevent recursive traversal from
descending into matching directories where the selected monitor performs
traversal infswatchorlibfswatch. This is distinct from--exclude:
--excludefilters emitted events, while--pruneprevents recursive
descent into matching subtrees. -
Compatibility: Legacy include/exclude filter behavior remains the default.
In legacy mode, include filters may still override exclude filters. -
Issue 305: Install CMake package configuration files for
libfswatchso
CMake consumers can usefind_package(libfswatch CONFIG). -
Bug fix, Issue 247: Keep explicit root paths eligible for monitor setup
even when path filters would reject the root path itself, allowing matching
children to be discovered and reported. -
Issue 238: Document the BSD/macOS
xargsreplacement-string length caveat
when processingfswatchoutput withxargs -I. -
Add filtering regression coverage for legacy and conjunctive filter modes,
root-path eligibility, and traversal pruning.
libfswatch v. 1.21.0 introduces the following features and bug fixes:
-
API, Issues 104 and 273: Add conjunctive path filter evaluation mode. In
this mode, inclusion filters define the candidate set and exclusion filters
subtract from it: a path is accepted when it matches an inclusion filter,
or when no inclusion filters are specified, and does not match any
exclusion filter. -
API, Issue 151: Add traversal prune filters so recursive monitors can skip
matching directories before scanning or watching their descendants. Prune
filters are separate from normal path filters: normal exclude filters
reject emitted events, while prune filters prevent recursive descent where
the monitor performs library-side traversal. -
API: Add C API support for filter mode selection and prune filters.
-
Compatibility: Legacy filter behavior remains the default.
-
Compatibility: The public C++
fsw::monitorlayout changed. Existing
compiled C++ clients should be rebuilt against this release. The
libfswatchlibtool release version is15:0:0. -
Bug fix, Issue 247: Keep explicit root paths eligible for monitor setup
even when path filters would reject the root path itself, allowing matching
children to remain discoverable. -
Issue 305: Install CMake package configuration files and exported targets
forlibfswatchso CMake consumers can use
find_package(libfswatch CONFIG). -
Add regression coverage for filter modes, root-path eligibility, traversal
pruning, and the new C API pruning entry point.
Upgrade and Compatibility Notes
-
Legacy include/exclude filter behavior remains the default. Use
--filter-mode=conjunctiveto opt into include-as-candidate-set semantics. -
--excludeand--pruneserve different purposes.--excludefilters
emitted events.--pruneprevents recursive traversal from descending
into matching directories where the selected monitor performs library-side
traversal. -
Explicit command-line root paths remain eligible for monitoring even when
path filters would reject the root path itself. -
libfswatchadds C API entry points for filter mode selection and prune
filters. -
The public C++
fsw::monitorlayout changed. C++ clients should be
rebuilt against this release. The libtool release version is15:0:0.
fswatch v. 1.20.1
What's New in fswatch v. 1.20.1:
fswatch v. 1.20.1 introduces the following features and bug fixes:
- Correct the 1.20.0 release notes to document PR 368, Issue 367: the Linux
inotify monitor now uses an epoll/eventfd wait loop, improving stop
responsiveness and event queue draining behavior.
libfswatch v. 1.20.1 introduces the following features and bug fixes:
- Correct the 1.20.0 release notes to document PR 368, Issue 367: the Linux
inotify monitor now uses an epoll/eventfd wait loop, and building it now
requires epoll, eventfd, and inotify_init1 support.
fswatch v. 1.20.0
What's New in fswatch v. 1.20.0:
fswatch v. 1.20.0 introduces the following features and bug fixes:
-
Issue 365: Add an opt-in Linux fanotify monitor with process attribution
support and custom output directives for process ID metadata. -
Issue 365: Add opt-in fanotify monitor properties for unlimited event queue
and mark limits. -
Issue 365: Fix CMake builds when ignored Autotools configuration headers
exist in the source tree. -
Fix CoreFoundation path ownership in the macOS FSEvents monitor.
libfswatch v. 1.20.0 introduces the following features and bug fixes:
-
Issue 365: Add a Linux fanotify monitor and generic event process
attribution metadata. -
Issue 365: Add opt-in fanotify monitor properties for unlimited event queue
and mark limits. -
Issue 365: Add the fsw_cevent_v2 C callback API for correlation and
process attribution metadata without changing the existing fsw_cevent ABI. -
Fix CoreFoundation path ownership in the macOS FSEvents monitor.
fswatch v. 1.19.1
What's New in fswatch v. 1.19.1:
fswatch v. 1.19.1 introduces the following features and bug fixes:
-
PR 350, Issue 349: Fix latency values lower than one second in the Windows
monitor. -
Issue 352: inotify no longer reports access, open, or close-without-write
events unless access events are enabled with -a or --access.
libfswatch v. 1.19.1 introduces the following features and bug fixes:
-
PR 350, Issue 349: Fix latency values lower than one second in the Windows
monitor. -
Issue 352: inotify no longer reports access, open, or close-without-write
events unless access events are enabled with -a or --access.
fswatch v. 1.19.0
What's New in fswatch v. 1.19.0:
fswatch v. 1.19.0 introduces the following features and bug fixes:
-
PR 353, Issue 343: Fix a segmentation fault in the macOS FSEvents monitor
when file event metadata does not include an inode. -
PR 354, Issue 330: Fix recursive inotify monitoring so fast file creation
in newly-created directories is detected. -
PR 340: Enable libfswatch compilation under Windows MinGW.
-
Fix: spurious output 'inotify_rm_watch: Invalid argument'
-
Issue 335: v. 1.18.0: build error: 'kFSEventStreamCreateFlagFileEvents' was
not declared in this scope. -
Grammar fix in documentation.
-
Fix: typo in man page.
libfswatch v. 1.19.0 introduces the following features and bug fixes:
-
PR 353, Issue 343: Fix a segmentation fault in the macOS FSEvents monitor
when file event metadata does not include an inode. -
PR 354, Issue 330: Fix recursive inotify monitoring so fast file creation
in newly-created directories is detected. -
PR 340: Enable libfswatch compilation under Windows MinGW.
fswatch v. 1.19.0-rc1
What's New in fswatch v. 1.19.0-rc1:
fswatch v. 1.19.0-rc1 introduces the following features and bug fixes:
-
PR 353, Issue 343: Fix a segmentation fault in the macOS FSEvents monitor
when file event metadata does not include an inode. -
PR 354, Issue 330: Fix recursive inotify monitoring so fast file creation
in newly-created directories is detected. -
PR 340: Enable libfswatch compilation under Windows MinGW.
-
Fix: spurious output 'inotify_rm_watch: Invalid argument'
-
Issue 335: v. 1.18.0: build error: 'kFSEventStreamCreateFlagFileEvents' was
not declared in this scope. -
Grammar fix in documentation.
-
Fix: typo in man page.
libfswatch v. 1.19.0-rc1 introduces the following features and bug fixes:
-
PR 353, Issue 343: Fix a segmentation fault in the macOS FSEvents monitor
when file event metadata does not include an inode. -
PR 354, Issue 330: Fix recursive inotify monitoring so fast file creation
in newly-created directories is detected. -
PR 340: Enable libfswatch compilation under Windows MinGW.
fswatch v. 1.18.3
What's New in fswatch v. 1.18.3:
fswatch v. 1.18.3 introduces the following features and bug fixes:
-
Fix: spurious output
inotify_rm_watch: Invalid argument -
Issue #335: v. 1.18.0: build error:
kFSEventStreamCreateFlagFileEventswas not declared in this scope. -
Grammar fix in documentation.
-
Fix: typo in man page.
fswatch v. 1.18.2
What's New in fswatch v. 1.18.2:
fswatch v. 1.18.2 introduces the following features and bug fixes:
-
Added event flag
CloseWrite: file open for write has been closed. -
kqueue_monitor: added support forCloseWrite, adding support for events of typeNOTE_CLOSE_WRITE. -
inotify_monitor: added support forCloseWrite, adding support for events of typeIN_CLOSE_WRITE. -
Issue #337:
fswatchexits on non-existing paths.
fswatch v. 1.18.1
What's New in fswatch v. 1.18.1:
fswatch v. 1.18.1 introduces the following features and bug fixes:
- Issue #333: Handle non-ASCII characters in file paths to prevent segmentation faults in FSEvents callback.
fswatch v. 1.18.0
What's New in fswatch v. 1.18.0:
fswatch v. 1.18.0 introduces the following features and bug fixes:
-
The C++17 standard has been adopted: code has been rewritten and simplified to adobe new features of the C++17 standard library such as
std::filesystem. -
gettextize: gettext v. 0.22.5 -
Documentation: add reference to Go bindings.
-
Issue #313: Make
-1,--one-eventreturn$?when killed. -
Remove unused or obsolete configuration checks.
-
Use the
#includepredefined notation to include generated configuration headers. -
Use target
CPPFLAGSinstead ofAM_CPPFLAGS. -
Update
FSEventStreamEventFlagsflags and add support to macOS 10.13+ features. -
Issue #278:
fseventsmonitor: Add support to for extended data, to allow file inodes to be collected with events. This feature enables users to correlate rename events. -
Issue #278:
inotifymonitor: Add support for correlation cookie. This feature enables users to correlate rename events. -
Add
%cformat specifier to print the event correlation id. -
Require
<mutex>,<atomic>andthread_localand remove checks and conditional code.
libfswatch v. 1.18.0 introduces the following features and bug fixes:
-
Documentation: add reference to Go bindings.
-
Update
FSEventStreamEventFlagsflags and add support to macOS 10.13+ features. -
Issue #278:
fseventsmonitor: Add support to for extended data, to allow file inodes to be collected with events. This feature enables users to correlate rename events. -
Issue #278:
inotifymonitor: Add support for correlation cookie. This feature enables users to correlate rename events. -
Update the
eventclass to have a correlation id field. -
Remove private headers from the list of installed header files.
-
Require
<mutex>,<atomic>andthread_localand remove checks and conditional code. -
Library interface does not depend on configuration any longer.