| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-12-14 | Fixed #32240 -- Made runserver suppress ↵ | Petter Strandmark | |
| ConnectionAbortedError/ConnectionResetError errors. See https://bugs.python.org/issue27682 and https://github.com/python/cpython/pull/9713 | |||
| 2019-07-10 | Fixed #30619 -- Made runserver --nothreading use single threaded WSGIServer. | atsuo ishimoto | |
| Browsers often use multiple connections with Connection: keep-alive. If --nothreading is specified, the WSGI server cannot accept new connections until the old connection is closed, causing hangs. Force Connection: close when --nothreading option is used. | |||
| 2019-01-28 | Fixed #30137 -- Replaced OSError aliases with the canonical OSError. | Jon Dufresne | |
| Used more specific errors (e.g. FileExistsError) as appropriate. | |||
| 2018-12-20 | Refs #30015 -- Added 2.1.5 release note and removed 'we' in comments. | Carlton Gibson | |
| 2018-12-19 | Fixed #30015 -- Ensured request body is properly consumed for keep-alive ↵ | Konstantin Alekseev | |
| connections. | |||
| 2018-11-10 | Fixed keep-alive support in manage.py runserver. | Florian Apolloner | |
| Ticket #25619 changed the default protocol to HTTP/1.1 but did not properly implement keep-alive. As a "fix" keep-alive was disabled in ticket #28440 to prevent clients from hanging (they expect the server to send more data if the connection is not closed and there is no content length set). The combination of those two fixes resulted in yet another problem: HTTP/1.1 by default allows a client to assume that keep-alive is supported unless the server disables it via 'Connection: close' -- see RFC2616 8.1.2.1 for details on persistent connection negotiation. Now if the client receives a response from Django without 'Connection: close' and immediately sends a new request (on the same tcp connection) before our server closes the tcp connection, it will error out at some point because the connection does get closed a few milli seconds later. This patch fixes the mentioned issues by always sending 'Connection: close' if we cannot determine a content length. The code is inefficient in the sense that it does not allow for persistent connections when chunked responses are used, but that should not really cause any problems (Django does not generate those) and it only affects the development server anyways. Refs #25619, #28440. | |||
| 2017-12-06 | Fixed #28893 -- Removed unnecessary dict.items() calls. | Tim Graham | |
| 2017-09-12 | Fixed #28440 -- Fixed WSGIServer hang on responses without a Content-Length. | Tom | |
| Disabled keep-alive to fix the regression in e6065c7b8363202c5eb13ba10c97a8c24d014b45. | |||
| 2017-02-23 | Fixed #25619 -- Made runserver serve with HTTP 1.1 protocol | Claude Paroz | |
| Thanks Tim Graham for the review. | |||
| 2017-02-21 | Refs #27656 -- Updated django.core docstring verbs according to PEP 257. | Anton Samarchyan | |
| 2017-02-11 | Removed WSGIServer.server_bind() identical to parent version | Claude Paroz | |
| The method customization was removed in 2ca00faa9137. | |||
| 2017-02-09 | Fixed #20238 -- Added threading support to LiveServerTestCase. | Nadège Michel | |
| 2017-02-01 | Refs #23919 -- Replaced kwargs.pop() with keyword-only arguments. | Vytis Banaitis | |
| 2017-01-25 | Refs #23919 -- Replaced super(ClassName, self) with super(). | chillaranand | |
| 2017-01-22 | Refs #23919 -- Replaced six.reraise by raise | Claude Paroz | |
| 2017-01-21 | Refs #23919 -- Removed misc references to Python 2. | Tim Graham | |
| 2017-01-20 | Refs #23919 -- Removed unneeded str() calls | Claude Paroz | |
| 2017-01-19 | Refs #23919 -- Removed str() conversion of type and method __name__. | Simon Charette | |
| 2017-01-19 | Refs #23919 -- Stopped inheriting from object to define new style classes. | Simon Charette | |
| 2017-01-18 | Refs #23919 -- Removed most of remaining six usage | Claude Paroz | |
| Thanks Tim Graham for the review. | |||
| 2017-01-18 | Refs #23919 -- Removed encoding preambles and future imports | Claude Paroz | |
| 2017-01-09 | Fixed #27705 -- Added protocol/server_cls attributes to runserver for ↵ | David Sanders | |
| extensibility. | |||
| 2016-08-23 | Fixed #26971 -- Prevented crash with non-UTF-8 incoming PATH_INFO | Claude Paroz | |
| Thanks Tim Graham and Loïc Bistuer for the reviews. | |||
| 2016-01-11 | Fixed #25684 -- Made runserver use logging for request/response output. | Flavio Curella | |
| Thanks andreif for the contributing to the patch. | |||
| 2015-12-31 | Fixed #26011 -- Prevented random LiveServerTestCase test failures on Windows. | Marten Kenbeek | |
| Prevented LiveServerTestCase from stealing ports used by concurrent processes on Windows. | |||
| 2015-08-01 | Fixed #25204 -- Added missing space in runserver logging. | Tim Graham | |
| 2015-02-19 | Fixed typo in django.core.servers.basehttp message. | Alex Vidal | |
| 2015-02-05 | Removed old import aliases. | Tim Graham | |
| 2015-01-17 | Removed FastCGI support per deprecation timeline; refs #20766. | Tim Graham | |
| 2015-01-13 | Stripped headers containing underscores to prevent spoofing in WSGI environ. | Carl Meyer | |
| This is a security fix. Disclosure following shortly. Thanks to Jedediah Smith for the report. | |||
| 2015-01-02 | Fixed #24069 -- Made ServerHandler a new style class to fix super() call. | Andreas Pelme | |
| 2014-11-28 | Fixed #4444 - Made runserver suppress 'broken pipe' errors | Matthew Somerville | |
| One handler in WSGIServer, to catch the error when raised from SocketServer.BaseServer's finish_request, and one in WSGIRequestHandler (by creating a subclass of ServerHandler), to catch the error when raised in wsgiref.handlers.BaseHandler's finish_response. | |||
| 2014-10-16 | Fixed #19508 -- Implemented uri_to_iri as per RFC. | Anubhav Joshi | |
| Thanks Loic Bistuer for helping in shaping the patch and Claude Paroz for the review. | |||
| 2014-09-09 | Fixed #23398 -- Added helpful error message when runserver is accessed via HTTPS | Flavio Curella | |
| 2014-06-05 | Fixed #21773 -- made daemon threads default in the development server. | Moayad Mardini | |
| Thanks clime for the report. | |||
| 2014-03-30 | Moved ServerHandler helper class to tests. | Ramiro Morales | |
| It has been only used in the builtin_servers tests since Django 1.4. | |||
| 2014-02-08 | Fixed #21674 -- Deprecated the import_by_path() function in favor of ↵ | Berker Peksag | |
| import_string(). Thanks Aymeric Augustin for the suggestion and review. | |||
| 2013-11-09 | Fixed #14800 -- Suppressed WSGIRequestHandler message filtering | Claude Paroz | |
| Filtering out static file requests in runserver has been judged arbitrary and can hide some debugging-related activity. Thanks Roy Smith for the report and Aymeric Augustin for the review. | |||
| 2013-11-02 | Fixed #21302 -- Fixed unused imports and import *. | Tim Graham | |
| 2013-09-22 | Fixed "Address already in use" from liveserver. | Florian Apolloner | |
| Our WSGIServer rewrapped the socket errors from server_bind into WSGIServerExceptions, which is used later on to provide nicer error messages in runserver and used by the liveserver to see if the port is already in use. But wrapping server_bind isn't enough since it only binds to the socket, socket.listen (which is called from server_activate) could also raise "Address already in use". Instead of overriding server_activate too I chose to just catch socket errors, which seems to make more sense anyways and should be more robust against changes in wsgiref. | |||
| 2013-09-05 | Took advantage of django.utils.six.moves.urllib.*. | Aymeric Augustin | |
| 2013-04-28 | Fixed #18336 -- Doubled request_queue_size. | Aymeric Augustin | |
| This reduces random failures to load static files with Google Chrome. | |||
| 2013-03-20 | Fixed #18972 -- Refactored bundled wsgi server's chunking algorithm. | Matthew Wood | |
| Thanks to amosonn at yahoo.com for the report, @doda for the initial patch and @datagrok for the revamped logic and test case. | |||
| 2013-03-19 | Fixed #18003 -- Preserved tracebacks when re-raising errors. | konarkmodi | |
| Thanks jrothenbuhler for draft patch, Konark Modi for updates. | |||
| 2013-02-04 | Fixed #17061 -- Factored out importing object from a dotted path | Claude Paroz | |
| Thanks Carl Meyer for the report. | |||
| 2012-12-31 | Fixed #16241 -- Ensured the WSGI iterable's close() is always called. | Aymeric Augustin | |
| Thanks Graham Dumpleton for the report. | |||
| 2012-11-03 | Prevented host resolution when running dev server | Claude Paroz | |
| Refs #19075, #2494. Thanks Karen Tracey for spotting the issue. | |||
| 2012-10-20 | Removed custom WSGIRequestHandler.get_environ | Claude Paroz | |
| We probably historically customized it for good reasons, but currently, the differences with upstream Python are not significant any longer. Also fixes #19075 for which a test has been added. | |||
| 2012-08-16 | [py3] Fixed a regression introduced in fcc8de0598. | Aymeric Augustin | |
| Thanks George Marshall for the report. | |||
| 2012-08-16 | [py3] Ported django.core.servers. | Aymeric Augustin | |
