From 3115f790e33f25d4be47931caa17229ad9673951 Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Mon, 25 Oct 2021 13:34:01 -0700 Subject: [PATCH 01/12] Document how to use the release script --- devel/release.md | 55 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 9 deletions(-) diff --git a/devel/release.md b/devel/release.md index 9802f2de13..c0ae13e1cd 100644 --- a/devel/release.md +++ b/devel/release.md @@ -15,11 +15,50 @@ report issues. Typically, there is a single alpha or beta release, but if there are a higher than expected number of issues there can be multiple releases (e.g, a2 or b2). -## 1. Update submodules +## Automated release + +### 1. (Optional) Update submodules + +Update submodules by referring to this [link](https://github.com/kubernetes-client/python/blob/master/devel/submodules.md#update-submodule). Commit the changes and open a pull request. + +### 2. Run the release script and send a PR + +``` +export MINOR_VERSION=x +export PATCH_VERSION=y # The latest patch version for the minor version. Not required for snapshot. +``` +To create a snapshot: +``` +$ KUBERNETES_BRANCH=release-1.${MINOR_VERSION} CLIENT_VERSION=${MINOR_VERSION}.0.0-snapshot DEVELOPMENT_STATUS="3 - Alpha" scripts/release.sh +``` +To create an a1 release: +``` +$ KUBERNETES_BRANCH=release-1.${MINOR_VERSION} CLIENT_VERSION=${MINOR_VERSION}.${PATCH_VERSION}.0a1 DEVELOPMENT_STATUS="3 - Alpha" scripts/release.sh +``` +To create a b1 release: +``` +$ KUBERNETES_BRANCH=release-1.${MINOR_VERSION} CLIENT_VERSION=${MINOR_VERSION}.${PATCH_VERSION}.0b1 DEVELOPMENT_STATUS="4 - Beta" scripts/release.sh +``` +To create a stable release: +``` +$ KUBERNETES_BRANCH=release-1.${MINOR_VERSION} CLIENT_VERSION=${MINOR_VERSION}.${PATCH_VERSION}.0 DEVELOPMENT_STATUS="5 - Production/Stable" scripts/release.sh +``` +### 3. README + +Update the compatibility matrix and maintenance status in the README file. + +### Submit pull request + +Typically after the you've completed steps 2-6 above you can push your changes +open a pull request against `kubernetes-client:release-x.y` + +## (Deprecated) Manual release + +### 1. Update submodules Update submodules by referring to this [link](https://github.com/kubernetes-client/python/blob/master/devel/submodules.md#update-submodule). Commit the changes and open a pull request. -## 2. Create or update release branch +### 2. Create or update release branch The release branch name should have release-x.x format. All minor and pre-releases should be on the same branch. To update an existing branch with master (only for @@ -36,7 +75,7 @@ git pull -X theirs upstream master You may need to fix some conflicts. For auto-generated files, you can commit either version. They will be updated to the current version in the next step. -## 3. Update release tags +### 3. Update release tags Release tags are in the "scripts/constants.py" file. These are the constants you may need to update: @@ -73,7 +112,7 @@ apply the manual fixes.*** git push upstream $RELEASE_BRANCH ``` -## 4. Hot issues +### 4. Hot issues Use the `scripts/apply-hotfixes.sh` script to apply the fixes below in one step. **As mentioned above, the script should be run after finishing the section "Update release tags". Also, ensure a clean working directory before applying the script.** @@ -99,7 +138,7 @@ For more details, see [#974](https://github.com/kubernetes-client/python/issues/ 5. Add tests for the default `Configuration` behavior (ref: https://github.com/kubernetes-client/python/pull/1303 and https://github.com/kubernetes-client/python/pull/1285). The commit [1ffa61d0650e4c93e0d7f0becd2c54797eafd407](https://github.com/kubernetes-client/python/pull/1285/commits/1ffa61d0650e4c93e0d7f0becd2c54797eafd407) should be cherry-picked. -## 5. CHANGELOG +### 5. CHANGELOG Make sure the change logs are up to date [here](https://github.com/kubernetes-client/python/blob/master/CHANGELOG.md). If they are not, follow commits added after the last release and update/commit @@ -107,11 +146,11 @@ the change logs to master. Then based on the release, follow one of next two steps. -## 6. README +### 6. README Update the compatibility matrix and maintenance status in the README file. -## Submit pull request +### Submit pull request Typically after the you've completed steps 2-6 above you can push your changes open a pull request against `kubernetes-client:release-x.y` @@ -220,6 +259,4 @@ deactivate rm -rf .release ``` -TODO: Convert steps in this document to an (semi-) automated script. - ref: https://packaging.python.org/distributing/ From 03d812dc6d3bf37aaeb4f6dd6878dbee94b8885c Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Mon, 25 Oct 2021 15:16:49 -0700 Subject: [PATCH 02/12] fixup! Document how to use the release script --- devel/release.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/devel/release.md b/devel/release.md index c0ae13e1cd..ec26475683 100644 --- a/devel/release.md +++ b/devel/release.md @@ -43,14 +43,25 @@ To create a stable release: ``` $ KUBERNETES_BRANCH=release-1.${MINOR_VERSION} CLIENT_VERSION=${MINOR_VERSION}.${PATCH_VERSION}.0 DEVELOPMENT_STATUS="5 - Production/Stable" scripts/release.sh ``` -### 3. README +Checkout the generated local branch (named "automated-release-of-xxx") to +continue with the remaining steps. + +### 3. README (not required for snapshots) Update the compatibility matrix and maintenance status in the README file. -### Submit pull request +### 4. Submit pull request -Typically after the you've completed steps 2-6 above you can push your changes -open a pull request against `kubernetes-client:release-x.y` +For snapshots, create a PR against the master repo. + +For actual releases, create: +- a PR against the release branch +- a second PR against the master branch to cherrypick the CHANGELOG and README + changes. + +### 5. (Repo admin) Create release branch + +After merging a new snapshot, create a release branch from the master branch. ## (Deprecated) Manual release From e8f77e7ae7f7da2c974f049ef1ac2be213bdf4b6 Mon Sep 17 00:00:00 2001 From: itaru2622 Date: Tue, 26 Oct 2021 07:13:53 +0000 Subject: [PATCH 03/12] update scripts/apply-hotfixes.sh for no_proxy support --- scripts/apply-hotfixes.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/apply-hotfixes.sh b/scripts/apply-hotfixes.sh index b420eb9614..6edad0dbea 100755 --- a/scripts/apply-hotfixes.sh +++ b/scripts/apply-hotfixes.sh @@ -64,4 +64,18 @@ else exit 1 fi; +# Patching commit for no_proxy support +# UPDATE: The commit being cherry-picked is updated kubernetes/client/ unless OpenAPI generator v5.3.1 involved (offinical support of no_proxy feature). +# Ref: https://github.com/kubernetes-client/python/pull/1579/commits/95a893cd1c34de11a4e3893dd1dfde4a0ca30bdc and conversations in the PR. +git cherry-pick -n 95a893cd1c34de11a4e3893dd1dfde4a0ca30bdc +if [ $? -eq 0 ] +then + echo Succesfully patched changes for no_proxy support +else + echo Failed to patch changes for no_proxy support + git restore --staged . + exit 1 +fi; + + git commit -m "Apply hotfixes" From 23df733b71e9cb79f3ff4f5447caf8d75c475913 Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Tue, 26 Oct 2021 11:28:29 -0700 Subject: [PATCH 04/12] Run release-notes tool only when we actually pull commits into the release branch --- scripts/release.sh | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/scripts/release.sh b/scripts/release.sh index f364dba3e8..d88564857f 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -140,26 +140,28 @@ if [[ $CLIENT_VERSION != *"snapshot"* ]]; then git pull -X theirs upstream master --no-edit # Collect release notes from master branch - start_sha=$(git log ${remote_branch}..upstream/master | grep ^commit | tail -n1 | sed 's/commit //g') - end_sha=$(git log ${remote_branch}..upstream/master | grep ^commit | head -n1 | sed 's/commit //g') - output="/tmp/python-master-relnote.md" - release-notes --dependencies=false --org kubernetes-client --repo python --start-sha $start_sha --end-sha $end_sha --output $output - sed -i 's/(\[\#/(\[kubernetes-client\/python\#/g' $output - - IFS_backup=$IFS - IFS=$'\n' - sections=($(grep "^### " $output)) - IFS=$IFS_backup - for section in "${sections[@]}"; do - # ignore section titles and empty lines; replace newline with liternal "\n" - master_release_notes=$(sed -n "/$section/,/###/{/###/!p}" $output | sed -n "{/^$/!p}" | sed ':a;N;$!ba;s/\n/\\n/g') - util::changelog::write_changelog v$CLIENT_VERSION "$section" "$master_release_notes" - done - git add . - if ! git diff-index --quiet --cached HEAD; then - util::changelog::update_release_api_version $CLIENT_VERSION $CLIENT_VERSION $new_k8s_api_version + if [[ $(git log ${remote_branch}..upstream/master | grep ^commit) ]]; then + start_sha=$(git log ${remote_branch}..upstream/master | grep ^commit | tail -n1 | sed 's/commit //g') + end_sha=$(git log ${remote_branch}..upstream/master | grep ^commit | head -n1 | sed 's/commit //g') + output="/tmp/python-master-relnote.md" + release-notes --dependencies=false --org kubernetes-client --repo python --start-sha $start_sha --end-sha $end_sha --output $output + sed -i 's/(\[\#/(\[kubernetes-client\/python\#/g' $output + + IFS_backup=$IFS + IFS=$'\n' + sections=($(grep "^### " $output)) + IFS=$IFS_backup + for section in "${sections[@]}"; do + # ignore section titles and empty lines; replace newline with liternal "\n" + master_release_notes=$(sed -n "/$section/,/###/{/###/!p}" $output | sed -n "{/^$/!p}" | sed ':a;N;$!ba;s/\n/\\n/g') + util::changelog::write_changelog v$CLIENT_VERSION "$section" "$master_release_notes" + done git add . - git commit -m "update changelog with release notes from master branch" + if ! git diff-index --quiet --cached HEAD; then + util::changelog::update_release_api_version $CLIENT_VERSION $CLIENT_VERSION $new_k8s_api_version + git add . + git commit -m "update changelog with release notes from master branch" + fi fi fi From 121942b47db5bed6ebe605127e1a556e9c6953ee Mon Sep 17 00:00:00 2001 From: Yu Liao Date: Tue, 26 Oct 2021 11:05:26 -0700 Subject: [PATCH 05/12] added personal access token instruction --- devel/release.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/devel/release.md b/devel/release.md index ec26475683..2d87d7c6ef 100644 --- a/devel/release.md +++ b/devel/release.md @@ -22,8 +22,11 @@ are a higher than expected number of issues there can be multiple releases Update submodules by referring to this [link](https://github.com/kubernetes-client/python/blob/master/devel/submodules.md#update-submodule). Commit the changes and open a pull request. ### 2. Run the release script and send a PR +Generate a Github personal access token following instruction +[link](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) ``` +export GITHUB_TOKEN=t # github-personal-access-token export MINOR_VERSION=x export PATCH_VERSION=y # The latest patch version for the minor version. Not required for snapshot. ``` From 4fb04c075805e8084f674af47a4dfea3f31ecb45 Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Tue, 26 Oct 2021 13:50:29 -0700 Subject: [PATCH 06/12] Only collect release notes from tmp output file if the file is non-empty --- scripts/release.sh | 35 +++++++++++++++++++---------------- scripts/update-submodule.sh | 32 ++++++++++++++++++-------------- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/scripts/release.sh b/scripts/release.sh index d88564857f..017a5c000b 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -143,24 +143,27 @@ if [[ $CLIENT_VERSION != *"snapshot"* ]]; then if [[ $(git log ${remote_branch}..upstream/master | grep ^commit) ]]; then start_sha=$(git log ${remote_branch}..upstream/master | grep ^commit | tail -n1 | sed 's/commit //g') end_sha=$(git log ${remote_branch}..upstream/master | grep ^commit | head -n1 | sed 's/commit //g') - output="/tmp/python-master-relnote.md" + output="/tmp/python-master-relnote-$(date +%s).md" release-notes --dependencies=false --org kubernetes-client --repo python --start-sha $start_sha --end-sha $end_sha --output $output - sed -i 's/(\[\#/(\[kubernetes-client\/python\#/g' $output - - IFS_backup=$IFS - IFS=$'\n' - sections=($(grep "^### " $output)) - IFS=$IFS_backup - for section in "${sections[@]}"; do - # ignore section titles and empty lines; replace newline with liternal "\n" - master_release_notes=$(sed -n "/$section/,/###/{/###/!p}" $output | sed -n "{/^$/!p}" | sed ':a;N;$!ba;s/\n/\\n/g') - util::changelog::write_changelog v$CLIENT_VERSION "$section" "$master_release_notes" - done - git add . - if ! git diff-index --quiet --cached HEAD; then - util::changelog::update_release_api_version $CLIENT_VERSION $CLIENT_VERSION $new_k8s_api_version + # Collect release notes from the output if non-empty + if [ -s $output ]; then + sed -i 's/(\[\#/(\[kubernetes-client\/python\#/g' $output + + IFS_backup=$IFS + IFS=$'\n' + sections=($(grep "^### " $output)) + IFS=$IFS_backup + for section in "${sections[@]}"; do + # ignore section titles and empty lines; replace newline with liternal "\n" + master_release_notes=$(sed -n "/$section/,/###/{/###/!p}" $output | sed -n "{/^$/!p}" | sed ':a;N;$!ba;s/\n/\\n/g') + util::changelog::write_changelog v$CLIENT_VERSION "$section" "$master_release_notes" + done git add . - git commit -m "update changelog with release notes from master branch" + if ! git diff-index --quiet --cached HEAD; then + util::changelog::update_release_api_version $CLIENT_VERSION $CLIENT_VERSION $new_k8s_api_version + git add . + git commit -m "update changelog with release notes from master branch" + fi fi fi fi diff --git a/scripts/update-submodule.sh b/scripts/update-submodule.sh index 45431b37e0..8c64fa555b 100755 --- a/scripts/update-submodule.sh +++ b/scripts/update-submodule.sh @@ -50,20 +50,24 @@ git submodule update --remote # download release notes start_sha=$(git diff | grep "^-Subproject commit " | sed 's/-Subproject commit //g') end_sha=$(git diff | grep "^+Subproject commit " | sed 's/+Subproject commit //g') -output="/tmp/python-base-relnote.md" +output="/tmp/python-base-relnote-$(date +%s).md" release-notes --dependencies=false --org kubernetes-client --repo python-base --start-sha $start_sha --end-sha $end_sha --output $output -sed -i 's/(\[\#/(\[kubernetes-client\/python-base\#/g' $output +if [ -s $output ]; then + sed -i 's/(\[\#/(\[kubernetes-client\/python-base\#/g' $output -# update changelog -IFS_backup=$IFS -IFS=$'\n' -sections=($(grep "^### " $output)) -IFS=$IFS_backup -for section in "${sections[@]}"; do - # ignore section titles and empty lines; replace newline with liternal "\n" - release_notes=$(sed -n "/$section/,/###/{/###/!p}" $output | sed -n "{/^$/!p}" | sed ':a;N;$!ba;s/\n/\\n/g') - util::changelog::write_changelog "$TARGET_RELEASE" "$section" "$release_notes" -done + # update changelog + IFS_backup=$IFS + IFS=$'\n' + sections=($(grep "^### " $output)) + IFS=$IFS_backup + for section in "${sections[@]}"; do + # ignore section titles and empty lines; replace newline with liternal "\n" + release_notes=$(sed -n "/$section/,/###/{/###/!p}" $output | sed -n "{/^$/!p}" | sed ':a;N;$!ba;s/\n/\\n/g') + util::changelog::write_changelog "$TARGET_RELEASE" "$section" "$release_notes" + done -rm -f $output -echo "Successfully updated CHANGELOG for submodule." + rm -f $output + echo "Successfully updated CHANGELOG for submodule." +else + echo "No CHANGELOG for submodule." +fi From 029603980be76b67accf290bc4c68a1cf60f8b3f Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Tue, 26 Oct 2021 14:06:25 -0700 Subject: [PATCH 07/12] Add comments about what git add . does --- scripts/release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release.sh b/scripts/release.sh index 017a5c000b..a5e4dc6f3d 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -158,10 +158,10 @@ if [[ $CLIENT_VERSION != *"snapshot"* ]]; then master_release_notes=$(sed -n "/$section/,/###/{/###/!p}" $output | sed -n "{/^$/!p}" | sed ':a;N;$!ba;s/\n/\\n/g') util::changelog::write_changelog v$CLIENT_VERSION "$section" "$master_release_notes" done - git add . + git add . # Allows us to check if there are any staged release note changes if ! git diff-index --quiet --cached HEAD; then util::changelog::update_release_api_version $CLIENT_VERSION $CLIENT_VERSION $new_k8s_api_version - git add . + git add . # Include the API version update before we commit git commit -m "update changelog with release notes from master branch" fi fi From b230fc02fb6ff345ece33fe89b16cd3de12dbcdb Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Wed, 27 Oct 2021 09:05:17 -0700 Subject: [PATCH 08/12] Update k8s API version if the old client was a snapshot --- scripts/release.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/release.sh b/scripts/release.sh index a5e4dc6f3d..55b8a321ad 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -185,9 +185,12 @@ git commit -am "update version constants for $CLIENT_VERSION release" # TODO(roycaihw): not all Kubernetes API changes modify the OpenAPI spec. # Download the patch and skip if the spec is not modified. Also we want to # look at other k/k sections like "deprecation" -if [[ $CLIENT_VERSION == *"snapshot"* ]]; then - # Update "Kubernetes API Version" if we are generating a snapshot +if [[ $old_client_version == *"snapshot"* ]]; then + # If the old client version was a snapshot, update the changelog in place util::changelog::update_release_api_version $CLIENT_VERSION $old_client_version $new_k8s_api_version +else + # Otherwise add a new section in the changelog + util::changelog::update_release_api_version $CLIENT_VERSION $CLIENT_VERSION $new_k8s_api_version fi release_notes=$(util::kube_changelog::get_api_changelog "$KUBERNETES_BRANCH" "$old_k8s_api_version") if [[ -n "$release_notes" ]]; then From ba9c60f36075f6f25c6000607781c3b6e13d9c88 Mon Sep 17 00:00:00 2001 From: Yu Liao Date: Wed, 27 Oct 2021 09:32:15 -0700 Subject: [PATCH 09/12] update version constants for 20.11.0a1 release --- scripts/constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/constants.py b/scripts/constants.py index f1a11e9647..f4526a45dc 100644 --- a/scripts/constants.py +++ b/scripts/constants.py @@ -18,7 +18,7 @@ KUBERNETES_BRANCH = "release-1.20" # client version for packaging and releasing. -CLIENT_VERSION = "20.0.0-snapshot" +CLIENT_VERSION = "20.11.0a1" # Name of the release package PACKAGE_NAME = "kubernetes" From c3b2dd10d841caec8c8c867bf7bef31927f560b5 Mon Sep 17 00:00:00 2001 From: Yu Liao Date: Wed, 27 Oct 2021 09:32:15 -0700 Subject: [PATCH 10/12] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5204f567e1..1d048be6ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# v20.0.0-snapshot +# v20.11.0a1 Kubernetes API Version: v1.20.11 From 6b738d87809a327359602c7f6c664341766c52e3 Mon Sep 17 00:00:00 2001 From: Yu Liao Date: Wed, 27 Oct 2021 09:32:58 -0700 Subject: [PATCH 11/12] generated client change --- kubernetes/README.md | 2 +- kubernetes/__init__.py | 2 +- kubernetes/client/__init__.py | 2 +- kubernetes/client/api_client.py | 2 +- kubernetes/client/configuration.py | 2 +- setup.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kubernetes/README.md b/kubernetes/README.md index 356a3e4983..e7047e8482 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -4,7 +4,7 @@ No description provided (generated by Openapi Generator https://github.com/opena This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: release-1.20 -- Package version: 20.0.0-snapshot +- Package version: 20.11.0a1 - Build package: org.openapitools.codegen.languages.PythonClientCodegen ## Requirements. diff --git a/kubernetes/__init__.py b/kubernetes/__init__.py index 0693f15360..d0ca52b37c 100644 --- a/kubernetes/__init__.py +++ b/kubernetes/__init__.py @@ -14,7 +14,7 @@ __project__ = 'kubernetes' # The version is auto-updated. Please do not edit. -__version__ = "20.0.0-snapshot" +__version__ = "20.11.0a1" import kubernetes.client import kubernetes.config diff --git a/kubernetes/client/__init__.py b/kubernetes/client/__init__.py index 95c0088d6d..a8cad2dfec 100644 --- a/kubernetes/client/__init__.py +++ b/kubernetes/client/__init__.py @@ -14,7 +14,7 @@ from __future__ import absolute_import -__version__ = "20.0.0-snapshot" +__version__ = "20.11.0a1" # import apis into sdk package from kubernetes.client.api.well_known_api import WellKnownApi diff --git a/kubernetes/client/api_client.py b/kubernetes/client/api_client.py index 5b73389c10..04b4677921 100644 --- a/kubernetes/client/api_client.py +++ b/kubernetes/client/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/20.0.0-snapshot/python' + self.user_agent = 'OpenAPI-Generator/20.11.0a1/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/kubernetes/client/configuration.py b/kubernetes/client/configuration.py index b34a98395e..87f4870263 100644 --- a/kubernetes/client/configuration.py +++ b/kubernetes/client/configuration.py @@ -350,7 +350,7 @@ def to_debug_report(self): "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: release-1.20\n"\ - "SDK Package Version: 20.0.0-snapshot".\ + "SDK Package Version: 20.11.0a1".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/setup.py b/setup.py index 9efe558bcb..c021e16a9a 100644 --- a/setup.py +++ b/setup.py @@ -16,7 +16,7 @@ # Do not edit these constants. They will be updated automatically # by scripts/update-client.sh. -CLIENT_VERSION = "20.0.0-snapshot" +CLIENT_VERSION = "20.11.0a1" PACKAGE_NAME = "kubernetes" DEVELOPMENT_STATUS = "3 - Alpha" From 334b16f3d47176671a605c2998964da42b069231 Mon Sep 17 00:00:00 2001 From: Yu Liao Date: Mon, 25 Oct 2021 16:12:07 -0700 Subject: [PATCH 12/12] added 1.20.11 alpha release to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 078ffcbe63..0e6615830f 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,7 @@ supported versions of Kubernetes clusters. - [client 17.y.z](https://pypi.org/project/kubernetes/17.17.0/): Kubernetes 1.16 or below (+-), Kubernetes 1.17 (✓), Kubernetes 1.18 or above (+-) - [client 18.y.z](https://pypi.org/project/kubernetes/18.20.0/): Kubernetes 1.17 or below (+-), Kubernetes 1.18 (✓), Kubernetes 1.19 or above (+-) - [client 19.y.z](https://pypi.org/project/kubernetes/19.15.0/): Kubernetes 1.18 or below (+-), Kubernetes 1.19 (✓), Kubernetes 1.20 or above (+-) +- [client 20.y.z](https://pypi.org/project/kubernetes/20.11.0/): Kubernetes 1.19 or below (+-), Kubernetes 1.20 (✓), Kubernetes 1.21 or above (+-) > See [here](#homogenizing-the-kubernetes-python-client-versions) for an explaination of why there is no v13-v16 release. @@ -131,6 +132,7 @@ between client-python versions. | 18.0 | Kubernetes main repo, 1.18 branch | ✓ | | 19.0 Alpha/Beta | Kubernetes main repo, 1.19 branch | ✗ | | 19.0 | Kubernetes main repo, 1.19 branch | ✓ | +| 20.0 Alpha/Beta | Kubernetes main repo, 1.20 branch | ✓ | > See [here](#homogenizing-the-kubernetes-python-client-versions) for an explaination of why there is no v13-v16 release.