Kubeflow Versioning Policies

Versioning policies and status of Kubeflow applications and other components

This page describes the Kubeflow versioning policies and provides a version matrix for Kubeflow applications and other components.

Kubeflow versioning

Kubeflow version numbers are of the form vX.Y.Z, where X is the major version, Y is the minor version, and Z is the patch version. The versioning policy follows the Semantic Versioning terminology.

The version name vX.Y.Z refers to the version (git tag) of the kfctl release. If the version number includes an appendix -rcN, where N is a number, the appendix indicates a release candidate, which is a pre-release version of an upcoming release.

Examples of Kubeflow version numbers:

  • v0.7.0
  • v0.7.0-rc8
  • v1.0.0
  • v1.0.1

Application versioning and stable status

Starting from the release of Kubeflow v1.0, the Kubeflow community attributes stable status to those applications and components that meet a defined level of stability, supportability, and upgradability.

When you deploy Kubeflow to a Kubernetes cluster, your deployment includes a number of applications. Application versioning is independent of Kubeflow versioning. An application moves to version 1.0 when the application meets certain criteria in terms of stability, upgradability, and the provision of services such as logging and monitoring.

When an application moves to version 1.0, the Kubeflow community will decide whether to mark that version of the application as stable in the next major or minor release of Kubeflow.

Kubeflow application matrix

The following table shows the status (stable, beta, or alpha) of the applications that you can deploy to your Kubernetes cluster when you deploy Kubeflow. The applications are specified in the manifest that you use to deploy Kubeflow. The kfctl deployment tool deploys the applications strictly according to the manifest. kfctl does not decide whether to deploy or not deploy an application based on the application status.

You can use the information below to decide which of the applications you should deploy to your production system, and adjust the manifest accordingly.

Application status indicators for Kubeflow:

  • Stable means that the application complies with the criteria to reach application version 1.0, and that the Kubeflow community has deemed the application stable for this release of Kubeflow.
  • Beta means that the application is working towards a version 1.0 release and its maintainers have communicated a timeline for satisfying the criteria for the stable status.
  • Alpha means that the application is in the early phases of development and/or integration into Kubeflow.

The application version in the table reflects the application version in the manifest at the time when Kubeflow v1.0 was released. This is therefore the default version of the application that you receive when you deploy Kubeflow v1.0. Some applications may release later versions that you can choose to install into your Kubeflow deployment. If you need a later version of a specific application, refer to the documentation for that application.

Application Status in Kubeflow v1.0 Application version in Kubeflow v1.0
Central dashboard: Kubeflow UI (GitHub) Stable 1.0.0
Chainer operator (GitHub) Alpha
Hyperparameter tuning: Katib (GitHub) Beta v1alpha3
KFServing (GitHub) Beta v0.2.2
Metadata (GitHub) Beta 0.2.1
MPI training: MPI operator (GitHub) Alpha
MXNet training: MXNet operator (GitHub) Alpha
Notebook web app (GitHub) Stable 1.0.0
Notebook controller (GitHub) Stable 1.0.0
Pipelines (GitHub) Beta 0.2.0
Profile Controller for multi-user isolation (GitHub) Stable 1.0.0
PyTorch training: PyTorch operator (GitHub) Stable 1.0.0
TensorFlow training: TFJob operator (GitHub) Stable 1.0.0
XGBoost training: XGBoost operator (GitHub) Alpha

Kubeflow SDKs and CLIs

Alongside Kubeflow v1.0, you may want to use one of the following Kubeflow SDKs and command-line interfaces (CLIs).

SDK / CLI Status with Kubeflow v1.0 SDK/CLI version
Fairing (GitHub) Beta 0.7.1
kfctl (GitHub ) Stable 1.0.0
Kubeflow Pipelines SDK (GitHub) Beta 0.2.0

Support levels

The expectations for supportability and the types of support available depend on the stable status of each application or other component. For more information, see the support page.