- :pr:`282`: Fixed a race condition happening when an HTTP client attempts to reuse a persistent HTTP connection after it's been discarded on the server in :py:class:`~cheroot.\ server.HTTPRequest` but no TCP FIN packet has been received yet over the wire -- by :user:`meaksh`.
This change populates the ``Keep-Alive`` header exposing the timeout value for persistent HTTP/1.1 connections which helps mitigate such race conditions by letting the client know not to reuse the connection after that time interval.
8.4.2
======
*(2020-07-28)*
- Fixed a significant performance regression introduced in v8.1.0 (:issue:`305` via :pr:`308`) - by :user:`mar10`.
The issue turned out to add 0.1s delay on new incoming connection processing. We've lowered that delay to mitigate the problem short-term, better fix is yet to come.
8.4.1
======
*(2020-07-26)*
- Prevent :py:exc:`ConnectionAbortedError` traceback from being printed out to the terminal output during the app start-up on Windows when built-in TLS adapter is used (:issue:`302` via :pr:`306`) - by :user:`mxii-ca`.
8.4.0
======
*(2020-07-23)*
- Converted management from low-level :py:func:`~select.select` to high-level :py:mod:`selectors` (:issue:`249` via :pr:`301`) - by :user:`tommilligan`.
This change also introduces a conditional dependency on ``selectors2`` as a fall-back for legacy Python interpreters.
8.3.1
======
*(2020-07-13)*
- Fixed TLS socket related unclosed resource warnings (:pr:`291` and :pr:`298`). - Made terminating keep-alive connections more graceful (:issue:`263` via :pr:`277`).
8.3.0
======
*(2020-02-09)*
- :cp-issue:`910` via :pr:`243`: Provide TLS-related details via WSGI environment interface. - :pr:`248`: Fix parsing of the ``--bind`` CLI option for abstract UNIX sockets.