NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #22 most downloaded on pub.dev
A file system watcher. It monitors changes to contents of directories and sends notifications when files have been added, removed, or modified.
Last release 9 months ago
08 Jan 2026
Release timing varies
gaps range from 3 weeks to 1.6 years
Some releases are documented
notes for 27 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
70 releases · first in 2013
Bug fix: versions before 1.2.0 would allow and ignore a trailing path separator passed to DirectoryWatcher or FileWatcher constructors, restore that b
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.Polling watchers now check file sizes as well as "last modified" times, so they are less likely to miss changes on platforms with low resolution times
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.One column per quarter.
Improve handling of subdirectories: ignore PathNotFoundException due to subdirectory deletion racing with watcher internals, instead of raising it on
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.Improve handling of FileSystemException: Directory watcher closed unexpectedly on Windows. The watcher was already attempting to restart after this er
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.Fix a bug on Windows where a file creation event could be reported twice when creating a file recursively in a non-existent directory.
Ensure PollingFileWatcher.ready completes for files that do not exist.
PollingFileWatcher.ready completes for files that do not exist.^3.1.0dart-lang/tools monorepo.Add a deepCopyLinks argument to copyPath and copyPathSync .
deepCopyLinks argument to copyPath and copyPathSync.@visibleForTesting annotation from SharedStdIn.SharedStdIn.new.
AnsiCode and AnsiCodeType marked final. ThesefinalexpectApiSummaryClean, ApiSummaryFormat, andApiSummaryVerificationException to support one-liner golden file verificationdart test (e.g. test('api_summary', expectApiSummaryClean);).--write (-w), --check (-c), and --output (-o) flags to theapi_summary CLI executable.Ensure DirectoryWatcher.ready completes even when errors occur that close the watcher.
DirectoryWatcher.ready completes even when errors occur that close the watcher.Drop package:pedantic and use package:lints instead.
Initial stable release.
Nothing published for this version
Fix a bug in FileWatcher where events could be added after watchers were closed.
FileWatcher where events could be added after watchers were
closed.Narrow the constraint on async to reflect the APIs this package is actually using.
async to reflect the APIs this package is actually
using.* Fix a crashing bug on Linux.
Declare support for async 2.0.0.
async 2.0.0.Internal changes only, namely removing dep on scheduled test.
Updates to support Dart 2.0 core library changes (wave 2.2). See [issue 31847][sdk#31847] for details.
Updates to support Dart 2.0 core library changes (wave 2.2). See issue 31847 for details.
Fix Dart 2.0 type issues on Mac and Windows.
* Internal changes only.
Set max SDK version to <3.0.0, and adjust other dependencies.
<3.0.0, and adjust other dependencies.Catch FileSystemException during existsSync() on Windows.
FileSystemException during existsSync() on Windows.Catch & forward FileSystemException from unexpectedly closed file watchers on windows; the watcher will also be automatically restarted when this occu
FileSystemException from unexpectedly closed file watchers
on windows; the watcher will also be automatically restarted when this occurs.Prepare for breaking change in SDK where modified times for not found files becomes meaningless instead of null.
Fix a bug on Mac where modifying a directory with a path exactly matching a prefix of a modified file would suppress change events for that file.
Deprecate DirectoryWatcher.directory. Use DirectoryWatcher.path instead.
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.
Fix bugs where events could be added after watchers were closed.
Treat add events for known files as modifications instead of discarding them on Mac OS.
Improved support for Windows via WindowsDirectoryWatcher.
Improved support for Windows via WindowsDirectoryWatcher.
Simplified PollingDirectoryWatcher.
Fixed bugs in MacOSDirectoryWatcher
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →