Skip to content

PyNext 0.1.2

Latest

Choose a tag to compare

@Duioolllll Duioolllll released this 09 Nov 13:21
· 75 commits to main since this release
1bc892b

PyNext 0.1.2 fixes review #7's custom rate-limit exemption bypass and the remaining ASGI admission differences from review #6 (PRs #19 and #21).

  • Custom hooks delegating to super().is_exempt() preserve decoded literal ? characters, including after str(path). /input%3Fother cannot inherit /input's exemption. Direct public query-aware calls remain compatible.
  • Encoded health probes take precedence over same-name public assets on the native server. Cancellation is recorded as 499 for connection/task cancellation or 504 for a native handler deadline, instead of an internal error, including cooperative worker exit before coroutine cancellation. Header-admitted static responses remain in Rust when a limiter is configured.
  • Typed pynext.__version__, installed metadata and the compiled native version all identify 0.1.2. All three Cargo workspace crates and the lockfile are aligned, and isolated wheel checks enforce consistency.
  • ASGI HTTP and WebSocket share 64 unfinished decisions and a two-second deadline per decision. This limits concurrency, not requests per two seconds. Synchronous callbacks run in the host executor; running work retains capacity after timeout/cancellation, and expired/cancelled queued work never calls the limiter.
  • Invalid HTTP paths return 400 before consuming a token. Decision failures, invalid results, timeouts and saturation fail closed with 503 Retry-After: 1.

Already running external calls cannot be forcibly cancelled or rolled back; late token consumption remains possible. Configure backend I/O deadlines. The ASGI host manages whole-request and shutdown timeouts. Use remains limited to small websites and controlled pilots; public production suitability has not been established.

Validation: Python 3.13 full suite 872 passed, 1 skipped; Python 3.14 related suite 174 passed; 18 Rust tests and strict clippy; real Redis/PostgreSQL and Redis restart; installed-wheel mypy/pyright, HTTP serving and Chromium on Axum/Uvicorn. B-1, B-2 and B-3 were reproduced before fixing. CI verifies eight binary wheels and one source distribution across the supported platforms.

pip install pynext-framework==0.1.2
python -c "import pynext; print(pynext.__version__)"

Review #7 fixes · Release notes · Admission contract · Roadmap · PyPI

Attachments include verified distributions, Python/native/image SBOMs, audit reports and SHA256 checksums. Image gating covers fixable High/Critical findings; scan scope is documented in the repository. Prepared by Codex and published using the connected maintainer account and registered PyPI token.