langfuse breaking changes
Every breaking API change we have recorded in langfuse on PyPI: 2,531 breaking changes in 8 versions. Below are its newest 6 versions, removals and renames first, each with its source.
Newest change October 30, 2026
On this page
5.1.0
- Removed
langfuse.api.client.UnstableClient.skills
UnstableClient.skills was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.client.AsyncSkillsClient
langfuse.api.unstable.client.AsyncSkillsClient was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.client.SkillsClient
langfuse.api.unstable.client.SkillsClient was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.CreateSkillVersionRequest
langfuse.api.unstable.CreateSkillVersionRequest was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.DeleteSkillVersionResponse
langfuse.api.unstable.DeleteSkillVersionResponse was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.SkillFile
langfuse.api.unstable.SkillFile was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.SkillFileContent
langfuse.api.unstable.SkillFileContent was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.SkillFileContentsResponse
langfuse.api.unstable.SkillFileContentsResponse was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.SkillListPagination
langfuse.api.unstable.SkillListPagination was removed in langfuse 5.1.0 pypi.org - Removed
langfuse.api.unstable.SkillMeta
langfuse.api.unstable.SkillMeta was removed in langfuse 5.1.0 pypi.org
And 24 more in this version.
5.0.3
- Signature changed
langfuse.RunnerContext.run_experiment
Was def run_experiment(self, *, name: str, run_name: Optional[str] = None, description: Optional[str] = None, data: Optional[ExperimentData] = None, task: TaskFunction, evaluators: List[EvaluatorFunction] = [], composite_evaluator... pypi.org
5.0.1
- Removed
The callback handler only supports langchain-core 1 or newer. Upgrade LangChain before using this release. github.com - Removed
v5 needs Python 3.11 or later; on Python 3.10, pip install langfuse installs the latest v4 instead. langfuse.com - Removed
Python 3.10 is no longer supported. Upgrade to Python 3.11 or newer before installing this release. github.com - Removed
The OpenAI integration now only works with OpenAI SDK 1.0 or newer. Upgrade the openai package before using this release. github.com - Removed
v5 does not support self-hosted Langfuse v3 or v4 before v4.59.0. Upgrade Langfuse first, or stay on Python SDK v4. langfuse.com - Removed
_additional_trace_tags
This private batch evaluation option no longer exists. github.com - Removed
blocked_instrumentation_scopes
blocked_instrumentation_scopes is gone. Use should_export_span instead. github.com - Removed
delete_dataset_run
This helper was removed because the endpoints it used are no longer served. Read experiment runs with langfuse.api.experiments.list() and list_items(). github.com - Removed
get_dataset_run
This helper was removed because the endpoints it used are no longer served. Read experiment runs with langfuse.api.experiments.list() and list_items(). github.com - Removed
get_dataset_runs
This helper was removed because the endpoints it used are no longer served. Read experiment runs with langfuse.api.experiments.list() and list_items(). github.com
And 210 more in this version.
4.18.0
- Removed
langfuse.api.evaluation_commons.types.string_object_evaluation_rule_filter.EvaluationRuleStringFilterOperator
langfuse.api.evaluation_commons.types.string_object_evaluation_rule_filter.EvaluationRuleStringFilterOperator was removed in langfuse 4.18.0 pypi.org - Removed
langfuse.api.evaluators.types.cursor_meta.UniversalBaseModel
langfuse.api.evaluators.types.cursor_meta.UniversalBaseModel was removed in langfuse 4.18.0 pypi.org - Removed
langfuse.api.experiments.types.experiments_response_meta.UniversalBaseModel
langfuse.api.experiments.types.experiments_response_meta.UniversalBaseModel was removed in langfuse 4.18.0 pypi.org - Removed
langfuse.api.observations.types.observations_v2meta.UniversalBaseModel
langfuse.api.observations.types.observations_v2meta.UniversalBaseModel was removed in langfuse 4.18.0 pypi.org - Removed
langfuse.api.scores_v3.types.get_scores_v3meta.UniversalBaseModel
langfuse.api.scores_v3.types.get_scores_v3meta.UniversalBaseModel was removed in langfuse 4.18.0 pypi.org - Signature changed
langfuse.api.BaseScore.metadata
Was metadata: typing.Any; now metadata: typing.Optional[typing.Dict[str, typing.Any]]. pypi.org - Signature changed
langfuse.api.BaseScoreV1.metadata
Was metadata: typing.Any; now metadata: typing.Optional[typing.Dict[str, typing.Any]]. pypi.org - Signature changed
langfuse.api.CursorMeta
Was class CursorMeta(UniversalBaseModel); now class CursorMeta(CursorMetaResponse). pypi.org - Signature changed
langfuse.api.Dataset.expected_output_schema
Was expected_output_schema: typing_extensions.Annotated[typing.Optional[typing.Any], FieldMetadata(alias=expectedOutputSchema)]; now expected_output_schema: typing_extensions.Annotated[typing.Optional[typing.Dict[str, typing.Any]]... pypi.org - Signature changed
langfuse.api.Dataset.input_schema
Was input_schema: typing_extensions.Annotated[typing.Optional[typing.Any], FieldMetadata(alias=inputSchema)]; now input_schema: typing_extensions.Annotated[typing.Optional[typing.Dict[str, typing.Any]], FieldMetadata(alias=inputSchema)]. pypi.org
And 22 more in this version.
4.16.0
- Default changed
The default OpenTelemetry exporter now caps batches at 64 MiB. Code that relied on the previous larger default batch size may see different batching. github.com
4.0.0
- Removed
langfuse.api.AnnotationQueue.Config.allow_population_by_field_name
langfuse.api.AnnotationQueue.Config.allow_population_by_field_name was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueue.Config.extra
langfuse.api.AnnotationQueue.Config.extra was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueue.Config.frozen
langfuse.api.AnnotationQueue.Config.frozen was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueue.Config.json_encoders
langfuse.api.AnnotationQueue.Config.json_encoders was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueue.Config.populate_by_name
langfuse.api.AnnotationQueue.Config.populate_by_name was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueue.Config.smart_union
langfuse.api.AnnotationQueue.Config.smart_union was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueueAssignmentRequest.Config.allow_population_by_field_name
langfuse.api.AnnotationQueueAssignmentRequest.Config.allow_population_by_field_name was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueueAssignmentRequest.Config.extra
langfuse.api.AnnotationQueueAssignmentRequest.Config.extra was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueueAssignmentRequest.Config.frozen
langfuse.api.AnnotationQueueAssignmentRequest.Config.frozen was removed in langfuse 4.0.0 pypi.org - Removed
langfuse.api.AnnotationQueueAssignmentRequest.Config.json_encoders
langfuse.api.AnnotationQueueAssignmentRequest.Config.json_encoders was removed in langfuse 4.0.0 pypi.org
And 2,099 more in this version.
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. A fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous maintenance.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcpCodex, Cursor and any MCP client use https://api.since.dev/mcp.