Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update watchdog to 4.0.0 #1092

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Feb 7, 2024

This PR updates watchdog from 0.9.0 to 4.0.0.

Changelog

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 now `dataclass`es, and their `repr()` has changed
- [windows] `WinAPINativeEvent` is now a `dataclass`, and its `repr()` has changed
- [events] Log `FileOpenedEvent`, and `FileClosedEvent`, events in `LoggingEventHandler`
- [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 with `mypy`
- Fix missing `>` in `FileSystemEvent.__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)

:heart_decoration:  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 from `AutoRestartTrick`, and `ShellCommandTrick`, to restore watchdog < 2.3.0 behavior. A better solution should be found in the future. (949)
- [watchmedo] Log `FileOpenedEvent`, and `FileClosedEvent`, events in `LoggerTrick`

:heart_decoration:  Thanks to our beloved contributors: BoboTiG

2.3.0

- [inotify] Add support for `IN_OPEN` events: a `FileOpenedEvent` 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)

:heart_decoration:  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)

:heart_decoration:  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)

:heart_decoration:  Thanks to our beloved contributors: kurtmckee, babymastodon, QuantumEnergyE, timgates42, 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

:heart_decoration: 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)

:heart_decoration: 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 for `InotifyEvent`. (848)
- [watchmedo] Fix calling commands from within a Python script. (879)
- [watchmedo] `PyYAML` is loaded only when strictly necessary. Simple usages of `watchmedo` are possible without the module being installed. (847)

:heart_decoration: Thanks to our beloved contributors: sattlerc, JanzenLiu, 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 builtin `argparse` module. (836)
- [watchmedo] Removed unexistant `WindowsApiAsyncObserver` references and `--debug-force-winapi-async` arguments.
- [watchmedo] Improved the help output.

:heart_decoration:  Thanks to our beloved contributors: knobix, AndreaRe9, BoboTiG

2.1.5

- Fix regression introduced in 2.1.4 (reverted "Allow overriding or adding custom event handlers to event dispatch map. (814)"). (830)
- Convert regexes of type `str` to `list`. (831)

:heart_decoration:  Thanks to our beloved contributors: unique1o1, BoboTiG

2.1.4

- [watchmedo] Fix usage of `os.setsid()` and `os.killpg()` Unix-only functions. (809)
- [mac] Fix missing `FileModifiedEvent` on permission or ownership changes of a file. (815)
- [mac] Convert absolute watch path in `FSEeventsEmitter` with `os.path.realpath()`. (822)
- Fix a possible `AttributeError` in `SkipRepeatsQueue._put()`. (818)
- Allow overriding or adding custom event handlers to event dispatch map. (814)
- Fix tests on big endian platforms. (828)

:heart_decoration: Thanks to our beloved contributors: replabrobin, BoboTiG, SamSchott, AndreiB97, NiklasRosenstein, ikokollari, mgorny

2.1.3

- Publish macOS `arm64` and `universal2` wheels. (740)
- Thanks to our beloved contributors: kainjow, BoboTiG

2.1.2

- [mac] Fix relative path handling for non-recursive watch. (797)
- [windows] On PyPy, events happening right after start() were missed. Add a workaround for that. (796)
- Thanks to our beloved contributors: oprypin, CCP-Aporia, BoboTiG

2.1.1

- [mac] Fix callback exceptions when the watcher is deleted but still receiving events (786) 
- Thanks to our beloved contributors: rom1win, BoboTiG, CCP-Aporia

2.1.0

- [inotify] Simplify `libc` loading (776)
- [mac] Add support for non-recursive watches in `FSEventsEmitter` (779)
- [watchmedo] Add support for `--debug-force-*` arguments to `tricks` (781)
- Thanks to our beloved contributors: CCP-Aporia, aodj, UnitedMarsupials, BoboTiG

2.0.3

- [mac] Use `logger.debug()` instead of `logger.info()` (774)
- Updated documentation links (777)
- Thanks to our beloved contributors: globau, imba-tjd, BoboTiG

2.0.2

- [mac] Add missing exception objects (766)
- Thanks to our beloved contributors: CCP-Aporia, BoboTiG

2.0.1

- [mac] Fix a segmentation fault when dealing with unicode paths (763)
- Moved the CI from Travis-CI to GitHub Actions (764)
- Thanks to our beloved contributors: SamSchott, BoboTiG

2.0.0

- ⚠️ [mac] Drop support for macOS 10.12 and earlier (750)
- [mac] Support coalesced filesystem events (734)
- [mac] Fix an issue when renaming an item changes only the casing (750)
- [inotify] Add support for ``IN_CLOSE_WRITE`` events. A ``FileCloseEvent`` event will be fired. Note that ``IN_CLOSE_NOWRITE`` events are not handled to prevent much noise. (184, 245, 280, 313, 690)
- [inotify] Allow to stop the emitter multiple times (760)
- Avoid deprecated `PyEval_InitThreads` on Python 3.7+ (746)
- Thanks to our beloved contributors: bstaletic, lukassup, ysard, SamSchott, CCP-Aporia, BoboTiG

1.0.2

- Wheels are published for GNU/Linux, macOS and Windows (739)
- [mac] Fix missing `event_id` attribute in `fsevents` (721)
- [mac] Return byte paths if a byte path was given in `fsevents` (726)
- [mac] Add compatibility with old macOS versions (733)
- Uniformize event for deletion of watched dir (727)
- Thanks to our beloved contributors: SamSchott, CCP-Aporia, di, BoboTiG

1.0.0

- Versioning is now following the [semver](https://semver.org)
- Drop support for Python 2.7, 3.4 and 3.5
- [mac] Regression fixes for native `fsevents` (717)
- [windows] `winapi.BUFFER_SIZE` now defaults to `64000` (instead of `2048`) (700)
- [windows] Introduced `winapi.PATH_BUFFER_SIZE` (defaults to `2048`) to keep the old behavior with path-realted functions (700)
- Use `pathlib` from the standard library, instead of `pathtools` (556)
- Allow file paths on Unix that don't follow the file system encoding (703)
- Removed the long-time deprecated `events.LoggingFileSystemEventHandler` class, use `LoggingEventHandler` instead
- Thanks to our beloved contributors: SamSchott, bstaletic, BoboTiG, CCP-Aporia

0.10.7

- Avoid crashing the event processing thread on non-utf8 filenames (811)
- [backport 1.0.0] [mac] Regression fixes for native `fsevents` (717)
- [backport 1.0.0] [windows] `winapi.BUFFER_SIZE` now defaults to `64000` (instead of `2048`) (700)
- [backport 1.0.0] [windows] Introduced `winapi.PATH_BUFFER_SIZE` (defaults to `2048`) to keep the old behavior with path-realted functions (700)
- [backport 1.0.0] Removed the long-time deprecated `events.LoggingFileSystemEventHandler` class, use `LoggingEventHandler` instead
- [backport 1.0.2] Wheels are published for GNU/Linux, macOS and Windows (739)
- [backport 1.0.2] [mac] Fix missing `event_id` attribute in `fsevents` (721)
- [backport 1.0.2] [mac] Return byte paths if a byte path was given in `fsevents` (726`)
- [backport 1.0.2] [mac] Add compatibility with old macOS versions (733`)
- [backport 1.0.2] Uniformize event for deletion of watched dir (727)
- [backport 2.0.0] [inotify] Add support for `IN_CLOSE_WRITE` events. A `FileCloseEvent` event will be fired. Note that `IN_CLOSE_NOWRITE` events are not handled to prevent much noise. (184, `245, `280, `313, `690)
- [backport 2.0.0] [mac] Support coalesced filesystem events (734)
- [backport 2.0.0] [mac] Drop support for OSX 10.12 and earlier (750)
- [backport 2.0.0] [mac] Fix an issue when renaming an item changes only the casing (750)
- Thanks to our beloved contributors: SamSchott, bstaletic, BoboTiG, CCP-Aporia, di, lukassup, ysard, lovasoa

0.10.5

- [mac] Regression fixes for native fsevents (716)
- Thanks to our beloved contributors: CCP-Aporia, BoboTiG

0.10.4

- Add `logger` parameter for the `LoggingEventHandler` (676)
- Replace mutable default arguments with `if None` implementation in `RegexMatchingEventHandler` (677)
- Expand tests to Python 2.7 and 3.5-3.10 for GNU/Linux, macOS and Windows
- [mac] Performance improvements for the `fsevents` module (680)
- [mac] Prevent compilation of `watchdog_fsevents.c` on non-macOS machines (687)
- [watchmedo] Handle shutdown events from `SIGTERM` and `SIGINT` more reliably (693)
- Thanks to our beloved contributors: Sraw, CCP-Aporia, BoboTiG, maybe-sybr

0.10.3

- Ensure `ObservedWatch.path` is a string (651)
- [inotify] Allow to monitor single file (655)
- [inotify] Prevent raising an exception when a file in a monitored folder has no permissions (669, 670)
- Thanks to our beloved contributors: brant-ruan, rec, andfoy, BoboTiG

0.10.2

- Fixed the `build_ext` command on macOS Catalina (628)
- Fixed the installation of macOS requirements on non-macOS OSes (635)
- Refactored `dispatch()` method of `FileSystemEventHandler`, `PatternMatchingEventHandler` and `RegexMatchingEventHandler`
- bsd] Improved tests support on non Windows/Linux platforms (633, 639)
- [bsd] Added FreeBSD CI support (532)
- [bsd] Restored full support (638, 641)
- Thanks to our beloved contributors: BoboTiG, evilham, danilobellini

0.10.1

- Fixed Python 2.7 to 3.6 installation when the OS locale is set to POSIX (615)
- Fixed the `build_ext` command on macOS  (618, 620)
- Moved requirements to `setup.cfg`  (617)
- [mac] Removed old C code for Python 2.5 in the `fsevents` C implementation
- [snapshot] Added `EmptyDirectorySnapshot` (613)
- Thanks to our beloved contributors: Ajordat, tehkirill, BoboTiG

0.10.0

2020-01-26 • [full history](https://github.com/gorakhargosh/watchdog/compare/v0.9.0...v0.10.0)

Breaking changes
================

- Dropped support for Python 2.6, 3.2 and 3.3
- Emitters that failed to start are now removed
- [snapshot] Removed the deprecated `walker_callback` argument, use `stat` instead
- [watchmedo] The utility is no more installed by default but via the extra `watchdog[watchmedo]`

Other Changes
=============

- Fixed several Python 3 warnings
- Identify synthesized events with `is_synthetic` attribute (369)
- Use `os.scandir()` to improve memory usage (503)
- [bsd] Fixed flavors of FreeBSD detection (529)
- [bsd] Skip unprocessable socket files (509)
- [inotify] Fixed events containing non-ASCII characters (516)
- [inotify] Fixed the way `OSError` are re-raised (377)
- [inotify] Fixed wrong source path after renaming a top level folder (515)
- [inotify] Removed  delay from non-move events (477)
- [mac] Fixed a bug when calling `FSEventsEmitter.stop()` twice (466)
- [mac] Support for unscheduling deleted watch (541)
- [mac] Fixed missing field initializers and unused parameters in `watchdog_fsevents.c`
- [snapshot] Don't walk directories without read permissions (408)
- [snapshot] Fixed a race condition crash when a directory is swapped for a file (513)
- [snasphot] Fixed an `AttributeError` about forgotten `path_for_inode` attr (436)
- [snasphot] Added the `ignore_device=False` parameter to the ctor (597)
- [watchmedo] Fixed the path separator used (478)
- [watchmedo] Fixed the use of `yaml.load()` for `yaml.safe_load()` (453)
- [watchmedo] Handle all available signals (549)
- [watchmedo] Added the `--debug-force-polling` argument (404)
- [windows] Fixed issues when the observed directory is deleted (570 and 601)
- [windows] `WindowsApiEmitter` made easier to subclass (344)
- [windows] Use separate ctypes DLL instances
- [windows] Generate sub created events only if `recursive=True` (454)
- Thanks to our beloved contributors: BoboTiG, LKleinNux, rrzaripov, wildmichael, TauPan, segevfiner, petrblahos, QuantumEnergyE, jeffwidman, kapsh, nickoala, petrblahos, julianolf, tonybaloney, mbakiev, pR0Ps, javaguirre, skurfer, exarkun, joshuaskelly, danilobellini, Ajordat
Links

@pyup-bot pyup-bot mentioned this pull request Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant