Added issue and pr roles.

This commit also split news.rst and 2014-news.rst. news.rst will
only contains latest unreleased version's changelog.
This commit is contained in:
Berker Peksag 2014-11-24 22:59:32 +02:00
parent af4b1b9755
commit d12fc05de0
3 changed files with 67 additions and 293 deletions

View File

@ -1,5 +1,8 @@
import os import os
import inspect import inspect
from docutils import nodes, utils
import gunicorn.config as guncfg import gunicorn.config as guncfg
HEAD = """\ HEAD = """\
@ -16,6 +19,9 @@ used in the configuration file. The command line arguments are listed as well
for reference on setting at the command line. for reference on setting at the command line.
""" """
ISSUE_URI = 'https://github.com/benoitc/gunicorn/issues/%s'
PULL_REQUEST_URI = 'https://github.com/benoitc/gunicorn/pull/%s'
def format_settings(app): def format_settings(app):
settings_file = os.path.join(app.srcdir, "settings.rst") settings_file = os.path.join(app.srcdir, "settings.rst")
@ -29,6 +35,7 @@ def format_settings(app):
settings.write(HEAD) settings.write(HEAD)
settings.write(''.join(ret)) settings.write(''.join(ret))
def fmt_setting(s): def fmt_setting(s):
if callable(s.default): if callable(s.default):
val = inspect.getsource(s.default) val = inspect.getsource(s.default)
@ -56,5 +63,22 @@ def fmt_setting(s):
out.append("") out.append("")
return "\n".join(out) return "\n".join(out)
def issue_role(typ, rawtext, text, lineno, inliner, options={}, content=[]):
issue = utils.unescape(text)
text = 'issue ' + issue
refnode = nodes.reference(text, text, refuri=ISSUE_URI % issue)
return [refnode], []
def pull_request_role(typ, rawtext, text, lineno, inliner, options={}, content=[]):
issue = utils.unescape(text)
text = 'pull request ' + issue
refnode = nodes.reference(text, text, refuri=ISSUE_URI % issue)
return [refnode], []
def setup(app): def setup(app):
app.connect('builder-inited', format_settings) app.connect('builder-inited', format_settings)
app.add_role('issue', issue_role)
app.add_role('pr', pull_request_role)

View File

@ -1,22 +1,9 @@
Changelog - 2014 Changelog - 2014
================ ================
19.2 / unreleased .. note::
-----------------
Changes Please see :doc:`news` for the latest changes.
-------
Core
++++
- fix `#863 <https://github.com/benoitc/gunicorn/issues/863>`_: fix race condition error.
Logging
+++++++
- fix `#832 <https://github.com/benoitc/gunicorn/issues/832>`_: log to console by default.
- fix `#845 <https://github.com/benoitc/gunicorn/issues/845>`_: set the gunicorn loggers from the paste config.
19.1.1 / 2014-08-16 19.1.1 / 2014-08-16
------------------- -------------------
@ -27,22 +14,22 @@ Changes
Core Core
++++ ++++
- fix `#835 <https://github.com/benoitc/gunicorn/issues/835>`_: display correct pid of already running instance - fix :issue:`835`: display correct pid of already running instance
- fix : fix `PyTest` class in setup.py. - fix :pr:`833`: fix `PyTest` class in setup.py.
Logging Logging
+++++++ +++++++
- fix `#838 <https://github.com/benoitc/gunicorn/issues/838>`_: statsd logger, send statsd timing metrics in milliseconds - fix :issue:`838`: statsd logger, send statsd timing metrics in milliseconds
- fix `#839 <https://github.com/benoitc/gunicorn/issues/839>`_: statsd logger, allows for empty log message while pushing metrics and restore worker number in DEBUG logs - fix :issue:`839`: statsd logger, allows for empty log message while pushing
- fix `#850 <https://github.com/benoitc/gunicorn/issues/850>`_: add timezone to logging metrics and restore worker number in DEBUG logs
- fix `#853 <https://github.com/benoitc/gunicorn/issues/853>`_: Respect logger_class setting unless statsd is on - fix :issue:`850`: add timezone to logging
- fix :issue:`853`: Respect logger_class setting unless statsd is on
AioHttp worker AioHttp worker
++++++++++++++ ++++++++++++++
- fix `#830 <https://github.com/benoitc/gunicorn/issues/830>`_ make sure - fix :issue:`830` make sure gaiohttp worker is shipped with gunicorn.
gaiohttp worker is shipped with gunicorn.
19.1 / 2014-07-26 19.1 / 2014-07-26
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
@ -53,52 +40,51 @@ Changes
Core Core
++++ ++++
- fix `#785 <https://github.com/benoitc/gunicorn/issues/785>`_: handle binary type address given to a client socket address - fix :issue:`785`: handle binary type address given to a client socket address
- fix graceful shutdown. make sure QUIT and TERMS signals are switched - fix graceful shutdown. make sure QUIT and TERMS signals are switched everywhere.
everywhere. - :issue:`799`: fix support loading config from module
- support loading config from module (`#799 <https://github.com/benoitc/gunicorn/issues/799>`_) - :issue:`805`: fix check for file-like objects
- fix check for file-like objects (`#805 <https://github.com/benoitc/gunicorn/issues/805>`_) - fix :issue:`815`: args validation in WSGIApplication.init
- fix `#815 <https://github.com/benoitc/gunicorn/issues/815>`_ args validation in WSGIApplication.init - fix :issue:`787`: check if we load a pyc file or not.
- fix `#787 <https://github.com/benoitc/gunicorn/issues/787>`_ check if we load a pyc file or not.
Tornado worker Tornado worker
++++++++++++++ ++++++++++++++
- fix `#771 <https://github.com/benoitc/gunicorn/issues/771>`_: support tornado 4.0 - fix :issue:`771`: support tornado 4.0
- fix #783: x_headers error. The x-forwarded-headers option has been removed - fix :issue:`783`: x_headers error. The x-forwarded-headers option has been removed
in `c4873681299212d6082cd9902740eef18c2f14f1 in `c4873681299212d6082cd9902740eef18c2f14f1
<https://github.com/benoitc/gunicorn/commit/c4873681299212d6082cd9902740eef18c2f14f1>`_. The discussion is <https://github.com/benoitc/gunicorn/commit/c4873681299212d6082cd9902740eef18c2f14f1>`_.
available on `#633 <https://github.com/benoitc/gunicorn/pull/633>`_. The discussion is available on :pr:`633`.
AioHttp worker AioHttp worker
++++++++++++++ ++++++++++++++
- fix: fetch all body in input. fix `#803 <https://github.com/benoitc/gunicorn/issues/803>`_ - fix: fetch all body in input. fix :issue:`803`
- fix: don't install the worker if python < 3.3 - fix: don't install the worker if python < 3.3
- fix `#822 <https://github.com/benoitc/gunicorn/issues/822>`_: Support UNIX sockets in gaiohttp worker - fix :issue:`822`: Support UNIX sockets in gaiohttp worker
Async worker Async worker
++++++++++++ ++++++++++++
- fix `#790 <https://github.com/benoitc/gunicorn/issues/790>`_ StopIteration shouldn't be catched at this level. - fix :issue:`790`: StopIteration shouldn't be catched at this level.
Logging Logging
+++++++ +++++++
- add statsd logging handler fix `#748 <https://github.com/benoitc/gunicorn/issues/748>`_ - add statsd logging handler fix :issue:`748`
Paster Paster
++++++ ++++++
- fix `#809 <https://github.com/benoitc/gunicorn/issues/809>`_ Set global logging configuration from a Paste config. - fix :issue:`809`: Set global logging configuration from a Paste config.
Extra Extra
+++++ +++++
- fix RuntimeError in gunicorn.reloader (`#807 <https://github.com/benoitc/gunicorn/issues/807>`_) - fix RuntimeError in gunicorn.reloader (:issue:`807`)
Documentation Documentation
+++++++++++++ +++++++++++++
@ -107,18 +93,18 @@ Documentation
<http://docs.gunicorn.org/en/latest/faq.html#why-i-don-t-see-any-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. since many people asked for it.
19.0 / 2014-06-12 19.0 / 2014-06-12
----------------- ~~~~~~~~~~~~~~~~~
Gunicorn 19.0 is a major release with new features and fixes. This Gunicorn 19.0 is a major release with new features and fixes. This
version improve a lot the usage of Gunicorn with python 3 by adding two version improve a lot the usage of Gunicorn with python 3 by adding `two
new workers to it: `gthread` a fully threaded async worker using futures new workers <http://docs.gunicorn.org/en/latest/design.html#asyncio-workers>`_
and `gaiohttp` a worker using asyncio. to it: `gthread` a fully threaded async worker using futures and `gaiohttp` a
worker using asyncio.
Breaking Changes Breaking Changes
~~~~~~~~~~~~~~~~ ----------------
Switch QUIT and TERM signals Switch QUIT and TERM signals
++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
@ -144,7 +130,7 @@ completely deprecated and will be removed in the next release. Use the
Changes: Changes:
~~~~~~~~ --------
core core
++++ ++++
@ -179,13 +165,16 @@ core
- add: include tz offset in access log - add: include tz offset in access log
- add: include access logs in the syslog handler. - add: include access logs in the syslog handler.
- add --reload option for code reloading - 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 [embed gunicorn in your own application](http://docs.gunicorn.org/en/latest/custom.html). - 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 - improve: set wsgi.multithread to True for async workers
- fix logging: make sure to redirect wsgi.errors when needed - fix logging: make sure to redirect wsgi.errors when needed
- add: syslog logging can now be done to a unix socket - 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 try to redirect stdout/stderr to the logfile.
- fix logging: don't propagate log - fix logging: don't propagate log
- improve logging: file option can be overriden by the gunicorn options `--error-logfile` and `--access-logfile` if they are given. - improve logging: file option can be overriden by the gunicorn options
`--error-logfile` and `--access-logfile` if they are given.
- fix: don't override SERVER_* by the Host header - fix: don't override SERVER_* by the Host header
- fix: handle_error - fix: handle_error
- add more option to configure SSL - add more option to configure SSL
@ -205,7 +194,6 @@ core
- deprecate `run_gunicorn` django option - deprecate `run_gunicorn` django option
- fix: sys imported twice - fix: sys imported twice
gevent worker gevent worker
+++++++++++++ +++++++++++++

View File

@ -10,254 +10,16 @@ Changes
Core Core
++++ ++++
- fix `#863 <https://github.com/benoitc/gunicorn/issues/863>`_: fix race condition error. - fix :issue:`863`: fix race condition error.
- fix `#862 <https://github.com/benoitc/gunicorn/pull/862>`_: add ``max_requests_jitter`` - fix :pr:`862`: add ``max_requests_jitter``
configuration option. configuration option.
- fix `#917 <https://github.com/benoitc/gunicorn/issues/917>`_: the deprecated ``--debug`` - fix :issue:`917`: the deprecated ``--debug`` option has been removed.
option has been removed.
Logging Logging
+++++++ +++++++
- fix `#832 <https://github.com/benoitc/gunicorn/issues/832>`_: log to console by default. - fix :issue:`832`: log to console by default.
- fix `#845 <https://github.com/benoitc/gunicorn/issues/845>`_: set the gunicorn loggers from the paste config - fix :issue:`845`: set the gunicorn loggers from the paste config
19.1.1 / 2014-08-16
-------------------
Changes
-------
Core
++++
- fix `#835 <https://github.com/benoitc/gunicorn/issues/835>`_: display correct pid of already running instance
- fix : fix `PyTest` class in setup.py.
Logging
+++++++
- fix `#838 <https://github.com/benoitc/gunicorn/issues/838>`_: statsd logger, send statsd timing metrics in milliseconds
- fix `#839 <https://github.com/benoitc/gunicorn/issues/839>`_: statsd logger, allows for empty log message while pushing metrics and restore worker number in DEBUG logs
- fix `#850 <https://github.com/benoitc/gunicorn/issues/850>`_: add
timezone to logging
- fix `#853 <https://github.com/benoitc/gunicorn/issues/853>`_: Respect logger_class setting unless statsd is on
AioHttp worker
++++++++++++++
- fix `#830 <https://github.com/benoitc/gunicorn/issues/830>`_ make sure
gaiohttp worker is shipped with gunicorn.
19.1 / 2014-07-26
~~~~~~~~~~~~~~~~~
Changes
-------
Core
++++
- fix `#785 <https://github.com/benoitc/gunicorn/issues/785>`_: handle binary type address given to a client socket address
- fix graceful shutdown. make sure QUIT and TERMS signals are switched
everywhere.
- support loading config from module (`#799 <https://github.com/benoitc/gunicorn/issues/799>`_)
- fix check for file-like objects (`#805 <https://github.com/benoitc/gunicorn/issues/805>`_)
- fix `#815 <https://github.com/benoitc/gunicorn/issues/815>`_ args validation in WSGIApplication.init
- fix `#787 <https://github.com/benoitc/gunicorn/issues/787>`_ check if we load a pyc file or not.
Tornado worker
++++++++++++++
- fix `#771 <https://github.com/benoitc/gunicorn/issues/771>`_: support tornado 4.0
- fix #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 `#633 <https://github.com/benoitc/gunicorn/pull/633>`_.
AioHttp worker
++++++++++++++
- fix: fetch all body in input. fix `#803 <https://github.com/benoitc/gunicorn/issues/803>`_
- fix: don't install the worker if python < 3.3
- fix `#822 <https://github.com/benoitc/gunicorn/issues/822>`_: Support UNIX sockets in gaiohttp worker
Async worker
++++++++++++
- fix `#790 <https://github.com/benoitc/gunicorn/issues/790>`_ StopIteration shouldn't be catched at this level.
Logging
+++++++
- add statsd logging handler fix `#748 <https://github.com/benoitc/gunicorn/issues/748>`_
Paster
++++++
- fix `#809 <https://github.com/benoitc/gunicorn/issues/809>`_ Set global logging configuration from a Paste config.
Extra
+++++
- fix RuntimeError in gunicorn.reloader (`#807 <https://github.com/benoitc/gunicorn/issues/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 / 2014-06-12
~~~~~~~~~~~~~~~~~
Gunicorn 19.0 is a major release with new features and fixes. This
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 overriden 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
18.0 / 2013-08-26
~~~~~~~~~~~~~~~~~
- 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
History History