GitHub

Unreleased

  • Support Python 3.15.
  • Switch package build backend from setuptools to uv_build. This makes builds with uv about nine times faster, since uv runs the backend natively, without creating a build environment or spawning a Python process. Additionally, source distributions no longer include test files, which setuptools previously included incompletely, missing the files needed to actually run them.
  • Add Django 6.1 support.
  • Drop Django 4.2 to 5.1 support.
  • Drop Python 3.9 support.

1.4.0 (2025-09-22)

  • Use watchfiles’ debounce option to batch rapid file changes into a single reload. This feature avoids multiple reloads when multiple file changes occur in quick succession. Such batched changes can occur include when one file is saved and then updated by a formatter, or when multiple files are changed when you git switch to another branch.

    PR #172.

  • Reload files after they fail with an import-time exception, like a SyntaxError.

    Thanks to Deepak Angrula for the report in Issue #148.

  • Watch and reload modules that are loaded during request serving. For example, a module may only imported be within a view function, to avoid the initial startup time cost:

    def index(request):
        from example import fruits
        ...

    Thanks to Tom Forbes for the mechanism in Django’s WatchmanReloader. PR #171.

1.3.0 (2025-09-18)

  • Support Django 6.0.

1.2.0 (2025-09-09)

  • Support Python 3.14.

  • Correct glob matching to be equivalent to Django’s StatReloader for ** patterns. This fix is limited to Python 3.13+ because it depends the new Path.full_match() method.

    PR #166. Thanks to Evgeny Arshinov for the report in Issue #91, and Stephen Mitchell for an initial pull request in PR #134.

1.1.0 (2025-02-06)

  • Support Django 5.2.

1.0.0 (2024-10-28)

  • Drop Django 3.2 to 4.1 support.

  • Drop Python 3.8 support.

  • Support Python 3.13.

  • Fix crashing on non-existent directories, which Django sometimes tries to watch.

    Thanks to baseplate-admin for the report in Issue #12 and Steven Mapes for the fix in PR #117.

0.2.0 (2024-06-19)

  • Support Django 5.1.

0.1.1 (2024-01-24)

  • Fix Python 3.8 compatibility by replacing call to pathlib.Path.is_relative_to().

    Thanks to Nathan Koch in PR #68.

0.1.0 (2023-10-11)

  • Update the watcher when Django adds or removes directories.

    Thanks to Tom Forbes in commit dc1af91.

  • Support Django 5.0.

  • Drop Python 3.7 support.

  • Support Python 3.12.

0.0.1 (2022-03-24)

  • Initial release.

Read the original on github.com ↗