Highlights
- First-party sessions — signed-cookie sessions via
request.session(#945, #1411) - Binary WebSocket frames — binary frames are forwarded to your message handler (#1148, #1416)
render()templating shortcut — render a localtemplates/folder without constructingJinjaTemplateby hand; engine-agnostic with Jinja2 as the default (#1223, #1418)- Hot reload fixed for module launches —
python -m ...now relaunches correctly on file changes (#654, #1417) - Batch of quick-win fixes (#1415) — resolves #1099, #1147, #1273, #495, #470, #1192
- Docs — single-page cheatsheet (#1062, #1414) and a bilingual (EN/ZH) templating refresh
- CI — lint no longer builds the Rust extension (#1413)
Full Changelog: v0.87.0...v0.88.0