github kubeflow/pipelines 2.17.0
Version 2.17.0

7 hours ago

What's Changed

  • docs(frontend): add React 18/19 upgrade plan and checklist by @dpanshug in #12882
  • chore: upgrading go to 1.25.7 as it has many security fixes by @nsingla in #12905
  • chore(release): bump version to 2.16.0 on master branch by @droctothorpe in #12910
  • chore(test): add jeffspahr to test OWNERS approvers by @jeffspahr in #12911
  • chore(deps): bump diff from 5.2.0 to 5.2.2 in /test/frontend-integration-test by @dependabot[bot] in #12682
  • chore(deps): bump lodash from 4.17.21 to 4.17.23 in /test/frontend-integration-test by @dependabot[bot] in #12691
  • chore(frontend): add React peer compatibility gate by @jeffspahr in #12881
  • docs(frontend): add GitHub issue numbers to React 18/19 upgrade checklist by @manaswinidas in #12918
  • chore(frontend): remove dead deps request, coveralls, swagger-ts-client by @jeffspahr in #12872
  • test(frontend): remove snapshot-diff and react-dom test-utils usage by @jeffspahr in #12856
  • Delete manifests/kustomize/third-party/prometheus directory by @juliusvonkohout in #12921
  • Feat(workflow) Add multi-arch docker buildx support to the image building workflows for building arm64 and amd64 container images by @jtu-ampere in #12804
  • chore(backend): use slim base images for API server Dockerfile by @jsonmp-k8 in #12890
  • Delete manifests/kustomize/third-party/grafana directory by @juliusvonkohout in #12922
  • chore(backend): Increase timeout for PVC cache test to reduce flakiness by @aniketpati1121 in #12916
  • chore(owners): add juliusvonkohout to manifests/kustomize OWNERS by @juliusvonkohout in #12923
  • fix(cve): upgrade some deps to fix few cves by @nsingla in #12933
  • fix(frontend): remove raw
    tags from Getting Started page by @haroon0x in #12730
  • feat(frontend): upgrade Storybook 6 to 10 with Vite builder by @jsonmp-k8 in #12940
  • fix(frontend): focus Pipeline Name field instead of Description when creating a pipeline. Fixes #12883 by @Sridhar1030 in #12884
  • fix(components): Remove deprecated Wide and Deep Tabular workflow components by @copybara-service[bot] in #12496
  • fix(components): Partial rollback: Remove deprecated Wide and Deep Tabular workflow components by @copybara-service[bot] in #12947
  • test(backend): add test coverage for apiserver/server package by @jsonmp-k8 in #12937
  • test(v2/driver): add test coverage for cache, validation, and helpers by @jsonmp-k8 in #12935
  • [frontend] Migrate Material UI v4 to MUI v5 by @jeffspahr in #12925
  • chore(deps-dev): bump minimatch from 3.1.2 to 3.1.5 in /frontend/server by @dependabot[bot] in #12926
  • docs(frontend): refresh React 18/19 upgrade checklist status by @jeffspahr in #12950
  • test(backend): add test coverage for common/util package by @jsonmp-k8 in #12951
  • docs: Fix typos across documentation/.md files by @manaswinidas in #12954
  • doc: Add a KEP for native MLflow integration in KFP by @mprahl in #12862
  • doc: Remove MLflow SSAR requirement on KEP-12862 by @mprahl in #12956
  • fix(backend): Added path traversal mitigation to DownloadBlob and improve unit test coverage by @hbelmiro in #12928
  • chore(frontend): upgrade prettier from 1.19.1 to 3.x. Fixes #12942 by @khushiiagrawal in #12943
  • test(backend): add test coverage for apiserver/validation package by @jsonmp-k8 in #12952
  • test(backend): raise common/util test coverage to 80% by @jsonmp-k8 in #12953
  • feat(frontend): migrate API codegen to OpenAPI Generator by @jeffspahr in #12817
  • chore(ci): remove welcome new contributors workflow by @droctothorpe in #12964
  • docs(agents): add commit signoff and no-AI-co-author policy by @droctothorpe in #12965
  • fix(frontend): add npm cache retry to prevent EEXIST race condition in Docker build by @droctothorpe in #12963
  • test(frontend): add unit tests for untested components by @jsonmp-k8 in #12961
  • test(backend): add unit tests for apiserver/client package by @jsonmp-k8 in #12962
  • chore(frontend): speed up OpenAPI codegen by parallelizing Docker runs by @manaswinidas in #12968
  • chore: migrate build system from pip/setup.py to uv workspaces (#12686) by @sh4shv4t in #12770
  • test(e2e): migrate frontend integration tests to WDIO v9 and expand coverage by @jeffspahr in #12915
  • fix(test): re-enable and add all snapshot tests for kfp-kubernetes by @jsonmp-k8 in #12971
  • Revert "chore: migrate build system from pip/setup.py to uv workspace… by @hbelmiro in #12979
  • Update SeaweedFS image version to 4.15 by @juliusvonkohout in #12983
  • chore(frontend): Migrate react-query to @tanstack/react-query by @kanishka-commits in #12946
  • test(cache/client): improve unit test coverage from 5.6% to 69.4% by @jsonmp-k8 in #12986
  • fix(sdk): replace lstrip/rstrip with removeprefix/removesuffix for type name parsing by @Priyanshu-u07 in #12991
  • docs: add code reuse and naming conventions to AGENTS.md by @jsonmp-k8 in #12998
  • fix(frontend): remove CVE-2026-3449 from ui server by @jeffspahr in #12976
  • chore(frontend): migrate react-flow-renderer to @xyflow/react by @PR3MM in #12945
  • fix(frontend): replace comma operators in ArtifactList test by @jeffspahr in #12985
  • fix(frontend): remove tautological and duplicate UI tests by @manaswinidas in #12995
  • fix: correct typo pipline_func_args -> pipeline_func_args in pipeline… by @sduvvuri1603 in #12833
  • docs(frontend): mark react-query and react-flow migrations as completed in upgrade checklist by @manaswinidas in #13003
  • docs(frontend): refresh React upgrade checklist status by @jeffspahr in #13006
  • chore(deps): upgrade AWS SDK Go v2 to latest by @jsonmp-k8 in #13001
  • fix(ci): exclude Copilot review checks from CI status gate by @jsonmp-k8 in #13000
  • docs: add testing policy to AGENTS.md by @jsonmp-k8 in #13002
  • chore(frontend): migrate server lint to eslint and fix artifact domain matching by @jeffspahr in #12997
  • chore(components): update model eval image version by @copybara-service[bot] in #13012
  • Switch to slim base images for components and frontend by @jsonmp-k8 in #12927
  • test(backend): add unit tests for apiserver main package by @jsonmp-k8 in #13008
  • fix(backend): resolve IfPresent conditions in component.yaml. Fixes #11009 by @khushiiagrawal in #12598
  • feat(frontend): add Literal parameter dropdown for pipeline run inputs #12603 by @khushiiagrawal in #12839
  • fix(frontend): Vite dev CJS-to-ESM bridge for generated protobufs. Fixes #13016 by @PR3MM in #13017
  • chore(frontend): DRY shared React Query hooks (PipelineVersionTemplate, getArtifactTypes). Fixes #12966 by @kanishka-commits in #13010
  • chore(frontend): Modernize JSX runtime and test utilities (#12895) by @kanishka-commits in #13019
  • fix(frontend): remove duplicate overrides key in .eslintrc.yaml by @jsonmp-k8 in #13024
  • chore(deps): upgrade Go dependencies and fix snowflake version spec by @jsonmp-k8 in #13014
  • chore(deps): upgrade Go from 1.25.7 to 1.26.1 by @jsonmp-k8 in #13015
  • doc: Add additional clarification to the MLflow integration KEP by @mprahl in #13028
  • fix(codegen): regenerate .pb.go files for protoc-gen-go v1.36.11 by @jsonmp-k8 in #13031
  • docs(AGENTS.md): reference backend/README.md for backend work by @jsonmp-k8 in #13032
  • chore(frontend): upgrade Node.js from 22.19.0 to 24.14.0 by @jsonmp-k8 in #13037
  • docs(frontend): refresh React upgrade checklist and rescope #7 by @jeffspahr in #13023
  • chore(frontend): add engines field to package.json by @jsonmp-k8 in #13038
  • ci(frontend): add lockfile drift check to prevent Prettier version mismatch by @manaswinidas in #13026
  • chore(deps): upgrade Kubernetes stack, go-openapi, and cel-go by @jsonmp-k8 in #13029
  • ci: workflow fixes by @nsingla in #13046
  • chore(frontend): upgrade markdown-to-jsx, react-dropzone, react-texta… by @PR3MM in #13025
  • refactor(apiserver): make initConfig and registerHTTPHandlerFromEndpoint testable by @jsonmp-k8 in #13040
  • docs(frontend): refresh React upgrade checklist by @manaswinidas in #13066
  • fix(sdk): gate LocalRunner input-artifact blocking on provided args by @mprahl with @Copilot in #13064
  • chore(frontend): Add unit tests for MLMD detail pages (0% coverage on ArtifactDetails and ExecutionDetails) #13042 by @kanishka-commits in #13045
  • chore(frontend): remove redundant CJS protobuf files under src/genera… by @PR3MM in #13063
  • fix(frontend): restore sidebar nav button styling by @jeffspahr in #13062
  • chore(frontend): upgrade React to v18. Fixes #12897 by @kanishka-commits in #13070
  • docs(frontend): refresh React 18/19 upgrade checklist by @jeffspahr in #13073
  • docs(frontend): fix generated pipeline spec outputs by @jeffspahr in #13071
  • fix(frontend): correct pipeline version delete async handling by @Priyanshu-u07 in #13067
  • chore(frontend): stabilize React 18 runtime by @manaswinidas in #13075
  • test(frontend): finish React 18 cleanup follow-up by @jeffspahr in #13077
  • chore(frontend): React 18.3 deprecation checkpoint (#12899) by @PR3MM in #13080
  • chore(frontend): add unit tests for MLMD LineageApi, LineageCard, and LineageCardRow by @manaswinidas in #13048
  • chore(ci): upgrade GitHub Actions to latest major versions by @jsonmp-k8 in #12823
  • docs(frontend): refresh React upgrade checklist after React 18.3 by @jeffspahr in #13081
  • feat(backend): Add option to apply tags to create, upload pipelines and create pipeline version. Also allow filtering on the tag when fetching resources by @nsingla in #12999
  • chore(frontend): clear React 19 peer blockers by @jeffspahr in #13082
  • refactor(apiserver): extract resolveWebhookTLSPaths for testability by @jsonmp-k8 in #13088
  • chore(deps-dev): bump flatted from 3.1.1 to 3.4.2 in /frontend by @dependabot[bot] in #13090
  • chore(deps): bump fast-xml-parser from 5.4.1 to 5.5.7 in /test/frontend-integration-test by @dependabot[bot] in #13086
  • chore(deps): bump undici in /test/frontend-integration-test by @dependabot[bot] in #13039
  • docs(frontend): refresh React upgrade checklist after #13082 by @jeffspahr in #13091
  • fix(frontend): filter out store_session_info from Scalar Metrics display by @Priyanshu-u07 in #13098
  • fix(frontend): repair mock API server and remove dead portable-fetch dep by @manaswinidas in #13105
  • chore(frontend): Prepare @tanstack/react-query v5 migration. Fixes: #12967 by @kanishka-commits in #13089
  • chore(frontend): add unit tests for MLMD canvas and column layout by @pnaik1 in #13049
  • chore(frontend): centralize filtering for reserved artifact custom properties by @Priyanshu-u07 in #13109
  • fix: upgrading argo workflow controller and grpc version to fix CVEs by @nsingla in #13110
  • bump trivvy by @HumairAK in #13119
  • use hashes for actions for trivvy workflow by @HumairAK in #13120
  • chore(frontend): align node version consumers with frontend/.nvmrc by @jeffspahr in #13101
  • fix(frontend): add typecheck regression guard for mock-backend by @manaswinidas in #13115
  • Reduce effect-driven state handling in frontend pages by @jeffspahr in #13100
  • feat(backend): Improve pod name resolution for pipelines with long names and enhance test coverage by @hbelmiro in #13124
  • chore(deps): bump picomatch in /frontend/server by @dependabot[bot] in #13135
  • chore(deps): bump picomatch from 2.3.1 to 2.3.2 in /test/frontend-integration-test by @dependabot[bot] in #13144
  • chore(deps): bump picomatch in /frontend by @dependabot[bot] in #13136
  • chore(deps): bump node-forge from 1.3.3 to 1.4.0 in /frontend/server by @dependabot[bot] in #13147
  • chore(deps): bump yaml in /frontend by @dependabot[bot] in #13131
  • chore(deps): bump google.golang.org/grpc from 1.58.3 to 1.79.3 in /test/tools/project-cleaner by @dependabot[bot] in #13087
  • refactor(frontend): reduce NewRunV2 effect state handling by @jeffspahr in #13140
  • fix(sdk): support .after() dependencies on ExitHandler groups by @jeffspahr in #13112
  • chore(frontend): upgrade React to v19 by @PR3MM in #13153
  • docs(frontend): refresh React 18/19 upgrade checklist after React 19 by @manaswinidas in #13161
  • fix: prevent stale ci-passed labels by @jsonmp-k8 in #13095
  • chore(deps): bump path-to-regexp from 0.1.12 to 0.1.13 in /frontend/mock-backend by @dependabot[bot] in #13163
  • fix(ci): keep Tide-required contexts green on label churn by @jeffspahr in #13172
  • refactor(frontend): reduce NewRun effect syncing by @jeffspahr in #13166
  • refactor(frontend): derive CompareV2 artifact state by @jeffspahr in #13165
  • fix(security): validate namespace in getArtifactServiceGetter to prevent SSRF (CVE-2023-6570) by @cybernagle in #13126
  • Clarify requirements for multi-user MLflow token definitions by @mprahl in #13160
  • chore(frontend): remove stale scripts and simplify npm commands by @manaswinidas in #13173
  • fix(backend): isolate executor-logs per retry pod by @droctothorpe in #13175
  • fix(backend): increase MLMD client retry budget for MySQL deadlocks by @droctothorpe in #13179
  • chore(test): use make commands in sdk-component-yaml by @puwun in #12755
  • chore(deps): bump urllib3 from 2.5.0 to 2.6.3 in /kubernetes_platform/python by @dependabot[bot] in #12623
  • chore(manifests): remove empty emissary overlay aliases by @Raakshass in #12992
  • refactor(apiserver): extract buildHTTPRouter for testability by @jsonmp-k8 in #13094
  • chore(manifests): remove stale GCP workload identity scripts by @Raakshass in #12982
  • feat: add workflow TTL support via SDK PipelineConfig by @droctothorpe in #13184
  • chore(frontend): deduplicate generated OpenAPI runtime and model files by @jeffspahr in #13157
  • feat: add activeDeadlineSeconds support via SDK PipelineConfig by @jsonmp-k8 in #13187
  • chore(frontend): add unit tests for run routing components (#13041) by @PR3MM in #13047
  • fix(backend): Wire MANAGED_PIPELINES_UPLOAD_TAGS into LoadSamples by @hbelmiro in #13158
  • fix(frontend): persist rows per page selection in localStorage by @Priyanshu-u07 in #13186
  • test(frontend): add literal input frontend integration test by @jeffspahr in #13167
  • refactor(frontend): derive CompareV2 artifact selection by @jeffspahr in #13190
  • fix(backend): resolve use_secret_as_env pipeline params in ParallelFor by @nsingla in #13128
  • fix(security): prevent SQL injection in pageToken parameter via field name validation by @cybernagle in #13127
  • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /frontend by @dependabot[bot] in #13198
  • chore(frontend): clean up NewRunV2 test boilerplate, validation contract, memo dependencies by @manaswinidas in #13196
  • fix(ci): Increase runner memory limit by @nsingla in #13221
  • chore(ci): increase the number of parallel threads for e2e tests by @nsingla in #13223
  • fix(frontend): guard _loadAllOutputs against unhandled promise rejection by @manaswinidas in #13218
  • test(backend): increase apiserver/template test coverage to 64.5% by @jsonmp-k8 in #13203
  • test(backend): increase apiserver/client test coverage to 62.3% by @jsonmp-k8 in #13201
  • test(frontend): add RunDetails regression test for rejected output artifact loads. by @manaswinidas in #13230
  • fix(ci): gate ci-passed on real CI poll completion by @jeffspahr in #13207
  • chore(frontend): enable React StrictMode in dev and tests. Fixes #12902 by @manaswinidas in #13229
  • refactor(frontend): reduce NewRun prop syncing by @jeffspahr in #13208
  • docs(frontend): document frontend coding conventions. Closes #5118 by @jeffspahr in #13210
  • fix(frontend): prevent run details spinner on template refetch by @jeffspahr in #13212
  • chore(deps-dev): bump vite from 7.3.1 to 7.3.2 in /frontend by @dependabot[bot] in #13224
  • docs: Update AGENTS.md to respect interface boundaries by @mprahl in #13117
  • Add manaswinidas as frontend approver by @manaswinidas in #13232
  • fix(frontend): surface silent useQuery errors to users by @manaswinidas in #13217
  • docs(frontend): refresh React 19 stack guidance by @jeffspahr in #13164
  • feat(backend): Selectively block v1 pipeline runs by namespace by @cbartram in #13068
  • fix(frontend): Prevent Unauthorized Cross-Namespace Artifact Access (rebased, security-hardened) by @Raakshass in #12860
  • chore(deps): bump fast-xml-parser and @aws-sdk/xml-builder in /frontend/server by @dependabot[bot] in #13243
  • chore(deps): bump basic-ftp from 5.2.0 to 5.2.1 in /test/frontend-integration-test by @dependabot[bot] in #13242
  • chore(frontend): modernize Trigger.test.tsx to Testing Library patterns by @Priyanshu-u07 in #13244
  • fix(ci): Update Profile Controller manifest URL in deploy script by @hbelmiro in #13247
  • chore(deps): bump axios from 1.13.5 to 1.15.0 in /frontend/server by @dependabot[bot] in #13248
  • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /frontend/server by @dependabot[bot] in #13249
  • refactor(frontend): narrow NewRun parameter init effect by @jeffspahr in #13231
  • chore(frontend): replace text-only loading messages with CircularProgress by @manaswinidas in #13246
  • chore: Vars converted to replacements for manifests subdirectory in the KFP repository by @vikas-saxena02 in #12632
  • fix(test): Add Eventually for informer cache sync in pipeline version tests (#13312) by @hbelmiro in #13253
  • fix(cli): remove unused namespace in run.py by @puwun in #12776
  • chore: Use make commands in https://github.com/kubeflow/pipelines/blo… by @matheusandre1 in #12836
  • chore(frontend): modernize ExperimentList, UploadPipelineDialog, LineageActionBar, ArchivedRuns tests by @Priyanshu-u07 in #13255
  • chore(frontend): modernize test to Testing Library patterns by @Priyanshu-u07 in #13260
  • chore(deps): bump basic-ftp from 5.2.1 to 5.2.2 in /test/frontend-integration-test by @dependabot[bot] in #13257
  • chore(deps): bump follow-redirects from 1.15.6 to 1.16.0 in /frontend by @dependabot[bot] in #13268
  • chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /frontend/server by @dependabot[bot] in #13269
  • test(frontend): clear CustomTable act warnings by @jeffspahr in #13266
  • fix(frontend): add root ErrorBoundary and loading indicators by @manaswinidas in #13245
  • refactor(frontend): simplify CompareV2 selection state by @jeffspahr in #13256
  • refactor(frontend): centralize flushPromisesInAct and invokeAndFlush in TestUtils by @manaswinidas in #13278
  • ci: validate and declare Argo 4.0 compatibility by @jeffspahr in #13204
  • chore(frontend):modernize NewExperiment, NewPipelineVersion, PipelineDetails tests by @Priyanshu-u07 in #13280
  • fix(frontend): remove React 19 compatibility shim by @jeffspahr in #13264
  • feat(kubernetes_platform): add data_source parameter to CreatePVC. Fixes #11420 by @khushiiagrawal in #12696
  • ci: preload Kind images instead of pushing via local registry by @jeffspahr in #13227
  • fix(frontend): add mock backend route regression coverage by @jeffspahr in #13265
  • fix(backend): enforce pipeline authorization by @droctothorpe in #13288
  • chore(deps): bump protobufjs, proto3-json-serializer and ts-proto in /frontend by @dependabot[bot] in #13287
  • refactor(frontend): narrow compare metrics effect cleanup by @jeffspahr in #13282
  • chore(frontend): replace querySelector with Testing Library patterns by @Priyanshu-u07 in #13289
  • fix(ci): Add proxy parameter to e2e-test workflow deployment and test steps - Fixes #13294 by @hbelmiro in #13295
  • fix(metadata): cast DEBUG_FILES_SIZE and handle cleanup races by @samskelton1 in #13300
  • refactor(frontend): remove NewRunParameters mount effect by @jeffspahr in #13281
  • fix(frontend): surface usePipelineVersionTemplate errors in run detail routers by @manaswinidas in #13291
  • fix(backend): stop requiring workspace PVC storageClassName by @mprahl in #13306
  • feat(backend): Selectively block v1 recurring runs by @MonicaZhang1 in #13302
  • fix(backend): fixes AWS SDK v2 checksum validation by @hbelmiro in #13315
  • docs(AGENTS.md): cross-reference remaining project README files by @jsonmp-k8 in #13035
  • chore(deps): bump fast-xml-parser, @aws-sdk/xml-builder and minio in /frontend/server by @dependabot[bot] in #13309
  • test(api): stabilize archive run state check by @jeffspahr in #13319
  • chore(deps): bump vite from 7.3.1 to 7.3.2 in /frontend/server by @dependabot[bot] in #13225
  • chore(deps): bump postcss from 8.5.6 to 8.5.12 in /frontend/server by @dependabot[bot] in #13318
  • fix(frontend): show loading spinner on Compare page instead of blank content by @manaswinidas in #13328
  • fix: Fix duplicate entry in MLMD with Kubeflow driver by @cbartram in #13276
  • fix(backend): Add retry logic to launcher artifact upload if component fails by @alenawang in #13324
  • fix(backend): use proto.String instead of new by @droctothorpe in #13329
  • feat(manifests): add init containers for startup ordering to all critical deployments by @jsonmp-k8 in #12970
  • fix(backend): ensure log artifact index handling by @droctothorpe in #13334
  • fix(test): simplify and stabilize pipeline test cleanup by @hbelmiro in #13312
  • fix(kubernetes): stabilize CreatePVC access_modes docstring for SDK goldens by @sduvvuri1603 in #13330
  • fix(backend): validate pipeline names in K8s store before API call by @Priyanshu-u07 in #13137
  • fix(frontend): download v2 directory artifacts as tar.gz. Fixes #7809 by @zswf-mle in #13320
  • chore(frontend): modernize querySelector to RTL patterns by @Priyanshu-u07 in #13343
  • chore(release): bump version to 2.16.1 on master branch by @droctothorpe in #13348
  • chore: update changelog by @droctothorpe in #13351
  • chore: adding myself as backend approver by @nsingla in #13352
  • chore(docs): upgrade to python 3.11 in rtd config by @droctothorpe in #13354
  • chore(deps): bump axios from 1.15.0 to 1.15.2 in /frontend/server by @dependabot[bot] in #13350
  • chore(deps): bump ip-address from 10.1.0 to 10.2.0 in /frontend/server by @dependabot[bot] in #13353
  • feat: handle parity for local execution by @zazulam in #13331
  • fix(frontend): stop persistent spinner on MLMD detail page errors by @manaswinidas in #13346
  • test(frontend): add unit tests for shared query hooks and key factory by @manaswinidas in #13347
  • chore(backend):Add RetryRun support to RunClient by @VaniHaripriya in #13298
  • Add alyssacgoins as a backend approver. by @alyssacgoins in #13359
  • replace hardcoded panel selection indices in CompareV2 metrics by @pnaik1 in #13277
  • test(frontend): wrap router navigation in act by @jeffspahr in #13358
  • chore(deps-dev): bump postcss from 8.5.6 to 8.5.14 in /frontend by @dependabot[bot] in #13327
  • fix(backend): recursive DAG execution state propagation by @demarna1 in #13322
  • chore(frontend): modernize CustomTable and CompareV1 test patterns by @Priyanshu-u07 in #13371
  • chore: update OWNERS files to remove inactive reviewers and approvers by @hbelmiro in #13389
  • test(frontend): flush small pipeline tests in act by @jeffspahr in #13368
  • test(frontend): flush MetricsVisualizations updates in act by @jeffspahr in #13367
  • test(frontend): flush MetricsDropdown setup in act by @jeffspahr in #13366
  • test(frontend): flush CompareV2 setup in act by @jeffspahr in #13360
  • fix(sdk): build local KFP package with pip wheel by @mprahl with @Copilot in #13398
  • feat(backend): Remediate ADA-KUBEFL-01: Server-Side Request Forgery by @JerT33 in #12750
  • test(frontend): flush Tensorboard updates in act by @jeffspahr in #13365
  • test(frontend): flush RunList setup in act by @jeffspahr in #13363
  • test(frontend): flush NewExperiment setup in act by @jeffspahr in #13364
  • test(frontend): flush Compare setup in act by @jeffspahr in #13362
  • test(frontend): flush CompareV1 setup in act by @jeffspahr in #13361
  • fix(backend): apply recurring run service account unconditionally by @neo99zhang in #13325
  • chore: bump Go version to 1.26.2 by @hbelmiro in #13421
  • feat(sdk): Add set_debug_pause method to PipelineTask by @carlosdanielarroyo in #13396
  • chore: refactor Go setup into reusable composite action by @hbelmiro in #13431
  • fix(swf): Enforce V1 pipeline blocking with expanded test cases by @cbartram in #13434
  • fix(backend): resolve artifact OneOf outputs at runtime (#13436) by @mprahl in #13437
  • feat(frontend,backend): show actual retry start time for pipeline runs. Fixes #12845 by @Sridhar1030 in #13009
  • Return to recurring runs after canceling creation by @jeffspahr in #13379
  • chore(deps): bump go.opentelemetry.io/otel/sdk from 1.41.0 to 1.43.0 by @dependabot[bot] in #13241
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream from 1.7.6 to 1.7.8 by @dependabot[bot] in #13234
  • chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by @dependabot[bot] in #13200
  • chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp from 1.36.0 to 1.43.0 by @dependabot[bot] in #13240
  • fix(sdk): remove max duration limit on retries by @JerT33 in #13452
  • ci: stabilize SeaweedFS resource requests by @jeffspahr in #13454
  • chore(ci): rotate tested Kubernetes versions by @jeffspahr in #13458
  • chore(deps): bump argo-workflows, s3, and spdystream by @droctothorpe in #13460
  • fix(backend): fix recurring runs with the latest pipeline version by @jaewak in #13440
  • chore(deps): bump remaining backend Go builder images to golang:1.26.3 by @tolgatuncoglu in #13464
  • fix(manifests): update shared SeaweedFS manifest by @danish9039 in #13463
  • chore: Update Argo Workflows resources to v3.7.14 by @juliusvonkohout in #13467
  • Merge mlflow-integration into master by @VaniHaripriya in #13441
  • Add timeout parameter to argo workflow-controller resource by @juliusvonkohout in #13443
  • Add juliusvonkohout as an approver for GHA by @juliusvonkohout in #13477
  • feat(backend): add hostUsers:false default and override guard for customer workloads by @Raakshass in #13301
  • test(frontend): flush PipelineList updates in act by @jeffspahr in #13411
  • chore(deps-dev): bump vitest and @vitest/coverage-v8 in /frontend by @dependabot[bot] in #13466
  • KEP-13293: Gatekeep CI workflows for triaged issues by @alyssacgoins in #13293
  • components: Remove the components directory except google-cloud by @mprahl in #13481
  • chore: Removed non-needed package installation steps from backend Dockerfiles by @hbelmiro in #13470
  • docs(backend): replace stale Testing section with pointer to AGENTS.md by @kaikaila in #13499
  • fix(security): patch kfp-metadata-writer Python CVEs by @tolgatuncoglu in #13465
  • docs: overhaul release documentation by @droctothorpe in #13475
  • Fix workflow compiler tests by ignoring .files by @ntny in #13455
  • fix(tests): improve error logging in WaitForRunToBeInState function by @kaikaila in #13506
  • fix(frontend): harden TensorBoard proxy access by @droctothorpe in #13511
  • chore: reduce stale issue and close days in workflow by @juliusvonkohout in #13486
  • chore: proper argo retries for transient and argo errors by @juliusvonkohout in #13485
  • chore: remove double-quote-string-fixer from pre-commit config by @kaikaila in #13513
  • test: stabilize proxy CI setup by @danish9039 in #13523
  • chore: Update container image for profile-controller by @juliusvonkohout in #13536
  • chore(deps): bump golang.org/x/net to v0.55.0 across all modules by @aholten in #13489
  • chore(deps): bump brace-expansion from 1.1.12 to 1.1.15 in /test/frontend-integration-test by @dependabot[bot] in #13403
  • chore(deps): bump qs from 6.14.1 to 6.15.2 in /frontend by @dependabot[bot] in #13430
  • chore(deps): bump fast-xml-parser from 5.5.7 to 5.7.3 in /test/frontend-integration-test by @dependabot[bot] in #13304
  • chore: Add CODE_OF_CONDUCT.md in kubeflow/pipelines by @codeurluce in #13518
  • chore(deps): bump ws from 8.19.0 to 8.21.0 in /frontend/server by @dependabot[bot] in #13545
  • test(frontend): flush PipelineDetails switch setup in act by @jeffspahr in #13414
  • chore(deps): bump js-yaml from 4.1.1 to 4.2.0 in /test/frontend-integration-test by @dependabot[bot] in #13539
  • chore(deps): bump vite, @vitest/coverage-v8 and vitest in /frontend/server by @dependabot[bot] in #13541
  • chore(deps): bump js-yaml from 4.1.1 to 4.2.0 in /frontend/server by @dependabot[bot] in #13544
  • chore(deps): bump qs from 6.15.0 to 6.15.2 in /frontend/server by @dependabot[bot] in #13428
  • chore(deps): bump fast-xml-builder from 1.1.5 to 1.2.0 in /frontend/server by @dependabot[bot] in #13373
  • chore(deps): bump basic-ftp from 5.2.2 to 5.3.1 in /test/frontend-integration-test by @dependabot[bot] in #13356
  • chore(deps): bump axios from 1.15.2 to 1.16.0 in /frontend/server by @dependabot[bot] in #13444
  • chore(deps): bump esbuild, @vitest/coverage-v8 and vitest in /frontend/server by @dependabot[bot] in #13522
  • test(frontend): use act helpers in small viewer tests by @jeffspahr in #13415
  • test(frontend): use act helpers in NewPipelineVersion by @jeffspahr in #13412
  • chore(deps): bump ws from 8.19.0 to 8.21.0 in /test/frontend-integration-test by @dependabot[bot] in #13542
  • chore(deps): bump protobufjs from 8.0.1 to 8.6.0 in /frontend by @dependabot[bot] in #13543
  • chore(deps): bump qs and express in /frontend/mock-backend by @dependabot[bot] in #13427
  • chore(deps): bump esbuild and tsx in /test/frontend-integration-test by @dependabot[bot] in #13519
  • chore(deps): bump form-data from 2.5.5 to 2.5.6 in /frontend/server by @dependabot[bot] in #13540
  • Fix local proxy log and artifact reads by @jeffspahr in #13377
  • chore(ci): support argo workflows 4.x by @jeffspahr in #13459
  • chore(frontend): pin npm 11.17.0 by @jeffspahr in #13553
  • fix(ci): regenerate API files for grpc-gateway v2.28.0 and harden CI workflows by @hbelmiro in #13563
  • fix(unit): stabilize backend unit tests by @ntny in #13525
  • refactor(manifests): replace dbHost/dbPort relics with mysqlHost/mysqlPort by @kaikaila in #13504
  • fix(manifests): Add list bucket and delete object to policy and improve the S3 namespace isolation test by @tarekabouzeid in #13469
  • fix(backend): apply S3 checksum options for env-based credentials by @Yingdi-Zheng in #13551
  • Add juliusvonkohout to test OWNERS list by @juliusvonkohout in #13580
  • feat(sdk): add kubeflow_client PipelinesClient (phase 1). Fixes #13380 by @MStokluska in #13405
  • fix(test): replace single-shot MLflow status checks with polling by @hbelmiro in #13593
  • test(frontend): harden node log viewer e2e wait by @mprahl in #13584
  • test(frontend): harden log viewer diagnostics and Docker install by @danish9039 in #13586
  • fix(backend): inject user identity header in scheduled-workflow-controller for multi-user auth by @jaewak in #13472
  • fix: allow same-named pipeline versions under different pipelines (#13534, #13535, #13556) by @hbelmiro in #13552
  • fix(backend): narrow MLflow namespace overrides by @mprahl in #13595
  • feat(frontend): fix artifact cross namespace IDOR vuln by @JerT33 in #13433
  • chore(deps): bump undici in /test/frontend-integration-test by @dependabot[bot] in #13569
  • feat(backend): enable create and schedule time placeholders by @droctothorpe in #13474
  • fix(filter): make k8s CRD backend filter matching case-insensitive by @kaikaila in #13512
  • chore(frontend): consolidate dependency updates by @jeffspahr in #13568
  • fix(backend): stream bounded object store reads by @jeffspahr in #13577
  • Add jeffspahr as an approver to .github by @jeffspahr in #13612
  • feat(backend): add MLflow basic-auth and optional auth by @mprahl in #13576
  • fix(frontend): fix MetricsDropdown table cell borders by @Priyanshu-u07 in #13574
  • fix(frontend): hide read-only graph handles by @jeffspahr in #13616
  • fix(backend): prevent premature workflow GC due to DB write race condition (#13342) by @shreeharshshinde in #13345
  • test(backend): cover Argo 4 runtime compatibility by @jeffspahr in #13555
  • Add v2 mock backend fixtures by @jeffspahr in #13413
  • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /test/frontend-integration-test by @dependabot[bot] in #13617
  • chore(deps): aggregate open Dependabot bumps by @mprahl in #13620
  • chore(doc): Update ROADMAP.md to use milestone-based tracking by @Priyanshu-u07 in #13614
  • fix(client): Fix matrix configuration for api-test-k8s-native by @mprahl in #13607
  • fix(frontend): fix blank screen on npm start by @Sharkyii in #13628
  • fix(ci): prevent ci-passed label when workflows await approval by @hbelmiro in #13629
  • fix(frontend): remediate npm security alerts by @jeffspahr in #13626
  • documentation: Update installation options by @gorkem in #12491
  • test(backend): avoid retrying permanent archived log errors by @jeffspahr in #13598
  • ci: preload runtime base images once per workflow by @jeffspahr in #13625
  • fix(test): poll ListPipelineVersions when verifying uploaded tags by @jeffspahr in #13635
  • fix(frontend): re-check redirects against artifact domain allowlist by @naruto-lgtm in #13570
  • chore(manifests): update metacontroller from v4.11.22 to v4.16.2 by @juliusvonkohout with @Copilot in #13644
  • feat: add Start Time, End Time and Schedule Status columns to recurring runs table by @Priyanshu-u07 in #13496
  • test: use tinyproxy for proxy CI fixture by @danish9039 in #13583
  • test: update tested Kubernetes versions to 1.33-1.36 by @danish9039 in #13488
  • fix(backend): avoid stale final-state labels on retry by @jeffspahr in #13627
  • fix(test): update frontend integration npm deps by @jeffspahr in #13632
  • fix(deps): update compatible Python security requirements by @jeffspahr in #13633
  • chore(deps): update nested Go grpc dependencies by @jeffspahr in #13638
  • fix(ci): reduce master push workflow flakes by @mprahl in #13622
  • chore(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 in /test/tools/project-cleaner by @dependabot[bot] in #13664
  • chore(deps): update requests constraints by @jeffspahr in #13661
  • chore(deps): update urllib3 constraints by @jeffspahr in #13660
  • chore(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 by @dependabot[bot] in #13666
  • chore(deps): add Dependabot config for Go module version updates by @aholten in #13491
  • chore(deps): update visualization dependencies by @jeffspahr in #13668
  • chore(deps): update pytest dev requirements by @jeffspahr in #13669
  • chore(deps): update metadata-writer protobuf by @jeffspahr in #13671
  • chore(deps): bump github.com/VividCortex/mysqlerr from 0.0.0-20170204212430-6c6b55f8796f to 1.0.0 by @dependabot[bot] in #13673
  • automation: add AI-powered issue quality analysis workflow by @modichika in #13372
  • fix(ci): make image rebuild step actually run after build failure by @hbelmiro in #13685
  • fix(frontend): object storage Insecure Direct Object Reference (IDOR) prefix fallback by @juliusvonkohout in #13683

New Contributors

Full Changelog: 2.16.1...2.17.0

Don't miss a new pipelines release

NewReleases is sending notifications on new releases.