- Add Python 3.8 support.
- Drop Python 3.4 support.
- Fix pipetrigger.close() to close the right file descriptor. (This could've been causing EBADF errors in unrelated places!)
- Add Python 3.7 support.
- Fix Windows compatibility regression introduced in 4.0.0. See issue 9.
- Drop Python 2.6 support.
- Add Python 3.4, 3.5, and 3.6 support.
- Add PyPy support.
- Made the HTTPTask not have
command
oruri
values of"None"
when the first request line cannot be parsed. Now they are empty strings. - Reimplement
buffers.OverflowableBuffer
in terms of the standard library'stempfile.SpooledTemporaryFile
. This is much simpler. See issue 5. - Achieve and maintain 100% test coverage.
- Remove all the custom logging implementations in
zope.server.logging
and change theCommonAccessLogger
andCommonFTPActivityLogger
to only work with Python standard library loggers. The standard library supports all the logging functions this package previously provided. It can be easily configured with ZConfig. See issue 4.
- Better adherence to WSGI:
- Call close method if present on iterables returned by
start_response
. - Don't include non-string values in the CGI environment (
CHANNEL_CREATION_TIME
). - Always include
QUERY_STRING
to avoid the cgi module falling back tosys.argv
. - Add tests based on paste.lint middleware.
- Call close method if present on iterables returned by
- Replaced deprecated
zope.interface.implements
usage with equivalentzope.interface.implementer
decorator. - Dropped support for Python 2.4 and 2.5.
- Exceptions that happen in the handler thread main loop are logged so that the unexpected death of a handler thread does not happen in silence.
- On startup, HTTPServer prints a clickable URL after the hostname/port.
- fixed bug: requests lasting over 15 minutes were sometimes closed prematurely.
- Fix syntax error in tests on Python < 2.6.
Made
start_response
method of WSGI server implementation more compliant with spec:http://www.python.org/dev/peps/pep-0333/#the-start-response-callable
- Corrected license version in
zope/server/http/tests/test_wsgiserver.py
.
- When the result of a WSGI application was received,
task.write()
was only called once to transmit the data. This prohibited the transmission of partial results. Now the WSGI server iterates through the result itself making multipletask.write()
calls, which will cause partial data to be transmitted. - Created a second test case instance for the post-mortem WSGI server, so it is tested as well.
- Using python's
doctest
module instead of deprecatedzope.testing.doctest
.
- Implemented correct server proxy behavior. The HTTP server would always add a "Server" and "Date" response header to the list of response headers regardless whether one had been set already. The HTTP 1.1 spec specifies that a proxy server must not modify the "Server" and "Date" header but add a "Via" header instead.
- Implemented proxy support. Proxy requests contain a full URIs and the request parser used to throw that information away. Using
urlparse.urlsplit()
, all pieces of the URL are recorded. - The proxy scheme and netloc/hostname are exposed in the WSGI environment as
zserver.proxy.scheme
andzserver.proxy.host
. - Made tests runnable via buildout again.
- The log message "Exception during task" is no longer logged to the root logger but to zope.server.taskthreads.
- Made tests pass with current zope.publisher which restricts redirects to the current host by default.
- Moved some imports from test modules to their setUp to prevent failures when ZEO tests are run by the same testrunner
- Removed unused dependency on zope.deprecation.
- Remove old zpkg-related DEPENDENCIES.cfg file.
- Improve package meta-data.
- Fix of 599 error on conflict error in request see: http://mail.zope.org/pipermail/zope-dev/2008-January/030844.html
- Removed dependency on ZODB.
- Made WSGI server really WSGI-compliant by adding variables to the environment that are required by the spec.
- Added a factory and entry point for PasteDeploy.
- Moved some imports from test modules to their setUp to prevent failures when ZEO tests are run by the same testrunner
- Fix of 599 error on conflict error in request see: http://mail.zope.org/pipermail/zope-dev/2008-January/030844.html
- Made WSGI server really WSGI-compliant by adding variables to the environment that are required by the spec.
- Removed an unused import. Unchanged otherwise.
- Initial release as a separate project, corresponds to zope.server from Zope 3.4.0a1
- Made WSGI server really WSGI-compliant by adding variables to the environment that are required by the spec.