What's Changed
- Drop EOL Django 4.2/5.0/5.1, derive CI matrix from classifiers by @jameswinegar in #344
- test: cover recovery from dead database connections by @jameswinegar in #345
- fix!: run async-only middleware on the loop, keep request.user on the request's thread by @jameswinegar in #343
- test: drain the output pipes of runbolt servers while they run by @jameswinegar in #347
- docs: note PGGSSENCMODE=disable for forked workers on macOS by @jameswinegar in #348
- ci: skip build and test jobs on doc-only pull requests by @jameswinegar in #349
- test: fix three races in the worker-loop dispatch probe test by @jameswinegar in #351
- fix: valid JSON in 422 bodies; test clients send the encoded path by @jameswinegar in #353
- test: make the TCP_NODELAY check robust to slow runners by @jameswinegar in #354
- fix: convert and validate typed parameters by their wire name by @jameswinegar in #355
- fix(auth): re-land #346 (JWT refresh-token hardening, dependency params) on master by @jameswinegar in #358
- perf: bind each dependency at registration, not per request by @jameswinegar in #363
- fix: decode + as a space in query strings by @jameswinegar in #362
- test: make the explicit LOGGING test set explicit LOGGING by @jameswinegar in #360
- chore(deps): bump pyjwt to 2.15.1 in uv.lock by @FarhanAliRaza in #367
- fix: reject a bad typed WebSocket path or query value at the upgrade by @jameswinegar in #361
- fix: convert and document rich parameter types; complete the OpenAPI type coverage by @jameswinegar in #359
- chore: remove dead code found by vulture by @FarhanAliRaza in #356
- Lower maturin version to 1.8.0 by @dmach in #366
- feat(websocket): serve WebSocket connections from ASGI mounts by @huynguyengl99 in #335
- Fix WebSocket routes showing twice in OpenAPI renderers by @FarhanAliRaza in #372
- WebSocket subprotocol negotiation and handshake refactoring by @FarhanAliRaza in #371
- fix: run thread-sensitive calls of plain async routes on the ORM pool by @FarhanAliRaza in #376
New Contributors
- @dmach made their first contribution in #366
- @huynguyengl99 made their first contribution in #335
Full Changelog: v0.12.0-rc3...v0.12.0-rc4