| Unreleased |
| ---------- |
| |
| Features |
| ~~~~~~~~ |
| |
| - Server header can be omitted by specifying `ident=None` or `ident=''`. |
| See https://github.com/Pylons/waitress/pull/187 |
| |
| Bugfixes |
| ~~~~~~~~ |
| |
| - Waitress will no longer send Transfer-Encoding or Content-Length for 1xx, |
| 204, or 304 responses, and will completely ignore any message body sent by |
| the WSGI application, making sure to follow the HTTP standard. See |
| https://github.com/Pylons/waitress/pull/166, |
| https://github.com/Pylons/waitress/issues/165, |
| https://github.com/Pylons/waitress/issues/152, and |
| https://github.com/Pylons/waitress/pull/202 |
| |
| Compatibility |
| ~~~~~~~~~~~~~ |
| |
| - Waitress has now "vendored" asyncore into itself as ``waitress.wasyncore``. |
| This is to cope with the eventuality that asyncore will be removed from |
| the Python standard library in 3.8 or so. |
| |
| Documentation |
| ~~~~~~~~~~~~~ |
| |
| - Bring in documentation of paste.translogger from Pyramid. Reorganize and |
| clean up documentation. See |
| https://github.com/Pylons/waitress/pull/205 |
| https://github.com/Pylons/waitress/pull/70 |
| https://github.com/Pylons/waitress/pull/206 |
| |
| 1.1.0 (2017-10-10) |
| ------------------ |
| |
| Features |
| ~~~~~~~~ |
| |
| - Waitress now has a __main__ and thus may be called with ``python -mwaitress`` |
| |
| Bugfixes |
| ~~~~~~~~ |
| |
| - Waitress no longer allows lowercase HTTP verbs. This change was made to fall |
| in line with most HTTP servers. See https://github.com/Pylons/waitress/pull/170 |
| |
| - When receiving non-ascii bytes in the request URL, waitress will no longer |
| abruptly close the connection, instead returning a 400 Bad Request. See |
| https://github.com/Pylons/waitress/pull/162 and |
| https://github.com/Pylons/waitress/issues/64 |
| |
| 1.0.2 (2017-02-04) |
| ------------------ |
| |
| Features |
| ~~~~~~~~ |
| |
| - Python 3.6 is now officially supported in Waitress |
| |
| Bugfixes |
| ~~~~~~~~ |
| |
| - Add a work-around for libc issue on Linux not following the documented |
| standards. If getnameinfo() fails because of DNS not being available it |
| should return the IP address instead of the reverse DNS entry, however |
| instead getnameinfo() raises. We catch this, and ask getnameinfo() |
| for the same information again, explicitly asking for IP address instead of |
| reverse DNS hostname. See https://github.com/Pylons/waitress/issues/149 and |
| https://github.com/Pylons/waitress/pull/153 |
| |
| 1.0.1 (2016-10-22) |
| ------------------ |
| |
| Bugfixes |
| ~~~~~~~~ |
| |
| - IPv6 support on Windows was broken due to missing constants in the socket |
| module. This has been resolved by setting the constants on Windows if they |
| are missing. See https://github.com/Pylons/waitress/issues/138 |
| |
| - A ValueError was raised on Windows when passing a string for the port, on |
| Windows in Python 2 using service names instead of port numbers doesn't work |
| with `getaddrinfo`. This has been resolved by attempting to convert the port |
| number to an integer, if that fails a ValueError will be raised. See |
| https://github.com/Pylons/waitress/issues/139 |
| |
| |
| 1.0.0 (2016-08-31) |
| ------------------ |
| |
| Bugfixes |
| ~~~~~~~~ |
| |
| - Removed `AI_ADDRCONFIG` from the call to `getaddrinfo`, this resolves an |
| issue whereby `getaddrinfo` wouldn't return any addresses to `bind` to on |
| hosts where there is no internet connection but localhost is requested to be |
| bound to. See https://github.com/Pylons/waitress/issues/131 for more |
| information. |
| |
| Deprecations |
| ~~~~~~~~~~~~ |
| |
| - Python 2.6 is no longer supported. |
| |
| Features |
| ~~~~~~~~ |
| |
| - IPv6 support |
| |
| - Waitress is now able to listen on multiple sockets, including IPv4 and IPv6. |
| Instead of passing in a host/port combination you now provide waitress with a |
| space delineated list, and it will create as many sockets as required. |
| |
| .. code-block:: python |
| |
| from waitress import serve |
| serve(wsgiapp, listen='0.0.0.0:8080 [::]:9090 *:6543') |
| |
| Security |
| ~~~~~~~~ |
| |
| - Waitress will now drop HTTP headers that contain an underscore in the key |
| when received from a client. This is to stop any possible underscore/dash |
| conflation that may lead to security issues. See |
| https://github.com/Pylons/waitress/pull/80 and |
| https://www.djangoproject.com/weblog/2015/jan/13/security/ |