Gunicorn Versions Save

gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.

19.8.1

6 years ago
  • fix: secure scheme headers when bound to a unix socket (#1766, #1767)

19.8.0

6 years ago
  • Eventlet 0.21.0 support (#1584)
  • Tornado 5 support (#1728, #1752)
  • support watching additional files with --reload-extra-file (#1527)
  • support configuring logging with a dictionary with --logging-config-dict (#1087, #1110, #1602)
  • add support for the --config flag in the GUNICORN_CMD_ARGS environment variable (#1576, #1581)
  • disable SO_REUSEPORT by default and add the --reuse-port setting (#1553, #1603, #1669)
  • fix: installing inotify on MacOS no longer breaks the reloader (#1540, #1541)
  • fix: do not throw TypeError when SO_REUSEPORT is not available (#1501, #1491)
  • fix: properly decode HTTP paths containing certain non-ASCII characters (#1577, #1578)
  • fix: remove whitespace when logging header values under gevent (#1607)
  • fix: close unlinked temporary files (#1327, #1428)
  • fix: parse --umask=0 correctly (#1622, #1632)
  • fix: allow loading applications using relative file paths (#1349, #1481)
  • fix: force blocking mode on the gevent sockets (#880, #1616)
  • fix: preserve leading / in request path (#1512, #1511)
  • fix: forbid contradictory secure scheme headers
  • fix: handle malformed basic authentication headers in access log (#1683, #1684)
  • fix: defer handling of USR1 signal to a new greenlet under gevent (#1645, #1651)
  • fix: the threaded worker would sometimes close the wrong keep-alive connection under Python 2 (#1698, #1699)
  • fix: re-open log files on USR1 signal using handler._open to support subclasses of FileHandler (#1739, #1742)
  • deprecation: the gaiohttp worker is deprecated, see the worker-class documentation for more information (#1338, #1418, #1569)

19.7.1

7 years ago

== 19.7.1 ==

  • fix: continue if SO_REUSEPORT seems to be available but fails (#1480)
  • fix: support non-decimal values for the umask command line option (#1325)

19.7.0

7 years ago

== 19.7.0 ==

  • The previously deprecated gunicorn_django command has been removed. Use the command-line interface instead.
  • The previously deprecated django_settings setting has been removed. Use the raw-env setting instead.
  • The default value of ssl-version has been changed from ssl.PROTOCOL_TLSv1 to ssl.PROTOCOL_SSLv23.
  • fix: initialize the group access list when initgroups is set (#1297)
  • add environment variables to gunicorn access log format (#1291)
  • add --paste-global-conf option (#1304)
  • fix: print access logs to STDOUT (#1184)
  • remove upper limit on max header size config (#1313)
  • fix: print original exception on AppImportError (#1334)
  • use SO_REUSEPORT if available (#1344)
  • fix leak of duplicate file descriptor for bound sockets.
  • add --reload-engine option, support inotify and other backends (#1368, #1459)
  • fix: reject request with invalid HTTP versions
  • add child_exit callback (#1394)
  • add support for eventlets _AlreadyHandled object (#1406)
  • format boot tracebacks properly with reloader (#1408)
  • refactor socket activation and fd inheritance for better support of SystemD (#1310)
  • fix: o fds are given by default in gunicorn (#1423)
  • add ability to pass settings to GUNICORN_CMD_ARGS environnement variable which helps in container world (#1385)
  • fix: catch access denied to pid file (#1091)
  • many additions and improvements to the documentation

Breaking Change

  • Python 2.6.0 is the last supported version

19.6.0

8 years ago

== 19.6.0 ==

Core

  • improvement of the binary upgrade behaviour using USR2: remove file lockin (#1270)
  • add the --capture-output setting to capture stdout/stderr tot the log file (#1271)
  • Allow disabling sendfile() via the SENDFILE` environment variable (#1252)
  • fix reload under pycharm (#1129)

Workers

  • fix: make sure to remove the signal from the worker pipe (#1269)
  • fix: gthread worker, handle removed socket in the select loop (#1258)

19.5.0

8 years ago

== 19.5.0 ==

=== Core ===

  • fix: Ensure response to HEAD request won't have message body
  • fix: lock domain socket and remove on last arbiter exit (#1220)
  • improvement: use EnvironmentError instead of socket.error (#939)
  • add: new $FORWARDDED_ALLOW_IPS environment variable (#1205)
  • fix: infinite recursion when destroying sockets (#1219)
  • fix: close sockets on shutdown (#922)
  • fix: clean up sys.exc_info calls to drop circular refs (#1228)
  • fix: do post_worker_init after load_wsgi (#1248)

=== Workers ===

  • fix access logging in gaiohttp worker (#1193)
  • eventlet: handle QUIT in a new coroutine (#1217)
  • gevent: remove obsolete exception clauses in run (#1218)
  • tornado: fix extra "Server" response header (#1246)
  • fix: unblock the wait loop under python 3.5 in sync worker (#1256)

=== Logging ===

  • fix: log message for listener reloading (#1181)
  • Let logging module handle traceback printing (#1201)
  • improvement: Allow configuring logger_class with statsd_host (#1188)
  • fix: traceback formatting (#1235)
  • fix: print error logs on stderr and access logs on stdout (#1184)

=== Documentation ===

  • Simplify installation instructions in gunicorn.org (#1072)
  • Fix URL and default worker type in example_config (#1209)
  • update django doc url to 1.8 lts (#1213)
  • fix: miscellaneous wording corrections (#1216)
  • Add PSF License Agreement of selectors.py to NOTICE (:issue: #1226)
  • document LOGGING overriding (#1051)
  • put a note that error logs are only errors from Gunicorn (#1124)
  • add a note about the requirements of the threads workers under python 2.x (#1200)
  • add access_log_format to config example (#1251)

=== Tests ===

  • Use more pytest.raises() in test_http.py

19.4.5

8 years ago

== 19.4.5 ==

  • fix: NameError fileno in gunicorn.http.wsgi (#1178)

19.4.4

8 years ago

== 19.4.4 ==

  • fix: check if a fileobject can be used with sendfile(2) (#1174)
  • doc: be more descriptive in errorlog option (#1173)

19.4.3

8 years ago

== 19.4.3 ==

  • fix: don't check if a file is writable using os.stat with SELINUX (#1171)

19.4.2

8 years ago

== 19.4.2 ==

=== Core ===

  • improvement: handle HaltServer in manage_workers (#1095)
  • fix: Do not rely on sendfile sending requested count (#1155)
  • fix: claridy --no-sendfile default (#1156)
  • fix: LoggingCatch sendfile failure from no file descriptor (#1160)

=== Logging ===

  • fix: Always send access log to syslog if syslog is on
  • fix: check auth before trying to own a file (#1157)

=== Documentation ===

  • fix: Fix Slowloris broken link. (#1142)
  • Tweak markup in faq.rst

=== Testing ===

  • fix: gaiohttp test (#1164)