What's Changed
Features
- feat(public-api): add unstable read-only Topics endpoints by @LysanderKie in #19104
- feat(ai-gateway): update Claude Desktop setup steps and merge Claude tabs by @wochinge in #19298
- feat(web): warn ClickHouse staff viewing data by @maxdeichmann in #19266
- feat(web): syntax-highlight shell, TOML and JSON setup snippets by @wochinge in #19306
- feat(ai-gateway): describe gateway keys inline and invite people from the keys page by @wochinge in #19310
- feat(evals): runBatchEvaluation MCP tool and batch_action_id on batch run outputs by @wochinge in #19314
- feat(web): jump to prompts, datasets, queues and evaluators from Cmd+K by @nmtrang29 in #18921
Fixes
- fix(security): require secrets again when webhook or PostHog destination changes by @niklassemmler in #19261
- perf(scores): sort skip-dedup score lists by day first by @niklassemmler in #19311
- fix(clickhouse): label client-closed streams and tag the dashboard stream route by @niklassemmler in #19309
- fix(web): Topics setup explains a missing AI connection and helps non-admins by @nmtrang29 in #19286
- fix(web): Topics shows analyzing, waiting and failed screens on the first run by @nmtrang29 in #19285
- fix(deps): upgrade dompurify to 3.4.17 by @nimarb in #19329
- fix(deps): upgrade nodemailer to 10.1.7 by @nimarb in #19330
Chores
- test(sessions): pin project scoping for tool filters on the events sessions table by @niklassemmler in #19293
- refactor(web): Make SpendAlertsTable use design system by @bezbac in #19305
- refactor(web): Unify tooltip and hover card behavior by @bezbac in #19303
- refactor(ai-gateway): split setup instruction tabs from data loading and add stories by @wochinge in #19307
Full Changelog: v4.69.0...v4.70.0