github langfuse/langfuse v4.77.0

one hour ago

What's Changed

Features

  • feat(topics): proper cost tracking for executions by @nimarb in #19432
  • feat(external-media-storage): make external media storage an enterprise feature by @wochinge in #19778
  • feat(web): use Langfuse by ClickHouse logo in the app shell and auth screens by @marcklingen in #19740
  • feat(ai-gateway): add Amazon Bedrock upstream with API key auth by @wochinge in #19732
  • feat(skills): open Markdown file links in the editor by @tobi12345 in #19822
  • feat(ai-gateway): size the memory budget from the cgroup limit by @hassiebp in #19813
  • feat(ingestion): compute event size in ClickHouse by @sumerman in #19727
  • feat(topics): run per-trace Topics summaries on their own queue by @LysanderKie in #19397
  • feat(ai-gateway): custom base URLs and extra headers for OpenAI and Anthropic connections by @wochinge in #19768
  • feat(halo): load complete skill bundles through Mastra SkillSource by @tobi12345 in #19791
  • perf(ai-gateway): pre-connect web clients before reporting ready by @wochinge in #19848
  • feat(api): point legacy traces deprecation at the per-trace recipe by @niklassemmler in #19844
  • feat(events-dispatch): store transcripts and enqueue per-trace Topics jobs from recorded rules by @LysanderKie in #19797
  • feat(ui): guide users to submit missing token usage by @sumerman in #19803
  • perf(ai-gateway): re-render only the toggled model row by @wochinge in #19858
  • feat(worker): stop inferring observation usage from content by @sumerman in #19802
  • feat(external-media-storage): support IAM role auth for Amazon S3 buckets by @wochinge in #19721
  • feat(events-dispatch): optionally read and store every dispatched trace by @LysanderKie in #19850
  • feat(web): top banner for legacy v3 usage on Langfuse Cloud by @maxdeichmann in #19591
  • feat(blob-storage): support IAM role auth for Amazon S3 exports by @wochinge in #19723
  • feat(monitors): show the metric value and unit in alert messages by @marksalpeter in #19872
  • feat(ai-gateway): show model routes as badges with overflow by @wochinge in #19876
  • feat: Add support for project_id by @jordibosch20 in #19860
  • feat(audit-logs): record read-access events for public API list routes by @Steffen911 in #19758
  • feat(events-dispatch): trace each job separately with its read shape by @LysanderKie in #19890
  • feat(web): AI Gateway sidebar section and org landing by @wochinge in #19888
  • feat(normalized-io): improve langchain normalization by @marliessophie in #19019

Fixes

  • fix(sessions): Session tab in trace ui improvements by @bezbac in #19786
  • fix(web): badge colours follow one naming and border rule by @nmtrang29 in #19317
  • fix(web): load score configs for read-only users by @marliessophie in #19837
  • fix(monitors): carry alert filters to the observations data link by @marksalpeter in #19781
  • fix(analytics): keep ids and names out of app landing paths, read gbraid and wbraid by @AbdallahAHO in #19799
  • fix(web): keep switcher names out of session replay by @nkabardin in #19827
  • fix(web): escape header row when exporting widget chart data as CSV by @rajatnagda45 in #18128
  • fix(dashboards): show a scroll fade on overflowing chart lists (LFE-16442) by @nkabardin in #19818
  • fix(storage-role-auth): make the trust policy copyable before the external ID is shown by @wochinge in #19871
  • fix(web): show trace-level CORRECTION scores in the single-trace UI by @marliessophie in #19700
  • fix(query-ast): bind a tuple element of a lambda parameter by value by @niklassemmler in #19885
  • fix(prompts): ignore empty all-of/none-of array filters in Postgres filters by @wochinge in #19903
  • fix(worker): truncate oversized score fields in PostHog and Mixpanel exports by @niklassemmler in #19798
  • fix(dashboards): skip WITH FILL when fill bounds would overflow ClickHouse DateTime by @niklassemmler in #19886
  • fix(dashboards): exclude deleted scores from the scores join when FINAL is skipped by @niklassemmler in #19884
  • fix(ai-gateway): block custom base URLs from session replay by @wochinge in #19919
  • fix(evals): block evaluators on a bare HTTP 403 like Topics does by @wochinge in #19940
  • fix(query-ast): parenthesise the existing condition when injecting tenancy and soft-delete filters by @niklassemmler in #19918
  • fix(query-ast): always qualify the tenancy-injected project_id by @niklassemmler in #19946
  • fix(ai-gateway): label the provider card refresh action as refreshing models by @wochinge in #19952

Chores

  • test(skills): cover tenant isolation and viewer write denials by @tobi12345 in #19819
  • chore(deps): bump posthog-js to 1.444.0 and posthog-node to 5.61.1 by @AbdallahAHO in #19800
  • chore(agentmd): prune for topics by @nimarb in #19811
  • refactor(web): remove eslint disables from UsersTable by @cursor[bot] in #19838
  • test(shared): cover external media storage allowed-hosts mode by @wochinge in #19839
  • test(ai-gateway): cover cross-organization and missing-scope calls to the model test route by @wochinge in #19841
  • test(shared): golden SQL snapshots for metrics v2 score views by @niklassemmler in #19843
  • test(query-ast): record golden SQL baselines for v2 observations dashboard view by @niklassemmler in #19812
  • chore(topics): drop trace target compatibility read by @marliessophie in #19792
  • chore(worker): remove background tokenizer pool by @sumerman in #19846
  • chore(clickhouse): label id, session, time-range and project scans in query_shape by @niklassemmler in #19881
  • refactor(storage): pass a single credentials object to StorageServiceFactory by @wochinge in #19882
  • test(shared): drop isEnrichedBlobExportAvailable deletion guard by @nkabardin in #19801
  • test(worker): drop duplicate silent score-batch reject by @nkabardin in #19892
  • refactor(web): search bar adapter also emits a shared Predicate by @niklassemmler in #19849
  • chore(query-ast): add a WHERE-only condition compiler and metadata-aware events routing by @niklassemmler in #19806
  • ci: mask generated AI gateway signing secrets in e2e job logs by @wochinge in #19937
  • ci: drop pipeline.yml from the AI gateway e2e path filter by @wochinge in #19938
  • test(ai-gateway): cover private-network destinations on custom endpoint routes by @wochinge in #19921
  • test(blob-storage): cover cross-project and missing-scope external ID reads by @wochinge in #19920
  • test(ai-gateway): reject forbidden extra headers on every connection route by @wochinge in #19922
  • fix(ci): recompile agentic workflows with gh-aw v1.0.1 to ride out release download outages by @wochinge in #19939
  • chore(query-ast): lower events predicates to Kysely with a FilterList-equivalent SQL bridge by @niklassemmler in #19793

New Contributors

Full Changelog: v4.76.0...v4.77.0

Don't miss a new langfuse release

NewReleases is sending notifications on new releases.