OTel auto-direct-write; SSO and pagination hardening
v4.7.0
8 features6 enhancements34 fixesThis release8 featuresNew capabilities6 enhancementsImprovements to existing features34 fixesBug fixesAI-tallied from the release notes
From the original release noteView original ↗
What's Changed
Features
- feat(sessions): New session header by @bezbac in https://github.com/langfuse/langfuse/pull/15841
- feat(automations): remove API version dropdown from webhook actions by @marksalpeter in https://github.com/langfuse/langfuse/pull/15755
- feat(web): pnpm structure:move — a move with every importer rewritten (LFE-14804) by @nkabardin in https://github.com/langfuse/langfuse/pull/15820
- feat(in-app-agent): track tool approval decisions by @LysanderKie in https://github.com/langfuse/langfuse/pull/15811
- feat(search-bar): explain filter tokens on hover (LFE-14447) by @nkabardin in https://github.com/langfuse/langfuse/pull/15896
- feat(ingestion): auto-direct-write OTel traffic for post-cutoff orgs by @Steffen911 in https://github.com/langfuse/langfuse/pull/15813
- feat(filters): share observed-metadata suggestions with the filter sidebar (LFE-11030) by @nkabardin in https://github.com/langfuse/langfuse/pull/15886
- feat(worker): add posthog and mixpanel integrations to core data S3 export by @Steffen911 in https://github.com/langfuse/langfuse/pull/15960
Fixes
- fix(agent): cancel a conversation's run when it is deleted by @LysanderKie in https://github.com/langfuse/langfuse/pull/15850
- fix(dashboards): show agent-created widgets immediately by @LysanderKie in https://github.com/langfuse/langfuse/pull/15871
- fix(dashboard): round costs to cents by @hassiebp in https://github.com/langfuse/langfuse/pull/15866
- fix(filters): stop the sidebar from reordering mid-interaction (LFE-14843) by @nkabardin in https://github.com/langfuse/langfuse/pull/15884
- fix(v4): prevent project overview layout shift; change deprecation date to Oct 9 by @marliessophie in https://github.com/langfuse/langfuse/pull/15869
- fix(evals): validate default model structured output by @hassiebp in https://github.com/langfuse/langfuse/pull/15888
- fix(assistant): fix silent MCP tool schema validation by @bezbac in https://github.com/langfuse/langfuse/pull/15889
- fix(filters): sort tag filter values alphabetically (LFE-14382) by @nkabardin in https://github.com/langfuse/langfuse/pull/15879
- fix(trace): drop the date window from the trace-scoped Scores tab (LFE-14851) by @nkabardin in https://github.com/langfuse/langfuse/pull/15878
- fix(dashboard): exclude v3 trace presets from widget suggestions (LFE-14444) by @nkabardin in https://github.com/langfuse/langfuse/pull/15885
- fix(monitors): preserve monitor form state when adding an automation (LFE-10982) by @nkabardin in https://github.com/langfuse/langfuse/pull/15883
- fix(tables): use full row height for Input/Output cells (LFE-14586) by @nkabardin in https://github.com/langfuse/langfuse/pull/15875
- fix(shared): prevent regex backtracking denial of service by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15891
- fix(observability): remove user emails from Datadog traces by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15908
- fix(api): reject invalid public pagination pages by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15918
- fix(tracing): validate agent graph timestamps by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15919
- fix(prompts): return conflict for concurrent version creation by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15923
- fix(otel): bound reconstructed array indices by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15890
- fix(integrations): return not found for repeated deletes by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15924
- fix(otel): derive ADK v1.x cached tokens from the llm_response blob by @milanagm in https://github.com/langfuse/langfuse/pull/15728
- fix(otel): subtract reasoning/audio completion details from output tokens by @milanagm in https://github.com/langfuse/langfuse/pull/15415
- fix(v4): route AI-disabled eval migrations to wizard by @marliessophie in https://github.com/langfuse/langfuse/pull/15894
- fix(banner): inline the notification title instead of a second column (LFE-14490) by @nkabardin in https://github.com/langfuse/langfuse/pull/15872
- fix(users): scope trace-table filter state per surface (LFE-14824) by @nkabardin in https://github.com/langfuse/langfuse/pull/15873
- fix(rbac): scope project role updates to organization by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15940
- fix(sessions): render Langfuse media tokens inline in the session view (LFE-14815, LFE-9577) by @nkabardin in https://github.com/langfuse/langfuse/pull/15882
- fix(in-app-agent): preserve run framing across reconnects by @LysanderKie in https://github.com/langfuse/langfuse/pull/15939
- fix(worker): drop obsolete blob export job when integration deleted mid-run (LFE-14894) by @niklassemmler in https://github.com/langfuse/langfuse/pull/15938
- fix(trace): show trace-level scores in the root span Scores tab (LFE-14850) by @nkabardin in https://github.com/langfuse/langfuse/pull/15876
- fix(mcp): exempt in-app agent from public API rate limits by @LysanderKie in https://github.com/langfuse/langfuse/pull/15880
- fix(mcp): Bring back rate limits for in-app agent by @LysanderKie in https://github.com/langfuse/langfuse/pull/15948
- fix(sso): block internal targets in OIDC discovery validation by @marksalpeter in https://github.com/langfuse/langfuse/pull/15897
- fix(ingestion): add events_only rejection guidance by @sumerman in https://github.com/langfuse/langfuse/pull/15950
Chores
- chore(eslint): keep overlay triggers colocated with siblings by @bezbac in https://github.com/langfuse/langfuse/pull/15837
- ci(perf): keep web test jobs below five minutes by @wochinge in https://github.com/langfuse/langfuse/pull/15832
- ci(deps): bump the github-actions group with 5 updates by @dependabot[bot] in https://github.com/langfuse/langfuse/pull/15859
- ci(perf): keep lint jobs below two minutes by @wochinge in https://github.com/langfuse/langfuse/pull/15867
- refactor(filters): relocate the observed-metadata suggestions out of the search bar (LFE-11030) by @nkabardin in https://github.com/langfuse/langfuse/pull/15881
- ci(perf): keep Docker build smoke test below two minutes by @wochinge in https://github.com/langfuse/langfuse/pull/15874
- chore(pricing): fix davinci-002/babbage-002 base-model rates by @langfuse-bot in https://github.com/langfuse/langfuse/pull/15795
- ci(perf): warm e2e server build cache by @wochinge in https://github.com/langfuse/langfuse/pull/15892
- ci(perf): cache web test compilation across modes by @wochinge in https://github.com/langfuse/langfuse/pull/15899
- refactor(integrations): share prisma not found classifier by @maxdeichmann in https://github.com/langfuse/langfuse/pull/15926
- chore(filters): move api key filter down by @nimarb in https://github.com/langfuse/langfuse/pull/15934
- refactor(traces): migrate features/traces to the project-structure RFC (LFE-14804) by @nkabardin in https://github.com/langfuse/langfuse/pull/15840
- style(tracing): separate pulse chart with a top border (LFE-14829) by @nkabardin in https://github.com/langfuse/langfuse/pull/15870
- refactor(in-app-agent): make browser execution background-only by @LysanderKie in https://github.com/langfuse/langfuse/pull/15944
- refactor(alerts): rename the Monitors product surface to Alerts by @marksalpeter in https://github.com/langfuse/langfuse/pull/15949
- refactor(in-app-agent): remove foreground server adapter by @LysanderKie in https://github.com/langfuse/langfuse/pull/15943
Full Changelog: https://github.com/langfuse/langfuse/compare/v4.6.0...v4.7.0
Fetched August 11, 2026


