0.7.0 — First-cut user docs
httpware 0.7.0 — First-cut user docs (docs-only)
0.7.0 is a docs-only release. No API changes. Code written against 0.6.0 continues to work unchanged.
This release ships the first-cut user-facing documentation surface — every shipped feature through 0.6 now has a user-facing reference page, and the two highest-friction adoption recipes (test-mocking and OpenTelemetry wiring) are concrete. Epic 3 (Resilience) closes with this release.
What's new
Four new docs deliverables on the docs site:
docs/middleware.md— write your own middleware againsthttpware.middleware.MiddlewareandNext. Covers the protocol, the phase decorators (@before_request,@after_response,@on_error), a workedRequestIdMiddlewareexample, a "when NOT to write a middleware" section, and an "OpenTelemetry wiring" section with a minimal SDK +opentelemetry-instrumentation-httpxsetup that makes the 0.6.0 Retry/Bulkhead observability events visible as span events.docs/resilience.md— deep-dive reference forRetry,RetryBudget, andBulkhead: every parameter with its default and effect, the retry-rule matrix (status codes × methods), Retry-After parsing, streaming-body refusal contract, the token-bucket formula, why the floor matters, budget/bulkhead sharing across clients, and composition guidance.docs/errors.md— the fullStatusErrorhierarchy as an ASCII tree, the status-to-exception mapping table, practical catching strategies (specific status →StatusError→NetworkError→ resilience errors →ClientErrorcatch-all), theexc.response.*access pattern with the userinfo-stripping security note, and the payloads onRetryBudgetExhaustedError/BulkheadFullErrorfor caller-side logging.docs/testing.md— thehttpx2.MockTransportinjection pattern viaAsyncClient(httpx2_client=...). Recording/stateful handlers, testing custom middleware end-to-end, brief "why not respx" note pointing at the private-internals risk.
Plus discovery: three new mkdocs nav entries (Resilience, Errors, Testing), four new bullets in docs/index.md "Where to go next", and engineering notes updated.
What's not in this release
- No source code changes. The Middleware protocol, phase decorators, resilience primitives, exception tree, and test-transport seam all already existed; this release documents them.
- No new built-in middleware. No CircuitBreaker, no RateLimiter, no auth helpers.
- No API autodoc (e.g., mkdocstrings). Hand-written user docs only.
- No benchmarks page, no migration guide, no speculative cookbook recipes. Reference pages for shipped features + concrete adoption recipes only.
- No mkdocs publish workflow / docs-site infrastructure. That's Epic 6 (story
6-2); this release just keepsmkdocs build --strictgreen.
Epic 3 closed
Epic 3 (Resilience) has shipped end-to-end:
- v0.4 slice 1 —
Retry+RetryBudget+attempt_timeout= - v0.4 slice 2 —
Bulkhead - v0.7 —
3-6extension-slot docs + the rest of the first-cut user-docs surface
Remaining roadmap is Epic 6 (ship v1.0): 6-2 docs site infrastructure (mkdocs publishing, hand-written content only — no autodoc), and 6-5 release flow (Trusted Publishers + Sigstore).
References
- Middleware spec:
planning/specs/2026-06-05-extension-slot-docs-design.md - Docs-expansion spec:
planning/specs/2026-06-05-v0.7-docs-expansion-design.md - Middleware plan:
planning/plans/2026-06-05-extension-slot-docs-plan.md - Docs-expansion plan:
planning/plans/2026-06-05-v0.7-docs-expansion-plan.md - Roadmap:
planning/engineering.md§8