Skip to content

Release history

langfuse releases

πŸͺ’ Open source LLM engineering platform: LLM Observability, metrics, evals, prompt management, playground, datasets. Integrates with OpenTelemetry, Langchain, OpenAI SDK, LiteLLM, and more. YC W23

All releases

44 shown

Review required
v3.178.0 Mixed
Auth

Audit entitlement enforcement + Agent config removal + Dataset ID

No immediate action
v3.177.1 Mixed

ClickHouse warning + mcp updates + agent doc fix

No immediate action
v3.177.0 New feature

Flag, AI telemetry, claude‑opus‑4‑8, UI notifications

Review required
v3.176.0 New feature
Auth

Auth keys, Dashboards, MCP routes, FTS, SES, UI notifications

No immediate action
v3.175.0 New feature

Filters, Trace Download, MCP Observations, Fixes

No immediate action
v3.174.1 Maintenance

Routine maintenance and dependency updates.

Review required
v3.174.0 Mixed
Auth RBAC

Email verification + fixes

v3.173.0 New feature
Security fixes
  • Hardened outbound URL validation against SSRF bypasses and rejected DNS‑failing hostnames
Notable features
  • Show experiment metadata in overview UI
  • Add secondary OpenTelemetry ingestion queue to worker
  • Self-service SSO configuration with DNS‑verified domains
Full changelog

What's Changed

Features

  • feat(experiments): show metadata in overview by @wochinge in https://github.com/langfuse/langfuse/pull/13456
  • feat(worker): add secondary otel ingestion queue by @Steffen911 in https://github.com/langfuse/langfuse/pull/13490
  • feat(sso): self-service SSO config with DNS-verified domains by @marksalpeter in https://github.com/langfuse/langfuse/pull/13507

Fixes / Improvements

  • fix(evals): do not drop langfuseObject on config on template upgrades by @hassiebp in https://github.com/langfuse/langfuse/pull/13429
  • fix(evals): validate evaluator mapping target server-side by @hassiebp in https://github.com/langfuse/langfuse/pull/13430
  • fix(batch-actions): compute count subject to searchQuery and searchType by @marliessophie in https://github.com/langfuse/langfuse/pull/13441
  • fix(web): Improve toast title for ClickHouseResourceError errors by @bezbac in https://github.com/langfuse/langfuse/pull/13373
  • fix(organizations): add margin to separator when no project is selected by @bezbac in https://github.com/langfuse/langfuse/pull/13445
  • fix(widgets): render latency metrics in scaled units in custom dashboard widgets by @marksalpeter in https://github.com/langfuse/langfuse/pull/13242
  • fix(web): include today in Prompts table observation count window by @jannikmaierhoefer in https://github.com/langfuse/langfuse/pull/13415
  • fix(worker): keep spend alert billing skips healthy by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13467
  • fix(docker): remove corepack cache from runtime-base stage by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13470
  • fix(evals): add evaluator filter validation and handling by @marliessophie in https://github.com/langfuse/langfuse/pull/13474
  • fix(web): Prisma also returns "Unique constraint failed", so check lowercase string by @deejay1 in https://github.com/langfuse/langfuse/pull/13477
  • fix(events): stringify batchIO metadata for tRPC by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13457
  • fix(trace-ui): prevent image flicker on validateImgUrl false by @seokjin0414 in https://github.com/langfuse/langfuse/pull/13440
  • fix(shared): harden outbound URL validation against SSRF bypasses by @wochinge in https://github.com/langfuse/langfuse/pull/13485
  • fix(web): Saved views UX improvements by @bezbac in https://github.com/langfuse/langfuse/pull/13454
  • fix(scim): write audit log on user creation via SCIM POST by @Steffen911 in https://github.com/langfuse/langfuse/pull/13496
  • fix(public-api): rate-limit project apiKeys admin and prompt POST by @Steffen911 in https://github.com/langfuse/langfuse/pull/13498
  • fix(traces): Create synthetic traces from events consistently by @bezbac in https://github.com/langfuse/langfuse/pull/13450
  • fix(worker): preserve encrypted webhook headers on disable by @wochinge in https://github.com/langfuse/langfuse/pull/13503
  • fix(web): validate image URL redirects by @wochinge in https://github.com/langfuse/langfuse/pull/13501
  • fix(projects): persist parsed metadata on project create/update by @Steffen911 in https://github.com/langfuse/langfuse/pull/13497
  • fix(web): remove Request Chart button from home screen by @marliessophie in https://github.com/langfuse/langfuse/pull/13509
  • fix(shared): reject DNS-failing hostnames in outbound URL validation by @wochinge in https://github.com/langfuse/langfuse/pull/13512

Chores

  • chore: upgrade bullmq to 5.76.3 by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13442
  • chore(deps): upgrade uuid v9 β†’ v14 by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13443
  • chore: Increase admin access webhook dedupe window to 24 hours by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13414
  • refactor(model-match): remove redis parse span by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13182
  • chore(web): Remove unused unified & remark dependencies by @bezbac in https://github.com/langfuse/langfuse/pull/13409
  • chore(web): Remove unused graphql dependency by @bezbac in https://github.com/langfuse/langfuse/pull/13410
  • chore(deps): remove redundant @types/uuid devDependency by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13448
  • chore: add migration hints for legacy public ClickHouse APIs by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13475
  • refactor(web): Create new design system dir & extract Spinner by @bezbac in https://github.com/langfuse/langfuse/pull/13428
  • chore(deps): web - build migrate binary with Go 1.26 by @vkael in https://github.com/langfuse/langfuse/pull/13486
  • chore(deps): bump posthog 5.32 / 1.372 by @nimarb in https://github.com/langfuse/langfuse/pull/13487
  • chore: Create eslint plugin package by @bezbac in https://github.com/langfuse/langfuse/pull/13444
  • chore(web): Setup in-source testing with Vitest by @bezbac in https://github.com/langfuse/langfuse/pull/13484
  • chore(deps): bump ip-addresses to 10.2.0 by @nimarb in https://github.com/langfuse/langfuse/pull/13505
  • chore(deps): bump nextjs to 16.2.6 by @nimarb in https://github.com/langfuse/langfuse/pull/13516
  • ci: harden prettier check file arguments by @wochinge in https://github.com/langfuse/langfuse/pull/13513

New Contributors

  • @vkael made their first contribution in https://github.com/langfuse/langfuse/pull/13486
  • @seokjin0414 made their first contribution in https://github.com/langfuse/langfuse/pull/13440

Full Changelog: https://github.com/langfuse/langfuse/compare/v3.172.1...v3.173.0

v3.172.1 Maintenance

Minor fixes and improvements.

Full changelog

What's Changed

Fixes

  • fix(traces): refresh scores in trace detail by @wochinge in https://github.com/langfuse/langfuse/pull/13427

Chores

  • chore(eslint): Disallow use of overflow-scroll classes by @bezbac in https://github.com/langfuse/langfuse/pull/13403
  • chore(ci): disable test sharding + speed up test suite by @wochinge in https://github.com/langfuse/langfuse/pull/13383
  • test: deflake DNS-dependent CI tests by @wochinge in https://github.com/langfuse/langfuse/pull/13412

Full Changelog: https://github.com/langfuse/langfuse/compare/v3.172.0...v3.172.1

v3.172.0 Breaking risk
Notable features
  • Add none filter mode for tags in sidebar
Full changelog

What's Changed

Features

  • feat(traces): Add none filter mode for tags in the sidebar by @bezbac in https://github.com/langfuse/langfuse/pull/13339

Fixes / Improvements

  • fix(server): ingest flattened experiment metadata by @hassiebp in https://github.com/langfuse/langfuse/pull/13368
  • perf(clickhouse): emit has(metadata_names) conjunct for events filters by @sumerman in https://github.com/langfuse/langfuse/pull/13369
  • fix(internal-tracing): remove output parser spans by @hassiebp in https://github.com/langfuse/langfuse/pull/13371
  • docs(agents): improve Agents.md by @wochinge in https://github.com/langfuse/langfuse/pull/13372
  • test: re-enable Vitest parallelism by @wochinge in https://github.com/langfuse/langfuse/pull/13366
  • fix(traces): Limit number of categorical score names and values by @bezbac in https://github.com/langfuse/langfuse/pull/13308
  • fix(web): Pre-fill email when switching regions by @bezbac in https://github.com/langfuse/langfuse/pull/13370
  • fix(events): use release field for trace release in events table adapter by @AlissonRS in https://github.com/langfuse/langfuse/pull/13274
  • fix(dashboards): Resolve filter options consistently by @bezbac in https://github.com/langfuse/langfuse/pull/13335
  • fix(clickhouse): use alter_sync/mutations_sync on multi-ALTER clustered migrations by @Steffen911 in https://github.com/langfuse/langfuse/pull/13398
  • fix(traces): Show correct title prefix in trace detail peek view by @bezbac in https://github.com/langfuse/langfuse/pull/13283

Chores

  • chore(agent-dx): add debug-issue-with-datadog skill by @Steffen911 in https://github.com/langfuse/langfuse/pull/13375
  • chore(eslint): enable no-deprecated by @wochinge in https://github.com/langfuse/langfuse/pull/13374
  • chore(env): add LANGFUSE_ENABLE_EVENTS_TABLE_UI flag for UI events table support by @marliessophie in https://github.com/langfuse/langfuse/pull/13346
  • chore(deps): bump prettier to 3.8.3 by @nimarb in https://github.com/langfuse/langfuse/pull/13387
  • chore(skills): suggest to run pnpm dedupe by @nimarb in https://github.com/langfuse/langfuse/pull/13401
  • chore(deps): bump next to 16.2.4 by @nimarb in https://github.com/langfuse/langfuse/pull/13402
  • chore(web): Remove @mui/material dependency by @bezbac in https://github.com/langfuse/langfuse/pull/13399
  • chore(web): Track error notification clicks by @bezbac in https://github.com/langfuse/langfuse/pull/13386

New Contributors

  • @AlissonRS made their first contribution in https://github.com/langfuse/langfuse/pull/13274

Full Changelog: https://github.com/langfuse/langfuse/compare/v3.171.0...v3.172.0

v3.171.0 New feature
Notable features
  • Allow `source=ANNOTATION` on POST /api/public/scores
  • Added GPT-5.5 model pricing
Full changelog

What's Changed

Features

  • feat(scores-api): allow source=ANNOTATION on POST /api/public/scores by @wochinge in https://github.com/langfuse/langfuse/pull/13286
  • feat(model-prices): add gpt-5.5) by @hassiebp in https://github.com/langfuse/langfuse/pull/13354

Fixes / Improvements

  • fix(worker): cap PostHog export window at next UTC day boundary (LFE-9475) by @Steffen911 in https://github.com/langfuse/langfuse/pull/13326
  • fix(shared): cap analytics observations CTE upper bound (LFE-9475) by @Steffen911 in https://github.com/langfuse/langfuse/pull/13329
  • fix(dev): fix seed command by @nimarb in https://github.com/langfuse/langfuse/pull/13337
  • perf(clickhouse): scores query in events.all scans all partitions by @sumerman in https://github.com/langfuse/langfuse/pull/13336
  • fix: add breadcrumb to dataset items page by @marliessophie in https://github.com/langfuse/langfuse/pull/13344
  • perf(clickhouse): pre-filter traces in CTE for analytics integration joins by @Steffen911 in https://github.com/langfuse/langfuse/pull/13364

Chores

  • chore: add langfuse JP to region picker by @Steffen911 in https://github.com/langfuse/langfuse/pull/13361
  • chore: hide eval preview if user has not ingested with otel in the past 7 days by @marliessophie in https://github.com/langfuse/langfuse/pull/13343
  • chore(deps): axios 1.15.2 and dedupe by @nimarb in https://github.com/langfuse/langfuse/pull/13365

Full Changelog: https://github.com/langfuse/langfuse/compare/v3.170.0...v3.171.0

v3.170.0 Mixed
Security fixes
  • CSS injection prevention in score config names
  • Constant-time comparison for admin API key authentication
Notable features
  • Evals triggering and unstable evals API endpoints
  • Region selector in user menu
  • Metrics emission with shard tags for DataDog aggregation
Full changelog

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 useSidebarFilterState state location more explicit by @bezbac in https://github.com/langfuse/langfuse/pull/13150
  • refactor(traces): Remove unused updateTags mutation 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-types eslint 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

v3.169.0 Mixed
Notable features
  • QueueMetricsRunner collects queue metrics on a fixed schedule and aggregates sharded queue metrics
  • Updated managed ragas-faithfulness-evaluator with proper scoring and prompt details
  • Fixed text overlap when adding prompt references
Full changelog

What's Changed

Features

  • feat: QueueMetricsRunner collects queue metrics on a fixed schedule and aggegates sharded queue metrics by @sumerman in https://github.com/langfuse/langfuse/pull/13231

Fixes / Improvments

  • fix: update managed ragas-faithfulness-evaluator with proper scoring and prompt details by @marliessophie in https://github.com/langfuse/langfuse/pull/13226
  • fix(ci): use exact release tags in action version comments by @wochinge in https://github.com/langfuse/langfuse/pull/13229
  • fix(prompts): Prevent text overlap when adding prompt reference by @bezbac in https://github.com/langfuse/langfuse/pull/13236

Chores

  • chore(deps): bump protobufjs to 7.5.5 by @nimarb in https://github.com/langfuse/langfuse/pull/13232
  • chore(deps): bump follow-redirects 1160 by @nimarb in https://github.com/langfuse/langfuse/pull/13233
  • chore(skill): pnpm upgrade skill doesnt change lock file manually by @nimarb in https://github.com/langfuse/langfuse/pull/13234
  • chore: Update pull request template to clarify chore and refactor types by @bezbac in https://github.com/langfuse/langfuse/pull/13166

Full Changelog: https://github.com/langfuse/langfuse/compare/v3.168.0...v3.169.0

v3.168.0 New feature
Security fixes
  • Prevent IP validation bypass for image URL validation
  • Prevent prototype pollution in OTel attribute key parsing
Notable features
  • AWS Bedrock API Keys (Bearer Token) support
  • OCI Object Storage Native SDK integration with IAM auth
  • Claude Opus 4.7 model pricing support
Full changelog

What's Changed

Features

  • feat(web): add support for AWS Bedrock API Keys (Bearer Tokens) by @wochinge in https://github.com/langfuse/langfuse/pull/13098
  • feat(experiments): direct-write prompt experiment root events by @hassiebp in https://github.com/langfuse/langfuse/pull/13044
  • feat: add OCI Object Storage Native SDK integration with IAM auth options by @sanjeev260191 in https://github.com/langfuse/langfuse/pull/12379
  • feat(ui): remove tier from pylon issue field and change warning message by @jannikmaierhoefer in https://github.com/langfuse/langfuse/pull/13140
  • feat(cache): add local l1 cache for model match by @hassiebp in https://github.com/langfuse/langfuse/pull/12977
  • feat(slack): show change author in Slack prompt notification by @wochinge in https://github.com/langfuse/langfuse/pull/13149
  • feat(model-prices): add claude-opus-4-7 by @hassiebp in https://github.com/langfuse/langfuse/pull/13214
  • feat(tracing): tracing setup page with prompt by @annabellscha in https://github.com/langfuse/langfuse/pull/13045

Fixes / Improvements

  • fix: count histogram UI switching during widget editing by @sumerman in https://github.com/langfuse/langfuse/pull/13128
  • fix: github oauth should check issuer by @sumerman in https://github.com/langfuse/langfuse/pull/13115
  • fix: Missing trace tags in v4 table and detail view by @bezbac in https://github.com/langfuse/langfuse/pull/13165
  • fix: prevent ip validation bypass for image URL validation by @Steffen911 in https://github.com/langfuse/langfuse/pull/13207
  • fix: rename migration from a cleaned up name to avoid repeated reapplication by @sumerman in https://github.com/langfuse/langfuse/pull/13153
  • fix(annotation): render session-level screens subject to fast preview mode on/off by @marliessophie in https://github.com/langfuse/langfuse/pull/13178
  • fix(ci): handle invalid security-severity in Snyk SARIF output by @wochinge in https://github.com/langfuse/langfuse/pull/13163
  • fix(email): add project name to evaluator pause notifications by @hassiebp in https://github.com/langfuse/langfuse/pull/13135
  • fix(evals): make evaluation prompt read-only in view-only template mode (#13047) by @marliessophie in https://github.com/langfuse/langfuse/pull/13137
  • fix(evals): return full JSONPath slice result and deduplicate eval JSONPath logic by @wochinge in https://github.com/langfuse/langfuse/pull/13200
  • fix(experiments): keep referenced prompts single-row in compact density by @marliessophie in https://github.com/langfuse/langfuse/pull/13167
  • fix(llm-schemas): allow CUD access for project members by @hassiebp in https://github.com/langfuse/langfuse/pull/13134
  • fix(otel): normalize gen ai usage details by @hassiebp in https://github.com/langfuse/langfuse/pull/13110
  • fix(otel): prevent prototype pollution in OTel attribute key parsing by @Steffen911 in https://github.com/langfuse/langfuse/pull/13201
  • fix(shared): treat end-of-life model errors as non-retryable by @wochinge in https://github.com/langfuse/langfuse/pull/13129
  • fix(slack): remove redundant timestamp footer from Slack notifications by @wochinge in https://github.com/langfuse/langfuse/pull/13152
  • fix(traces): Use single-line skeletons for table with small row height by @bezbac in https://github.com/langfuse/langfuse/pull/13138
  • fix(web): Create new TableCellWithCopyButton for ApiKeyList by @bezbac in https://github.com/langfuse/langfuse/pull/13057
  • fix(web): Hide irrelevant filters in subtables by @bezbac in https://github.com/langfuse/langfuse/pull/13136
  • fix(web): Preserve whitespace in message search controller by @bezbac in https://github.com/langfuse/langfuse/pull/13096
  • fix(web): Prevent toast error when toggling v4 with selected saved view by @bezbac in https://github.com/langfuse/langfuse/pull/13077
  • fix(worker): sync managed evaluator vars on template updates by @marliessophie in https://github.com/langfuse/langfuse/pull/13164
  • perf(dual-write): clamp min start time to past day and optimize trace sorting by @Steffen911 in https://github.com/langfuse/langfuse/pull/13172

Chores

  • chore: add bloom_filter index on experiment_id to events_core by @sumerman in https://github.com/langfuse/langfuse/pull/13141
  • chore: add redis.full_command to redis traces by @sumerman in https://github.com/langfuse/langfuse/pull/13169
  • chore: add sampling for sharded queues by @maxdeichmann in https://github.com/langfuse/langfuse/pull/13143
  • chore: Initialize local databases during cloud setup and maintenance scripts by @sumerman in https://github.com/langfuse/langfuse/pull/13106
  • chore(ci): remove GitHub Actions that rely on Node 20 by @wochinge in https://github.com/langfuse/langfuse/pull/13194
  • chore(deps): run pnpm dedupe by @nimarb in https://github.com/langfuse/langfuse/pull/13142
  • chore(experiments): release public beta on cloud by @marliessophie in https://github.com/langfuse/langfuse/pull/13131
  • chore(experiments): rewrite metrics aggregation for total cost and latency to skip trace-level aggregation by @marliessophie in https://github.com/langfuse/langfuse/pull/13104
  • chore(security): fix snyk code scanning by @nimarb in https://github.com/langfuse/langfuse/pull/13158
  • chore(trpc): handling of errors with body parse issues by @marliessophie in https://github.com/langfuse/langfuse/pull/13211
  • chore(v4): default new orgs to v4 by @nimarb in https://github.com/langfuse/langfuse/pull/13105
  • ci: harden + monitor GH actions with zizmor by @wochinge in https://github.com/langfuse/langfuse/pull/13048
  • ci: reapply GH Actions hardening with deploy secret fix by @wochinge in https://github.com/langfuse/langfuse/pull/13161
  • ci(deps): bump the github-actions group across 1 directory with 16 updates by @dependabot[bot] in https://github.com/langfuse/langfuse/pull/13114
  • revert: ci: harden + monitor GH actions with zizmor (#13048) by @wochinge in https://github.com/langfuse/langfuse/pull/13155

New Contributors

  • @sanjeev260191 made their first contribution in https://github.com/langfuse/langfuse/pull/12379

Full Changelog: https://github.com/langfuse/langfuse/compare/v3.167.4...v3.168.0

v3.167.3 Maintenance

Improved ClickHouse configuration, added dependency upgrade skill, enhanced experiment comparison UI styling, and optimized CI Docker builds.

v3.167.2 Bug fix

Fixed table padding, Azure blob storage validation, LLM tracing environment handling, and eval queue stalls. Updated multiple dependencies including Next.js, Langchain, Lodash, Axios, and others.

v3.167.1 Bug fix

Limits media deletion batch size to avoid PostgreSQL bind parameter errors, adds Bearer token support to scores API POST, validates LLM base URLs, improves Slack integration robustness, and expands signup support to all Unicode letters. Updates Next.js and lodash dependencies.

v3.167.0 Bug fix
⚠ Upgrade required
  • Self-hosted deployments: NextAuth and related environment variables must be present in Docker configuration following CI/CD fix.
Security fixes
  • Secret key is now required for LLM test base URL changes (fix/web)
Notable features
  • Annotation queue item page now integrates session handling with a beta feature flag for observation fetching.
  • Dataset cell in Experiments table now links to the dataset page and shows display name.
v3.166.0 Bug fix
Notable features
  • New `fields` parameter added to GetTraceById API endpoint for selective field retrieval
v3.165.0 New feature
⚠ Upgrade required
  • Decimal64(12) cost values are now clamped before ClickHouse insertion β€” self-hosters with custom cost pipelines should verify no data truncation occurs
  • Prisma bumped to 6.19.3; review migration compatibility if running a managed database setup
Security fixes
  • Enforced write permissions on LLM connection test endpoints (fix(llm-connections))
Notable features
  • TEXT (free-form) scores via public API
  • 16MB request body warnings for OpenTelemetry ingestion
v3.164.0 Maintenance
⚠ Upgrade required
  • A previous Redis command/socket timeout change was reverted; explicit Redis socket timeout and keepalive are now set separately via a new chore commit β€” verify Redis configuration if you had adjusted timeout settings in prior versions.
  • New env var available to exclude specific project IDs from experiment backfill; review if you need to scope backfill behavior.
  • New env var for LLM-as-judge concurrency β€” configure if running experiments with LLM-as-judge at scale.
Notable features
  • Full-text search targeting input/output fields directly in table UI
  • Blob storage exports (v3 and v4) now include additional fields
  • Session persistence support added for sidebar filter state
v3.163.0 New feature
⚠ Upgrade required
  • Rename env var LANGFUSE_TRACE_DELETE_SKIP_PROJECT_IDS to LANGFUSE_DELETE_SKIP_PROJECT_IDS in your deployment configuration.
  • Internal upgrade to pnpm v10 β€” relevant if contributing to or self-building from source.
  • Upgraded to Next.js 16.2.1 and recharts v3.8.0 β€” relevant for self-hosted builds.
Breaking changes
  • Environment variable LANGFUSE_TRACE_DELETE_SKIP_PROJECT_IDS has been renamed to LANGFUSE_DELETE_SKIP_PROJECT_IDS. Operators using the old name must update their configuration. The new variable also covers score deletions, not just trace deletions.
Notable features
  • SSE query progress streaming for dashboards
  • Boolean scores for LLM-as-judge evaluators
  • LLM-as-judge filtering by tool names and tool call count
v3.162.0 New feature
⚠ Upgrade required
  • Upgraded to Zod v4 β€” review any custom Zod schema usage for potential breaking API changes introduced by the major version bump
Security fixes
  • Fixed CVE vulnerabilities in web and worker Docker images
Notable features
  • Error level filtering in custom dashboard widgets
  • Paginated experiments list
  • Gzip compression for blob storage exports
v3.161.0 New feature
⚠ Upgrade required
  • Database query layer refactored from Kysely to Prisma β€” self-hosters should verify no regressions in custom query patterns
  • Next.js upgraded to 16.2 β€” self-hosters should review compatibility
  • undici major version bump (6.x β†’ 7.x) may affect environments with pinned transitive dependencies
Security fixes
  • Upgraded dompurify to resolve known vulnerability
  • Upgraded fast-xml-parser to resolve known vulnerability
  • Upgraded @slack/web-api to resolve Dependabot security alert
Notable features
  • Direct insertion into events_full table
  • GPT-5.4-mini and GPT-5.4-nano model support
  • Genkit spans support in OTel pipeline
v3.160.0 Bug fix
⚠ Upgrade required
  • AI features have been disabled in this release ('chore: disable ai feat'). Users depending on AI functionality should be aware this may affect their workflows until re-enabled.
Notable features
  • OTEL pydantic gen ai.system instructions mapping added
  • Project admins now receive email notifications on blob storage export failures
  • Gemini Live 2.5 Flash Native Audio model pricing added
v3.159.0 Maintenance
⚠ Upgrade required
  • Tailwind upgraded to v4 β€” review frontend styles for compatibility if extending or customizing Langfuse UI.
  • Self-hosted deployments: v2 API endpoints now return 404 (not 501) for unsupported routes β€” update any error-handling logic that expected 501 responses.
  • SDK upgrade note added to v4 beta popup β€” check SDK compatibility if running v4 beta.
Notable features
  • Replay ingestion events v2
  • Blob storage sync status badge and error alert in settings UI
  • Prompt label 'Select all N / Clear' links with search and create input
v3.158.0 New feature
⚠ Upgrade required
  • The v4 beta toggle has been renamed to 'preview' in the UI; references to v4BetaEnabled are updated accordingly
Notable features
  • Evals config blocking
  • Media and blob batch cleaner for project deletion
  • Member permissions to edit LLM tools
v3.157.0 Bug fix
⚠ Upgrade required
  • REDIS_KEY_PREFIX handling for BullMQ has been fixed (Issue 11586) β€” operators using BullMQ with a custom REDIS_KEY_PREFIX should verify queue behavior after upgrading.
  • Public API legacy endpoints have been moved to a separate namespace β€” API consumers using legacy endpoints should confirm their integration paths remain valid.
Notable features
  • Added gpt-5.4 model support
  • LLM-as-a-judge filter environments are now hidden by default
  • Saved views now slide in from the left
v3.156.0 New feature
⚠ Upgrade required
  • Fern SDK majors: review generated SDK changelogs if consuming Langfuse SDKs directly
  • react-resizable-panels v4: review breaking changes in that library if overriding panel components in a self-hosted deployment
  • Docker: Redis now uses a named volume; verify volume configuration when upgrading self-hosted deployments
Breaking changes
  • Fern SDK major version upgrade may introduce breaking changes for SDK consumers (chore: upgrade fern for SDK majors)
  • react-resizable-panels upgraded to v4 (major version bump) β€” may affect self-hosted UI customizations
  • ObservationsV2Response data field is now typed instead of a generic map β€” API consumers relying on the previous shape should verify compatibility
Notable features
  • ClickHouse Cloud auth provider support
  • Thinking-parts handling in playground and evals
  • SSO: tokenEndpointAuthMethod now configurable in multi-tenant SSO configs
v3.155.1 New feature
⚠ Upgrade required
  • Prisma migration for pending_deletions index is now schema-agnostic; verify migration applies cleanly in multi-schema setups
  • Trace data propagation time window is now limited to 7 days
Notable features
  • Optimized v2 traces queries with uniq(trace_id) on observations view
  • v2 metrics version passed to custom dashboard widgets
  • New experiments pages with routing and admin flag checks
v3.155.0 New feature
⚠ Upgrade required
  • Event propagation replica sync has been removed and delay increased to 30 minutes β€” operators relying on tighter sync timing should review this change.
  • Dashboard queries now enforce row_limit on previously unbounded queries; results may be truncated compared to prior behavior.
Notable features
  • Position and level filters added to trace/events table
  • Bloom filter indexes on user_id and session_id for faster lookups
  • Historical and batched single observation evals
v3.154.0 Breaking risk
⚠ Upgrade required
  • Remove any use of parseIoAsJson on observations-v2 API calls before upgrading to avoid 400 errors
  • Langchain upgraded to v1 (#11818) β€” review Langchain integration for breaking changes introduced in that major version bump
  • Tremor chart dependency removed; verify no custom UI code depends on Tremor components
Breaking changes
  • observations-v2: parseIoAsJson option is retired; passing it now returns HTTP 400
  • Tremor-based charts and dependency removed β€” any customizations or integrations relying on Tremor chart components will break
Notable features
  • Single span evaluations released in open beta
  • Delete entire prompt folders
  • Set table defaults for entire projects
v3.153.0 New feature
⚠ Upgrade required
  • Local storage key for dataset metrics now includes datasetId β€” previously saved dataset metric preferences will be reset.
  • Tremor charting library replaced with Recharts in home dashboards; custom styling targeting Tremor components will no longer apply.
Notable features
  • LLM-as-a-judge evaluation now supported at the observation level, including in prompt experiments
  • Eval default filter active status is now configurable
  • opus-4-6 added to model pricing
v3.152.0 New feature
Notable features
  • Server-side ingestion masking for OTEL traces β€” allows sensitive data in OpenTelemetry traces to be masked before storage
v3.151.0 New feature
⚠ Upgrade required
  • BullMQ repeatable jobs have been replaced by reinstated RedisLock β€” verify job queue configuration after upgrading.
  • New nullable column 'job_input_dataset_item_valid_from' added to job-executions table; migration required.
  • New secondary index added for media retention workload estimator and index change for pending_deletions lookup β€” expect migration steps.
Notable features
  • Dataset versioning support across APIs and schemas, with version resolution for experiment runs.
  • Single observation evals for prompt experiments.
  • New public API endpoint: prompts filterOptions.
v3.149.0 New feature
⚠ Upgrade required
  • lodash bumped to 4.17.23 β€” verify compatibility if pinning lodash version in downstream dependencies
Notable features
  • Events-based observation/trace table with experiment filters, session ID, and user ID columns
  • Preflight checks before delete operations on events, observations, and traces
  • Thinking budget configuration for Vertex Gemini models in the playground
v3.148.0 New feature
Notable features
  • Trace detail now renders thinking/reasoning parts, including on tool-call-only traces
  • New org-level audit log viewer
  • Batch-oriented periodic jobs as an alternative to retention queue
v3.147.0 New feature
⚠ Upgrade required
  • BatchProjectCleaner now uses BullMQ; verify BullMQ configuration is in place before upgrading if running self-hosted.
  • Event dual-write timestamp buffer has been reduced from 3.5 minutes to 2 minutes, which may affect systems relying on the previous buffer window.
Notable features
  • BatchProjectCleaner optimization using BullMQ, extended to handle dataset run items
  • JSON validation toggle for corrections
  • Global toggle for showing corrections in session and IOPreview components
v3.146.0 Bug fix
Notable features
  • New CLICKHOUSE_ASYNC_INSERT_BUSY_TIMEOUT_MIN_MS setting for tuning ClickHouse async insert behavior
  • High cardinality measures now supported in v2/metrics API when using topN
  • Global Bedrock Anthropic models now allowed in LLM connection configuration
v3.145.0 New feature
Notable features
  • Inline trace comments on fractions of IO data
  • Selective metadata expansion on observations-v2 endpoints
  • Default org/project membership assignment for SSO users with existing accounts
v3.144.0 Security relevant
Security fixes
  • PostHog SSRF validation
  • Encrypt blob storage secretAccessKey in public API
Notable features
  • Corrections in trace and observation preview
  • Refresh button supporting both manual and periodic refresh
  • Clear all button for filters

Beta — feedback welcome: [email protected]