{
  "version": "0.5.0-beta.11",
  "description": "Hotfix: SessionStart hook crashed on PEP 604 annotations when the AI CLI spawned python3 as system 3.9 even though the user's shell had 3.11. Also relaxes declared Python floor from 3.10 to 3.9. Not breaking; no --migrate required.",
  "breaking": false,
  "recommendMigrate": false,
  "changelog": "**Bug Fixes:**\n- fix(hooks): `shared-hooks/session-start.py` and `shared-hooks/inject-subagent-context.py` now declare `from __future__ import annotations`. Without it, PEP 604 union annotations (`str | None`, `dict | None`) were evaluated at function-def time and crashed on `python3` < 3.10 with `TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'`. Observed in the field on macOS where the user's shell `python3` was 3.11 (homebrew) but the AI CLI host resolved the hook subprocess `python3` via a minimal PATH, falling back to `/usr/bin/python3` → system 3.9. `statusline.py` and the copilot/codex copies of session-start already had the future import; the two canonical `shared-hooks/*.py` files were the outliers.\n\n**Improvements:**\n- feat(cli): Python version floor relaxed from 3.10 to 3.9. `packages/cli/src/commands/init.ts` now sets `MIN_MINOR = 9` — matches macOS Ventura/Sonoma/Sequoia system `python3` (3.9.6). Trellis-distributed Python templates were verified via full package-import matrix on CPython 3.8–3.13 (30/30 pass). Python 3.8 is not supported (EOL 2024-10; declaring support would incur CVE backport obligations).\n- docs: `README.md`, `docs-site/quickstart.mdx` (+ zh), `docs-site/start/install-and-first-task.mdx` (+ zh), `docs-site/advanced/multi-platform.mdx` (+ zh), and `docs-site/advanced/appendix-f.mdx` (+ zh) all updated to `Python 3.9+`. New Prerequisites table on the Quickstart page lists Node / Python / git floors up front (previously undocumented on the docs site).",
  "migrations": [],
  "notes": "Existing projects: run `trellis update` to pick up the two patched hook files. Hashes match pristine installs; locally-modified copies land on the standard confirm prompt. If you're on Python 3.9 and saw the `Python ≥ 3.10` warning during past `trellis init` runs, the warning is gone — no action needed."
}
