# Changelog - 2021

::: note
::: title
Note
:::

Please see `news`{.interpreted-text role="doc"} for the latest changes
:::

## 20.1.0 - 2021-02-12

-   document WEB_CONCURRENCY is set by, at least, Heroku
-   capture peername from accept: Avoid calls to getpeername by
    capturing the peer name returned by accept
-   log a warning when a worker was terminated due to a signal
-   fix tornado usage with latest versions of Django
-   add support for python -m gunicorn
-   fix systemd socket activation example
-   allows to set wsgi application in config file using
    [wsgi_app]{.title-ref}
-   document [\--timeout = 0]{.title-ref}
-   always close a connection when the number of requests exceeds the
    max requests
-   Disable keepalive during graceful shutdown
-   kill tasks in the gthread workers during upgrade
-   fix latency in gevent worker when accepting new requests
-   fix file watcher: handle errors when new worker reboot and ensure
    the list of files is kept
-   document the default name and path of the configuration file
-   document how variable impact configuration
-   document the [\$PORT]{.title-ref} environment variable
-   added milliseconds option to request_time in access_log
-   added PIP requirements to be used for example
-   remove version from the Server header
-   fix sendfile: use [socket.sendfile]{.title-ref} instead of
    [os.sendfile]{.title-ref}
-   reloader: use absolute path to prevent empty to prevent0
    [InotifyError]{.title-ref} when a file is added to the working
    directory
-   Add \--print-config option to print the resolved settings at
    startup.
-   remove the [\--log-dict-config]{.title-ref} CLI flag because it
    never had a working format (the [logconfig_dict]{.title-ref} setting
    in configuration files continues to work)

\*\* Breaking changes \*\*

-   minimum version is Python 3.5
-   remove version from the Server header

\*\* Documentation \*\*

\*\* Others \*\*

-   miscellaneous changes in the code base to be a better citizen with
    Python 3
-   remove dead code
-   fix documentation generation