v3.170.0
What's Changed
Features
- feat(web): warn about unencoded special characters in DATABASE_URL on migration failure by @Steffen911 in https://github.com/langfuse/langfuse/pull/13186
- feat: emit .rate and .time metrics with shard tags for DataDog aggregation by @sumerman in https://github.com/langfuse/langfuse/pull/13249
- feat(auth): allow configuration of ID Token signed response alg by @ICZAD769 in https://github.com/langfuse/langfuse/pull/12333
- feat: detect SDK version from langfuse events table by @marliessophie in https://github.com/langfuse/langfuse/pull/13203
- feat(experiments): add support to trigger evals by @marliessophie in https://github.com/langfuse/langfuse/pull/13240
- feat(web): Add region selector to user menu by @bezbac in https://github.com/langfuse/langfuse/pull/13270
- feat(api): add unstable evals public endpoints by @hassiebp in https://github.com/langfuse/langfuse/pull/12829
- feat(api): add DELETE endpoint for LLM connections by @Steffen911 in https://github.com/langfuse/langfuse/pull/13247
- feat(prompts): Add time window filtering to prompt metrics by @bezbac in https://github.com/langfuse/langfuse/pull/13282
- feat(widgets): distinguish between available and called tools in filter by @nimarb in https://github.com/langfuse/langfuse/pull/13281
- feat(ui): decode unicode escapes in PrettyJsonView for trace detail by @toyayuto in https://github.com/langfuse/langfuse/pull/13223
- feat: add 5-minute and 20-minute blob storage export frequency options by @nelsonauner in https://github.com/langfuse/langfuse/pull/13126
- feat(ui): add floating multi-select action bar by @marliessophie in https://github.com/langfuse/langfuse/pull/12851
- feat(experiments): add enabled toggle for remote dataset run trigger (#13221) by @marliessophie in https://github.com/langfuse/langfuse/pull/13289
Fixes
- fix: coerce AUTH_SSO_TIMEOUT to number by @Steffen911 in https://github.com/langfuse/langfuse/pull/13199
- fix: make new queue depth metrics usable in cloud watch by @sumerman in https://github.com/langfuse/langfuse/pull/13241
- fix(security): sanitize score config names to prevent CSS injection by @Steffen911 in https://github.com/langfuse/langfuse/pull/13206
- fix(security): use constant-time comparison for admin API key auth by @Steffen911 in https://github.com/langfuse/langfuse/pull/13208
- fix(model-prices): add match on claude-haiku-4-5 by @hassiebp in https://github.com/langfuse/langfuse/pull/13254
- fix(datasets): fix errors during json schema generation by @wochinge in https://github.com/langfuse/langfuse/pull/13193
- fix(web): Improve skeleton loading state for tables by @bezbac in https://github.com/langfuse/langfuse/pull/13235
- fix(web): Stale search highlights by @bezbac in https://github.com/langfuse/langfuse/pull/13237
- fix(web): Use overflow-auto instead of overflow-scroll for main content by @bezbac in https://github.com/langfuse/langfuse/pull/13267
- fix(dashboards): exclude TEXT and CORRECTION scores from scores-numeric view by @wochinge in https://github.com/langfuse/langfuse/pull/13276
- fix(batch-actions): allow dialog close on status step and fix Go to Dataset 404 by @wochinge in https://github.com/langfuse/langfuse/pull/13277
- fix(audit-logs): capture after-state and normalise resource ids for member role changes by @Steffen911 in https://github.com/langfuse/langfuse/pull/13278
- fix(storage): disable default S3 checksums for GCS multipart uploads by @Steffen911 in https://github.com/langfuse/langfuse/pull/13280
- fix(onboarding): add PH button capture for 'try demo project' by @annabellscha in https://github.com/langfuse/langfuse/pull/13251
- fix(web): prevent DataTable onRowClick when clicking interactive elements by @marliessophie in https://github.com/langfuse/langfuse/pull/12881
- fix(web): migrate unstable eval unit tests to vitest by @hassiebp in https://github.com/langfuse/langfuse/pull/13300
- fix(evals): fix score filtering on evaluator runs page by @wochinge in https://github.com/langfuse/langfuse/pull/13225
- fix(widgets): handle pivot table legacy sorting by @nimarb in https://github.com/langfuse/langfuse/pull/13306
- fix(web): prevent crash on invalid JSONPath in dataset mapping editor by @wochinge in https://github.com/langfuse/langfuse/pull/13253
Chores
- chore: deterministic CloudUsageMeteringQueue init by @sumerman in https://github.com/langfuse/langfuse/pull/13239
- chore(scim): add [SCIM] log prefix and operation confirmations by @Steffen911 in https://github.com/langfuse/langfuse/pull/13245
- chore: prefix batch export logs by @Steffen911 in https://github.com/langfuse/langfuse/pull/13246
- ci: run zizmor on fork PRs by failing on findings by @wochinge in https://github.com/langfuse/langfuse/pull/13263
- ci: pin useblacksmith/setup-docker-builder comment to v1.6.0 by @wochinge in https://github.com/langfuse/langfuse/pull/13266
- refactor(web): Remove unused components and hooks by @bezbac in https://github.com/langfuse/langfuse/pull/13148
- refactor(web): Make
useSidebarFilterStatestate location more explicit by @bezbac in https://github.com/langfuse/langfuse/pull/13150 - refactor(traces): Remove unused
updateTagsmutation from router by @bezbac in https://github.com/langfuse/langfuse/pull/13269 - chore: bump bullmq to 5.73.5 by @sumerman in https://github.com/langfuse/langfuse/pull/13256
- chore(tests): use gemini-2.5-flash-lite for GoogleAIStudio tests by @coffee4tw in https://github.com/langfuse/langfuse/pull/13265
- chore(worker): include fileKey in OTEL ingestion failure logs by @Steffen911 in https://github.com/langfuse/langfuse/pull/13271
- chore(deps): bump dompurify to 3.4.0 by @nimarb in https://github.com/langfuse/langfuse/pull/13272
- chore(web): Remove @headlessui packages by @bezbac in https://github.com/langfuse/langfuse/pull/13275
- refactor(web): Enable
react/no-unused-prop-typeseslint rule by @bezbac in https://github.com/langfuse/langfuse/pull/13209 - chore(experiments): remove outdated peek view code by @marliessophie in https://github.com/langfuse/langfuse/pull/13009
- chore(ci): pin action version comments to immutable patch tags by @wochinge in https://github.com/langfuse/langfuse/pull/13291
- refactor(web): migrate test framework from Jest to Vitest by @wochinge in https://github.com/langfuse/langfuse/pull/13191
- refactor(web): Always allow toggling V4 in dev mode by @bezbac in https://github.com/langfuse/langfuse/pull/13284
- refactor(web): Do not reuse table name for observations and events table by @bezbac in https://github.com/langfuse/langfuse/pull/13204
- chore: add ingestion_size_stats table and MVs to dev-tables by @sumerman in https://github.com/langfuse/langfuse/pull/13307
- chore(observability): upgrade opentelemetry and datadog SDKs by @maxdeichmann in https://github.com/langfuse/langfuse/pull/12737
- chore(worker): harden cloud free tier usage threshold job by @Steffen911 in https://github.com/langfuse/langfuse/pull/13322
New Contributors
- @ICZAD769 made their first contribution in https://github.com/langfuse/langfuse/pull/12333
Full Changelog: https://github.com/langfuse/langfuse/compare/v3.169.0...v3.170.0
Fetched April 23, 2026
