diff --git a/CHANGELOG.md b/CHANGELOG.md index 74d60d176d..97d8be5f7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# v32.0.0 + +Kubernetes API Version: v1.32.1 + +### Bug or Regression +- Fixed PortForward proxy to close local Python sockets when the WebSocket closes. (#2316, @anvilpete) + # v32.0.0b1 Kubernetes API Version: v1.32.1 diff --git a/README.md b/README.md index 29812669f5..7f148915e1 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ supported versions of Kubernetes clusters. - [client 29.y.z](https://pypi.org/project/kubernetes/29.0.0/): Kubernetes 1.28 or below (+-), Kubernetes 1.29 (✓), Kubernetes 1.30 or above (+-) - [client 30.y.z](https://pypi.org/project/kubernetes/30.1.0/): Kubernetes 1.29 or below (+-), Kubernetes 1.30 (✓), Kubernetes 1.31 or above (+-) - [client 31.y.z](https://pypi.org/project/kubernetes/31.0.0/): Kubernetes 1.30 or below (+-), Kubernetes 1.31 (✓), Kubernetes 1.32 or above (+-) -- [client 32.y.z](https://pypi.org/project/kubernetes/32.0.0b1/): Kubernetes 1.31 or below (+-), Kubernetes 1.32 (✓), Kubernetes 1.33 or above (+-) +- [client 32.y.z](https://pypi.org/project/kubernetes/32.0.0/): Kubernetes 1.31 or below (+-), Kubernetes 1.32 (✓), Kubernetes 1.33 or above (+-) > See [here](#homogenizing-the-kubernetes-python-client-versions) for an explanation of why there is no v13-v16 release. @@ -164,12 +164,13 @@ between client-python versions. | 28.0 Alpha/Beta | Kubernetes main repo, 1.28 branch | ✗ | | 28.0 | Kubernetes main repo, 1.28 branch | ✗ | | 29.0 Alpha/Beta | Kubernetes main repo, 1.29 branch | ✗ | -| 29.0 | Kubernetes main repo, 1.29 branch | ✓ | +| 29.0 | Kubernetes main repo, 1.29 branch | ✗ | | 30.0 Alpha/Beta | Kubernetes main repo, 1.30 branch | ✗ | | 30.0 | Kubernetes main repo, 1.30 branch | ✓ | | 31.0 Alpha/Beta | Kubernetes main repo, 1.31 branch | ✗ | | 31.0 | Kubernetes main repo, 1.31 branch | ✓ | -| 32.0 Alpha/Beta | Kubernetes main repo, 1.32 branch | ✓ | +| 32.0 Alpha/Beta | Kubernetes main repo, 1.32 branch | ✗ | +| 32.0 | Kubernetes main repo, 1.32 branch | ✓ | > See [here](#homogenizing-the-kubernetes-python-client-versions) for an explanation of why there is no v13-v16 release. diff --git a/kubernetes/README.md b/kubernetes/README.md index 1ba588bb5d..7e31c7aa28 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.32 -- Package version: 32.0.0b1 +- Package version: 32.0.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen ## Requirements. diff --git a/kubernetes/__init__.py b/kubernetes/__init__.py index cba8dbd665..5ea666bf69 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__ = "32.0.0b1" +__version__ = "32.0.0" from . import client from . import config diff --git a/kubernetes/base/stream/ws_client.py b/kubernetes/base/stream/ws_client.py index 3c854ea741..10c6c1bcd5 100644 --- a/kubernetes/base/stream/ws_client.py +++ b/kubernetes/base/stream/ws_client.py @@ -30,7 +30,7 @@ from six.moves.urllib.parse import urlencode, urlparse, urlunparse from six import StringIO, BytesIO -from websocket import WebSocket, ABNF, enableTrace +from websocket import WebSocket, ABNF, enableTrace, WebSocketConnectionClosedException from base64 import urlsafe_b64decode from requests.utils import should_bypass_proxies @@ -379,7 +379,12 @@ def _proxy(self): if sock == self.websocket: pending = True while pending: - opcode, frame = self.websocket.recv_data_frame(True) + try: + opcode, frame = self.websocket.recv_data_frame(True) + except WebSocketConnectionClosedException: + for port in self.local_ports.values(): + port.python.close() + return if opcode == ABNF.OPCODE_BINARY: if not frame.data: raise RuntimeError("Unexpected frame data size") diff --git a/kubernetes/client/__init__.py b/kubernetes/client/__init__.py index 7277dc8f99..7368d6a4ee 100644 --- a/kubernetes/client/__init__.py +++ b/kubernetes/client/__init__.py @@ -14,7 +14,7 @@ from __future__ import absolute_import -__version__ = "32.0.0b1" +__version__ = "32.0.0" # 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 b0abd35881..3e21219d7e 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/32.0.0b1/python' + self.user_agent = 'OpenAPI-Generator/32.0.0/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 b9fbddcbf2..1a234595c3 100644 --- a/kubernetes/client/configuration.py +++ b/kubernetes/client/configuration.py @@ -354,7 +354,7 @@ def to_debug_report(self): "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: release-1.32\n"\ - "SDK Package Version: 32.0.0b1".\ + "SDK Package Version: 32.0.0".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/scripts/constants.py b/scripts/constants.py index e52e3fab1a..e9a768c365 100644 --- a/scripts/constants.py +++ b/scripts/constants.py @@ -18,13 +18,13 @@ KUBERNETES_BRANCH = "release-1.32" # client version for packaging and releasing. -CLIENT_VERSION = "32.0.0b1" +CLIENT_VERSION = "32.0.0" # Name of the release package PACKAGE_NAME = "kubernetes" # Stage of development, mainly used in setup.py's classifiers. -DEVELOPMENT_STATUS = "4 - Beta" +DEVELOPMENT_STATUS = "5 - Production/Stable" # If called directly, return the constant value given diff --git a/setup.py b/setup.py index d6cd8c5019..01e26edf87 100644 --- a/setup.py +++ b/setup.py @@ -16,9 +16,9 @@ # Do not edit these constants. They will be updated automatically # by scripts/update-client.sh. -CLIENT_VERSION = "32.0.0b1" +CLIENT_VERSION = "32.0.0" PACKAGE_NAME = "kubernetes" -DEVELOPMENT_STATUS = "4 - Beta" +DEVELOPMENT_STATUS = "5 - Production/Stable" # To install the library, run the following #