v0.11.1 — hardening and operations
Patch release after the 0.11 capacity tooling.
Highlights
freellmpool doctorfor no-network local diagnostics.- Routing-mode normalization and indexed target selection to reduce hot-path lock churn.
- Response cache keys now include routing mode; cache storage uses WAL plus TTL/size pruning.
- Quota counters can batch writes with
FREELLMPOOL_QUOTA_FLUSH_EVERY=N. - Sync and async transports have bounded
Retry-Afterretries, avoid replaying read-phase POST failures, and keep the last provider response when retry delay consumes the deadline. - Async responses now stream with the same size/deadline guards as sync.
- CI adds catalog validation, focused mypy, coverage ratchet, wheel smoke, and benchmark tooling.
- Proxy
Serverheader now derives from the package version.
Verification
- Claude Fable reviewed the release-prep diff: no blocking findings.
- CI green on Python 3.11, 3.12, and 3.13.
- Local
pytest: 390 passed. - Built sdist/wheel from merged
mainand smoke-tested the wheel with import,freellmpool --version, andfreellmpool doctor.
Full detail: https://github.com/0xzr/freellmpool/blob/main/CHANGELOG.md