diff --git a/fswatch/doc/fswatch.texi b/fswatch/doc/fswatch.texi index d6e7852f..29bda2a3 100644 --- a/fswatch/doc/fswatch.texi +++ b/fswatch/doc/fswatch.texi @@ -34,7 +34,7 @@ Solaris/Illumos @emph{File Events Notification}, Linux @emph{inotify}, Microsoft Windows @code{ReadDirectoryChangesW} and a @code{stat()}-based backend. -Copyright @copyright{} 2013-2022 Enrico M. Crisostomo +Copyright @copyright{} 2013-2024 Enrico M. Crisostomo @quotation Permission is granted to copy, distribute and/or modify this document @@ -48,7 +48,7 @@ Free Documentation License''. @setchapternewpage odd -@shorttitlepage fswatch +@c @shorttitlepage fswatch @titlepage @title fswatch @subtitle Cross-platform file change monitor with multiple backends @@ -76,7 +76,6 @@ Free Documentation License''. @end ifnottex @menu -* Version History:: Version History * Introduction:: Introduction * Tutorial Introduction to @command{fswatch}:: Tutorial Introduction to @command{fswatch} * Invoking @command{fswatch}:: Invoking @command{fswatch} @@ -89,530 +88,6 @@ Free Documentation License''. * General Index:: General Index @end menu -@node Version History -@chapter Version History - -@section 1.17.0 -@itemize -@item -Refactor code to replace usages of deprecated function -@code{FSEventStreamScheduleWithRunLoop} with -@code{FSEventStreamSetDispatchQueue}. - -@item -Issue 230: Improve responsiveness on macos: add support for -@code{kFSEventStreamCreateFlagNoDefer}. - -@item -Issue 249: Man page still mentions @command{fswatch-run}. - -@item -Issue 255: Implement event bubbling. - -@item -Issue 256: @code{-1} flag prints the file changed multiple times before -exiting. -@end itemize - -@section 1.16.0 -@itemize -@item -Update FSEvents flags and add support to macOS 10.10+ features. - -@item -Issue 226: Add FreeBSD installation instructions. - -@item -Issue 243: PlatformSpecific instead of Updated on Darwin 19.4. - -@item -Issue 248: Update fswatch.7.in to add the Event Types section to the man -page. - -@item -Issue 257: Update FreeBSD installation instructions. - -@item -Issue 260: Fix memory leak. - -@item -Issue 269: do not use global variable in function, pass parameter -instead. - -@item -Issue 270: using both AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS is -deprecated in autoconf-2.71 - -@item -Issue 272: Send AttributeModified on touch when using the FSevents -monitor. -@end itemize - -@section 1.14.0 -@itemize -@item -Issue 218: fswatch v1.13 ignores the @option{--monitor} parameter and -always uses the default monitor. -@end itemize - -@section 1.12.0 -@itemize -@item -Fix issue 178: Migrate usages of POSIX regular expressions -(@code{}) to the C++11 regex library (@code{}). - -@item -Fix issue 191: Wrong error message is printed when @emph{inotify} event -queue overflows. -@end itemize - -@section 1.11.3 -@itemize -@item -Fix issue 192: Make the build reproducible. -@end itemize - -@section 1.11.2 -@itemize -@item -Fix issue 182: Generate a single message catalog for both -@command{fswatch} and @file{libfswatch}. -@end itemize - -@section 1.11.1 -@itemize -@item -Fix issue 182: Remove mandatory dependency to git. -@end itemize - -@section 1.11.0 -@itemize -@item -@opindex event@r{, mask} -Fix issue 174: Update the @option{--event} option to accept a numeric -event mask. - -@item -Fix issue 181: Make gettext an optional dependency. - -@end itemize - -@section 1.10.0 -@itemize -@item -Fix issue 60: Allow excluding file patterns by passing a file. - -@item -Fix issue 119: Merge @command{fswatch} and @file{libfswatch} Autotools -projects into one. - -@item -Fix issue 141: Add Docker files for Linux distributions used for -testing. - -@item -Add target to build @command{fswatch} on Alpine Linux and Debian. - -@end itemize - -@section 1.9.3 -@itemize -@item -Fix issue 120: C binding is pulling in C++ headers and using C++ -constructs. - -@item -Fix issue 128: C binding is pulling in C++ headers. - -@end itemize - -@section 1.9.2 -@itemize -@item -Fix issue 118: v. 1.9.0 breaks the @option{-1} option. - -@item -@file{libfswatch} @acronym{API} version set to 8:0:2. -@end itemize - -@section 1.9.1 -@itemize -@item -@file{libfswatch} @acronym{API} version set to 7:0:1. -@end itemize - -@section 1.9.0 -@itemize -@item -Fix issue 114: @command{fswatch} does not track newly created -directories recursively when using the @emph{inotify} monitor. - -@item -Add the possibility of scheduling a periodic event. -@end itemize - -@section 1.8.0 -@itemize -@item -Add preemptive monitor stop support. -@end itemize - -@section 1.7.0 -@itemize -@item -Fix issue 35: Support Solaris/Illumos File Events Notification -@acronym{API}. - -@item -@opindex directories@r{, inception} -Fix issue 98: Add (@option{-d}, @option{--directories}) option to -request the monitor to watch directories only during a recursive scan. - -@item -Fix issue 99: A monitor using the File Events Notification -@acronym{API} of the Solaris/Illumos kernel has been added. - -@item -Fix issue 101: Add flag to watch file accesses. -@end itemize - -@section 1.6.0 -@itemize -@item -@command{fswatch} can be built on Microsoft Windows using Cygwin. - -@item -A monitor for Microsoft Windows has been added. - -@item -@fnindex @code{fsw_event_flag::Overflow} -@opindex allow-overflow@r{, inception} -@command{fswatch} can survive monitor overflows and notify them as a -specially crafted change event (of type @command{Overflow}) if invoked -with the @option{--allow-overflow} option. -@end itemize - -@section 1.5.1 - -@itemize -@item -@pgindex @command{fswatch-run} -@command{fswatch-run} scripts have been removed. - -@item -@cpindex Bash -@cpindex Zsh -As a consequence of the @command{fswatch-run} removal, dependency on at -least one supported shell (Zsh and Bash) has been removed. -@end itemize - -@section 1.5.0 - -@itemize -@item -@opindex event@r{, inception} -Added the @option{--event} option to allow filtering by event type. -@end itemize - -@section 1.4.7 - -@itemize -@item -Fix bug in exclusion filter ordering (PR 75). - -@item -@flindex README.md -@file{README.md} improvements. - -@item -Documentation improvements. -@end itemize - -@section 1.4.6 - -@itemize -@item -@fnindex fsw_destroy_session -Fix issue 74: Assertion failed on @code{fsw_destroy_session}. -@end itemize - -@section 1.4.5.3 - -@itemize -@item -Fix issue 67: 100% @acronym{CPU} usage while using @file{libfswatch}. -This issue only affects the @emph{inotify} monitor. -@end itemize - -@section 1.4.5.2 - -@itemize -@item -Fix issue 66: Exclude items with @command{poll_monitor} not -considered. -@end itemize - -@section 1.4.5.1 - -@itemize -@item -@cpindex FreeBSD -Do not distribute wrapper scripts for shells which are not installed -(the FreeBSD port system checks shebangs and complains). -@end itemize - -@section 1.4.5 - -@itemize -@item -Add custom record formats. -@end itemize - -@section 1.4.4 - -@itemize -@item -@cpindex @acronym{GNU} gettext -@cpindex gettext -@pgindex gettext -Localize @command{fswatch} and @file{libfswatch} using @acronym{GNU} -@code{gettext}. - -@item -Add Spanish (@code{es}) localization. - -@item -Add Italian (@code{it}) localization. -@end itemize - -@section 1.4.3.2 - -@itemize -@item -@flindex Makefile.am -Fix @file{Makefile.am} because of broken link when @var{DESTDIR} -installs are performed. -@end itemize - -@section 1.4.3.1 - -@itemize -@item -@pgindex fswatch-run -@pgindex xargs -@cpindex Zsh -Fix bug in @command{fswatch-run} wrapper script for Zsh which caused last -argument not to be split when passed to @file{xargs}. -@end itemize - -@section 1.4.3 - -@itemize -@item -@cpindex batch marker, inception -Add batch marker feature to delimit the boundaries of a batch of -events. - -@item -Add Texinfo documentation. - -@item -@file{libfswatch} @acronym{API} is now versioned. - -@item -@cpindex Autoconf -Improved Autoconf checks. - -@item -The @emph{inotify} monitor now waits for events and honours the -latency settings. - -@item -@flindex ChangeLog -@cpindex Git -@pgindex git -Automaticaly generate the @file{ChangeLog} file using Git. - -@item -@flindex autogen.sh -Update @file{autogen.sh} to honour some commonly used environment -variables. -@end itemize - -@section 1.4.2 - -@itemize -@item -The @emph{inotify} monitor now provides the same functionality -provided by all the other monitors. Recursive directory monitoring is -now implemented. - -@item -@cpindex Git -@pgindex git -Version and revision is now determined dynamically using Git by -ancillary scripts invoked by the @acronym{GNU} Build System. -@end itemize - -@section 1.4.1.1 - -@itemize -@item -@cpindex Apple macOS -@cpindex C++11 -@command{fswatch} does not compile on macOS < 10.9 because some -required C++11 classes are not supported by its C++ runtime. -@end itemize - -@section 1.4.1 - -@itemize -@item -@cpindex Apple macOS -@cpindex C++11 -@command{fswatch} does not compile on macOS < 10.9 because some -required C++11 classes are not supported by its C++ runtime. -@end itemize - -@section 1.4.0 - -@itemize -@item -@cpindex C++ -@cpindex C -The @file{libfswatch} library has been added with bindings for C and -C++. - -@item -@command{fswatch} let users specify the monitor to use by name. -@end itemize - -@section 1.3.9 - -@itemize -@item -@opindex include@r{, inception} -Fix Issue 23: Add @option{--include} option. - -@item -@opindex include@r{, inception} -Fix Issue 25: Add @option{--include} option. - -@item -@opindex include -Paths can be included using @option{-i}/@option{--include} and -providing a set of regular expressions. -@end itemize - -@section 1.3.8 - -@itemize -@item -Fix Issue 34: Diagnostic messages were output by the @emph{inotify} -monitor even if @command{fswatch} was not run in verbose mode. -@end itemize - -@section 1.3.7 - -@itemize -@item -Fix Issue 32: Problems building @command{fswatch} 1.3.6 on Mac -v. 10.8.5. - -@item -@cpindex C++11 -@cpindex C++, initializer list -Remove usages of C++11 initializer lists so that @command{fswatch} -builds with older compilers. -@end itemize - -@section 1.3.6 - -@itemize -@item -@pgindex fswatch-run -Fix Issue 26: @command{fswatch-run} cannot run a command with arguments. - -@item -@pgindex fswatch-run -@cpindex Zsh -@cpindex Bash -@command{fswatch-run} scripts are provided for Zsh and Bash. - -@item -@cpindex Zsh -@cpindex Bash -System is scanned during installation to check for Zsh and Bash -availability. Path of found shells is substituted in the -corresponding scripts, otherwise the default @code{/bin/@var{shell}} -is used. - -@item -@pgindex fswatch-run -@cpindex Zsh -@cpindex Bash -If a supported shell is found, the @command{fswatch-run} symbolic link is -created in the installation directory to the corresponding script. -The lookup order of the shells is: - -@itemize - -@item -Zsh. - -@item -Bash. - -@end itemize - -@end itemize - -@section 1.3.5 - -@itemize -@item -Fix Issue 27: Redirect usage text to standard error unless @option{-h} -or @option{--help}. - -@item -Fix bug to write usage to standard error when invalid arguments are -specified. -@end itemize - -@section 1.3.4 - -@itemize -@item -@pgindex fswatch-run -Fix bug in @command{fswatch-run} script to allow arguments to be passed -to the command to run. -@end itemize - -@section 1.3.3 - -@itemize -@item -@opindex one-per-batch@r{, inception} -Add @option{-o}/@option{--one-per-batch} option to print a single -message with the number of change events in the current batch. - -@item -@pgindex fswatch-run -Add @command{fswatch-run} shell script to mimic the behaviour of -earlier @command{fswatch} versions and launch the specified command -when change events are received. - -@end itemize - -@section 1.3.2 - -@itemize -@item -@pgindex fsw -@cpindex @command{fsw} -@command{fswatch} has been merged with @command{fsw}. -@end itemize - @node Introduction @chapter Introduction @command{fswatch} is a file change monitor that receives notifications