1.7.0 (2026-08-11)
Features
- /settings on the shared zod schema — per-key registry, fieldErrors, 26/42 keys (#1348) (#1349) (d7b50b6)
- finish the zod form conversion — personas, blocklist, library, and the fieldErrors channel (#1337) (#1358) (c05be93)
- imaging on the shared zod form schema (#1337) (fda0b6b)
- onboarding probes on the shared zod form schema (#1337) (0c80bb9)
- playlists on the shared zod form schema (#1337) (c1b7f66)
- public request boxes on the shared zod form schema (#1337) (48749ca)
- schedule on the shared zod form schema + review fixes (#1337) (418323f)
- shows on the shared zod form schema (#1337) (926ac58)
- skills on the shared zod form schema (#1337) (5e10746)
- stations on the shared zod form schema (#1337) (5e0484d)
- stations, shows, skills, playlists, imaging, onboarding, request boxes + schedule on the shared zod form schema (#1337) (fe9e2ba)
- web: finish the form migration — react-hook-form across the admin editors (#1359) (dd200c7)
Bug Fixes
- backup restore no longer deletes the primary/fallback LLM API keys (#1352) (b98e300), closes #1351
- controller: stream.bufferSeconds was lost on every restart (#1364) (8cfae2a)
- review fixes — lenient path can't drop shows, nulls read as absent, legacy fields migrate everywhere (2b852ee)
- web: appended-row errors, imaging poll coverage, and a contract for the verify harness (#1360) (50fdb23)
Documentation
- docker: make comments leaner (#1355) (c2cb24e)
- liquidsoap: trim radio.liq comments and fix stale figures (#1356) (994befb)