./www/py-cheroot, High-performance, pure-Python HTTP server used by CherryPy

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 10.0.1, Package name: py312-cheroot-10.0.1, Maintainer: pkgsrc-users

Cheroot is the high-performance, pure-Python HTTP server used by CherryPy.


Required to run:
[devel/py-setuptools] [lang/py-six] [devel/py-more-itertools] [lang/python37]

Required to build:
[pkgtools/cwrappers] [devel/py-setuptools_scm] [devel/py-setuptools_scm_git_archive]

Master sites:

Filesize: 163.658 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-10-14 08:46:10 by Thomas Klausner | Files touched by this commit (325)
Log message:
*: clean-up after python38 removal
   2024-05-05 20:38:43 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-cheroot: updated to 10.0.1

v10.0.1

Bug fixes

Fixed a flaw where internally unhandled exceptions could crash the worker \ 
threads and eventually starve the server of its processing resources. It is no \ 
longer and issue and the unhandled errors are now logged and suppressed except \ 
for a few expected exceptions that are used for normal interruption requests.

Fixed compatibility with Python 3.8 in the built-in TLS adapter that relies on ssl.
Modern Python versions communicate specialized exceptions ssl.SSLEOFError and \ 
ssl.SSLZeroReturnError where the older versions errored out in a very generic \ 
way.
   2024-02-07 07:25:43 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-cheroot: updated to 10.0.0

v10.0.0

- Cheroot now accepts a
  ``reuse_port`` parameter on the ``HTTPServer`` object.
  Subclasses overriding ``prepare_socket`` will no longer
  work and will need to adapt to the new interface.

v9.0.0

- Cheroot now requires Python
  3.6 or later. Python 3.5 and Python 2.7 are still supported
  by the :gh:`maint/8.x branch
  <cherrypy/cheroot/tree/maint/8.x>` and stabilizing
  bugfixes will be accepted to that branch.
   2023-11-07 23:38:10 by Thomas Klausner | Files touched by this commit (112)
Log message:
*: latest py-sphinx only support Python 3.9+
   2023-06-06 14:42:56 by Taylor R Campbell | Files touched by this commit (1319)
Log message:
Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/.

Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).

No change to BUILD_DEPENDS as used correctly inside buildlink3.

As proposed on tech-pkg:
https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html
   2022-11-17 11:13:52 by Adam Ciarcinski | Files touched by this commit (1) | Package updated
Log message:
py-cheroot: update HOMEPAGE
   2022-11-06 19:21:11 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
py-cheroot: updated to 8.6.0

v8.6.0

Significant improvements:

- :issue:`384` via :pr:`385`, :pr:`406`: Exposed type stubs with
  annotations for public API -- by :user:`kasium`.

- :pr:`401` (related to the :pr:`352` effort): Started reusing the
  the ``expriration_interval`` setting in the low-level
  :py:func:`~select.select` invocation, effectively reducing the system
  load under the Windows OS when idle, that is noticeable on low-end
  hardware systems -- by :user:`MichaIng`.

Internal changes:

- Implemented a manual-trigger-based release workflow.
- Integrated publishing GitHub Releases into the workflow.
- Migrated the docs theme to `Furo <https://pradyunsg.me/furo>`__
  (created by :user:`pradyunsg`).
- Attempted to improve the stability of testing.
- Configured the CI to test the same distribution as will be shipped.
- Improved the linting setup and contributor checklists.
- Stopped running tests under Ubuntu 16.04.
- Tweaked the distribution packages metadata to satisfy strict checks.
- Implemented distribution build reproducibility using a pip constraints
  lock-file.
- Added per-environment lock-files into the tox test environments.

v8.5.2

- :issue:`358` via :pr:`359`: Fixed a regression from
  :pr:`199` that made the worker threads exit on invalid
  connection attempts and could make the whole server
  unresponsive once there was no workers left.
  -- by :user:`cameronbrunner`.

v8.5.1

- :cp-issue:`1873` via :pr:`340`: Resurrected an
  unintentionally removed feature of interrupting a server
  main thread by externally assigning an exception to the
  :py:meth:`HTTPServer.interrupt <cheroot.server.\
  HTTPServer.interrupt>` property -- by :user:`liamstask`.

- :pr:`350`: Fixed the incarnation of an earlier regression
  of not resetting the serving state
  on :py:data:`SIGINT` originally fixed by :pr:`322` and
  :pr:`331` but reintroduced by the changes in :pr:`311`
  -- by :user:`liamstask`.

v8.5.0

- :issue:`305` via :pr:`311`: In
  :py:class:`~cheroot.connections.ConnectionManager`,
  process connections as they become active rather than
  waiting for a ``tick`` event, addressing performance
  degradation introduced in v8.1.0 -- by :user:`liamstask`.

- :issue:`341` via :pr:`342`: Suppress legitimate OS errors
  expected on shutdown -- by :user:`webknjaz`.

v8.4.8

- :issue:`317` via :pr:`337`: Fixed a regression in
  8.4.5 where the connections dictionary would change
  size during iteration, leading to a :py:exc:`RuntimeError`
  raised in the logs -- by :user:`liamstask`.

v8.4.7

- :pr:`334`: Started filtering out TLS/SSL errors when
  the version requested by the client is unsupported
  -- by :user:`sanderjo` and :user:`Safihre`.

v8.4.6

- :issue:`328` via :pr:`322` and :pr:`331`: Fixed a
  regression introduced in the earlier refactoring in v8.4.4
  via :pr:`309` that caused the :py:meth:`~cheroot.server.\
  HTTPServer.serve` method to skip setting
  ``serving=False`` on :py:data:``SIGINT`` and
  :py:data:``SIGTERM`` -- by :user:`marc1n` and
  :user:`cristicbz`.

v8.4.5

- :issue:`312` via :pr:`313`: Fixed a regression introduced
  in the earlier refactoring in v8.4.4 via :pr:`309` that
  caused the connection manager to modify the selector map
  while looping over it -- by :user:`liamstask`.

- :issue:`312` via :pr:`316`: Added a regression test for
  the error handling in :py:meth:`~cheroot.connections.\
  ConnectionManager.get_conn` to ensure more stability
  -- by :user:`cyraxjoe`.

v8.4.4

- :issue:`304` via :pr:`309`: Refactored :py:class:`~\
  cheroot.connections.ConnectionManager` to use :py:meth:`~\
  selectors.BaseSelector.get_map` and reorganized the
  readable connection tracking -- by :user:`liamstask`.

- :issue:`304` via :pr:`309`: Fixed the server shutdown
  sequence to avoid race condition resulting in accepting
  new connections while it is being terminated
  -- by :user:`liamstask`.

v8.4.3

- :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.

v8.4.2

- 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.

v8.4.1

- 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`.

v8.4.0

- 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.

v8.3.1

- Fixed TLS socket related unclosed resource warnings
  (:pr:`291` and :pr:`298`).
- Made terminating keep-alive connections more graceful
  (:issue:`263` via :pr:`277`).

v8.3.0

- :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.