From 923b67e38f39f6cb71b03e62a4188780f309190a Mon Sep 17 00:00:00 2001
From: Linchin <lingqing.gan@gmail.com>
Date: Tue, 13 Jun 2023 18:43:09 +0000
Subject: [PATCH] chore(release): bumped version to 2.0.0-rc.2

---
 CHANGELOG.md                                  |  67 ++++++++
 VERSION                                       |   2 +-
 .../api/v1beta1/python_http_client/README.md  |   4 +-
 .../kfp_server_api/__init__.py                |   2 +-
 .../kfp_server_api/api_client.py              |   2 +-
 .../kfp_server_api/configuration.py           |   4 +-
 .../api/v1beta1/python_http_client/setup.py   |   2 +-
 .../swagger/kfp_api_single_file.swagger.json  |   2 +-
 .../api/v2beta1/python_http_client/README.md  |   5 +-
 .../docs/PipelineServiceApi.md                |   4 +-
 .../V2beta1CreatePipelineAndVersionRequest.md |  11 ++
 .../kfp_server_api/__init__.py                |   3 +-
 .../api/pipeline_service_api.py               |   8 +-
 .../kfp_server_api/api_client.py              |   2 +-
 .../kfp_server_api/configuration.py           |   4 +-
 .../kfp_server_api/models/__init__.py         |   1 +
 ...ta1_create_pipeline_and_version_request.py | 146 ++++++++++++++++++
 .../api/v2beta1/python_http_client/setup.py   |   2 +-
 ...ta1_create_pipeline_and_version_request.py |  83 ++++++++++
 .../swagger/kfp_api_single_file.swagger.json  |   2 +-
 .../templates/application.yaml                |   2 +-
 manifests/gcp_marketplace/schema.yaml         |   4 +-
 .../base/cache-deployer/kustomization.yaml    |   2 +-
 .../kustomize/base/cache/kustomization.yaml   |   2 +-
 .../generic/pipeline-install-config.yaml      |   2 +-
 .../base/metadata/base/kustomization.yaml     |   2 +-
 .../base/pipeline/kustomization.yaml          |  12 +-
 .../metadata-writer/kustomization.yaml        |   2 +-
 .../env/gcp/inverse-proxy/kustomization.yaml  |   2 +-
 29 files changed, 348 insertions(+), 38 deletions(-)
 create mode 100644 backend/api/v2beta1/python_http_client/docs/V2beta1CreatePipelineAndVersionRequest.md
 create mode 100644 backend/api/v2beta1/python_http_client/kfp_server_api/models/v2beta1_create_pipeline_and_version_request.py
 create mode 100644 backend/api/v2beta1/python_http_client/test/test_v2beta1_create_pipeline_and_version_request.py

diff --git a/CHANGELOG.md b/CHANGELOG.md
index ab5fb924d0c..1a0850eaf4d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,72 @@
 # Changelog
 
+## [2.0.0-rc.2](https://github.com/kubeflow/pipelines/compare/2.0.0-rc.1...2.0.0-rc.2) (2023-06-13)
+
+
+### Features
+
+* **backend:** add schema version check ([\#9447](https://github.com/kubeflow/pipelines/issues/9447)) ([08494a2](https://github.com/kubeflow/pipelines/commit/08494a2db6ec44f8e060d80c1b4e03c9da135485))
+* **backend:** Implement aws-go-sdk crendentials to support IRSA for s3 in V2 ([\#9502](https://github.com/kubeflow/pipelines/issues/9502)) ([8a3215e](https://github.com/kubeflow/pipelines/commit/8a3215ec5619602600bf5f3ca0bb5ef757764bde))
+* **components:** add a check for model garden models and skip eval import ([1782ee2](https://github.com/kubeflow/pipelines/commit/1782ee2d899f7e33fa997a740a3678bf7555fbb6))
+* **components:** Add force_dircet_runner flag to pipeline options ([f167e15](https://github.com/kubeflow/pipelines/commit/f167e15c3ca9b2120f8bb2283b0f3974439fef2f))
+* **components:** Add instructions for formatting BiasConfig input proto using json_format in Model & Data bias component ([3a89044](https://github.com/kubeflow/pipelines/commit/3a8904452539267f6101419239035014a904177c))
+* **components:** add preview directory to GCPC ([b167f87](https://github.com/kubeflow/pipelines/commit/b167f87c5feaf6479eebfb9b0b9de24d512264d8))
+* **components:** Add utility function for constructing the serverless custom job launcher spec ([6fb10f3](https://github.com/kubeflow/pipelines/commit/6fb10f37386f60b0bd761ee399b84421f3184b46))
+* **components:** Define Data Bias component for detecting data bias metrics ([7ab5d97](https://github.com/kubeflow/pipelines/commit/7ab5d97d71fee1ab230441a60bc6001f56b2cad3))
+* **components:** Define Model Bias component for detecting model bias metrics ([7022007](https://github.com/kubeflow/pipelines/commit/70220078b1e66a322d48a3adfbb14988a35b6a79))
+* **components:** Derive image tag from Eval container version. Align Eval image version for all Eval components in GCPC ([63936c0](https://github.com/kubeflow/pipelines/commit/63936c07735521b1244e1e528a9baf80d40b296d))
+* **components:** make GCPC artifacts usable in KFP Python components ([6104ff6](https://github.com/kubeflow/pipelines/commit/6104ff6b198a16270569a70870fa33f4b4cf72ec))
+* **components:** Provide model evaluation pipelines ([9ce827e](https://github.com/kubeflow/pipelines/commit/9ce827e54505e9b7b7af063cfdafe8fba5537e6a))
+* **components:** Release the Seq2Seq and Temporal Fusion Transformer pipelines ([377b961](https://github.com/kubeflow/pipelines/commit/377b96145c295246b57711f8aa1cf42cdc71cf9a))
+* **components:** Support Instance Config in kubeflow model_batch_predict component ([3166418](https://github.com/kubeflow/pipelines/commit/31664189ba403e7008e0da4da44b6814db07b645))
+* **components:** Update eval component with the latest GCPC container image version ([a3418b3](https://github.com/kubeflow/pipelines/commit/a3418b36346fdacfc7c14069991afc7618f7976f))
+* **frontend:** make container name configurable ([\#9433](https://github.com/kubeflow/pipelines/issues/9433)) ([bb9dc67](https://github.com/kubeflow/pipelines/commit/bb9dc67572e0a7b5983ef008c94089965a5f768e))
+* **sdk:** support compiling components with `dsl.PipelineTaskFinalStatus` type ([\#9082](https://github.com/kubeflow/pipelines/issues/9082)) ([7890227](https://github.com/kubeflow/pipelines/commit/78902274f1b8bda228d81944491dd9a41606fc52))
+
+
+### Bug Fixes
+
+* **backend:** Add creation of pipeline and pipeline version atomically ([\#9416](https://github.com/kubeflow/pipelines/issues/9416)) ([79d8d83](https://github.com/kubeflow/pipelines/commit/79d8d83ce4ac18c1d485251554cb668d4f9dc78e))
+* **backend:** enable cache for create/delete PVC ([\#9504](https://github.com/kubeflow/pipelines/issues/9504)) ([eadeb30](https://github.com/kubeflow/pipelines/commit/eadeb3096b9cb3d3c8495491a461154b973b4e2a))
+* **backend:** fix column size of `StateHistory` in `task` table. Fixes: [\#9553](https://github.com/kubeflow/pipelines/issues/9553) ([\#9554](https://github.com/kubeflow/pipelines/issues/9554)) ([0d53de7](https://github.com/kubeflow/pipelines/commit/0d53de7d1c52a75896d439453c42d75c2ad8f0c9))
+* **backend:** Fix url encoding issue. Closes [\#9448](https://github.com/kubeflow/pipelines/issues/9448) ([\#9449](https://github.com/kubeflow/pipelines/issues/9449)) ([3e9f048](https://github.com/kubeflow/pipelines/commit/3e9f04815eafd291c7bd45d842ca25c134c88f4f))
+* **backend:** let components add default values ([\#9591](https://github.com/kubeflow/pipelines/issues/9591)) ([dbebbde](https://github.com/kubeflow/pipelines/commit/dbebbde2001f7d2a7372a8abfd9c5c5a0eaea2b8))
+* **backend:** publish launcher execution even if it fails ([\#9513](https://github.com/kubeflow/pipelines/issues/9513)) ([0ccdb09](https://github.com/kubeflow/pipelines/commit/0ccdb09a350a2410a6c8174501f650ef506f5694))
+* **backend:** upgrade to `gopkg.in/yaml.v3` to fix boolean support. Fixes [\#9451](https://github.com/kubeflow/pipelines/issues/9451) ([\#9473](https://github.com/kubeflow/pipelines/issues/9473)) ([4810b7a](https://github.com/kubeflow/pipelines/commit/4810b7aac7b1ffbfca69df69a26235bb707cfeba))
+* **components:** Change docker base image to marketplace.gcr.io/google/ubuntu2004, which has a smaller size ([d68231d](https://github.com/kubeflow/pipelines/commit/d68231dd9cfbbc1db729adc5a8ad75b1518b5bef))
+* **components:** Fix a bug in job_remote_runner and refactor code ([fc8865a](https://github.com/kubeflow/pipelines/commit/fc8865a59d7617f49ff3b09673267fcd95bbac94))
+* **components:** fix dataset components ([3a7d684](https://github.com/kubeflow/pipelines/commit/3a7d684f665c1557384318b99763a08c43c88075))
+* **components:** fix invalid JSON payload ([c4bf506](https://github.com/kubeflow/pipelines/commit/c4bf50631d2d250c1af1389f5e6f9b4cd359bb43))
+* **components:** Remove print statement when importing eval metrics ([de5ca7a](https://github.com/kubeflow/pipelines/commit/de5ca7a40acd301d16010fff4fcd29c8b8db3090))
+* **components:** Skip sliced FA for non classification tasks to avoid empty input bug in Direct Runner ([bf8c101](https://github.com/kubeflow/pipelines/commit/bf8c10163f447e5227f54865631925f9066531cb))
+* **components:** Update force_dircet_runner flag to force_runner_mode to choose the runner of evaluation pipeline ([5acb016](https://github.com/kubeflow/pipelines/commit/5acb016ee18190f9179ac72a8f4f860cc0520c26))
+* **frontend:** Choose button is disable even if pipeline is already selected (after uploading a new pipeline) ([\#9499](https://github.com/kubeflow/pipelines/issues/9499)) ([9e5e6c6](https://github.com/kubeflow/pipelines/commit/9e5e6c62502315936ae80451b40a7a0f46c934a8))
+* **frontend:** Choose version button is greyed out after closing pipeline selector ([\#9585](https://github.com/kubeflow/pipelines/issues/9585)) ([a029a73](https://github.com/kubeflow/pipelines/commit/a029a73a58a94e619bfd5a75271ee0c40608c335))
+* **frontend:** Choose version button should be disabled if no pipeline is selected ([\#9596](https://github.com/kubeflow/pipelines/issues/9596)) ([c0e170d](https://github.com/kubeflow/pipelines/commit/c0e170d61dc5abc91c5a22e27ca340116ae42463))
+* **frontend:** Display experiment name if experiment is selected ([\#9599](https://github.com/kubeflow/pipelines/issues/9599)) ([5d779e5](https://github.com/kubeflow/pipelines/commit/5d779e5a84214c6ca86651a546c0fb306fd0f8f4))
+* **frontend:** Incorrect page text for empty pipeline. ([\#9560](https://github.com/kubeflow/pipelines/issues/9560)) ([a303e03](https://github.com/kubeflow/pipelines/commit/a303e033c91556ab214233249a64845ddb021a1a))
+* **frontend:** Incorrect page title after switching to another pipeline version. ([\#9450](https://github.com/kubeflow/pipelines/issues/9450)) ([5cf4f19](https://github.com/kubeflow/pipelines/commit/5cf4f1969ecaf82f4cb2627b5bf8e2c791e5425a))
+* **frontend:** Incorrect selected version in summary card ([\#9463](https://github.com/kubeflow/pipelines/issues/9463)) ([c28d41b](https://github.com/kubeflow/pipelines/commit/c28d41bbc010382fd99c9761930d14e01a485547))
+* **frontend:** Make pipeline definition in YAML tab more readable ([\#9511](https://github.com/kubeflow/pipelines/issues/9511)) ([ef9781b](https://github.com/kubeflow/pipelines/commit/ef9781b35ac5fa8ffac99f9a363db2f3d78af46f))
+* **frontend:** Mismatched error text in new run page ([\#9569](https://github.com/kubeflow/pipelines/issues/9569)) ([745e2a6](https://github.com/kubeflow/pipelines/commit/745e2a6e0be0c6c7c17635d2567b6d85855ebef9))
+* **frontend:** Missing pipeline info for "Clone recurring run" after viewing pipeline ([\#9559](https://github.com/kubeflow/pipelines/issues/9559)) ([a2fa55f](https://github.com/kubeflow/pipelines/commit/a2fa55f96c365b41a7a0127ce7c643edcb00bd84))
+* **frontend:** Parameter is missing after upload pipeline in pipeline selector ([\#9579](https://github.com/kubeflow/pipelines/issues/9579)) ([8613a45](https://github.com/kubeflow/pipelines/commit/8613a4504af2dff71ab896549ec03b7107088a71))
+* **frontend:** Parameter is missing in run creation page. Closes [\#9441](https://github.com/kubeflow/pipelines/issues/9441) ([\#9458](https://github.com/kubeflow/pipelines/issues/9458)) ([aa93e59](https://github.com/kubeflow/pipelines/commit/aa93e59fb5f556d5758319b6946735c8cd4e864b))
+* **frontend:** Pipeline Root is not used when provided during New Run creation ([\#9561](https://github.com/kubeflow/pipelines/issues/9561)) ([23739e9](https://github.com/kubeflow/pipelines/commit/23739e9be38a3229911ea5ee0c4d8389ba84f607))
+* **frontend:** Pipeline version is not updated in new run page ([\#9578](https://github.com/kubeflow/pipelines/issues/9578)) ([ee63f91](https://github.com/kubeflow/pipelines/commit/ee63f9187cdffe16ca12362fa98f347db75bf879))
+* **frontend:** Run name should be empty if no pipeline is selected ([\#9497](https://github.com/kubeflow/pipelines/issues/9497)) ([70219b5](https://github.com/kubeflow/pipelines/commit/70219b56def19ddaafc7232a174193d7d88a288d))
+* **frontend:** Toolbar in pipeline details (from run) should only have "Clone run" button ([\#9467](https://github.com/kubeflow/pipelines/issues/9467)) ([43cbb7e](https://github.com/kubeflow/pipelines/commit/43cbb7eec461d7739db55e951e0fdd3bb43b90cd))
+* **frontend:** Unexpected page crash when clicking artifact node. ([\#9519](https://github.com/kubeflow/pipelines/issues/9519)) ([10e639e](https://github.com/kubeflow/pipelines/commit/10e639ed4f10ecbff17a517bf022f52f23fbbe2e))
+* **sdk:** fix bug when iterating over output from upstream task in nested parallelfor loops ([\#9580](https://github.com/kubeflow/pipelines/issues/9580)) ([48ecc7d](https://github.com/kubeflow/pipelines/commit/48ecc7d87915c32b84664a66439a52bb45d5295a))
+* **sdk:** Optimize wait_for_run_completion sdk function to skip an extra wait ([\#9407](https://github.com/kubeflow/pipelines/issues/9407)) ([4d2a1cf](https://github.com/kubeflow/pipelines/commit/4d2a1cf173c0131d4e11f8df927da29881252280))
+* **sdk:** print docker error messages ([\#9595](https://github.com/kubeflow/pipelines/issues/9595)) ([a9ac0b9](https://github.com/kubeflow/pipelines/commit/a9ac0b95bcc69c6214ca4e5e3208c816096f0377))
+* **sdk:** relax executor type checking ([\#9481](https://github.com/kubeflow/pipelines/issues/9481)) ([2961202](https://github.com/kubeflow/pipelines/commit/296120290bbb4eded7f1fb2ff71f866be4953ce9))
+
+
+### Other Pull Requests
+
+* normalize docs version dropdown format ([\#9435](https://github.com/kubeflow/pipelines/issues/9435)) ([f264f38](https://github.com/kubeflow/pipelines/commit/f264f38ade297b1334ef0665e228357c0cf48171))
+
 ## [2.0.0-rc.1](https://github.com/kubeflow/pipelines/compare/2.0.0-beta.2...2.0.0-rc.1) (2023-05-12)
 
 
diff --git a/VERSION b/VERSION
index d0c10bc487c..f52c064494e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.0.0-rc.1
\ No newline at end of file
+2.0.0-rc.2
\ No newline at end of file
diff --git a/backend/api/v1beta1/python_http_client/README.md b/backend/api/v1beta1/python_http_client/README.md
index 4cb123897b5..0829e7def8a 100644
--- a/backend/api/v1beta1/python_http_client/README.md
+++ b/backend/api/v1beta1/python_http_client/README.md
@@ -3,8 +3,8 @@ This file contains REST API specification for Kubeflow Pipelines. The file is au
 
 This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
 
-- API version: 2.0.0-rc.1
-- Package version: 2.0.0-rc.1
+- API version: 2.0.0-rc.2
+- Package version: 2.0.0-rc.2
 - Build package: org.openapitools.codegen.languages.PythonClientCodegen
 For more information, please visit [https://www.google.com](https://www.google.com)
 
diff --git a/backend/api/v1beta1/python_http_client/kfp_server_api/__init__.py b/backend/api/v1beta1/python_http_client/kfp_server_api/__init__.py
index 5e50568552b..db90047f289 100644
--- a/backend/api/v1beta1/python_http_client/kfp_server_api/__init__.py
+++ b/backend/api/v1beta1/python_http_client/kfp_server_api/__init__.py
@@ -14,7 +14,7 @@
 
 from __future__ import absolute_import
 
-__version__ = "2.0.0-rc.1"
+__version__ = "2.0.0-rc.2"
 
 # import apis into sdk package
 from kfp_server_api.api.experiment_service_api import ExperimentServiceApi
diff --git a/backend/api/v1beta1/python_http_client/kfp_server_api/api_client.py b/backend/api/v1beta1/python_http_client/kfp_server_api/api_client.py
index 7cbffc93cb8..d2d5d7316d0 100644
--- a/backend/api/v1beta1/python_http_client/kfp_server_api/api_client.py
+++ b/backend/api/v1beta1/python_http_client/kfp_server_api/api_client.py
@@ -78,7 +78,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None,
             self.default_headers[header_name] = header_value
         self.cookie = cookie
         # Set default User-Agent.
-        self.user_agent = 'OpenAPI-Generator/2.0.0-rc.1/python'
+        self.user_agent = 'OpenAPI-Generator/2.0.0-rc.2/python'
         self.client_side_validation = configuration.client_side_validation
 
     def __enter__(self):
diff --git a/backend/api/v1beta1/python_http_client/kfp_server_api/configuration.py b/backend/api/v1beta1/python_http_client/kfp_server_api/configuration.py
index dadb1fb101f..88652b2bc82 100644
--- a/backend/api/v1beta1/python_http_client/kfp_server_api/configuration.py
+++ b/backend/api/v1beta1/python_http_client/kfp_server_api/configuration.py
@@ -351,8 +351,8 @@ def to_debug_report(self):
         return "Python SDK Debug Report:\n"\
                "OS: {env}\n"\
                "Python Version: {pyversion}\n"\
-               "Version of the API: 2.0.0-rc.1\n"\
-               "SDK Package Version: 2.0.0-rc.1".\
+               "Version of the API: 2.0.0-rc.2\n"\
+               "SDK Package Version: 2.0.0-rc.2".\
                format(env=sys.platform, pyversion=sys.version)
 
     def get_host_settings(self):
diff --git a/backend/api/v1beta1/python_http_client/setup.py b/backend/api/v1beta1/python_http_client/setup.py
index 6c71b477e7e..c5c1c65c186 100644
--- a/backend/api/v1beta1/python_http_client/setup.py
+++ b/backend/api/v1beta1/python_http_client/setup.py
@@ -13,7 +13,7 @@
 from setuptools import setup, find_packages  # noqa: H301
 
 NAME = "kfp-server-api"
-VERSION = "2.0.0-rc.1"
+VERSION = "2.0.0-rc.2"
 # To install the library, run the following
 #
 # python setup.py install
diff --git a/backend/api/v1beta1/swagger/kfp_api_single_file.swagger.json b/backend/api/v1beta1/swagger/kfp_api_single_file.swagger.json
index 44d1ab6cb09..e040f1b2809 100644
--- a/backend/api/v1beta1/swagger/kfp_api_single_file.swagger.json
+++ b/backend/api/v1beta1/swagger/kfp_api_single_file.swagger.json
@@ -2,7 +2,7 @@
   "swagger": "2.0",
   "info": {
     "title": "Kubeflow Pipelines API",
-    "version": "2.0.0-rc.1",
+    "version": "2.0.0-rc.2",
     "description": "This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.",
     "contact": {
       "name": "google",
diff --git a/backend/api/v2beta1/python_http_client/README.md b/backend/api/v2beta1/python_http_client/README.md
index b093342f002..0edc36e8045 100644
--- a/backend/api/v2beta1/python_http_client/README.md
+++ b/backend/api/v2beta1/python_http_client/README.md
@@ -3,8 +3,8 @@ This file contains REST API specification for Kubeflow Pipelines. The file is au
 
 This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
 
-- API version: 2.0.0-rc.1
-- Package version: 2.0.0-rc.1
+- API version: 2.0.0-rc.2
+- Package version: 2.0.0-rc.2
 - Build package: org.openapitools.codegen.languages.PythonClientCodegen
 For more information, please visit [https://www.google.com](https://www.google.com)
 
@@ -150,6 +150,7 @@ Class | Method | HTTP request | Description
  - [ProtobufNullValue](docs/ProtobufNullValue.md)
  - [RecurringRunMode](docs/RecurringRunMode.md)
  - [V2beta1ArtifactList](docs/V2beta1ArtifactList.md)
+ - [V2beta1CreatePipelineAndVersionRequest](docs/V2beta1CreatePipelineAndVersionRequest.md)
  - [V2beta1CronSchedule](docs/V2beta1CronSchedule.md)
  - [V2beta1Experiment](docs/V2beta1Experiment.md)
  - [V2beta1ExperimentStorageState](docs/V2beta1ExperimentStorageState.md)
diff --git a/backend/api/v2beta1/python_http_client/docs/PipelineServiceApi.md b/backend/api/v2beta1/python_http_client/docs/PipelineServiceApi.md
index d77d0b6f071..6382400019d 100644
--- a/backend/api/v2beta1/python_http_client/docs/PipelineServiceApi.md
+++ b/backend/api/v2beta1/python_http_client/docs/PipelineServiceApi.md
@@ -131,7 +131,7 @@ configuration = kfp_server_api.Configuration(
 with kfp_server_api.ApiClient(configuration) as api_client:
     # Create an instance of the API class
     api_instance = kfp_server_api.PipelineServiceApi(api_client)
-    body = kfp_server_api.V2beta1Pipeline() # V2beta1Pipeline | Required input. Pipeline (parent) to be created.
+    body = kfp_server_api.V2beta1CreatePipelineAndVersionRequest() # V2beta1CreatePipelineAndVersionRequest | 
 
     try:
         # Creates a new pipeline and a new pipeline version in a single transaction.
@@ -145,7 +145,7 @@ with kfp_server_api.ApiClient(configuration) as api_client:
 
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **body** | [**V2beta1Pipeline**](V2beta1Pipeline.md)| Required input. Pipeline (parent) to be created. | 
+ **body** | [**V2beta1CreatePipelineAndVersionRequest**](V2beta1CreatePipelineAndVersionRequest.md)|  | 
 
 ### Return type
 
diff --git a/backend/api/v2beta1/python_http_client/docs/V2beta1CreatePipelineAndVersionRequest.md b/backend/api/v2beta1/python_http_client/docs/V2beta1CreatePipelineAndVersionRequest.md
new file mode 100644
index 00000000000..eb107b4d63b
--- /dev/null
+++ b/backend/api/v2beta1/python_http_client/docs/V2beta1CreatePipelineAndVersionRequest.md
@@ -0,0 +1,11 @@
+# V2beta1CreatePipelineAndVersionRequest
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**pipeline** | [**V2beta1Pipeline**](V2beta1Pipeline.md) |  | [optional] 
+**pipeline_version** | [**V2beta1PipelineVersion**](V2beta1PipelineVersion.md) |  | [optional] 
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/backend/api/v2beta1/python_http_client/kfp_server_api/__init__.py b/backend/api/v2beta1/python_http_client/kfp_server_api/__init__.py
index 60014414194..97bbbe5d90a 100644
--- a/backend/api/v2beta1/python_http_client/kfp_server_api/__init__.py
+++ b/backend/api/v2beta1/python_http_client/kfp_server_api/__init__.py
@@ -14,7 +14,7 @@
 
 from __future__ import absolute_import
 
-__version__ = "2.0.0-rc.1"
+__version__ = "2.0.0-rc.2"
 
 # import apis into sdk package
 from kfp_server_api.api.auth_service_api import AuthServiceApi
@@ -47,6 +47,7 @@
 from kfp_server_api.models.protobuf_null_value import ProtobufNullValue
 from kfp_server_api.models.recurring_run_mode import RecurringRunMode
 from kfp_server_api.models.v2beta1_artifact_list import V2beta1ArtifactList
+from kfp_server_api.models.v2beta1_create_pipeline_and_version_request import V2beta1CreatePipelineAndVersionRequest
 from kfp_server_api.models.v2beta1_cron_schedule import V2beta1CronSchedule
 from kfp_server_api.models.v2beta1_experiment import V2beta1Experiment
 from kfp_server_api.models.v2beta1_experiment_storage_state import V2beta1ExperimentStorageState
diff --git a/backend/api/v2beta1/python_http_client/kfp_server_api/api/pipeline_service_api.py b/backend/api/v2beta1/python_http_client/kfp_server_api/api/pipeline_service_api.py
index ab8a773e4d8..59bfec0c224 100644
--- a/backend/api/v2beta1/python_http_client/kfp_server_api/api/pipeline_service_api.py
+++ b/backend/api/v2beta1/python_http_client/kfp_server_api/api/pipeline_service_api.py
@@ -171,8 +171,8 @@ def create_pipeline_and_version(self, body, **kwargs):  # noqa: E501
         >>> thread = api.create_pipeline_and_version(body, async_req=True)
         >>> result = thread.get()
 
-        :param body: Required input. Pipeline (parent) to be created. (required)
-        :type body: V2beta1Pipeline
+        :param body: (required)
+        :type body: V2beta1CreatePipelineAndVersionRequest
         :param async_req: Whether to execute the request asynchronously.
         :type async_req: bool, optional
         :param _preload_content: if False, the urllib3.HTTPResponse object will
@@ -199,8 +199,8 @@ def create_pipeline_and_version_with_http_info(self, body, **kwargs):  # noqa: E
         >>> thread = api.create_pipeline_and_version_with_http_info(body, async_req=True)
         >>> result = thread.get()
 
-        :param body: Required input. Pipeline (parent) to be created. (required)
-        :type body: V2beta1Pipeline
+        :param body: (required)
+        :type body: V2beta1CreatePipelineAndVersionRequest
         :param async_req: Whether to execute the request asynchronously.
         :type async_req: bool, optional
         :param _return_http_data_only: response data without head status code
diff --git a/backend/api/v2beta1/python_http_client/kfp_server_api/api_client.py b/backend/api/v2beta1/python_http_client/kfp_server_api/api_client.py
index 7cbffc93cb8..d2d5d7316d0 100644
--- a/backend/api/v2beta1/python_http_client/kfp_server_api/api_client.py
+++ b/backend/api/v2beta1/python_http_client/kfp_server_api/api_client.py
@@ -78,7 +78,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None,
             self.default_headers[header_name] = header_value
         self.cookie = cookie
         # Set default User-Agent.
-        self.user_agent = 'OpenAPI-Generator/2.0.0-rc.1/python'
+        self.user_agent = 'OpenAPI-Generator/2.0.0-rc.2/python'
         self.client_side_validation = configuration.client_side_validation
 
     def __enter__(self):
diff --git a/backend/api/v2beta1/python_http_client/kfp_server_api/configuration.py b/backend/api/v2beta1/python_http_client/kfp_server_api/configuration.py
index dadb1fb101f..88652b2bc82 100644
--- a/backend/api/v2beta1/python_http_client/kfp_server_api/configuration.py
+++ b/backend/api/v2beta1/python_http_client/kfp_server_api/configuration.py
@@ -351,8 +351,8 @@ def to_debug_report(self):
         return "Python SDK Debug Report:\n"\
                "OS: {env}\n"\
                "Python Version: {pyversion}\n"\
-               "Version of the API: 2.0.0-rc.1\n"\
-               "SDK Package Version: 2.0.0-rc.1".\
+               "Version of the API: 2.0.0-rc.2\n"\
+               "SDK Package Version: 2.0.0-rc.2".\
                format(env=sys.platform, pyversion=sys.version)
 
     def get_host_settings(self):
diff --git a/backend/api/v2beta1/python_http_client/kfp_server_api/models/__init__.py b/backend/api/v2beta1/python_http_client/kfp_server_api/models/__init__.py
index 257818252f8..298b31c0029 100644
--- a/backend/api/v2beta1/python_http_client/kfp_server_api/models/__init__.py
+++ b/backend/api/v2beta1/python_http_client/kfp_server_api/models/__init__.py
@@ -25,6 +25,7 @@
 from kfp_server_api.models.protobuf_null_value import ProtobufNullValue
 from kfp_server_api.models.recurring_run_mode import RecurringRunMode
 from kfp_server_api.models.v2beta1_artifact_list import V2beta1ArtifactList
+from kfp_server_api.models.v2beta1_create_pipeline_and_version_request import V2beta1CreatePipelineAndVersionRequest
 from kfp_server_api.models.v2beta1_cron_schedule import V2beta1CronSchedule
 from kfp_server_api.models.v2beta1_experiment import V2beta1Experiment
 from kfp_server_api.models.v2beta1_experiment_storage_state import V2beta1ExperimentStorageState
diff --git a/backend/api/v2beta1/python_http_client/kfp_server_api/models/v2beta1_create_pipeline_and_version_request.py b/backend/api/v2beta1/python_http_client/kfp_server_api/models/v2beta1_create_pipeline_and_version_request.py
new file mode 100644
index 00000000000..3edf52ec113
--- /dev/null
+++ b/backend/api/v2beta1/python_http_client/kfp_server_api/models/v2beta1_create_pipeline_and_version_request.py
@@ -0,0 +1,146 @@
+# coding: utf-8
+
+"""
+    Kubeflow Pipelines API
+
+    This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
+
+    Contact: kubeflow-pipelines@google.com
+    Generated by: https://openapi-generator.tech
+"""
+
+
+import pprint
+import re  # noqa: F401
+
+import six
+
+from kfp_server_api.configuration import Configuration
+
+
+class V2beta1CreatePipelineAndVersionRequest(object):
+    """NOTE: This class is auto generated by OpenAPI Generator.
+    Ref: https://openapi-generator.tech
+
+    Do not edit the class manually.
+    """
+
+    """
+    Attributes:
+      openapi_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    openapi_types = {
+        'pipeline': 'V2beta1Pipeline',
+        'pipeline_version': 'V2beta1PipelineVersion'
+    }
+
+    attribute_map = {
+        'pipeline': 'pipeline',
+        'pipeline_version': 'pipeline_version'
+    }
+
+    def __init__(self, pipeline=None, pipeline_version=None, local_vars_configuration=None):  # noqa: E501
+        """V2beta1CreatePipelineAndVersionRequest - a model defined in OpenAPI"""  # noqa: E501
+        if local_vars_configuration is None:
+            local_vars_configuration = Configuration()
+        self.local_vars_configuration = local_vars_configuration
+
+        self._pipeline = None
+        self._pipeline_version = None
+        self.discriminator = None
+
+        if pipeline is not None:
+            self.pipeline = pipeline
+        if pipeline_version is not None:
+            self.pipeline_version = pipeline_version
+
+    @property
+    def pipeline(self):
+        """Gets the pipeline of this V2beta1CreatePipelineAndVersionRequest.  # noqa: E501
+
+
+        :return: The pipeline of this V2beta1CreatePipelineAndVersionRequest.  # noqa: E501
+        :rtype: V2beta1Pipeline
+        """
+        return self._pipeline
+
+    @pipeline.setter
+    def pipeline(self, pipeline):
+        """Sets the pipeline of this V2beta1CreatePipelineAndVersionRequest.
+
+
+        :param pipeline: The pipeline of this V2beta1CreatePipelineAndVersionRequest.  # noqa: E501
+        :type pipeline: V2beta1Pipeline
+        """
+
+        self._pipeline = pipeline
+
+    @property
+    def pipeline_version(self):
+        """Gets the pipeline_version of this V2beta1CreatePipelineAndVersionRequest.  # noqa: E501
+
+
+        :return: The pipeline_version of this V2beta1CreatePipelineAndVersionRequest.  # noqa: E501
+        :rtype: V2beta1PipelineVersion
+        """
+        return self._pipeline_version
+
+    @pipeline_version.setter
+    def pipeline_version(self, pipeline_version):
+        """Sets the pipeline_version of this V2beta1CreatePipelineAndVersionRequest.
+
+
+        :param pipeline_version: The pipeline_version of this V2beta1CreatePipelineAndVersionRequest.  # noqa: E501
+        :type pipeline_version: V2beta1PipelineVersion
+        """
+
+        self._pipeline_version = pipeline_version
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.openapi_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, V2beta1CreatePipelineAndVersionRequest):
+            return False
+
+        return self.to_dict() == other.to_dict()
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        if not isinstance(other, V2beta1CreatePipelineAndVersionRequest):
+            return True
+
+        return self.to_dict() != other.to_dict()
diff --git a/backend/api/v2beta1/python_http_client/setup.py b/backend/api/v2beta1/python_http_client/setup.py
index 6c71b477e7e..c5c1c65c186 100644
--- a/backend/api/v2beta1/python_http_client/setup.py
+++ b/backend/api/v2beta1/python_http_client/setup.py
@@ -13,7 +13,7 @@
 from setuptools import setup, find_packages  # noqa: H301
 
 NAME = "kfp-server-api"
-VERSION = "2.0.0-rc.1"
+VERSION = "2.0.0-rc.2"
 # To install the library, run the following
 #
 # python setup.py install
diff --git a/backend/api/v2beta1/python_http_client/test/test_v2beta1_create_pipeline_and_version_request.py b/backend/api/v2beta1/python_http_client/test/test_v2beta1_create_pipeline_and_version_request.py
new file mode 100644
index 00000000000..785c54aec28
--- /dev/null
+++ b/backend/api/v2beta1/python_http_client/test/test_v2beta1_create_pipeline_and_version_request.py
@@ -0,0 +1,83 @@
+# coding: utf-8
+
+"""
+    Kubeflow Pipelines API
+
+    This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
+
+    Contact: kubeflow-pipelines@google.com
+    Generated by: https://openapi-generator.tech
+"""
+
+
+from __future__ import absolute_import
+
+import unittest
+import datetime
+
+import kfp_server_api
+from kfp_server_api.models.v2beta1_create_pipeline_and_version_request import V2beta1CreatePipelineAndVersionRequest  # noqa: E501
+from kfp_server_api.rest import ApiException
+
+class TestV2beta1CreatePipelineAndVersionRequest(unittest.TestCase):
+    """V2beta1CreatePipelineAndVersionRequest unit test stubs"""
+
+    def setUp(self):
+        pass
+
+    def tearDown(self):
+        pass
+
+    def make_instance(self, include_optional):
+        """Test V2beta1CreatePipelineAndVersionRequest
+            include_option is a boolean, when False only required
+            params are included, when True both required and
+            optional params are included """
+        # model = kfp_server_api.models.v2beta1_create_pipeline_and_version_request.V2beta1CreatePipelineAndVersionRequest()  # noqa: E501
+        if include_optional :
+            return V2beta1CreatePipelineAndVersionRequest(
+                pipeline = kfp_server_api.models.v2beta1_pipeline.v2beta1Pipeline(
+                    pipeline_id = '0', 
+                    display_name = '0', 
+                    description = '0', 
+                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
+                    namespace = '0', 
+                    error = kfp_server_api.models.googlerpc_status.googlerpcStatus(
+                        code = 56, 
+                        message = '0', 
+                        details = [
+                            kfp_server_api.models.protobuf_any.protobufAny(
+                                type_url = '0', 
+                                value = 'YQ==', )
+                            ], ), ), 
+                pipeline_version = kfp_server_api.models.v2beta1_pipeline_version.v2beta1PipelineVersion(
+                    pipeline_id = '0', 
+                    pipeline_version_id = '0', 
+                    display_name = '0', 
+                    description = '0', 
+                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
+                    package_url = kfp_server_api.models.v2beta1_url.v2beta1Url(
+                        pipeline_url = '0', ), 
+                    code_source_url = '0', 
+                    pipeline_spec = kfp_server_api.models.pipeline_spec.pipeline_spec(), 
+                    error = kfp_server_api.models.googlerpc_status.googlerpcStatus(
+                        code = 56, 
+                        message = '0', 
+                        details = [
+                            kfp_server_api.models.protobuf_any.protobufAny(
+                                type_url = '0', 
+                                value = 'YQ==', )
+                            ], ), )
+            )
+        else :
+            return V2beta1CreatePipelineAndVersionRequest(
+        )
+
+    def testV2beta1CreatePipelineAndVersionRequest(self):
+        """Test V2beta1CreatePipelineAndVersionRequest"""
+        inst_req_only = self.make_instance(include_optional=False)
+        inst_req_and_optional = self.make_instance(include_optional=True)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/backend/api/v2beta1/swagger/kfp_api_single_file.swagger.json b/backend/api/v2beta1/swagger/kfp_api_single_file.swagger.json
index b3c60ee5b43..d72dd2d1651 100644
--- a/backend/api/v2beta1/swagger/kfp_api_single_file.swagger.json
+++ b/backend/api/v2beta1/swagger/kfp_api_single_file.swagger.json
@@ -2,7 +2,7 @@
   "swagger": "2.0",
   "info": {
     "title": "Kubeflow Pipelines API",
-    "version": "2.0.0-rc.1",
+    "version": "2.0.0-rc.2",
     "description": "This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.",
     "contact": {
       "name": "google",
diff --git a/manifests/gcp_marketplace/chart/kubeflow-pipelines/templates/application.yaml b/manifests/gcp_marketplace/chart/kubeflow-pipelines/templates/application.yaml
index 4a98b37117c..db9ef79b729 100644
--- a/manifests/gcp_marketplace/chart/kubeflow-pipelines/templates/application.yaml
+++ b/manifests/gcp_marketplace/chart/kubeflow-pipelines/templates/application.yaml
@@ -12,7 +12,7 @@ metadata:
 spec:
   descriptor:
     type: Kubeflow Pipelines
-    version: 2.0.0-rc.1
+    version: 2.0.0-rc.2
     description: |-
       Reusable end-to-end ML workflow
     maintainers:
diff --git a/manifests/gcp_marketplace/schema.yaml b/manifests/gcp_marketplace/schema.yaml
index 9504bc466ff..617278136c4 100644
--- a/manifests/gcp_marketplace/schema.yaml
+++ b/manifests/gcp_marketplace/schema.yaml
@@ -1,9 +1,9 @@
 x-google-marketplace:
   schemaVersion: v2
   applicationApiVersion: v1beta1
-  publishedVersion: 2.0.0-rc.1
+  publishedVersion: 2.0.0-rc.2
   publishedVersionMetadata:
-    releaseNote: Based on 2.0.0-rc.1 version.
+    releaseNote: Based on 2.0.0-rc.2 version.
     releaseTypes:
       - Feature
     recommended: false
diff --git a/manifests/kustomize/base/cache-deployer/kustomization.yaml b/manifests/kustomize/base/cache-deployer/kustomization.yaml
index 5bff3841c10..2c423ed89e2 100644
--- a/manifests/kustomize/base/cache-deployer/kustomization.yaml
+++ b/manifests/kustomize/base/cache-deployer/kustomization.yaml
@@ -8,4 +8,4 @@ commonLabels:
   app: cache-deployer
 images:
   - name: gcr.io/ml-pipeline/cache-deployer
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
diff --git a/manifests/kustomize/base/cache/kustomization.yaml b/manifests/kustomize/base/cache/kustomization.yaml
index be56e1d7703..5a70d8b9762 100644
--- a/manifests/kustomize/base/cache/kustomization.yaml
+++ b/manifests/kustomize/base/cache/kustomization.yaml
@@ -10,4 +10,4 @@ commonLabels:
   app: cache-server
 images:
   - name: gcr.io/ml-pipeline/cache-server
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
diff --git a/manifests/kustomize/base/installs/generic/pipeline-install-config.yaml b/manifests/kustomize/base/installs/generic/pipeline-install-config.yaml
index 95c8e814b46..c790428efa0 100644
--- a/manifests/kustomize/base/installs/generic/pipeline-install-config.yaml
+++ b/manifests/kustomize/base/installs/generic/pipeline-install-config.yaml
@@ -11,7 +11,7 @@ data:
     until the changes take effect. A quick way to restart all deployments in a
     namespace: `kubectl rollout restart deployment -n <your-namespace>`.
   appName: pipeline
-  appVersion: 2.0.0-rc.1
+  appVersion: 2.0.0-rc.2
   dbHost: mysql
   dbPort: "3306"
   mlmdDb: metadb
diff --git a/manifests/kustomize/base/metadata/base/kustomization.yaml b/manifests/kustomize/base/metadata/base/kustomization.yaml
index 433f41e8bc0..9e74de4c96b 100644
--- a/manifests/kustomize/base/metadata/base/kustomization.yaml
+++ b/manifests/kustomize/base/metadata/base/kustomization.yaml
@@ -9,4 +9,4 @@ resources:
   - metadata-grpc-sa.yaml
 images:
   - name: gcr.io/ml-pipeline/metadata-envoy
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
diff --git a/manifests/kustomize/base/pipeline/kustomization.yaml b/manifests/kustomize/base/pipeline/kustomization.yaml
index 6ec217dc925..10cc219f503 100644
--- a/manifests/kustomize/base/pipeline/kustomization.yaml
+++ b/manifests/kustomize/base/pipeline/kustomization.yaml
@@ -37,14 +37,14 @@ resources:
   - kfp-launcher-configmap.yaml
 images:
   - name: gcr.io/ml-pipeline/api-server
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
   - name: gcr.io/ml-pipeline/persistenceagent
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
   - name: gcr.io/ml-pipeline/scheduledworkflow
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
   - name: gcr.io/ml-pipeline/frontend
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
   - name: gcr.io/ml-pipeline/viewer-crd-controller
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
   - name: gcr.io/ml-pipeline/visualization-server
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
diff --git a/manifests/kustomize/base/pipeline/metadata-writer/kustomization.yaml b/manifests/kustomize/base/pipeline/metadata-writer/kustomization.yaml
index 683b8881fcf..5f9d89f2f5d 100644
--- a/manifests/kustomize/base/pipeline/metadata-writer/kustomization.yaml
+++ b/manifests/kustomize/base/pipeline/metadata-writer/kustomization.yaml
@@ -7,4 +7,4 @@ resources:
   - metadata-writer-sa.yaml
 images:
   - name: gcr.io/ml-pipeline/metadata-writer
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
diff --git a/manifests/kustomize/env/gcp/inverse-proxy/kustomization.yaml b/manifests/kustomize/env/gcp/inverse-proxy/kustomization.yaml
index 2d20fecd8e3..7697f26dbdf 100644
--- a/manifests/kustomize/env/gcp/inverse-proxy/kustomization.yaml
+++ b/manifests/kustomize/env/gcp/inverse-proxy/kustomization.yaml
@@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 images:
   - name: gcr.io/ml-pipeline/inverse-proxy-agent
-    newTag: 2.0.0-rc.1
+    newTag: 2.0.0-rc.2
 resources:
   - proxy-configmap.yaml
   - proxy-deployment.yaml