From 78bf2be276c141b7365116ffa8d1570c542caf98 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:32:50 -0400 Subject: [PATCH 01/10] feat(dns): Update setup.py metadata and python_requires --- packages/google-cloud-dns/setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-cloud-dns/setup.py b/packages/google-cloud-dns/setup.py index 2e95c50fa9c5..7e0587034fbd 100644 --- a/packages/google-cloud-dns/setup.py +++ b/packages/google-cloud-dns/setup.py @@ -77,7 +77,6 @@ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -90,7 +89,7 @@ packages=packages, install_requires=dependencies, extras_require=extras, - python_requires=">=3.9", + python_requires=">=3.10", include_package_data=True, zip_safe=False, ) From 5cf12984a2d9c2c57e49cbb4546a1ba7c350f6c9 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:33:02 -0400 Subject: [PATCH 02/10] feat(dns): Update Nox sessions to remove old versions --- packages/google-cloud-dns/noxfile.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/google-cloud-dns/noxfile.py b/packages/google-cloud-dns/noxfile.py index 5df61c9c4a2f..4e697285081a 100644 --- a/packages/google-cloud-dns/noxfile.py +++ b/packages/google-cloud-dns/noxfile.py @@ -35,7 +35,6 @@ DEFAULT_PYTHON_VERSION = "3.14" ALL_PYTHON: List[str] = [ - "3.9", "3.10", "3.11", "3.12", @@ -69,7 +68,6 @@ CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() nox.options.sessions = [ - "unit-3.9", "unit-3.10", "unit-3.11", "unit-3.12", From b6c073bf9d5b7392af152916a67b1e54a978ce51 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:33:20 -0400 Subject: [PATCH 03/10] docs(dns): Update README and CONTRIBUTING documentation --- packages/google-cloud-dns/CONTRIBUTING.rst | 4 +--- packages/google-cloud-dns/README.rst | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-dns/CONTRIBUTING.rst b/packages/google-cloud-dns/CONTRIBUTING.rst index f0961ac7e469..a8af9520c636 100644 --- a/packages/google-cloud-dns/CONTRIBUTING.rst +++ b/packages/google-cloud-dns/CONTRIBUTING.rst @@ -22,7 +22,7 @@ In order to add a feature: documentation. - The feature must work fully on the following CPython versions: - 3.9, 3.10, 3.11, 3.12, 3.13 and 3.14 on both UNIX and Windows. + 3.10, 3.11, 3.12, 3.13 and 3.14 on both UNIX and Windows. - The feature must not add unnecessary dependencies (where "unnecessary" is of course subjective, but new dependencies should @@ -197,14 +197,12 @@ Supported Python Versions We support: -- `Python 3.9`_ - `Python 3.10`_ - `Python 3.11`_ - `Python 3.12`_ - `Python 3.13`_ - `Python 3.14`_ -.. _Python 3.9: https://docs.python.org/3.9/ .. _Python 3.10: https://docs.python.org/3.10/ .. _Python 3.11: https://docs.python.org/3.11/ .. _Python 3.12: https://docs.python.org/3.12/ diff --git a/packages/google-cloud-dns/README.rst b/packages/google-cloud-dns/README.rst index ca28886a43d7..cf09b2aeb663 100644 --- a/packages/google-cloud-dns/README.rst +++ b/packages/google-cloud-dns/README.rst @@ -60,14 +60,14 @@ Supported Python Versions Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of Python. -Python >= 3.9 +Python >= 3.10 .. _active: https://devguide.python.org/devcycle/#in-development-main-branch .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches Unsupported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Python <= 3.8 +Python <= 3.9 If you are using an `end-of-life`_ version of Python, we recommend that you update as soon as possible to an actively supported version. From 2a44f029af881d0ae0e8363e3e39df3f374adc3e Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:33:48 -0400 Subject: [PATCH 04/10] test(dns): Update testing constraints to 3.10 and drop 3.9 --- packages/google-cloud-dns/pytest.ini | 6 +----- packages/google-cloud-dns/testing/constraints-3.10.txt | 8 ++++++++ packages/google-cloud-dns/testing/constraints-3.9.txt | 8 -------- 3 files changed, 9 insertions(+), 13 deletions(-) delete mode 100644 packages/google-cloud-dns/testing/constraints-3.9.txt diff --git a/packages/google-cloud-dns/pytest.ini b/packages/google-cloud-dns/pytest.ini index c99940119830..7bded45854c4 100644 --- a/packages/google-cloud-dns/pytest.ini +++ b/packages/google-cloud-dns/pytest.ini @@ -9,8 +9,4 @@ filterwarnings = # Remove once https://github.com/googleapis/python-api-common-protos/pull/187/files is merged ignore:.*pkg_resources.declare_namespace:DeprecationWarning ignore:.*pkg_resources is deprecated as an API:DeprecationWarning - # Remove after support for Python 3.7 is dropped - ignore:After January 1, 2024, new releases of this library will drop support for Python 3.7:DeprecationWarning - # Remove after support for Python 3.8, 3.9 and/or 3.10+ is dropped - ignore:\s*You are using a (non-supported )?Python version \(?3\.(8|9|1[0-9]+):DeprecationWarning - ignore:\s*You are using a (non-supported )?Python version \(?3\.(8|9|1[0-9]+):FutureWarning + diff --git a/packages/google-cloud-dns/testing/constraints-3.10.txt b/packages/google-cloud-dns/testing/constraints-3.10.txt index e69de29bb2d1..327aaf29bca7 100644 --- a/packages/google-cloud-dns/testing/constraints-3.10.txt +++ b/packages/google-cloud-dns/testing/constraints-3.10.txt @@ -0,0 +1,8 @@ +# This constraints file is used to check that lower bounds +# are correct in setup.py +# List *all* library dependencies and extras in this file. +# Pin the version to the lower bound. +# +# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", +# Then this file should have foo==1.14.0 +google-cloud-core==1.4.4 diff --git a/packages/google-cloud-dns/testing/constraints-3.9.txt b/packages/google-cloud-dns/testing/constraints-3.9.txt deleted file mode 100644 index 327aaf29bca7..000000000000 --- a/packages/google-cloud-dns/testing/constraints-3.9.txt +++ /dev/null @@ -1,8 +0,0 @@ -# This constraints file is used to check that lower bounds -# are correct in setup.py -# List *all* library dependencies and extras in this file. -# Pin the version to the lower bound. -# -# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", -# Then this file should have foo==1.14.0 -google-cloud-core==1.4.4 From 10e1c515c2c1d13176776805d3705636327bc92f Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 16:10:09 -0400 Subject: [PATCH 05/10] fix(dns): Restore Python 3.10+ warning ignores in pytest.ini --- packages/google-cloud-dns/pytest.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/google-cloud-dns/pytest.ini b/packages/google-cloud-dns/pytest.ini index 7bded45854c4..c228fa298c51 100644 --- a/packages/google-cloud-dns/pytest.ini +++ b/packages/google-cloud-dns/pytest.ini @@ -9,4 +9,7 @@ filterwarnings = # Remove once https://github.com/googleapis/python-api-common-protos/pull/187/files is merged ignore:.*pkg_resources.declare_namespace:DeprecationWarning ignore:.*pkg_resources is deprecated as an API:DeprecationWarning + # Remove after support for Python 3.8, 3.9 and/or 3.10+ is dropped + ignore:\s*You are using a (non-supported )?Python version \(?3\.(8|9|1[0-9]+):DeprecationWarning + ignore:\s*You are using a (non-supported )?Python version \(?3\.(8|9|1[0-9]+):FutureWarning From 0a9fc0db658364ec467d88b5fb76bee8b12f2b57 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 07:14:31 -0400 Subject: [PATCH 06/10] docs(dns): Update README and CONTRIBUTING for Python 3.9 drop --- packages/google-cloud-dns/CONTRIBUTING.rst | 11 ----------- packages/google-cloud-dns/README.rst | 1 + 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/google-cloud-dns/CONTRIBUTING.rst b/packages/google-cloud-dns/CONTRIBUTING.rst index a8af9520c636..89f0df89dff7 100644 --- a/packages/google-cloud-dns/CONTRIBUTING.rst +++ b/packages/google-cloud-dns/CONTRIBUTING.rst @@ -215,17 +215,6 @@ Supported versions can be found in our ``noxfile.py`` `config`_. .. _config: https://github.com/googleapis/google-cloud-python/blob/main/noxfile.py -We also explicitly decided to support Python 3 beginning with version 3.9. -Reasons for this include: - -- Encouraging use of newest versions of Python 3 -- Taking the lead of `prominent`_ open-source `projects`_ -- `Unicode literal support`_ which allows for a cleaner codebase that - works in both Python 2 and Python 3 - -.. _prominent: https://docs.djangoproject.com/en/1.9/faq/install/#what-python-version-can-i-use-with-django -.. _projects: http://flask.pocoo.org/docs/0.10/python3/ -.. _Unicode literal support: https://www.python.org/dev/peps/pep-0414/ ********** Versioning diff --git a/packages/google-cloud-dns/README.rst b/packages/google-cloud-dns/README.rst index cf09b2aeb663..30fea8181f9d 100644 --- a/packages/google-cloud-dns/README.rst +++ b/packages/google-cloud-dns/README.rst @@ -67,6 +67,7 @@ Python >= 3.10 Unsupported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. version-scanner: ignore-next-line Python <= 3.9 If you are using an `end-of-life`_ From 44ec703fd6c45a4b58ba07ec481bfecb7b1569f8 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 07:14:34 -0400 Subject: [PATCH 07/10] test(dns): Add scanner ignores in pytest.ini --- packages/google-cloud-dns/pytest.ini | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-dns/pytest.ini b/packages/google-cloud-dns/pytest.ini index c228fa298c51..7a827285f224 100644 --- a/packages/google-cloud-dns/pytest.ini +++ b/packages/google-cloud-dns/pytest.ini @@ -9,7 +9,9 @@ filterwarnings = # Remove once https://github.com/googleapis/python-api-common-protos/pull/187/files is merged ignore:.*pkg_resources.declare_namespace:DeprecationWarning ignore:.*pkg_resources is deprecated as an API:DeprecationWarning - # Remove after support for Python 3.8, 3.9 and/or 3.10+ is dropped + # Remove after support for Python 3.8, 3.9 and/or 3.10+ is dropped # version-scanner: ignore + # version-scanner: ignore-next-line ignore:\s*You are using a (non-supported )?Python version \(?3\.(8|9|1[0-9]+):DeprecationWarning + # version-scanner: ignore-next-line ignore:\s*You are using a (non-supported )?Python version \(?3\.(8|9|1[0-9]+):FutureWarning From 0dd6bed13e3e9608eec57cfd2fb9840834b237b5 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 07:56:36 -0400 Subject: [PATCH 08/10] chore(google-cloud-dns): remove scanner pragmas --- packages/google-cloud-dns/pytest.ini | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/google-cloud-dns/pytest.ini b/packages/google-cloud-dns/pytest.ini index 7a827285f224..d8732de43181 100644 --- a/packages/google-cloud-dns/pytest.ini +++ b/packages/google-cloud-dns/pytest.ini @@ -9,9 +9,6 @@ filterwarnings = # Remove once https://github.com/googleapis/python-api-common-protos/pull/187/files is merged ignore:.*pkg_resources.declare_namespace:DeprecationWarning ignore:.*pkg_resources is deprecated as an API:DeprecationWarning - # Remove after support for Python 3.8, 3.9 and/or 3.10+ is dropped # version-scanner: ignore - # version-scanner: ignore-next-line + # Remove after support for Python 3.8, 3.9 and/or 3.10+ is dropped ignore:\s*You are using a (non-supported )?Python version \(?3\.(8|9|1[0-9]+):DeprecationWarning - # version-scanner: ignore-next-line ignore:\s*You are using a (non-supported )?Python version \(?3\.(8|9|1[0-9]+):FutureWarning - From cccd735e173e2cb47754147c713ce6875343ebe4 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 08:20:27 -0400 Subject: [PATCH 09/10] chore(google-cloud-dns): remove scanner pragma from README.rst --- packages/google-cloud-dns/README.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google-cloud-dns/README.rst b/packages/google-cloud-dns/README.rst index 30fea8181f9d..cf09b2aeb663 100644 --- a/packages/google-cloud-dns/README.rst +++ b/packages/google-cloud-dns/README.rst @@ -67,7 +67,6 @@ Python >= 3.10 Unsupported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. version-scanner: ignore-next-line Python <= 3.9 If you are using an `end-of-life`_ From efa5feaf5d34e9b47bd121e88f34ed15b108792f Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 09:36:19 -0400 Subject: [PATCH 10/10] docs(google-cloud-dns): sync README.rst to docs folder --- packages/google-cloud-dns/docs/README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-dns/docs/README.rst b/packages/google-cloud-dns/docs/README.rst index ca28886a43d7..cf09b2aeb663 100644 --- a/packages/google-cloud-dns/docs/README.rst +++ b/packages/google-cloud-dns/docs/README.rst @@ -60,14 +60,14 @@ Supported Python Versions Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of Python. -Python >= 3.9 +Python >= 3.10 .. _active: https://devguide.python.org/devcycle/#in-development-main-branch .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches Unsupported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Python <= 3.8 +Python <= 3.9 If you are using an `end-of-life`_ version of Python, we recommend that you update as soon as possible to an actively supported version.