Waitress
========
.. image:: https://img.shields.io/pypi/v/waitress.svg
:target: https://pypi.org/project/waitress/
:alt: latest version of waitress on PyPI
.. image:: https://github.com/Pylons/waitress/actions/workflows/ci-tests.yml/badge.svg
:target: https://github.com/Pylons/waitress/actions/workflows/ci-tests.yml
.. image:: https://readthedocs.org/projects/waitress/badge/?version=stable
:target: https://docs.pylonsproject.org/projects/waitress/en/stable/
:alt: main Documentation Status
Waitress is a production-quality pure-Python WSGI server with very acceptable
performance. It has no dependencies except ones which live in the Python
standard library. It runs on CPython on Unix and Windows under Python 3.9+. It
is also known to run on PyPy 3 (version 3.9 compatible python and above) on
UNIX. It supports HTTP/1.0 and HTTP/1.1.
For more information, see the "docs" directory of the Waitress package or visit
https://docs.pylonsproject.org/projects/waitress/en/latest/
3.0.2 (2024-11-16)
------------------
Security
~~~~~~~~
- When using Waitress to process trusted proxy headers, Waitress will now
update the headers to drop any untrusted values, thereby making sure that
WSGI apps only get trusted and validated values that Waitress itself used to
update the environ. See https://github.com/Pylons/waitress/pull/452 and
https://github.com/Pylons/waitress/issues/451
3.0.1 (2024-10-28)
------------------
Backward Incompatibilities
~~~~~~~~~~~~~~~~~~~~~~~~~~
- Python 3.8 is no longer supported.
See https://github.com/Pylons/waitress/pull/445.
Features
~~~~~~~~
- Added support for Python 3.13.
See https://github.com/Pylons/waitress/pull/445.
Security
~~~~~~~~
- Fix a bug that would lead to Waitress busy looping on select() on a half-open
socket due to a race condition that existed when creating a new HTTPChannel.
See https://github.com/Pylons/waitress/pull/435,
https://github.com/Pylons/waitress/issues/418 and
https://github.com/Pylons/waitress/security/advisories/GHSA-3f84-rpwh-47g6
With thanks to Dylan Jay and Dieter Maurer for their extensive debugging and
helping track this down.
- No longer strip the header values before passing them to the WSGI environ.
See https://github.com/Pylons/waitress/pull/434 and
https://github.com/Pylons/waitress/issues/432
- Fix a race condition in Waitress when `channel_request_lookahead` is enabled
that could lead to HTTP request smuggling.
See https://github.com/Pylons/waitress/security/advisories/GHSA-9298-4cf8-g4wj
3.0.0 (2024-02-04)
------------------
- Rename "master" git branch to "main"
- Fix a bug that would appear on macOS whereby if we accept() a socket that is
already gone, setting socket options would fail and take down the server. See
https://github.com/Pylons/waitress/pull/399
- Fixed testing of vendored asyncore code to not rely on particular naming for
errno's. See https://github.com/Pylons/waitress/pull/397
- HTTP Request methods and versions are now validated to meet the HTTP
standards thereby dropping invalid requests on the floor. See
https://github.com/Pylons/waitress/pull/423
- No longer close the connection when sending a HEAD request response. See
https://github.com/Pylons/waitress/pull/428
- Always attempt to send the Connection: close response header when we are
going to close the connection to let the remote know in more instances.
https://github.com/Pylons/waitress/pull/429
- Python 3.7 is no longer supported. Add support for Python 3.11, 3.12 and
PyPy 3.9, 3.10. See https://github.com/Pylons/waitress/pull/412
- Document that trusted_proxy may be set to a wildcard value to trust all
proxies. See https://github.com/Pylons/waitress/pull/431
Updated Defaults
~~~~~~~~~~~~~~~~
- clear_untrusted_proxy_headers is set to True by default. See
https://github.com/Pylons/waitress/pull/370
Raw data
{
"_id": null,
"home_page": "https://github.com/Pylons/waitress",
"name": "waitress",
"maintainer": "Pylons Project",
"docs_url": null,
"requires_python": ">=3.9.0",
"maintainer_email": "pylons-discuss@googlegroups.com",
"keywords": "waitress wsgi server http",
"author": "Zope Foundation and Contributors",
"author_email": "zope-dev@zope.org",
"download_url": "https://files.pythonhosted.org/packages/bf/cb/04ddb054f45faa306a230769e868c28b8065ea196891f09004ebace5b184/waitress-3.0.2.tar.gz",
"platform": null,
"description": "Waitress\n========\n\n.. image:: https://img.shields.io/pypi/v/waitress.svg\n :target: https://pypi.org/project/waitress/\n :alt: latest version of waitress on PyPI\n\n.. image:: https://github.com/Pylons/waitress/actions/workflows/ci-tests.yml/badge.svg\n :target: https://github.com/Pylons/waitress/actions/workflows/ci-tests.yml\n\n.. image:: https://readthedocs.org/projects/waitress/badge/?version=stable\n :target: https://docs.pylonsproject.org/projects/waitress/en/stable/\n :alt: main Documentation Status\n\nWaitress is a production-quality pure-Python WSGI server with very acceptable\nperformance. It has no dependencies except ones which live in the Python\nstandard library. It runs on CPython on Unix and Windows under Python 3.9+. It\nis also known to run on PyPy 3 (version 3.9 compatible python and above) on\nUNIX. It supports HTTP/1.0 and HTTP/1.1.\n\nFor more information, see the \"docs\" directory of the Waitress package or visit\nhttps://docs.pylonsproject.org/projects/waitress/en/latest/\n\n3.0.2 (2024-11-16)\n------------------\n\nSecurity\n~~~~~~~~\n\n- When using Waitress to process trusted proxy headers, Waitress will now\n update the headers to drop any untrusted values, thereby making sure that\n WSGI apps only get trusted and validated values that Waitress itself used to\n update the environ. See https://github.com/Pylons/waitress/pull/452 and\n https://github.com/Pylons/waitress/issues/451\n\n\n3.0.1 (2024-10-28)\n------------------\n\nBackward Incompatibilities\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n- Python 3.8 is no longer supported.\n See https://github.com/Pylons/waitress/pull/445.\n\nFeatures\n~~~~~~~~\n\n- Added support for Python 3.13.\n See https://github.com/Pylons/waitress/pull/445.\n\nSecurity\n~~~~~~~~\n\n- Fix a bug that would lead to Waitress busy looping on select() on a half-open\n socket due to a race condition that existed when creating a new HTTPChannel.\n See https://github.com/Pylons/waitress/pull/435,\n https://github.com/Pylons/waitress/issues/418 and\n https://github.com/Pylons/waitress/security/advisories/GHSA-3f84-rpwh-47g6\n\n With thanks to Dylan Jay and Dieter Maurer for their extensive debugging and\n helping track this down.\n\n- No longer strip the header values before passing them to the WSGI environ.\n See https://github.com/Pylons/waitress/pull/434 and\n https://github.com/Pylons/waitress/issues/432\n\n- Fix a race condition in Waitress when `channel_request_lookahead` is enabled\n that could lead to HTTP request smuggling.\n\n See https://github.com/Pylons/waitress/security/advisories/GHSA-9298-4cf8-g4wj\n\n3.0.0 (2024-02-04)\n------------------\n\n- Rename \"master\" git branch to \"main\"\n\n- Fix a bug that would appear on macOS whereby if we accept() a socket that is\n already gone, setting socket options would fail and take down the server. See\n https://github.com/Pylons/waitress/pull/399\n\n- Fixed testing of vendored asyncore code to not rely on particular naming for\n errno's. See https://github.com/Pylons/waitress/pull/397\n\n- HTTP Request methods and versions are now validated to meet the HTTP\n standards thereby dropping invalid requests on the floor. See\n https://github.com/Pylons/waitress/pull/423\n\n- No longer close the connection when sending a HEAD request response. See\n https://github.com/Pylons/waitress/pull/428\n\n- Always attempt to send the Connection: close response header when we are\n going to close the connection to let the remote know in more instances.\n https://github.com/Pylons/waitress/pull/429\n\n- Python 3.7 is no longer supported. Add support for Python 3.11, 3.12 and\n PyPy 3.9, 3.10. See https://github.com/Pylons/waitress/pull/412\n\n- Document that trusted_proxy may be set to a wildcard value to trust all\n proxies. See https://github.com/Pylons/waitress/pull/431\n\nUpdated Defaults\n~~~~~~~~~~~~~~~~\n\n- clear_untrusted_proxy_headers is set to True by default. See\n https://github.com/Pylons/waitress/pull/370\n",
"bugtrack_url": null,
"license": "ZPL 2.1",
"summary": "Waitress WSGI server",
"version": "3.0.2",
"project_urls": {
"Changelog": "https://docs.pylonsproject.org/projects/waitress/en/latest/index.html#change-history",
"Documentation": "https://docs.pylonsproject.org/projects/waitress/en/latest/index.html",
"Homepage": "https://github.com/Pylons/waitress",
"Issue Tracker": "https://github.com/Pylons/waitress/issues"
},
"split_keywords": [
"waitress",
"wsgi",
"server",
"http"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8d57a27182528c90ef38d82b636a11f606b0cbb0e17588ed205435f8affe3368",
"md5": "5fc22c8e278c68809bfcc9b85824c680",
"sha256": "c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e"
},
"downloads": -1,
"filename": "waitress-3.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5fc22c8e278c68809bfcc9b85824c680",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9.0",
"size": 56232,
"upload_time": "2024-11-16T20:02:33",
"upload_time_iso_8601": "2024-11-16T20:02:33.858165Z",
"url": "https://files.pythonhosted.org/packages/8d/57/a27182528c90ef38d82b636a11f606b0cbb0e17588ed205435f8affe3368/waitress-3.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bfcb04ddb054f45faa306a230769e868c28b8065ea196891f09004ebace5b184",
"md5": "da30daf4544fafe0f43e1ba4a1830bf5",
"sha256": "682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f"
},
"downloads": -1,
"filename": "waitress-3.0.2.tar.gz",
"has_sig": false,
"md5_digest": "da30daf4544fafe0f43e1ba4a1830bf5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9.0",
"size": 179901,
"upload_time": "2024-11-16T20:02:35",
"upload_time_iso_8601": "2024-11-16T20:02:35.195594Z",
"url": "https://files.pythonhosted.org/packages/bf/cb/04ddb054f45faa306a230769e868c28b8065ea196891f09004ebace5b184/waitress-3.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-16 20:02:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Pylons",
"github_project": "waitress",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "waitress"
}