NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1191 most downloaded on PyPI
Kubeflow Pipelines SDK
Last release 2 months ago
09 Jul 2026
Ships fairly regularly
a new release about every 2 months
Most releases are documented
notes for 53 of the last 60 stable releases
9 versions withdrawn
withdrawn after publishing
8 years old
155 releases · first in 2019
pip install kfp-pipeline-spec==2.15.0 pip install kfp-server-api==2.15.0 pip install kfp==2.15.0 pip install kfp-kubernetes==2.15.0
Release of:
To install the KFP SDK:
pip install kfp-pipeline-spec==2.15.0
pip install kfp-server-api==2.15.0
pip install kfp==2.15.0
pip install kfp-kubernetes==2.15.0For changelog, see KFP 2.15.0 Changelog for release notes.
This release of KFP introduces several notable changes that users should consider prior to upgrading. Comprehensive upgrade and documentation notes will follow shortly. In the interim, please note the following key modifications:
For a complete overview of new features and associated changes, please consult the official release notes.
actions/checkout@v5 consistently by @hbelmiro in #12121Note truncated.
One column per quarter.
network and psc_interface_config in custom job spec from GCPC SDKactions/checkout@v5 consistently (#12121)additional_funcs argument to the component decorator;
functions are embedded into the generated component code before the main function (#12178).sdk: chore: remove pin on protobuf 6 ver & use requirements.in for kfp-k8s and spec
sdk: fix: include requirements files in python sdist
chore: release 2.14.4 by @HumairAK in https://github.com/kubeflow/pipelines/pull/12299
Full Changelog: https://github.com/kubeflow/pipelines/compare/2.14.3...2.14.4
fix(sdk): Set spec.description when compiling to Kubernetes manifests (kubeflow#12132)
Full Changelog: https://github.com/kubeflow/pipelines/compare/2.14.0...2.14.3
Nothing published for this version
Nothing published for this version
feat(sdk): add upload pipeline and upload pipeline version from pipeline function
## Features ## Breaking changes ## Deprecations ## Bug fixes and other changes
Depends on kfp-server-api>=2.1.0,<2.5.0 \#11685
kfp-server-api>=2.1.0,<2.5.0 #11685Add support for placeholders in resource limits \#11501
Expose --existing-token flag in kfp CLI to allow users to provide an existing token for authentication. \#11400
--existing-token flag in kfp CLI to allow users to provide an existing token for authentication. #11400kfp-pipeline-spec==0.6.0. #11447Remove kfp.deprecated module \#11366
Deprecate the metrics artifact auto-populating feature. \#11362
use_venv field to the component decorator, enabling the component to run inside a virtual environment. #11326Kfp support for pip trusted host #11151
Support dynamic machine type parameters in CustomTrainingJobOp. \#10883
Support local execution of sequential pipelines \#10423
dsl.importer components #10431dsl.ParallelFor over list of Artifacts #10441dsl.OneOf with multiple consumers cannot be compiled #10452Soft breaking change for Protobuf 3 EOL. Migrate to protobuf==4. Drop support for protobuf==3. \#10307
protobuf==4. Drop support for protobuf==3. #10307fix(backend): upgrade go version to 1.22.12 to fix CVE-2024-45336 by @dandawg in https://github.com/kubeflow/pipelines/pull/11631
comment body by @lociko in https://github.com/kubeflow/pipelines/pull/11772collect-logs.sh path by @hbelmiro in https://github.com/kubeflow/pipelines/pull/11775kubectl get pods to logs when waiting for pods to get ready by @hbelmiro in https://github.com/kubeflow/pipelines/pull/11779set_container_image works with dynamic images by @sradc in https://github.com/kubeflow/pipelines/pull/11795Full Changelog: https://github.com/kubeflow/pipelines/compare/2.4.1...2.5.0
comment body (#11772) (95c3f2c)dsl.PIPELINE_TASK_EXECUTOR_OUTPUT_PATH_PLACEHOLDER and dsl.PIPELINE_TASK_EXECUTOR_INPUT_PLACEHOLDER #10240local.init(), DockerRunner, and SubprocessRunnerreplaced deprecated image repos with registry.k8s.io by @HumairAK in https://github.com/kubeflow/pipelines/pull/11152
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here
Install python SDK (python 3.9 above) by running:
python3 -m pip install kfp kfp-server-api --upgrade
See the Change Log
Full Changelog: https://github.com/kubeflow/pipelines/compare/2.3.0...2.4.0
dsl.OneOf #10067dsl.ParallelFor sub-DAG output when a dsl.Collected is used. Non-functional fix. #10069dsl.importer argument is provided by a dsl.ParallelFor loop variable. #10116docs(backend): Remove deprecated v2 compatibility mode docs by @droctothorpe in https://github.com/kubeflow/pipelines/pull/10956
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here or via UI here
Install python SDK (python 3.7 above) by running:
python3 -m pip install kfp kfp-server-api --upgrade
See the Change Log
autorater_prompt_parameters to online_evaluation_pairwise component by @copybara-service in https://github.com/kubeflow/pipelines/pull/10759kfp-runtime-tests to run on master branch by @hbelmiro in https://github.com/kubeflow/pipelines/pull/11158Full Changelog: https://github.com/kubeflow/pipelines/compare/2.2.0...2.3.0
autorater_prompt_parameters to online_evaluation_pairwise component (cf7450b)PipelineTaskFinalStatus in tasks that use .ignore_upstream_failure() #10010To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here or via UI here
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here or via UI here
Install python SDK (python 3.7 above) by running:
python3 -m pip install kfp kfp-server-api --upgrade
See the Change Log
preview.llm.rlhf_pipeline in real time by @copybara-service in https://github.com/kubeflow/pipelines/pull/10595preview.llm pipelines by @copybara-service in https://github.com/kubeflow/pipelines/pull/10616preview.llm.rlhf_pipeline runs if no tensorboard_id is provided by @copybara-service in https://github.com/kubeflow/pipelines/pull/10626text and chat variants of bison@001 with the preview.llm.rlhf_pipeline by @copybara-service in https://github.com/kubeflow/pipelines/pull/10663t5-xxl with the preview.llm.rlhf_pipeline by @copybara-service in https://github.com/kubeflow/pipelines/pull/10665kfp-kubernetes 1.2.0 by @connor-mccarthy in https://github.com/kubeflow/pipelines/pull/10692kfp-kubernetes release instructions public by @connor-mccarthy in https://github.com/kubeflow/pipelines/pull/10693preview.llm.rlhf_pipeline by @copybara-service in https://github.com/kubeflow/pipelines/pull/10710Full Changelog: https://github.com/kubeflow/pipelines/compare/2.1.0...2.2.0
preview.llm.rlhf_pipeline (22a98d9)preview.llm.rlhf_pipeline in real time (3d8069b)t5-xxl with the preview.llm.rlhf_pipeline (ff7f660)text and chat variants of bison@001 with the preview.llm.rlhf_pipeline (ac39931)preview.llm.rlhf_pipeline runs if no tensorboard_id is provided (ff0d0a7)Nothing published for this version
Nothing published for this version
Nothing published for this version
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here or via UI here
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here or via UI here
Install python SDK (python 3.7 above) by running:
python3 -m pip install kfp kfp-server-api --upgrade
See the Change Log
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here or via UI here
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here or via UI here
Install python SDK (python 3.7 above) by running:
python3 -m pip install kfp kfp-server-api --upgrade
See the Change Log
kfp.client (#7458)dsl.PipelineTaskFinalStatus type (#9082) (7890227)TASK_FINAL_STATUS parameter type (#9080) (c01288d)data-filter-split feature back to the ImageTrainingJOb component which was removed previously (4a4a968)kfp-pipeline-spec package (#8896) (643f421)kfp-kubernetes library (#8950) (0c11cce)kfp-kubernetes (#8982) (c8cb5b5)dsl.ParallelFor (#8631) (b575950)KFP SDK 2.0.0 release notes are distilled to emphasize high-level improvements in major version 2. See preceding 2.x.x pre-release notes for a more comprehensive list.
Also see the KFP SDK v1 to v2 migration guide.
The KFP SDK 2.0.0 release contains features present in the KFP SDK v1's v2 namespace along with considerable additional functionality. A selection of these features include:
Selected contributions from pre-releases:
@component decorator for Python components #6825load_component_from_* #6822importer #7112list_pipeline_versions client method #7223PipelineTaskFinalStatus #7309kfp.client.Client #7239, #7563, #7562, #7463, #7835ParallelFor #8146google.-namespaced artifact types #8191, #8232, #8233, #8279importer metadata #7660kfp component build #8387then and else_ arguments to IfPresentPlaceholder #8414dsl.ParallelFor context using dsl.Collected.ignore_upstream_failure() on PipelineTask #8838display_name and description in @dsl.pipeline decorator #9153See the KFP SDK v1 to v2 migration guide.
--engine when building components #7559@dsl.component's output_component_file parameter in favor of compilation via the main Compiler #7554*_job methods in favor of *_recurring_run methods #9112.set_gpu_limit in favor of .set_accelerator_limit #8836.add_node_selector_constraint in favor of .set_accelerator_type #8980kfp component build generates runtime-requirements.txt #8372IfPresentPlaceholder and ConcatPlaceholder authoring #8414kfp==2.0.0b8], #8607@pipeline decorator instead of Compiler.compile() method.
Technically no breaking changes but compilation error could be exposed in a different (and earlier) stage #8179isOptional field to IR #8612Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.7 above) by running:
python3 -m pip install kfp-server-api==2.0.0-rc.2 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
dsl.PipelineTaskFinalStatus type (#9082) (7890227)StateHistory in task table. Fixes: #9553 (#9554) (0d53de7)gopkg.in/yaml.v3 to fix boolean support. Fixes #9451 (#9473) (4810b7a)kubernetes version requirement from kubernetes>=8.0.0,<24 to kubernetes>=8.0.0,<27 #9545dsl.ParallelFor loop #9580Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.7 above) by running:
python3 -m pip install kfp-server-api==2.0.0-rc.1 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
TASK_FINAL_STATUS parameter type (#9080) (c01288d)Depends on kfp-server-api==2.0.0b2 \#9355
kfp-server-api==2.0.0b2 #9355Allow user to specify platform when building container components \#9212
Support display_name and description in @dsl.pipeline decorator \#9153
Deprecate .add_node_selector_constraint in favor of .set_accelerator_type \#8980
pip_index_urls is now considered also for containerized python component - the urls will be used for Dockerfile generation #8871List[str], typing.List[str], Dict[str], typing.Dict[str, str] #9041Deprecate pipeline task .set_gpu_limit in favor of .set_accelerator_limit \#8836
dsl.ParallelFor context using dsl.Collected #8808.set_gpu_limit in favor of .set_accelerator_limit #8836Support fanning-in parameter outputs from a task in a dsl.ParallelFor context using dsl.Collected \#8631
Accepts PyYAML<7 in addition to PyYAML>=5.3,<6 \#8665
Fully support optional parameter inputs by writing isOptional field to IR \#8612
isOptional field to IR #8612Add comments to IR YAML file \#8467
kfp==2.0.0b8], #8607## Features ## Breaking changes ## Deprecations ## Bug fixes and other changes * Fix client methods \#8507 ## Documentation updates
Add ability to skip building image when using kfp component build \#8387
kfp component build #8387then and else_ arguments to IfPresentPlaceholder #8414IfPresentPlaceholder and ConcatPlaceholder authoring #8414PipelineTask.set_gpu_limit reference docs #8477Fix NamedTuple output with Dict/List bug \#8316
kfp component build generates runtime-requirements.txt #8372Support google.-namespaced artifact types \#8191, \#8232, \#8233, \#8279
Pipeline compilation is now triggered from @pipeline decorator instead of Compiler.compile() method. Technically no breaking changes but compilation e…
@pipeline decorator instead of Compiler.compile() method.
Technically no breaking changes but compilation error could be exposed in a different (and earlier) stage. #8179Add support for ConcatPlaceholder and IfPresentPlaceholder in containerized component \#8145
Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.7 above) by running:
python3 -m pip install kfp-server-api==2.0.0-beta.2 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
client.run_pipeline with pipeline_id and version_id gives error (#9191) (91277b1)display_name and description in @dsl.pipeline decorator (#9153) (91abbea)Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.7 above) by running:
python3 -m pip install kfp-server-api==2.0.0-beta.1 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
data-filter-split feature back to the ImageTrainingJOb component which was removed previously (4a4a968)kfp-pipeline-spec package (#8896) (643f421)kfp-kubernetes library (#8950) (0c11cce)kfp-kubernetes (#8982) (c8cb5b5).dsl attribute on kfp module object (#9048) (0cbcebc)Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.7 above) by running:
python3 -m pip install kfp-server-api==2.0.0-beta.0 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
dsl.ParallelFor (#8631) (b575950)latest label. (#8448) (7138072)kfp dsl compile to compile components (#8371) (4cc0e80)kfp component build only produces empty requirements.txt (#8372) (54922b3)Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.7 above) by running:
python3 -m pip install kfp-server-api==2.0.0-alpha.5 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.7 above) by running:
python3 -m pip install kfp-server-api==2.0.0-alpha.4 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
npm run start (#8089) (369e14c)Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.7 above) by running:
python3 -m pip install kfp-server-api==2.0.0-alpha.3 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
study_spec_parameters_override parameter to Tables v1 and stage_1 component pipelines and update handling logic (7f886db)input_directionary_to_parameter in v1 Tables and component-specific pipelines only and read from executor_input instead (958a181).list_pipeline_versions and .unarchive_experiment methods to Client #7563kfp.client.Client #7562, #7463typing-extensions>=4,<5 in addition to typing-extensions>=3.7.4,<4 #7632pydantic #7639Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.6 above) by running:
python3 -m pip install kfp-server-api==2.0.0-alpha.2--upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
typing-extensions versions (#7632) (1118f48)eval_frequency_secs and eval_steps as separate inputs in the built-in algorithm HPT component (88e4066)kfp.client. #7458kfp-pipeline-spec>=0.1.14,<0.2.0 #7464google-cloud-storage>=2.2.1,<3 #7493Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.6 above) by running:
python3 -m pip install kfp-server-api==2.0.0-alpha.1 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
kfp.client (#7458)kfp.client (#7458) (dfc85b0)create_run_from_pipeline_func (#7500) (9e708b9)kfp-server-api>=2.0.0a0, <3 #7427Upgrade Notes with notices and breaking changes
To deploy Kubeflow Pipelines in an existing cluster, follow the instruction in here.
Install kfp-server-api package (python 3.6 above) by running:
python3 -m pip install kfp-server-api==2.0.0-alpha.0 --upgrade
Refer to:
NOTE, kfp python SDK is NOT included and released separately.
enable_job method to client (#7239) (e076434)@component component #6825enable_job method to client #7239google-auth>=1.6.1,<3 #6939typing-extensions>=3.7.4,<5; python_version<"3.9" #7288google-api-core>=1.31.5, >=2.3.2 #7377kfp components build command to work #7430Nothing published for this version
Nothing published for this version
To install the KFP SDK: `bash pip install kfp==1.8.22 ` For changelog, see release notes.
Release of the KFP SDK only.
To install the KFP SDK:
pip install kfp==1.8.22
For changelog, see release notes.
To install the KFP SDK: `bash pip install kfp==1.8.21 ` For changelog, see release notes.
Release of the KFP SDK only.
To install the KFP SDK:
pip install kfp==1.8.21
For changelog, see release notes.
To install the KFP SDK: `bash pip install kfp==1.8.20 ` For changelog, see release notes.
Release of the KFP SDK only.
To install the KFP SDK:
pip install kfp==1.8.20
For changelog, see release notes.
To install the KFP SDK: `bash pip install kfp==1.8.19 ` For changelog, see release notes.
Release of the KFP SDK only.
To install the KFP SDK:
pip install kfp==1.8.19
For changelog, see release notes.
To install the KFP SDK: `bash pip install kfp==1.8.18 ` For changelog, see release notes.
Release of the KFP SDK only.
To install the KFP SDK:
pip install kfp==1.8.18
For changelog, see release notes.
Your coding agent can read these notes before it upgrades. Set up the MCP server →