Gunicorn

Latest version: v22.0.0

Safety actively analyzes 630026 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 13

19.2.1

Not secure
==================

Logging
+++++++

- expose loglevel in the Logger class

AsyncIO worker (gaiohttp)
+++++++++++++++++++++++++

- fix :issue:`977` fix initial crash

Documentation
+++++++++++++

- document security mailing-list in the contributing page.

19.2

=================

Core
++++

- optimize the sync workers when listening on a single interface
- add `--sendfile` settings to enable/disable sendfile. fix :issue:`856` .
- add the selectors module to the code base. :issue:`886`
- add `--max-requests-jitter` setting to set the maximum jitter to add to the
max-requests setting.
- fix :issue:`899` propagate proxy_protocol_info to keep-alive requests
- fix :issue:`863` worker timeout: dynamic timeout has been removed
- fix: Avoid world writable file

Logging
+++++++

- fix :issue:`941` set logconfig default to paster more trivially
- add statsd-prefix config setting: set the prefix to use when emitting statsd
metrics
- :issue:`832` log to console by default

Thread Worker
+++++++++++++

- fix :issue:`908` make sure the worker can continue to accept requests

Eventlet Worker
+++++++++++++++

- fix :issue:`867` Fix eventlet shutdown to actively shut down the workers.

Documentation
+++++++++++++

Many improvements and fixes have been done, see the detailed changelog for
more information.


================
Changelog - 2016
================

.. note::

Please see :doc:`news` for the latest changes

19.1.1

Not secure
===================

Changes
-------

Core
++++

- fix :issue:`835`: display correct pid of already running instance
- fix :pr:`833`: fix `PyTest` class in setup.py.


Logging
+++++++

- fix :issue:`838`: statsd logger, send statsd timing metrics in milliseconds
- fix :issue:`839`: statsd logger, allows for empty log message while pushing
metrics and restore worker number in DEBUG logs
- fix :issue:`850`: add timezone to logging
- fix :issue:`853`: Respect logger_class setting unless statsd is on

AioHttp worker
++++++++++++++

- fix :issue:`830` make sure gaiohttp worker is shipped with gunicorn.

19.1

=================

Changes
-------

Core
++++

- fix :issue:`785`: handle binary type address given to a client socket address
- fix graceful shutdown. make sure QUIT and TERMS signals are switched everywhere.
- :issue:`799`: fix support loading config from module
- :issue:`805`: fix check for file-like objects
- fix :issue:`815`: args validation in WSGIApplication.init
- fix :issue:`787`: check if we load a pyc file or not.


Tornado worker
++++++++++++++

- fix :issue:`771`: support tornado 4.0
- fix :issue:`783`: x_headers error. The x-forwarded-headers option has been removed
in `c4873681299212d6082cd9902740eef18c2f14f1
<https://github.com/benoitc/gunicorn/commit/c4873681299212d6082cd9902740eef18c2f14f1>`_.
The discussion is available on :pr:`633`.


AioHttp worker
++++++++++++++

- fix: fetch all body in input. fix :issue:`803`
- fix: don't install the worker if python < 3.3
- fix :issue:`822`: Support UNIX sockets in gaiohttp worker


Async worker
++++++++++++

- fix :issue:`790`: StopIteration shouldn't be caught at this level.


Logging
+++++++

- add statsd logging handler fix :issue:`748`


Paster
++++++

- fix :issue:`809`: Set global logging configuration from a Paste config.


Extra
+++++

- fix RuntimeError in gunicorn.reloader (:issue:`807`)


Documentation
+++++++++++++

- update faq: put a note on how `watch logs in the console
<http://docs.gunicorn.org/en/latest/faq.html#why-i-don-t-see-any-logs-in-the-console>`_
since many people asked for it.

19.0

version improve a lot the usage of Gunicorn with python 3 by adding `two
new workers <http://docs.gunicorn.org/en/latest/design.html#asyncio-workers>`_
to it: `gthread` a fully threaded async worker using futures and `gaiohttp` a
worker using asyncio.


Breaking Changes
----------------

Switch QUIT and TERM signals
++++++++++++++++++++++++++++

With this change, when gunicorn receives a QUIT all the workers are
killed immediately and exit and TERM is used for the graceful shutdown.

Note: the old behaviour was based on the NGINX but the new one is more
correct according the following doc:

https://www.gnu.org/software/libc/manual/html_node/Termination-Signals.html

also it is complying with the way the signals are sent by heroku:

https://devcenter.heroku.com/articles/python-faq#what-constraints-exist-when-developing-applications-on-heroku

Deprecations
++++++++++++

`run_gunicorn`, `gunicorn_django` and `gunicorn_paster` are now
completely deprecated and will be removed in the next release. Use the
`gunicorn` command instead.


Changes
-------

core
++++

- add aiohttp worker named `gaiohttp` using asyncio. Full async worker
on python 3.
- fix HTTP-violating excess whitespace in write_error output
- fix: try to log what happened in the worker after a timeout, add a
`worker_abort` hook on SIGABRT signal.
- fix: save listener socket name in workers so we can handle buffered
keep-alive requests after the listener has closed.
- add on_exit hook called just before exiting gunicorn.
- add support for python 3.4
- fix: do not swallow unexpected errors when reaping
- fix: remove incompatible SSL option with python 2.6
- add new async gthread worker and `--threads` options allows to set multiple
threads to listen on connection
- deprecate `gunicorn_django` and `gunicorn_paster`
- switch QUIT and TERM signal
- reap workers in SIGCHLD handler
- add universal wheel support
- use `email.utils.formatdate` in gunicorn.util.http_date
- deprecate the `--debug` option
- fix: log exceptions that occur after response start …
- allows loading of applications from `.pyc` files (693)
- fix: issue 691, raw_env config file parsing
- use a dynamic timeout to wait for the optimal time. (Reduce power
usage)
- fix python3 support when notifying the arbiter
- add: honor $WEB_CONCURRENCY environment variable. Useful for heroku
setups.
- add: include tz offset in access log
- add: include access logs in the syslog handler.
- add --reload option for code reloading
- add the capability to load `gunicorn.base.Application` without the loading of
the arguments of the command line. It allows you to :ref:`embed gunicorn in
your own application <custom>`.
- improve: set wsgi.multithread to True for async workers
- fix logging: make sure to redirect wsgi.errors when needed
- add: syslog logging can now be done to a unix socket
- fix logging: don't try to redirect stdout/stderr to the logfile.
- fix logging: don't propagate log
- improve logging: file option can be overridden by the gunicorn options
`--error-logfile` and `--access-logfile` if they are given.
- fix: don't override SERVER_* by the Host header
- fix: handle_error
- add more option to configure SSL
- fix: sendfile with SSL
- add: worker_int callback (to react on SIGTERM)
- fix: don't depend on entry point for internal classes, now absolute
modules path can be given.
- fix: Error messages are now encoded in latin1
- fix: request line length check
- improvement: proxy_allow_ips: Allow proxy protocol if "*" specified
- fix: run worker's `setup` method before setting num_workers
- fix: FileWrapper inherit from `object` now
- fix: Error messages are now encoded in latin1
- fix: don't spam the console on SIGWINCH.
- fix: logging -don't stringify T and D logging atoms (621)
- add support for the latest django version
- deprecate `run_gunicorn` django option
- fix: sys imported twice


gevent worker
+++++++++++++

- fix: make sure to stop all listeners
- fix: monkey patching is now done in the worker
- fix: "global name 'hub' is not defined"
- fix: reinit `hub` on old versions of gevent
- support gevent 1.0
- fix: add subprocess in monkey patching
- fix: add support for multiple listener


eventlet worker
+++++++++++++++

- fix: merge duplicate EventletWorker.init_process method (fixes 657)
- fix: missing errno import for eventlet sendfile patch
- fix: add support for multiple listener


tornado worker
++++++++++++++

- add graceful stop support


================
Changelog - 2015
================

.. note::

Please see :doc:`news` for the latest changes.

18.0

Not secure
-----------------

- new: add ``-e/--env`` command line argument to pass an environment variables to
gunicorn
- new: add ``--chdir`` command line argument to specified directory
before apps loading. - new: add wsgi.file_wrapper support in async workers
- new: add ``--paste`` command line argument to set the paster config file
- deprecated: the command ``gunicorn_django`` is now deprecated. You should now
run your application with the WSGI interface installed with your project (see
https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/gunicorn/) for
more infos.
- deprecated: the command ``gunicorn_paste`` is deprecated. You now should use
the new ``--paste`` argument to set the configuration file of your paster
application.
- fix: Removes unmatched leading quote from the beginning of the default access
log format string
- fix: null timeout
- fix: gevent worker
- fix: don't reload the paster app when using pserve
- fix: after closing for error do not keep alive the connection
- fix: responses 1xx, 204 and 304 should not force the connection to be closed

Page 5 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.