Hello community, here is the log from the commit of package python3-gunicorn for openSUSE:Factory checked in at 2016-01-15 10:41:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-gunicorn (Old) and /work/SRC/openSUSE:Factory/.python3-gunicorn.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-gunicorn" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-gunicorn/python3-gunicorn.changes 2015-12-03 13:32:13.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python3-gunicorn.new/python3-gunicorn.changes 2016-01-15 10:41:53.000000000 +0100 @@ -1,0 +2,27 @@ +Tue Jan 12 22:20:58 UTC 2016 - [email protected] + +- update to version 19.4.5: + * fix: NameError fileno in gunicorn.http.wsgi (issue 1178) + +- changes from version 19.4.4: + * fix: check if a fileobject can be used with sendfile(2) (issue + 1174) + * doc: be more descriptive in errorlog option (issue 1173) + +- changes from version 19.4.3: + * fix: don’t check if a file is writable using os.stat with SELINUX + (issue 1171) + +- changes from version 19.4.2: + * improvement: handle HaltServer in manage_workers (issue 1095) + * fix: Do not rely on sendfile sending requested count (issue 1155) + * fix: claridy –no-sendfile default (issue 1156) + * fix: LoggingCatch sendfile failure from no file descriptor (issue + 1160) + * fix: Always send access log to syslog if syslog is on + * fix: check auth before trying to own a file (issue 1157) + * fix: Fix Slowloris broken link. (issue 1142) + * Tweak markup in faq.rst + * fix: gaiohttp test (issue 1164) + +------------------------------------------------------------------- Old: ---- gunicorn-19.4.1.tar.gz New: ---- gunicorn-19.4.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-gunicorn.spec ++++++ --- /var/tmp/diff_new_pack.lWEII4/_old 2016-01-15 10:41:54.000000000 +0100 +++ /var/tmp/diff_new_pack.lWEII4/_new 2016-01-15 10:41:54.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package python3-gunicorn # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: python3-gunicorn -Version: 19.4.1 +Version: 19.4.5 Release: 0 Summary: WSGI HTTP Server for UNIX License: MIT ++++++ gunicorn-19.4.1.tar.gz -> gunicorn-19.4.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/LICENSE new/gunicorn-19.4.5/LICENSE --- old/gunicorn-19.4.1/LICENSE 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/LICENSE 2016-01-04 10:37:00.000000000 +0100 @@ -1,4 +1,4 @@ -2009-2015 (c) Benoît Chesneau <[email protected]> +2009-2016 (c) Benoît Chesneau <[email protected]> 2009-2015 (c) Paul J. Davis <[email protected]> Permission is hereby granted, free of charge, to any person diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/NOTICE new/gunicorn-19.4.5/NOTICE --- old/gunicorn-19.4.1/NOTICE 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/NOTICE 2016-01-04 10:35:07.000000000 +0100 @@ -1,6 +1,6 @@ Gunicorn -2009-2015 (c) Benoît Chesneau <[email protected]> +2009-2016 (c) Benoît Chesneau <[email protected]> 2009-2015 (c) Paul J. Davis <[email protected]> Gunicorn is released under the MIT license. See the LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/PKG-INFO new/gunicorn-19.4.5/PKG-INFO --- old/gunicorn-19.4.1/PKG-INFO 2015-11-25 17:07:05.000000000 +0100 +++ new/gunicorn-19.4.5/PKG-INFO 2016-01-05 01:11:58.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: gunicorn -Version: 19.4.1 +Version: 19.4.5 Summary: WSGI HTTP Server for UNIX Home-page: http://gunicorn.org Author: Benoit Chesneau diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/docs/site/index.html new/gunicorn-19.4.5/docs/site/index.html --- old/gunicorn-19.4.1/docs/site/index.html 2015-11-25 16:25:38.000000000 +0100 +++ new/gunicorn-19.4.5/docs/site/index.html 2015-12-24 09:52:59.000000000 +0100 @@ -16,7 +16,7 @@ <div class="logo-div"> <div class="latest"> Latest version: <strong><a - href="http://docs.gunicorn.org/en/19.4/news.html#id1">19.4</a></strong> + href="http://docs.gunicorn.org/en/stable">19.4</a></strong> </div> <div class="logo"><img src="images/logo.jpg" ></div> @@ -83,7 +83,7 @@ (tutorial) $ cat myapp.py def app(environ, start_response): - data = "Hello, World!\n" + data = b"Hello, World!\n" start_response("200 OK", [ ("Content-Type", "text/plain"), ("Content-Length", str(len(data))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/docs/source/2015-news.rst new/gunicorn-19.4.5/docs/source/2015-news.rst --- old/gunicorn-19.4.1/docs/source/2015-news.rst 2015-11-25 17:06:44.000000000 +0100 +++ new/gunicorn-19.4.5/docs/source/2015-news.rst 2016-01-04 11:00:09.000000000 +0100 @@ -6,6 +6,40 @@ Please see :doc:`news` for the latest changes. +19.4.3 / 2015/12/30 +=================== + +- fix: don't check if a file is writable using os.stat with SELINUX (:issue:`1171`) + +19.4.2 / 2015/12/29 +=================== + +Core +++++ + +- improvement: handle HaltServer in manage_workers (:issue:`1095`) +- fix: Do not rely on sendfile sending requested count (:issue:`1155`) +- fix: claridy --no-sendfile default (:issue:`1156`) +- fix: LoggingCatch sendfile failure from no file descriptor (:issue:`1160`) + +Logging ++++++++ + +- fix: Always send access log to syslog if syslog is on +- fix: check auth before trying to own a file (:issue:`1157`) + + +Documentation ++++++++++++++ + +- fix: Fix Slowloris broken link. (:issue:`1142`) +- Tweak markup in faq.rst + +Testing ++++++++ + +- fix: gaiohttp test (:issue:`1164`) + 19.4.1 / 2015/11/25 =================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/docs/source/2016-news.rst new/gunicorn-19.4.5/docs/source/2016-news.rst --- old/gunicorn-19.4.1/docs/source/2016-news.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/gunicorn-19.4.5/docs/source/2016-news.rst 2016-01-05 01:06:12.000000000 +0100 @@ -0,0 +1,18 @@ +================ +Changelog - 2016 +================ + +.. note:: + + Please see :doc:`news` for the latest changes55 + +19.4.5 / 2016/01/05 +=================== + +- fix: NameError fileno in gunicorn.http.wsgi (:issue:`1178`) + +19.4.4 / 2016/01/04 +=================== + +- fix: check if a fileobject can be used with sendfile(2) (:issue:`1174`) +- doc: be more descriptive in errorlog option (:issue:`1173`) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/docs/source/deploy.rst new/gunicorn-19.4.5/docs/source/deploy.rst --- old/gunicorn-19.4.1/docs/source/deploy.rst 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/docs/source/deploy.rst 2015-12-24 09:52:59.000000000 +0100 @@ -11,7 +11,7 @@ use Nginx_. If you choose another proxy server you need to make sure that it buffers slow clients when you use default Gunicorn workers. Without this buffering Gunicorn will be easily susceptible to denial-of-service attacks. -You can use slowloris_ to check if your proxy is behaving properly. +You can use Boom_ to check if your proxy is behaving properly. An `example configuration`_ file for fast clients with Nginx_: @@ -266,7 +266,7 @@ kill -USR1 $(cat /var/run/gunicorn.pid) .. _Nginx: http://www.nginx.org -.. _slowloris: http://ha.ckers.org/slowloris/ +.. _Boom: https://github.com/rakyll/boom .. _`example configuration`: http://github.com/benoitc/gunicorn/blob/master/examples/nginx.conf .. _runit: http://smarden.org/runit/ .. _`example service`: http://github.com/benoitc/gunicorn/blob/master/examples/gunicorn_rc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/docs/source/design.rst new/gunicorn-19.4.5/docs/source/design.rst --- old/gunicorn-19.4.1/docs/source/design.rst 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/docs/source/design.rst 2015-12-24 09:52:59.000000000 +0100 @@ -75,7 +75,7 @@ This resource bound assumption is why we require a buffering proxy in front of a default configuration Gunicorn. If you exposed synchronous workers to the internet, a DOS attack would be trivial by creating a load that trickles data to -the servers. For the curious, Slowloris_ is an example of this type of load. +the servers. For the curious, Boom_ is an example of this type of load. Some examples of behavior requiring asynchronous workers: @@ -126,5 +126,5 @@ .. _Greenlets: https://github.com/python-greenlet/greenlet .. _Eventlet: http://eventlet.net .. _Gevent: http://gevent.org -.. _Slowloris: http://ha.ckers.org/slowloris/ +.. _Boom: http://ha.ckers.org/slowloris/ .. _aiohttp: https://github.com/KeepSafe/aiohttp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/docs/source/faq.rst new/gunicorn-19.4.5/docs/source/faq.rst --- old/gunicorn-19.4.1/docs/source/faq.rst 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/docs/source/faq.rst 2015-12-24 09:52:59.000000000 +0100 @@ -27,8 +27,12 @@ How might I test a proxy configuration? --------------------------------------- -The Slowloris_ script is a great way to test that your proxy is correctly -buffering responses for the synchronous workers. +The Boom_ program is a great way to test that your proxy is correctly +buffering responses for the synchronous workers:: + + $ boom -n 10000 -c 100 http://127.0.0.1:5000/ + +This runs a benchmark of 10000 requests with 100 running concurrently. How can I name processes? ------------------------- @@ -47,7 +51,7 @@ handle unbuffered requests (ie, serving requests directly from the internet) you should use one of the async workers. -.. _slowloris: http://ha.ckers.org/slowloris/ +.. _Boom: https://github.com/rakyll/boom .. _setproctitle: http://pypi.python.org/pypi/setproctitle .. _proc_name: settings.html#proc-name diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/docs/source/news.rst new/gunicorn-19.4.5/docs/source/news.rst --- old/gunicorn-19.4.1/docs/source/news.rst 2015-11-25 17:06:44.000000000 +0100 +++ new/gunicorn-19.4.5/docs/source/news.rst 2016-01-05 01:06:32.000000000 +0100 @@ -2,6 +2,52 @@ Changelog ========= +19.4.5 / 2016/01/05 +=================== + +- fix: NameError fileno in gunicorn.http.wsgi (:issue:`1178`) + +19.4.4 / 2016/01/04 +=================== + +- fix: check if a fileobject can be used with sendfile(2) (:issue:`1174`) +- doc: be more descriptive in errorlog option (:issue:`1173`) + +19.4.3 / 2015/12/30 +=================== + +- fix: don't check if a file is writable using os.stat with SELINUX (:issue:`1171`) + +19.4.2 / 2015/12/29 +=================== + +Core +++++ + +- improvement: handle HaltServer in manage_workers (:issue:`1095`) +- fix: Do not rely on sendfile sending requested count (:issue:`1155`) +- fix: claridy --no-sendfile default (:issue:`1156`) +- fix: LoggingCatch sendfile failure from no file descriptor (:issue:`1160`) + +Logging ++++++++ + +- fix: Always send access log to syslog if syslog is on +- fix: check auth before trying to own a file (:issue:`1157`) + + +Documentation ++++++++++++++ + +- fix: Fix Slowloris broken link. (:issue:`1142`) +- Tweak markup in faq.rst + +Testing ++++++++ + +- fix: gaiohttp test (:issue:`1164`) + + 19.4.1 / 2015/11/25 =================== @@ -97,106 +143,13 @@ - fix: reloader should survive SyntaxError (:issue:`994`) - fix: expose the reloader class to the worker. - -19.3.0 / 2015/03/06 -=================== - -Changes -------- - -Core -++++ - -- fix: :issue:`978` make sure a listener is inheritable -- add `check_config` class method to workers -- fix: :issue:`983` fix select timeout in sync worker with multiple - connections -- allows workers to access to the reloader. close :issue:`984` -- raise TypeError instead of AssertionError - -Logging -+++++++ - -- make Logger.loglevel a class attribute - -Documentation -+++++++++++++ - -- fix: :issue:`988` fix syntax errors in examples/gunicorn_rc - -19.2.1 / 2015/02/4 -================== - -Changes -------- - -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 / 2015/01/30 -================= - -Changes -------- - -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` -- fix :pr:`862` 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 a race - condition error -- fix: Avoid world writable file -- fix :issue:`917`: the deprecated ``--debug`` option has been removed. - -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 -- fix :issue:`845`: set the gunicorn loggers from the paste config - -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. - History ======= .. toctree:: :titlesonly: + 2016-news 2015-news 2014-news 2013-news diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/gunicorn/__init__.py new/gunicorn-19.4.5/gunicorn/__init__.py --- old/gunicorn-19.4.1/gunicorn/__init__.py 2015-11-25 17:06:44.000000000 +0100 +++ new/gunicorn-19.4.5/gunicorn/__init__.py 2016-01-05 01:02:07.000000000 +0100 @@ -3,6 +3,6 @@ # This file is part of gunicorn released under the MIT license. # See the NOTICE for more information. -version_info = (19, 4, 1) +version_info = (19, 4, 5) __version__ = ".".join([str(v) for v in version_info]) SERVER_SOFTWARE = "gunicorn/%s" % __version__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/gunicorn/arbiter.py new/gunicorn-19.4.5/gunicorn/arbiter.py --- old/gunicorn-19.4.1/gunicorn/arbiter.py 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/gunicorn/arbiter.py 2015-12-31 14:40:51.000000000 +0100 @@ -176,9 +176,9 @@ self.start() util._setproctitle("master [%s]" % self.proc_name) - self.manage_workers() - while True: - try: + try: + self.manage_workers() + while True: sig = self.SIG_QUEUE.pop(0) if len(self.SIG_QUEUE) else None if sig is None: self.sleep() @@ -198,21 +198,21 @@ self.log.info("Handling signal: %s", signame) handler() self.wakeup() - except StopIteration: - self.halt() - except KeyboardInterrupt: - self.halt() - except HaltServer as inst: - self.halt(reason=inst.reason, exit_status=inst.exit_status) - except SystemExit: - raise - except Exception: - self.log.info("Unhandled exception in main loop:\n%s", - traceback.format_exc()) - self.stop(False) - if self.pidfile is not None: - self.pidfile.unlink() - sys.exit(-1) + except StopIteration: + self.halt() + except KeyboardInterrupt: + self.halt() + except HaltServer as inst: + self.halt(reason=inst.reason, exit_status=inst.exit_status) + except SystemExit: + raise + except Exception: + self.log.info("Unhandled exception in main loop:\n%s", + traceback.format_exc()) + self.stop(False) + if self.pidfile is not None: + self.pidfile.unlink() + sys.exit(-1) def handle_chld(self, sig, frame): "SIGCHLD handling" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/gunicorn/config.py new/gunicorn-19.4.5/gunicorn/config.py --- old/gunicorn-19.4.1/gunicorn/config.py 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/gunicorn/config.py 2016-01-04 10:22:32.000000000 +0100 @@ -281,6 +281,9 @@ def validate_bool(val): + if val is None: + return + if isinstance(val, bool): return val if not isinstance(val, six.string_types): @@ -681,8 +684,8 @@ desc = """\ Timeout for graceful workers restart. - After receiving a restart signal, workers have this much time to finish - serving requests. Workers still alive after the timeout (starting from + After receiving a restart signal, workers have this much time to finish + serving requests. Workers still alive after the timeout (starting from the receipt of the restart signal) are force killed. """ @@ -821,13 +824,14 @@ restarting workers. """ + class Sendfile(Setting): name = "sendfile" section = "Server Mechanics" cli = ["--no-sendfile"] validator = validate_bool - action = "store_false" - default = True + action = "store_const" + const = False desc = """\ Disables the use of ``sendfile()``. @@ -837,6 +841,7 @@ disabling. """ + class Chdir(Setting): name = "chdir" section = "Server Mechanics" @@ -1081,7 +1086,7 @@ desc = """\ The Error log file to write to. - ``'-'`` means log to stderr. + Using ``'-'`` for FILE makes gunicorn log to stderr. .. versionchanged:: 19.2 Log to stderr by default. @@ -1692,6 +1697,7 @@ Whether to perform SSL handshake on socket connect (see stdlib ssl module's) """ + if sys.version_info >= (2, 7): class Ciphers(Setting): name = "ciphers" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/gunicorn/glogging.py new/gunicorn-19.4.5/gunicorn/glogging.py --- old/gunicorn-19.4.1/gunicorn/glogging.py 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/gunicorn/glogging.py 2015-12-31 14:40:51.000000000 +0100 @@ -278,7 +278,7 @@ for format details """ - if not self.cfg.accesslog and not self.cfg.logconfig: + if not (self.cfg.accesslog or self.cfg.logconfig or self.cfg.syslog): return # wrap atoms: @@ -338,7 +338,12 @@ util.check_is_writeable(output) h = logging.FileHandler(output) # make sure the user can reopen the file - os.chown(h.baseFilename, self.cfg.user, self.cfg.group) + try: + os.chown(h.baseFilename, self.cfg.user, self.cfg.group) + except OSError: + # it's probably OK there, we assume the user has given + # /dev/null as a parameter. + pass h.setFormatter(fmt) h._gunicorn = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/gunicorn/http/wsgi.py new/gunicorn-19.4.5/gunicorn/http/wsgi.py --- old/gunicorn-19.4.1/gunicorn/http/wsgi.py 2015-11-25 13:29:46.000000000 +0100 +++ new/gunicorn-19.4.5/gunicorn/http/wsgi.py 2016-01-05 01:09:58.000000000 +0100 @@ -347,14 +347,17 @@ util.write(self.sock, arg, self.chunked) def can_sendfile(self): - return self.cfg.sendfile and sendfile is not None + return self.cfg.sendfile is not False and sendfile is not None def sendfile(self, respiter): if self.cfg.is_ssl or not self.can_sendfile(): return False + if not util.has_fileno(respiter.filelike): + return False + + fileno = respiter.filelike.fileno() try: - fileno = respiter.filelike.fileno() offset = os.lseek(fileno, 0, os.SEEK_CUR) if self.response_length is None: filesize = os.fstat(fileno).st_size @@ -379,7 +382,7 @@ sockno = self.sock.fileno() sent = 0 - for m in range(0, nbytes, BLKSIZE): + while sent != nbytes: count = min(nbytes - sent, BLKSIZE) sent += sendfile(sockno, fileno, offset + sent, count) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/gunicorn/util.py new/gunicorn-19.4.5/gunicorn/util.py --- old/gunicorn-19.4.1/gunicorn/util.py 2015-11-25 13:50:16.000000000 +0100 +++ new/gunicorn-19.4.5/gunicorn/util.py 2016-01-04 10:21:08.000000000 +0100 @@ -7,12 +7,15 @@ import email.utils import fcntl +import grp import io import os import pkg_resources +import pwd import random import resource import socket +import stat import sys import textwrap import time @@ -507,14 +510,14 @@ return value.encode(encoding) -def is_fileobject(obj): - if not hasattr(obj, "tell") or not hasattr(obj, "fileno"): +def has_fileno(obj): + if not hasattr(obj, "fileno"): return False # check BytesIO case and maybe others try: obj.fileno() - except (IOError, io.UnsupportedOperation): + except (AttributeError, IOError, io.UnsupportedOperation): return False return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/gunicorn.egg-info/PKG-INFO new/gunicorn-19.4.5/gunicorn.egg-info/PKG-INFO --- old/gunicorn-19.4.1/gunicorn.egg-info/PKG-INFO 2015-11-25 17:07:05.000000000 +0100 +++ new/gunicorn-19.4.5/gunicorn.egg-info/PKG-INFO 2016-01-05 01:11:58.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: gunicorn -Version: 19.4.1 +Version: 19.4.5 Summary: WSGI HTTP Server for UNIX Home-page: http://gunicorn.org Author: Benoit Chesneau diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/gunicorn.egg-info/SOURCES.txt new/gunicorn-19.4.5/gunicorn.egg-info/SOURCES.txt --- old/gunicorn-19.4.1/gunicorn.egg-info/SOURCES.txt 2015-11-25 17:07:05.000000000 +0100 +++ new/gunicorn-19.4.5/gunicorn.egg-info/SOURCES.txt 2016-01-05 01:11:58.000000000 +0100 @@ -60,6 +60,7 @@ docs/source/2013-news.rst docs/source/2014-news.rst docs/source/2015-news.rst +docs/source/2016-news.rst docs/source/community.rst docs/source/conf.py docs/source/configure.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/setup.cfg new/gunicorn-19.4.5/setup.cfg --- old/gunicorn-19.4.1/setup.cfg 2015-11-25 17:07:05.000000000 +0100 +++ new/gunicorn-19.4.5/setup.cfg 2016-01-05 01:11:58.000000000 +0100 @@ -11,7 +11,7 @@ universal = 1 [egg_info] -tag_build = -tag_date = 0 tag_svn_revision = 0 +tag_date = 0 +tag_build = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gunicorn-19.4.1/tests/test_gaiohttp.py new/gunicorn-19.4.5/tests/test_gaiohttp.py --- old/gunicorn-19.4.1/tests/test_gaiohttp.py 2015-11-23 09:12:35.000000000 +0100 +++ new/gunicorn-19.4.5/tests/test_gaiohttp.py 2015-12-31 14:40:51.000000000 +0100 @@ -59,7 +59,7 @@ self.worker.wsgi = mock.Mock() self.worker.loop = mock.Mock() self.worker.log = mock.Mock() - self.worker.cfg = mock.Mock() + self.worker.cfg = Config() f = self.worker.factory( self.worker.wsgi, ('localhost', 8080))
