Releases: langfuse/langfuse
Releases · langfuse/langfuse
v3.114.0
What's Changed
- style(dataset-item): detail view to show item IO and past runs in two tabs by @marliessophie in #9419
- fix: skip JSON parsing for completion start time strings by @Steffen911 in #9418
- fix(otel): preferential parsing of environment key from span attributes by @hassiebp in #9432
- feat(auth): add support for Keycloak scope and ID token configuration by @freinold in #9359
- feat(trace-ui): natural language filters by @nimarb in #9347
- chore: upgrade turborepo to 2.5.8 by @nimarb in #9337
- fix: Accept any 2xx status for webhooks by @marcklingen in #9439
- test(llm-connections): add tests for all adapters by @hassiebp in #9423
- fix: add current datetime to ai filter prompt by @marcklingen in #9445
- chore: upgrade golang migrate 4.19.0 by @maxdeichmann in #9444
- fix(trace-ui): make row label sticky for long cells by @nimarb in #9454
- fix(otel): completion start time parsing to handle JSON stringified values by @hassiebp in #9455
New Contributors
Full Changelog: v3.113.0...v3.114.0
v3.113.0
What's Changed
Featuers
- feat(billing): new billing setup by @FroeMic in #9053
- feat: show last authentication method on login by @leoweigand in #9194
- feat(billing): show active promotion codes in billing settings #9210 by @FroeMic in #9221
- feat(billing): Allow past subscribers see their invoices by @FroeMic in #9232
- feat: improved time range filtering by @leoweigand in #9252
- feat(billing): Add option to add discount code to active subscriptions from settings menu by @FroeMic in #9235
- feat(otel): add llm.response.model parsing by @hassiebp in #9261
- feat(datasets): support filtering on per-run-basis in compare table by @marliessophie in #9098
- feat(ui): add search bar to members table by @marcklingen in #9339
- feat(score-configs): support mutability by @marliessophie in #9218
- feat(playground): add support for claude sonnet 4.5 by @nimarb in #9410
Fixes / Improvements
- fix(experiments-ui): resolve composed prompts for prompt-experiment setup by @marliessophie in #9211
- fix: include session scores in posthog export by @Steffen911 in #9214
- fix(experiment-form-ui): prevent event bubbling from embedded form submission handlers by @marliessophie in #9215
- chore(single-trace): make tree a little more dense and allow click everywhere by @leoweigand in #9183
- chore(billing): Update price label for core plan by @FroeMic in #9216
- chore: update sdk-api-spec bot by @hassiebp in #9222
- chore: update sdk-api-spec bot for js sdk by @hassiebp in #9226
- chore(sdk-api-spec-bot): auto add reviewer by @hassiebp in #9227
- chore: run sdk-api-spec-bot on changes in fern dir only by @hassiebp in #9229
- fix(billing): automatically cancel and invoice stripe subscriptions when an org is deleted by @FroeMic in #9228
- fix(trpc): show toast on trpc error to user by @nimarb in #9231
- fix: improve error message for CH memory issues on public API by @sumerman in #9191
- fix(otel-ingest): don't overwrite trace metadata->attributes from new observation by @nimarb in #9247
- style: Fix grammar of org invite email subject by @awilfox in #9239
- fix: ensure cases when CH outputs an error as a row are handled by @sumerman in #9238
- style(experiments-compare): sort scores alphabetically in cell by @marliessophie in #9253
- fix(dataset-runs): during loading states render skeletons for charts by @marliessophie in #9258
- chore: upgrade axios by @maxdeichmann in #9265
- fix(billing): Avoid 500s through uninitialized stripe client in dev environment by @FroeMic in #9276
- chore: enable turborepo by @maxdeichmann in #9275
- fix(billing): Hide promotion code for hobby plan users by @FroeMic in #9286
- chore: remove hosting of ..-in-the-middle packages by @maxdeichmann in #9288
- chore(cloud): limit org members to 2 on free plan to be in line with pricing/packaging by @marcklingen in #9291
- fix(billing): Add delimiting line to support emails by @FroeMic in #9292
- fix(models): drop preview from gemini-2.5-flash-lite by @hassiebp in #9299
- fix(llm-tools-and-schemas): allow periods in names by @hassiebp in #9296
- perf: remove unused join for job exec status aggregation by @Steffen911 in #9230
- fix(billing): Fix base-fee aggregation for legacy billing by @FroeMic in #9328
- fix(otel-mapper): null model props shouldn't cause map to generation by @nimarb in #9308
- perf: avoid updates on session ingest by @Steffen911 in #9392
- fix: always respect to in date range filters by @leoweigand in #9393
- chore: update clickhouse writer batch size by @maxdeichmann in #9396
- chore: use otel ingestion queue by default by @Steffen911 in #9397
- chore: enable browser logs in terminal by @nimarb in #8935
- fix(billing): Fix invoice table decimal display by @FroeMic in #9399
- fix(prompts): don't throw on prompt deletion message by @nimarb in #9387
- chore: filter browser extensions from sentry errors by @nimarb in #9405
- chore: do not upgrade to postgres 18 by @maxdeichmann in #9407
New Contributors
Full Changelog: v3.112.0...v3.113.0
v3.112.0
What's Changed
Features
- feat(api): GET /scores support for filtering by sessionId by @marliessophie in #9176
Fixes
- fix(datasets): graphs not readable in dark mode by @nimarb in #9132
- docs: add note re otel to ingestion endpoint api reference by @marcklingen in #9135
- perf: drop final on check trace exists by @Steffen911 in #9117
- fix(ingestion-service): skip tokenization for obs level ERROR by @hassiebp in #9133
- fix: fetch environment options from raw data by @Steffen911 in #9141
- fix(tables): cmd+click opens traces and observations in a new tab by @leoweigand in #9161
- docs: mention SLACK_STATE_SECRET env var as a required one by @ajatprabha in #9121
- fix(llm-completion): add transformations for providers requiring a user message by @marliessophie in #9162
- fix(trace-ui): don't render markdown if content too big by @nimarb in #9190
- fix(llm): OpenAI llm completion reasoning model checks and token adjustments by @marliessophie in #9174
- fix(datasets): update score filters to handle empty run lists in DatasetRunsTable and DatasetCompare components by @marliessophie in #9209
Chores
- chore: add sdk-api-spec bot by @hassiebp in #9184
- chore: add sdk-api-spec bot by @hassiebp in #9187
- chore: switch docker compose cluster to bitnami legacy by @Steffen911 in #9188
- chore: add sdk-api-spec bot by @hassiebp in #9192
- chore: add sdk-api-spec bot by @hassiebp in #9193
- chore: update sdk-api-spec bot by @hassiebp in #9195
- chore: update sdk-api-spec bot by @hassiebp in #9197
- chore: update fern python generator by @hassiebp in #9203
- chore: upgrade sentry v8 -> v10 by @nimarb in #8934
- chore: move readme images to github assets by @marcklingen in #9142
- chore: add debugging log for invalid start_time in batch exports by @Steffen911 in #9150
- chore(cloud): remove eval count limit from hobby/free plan by @marcklingen in #9158
New Contributors
- @ajatprabha made their first contribution in #9121
Full Changelog: v3.111.0...v3.112.0
v3.111.0
What's Changed
Feat
- feat(support):Include ticket id in email subject by @marcklingen in #8991
- feat: export non-trace scores via posthog integration by @Steffen911 in #9103
Chore
- chore(cloud): switch to in-app support for sso setup to replace email by @marcklingen in #9086
- chore: bump langchain anthropic by @hassiebp in #9087
- chore: move reads to read replica by @maxdeichmann in #9091
- chore: increase default throughput on create eval queue by @Steffen911 in #9108
- chore: upgrade posthog repository by @maxdeichmann in #9126
- chore: Check tracing configuration for data retention by @maxdeichmann in #9045
Fix
- fix(otel): Make sure we do not process empty otel events by @sumerman in #9082
- fix(quickstart): update langchain js import by @hassiebp in #9093
- fix(design-system): hover card layering by @leoweigand in #9106
- fix(table): tags wrapping and being cropped by @leoweigand in #9107
Docs
- docs: update dependency list in readme by @marcklingen in #9102
Perf
- perf: move more endpoints to read only by @maxdeichmann in #9105
New Contributors
Full Changelog: v3.110.0...v3.111.0
v3.110.0
What's Changed
Features
- feat(dataset-run-items): pin dataset item id column in ui table by @marliessophie in #9040
- feat(sessions): add trace detail peek view and clean up layout by @leoweigand in #9042
- feat(ui): add notification card for JS SDK v4 GA by @jannikmaierhoefer in #9022
- feat: add api endpoint to configure blob storage integration by @Steffen911 in #9047
- feat: add gcp vertex tool inputs and outputs on otel spans by @Steffen911 in #9074
Fixes
- fix(otel): add root span metadata to trace by @hassiebp in #9054
- fix(tooltip): portal content by @leoweigand in #9055
- fix(ui): remove slack support from pro tier by @jannikmaierhoefer in #9059
- fix(ui): update JS/TS SDK v4 notification by @jannikmaierhoefer in #9064
- fix(peek): safe parse runs url parameter in compare data hook by @marliessophie in #9073
Performance
- perf: add a global concurrency limit to the createEvalQueue by @Steffen911 in #9077
Chores
- chore: avoid otel alerts about public key mismatch on worker by @Steffen911 in #9063
- chore(worker): Move nodemon to tsx for reloads from packages/shared by @ksjogo in #8801
Full Changelog: v3.109.0...v3.110.0
v3.109.0
What's Changed
Feat
- feat(dataset-runs-ui): fix select and name columns on y-/x-scroll by @marliessophie in #8967
- feat(table-ui): pin all select columns for y-/x-overflow by @marliessophie in #8981
- feat(dataset-run-metrics): add total cost column to dataset runs table by @marliessophie in #8970
- feat: allow custom select filters in dashboard widget flow by @Steffen911 in #8995
- feat(tables-ui): pin columns in annotation and prompt metrics tables by @marliessophie in #9021
- feat(dataset-run-items-ui): support score filters in UI table by @marliessophie in #8993
Fix
- fix(trace-detail): nested observations not expanded in timeline by @leoweigand in #8965
- fix(table-column-visibilty): show fixed position columns as unmoveable in visibility drawer by @marliessophie in #8968
- fix(support): improve context in initial support email by @FroeMic in #8966
- fix(dataset-run-items): depend on stable trpc properties by @marliessophie in #8973
- fix: use set utility for seen traces to fix cluster slot detection by @Steffen911 in #8990
- fix(quickstart): update js examples by @hassiebp in #8918
- fix(dataset-router): correct datasetItemIds value assignment in dataset filtering logic by @marliessophie in #8997
- fix: add explicit session_id alias in ClickHouse session_data CTE by @Lance726 in #9008
- fix(otel): handle event observation type by @hassiebp in #9012
- fix(auth): on unsuccessful password-reset attempts (wrong OTP) delete verification tokens in db to reduce enumeration risk by @marcklingen in #9009
- fix: rename protectedprocedure by @maxdeichmann in #9026
- fix: require admin api key for background migration retries in OSS by @maxdeichmann in #9028
Chore
- chore: decouple upload file from url signing in storage service by @hcadioli in #8878
- chore: add email to auth span by @maxdeichmann in #9006
- chore(peek): remove polling logic and dependency on table state from peek implementation by @marliessophie in #8885
- chore: fix password reset setup docs link by @marcklingen in #9020
- chore(cloud): allow selection of HIPAA cloud region on sign-in/sign-up page by @marcklingen in #9024
- chore: disallow background migrations on langfuse cloud by @maxdeichmann in #9027
- chore: ip allowlist for webhooks by @6matt in #8977
Style
- style(dataset-table-ui): reposition columns for run items making IO more prominent; drop repetitive columns by @marliessophie in #8983
- style: increase tooltip and sidebar toggle z-index by @marliessophie in #9035
New Contributors
- @hcadioli made their first contribution in #8878
- @Lance726 made their first contribution in #9008
- @6matt made their first contribution in #8977
Full Changelog: v3.108.0...v3.109.0
v3.108.0
What's Changed
Features
- feat(support): revamp in-app support experience by @FroeMic in #8875
- feat(agent-graphs): styling improvements by @nimarb in #8917
- feat(support): Send acknowledgement email to user on thread create by @FroeMic in #8950
- feat(github-discussions): add structured form by @jannikmaierhoefer in #8953
Fixes / Improvements
- ci: remove pr title check from merge_queue by @marcklingen in #8904
- fix(support): ensure correct assignment of tenant id by @FroeMic in #8909
- chore: upgrade to nextjs 15 & react 19 by @nimarb in #8861
- fix(ci): specify types tightly to not block merge queue by @nimarb in #8916
- build: add caches to CI pipeline by @Steffen911 in #8634
- fix(users-table): metrics to include full observation count by @hassiebp in #8914
- fix: make redis recently-processed cache cluster-safe by @Steffen911 in #8915
- fix(trace): jumptoplayground can cause infinite loop by @nimarb in #8922
- chore: terminate tokenizer workers before freeing them from memory by @Steffen911 in #8925
- fix(traces): tag assignment opening trace detail by @leoweigand in #8928
- fix(dataset-run-items): pagination for single dataset run detail view by @marliessophie in #8927
- fix(prompts): variables broken when copying prompt content by @leoweigand in #8931
- fix(prompts): clicking dataset run crashes ui by @nimarb in #8926
- perf: upload otel ingestion payloads as batch to blob storage by @Steffen911 in #8893
- chore: improve billing portal navigation, 2 buttons to make it more obvious by @marcklingen in #8921
- fix(trace-ui): make tracetree scrollable again by @nimarb in #8936
- fix(trace-timeline): cannot select items other than the first 2 by @nimarb in #8939
- chore: revert turbo cache by @maxdeichmann in #8938
- fix(support): improve form error and add new topic category by @FroeMic in #8941
- fix(home): home screen dashboard text in darkmode barely visible by @nimarb in #8946
- perf(dataset-runs-metrics): utilise trace_id bloom filter in filtered observations by @marliessophie in #8947
- style(dataset-run-items): enhance dataset run name display by @marliessophie in #8948
- chore(dataset-run-items): clean up deprecated code by @marliessophie in #8949
- fix(home): home screen dashboard text in darkmode barely visible 2 by @nimarb in #8951
- fix(home): chart axis in dark mode by @nimarb in #8955
- fix(tracing): spacings on single user page by @leoweigand in #8954
- fix(playground): show user-friendly toast notification for JSON prettification; do not report to sentry by @marliessophie in #8957
- fix(home): dashboard dark mode score analysis graph by @nimarb in #8961
- chore: skip otel processing on empty batch by @Steffen911 in #8964
New Contributors
Full Changelog: v3.107.0...v3.108.0
v3.107.0
What's Changed
Features
- feat(table-ui): filter score columns to show score only if has value for given table by @marliessophie in #8865
Fixes
- chore: add env note to review.md by @marcklingen in #8888
- perf: move tokenization in worker to worker thread by @Steffen911 in #8554
- fix(ci): attempt fix title checker prevented push to docker by @nimarb in #8892
Full Changelog: v3.106.4...v3.107.0
v3.106.4
What's Changed
- Map gen_ai.input/output.messages to input/output by @verdie-g in #8813
- ci: check pr title for conventional commit by @marcklingen in #8862
- chore: move obsevation type setting override to mapper by @nimarb in #8714
- feat(single-trace): add copy button on value cell of json view by @nimarb in #8871
- fix: use leftUTF8 for input/output truncation on clickhouse by @Steffen911 in #8869
- fix(trace-detail): guard against zero latency in trace tree by @leoweigand in #8874
- chore: patch flaky trace repository test by @Steffen911 in #8870
- chore: bump dd-trace to 5.65.0 by @Steffen911 in #8882
- fix(prompts): subfolders hiding prompts by @nimarb in #8876
- fix(trace-single-ui): fix unavailable ref by @nimarb in #8883
New Contributors
Full Changelog: v3.106.3...v3.106.4