| 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/ |