Skip to content

feat!: remove endpoints deprecated in Langfuse v4 - #49

Merged
Steffen911 merged 1 commit into
mainfrom
claude/langfuse-java-deprecated-endpoints-d985e9
Aug 24, 2026
Merged

feat!: remove endpoints deprecated in Langfuse v4#49
Steffen911 merged 1 commit into
mainfrom
claude/langfuse-java-deprecated-endpoints-d985e9

Conversation

@Steffen911

Copy link
Copy Markdown
Member

Langfuse v4 moves to an observations-first data model, and the endpoints built on the v3 model are deprecated: Langfuse Cloud serves them until November 16, 2026, and self-hosted deployments lose them on upgrade to v4. This prunes them from the generated client so it only exposes the API surface that survives the cutover.

Removed entirely (every endpoint deprecated):

ingestion POST /ingestion
observations GET /observations, /observations/{id}
metrics GET /metrics (v1)
sessions GET /sessions, /sessions/{id}
scorev2 GET /v2/scores, /v2/scores/{id}
datasetrunitems POST/GET /dataset-run-items

Pruned to the non-deprecated operations:

trace dropped get()/list(), kept delete()/deleteMultiple() — trace
deletion is not deprecated and is now the documented way to
delete experiment data
datasets dropped getRun()/deleteRun()/getRuns(), kept the /v2/datasets
operations

Also drops the 34 types under resources/commons/types that the removal orphaned (the v3-model read models: Trace*, Session*, Observation, ObservationsView, the Score/ScoreV1 unions, DatasetRun*, Usage) and unwires the six clients from LangfuseClient/AsyncLangfuseClient. Orphan status was verified with an import-graph reachability pass and diffed against HEAD so pre-existing orphans stayed out of scope.

Score writes are unaffected: POST /scores and DELETE /scores/{scoreId} stay supported after the cutover. Only score reads move to /v3/scores.

The README now leads with OpenTelemetry as the recommended and going-forward only supported path for tracing, and documents the per-endpoint migration mapping. It also records that the prune has to be re-applied after each regeneration, since the generator reproduces deprecated endpoints.

Langfuse v4 moves to an observations-first data model, and the endpoints
built on the v3 model are deprecated: Langfuse Cloud serves them until
November 16, 2026, and self-hosted deployments lose them on upgrade to v4.
This prunes them from the generated client so it only exposes the API
surface that survives the cutover.

Removed entirely (every endpoint deprecated):

  ingestion         POST /ingestion
  observations      GET /observations, /observations/{id}
  metrics           GET /metrics (v1)
  sessions          GET /sessions, /sessions/{id}
  scorev2           GET /v2/scores, /v2/scores/{id}
  datasetrunitems   POST/GET /dataset-run-items

Pruned to the non-deprecated operations:

  trace       dropped get()/list(), kept delete()/deleteMultiple() — trace
              deletion is not deprecated and is now the documented way to
              delete experiment data
  datasets    dropped getRun()/deleteRun()/getRuns(), kept the /v2/datasets
              operations

Also drops the 34 types under resources/commons/types that the removal
orphaned (the v3-model read models: Trace*, Session*, Observation,
ObservationsView, the Score/ScoreV1 unions, DatasetRun*, Usage) and unwires
the six clients from LangfuseClient/AsyncLangfuseClient. Orphan status was
verified with an import-graph reachability pass and diffed against HEAD so
pre-existing orphans stayed out of scope.

Score writes are unaffected: POST /scores and DELETE /scores/{scoreId} stay
supported after the cutover. Only score reads move to /v3/scores.

The README now leads with OpenTelemetry as the recommended and going-forward
only supported path for tracing, and documents the per-endpoint migration
mapping. It also records that the prune has to be re-applied after each
regeneration, since the generator reproduces deprecated endpoints.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Steffen911
Steffen911 merged commit 982aa48 into main Aug 24, 2026
6 checks passed
@Steffen911
Steffen911 deleted the claude/langfuse-java-deprecated-endpoints-d985e9 branch August 24, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant