What's Changed
- chore(core): single-source keywords via JSON + document decompile unwrap by @keroway in #526
- feat(cli): add export-csv to write IR to CSV by @keroway in #527
- chore: add root biome.json to disable pi-lens auto-formatting by @keroway in #528
- feat(core): extend date precision model by @keroway in #529
- feat: plans 005-008 — color_map propagation, render options, keyboard accessibility by @keroway in #530
- feat(webui): add typed i18n foundation by @keroway in #531
- chore(deps): bump indicatif from 0.18.4 to 0.18.5 by @dependabot[bot] in #532
- Merge local main work by @keroway in #533
- feat(render): add label width estimation by @keroway in #539
- feat(render): shrink/truncate/relocate labels that overflow their bar by @keroway in #540
- feat(render): show_table now also renders for SVG/PNG/PDF output by @keroway in #541
- feat(render): avoid overlapping always-on Event labels via collision stacking by @keroway in #542
- feat(render): add --layout-style group-bands for era/group background bands by @keroway in #546
- feat(render): 凡例パネルの静的出力(interactive=false)への展開 by @keroway in #547
- test(render): add group-bands coverage and sync docs for --layout-style by @keroway in #548
- fix(render): remove default font CDN dependency by @keroway in #557
- fix(core): validate timeline.unit and lane.kind instead of silent fallback by @keroway in #558
- fix(core): warn when items fall outside timeline.range by @keroway in #559
- feat(dsl): allow string-literal color_map keys for non-ASCII tags by @keroway in #560
- feat(dsl): support open-ended span/event_range via
nowend keyword by @keroway in #561 - feat(render): add hour/minute sub-day axis ticks by @keroway in #562
- chore: release v1.23.0 by @keroway in #563
Full Changelog: v1.22.0...v1.23.0