Changelog - 2019¶
Note
Please see news for the latest changes
20.0.4 / 2019/11/26¶
- fix binding a socket using the file descriptor
- remove support for the
bdist_rpmbuild
20.0.3 / 2019/11/24¶
- fixed load of a config file without a Python extension
- fixed
socketfromfd.fromfdwhen defaults are not set
Note
```
20.0.2 / 2019/11/23¶
- fix changelog
20.0.1 / 2019/11/23¶
- fixed the way the config module is loaded.
__file__is now available - fixed
wsgi.input_terminated. It is always true. - use the highest protocol version of openssl by default
- only support Python >= 3.5
- added
__repr__method toConfiginstance - fixed support of AIX platform and musl libc in
socketfromfd.fromfdfunction - fixed support of applications loaded from a factory function
- fixed chunked encoding support to prevent any
request smuggling <https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn>_ - Capture os.sendfile before patching in gevent and eventlet workers.
fix
RecursionError. - removed locking in reloader when adding new files
- load the WSGI application before the loader to pick up all files
{note} as documented in Flask and other places. ```
19.10.0 / 2019/11/23¶
- unblock select loop during reload of a sync worker
- security fix: http desync attack
- handle
wsgi.input_terminated - added support for str and bytes in unix socket addresses
- fixed
max_requestssetting - headers values are now encoded as LATN1, not ASCII
- fixed
InotifyReloadeder: handlemodule.__file__is None - fixed compatibility with tornado 6
- fixed root logging
- Prevent removalof unix sockets from
reuse_port - Clear tornado ioloop before os.fork
- Miscellaneous fixes and improvement for linting using Pylint
20.0 / 2019/10/30¶
- Fixed
fdopenRuntimeWarningin Python 3.8 - Added check and exception for str type on value in Response process_headers method.
- Ensure WSGI header value is string before conducting regex search on it.
- Added pypy3 to list of tested environments
- Grouped
StopIterationandKeyboardInterruptexceptions with same body together in Arbiter.run() - Added
setproctitlemodule toextras_requirein setup.py - Avoid unnecessary chown of temporary files
- Logging: Handle auth type case insensitively
- Removed
util.import_module - Removed fallback for
types.SimpleNamespacein tests utils - Use
SourceFileLoaderinstead instead ofexecfile_ - Use
importlibinstead of__import__and eval` - Fixed eventlet patching
- Added optional
datadog <https://www.datadoghq.com>_ tags for statsd metrics - Header values now are encoded using latin-1, not ascii.
- Rewritten
parse_addressutil added test - Removed redundant super() arguments
- Simplify
futuresimport in gthread module - Fixed worker_connections` setting to also affects the Gthread worker type
- Fixed setting max_requests
- Bump minimum Eventlet and Gevent versions to 0.24 and 1.4
- Use Python default SSL cipher list by default
- handle
wsgi.input_terminatedextension - Simplify Paste Deployment documentation
- Fix root logging: root and logger are same level.
- Fixed typo in ssl_version documentation
- Documented systemd deployment unit examples
- Added systemd sd_notify support
- Fixed typo in gthread.py
- Added
tornado <https://www.tornadoweb.org/>_ 5 and 6 support - Declare our setuptools dependency
- Added support to
--bindto open file descriptors - Document how to serve WSGI app modules from Gunicorn
- Provide guidance on X-Forwarded-For access log in documentation
- Add support for named constants in the
--ssl-versionflag - Clarify log format usage of header & environment in documentation
- Fixed systemd documentation to properly setup gunicorn unix socket
- Prevent removal unix socket for reuse_port
- Fix
ResourceWarningwhen reading a Python config module - Remove unnecessary call to dict keys method
- Support str and bytes for UNIX socket addresses
- fixed
InotifyReloadeder: handlemodule.__file__is None /dev/shmas a convenient alternative to making your own tmpfs mount in fchmod FAQ- fix examples to work on python3
- Fix typo in
--max-requestsdocumentation - Clear tornado ioloop before os.fork
- Miscellaneous fixes and improvement for linting using Pylint
Breaking Change¶
- Removed gaiohttp worker
- Drop support for Python 2.x
- Drop support for EOL Python 3.2 and 3.3
- Drop support for Paste Deploy server blocks