Repository navigation
·
20 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
This is Kubeflow SDK 0.5.0 release.
pip install kubeflow==0.5.0
Kubeflow SDK now supports PipelinesClient() for Kubeflow Pipelines APIs and SparkClient()
for interactive sessions and Spark batch job submissions. Learn more about the recent highlights in
these blog posts:
- Kubeflow SDK Evolution - One Million Downloads and Counting
- Batch Jobs for SparkClient: Submitting and Managing Spark Workloads from Python
🚀 Features
- feat: add ActiveDeadlineSeconds option for TrainJob configuration (#415 by @XploY04)
- feat: [KEP-107] Support spark_conf for Spark batch job submission (#697 by @Goku2099)
- feat: [KEP-107] Support
optionsinsubmit_job()for SparkApplication jobs (#685 by @Goku2099) - feat: add mcp page to sdk website (#702 by @jaiakash)
- feat(trainer): add TPU utility to compute numNodes for multi-slice TPU (#498 by @richabanker)
- feat(ci): Allow to configure extras and groups in make install-dev (#684 by @andreyvelich)
- feat: [KEP-107] add FuncJob support for Python function submission (#629 by @Goku2099)
- feat: [KEP-107] Add Spark batch job submission and lifecycle APIs (#521 by @Goku2099)
- feat: add PipelinesClient with kfp 2.17.0 (#591 by @efazal)
- feat: add runtime kind support for TrainingRuntime and ClusterTrainingRuntime (#549 by @Sumitha007)
- feat: add update_trainjob_status utility for progress reporting (#368 by @abhijeet-dhumal)
- feat: [KEP-107] Add long-running job submission proposal for SparkClient (#524 by @Goku2099)
- feat(hub): add upload-artifact utility (#514 by @myesmin)
- feat(ci): Replace Trivy CVE scanning with uv audit + OSV-Scanner (#495 by @Fiona-Waters)
- feat(trainer): Support NPU labels in TrainJob device (#336 by @sujalshah-bit)
- feat(docs): add AI policy reference to contributing guide (#488 by @andreyvelich)
- feat: add kfp-client wrapper proposal (#343 by @MStokluska)
- feat(docs): Add Kubeflow SDK 0.4 blog to the latest news (#428 by @andreyvelich)
🐛 Bug Fixes
- fix(spark): validate hostname is present in Spark Connect URL (#603 by @Ishan-AI-coder)
- fix: nightly security dependency updates (#718 by @github-actions[bot])
- fix(ci): fix the git tag range for the release workflow (#725 by @tariq-hasan)
- fix(spark): align Spark Connect service-name fallback with operator default (#518 by @Kartikeya-trivedi)
- fix(trainer): remove HuggingFace storage URI validation (#643 by @HarshPopat23)
- fix(hub): update type ignore comments for ty syntax (#673 by @pboyd)
- fix(ci): Add assets to the draft release (#647 by @andreyvelich)
- fix: nightly automated dependency update for security vulnerabilities (#589 by @github-actions[bot])
- fix(trainer): deduplicate restarted TrainJob pods (#632 by @reckless-sherixx)
- fix(docs): fix malformed RST hyperlink in Spark installation guide (#576 by @Ishan-AI-coder)
- fix(trainer): validate polling_interval in wait_for_job_status (#554 by @HarshPopat23)
- fix(trainer): Move TrainJob cleanup to finally block in get_runtime_packages (#582 by @kingabdulsalamsas111-lgtm)
- fix(trainer): don't report Complete when all container statuses are Unknown (#562 by @SahilKumar75)
- fix(trainer): validate HuggingFace storage_uri has both user and repo (#575 by @SahilKumar75)
- fix(trainer): validate HuggingFaceModelInitializer storage_uri has a repo path (#564 by @SahilKumar75)
- fix(trainer): serialize TorchTune dtype/loss enums by value, add unit tests for get_args_using_torchtune_config and get_trainer_cr_from_builtin_trainer (#416 by @prabhaharanv)
- fix(spark): correct stale spark_version default in build_spark_connect_cr docstring (#556 by @anxkhn)
- fix(docs): correct broken tune cross-reference in Quickstart (#557 by @anxkhn)
- fix: improve Trainer control-plane ConfigMap warning message (#558 by @Sumitha007)
- fix(docs): use relative URLs for nav bar logo and examples links (#553 by @h0pers)
- fix: nightly security dependency updates (#519 by @github-actions[bot])
- fix(ci): Fix git-cliff to generate changelog for patch releases (#527 by @andreyvelich)
- fix(docs): Fix light mode text visibility in custom CSS (#332 by @Sridhar1030)
- fix(deps): pin below kubernetes 36.0.0 (multiple client regressions) (#511 by @tariq-hasan)
- fix: nightly security dependency updates (#497 by @github-actions[bot])
- fix(deps): exclude kubernetes 36.0.0 (multiple client regressions) (#507 by @tariq-hasan)
- fix(ci): fix --preview-features flag usage in uv audit (#509 by @Fiona-Waters)
- fix(trainer): validate polling_interval is strictly less than timeout (#402 by @prabindersinghh)
- fix(hub): add params to register_model() (#440 by @1Ayush-Petwal)
- fix(trainer): improve error diagnostics and add retry logic (#451 by @Fiona-Waters)
- fix: change documentation typo (#449 by @Slowlybomb)
- fix: remove validate-lockfile workflow as it uses trivy (#427 by @Fiona-Waters)
⚙️ Miscellaneous Tasks
- chore(deps): Bump Kubeflow Trainer API to 2.3.0 (#729 by @andreyvelich)
- chore(ci): bump github/codeql-action from 4 to 4.37.4 in the actions group (#715 by @dependabot[bot])
- chore: expand API reference documentation for client classes (#721 by @prakharsingh-74)
- chore(docs): document training options and RuntimePatch API usage (#722 by @prakharsingh-74)
- chore(deps): Bump Kubeflow API dependencies (#680 by @andreyvelich)
- chore: add local development with SDK backends guide (#674 by @Ishan-AI-coder)
- chore(deps): bump the python-minor group across 1 directory with 11 updates (#649 by @dependabot[bot])
- chore(ci): bump actions/setup-python from 6 to 7 (#675 by @dependabot[bot])
- chore: improve Spark SDK documentation with connection and session management (#537 by @Goku2099)
- chore: rename SparkConnectInfo pod_name to driver_pod_name (#546 by @Goku2099)
- chore: Add ADOPTERS.md for Kubeflow SDK (#545 by @ederign)
- chore(docs): Update release doc with milestone applier (#543 by @andreyvelich)
- chore(docs): update wait_for_run_status to allow for indefinite wait, remove ERROR state and add system CA bundle support in KEP-125 (#539 by @MStokluska)
- chore(docs): Move KEPs to the proposals directory (#538 by @andreyvelich)
- chore(trainer): Align list_runtimes docstring with namespace-scoped TrainingRuntime behavior (#305 by @shaikmoeed)
- chore(docs): update wait_for_run_status timeout default in KEP-125 (#535 by @MStokluska)
- chore(ci): fix header comment loss in update_overrides on repeated runs (#503 by @yogarajalakshmi-s)
- chore(optimizer): add comprehensive unit tests for KubernetesBackend (#485 by @Slowlybomb)
- chore: rename lifecycle/needs-triage to needs-triage in issue templates (#487 by @abhijeet-dhumal)
- chore: update AGENTS.md with lint commands and current repo map (#484 by @kramaranya)
- chore: Kubeflow SDK ROADMAP for 2026 (#326 by @kramaranya)
- chore(trainer): add data and model initializers guide (#414 by @1Ayush-Petwal)
- chore(ci): Remove Trivy Action (#426 by @andreyvelich)
- chore(docs): Add Apache Spark to the diagram (#425 by @andreyvelich)
- chore(deps): Bump Kubeflow Trainer API to 2.2.0 (#406 by @andreyvelich)
- chore(ci): bump aquasecurity/trivy-action from 0.34.0 to 0.34.1 in the actions group (#319 by @dependabot[bot])
New Contributors
- @Ishan-AI-coder made their first contribution in #603
- @prakharsingh-74 made their first contribution in #721
- @nabuskey made their first contribution in #695
- @Goku2099 made their first contribution in #697
- @Kartikeya-trivedi made their first contribution in #518
- @richabanker made their first contribution in #498
- @HarshPopat23 made their first contribution in #643
- @pboyd made their first contribution in #673
- @reckless-sherixx made their first contribution in #632
- @efazal made their first contribution in #591
- @Sumitha007 made their first contribution in #549
- @kingabdulsalamsas111-lgtm made their first contribution in #582
- @SahilKumar75 made their first contribution in #562
- @prabhaharanv made their first contribution in #416
- @anxkhn made their first contribution in #556
- @h0pers made their first contribution in #553
- @ederign made their first contribution in #545
- @MStokluska made their first contribution in #539
- @myesmin made their first contribution in #514
- @yogarajalakshmi-s made their first contribution in #503
- @Sridhar1030 made their first contribution in #332
- @sujalshah-bit made their first contribution in #336
- @Slowlybomb made their first contribution in #485
- @prabindersinghh made their first contribution in #402
- @1Ayush-Petwal made their first contribution in #440