diff --git a/docs/content/2026-news.md b/docs/content/2026-news.md index 4e4d74a7..a749137e 100644 --- a/docs/content/2026-news.md +++ b/docs/content/2026-news.md @@ -1,6 +1,23 @@ # Changelog - 2026 +## 25.0.0 - unreleased + +### New Features + +- **Dirty Arbiters**: Separate process pool for executing long-running, blocking + operations (AI model loading, heavy computation) without blocking HTTP workers + ([PR #3460](https://github.com/benoitc/gunicorn/pull/3460)) + - Inspired by Erlang's dirty schedulers + - Asyncio-based with Unix socket IPC + - Stateful workers that persist loaded resources + - New settings: `--dirty-app`, `--dirty-workers`, `--dirty-timeout`, + `--dirty-threads`, `--dirty-graceful-timeout` + - Lifecycle hooks: `on_dirty_starting`, `dirty_post_fork`, + `dirty_worker_init`, `dirty_worker_exit` + +--- + ## 24.1.1 - 2026-01-24 ### Bug Fixes diff --git a/docs/content/news.md b/docs/content/news.md index a86bcd5e..e7a56c26 100644 --- a/docs/content/news.md +++ b/docs/content/news.md @@ -1,6 +1,15 @@ # Changelog +## 25.0.0 - unreleased + +### New Features + +- **Dirty Arbiters**: Separate process pool for long-running blocking operations + (ML model loading, heavy computation) - inspired by Erlang dirty schedulers + +--- + ## 24.1.1 - 2026-01-24 ### Bug Fixes @@ -101,7 +110,7 @@ ## 22.0.0 - 2024-04-17 -- use `utime` to notify workers liveness +- use `utime` to notify workers liveness - migrate setup to pyproject.toml - fix numerous security vulnerabilities in HTTP parser (closing some request smuggling vectors) - parsing additional requests is no longer attempted past unsupported request framing diff --git a/mkdocs.yml b/mkdocs.yml index abe6ea3e..86d1c830 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -16,6 +16,7 @@ nav: - Deploy: deploy.md - Docker: guides/docker.md - ASGI Worker: asgi.md + - Dirty Arbiters: dirty.md - uWSGI Protocol: uwsgi.md - Signals: signals.md - Instrumentation: instrumentation.md