docs: Add 2026 changelog and modernize README

This commit is contained in:
Benoit Chesneau 2026-01-22 22:33:58 +01:00
parent 0b961036b7
commit 5ea4eb340a
4 changed files with 98 additions and 39 deletions

View File

@ -1,5 +1,5 @@
Gunicorn
--------
========
.. image:: https://img.shields.io/pypi/v/gunicorn.svg?style=flat
:alt: PyPI version
@ -13,60 +13,58 @@ Gunicorn
:alt: Build Status
:target: https://github.com/benoitc/gunicorn/actions/workflows/tox.yml
.. image:: https://github.com/benoitc/gunicorn/actions/workflows/lint.yml/badge.svg
:alt: Lint Status
:target: https://github.com/benoitc/gunicorn/actions/workflows/lint.yml
Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork
worker model ported from Ruby's Unicorn_ project. The Gunicorn server is broadly
compatible with various web frameworks, simply implemented, light on server
resource usage, and fairly speedy.
Feel free to join us in `#gunicorn`_ on `Libera.chat`_.
**New in v24**: Native ASGI support (beta) for async frameworks like FastAPI!
Quick Start
-----------
.. code-block:: bash
pip install gunicorn
gunicorn myapp:app --workers 4
For ASGI applications (FastAPI, Starlette):
.. code-block:: bash
gunicorn myapp:app --worker-class asgi
Features
--------
- WSGI support for Django, Flask, Pyramid, and any WSGI framework
- **ASGI support** (beta) for FastAPI, Starlette, Quart
- uWSGI binary protocol for nginx integration
- Multiple worker types: sync, gthread, gevent, eventlet, asgi
- Graceful worker process management
- Compatible with Python 3.12+
Documentation
-------------
The documentation is hosted at https://docs.gunicorn.org.
Full documentation at https://gunicorn.org
Installation
------------
- `Quickstart <https://gunicorn.org/quickstart/>`_
- `Configuration <https://gunicorn.org/configure/>`_
- `Deployment <https://gunicorn.org/deploy/>`_
- `Settings Reference <https://gunicorn.org/reference/settings/>`_
Gunicorn requires **Python 3.x >= 3.10**.
Install from PyPI::
$ pip install gunicorn
Usage
-----
Basic usage::
$ gunicorn [OPTIONS] APP_MODULE
Where ``APP_MODULE`` is of the pattern ``$(MODULE_NAME):$(VARIABLE_NAME)``. The
module name can be a full dotted path. The variable name refers to a WSGI
callable that should be found in the specified module.
Example with test app::
$ cd examples
$ gunicorn --workers=2 test:app
Contributing
------------
See `our complete contributor's guide <CONTRIBUTING.md>`_ for more details.
Community
---------
- Report bugs on `GitHub Issues <https://github.com/benoitc/gunicorn/issues>`_
- Chat in `#gunicorn`_ on `Libera.chat`_
- See `CONTRIBUTING.md <CONTRIBUTING.md>`_ for contribution guidelines
License
-------
Gunicorn is released under the MIT License. See the LICENSE_ file for more
details.
Gunicorn is released under the MIT License. See the LICENSE_ file for details.
.. _Unicorn: https://bogomips.org/unicorn/
.. _`#gunicorn`: https://web.libera.chat/?channels=#gunicorn

37
docs/content/2026-news.md Normal file
View File

@ -0,0 +1,37 @@
<span id="news-2026"></span>
# Changelog - 2026
## 24.0.0 - 2026-XX-XX
### New Features
- **ASGI Worker (Beta)**: Native asyncio-based ASGI support for running async Python
frameworks like FastAPI, Starlette, and Quart without external dependencies
([PR #3444](https://github.com/benoitc/gunicorn/pull/3444))
- HTTP/1.1 with keepalive connections
- WebSocket support
- Lifespan protocol for startup/shutdown hooks
- Optional uvloop for improved performance
- New settings: `--asgi-loop`, `--asgi-lifespan`, `--root-path`
- **uWSGI Binary Protocol**: Support for receiving requests from nginx via
`uwsgi_pass` directive, enabling efficient binary protocol communication
([PR #3444](https://github.com/benoitc/gunicorn/pull/3444))
- New settings: `--protocol uwsgi`, `--uwsgi-allow-from`
- **Documentation Migration**: Migrated documentation from Sphinx to MkDocs
with Material theme for improved navigation and mobile experience
([PR #3426](https://github.com/benoitc/gunicorn/pull/3426))
### Changes
- Minimum Python version is now 3.12
- Documentation now hosted at https://gunicorn.org
### Breaking changes
- Dropped support for Python versions before 3.12
!!! warning "ASGI Worker Beta"
The ASGI worker is a beta feature. While tested, the API and behavior
may change in future releases. Please report any issues on GitHub.

View File

@ -1,6 +1,28 @@
<span id="news"></span>
# Changelog
## 24.0.0 - 2026-XX-XX
### New Features
- **ASGI Worker (Beta)**: Native asyncio-based ASGI support for running async Python
frameworks like FastAPI, Starlette, and Quart without external dependencies
- HTTP/1.1 with keepalive connections
- WebSocket support
- Lifespan protocol for startup/shutdown hooks
- Optional uvloop for improved performance
- **uWSGI Binary Protocol**: Support for receiving requests from nginx via
`uwsgi_pass` directive
- **Documentation Migration**: Migrated to MkDocs with Material theme
### Breaking changes
- Minimum Python version is now 3.12
---
## 23.0.0 - 2024-08-10
- minor docs fixes ([PR #3217](https://github.com/benoitc/gunicorn/pull/3217), [PR #3089](https://github.com/benoitc/gunicorn/pull/3089), [PR #3167](https://github.com/benoitc/gunicorn/pull/3167))
@ -59,6 +81,7 @@
## History
- [2026](2026-news.md)
- [2024](2024-news.md)
- [2023](2023-news.md)
- [2021](2021-news.md)

View File

@ -28,6 +28,7 @@ nav:
- Settings: reference/settings.md
- News:
- Latest: news.md
- '2026': 2026-news.md
- '2024': 2024-news.md
- '2023': 2023-news.md
- '2021': 2021-news.md