0.5.0

Elm Architecture lifecycle, milo-cli adoption, bench command, modern Python 3.14t patterns

Highlights

  • Elm Architecture lifecycle — Server lifecycle rebuilt on a Store + Reducer + Render Middleware pattern. All 16 procedural output functions replaced with typed action dispatch, giving pounce an inspectable state model and a single view layer.
  • milo-cli adoption — argparse replaced with milo's CLI class. Subcommands, MCP server,llms.txt, and type-driven parsing out of the box. All lifecycle output rendered through branded kida templates.
  • pounce bench — Built-in benchmarking command with wrk integration and formatted result tables.
  • Modern Python 3.14t patternsFinal constants, StrEnum enums, kw_only dataclasses, TCPWorkerProtocol, and stricter linting across the board.

Added

  • pounce bench— standardized benchmarking CLI command (#26)
  • Public lifecycle events API (ConnectionOpened, ResponseCompleted, etc.) (#26)
  • 27 Hypothesis property-based fuzz tests across all parsers (#26)
  • DisplayConfigwith configurable signage modes and startup resolution (#25)
  • pounce info— system diagnostic panel (Python, GIL, deps, frameworks) (#21)
  • pounce check— pre-flight validator (app import, port, TLS, config) (#21)
  • Branded tracebacks via kida templates (#21)
  • milo-cli integration with branded lifecycle output (#20)

Changed

  • Elm Architecture lifecycle with Store + Reducer + Render Middleware (#22)
  • Final annotations, StrEnum, kw_only=True on dataclasses, TCPWorkerProtocol (#23)
  • Expanded ruff rules (S, A, T20, DTZ, FBT) and stricter ty config (#23)
  • Single-pass_classify_request()replaces 4-5 separate header scans (#24)
  • Static file stat syscalls reduced from ~7 to ~3 (#24)
  • CI:cancel-in-progress and --maxfailfor faster feedback (#18)

Fixed

  • Content-Length preserved when not compressing (#24)
  • HTTP/1.0 keep-alive honoursConnectionheader correctly (#24)
  • Deployment docs: broken symlinks replaced with proper site pages (#19)

Docs

  • Full audit of site docs, internal docs, and roadmap — removed false claims, fixed types/defaults (#17)
  • Performance narrative docs with competitive comparison tables (#26)
  • docs/nogil-patterns.md— 10 reusable free-threading patterns (#26)

Install

uv add "bengal-pounce==0.5.0"