2
2
Changelog
3
3
=========
4
4
5
- Unreleased
6
- ==========
5
+ 21.0 - Unreleased
6
+ =================
7
7
8
+ - document WEB_CONCURRENCY is set by, at least, Heroku
9
+ - capture peername from accept: Avoid calls to getpeername by capturing the peer name returned by
10
+ accept
11
+ - log a warning when a worker was terminated due to a signal
12
+ - fix tornado usage with latest versions of Django
13
+ - add support for python -m gunicorn
14
+ - fix systemd socket activation example
15
+ - allows to set wsgi application in configg file using `wsgi_app `
16
+ - document `--timeout = 0 `
17
+ - always close a connection when the number of requests exceeds the max requests
18
+ - Disable keepalive during graceful shutdown
19
+ - kill tasks in the gthread workers during upgrade
20
+ - fix latency in gevent worker when accepting new requests
21
+ - fix file watcher: handle errors when new worker reboot and ensure the list of files is kept
22
+ - document the default name and path of the configuration file
23
+ - document how variable impact configuration
24
+ - document the `$PORT ` environment variable
25
+ - added milliseconds option to request_time in access_log
26
+ - added PIP requirements to be used for example
27
+ - remove version from the Server header
28
+ - fix sendfile: use `socket.sendfile ` instead of `os.sendfile `
29
+ - reloader: use absolute path to prevent empty to prevent0 `InotifyError ` when a file
30
+ is added to the working directory
31
+ - Add --print-config option to print the resolved settings at startup.
8
32
- remove the `--log-dict-config ` CLI flag because it never had a working format
9
33
(the `logconfig_dict ` setting in configuration files continues to work)
10
34
11
- 20.0.4 / 2019/11/26
12
- ===================
13
-
14
- - fix binding a socket using the file descriptor
15
- - remove support for the `bdist_rpm ` build
16
-
17
- 20.0.3 / 2019/11/24
18
- ===================
19
-
20
- - fixed load of a config file without a Python extension
21
- - fixed `socketfromfd.fromfd ` when defaults are not set
22
-
23
- .. note :: we now warn when we load a config file without Python Extension
24
-
25
- 20.0.2 / 2019/11/23
26
- ===================
27
-
28
- - fix changelog
29
35
30
- 20.0.1 / 2019/11/23
31
- ===================
32
-
33
- - fixed the way the config module is loaded. `__file__ ` is now available
34
- - fixed `wsgi.input_terminated `. It is always true.
35
- - use the highest protocol version of openssl by default
36
- - only support Python >= 3.5
37
- - added `__repr__ ` method to `Config ` instance
38
- - fixed support of AIX platform and musl libc in `socketfromfd.fromfd ` function
39
- - fixed support of applications loaded from a factory function
40
- - fixed chunked encoding support to prevent any `request smuggling <https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn >`_
41
- - Capture os.sendfile before patching in gevent and eventlet workers.
42
- fix `RecursionError `.
43
- - removed locking in reloader when adding new files
44
- - load the WSGI application before the loader to pick up all files
45
-
46
- .. note :: this release add official support for applications loaded from a factory function
47
- as documented in Flask and other places.
48
-
49
-
50
- 19.10.0 / 2019/11/23
51
- ====================
52
-
53
- - unblock select loop during reload of a sync worker
54
- - security fix: http desync attack
55
- - handle `wsgi.input_terminated `
56
- - added support for str and bytes in unix socket addresses
57
- - fixed `max_requests ` setting
58
- - headers values are now encoded as LATN1, not ASCII
59
- - fixed `InotifyReloadeder `: handle `module.__file__ ` is None
60
- - fixed compatibility with tornado 6
61
- - fixed root logging
62
- - Prevent removalof unix sockets from `reuse_port `
63
- - Clear tornado ioloop before os.fork
64
- - Miscellaneous fixes and improvement for linting using Pylint
65
-
66
- 20.0 / 2019/10/30
67
- =================
36
+ ** Breaking changes **
68
37
69
- - Fixed `fdopen ` `RuntimeWarning ` in Python 3.8
70
- - Added check and exception for str type on value in Response process_headers method.
71
- - Ensure WSGI header value is string before conducting regex search on it.
72
- - Added pypy3 to list of tested environments
73
- - Grouped `StopIteration ` and `KeyboardInterrupt ` exceptions with same body together in Arbiter.run()
74
- - Added `setproctitle ` module to `extras_require ` in setup.py
75
- - Avoid unnecessary chown of temporary files
76
- - Logging: Handle auth type case insensitively
77
- - Removed `util.import_module `
78
- - Removed fallback for `types.SimpleNamespace ` in tests utils
79
- - Use `SourceFileLoader ` instead instead of `execfile_ `
80
- - Use `importlib ` instead of `__import__ ` and eval`
81
- - Fixed eventlet patching
82
- - Added optional `datadog <https://www.datadoghq.com >`_ tags for statsd metrics
83
- - Header values now are encoded using latin-1, not ascii.
84
- - Rewritten `parse_address ` util added test
85
- - Removed redundant super() arguments
86
- - Simplify `futures ` import in gthread module
87
- - Fixed worker_connections` setting to also affects the Gthread worker type
88
- - Fixed setting max_requests
89
- - Bump minimum Eventlet and Gevent versions to 0.24 and 1.4
90
- - Use Python default SSL cipher list by default
91
- - handle `wsgi.input_terminated ` extension
92
- - Simplify Paste Deployment documentation
93
- - Fix root logging: root and logger are same level.
94
- - Fixed typo in ssl_version documentation
95
- - Documented systemd deployement unit examples
96
- - Added systemd sd_notify support
97
- - Fixed typo in gthread.py
98
- - Added `tornado <https://www.tornadoweb.org/ >`_ 5 and 6 support
99
- - Declare our setuptools dependency
100
- - Added support to `--bind ` to open file descriptors
101
- - Document how to serve WSGI app modules from Gunicorn
102
- - Provide guidance on X-Forwarded-For access log in documentation
103
- - Add support for named constants in the `--ssl-version ` flag
104
- - Clarify log format usage of header & environment in documentation
105
- - Fixed systemd documentation to properly setup gunicorn unix socket
106
- - Prevent removal unix socket for reuse_port
107
- - Fix `ResourceWarning ` when reading a Python config module
108
- - Remove unnecessary call to dict keys method
109
- - Support str and bytes for UNIX socket addresses
110
- - fixed `InotifyReloadeder `: handle `module.__file__ ` is None
111
- - `/dev/shm ` as a convenient alternative to making your own tmpfs mount in fchmod FAQ
112
- - fix examples to work on python3
113
- - Fix typo in `--max-requests ` documentation
114
- - Clear tornado ioloop before os.fork
115
- - Miscellaneous fixes and improvement for linting using Pylint
38
+ - minimum version is Python 3.5
39
+ - remove version from the Server header
116
40
117
- Breaking Change
118
- +++++++++++++++
41
+ ** Others **
119
42
120
- - Removed gaiohttp worker
121
- - Drop support for Python 2.x
122
- - Drop support for EOL Python 3.2 and 3.3
123
- - Drop support for Paste Deploy server blocks
43
+ - miscellaneous changes in the code base to be a better citizen with Python 3
44
+ - remove dead code
45
+ - fix documentation generation
124
46
125
47
126
48
History
@@ -129,6 +51,8 @@ History
129
51
.. toctree ::
130
52
:titlesonly:
131
53
54
+ 2020-news
55
+ 2019-news
132
56
2018-news
133
57
2017-news
134
58
2016-news
0 commit comments