github kubeflow/pipelines 2.18.0
Version 2.18.0

5 hours ago

Kubeflow Pipelines 2.18 makes pipelines easier to inspect and author, adds data-transfer and retention tools, and strengthens multi-user security and operational resilience.

Highlights

  • Automatic artifact previews. Supported Python components can generate Dataset and Model previews in run details, helping you inspect outputs without downloading the full artifact. #15087
  • Clearer pipeline visualization. Nested sub-DAGs expand inline in the UI. Standalone HTML/Mermaid previews with local watch mode let you explore pipelines without deploying a server. #14864, #15064
  • More authoring options. Components gain Kubernetes Dynamic Resource Allocation, init containers, Pydantic BaseModel inputs and outputs, and custom task cache keys. DRA requires a compatible backend, Kubernetes configuration, and resource driver. #14243, #13651, #13995, #13762
  • Pipeline data management. Export/import transfers experiments, pipeline versions and tags, completed run history with MLMD lineage, and schedule definitions between compatible installations. Optional retention policies archive and delete expired completed runs; retention is disabled by default. #14659, #13532

Security improvements

  • Stronger authorization and namespace isolation. Runs and recurring schedules check permissions for workflow service accounts. Pipeline references, shared uploads, and streamed logs receive additional authorization checks; pipeline lookups and legacy cache reuse enforce namespace boundaries more consistently. #14655, #14568, #14359
  • Safer artifact and viewer access. Artifact, archived-log, and TensorBoard handling gain stronger authorization, endpoint/path validation, and redirect protections. #14349, #14706, #15143
  • Additional hardening. Archive and request-size limits reduce resource-exhaustion risks. API-server TLS minimum versions and cipher suites are configurable, and dependencies and runtime images receive security updates. #14171, #14655, #13609

Availability and resilience

  • Recovery across restarts and replicas. Shared UI signing keys preserve TensorBoard URLs across subsequent restarts and replicas. Retention workers use leader election and graceful draining; database-coordinated index preparation recovers interrupted managed builds. These improvements do not establish HA for every component or guarantee zero-downtime upgrades. #14655, #14877
  • More reliable scheduling and execution. Managed upgrades automatically adopt eligible recurring schedules. Driver retries avoid duplicate executions, and workflow-status reporting recovers more reliably from interrupted work. Scheduling mutations can briefly wait for the upgrade handoff instead of immediately failing. #14741, #14412, #14776, #15049
  • Better day-to-day operation. Pinned default pipeline versions, improved run-list pagination, runtime failure logs, and new profile-controller and metadata-proxy health probes improve predictability and troubleshooting. Proxy probes check the proxy process, not MLMD backend health. #14649, #14331, #14633, #14813, #15063

Bug fixes

  • Prevent stale workflow reports from overwriting run cancellation and duplicate executions after driver retries. #14240, #14412
  • Retry discovery of newly uploaded pipeline versions without uploading them again, and reload private pipelines when switching namespaces. #14808, #15223
  • Restore V1 metrics reporting by correcting the persistence agent's artifact API URL. #15143

Upgrading to 2.18

Follow your normal deployment upgrade process and the upgrade guide. Standard managed installations need no manual recurring-run migration or coordinated API-server/controller cutover. Review these changes before rollout:

  • Roles and clients: supplied roles are updated; custom roles may need changes. Saved pagination tokens may require restarting a listing. See the RBAC migration guide.
  • Preview privacy: automatic previews can contain sample data or model configuration. Review opt-outs and schema-only controls. Existing artifacts are not backfilled; previews and downloads share a per-user request limit.
  • Database preparation: initialization can delay readiness or block writes. Previously enabled retention may start processing old runs once indexes are ready. Review retention and index settings.
  • UI and cache behavior: first adoption of the shared signing key briefly interrupts UI access and invalidates old TensorBoard URLs; reopen viewers afterward. The default UI rollout remains Recreate. Legacy V1 cache entries with unknown ownership are no longer reused by default, so affected tasks may run again.
  • Custom storage and package mirrors: review endpoint, credential, redirect, and package-index trust settings using the upgrade guide.

Compatibility and known limitations

  • Python 3.9+ remains supported, with separate kfp, kfp-pipeline-spec, kfp-server-api, and kfp-kubernetes packages. See the SDK release.
  • MLMD remains part of 2.18. PostgreSQL is not recommended for production because of the MLMD concurrency limitation.
  • Data transfer requires matching database engines and schemas. It does not move active executions, artifact files, or logs. Imported schedules remain disabled until enabled explicitly. See the data-transfer guide.
  • Security limitations remain. Artifact ownership is not fully enforced: shared or overly broad storage credentials can expose other tenants' artifacts. Python 3.9-compatible dependencies and selected upstream images retain accepted vulnerabilities; prefer a newer Python version where possible. See artifact compatibility guidance and the security tracker.

ReadTheDocs publication is pending. Use the versioned upgrade guide, SDK guide, and Kubernetes SDK documentation meanwhile.

Full changelog: 2.17.3 → 2.18.0

Contributors

Thank you to everyone who contributed code, reviews, testing, and documentation to 2.18.

Release contributors and first-time contributors

@alyssacgoins, @Aman5613, @ariel-view, @Ayush-kathil, @bhuvan-somisetty, @cbartram, @copybara-service[bot], @Daniel-1600, @danish9039, @demarna1, @dobbydobap, @droctothorpe, @false200, @hbelmiro, @herikwebb, @jeffspahr, @JerT33, @juliusvonkohout, @kaikaila, @lifo9, @ManvithPanyam, @MaxwellM34, @modichika, @MonicaZhang1, @mprahl, @naruto-lgtm, @Neilblaze, @prakharsingh-74, @Priyanshu-u07, @Raakshass, @rishabhsai, @rohIta-k, @sathish-thangaraj, @sduvvuri1603, @Sharkyii, @shivv23, @thc1006, @tolgatuncoglu, @ugiordan, @VaniHaripriya, @vikas-saxena02, @vizansh, @wallyworld, @zazulam.

New Contributors

Assets

Deployment manifests: 2.18.0 manifests.

Source archives: ZIP · tar.gz. GitHub also provides these in the Assets panel below.

Don't miss a new pipelines release

NewReleases is sending notifications on new releases.