Releases: gorakhargosh/watchdog
Releases · gorakhargosh/watchdog
4.0.0
- Drop support for Python 3.7.
- Add support for Python 3.12.
- [snapshot] Add typing to
dirsnapshot
(#1012) - [snapshot] Added
DirectorySnapshotDiff.ContextManager
(#1011) - [events]
FileSystemEvent
, and subclasses, are nowdataclass
es, and theirrepr()
has changed - [windows]
WinAPINativeEvent
is now adataclass
, and itsrepr()
has changed - [events] Log
FileOpenedEvent
, andFileClosedEvent
, events inLoggingEventHandler
- [tests] Improve
FileSystemEvent
coverage - [watchmedo] Log all events in
LoggerTrick
- [windows] The
observers.read_directory_changes.WATCHDOG_TRAVERSE_MOVED_DIR_DELAY
hack was removed. The constant will be kept to prevent breaking other softwares. - Thanks to our beloved contributors: @BoboTiG, @msabramo
3.0.0
- Drop support for Python 3.6.
watchdog
is now PEP 561 compatible, and tested withmypy
- Fix missing
>
inFileSystemEvent.__repr__()
(#980) - [ci] Lots of improvements
- [inotify] Return from
InotifyEmitter.queue_events()
if not launched when thread is inactive (#963) - [tests] Stability improvements
- [utils] Remove handling of
threading.Event.isSet
spelling (#962) - [watchmedo] Fixed tricks YAML generation (#965)
💟 Thanks to our beloved contributors: @kurtmckee, @altendky, @agroszer, @BoboTiG
2.3.1
- Run
black
on the entire source code - Bundle the
requirements-tests.txt
file in the source distribution (#939) - [watchmedo] Exclude
FileOpenedEvent
events fromAutoRestartTrick
, andShellCommandTrick
, to restore watchdog < 2.3.0 behavior. A better solution should be found in the future. (#949) - [watchmedo] Log
FileOpenedEvent
, andFileClosedEvent
, events inLoggerTrick
💟 Thanks to our beloved contributors: @BoboTiG
2.3.0
- [inotify] Add support for
IN_OPEN
events: aFileOpenedEvent
event will be fired (#941) - [watchmedo] Add optional event debouncing for
auto-restart
, only restarting once if many events happen in quick succession (--debounce-interval
) (#940) - [watchmedo] Add option to not auto-restart the command after it exits (
--no-restart-on-command-exit
) (#946) - [watchmedo] Exit gracefully on
KeyboardInterrupt
exception (Ctrl+C) (#945)
💟 Thanks to our beloved contributors: @BoboTiG, @dstaple, @taleinat, @cernekj
2.2.1
- Enable mypy to discover type hints as specified in PEP 561 (#933)
- [ci] Set the expected Python version when building release files
- [ci] Update actions versions in use
- [watchmedo] [regression] Fix usage of missing
signal.SIGHUP
attribute on non-Unix OSes (#935)
💟 Thanks to our beloved contributors: @BoboTiG, @simon04, @piotrpdev
2.2.0
- [build] Wheels are now available for Python 3.11 (#932)
- [documentation] HTML documentation builds are now tested for errors (#902)
- [documentation] Fix typos here, and there (#910)
- [fsevents2] The
fsevents2
observer is now deprecated (#909) - [tests] The error message returned by musl libc for error code
-1
is now allowed (#923) - [utils] Remove unnecessary code in
dirsnapshot.py
(#930) - [watchmedo] Handle shutdown events from
SIGHUP
(#912)
💟 Thanks to our beloved contributors: @kurtmckee, @babymastodon, @QuantumEnergyE, @timgates42, @BoboTiG
2.1.6
- [bsd] Fixed returned paths in kqueue.py and restored the overall results of the test suite. (#842)
- [bsd] Updated FreeBSD CI support .(#841)
- [watchmedo] Removed the
argh
dependency in favor of the builtinargparse
module. (#836) - [watchmedo] Removed unexistant
WindowsApiAsyncObserver
references and--debug-force-winapi-async
arguments. - [watchmedo] Improved the help output.
💟 Thanks to our beloved contributors: @knobix, @AndreaRe9, @BoboTiG
2.1.9
- [fsevents] Fix flakey test to assert that there are no errors when stopping the emitter.
- [inotify] Suppress occasional
OSError: [Errno 9] Bad file descriptor
at shutdown. #805 - [watchmedo] Make
auto-restart
restart the sub-process if it terminates. #896 - [watchmedo] Avoid zombie sub-processes when running
shell-command
without--wait
. #405
💟 Thanks to our beloved contributors: @samschott, @taleinat, @altendky, @BoboTiG
2.1.8
- Fix adding failed emitters on observer schedule. (#872)
- [inotify] Fix hang when unscheduling watch on a path in an unmounted filesystem. (#869)
- [watchmedo] Fix broken parsing of
--kill-after
argument for the auto-restart command. (#870) - [watchmedo] Fix broken parsing of boolean arguments. (#887)
- [watchmedo] Fix broken parsing of commands from auto-restart, and shell-command. (#888)
- [watchmedo] Support setting verbosity level via
-q/--quiet
and-v/--verbose
arguments. (#889)
💟 Thanks to our beloved contributors: @taleinat, @kianmeng, @palfrey, @IlayRosenberg, @BoboTiG
2.1.7
- Eliminate timeout in waiting on event queue. (#861)
- [inotify] Fix
not
equality implementation forInotifyEvent
. (#848) - [watchmedo] Fix calling commands from within a Python script. (#879)
- [watchmedo]
PyYAML
is loaded only when strictly necessary. Simple usages ofwatchmedo
are possible without the module being installed. (#847)
💟 Thanks to our beloved contributors: @sattlerc, @JanzenLiu, @BoboTiG