NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #94 most downloaded on PyPI
Simple, modern and high performance file watching and code reload in python.
Last release 13 days ago
21 Sep 2026
Ships fairly regularly
a new release about every 3 months
Nearly every release is documented
notes for 28 of 28 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
30 releases · first in 2022
One column per quarter.
Bump pyo3 from 0.28.3 to 0.29.0 by @dependabot [bot] in #382
Full Changelog: v1.2.0...v1.3.0
ci: add riscv64 manylinux wheels by @justeph in #359
Full Changelog: v1.1.1...v1.2.0
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.1.1...v1.2.0
Add support for Python 3.14 on windows builds by @zerocewl in #352
Full Changelog: v1.1.0...v1.1.1
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.1.0...v1.1.1
Bump crossbeam-channel from 0.5.12 to 0.5.15 by @dependabot in #336
crossbeam-channel from 0.5.12 to 0.5.15 by @dependabot in #336Full Changelog: v1.0.5...v1.1.0
crossbeam-channel from 0.5.12 to 0.5.15 by @dependabot in https://github.com/samuelcolvin/watchfiles/pull/336Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.0.5...v1.1.0
Bump pyo3 from 0.23.3 to 0.24.1 by @dependabot in #333
uv publish --trusted-publishing, remove twine check by @samuelcolvin in #334Full Changelog: v1.0.4...v1.0.5
uv publish --trusted-publishing, remove twine check by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/334Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.0.4...v1.0.5
Fix badge for CI by @ofek in #323
Full Changelog: v1.0.3...v1.0.4
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.0.3...v1.0.4
try to fix docs deploy 946a296 Full Changelog : v1.0.2...v1.0.3
try to fix docs deploy
946a29616ef555b313249b51038ff1b51e2e97ec
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.0.2...v1.0.3
Fix PyPI asset upload from v1.0.1.
Fix PyPI asset upload from v1.0.1.
Full Changelog: v1.0.1...v1.0.2
Bump dawidd6/action-download-artifact from 2 to 6 in /.github/workflows by @dependabot in #311
Full Changelog: v1.0.0...v1.0.1
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.0.0...v1.0.1
Bump PyO3 to 0.23, drop Python 3.8 support by @gi0baro in #307
poll_delay_ms argument using an environment variable by @joelpelaez in #303Full Changelog: v0.24.0...v1.0.0
poll_delay_ms argument using an environment variable by @joelpelaez in https://github.com/samuelcolvin/watchfiles/pull/303Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.24.0...v1.0.0
drop PyPy 3.8 by @samuelcolvin in #293
index.md by @kjaymiller in #296Full Changelog: v0.23.0...v0.24.0
index.md by @kjaymiller in https://github.com/samuelcolvin/watchfiles/pull/296Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.23.0...v0.24.0
Fix typo in watch doctstring by @kwentine in https://github.com/samuelcolvin/watchfiles/pull/280
watch doctstring by @kwentine in https://github.com/samuelcolvin/watchfiles/pull/280intern! in rust code by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/292Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.22.0...v0.23.0
fix list-pypi-files CI task by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/250
list-pypi-files CI task by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/250notify update by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/272Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.21.0...v0.22.0
Add Python 3.12 support, drop Python 3.7 support by @gi0baro in https://github.com/samuelcolvin/watchfiles/pull/248
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.20.0...v0.21.0
Bump pymdown-extensions from 9.5 to 10.0 in /requirements by @dependabot in https://github.com/samuelcolvin/watchfiles/pull/229
SIGTERM and kill running process before exitting by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/244Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.19.0...v0.20.0
Better error on OS watcher limit by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/208
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.18.1...v0.19.0
fix command split on Windows by @Kulothungan16 in https://github.com/samuelcolvin/watchfiles/pull/199
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.18.0...v0.18.1
remove python caching in CI #191
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.17.0...v0.18.0
test with python 3.11, #179 & #180
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.16.1...v0.17.0
Add missing source distribution (sdist) to PyI, fix #175
sdist) to PyI, fix #175Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.16.0...v0.16.1
make RustNotify a context manager and kill the thread on exit #164
.pyi #165RustNotify a context manager and kill the thread on exit #164WATCHFILES_FORCE_POLLING env var #170--verbose argument and improve bug template #174Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.15.0...v0.16.0
This release is just v0.15a1 promoted to a full release.
This release is just v0.15a1 promoted to a full release.
CIBW_ENVIRONMENT_LINUX=true #56setuptools-rust to maturin by @messense in #158Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.14.1...v0.15.0
~~uprev docker/setup-qemu-action #151~~ superceded by #158
CIBW_ENVIRONMENT_LINUX=true #56setuptools-rust to maturin by @messense in #158Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.14.1...v0.15.0a1
Switch to notify 5.0.0-pre.15, pin notify version #146
5.0.0-pre.15, pin notify version #146Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.14...v0.14.1
Potential Breaking Change: due to changes in #136, awatch and therefore arun_process can nolonger catch and suppress KeyboardInterupt, you may need to…
Potential Breaking Change: due to changes in #136, awatch and therefore arun_process can nolonger catch and suppress KeyboardInterupt, you may need to catch this error where you call asyncio.run() or equivilant.
wheel requirement from pyproject.toml by @mgorny in #126exit_on_signal option #132awatch by @justvanrossum in #136Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.13...v0.14
Add conda-forge install instructions to documentation by @davidbrochart in #117
rust_timeout and yield_on_timeout kwargs to watch and awatch #113aarch64 binaries for linux #121Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.12...v0.13
Allow watch to take a stop_event #112.
Allow watch to take a stop_event #112.
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.11...v0.12
fix conflicting black versions by @Fronkan in #107
run_process/arun_process to support either python functions for shell commands, #106 & #109Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v0.10...v0.11
Rewrite the whole thing to use rust notify
watchgod to watchfilesBoom
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →