| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-02-10 | Fixed #32355 -- Dropped support for Python 3.6 and 3.7 | Mariusz Felisiak | |
| 2021-01-05 | Fixed #32314 -- Fixed detection when started non-django modules with "python ↵ | William Schwartz | |
| -m" in autoreloader. django.utils.autoreload.get_child_arguments() detected when Python was started with the `-m` option only for `django` module. This commit changes the logic to check __spec__, see https://docs.python.org/3/reference/import.html#main-spec Now packages can implement their own __main__ with the runserver command. | |||
| 2020-11-25 | Fixed #32223 -- Removed strict=True in Path.resolve() in autoreloader. | Mariusz Felisiak | |
| This reverts commit e28671187903e6aca2428374fdd504fca3032aee which caused permission errors when users didn't have permissions to all intermediate directories in a Django installation path. Thanks Jakub Szafrański for the report. | |||
| 2020-11-19 | Fixed #32202 -- Fixed autoreloader argument generation for Windows with ↵ | Carlton Gibson | |
| Python 3.7-. | |||
| 2020-11-05 | Fixed #25791 -- Implement autoreload behaviour for cached template loader. | Tom Forbes | |
| 2020-11-02 | Protected Watchman autoreloader against busy loops. | Daniel Hahler | |
| With an error in the loop above (e.g. using query without args), this would trigger a busy loop. While this was caused due to changes to the loop itself, it seems to be just good practice to protect against this. | |||
| 2020-07-30 | Bumped minimum isort version to 5.1.0. | David Smith | |
| Fixed inner imports per isort 5. isort 5.0.0 to 5.1.0 was unstable. | |||
| 2020-06-18 | Fixed #31716 -- Fixed detection of console scripts in autoreloader on Windows. | Tom Forbes | |
| 2020-05-13 | Updated logging calls to use arguments instead of string interpolation. | François Freitag | |
| 2020-03-05 | Fixed #31327 -- Deprecated providing_args argument for Signal. | Jon Dufresne | |
| 2019-08-23 | Replaced subprocess commands by run() wherever possible. | Claude Paroz | |
| 2019-07-24 | Fixed #30647 -- Fixed crash of autoreloader when extra directory cannot be ↵ | Tom Forbes | |
| resolved. | |||
| 2019-07-24 | Removed unused BaseReloader.watch_file(). | Mariusz Felisiak | |
| Unused since its introduction in c8720e7696ca41f3262d5369365cc1bd72a216ca. | |||
| 2019-07-23 | Fixed #30506 -- Fixed crash of autoreloader when path contains null characters. | Tom Forbes | |
| 2019-07-01 | Removed unnecessary import in django/utils/autoreload.py. | PatOnTheBack | |
| 2019-06-26 | Fixed #30588 -- Fixed crash of autoreloader when __main__ module doesn't ↵ | Tom Forbes | |
| have __file__ attribute. | |||
| 2019-06-24 | Simplified handling of non-existent paths in autoreloader with ↵ | Tom Forbes | |
| Path.resolve(strict=True). | |||
| 2019-05-29 | Fixed #30523 -- Fixed updating file modification times on seen files in ↵ | Tom Forbes | |
| auto-reloader when using StatReloader. Previously we updated the file mtimes if the file has not been seen before - i.e on the first iteration of the loop. If the mtime has been changed we triggered the notify_file_changed() method which in all cases except the translations will result in the process being terminated. To be strictly correct we need to update the mtime for either branch of the conditional. Regression in 6754bffa2b2df15a741008aa611c1bb0e8dff22b. | |||
| 2019-05-29 | Fixed #30516 -- Fixed crash of autoreloader when re-raising exceptions with ↵ | Tom Forbes | |
| custom signature. Regression in c8720e7696ca41f3262d5369365cc1bd72a216ca. | |||
| 2019-05-28 | Fixed #30479 -- Fixed detecting changes in manage.py by autoreloader when ↵ | Tom Forbes | |
| using StatReloader. Regression in c8720e7696ca41f3262d5369365cc1bd72a216ca. | |||
| 2019-05-15 | Refs #27685 -- Logged unexpected Watchman autoreloader errors. | Daniel Hahler | |
| 2019-05-03 | Ignored pywatchman.SocketTimeout in Watchman autoreloader. | Daniel Hahler | |
| Bumped minimum supported pywatchman version to 1.2.0. These exceptions don't require checking a server status. | |||
| 2019-04-29 | Fixed #30323 -- Fixed detecting changes by autoreloader when using StatReloader. | Tom Forbes | |
| 2019-04-29 | Refs #30323 -- Prevented crash of autoreloader when ↵ | Tom Forbes | |
| get_resolver().urlconf_module raising an exception. | |||
| 2019-04-29 | Refs #30323 -- Simplified utils.autoreload.ensure_echo_on(). | Tom Forbes | |
| 2019-04-26 | Fixed #30361 -- Increased the default timeout of watchman client to 5 ↵ | Jacob Green | |
| seconds and made it customizable. Made the default timeout of watchman client customizable via DJANGO_WATCHMAN_TIMEOUT environment variable. | |||
| 2019-02-27 | Fixed #30215 -- Fixed autoreloader crash for modules without __spec__. | shiningfm | |
| Regression in c8720e7696ca41f3262d5369365cc1bd72a216ca. | |||
| 2019-02-25 | Refs #27685 -- Removed "watchman unavailable" message. | Tom Forbes | |
| 2019-02-09 | Removed unneeded list() calls in sorted() argument. | Sergey Fedoseev | |
| 2019-01-28 | Fixed #25624 -- Fixed autoreload crash with jinja2.ModuleLoader. | Tom Forbes | |
| 2019-01-19 | Removed redundant period in Watchman unavailable message. | Tom Forbes | |
| 2019-01-13 | Fixed #27685 -- Added watchman support to the autoreloader. | Tom Forbes | |
| Removed support for pyinotify (refs #9722). | |||
| 2018-09-26 | Refs #29784 -- Switched to https:// links where available. | Jon Dufresne | |
| 2018-02-26 | Refs #28909 -- Simplifed code using unpacking generalizations. | Mariusz Felisiak | |
| 2017-12-23 | Fixed #28594 -- Removed Jython docs and specific code | Claude Paroz | |
| Thanks Andrey Martyanov for the reporti, and Tim Graham for the review. | |||
| 2017-11-28 | Fixed #28837 -- Fixed test client crash if an exception with more than one ↵ | Nicolas Delaby | |
| arg is raised. Also removed usage of the problematic pattern elsewhere. Regression in 6e55e1d88a5c4453e25f0caf7ffb68973de5c0ba. | |||
| 2017-11-06 | Fixed #28501 -- Fixed "python -m django runserver" crash. | Yusuke Miyazaki | |
| 2017-09-07 | Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." | Tim Graham | |
| This reverts commit 550cb3a365dee4edfdd1563224d5304de2a57fda because try/except performs better. | |||
| 2017-06-28 | Fixed #27818 -- Replaced try/except/pass with contextlib.suppress(). | Mads Jensen | |
| 2017-02-11 | Refs #27656 -- Updated django.utils docstring verbs according to PEP 257. | Anton Samarchyan | |
| 2017-01-22 | Refs #23919 -- Replaced six.reraise by raise | Claude Paroz | |
| 2017-01-20 | Refs #23919 -- Removed django.utils._os.upath()/npath()/abspathu() usage. | Tim Graham | |
| These functions do nothing on Python 3. | |||
| 2017-01-18 | Refs #23919 -- Removed most of remaining six usage | Claude Paroz | |
| Thanks Tim Graham for the review. | |||
| 2016-12-28 | Fixed #27647 -- Fixed Windows segmentation fault in runserver autoreload. | Aleksi Häkli | |
| 2015-08-29 | Made the autoreloader survive all exceptions. | Aymeric Augustin | |
| Refs #24704. | |||
| 2015-08-29 | Fixed #24704 -- Made the autoreloader survive SyntaxErrors. | Aymeric Augustin | |
| With this change, it's expected to survive anything except errors that make it impossible to import the settings. It's too complex to fallback to a sensible behavior with a broken settings module. Harcoding things about runserver in ManagementUtility.execute is atrocious but it's the only way out of the chicken'n'egg problem: the current implementation of the autoreloader primarily watches imported Python modules -- and then a few other things that were bolted on top of this design -- but we want it to kick in even if the project contains import-time errors and django.setup() fails. At some point we should throw away this code and replace it by an off-the-shelf autoreloader that watches the working directory and re-runs `django-admin runserver` whenever something changes. | |||
| 2015-08-29 | Ensured gen_filenames() yields native strings. | Aymeric Augustin | |
| This also fixes a test failure on Python 2 when Django is installed in a non-ASCII path. This problem cannot happen on Python 3. | |||
| 2015-08-29 | Accounted for error files in the autoreloader. | Aymeric Augustin | |
| * When some old files contain errors, the second call to gen_filenames() should return them. * When some new files contain errors, the first call to gen_filenames(only_new=True) should return them. | |||
| 2015-07-07 | Refs #23882 -- Added detection for moved files when using inotify polling | Chris Bainbridge | |
| Commit 15f82c7 ("used pyinotify as change detection system when available") introduced a regression where editing a file in vim with default settings (writebackup=auto) no longer causes the dev server to be restarted. On a write, vim moves the monitored file to a backup path and then creates a new file in the original. The new file is not monitored as it has a different inode. Fixed this by also watching for inotify events IN_DELETE_SELF and IN_MOVE_SELF. | |||
| 2015-02-09 | Removed some obsolete absolute_imports. | Tim Graham | |
