^3.8.0.DirectoryWatcher or FileWatcher constructors, restore that behavior.DirectoryWatcher or FileWatcher constructors, remove multiple adjacent separators and . and .., so they will not be returned in events.assert(false) when a modifyDirectory event is ignored, so the unused events are silently ignored instead of throwing in debug builds.DirectoryWatcher on Windows performance: reduce 100ms buffering of events before reporting to 5ms, the larger buffer isn't needed for correctness after the various fixes.DirectoryWatcher on Windows watches in a separate Isolate to make buffer exhaustion, “Directory watcher closed unexpectedly”, much less likely. The old implementation which does not use a separate Isolate is available as DirectoryWatcher(path, runInIsolateOnWindows: false).DirectoryWatcher on Windows: if buffer exhaustion does happen, emit a “modify” event for all know files instead of an exception.^3.4.0.DirectoryWatcher implementations now consistently handle links as files, instead of sometimes reading through them and sometimes reporting them as files. The polling DirectoryWatcher still reads through links.DirectoryWatcher, fix spurious modify event emitted because of a file delete during polling.DirectoryWatcher on Linux and MacOS is no longer affected by a severe performance regression if there are symlink loops in the watched directory. The polling DirectoryWatcher is fixed to skip already-visited directories to prevent the performance issue while still reading through links.DirectoryWatcher on Windows, the last of a rapid sequence of modifications in a newly-created directory was sometimes dropped. Make it reliably report the last modification.DirectoryWatcher on Windows, a move over an existing file was reported incorrectly. For example, if a and b already exist, then a is moved onto b, it would be reported as three events: delete a, delete b, create b. Now it's reported as two events: delete a, modify b. This matches the behavior of the Linux and MacOS watchers.DirectoryWatcher on Windows, new links to directories were sometimes incorrectly handled as actual directories. Now they are reported as files, matching the behavior of the Linux and MacOS watchers.DirectoryWatcher implementation on Windows with the MacOS implementation, addressing various race conditions around directory renames.DirectoryWatcher implementation on Linux that fixes various issues: tracking failure following subdirectory move, incorrect events when there are changes in a recently-moved subdirectory, incorrect events due to various situations involving subdirectory moves.DirectoryWatcher implementation on MacOS that fixes various issues including duplicate events for changes in new directories, incorrect events when close together directory renames have overlapping names.FileWatcher on MacOS, a modify event was sometimes reported if the file was created immediately before the watcher was created. Now, if the file exists when the watcher is created then this modify event is not sent. This matches the Linux native and polling (Windows) watchers.PathNotFoundException due to subdirectory deletion racing with watcher internals, instead of raising it on the event stream.FileSystemException into the stream returned by the watcher.FileSystemException: Directory watcher closed unexpectedly on Windows. The watcher was already attempting to restart after this error and resume sending events. But, the restart would sometimes silently fail. Now, it is more reliable.PathNotFoundException to be thrown.PollingFileWatcher.ready completes for files that do not exist.^3.1.0dart-lang/tools monorepo.DirectoryWatcher.ready completes even when errors occur that close the watcher.FileSystemException from unexpectedly closed file watchers on windows; the watcher will also be automatically restarted when this occurs.FileSystemException during existsSync() on Windows.<3.0.0, and adjust other dependencies.Updates to support Dart 2.0 core library changes (wave 2.2). See issue 31847 for details.
async 2.0.0.async to reflect the APIs this package is actually using.FileWatcher where events could be added after watchers were closed.Add a Watcher interface that encompasses watching both files and directories.
Add FileWatcher and PollingFileWatcher classes for watching changes to individual files.
Deprecate DirectoryWatcher.directory. Use DirectoryWatcher.path instead.
Improved support for Windows via WindowsDirectoryWatcher.
Simplified PollingDirectoryWatcher.
Fixed bugs in MacOSDirectoryWatcher