202x-xx-xx • full history
- [mac] Fix missing
event_id
attribute infsevents
(#721) - [mac] Add compatibility with old macOS versions (#733 <gorakhargosh#733>`_)
- Thanks to our beloved contributors: @SamSchott, @CCP-Aporia
2020-12-10 • Fix version with good metadatas.
2020-12-10 • full history
- Versioning is now following the semver
- Drop support for Python 2.7, 3.4 and 3.5
- [mac] Regression fixes for native
fsevents
(#717) - [windows]
winapi.BUFFER_SIZE
now defaults to64000
(instead of2048
) (#700) - [windows] Introduced
winapi.PATH_BUFFER_SIZE
(defaults to2048
) 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, useLoggingEventHandler
instead - Thanks to our beloved contributors: @SamSchott, @bstaletic, @BoboTiG, @CCP-Aporia
2020-11-21 • full history
- Add
logger
parameter for theLoggingEventHandler
(#676) - Replace mutable default arguments with
if None
implementation (#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
andSIGINT
more reliably (#693) - Thanks to our beloved contributors: @Sraw, @CCP-Aporia, @BoboTiG, @maybe-sybr
2020-06-25 • full history
- 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
2020-02-08 • full history
- Fixed the
build_ext
command on macOS Catalina (#628) - Fixed the installation of macOS requirements on non-macOS OSes (#635)
- Refactored
dispatch()
method ofFileSystemEventHandler
,PatternMatchingEventHandler
andRegexMatchingEventHandler
- [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
2020-01-30 • full history
- 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
2020-01-26 • full history
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, usestat
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 forgottenpath_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()
foryaml.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
2018-08-28 • full history
- Deleting the observed directory now emits a
DirDeletedEvent
event - [bsd] Improved the platform detection (#378)
- [inotify] Fixed a crash when the root directory being watched by was deleted (#374)
- [inotify] Handle systems providing uClibc
- [linux] Fixed a possible
DirDeletedEvent
duplication when deleting a directory - [mac] Fixed unicode path handling
fsevents2.py
(#298) - [watchmedo] Added the
--debug-force-polling
argument (#336) - [windows] Fixed the
FILE_LIST_DIRECTORY
constant (#376) - Thanks to our beloved contributors: @vulpeszerda, @hpk42, @tamland, @senden9, @gorakhargosh, @nolsto, @mafrosis, @DonyorM, @anthrotype, @danilobellini, @pierregr, @ShinNoNoir, @adrpar, @gforcada, @pR0Ps, @yegorich, @dhke
2015-02-11 • full history
- Fixed the use of the root logger (#274)
- [inotify] Refactored libc loading and improved error handling in
inotify_c.py
- [inotify] Fixed a possible unbound local error in
inotify_c.py
- Thanks to our beloved contributors: @mmorearty, @tamland, @tony, @gorakhargosh
2014-10-29 • full history
- Event emitters are no longer started on schedule if
Observer
is not already running - [mac] Fixed usued arguments to pass clang compilation (#265)
- [snapshot] Fixed a possible race condition crash on directory deletion (#281)
- [windows] Fixed an error when watching the same folder again (#270)
- Thanks to our beloved contributors: @tamland, @apetrone, @Falldog, @theospears
2014-07-28 • full history
- Fixed
anon_inode
descriptors leakage (#249) - [inotify] Fixed thread stop dead lock (#250)
- Thanks to our beloved contributors: @Witos, @adiroiban, @tamland
2014-07-02 • full history
- Fixed
argh
deprecation warnings (#242) - [snapshot] Methods returning internal stats info were replaced by
mtime()
,inode()
andpath()
methods - [snapshot] Deprecated the
walker_callback
argument - [watchmedo] Fixed
auto-restart
to terminate all children processes (#225) - [watchmedo] Added the
--no-parallel
argument (#227) - [windows] Fixed the value of
INVALID_HANDLE_VALUE
(#123) - [windows] Fixed octal usages to work with Python 3 as well (#223)
- Thanks to our beloved contributors: @tamland, @Ormod, @berdario, @cro, @BernieSumption, @pypingou, @gotcha, @tommorris, @frewsxcv