Bulk prompt export/import; unicode escapes in trace downloads fixed
v4.5.0
5 features25 fixesThis release5 featuresNew capabilities25 fixesBug fixesAI-tallied from the release notes
From the original release noteView original ↗
What's Changed
Features
- feat(prompts): add bulk export and import for prompts by @rkdhanda in https://github.com/langfuse/langfuse/pull/13774
- feat(web): structure-RFC instrument panel — pnpm structure:stats + dependency-cruiser rules (LFE-14781) by @nkabardin in https://github.com/langfuse/langfuse/pull/15800
- feat(billing): CHB provider resolver, plan resolution by @Steffen911 in https://github.com/langfuse/langfuse/pull/15459
- feat(agent): Silent mode for tools by @bezbac in https://github.com/langfuse/langfuse/pull/15487
- feat(agent): bound concurrent background runs per user and organization by @LysanderKie in https://github.com/langfuse/langfuse/pull/15809
Fixes
- fix(trace): decode unicode escapes in client-side trace downloads and copies by @toyayuto in https://github.com/langfuse/langfuse/pull/15698
- fix(agent): hide background run notices by @LysanderKie in https://github.com/langfuse/langfuse/pull/15782
- fix(ui): guard null item refs in Radix roving-focus focusFirst by @nkabardin in https://github.com/langfuse/langfuse/pull/15764
- fix(web): stop Sentry capture of expected query-guardrail tRPC errors by @nkabardin in https://github.com/langfuse/langfuse/pull/15765
- fix(prompts): encode prompt name in detail hrefs to avoid invalid routes by @nkabardin in https://github.com/langfuse/langfuse/pull/15767
- fix(otel): reject non-array attributes and events with a 400 by @Steffen911 in https://github.com/langfuse/langfuse/pull/15793
- fix(worker): guard blob-export Parquet against Arrow 2GiB column-chunk overflow by @Steffen911 in https://github.com/langfuse/langfuse/pull/15789
- fix(web): stop storage-quota write failures from minting Sentry events by @nkabardin in https://github.com/langfuse/langfuse/pull/15774
- fix(prompts): reserve 'metrics' and 'prompt-detail' as prompt names by @nkabardin in https://github.com/langfuse/langfuse/pull/15775
- fix(agent): replay background tool side effects by @LysanderKie in https://github.com/langfuse/langfuse/pull/15783
- fix(worker): make evaluator sampling deterministic by @wochinge in https://github.com/langfuse/langfuse/pull/15798
- fix(in-app-agent): preserve context across approval continuations by @LysanderKie in https://github.com/langfuse/langfuse/pull/15799
- fix(in-app-agent): gate sandbox solely via provider env var (not NODE_ENV) by @LysanderKie in https://github.com/langfuse/langfuse/pull/15797
- fix(version-update): only prompt reload when the frontend is 48+ hours stale by @nkabardin in https://github.com/langfuse/langfuse/pull/15785
- fix(traces): Use events-based tables for checking access to traces by @bezbac in https://github.com/langfuse/langfuse/pull/15721
- fix(web): stop residual expected-error noise from batch deletes and evaluator form by @nkabardin in https://github.com/langfuse/langfuse/pull/15806
- fix(web): guard react-resizable-panels drag teardown when a group unmounts mid-drag by @nkabardin in https://github.com/langfuse/langfuse/pull/15807
- fix(sentry): stop three noise families from minting a fingerprint per occurrence by @nkabardin in https://github.com/langfuse/langfuse/pull/15770
- fix(web): classify tRPC response JSON-parse failures as transport noise by @nkabardin in https://github.com/langfuse/langfuse/pull/15772
- fix(table-views): demote active system preset when user edits its filters (LFE-14699) by @nkabardin in https://github.com/langfuse/langfuse/pull/15768
- fix(web): stop unrelated tRPC client errors from grouping into one Sentry issue by @nkabardin in https://github.com/langfuse/langfuse/pull/15818
- fix(ui): preserve ordered list start numbers by @marliessophie in https://github.com/langfuse/langfuse/pull/15828
- fix(experiments): remove compare IO cell hover expansion by @marliessophie in https://github.com/langfuse/langfuse/pull/15830
- fix(web): drop query-param writes issued before the Next.js router is ready by @nkabardin in https://github.com/langfuse/langfuse/pull/15804
- fix(web): stop capturing expected auth-flow outcomes as Sentry errors by @nkabardin in https://github.com/langfuse/langfuse/pull/15819
Chores
- chore(pricing): gpt-5.4/5.5 large-context tiers, sonnet-4.5 and gemini-3.5-flash-lite fixes by @langfuse-bot in https://github.com/langfuse/langfuse/pull/15722
- chore(web): Auto-enroll Langfuse team to feature previews by @bezbac in https://github.com/langfuse/langfuse/pull/15610
- chore(traces): reorganize the traces feature according to the new project structure RFC by @nkabardin in https://github.com/langfuse/langfuse/pull/15784
- refactor(in-app-agent): reconcile on watch attach, not on a timer (LFE-14624) by @LysanderKie in https://github.com/langfuse/langfuse/pull/15812
- test(web): guard region-gated Session Replay masking against regression by @nkabardin in https://github.com/langfuse/langfuse/pull/15802
- docs(skills): state the HIPAA compliance boundary in the Sentry PII rule by @nkabardin in https://github.com/langfuse/langfuse/pull/15803
- refactor(web): one seam owns error capture — migrate raw captureException sites to reportError + lint enforcement by @nkabardin in https://github.com/langfuse/langfuse/pull/15781
- chore(in-app-agent): collapse the watch tail poll into one statement (LFE-14629) by @LysanderKie in https://github.com/langfuse/langfuse/pull/15815
- refactor(web): send components/ui's single-feature files home (LFE-14804) by @nkabardin in https://github.com/langfuse/langfuse/pull/15821
New Contributors
- @rkdhanda made their first contribution in https://github.com/langfuse/langfuse/pull/13774
Full Changelog: https://github.com/langfuse/langfuse/compare/v4.4.0...v4.5.0
Fetched August 6, 2026

