Skip to content

Conversation

@renovate-bot
Copy link
Contributor

@renovate-bot renovate-bot commented Nov 17, 2025

This PR contains the following updates:

Package Type Update Change Age Confidence
actions/checkout action major v5 -> v6 age confidence
cachetools patch ==6.2.1 -> ==6.2.2 age confidence
certifi minor ==2025.10.5 -> ==2025.11.12 age confidence
click (changelog) patch ==8.3.0 -> ==8.3.1 age confidence
exceptiongroup (changelog) patch ==1.3.0 -> ==1.3.1 age confidence
protobuf patch ==6.33.0 -> ==6.33.1 age confidence
pypandoc patch ==1.16 -> ==1.16.2 age confidence
pytest (changelog) patch ==9.0.0 -> ==9.0.1 age confidence
python uses-with minor 3.10 -> 3.14 age confidence
rules_cc http_archive minor 0.1.1 -> 0.2.14 age confidence
ubuntu github-runner major 22.04 -> 24.04 age confidence
urllib3 (changelog) minor ==2.5.0 -> ==2.6.0 age confidence

Release Notes

actions/checkout (actions/checkout)

v6

Compare Source

tkem/cachetools (cachetools)

v6.2.2

Compare Source

===================

  • Minor improvements from GitHub Copilot code review.

  • Improve documentation.

certifi/python-certifi (certifi)

v2025.11.12

Compare Source

pallets/click (click)

v8.3.1

Compare Source

Released 2025-11-15

  • Don't discard pager arguments by correctly using subprocess.Popen. :issue:3039
    :pr:3055
  • Replace Sentinel.UNSET default values by None as they're passed through
    the Context.invoke() method. :issue:3066 :issue:3065 :pr:3068
  • Fix conversion of Sentinel.UNSET happening too early, which caused incorrect
    behavior for multiple parameters using the same name. :issue:3071 :pr:3079
  • Hide Sentinel.UNSET values as None when looking up for other parameters
    through the context inside parameter callbacks. :issue:3136 :pr:3137
  • Fix rendering when prompt and confirm parameter prompt_suffix is
    empty. :issue:3019 :pr:3021
  • When Sentinel.UNSET is found during parsing, it will skip calls to
    type_cast_value. :issue:3069 :pr:3090
agronholm/exceptiongroup (exceptiongroup)

v1.3.1

Compare Source

  • Fixed AttributeError: 'TracebackException' object has no attribute 'exceptions' when formatting unpickled TBEs from another Python process which did not apply the exceptiongroup patches (#​144)
JessicaTegner/pypandoc (pypandoc)

v1.16.2

Compare Source

pytest-dev/pytest (pytest)

v9.0.1

Compare Source

pytest 9.0.1 (2025-11-12)

Bug fixes

  • #​13895: Restore support for skipping tests via raise unittest.SkipTest.
  • #​13896: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.
  • #​13904: Fixed the TOML type of the verbosity settings in the API reference from number to string.
  • #​13910: Fixed UserWarning: Do not expect file_or_dir on some earlier Python 3.12 and 3.13 point versions.

Packaging updates and notes for downstreams

  • #​13933: The tox configuration has been adjusted to make sure the desired
    version string can be passed into its package_env through
    the SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST environment
    variable as a part of the release process -- by webknjaz.

Contributor-facing changes

  • #​13891, #​13942: The CI/CD part of the release automation is now capable of
    creating GitHub Releases without having a Git checkout on
    disk -- by bluetech and webknjaz.
  • #​13933: The tox configuration has been adjusted to make sure the desired
    version string can be passed into its package_env through
    the SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST environment
    variable as a part of the release process -- by webknjaz.
actions/python-versions (python)

v3.14.1: 3.14.1

Compare Source

Python 3.14.1

v3.14.0: 3.14.0

Compare Source

Python 3.14.0

v3.13.10: 3.13.10

Compare Source

Python 3.13.10

v3.13.9: 3.13.9

Compare Source

Python 3.13.9

v3.13.8: 3.13.8

Compare Source

Python 3.13.8

v3.13.7: 3.13.7

Compare Source

Python 3.13.7

v3.13.6: 3.13.6

Compare Source

Python 3.13.6

v3.13.5: 3.13.5

Compare Source

Python 3.13.5

v3.13.4: 3.13.4

Compare Source

Python 3.13.4

v3.13.3: 3.13.3

Compare Source

Python 3.13.3

v3.13.2: 3.13.2

Compare Source

Python 3.13.2

v3.13.1: 3.13.1

Compare Source

Python 3.13.1

v3.13.0: 3.13.0

Compare Source

Python 3.13.0

v3.12.12: 3.12.12

Compare Source

Python 3.12.12

v3.12.11: 3.12.11

Compare Source

Python 3.12.11

v3.12.10: 3.12.10

Compare Source

Python 3.12.10

v3.12.9: 3.12.9

Compare Source

Python 3.12.9

v3.12.8: 3.12.8

Compare Source

Python 3.12.8

v3.12.7: 3.12.7

Compare Source

Python 3.12.7

v3.12.6: 3.12.6

Compare Source

Python 3.12.6

v3.12.5: 3.12.5

Compare Source

Python 3.12.5

v3.12.4: 3.12.4

Compare Source

Python 3.12.4

v3.12.3: 3.12.3

Compare Source

Python 3.12.3

v3.12.2: 3.12.2

Compare Source

Python 3.12.2

v3.12.1: 3.12.1

Compare Source

Python 3.12.1

v3.12.0: 3.12.0

Compare Source

Python 3.12.0

v3.11.14: 3.11.14

Compare Source

Python 3.11.14

v3.11.13: 3.11.13

Compare Source

Python 3.11.13

v3.11.12: 3.11.12

Compare Source

Python 3.11.12

v3.11.11: 3.11.11

Compare Source

Python 3.11.11

v3.11.10: 3.11.10

Compare Source

Python 3.11.10

v3.11.9: 3.11.9

Compare Source

Python 3.11.9

v3.11.8: 3.11.8

Compare Source

Python 3.11.8

v3.11.7: 3.11.7

Compare Source

Python 3.11.7

v3.11.6: 3.11.6

Compare Source

Python 3.11.6

v3.11.5: 3.11.5

Compare Source

Python 3.11.5

v3.11.4: 3.11.4

Compare Source

Python 3.11.4

v3.11.3: 3.11.3

Compare Source

Python 3.11.3

v3.11.2: 3.11.2

Compare Source

Python 3.11.2

v3.11.1: 3.11.1

Compare Source

Python 3.11.1

v3.11.0: 3.11.0

Compare Source

Python 3.11.0

bazelbuild/rules_cc (rules_cc)

v0.2.14

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.14")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "a2fdfde2ab9b2176bd6a33afca14458039023edb1dd2e73e6823810809df4027",
    strip_prefix = "rules_cc-0.2.14",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.14/rules_cc-0.2.14.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.13...0.2.14

v0.2.13

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.13")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "472ddca8cec1e64ad78e4f0cabbec55936a3baddbe7bef072764ca91504bd523",
    strip_prefix = "rules_cc-0.2.13",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.13/rules_cc-0.2.13.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.12...0.2.13

v0.2.12

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.12")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "35457e8d5cf273e02fc6781cf7160054c6f412bd98de1ae501c850d1be2bdfc0",
    strip_prefix = "rules_cc-0.2.12",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.12/rules_cc-0.2.12.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.11...0.2.12

v0.2.11

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.11")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "5287821524d1c1d20f1c0ffa90bd2c2d776473dd8c84dafa9eb783150286d825",
    strip_prefix = "rules_cc-0.2.11",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.11/rules_cc-0.2.11.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.10...0.2.11

v0.2.10

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.10")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "774fd6cb9f90f98f1d26c776896b16a517a1af65337fcfaa705261df175f04a6",
    strip_prefix = "rules_cc-0.2.10",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.10/rules_cc-0.2.10.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.9...0.2.10

v0.2.9

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.9")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "69ceb454b9b29e0aba7da81c72e96ecafd81d2044be883b46398b1c77ca7fff9",
    strip_prefix = "rules_cc-0.2.9",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.9/rules_cc-0.2.9.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.8...0.2.9

v0.2.8

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.8")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "207ea073dd20a705f9e8bc5ac02f5203e9621fc672774bb1a0935aefab7aebfa",
    strip_prefix = "rules_cc-0.2.8",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.8/rules_cc-0.2.8.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.7...0.2.8

v0.2.7

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.7")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "36ebed732fbdb5aafc73f4ffc0e276717ca6c4d927e967f325a45d6abc141c74",
    strip_prefix = "rules_cc-0.2.7",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.7/rules_cc-0.2.7.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.6...0.2.7

v0.2.6

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.6")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "78cfc4131c1814ee549a4c1c064d5b91ee5026eef231e548232def4ce3e0671e",
    strip_prefix = "rules_cc-0.2.6",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.6/rules_cc-0.2.6.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.5...0.2.6

v0.2.5

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.5")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "c0a0cee0e94c7242b6904c2ad23e19a90c8127946d19a11d61a20f50a01cca20",
    strip_prefix = "rules_cc-0.2.5",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.5/rules_cc-0.2.5.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.4...0.2.5

v0.2.4

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.4")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "8dcd63392f0bb48adf74f413a9f39ba0fedcb8f99bf085a3b450f06d171dbb6d",
    strip_prefix = "rules_cc-0.2.4",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.4/rules_cc-0.2.4.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.3...0.2.4

v0.2.3

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.3")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "88661aba2ad049ae0be36eca8222c1911a397c077776aba8efa42b737eaa3152",
    strip_prefix = "rules_cc-0.2.3",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.3/rules_cc-0.2.3.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.2...0.2.3

v0.2.2

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.2")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "e50f24506011841e2ac83d9733a0c7e058eb3a10a6e3e10baa9c7942ff5f4767",
    strip_prefix = "rules_cc-0.2.2",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.2/rules_cc-0.2.2.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.1...0.2.2

v0.2.1

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.1")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "92fed78a5a310f86c060dcaed20f396ef0198cc3d46a46fdea7c469042cf02ce",
    strip_prefix = "rules_cc-0.2.1",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.1/rules_cc-0.2.1.tar.gz",
)

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.2.0...0.2.1

v0.2.0

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.2.0")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "ae244f400218f4a12ee81658ff246c0be5cb02c5ca2de5519ed505a6795431e9",
    strip_prefix = "rules_cc-0.2.0",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.0/rules_cc-0.2.0.tar.gz",
)

load("@​rules_cc//cc:repositories.bzl", "rules_cc_dependencies", "rules_cc_toolchains")

rules_cc_dependencies()

rules_cc_toolchains()

load("@​rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")

compatibility_proxy_repo()

Full Changelog: bazelbuild/rules_cc@0.1.4...0.2.0

v0.1.5

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.1.5")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "b8b918a85f9144c01f6cfe0f45e4f2838c7413961a8ff23bc0c6cdf8bb07a3b6",
    strip_prefix = "rules_cc-0.1.5",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.1.5/rules_cc-0.1.5.tar.gz",
)

What's Changed

Full Changelog: bazelbuild/rules_cc@0.1.4...0.1.5

v0.1.4

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.1.4")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "0d3b4f984c4c2e1acfd1378e0148d35caf2ef1d9eb95b688f8e19ce0c41bdf5b",
    strip_prefix = "rules_cc-0.1.4",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.1.4/rules_cc-0.1.4.tar.gz",
)

Full Changelog: bazelbuild/rules_cc@0.1.3...0.1.4

v0.1.3

Compare Source

Using bzlmod with Bazel 6 or later:

  1. [Bazel 6] Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_cc", version = "0.1.3")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    sha256 = "64cb81641305dcf7b3b3d5a73095ee8fe7444b26f7b72a12227d36e15cfbb6cb",
    strip_prefix = "rules_cc-0.1.3",
    url = "https://github.com/bazelbuild/rules_cc/releases/download/0.1.3/rules_cc-0.1.3.tar.gz",
)

Full Changelog: bazelbuild/rules_cc@0.1.2...0.1.3

v0.1.2

Compare Source

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_cc",
    urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.1.2/rules_cc-0.1.2.tar.gz"],
    sha256 = "d62624b45e0912713dcd3b8e30ba6ae55418ed6bf99e6d135cd61b8addae312b",
    strip_prefix = "rules_cc-0.1.2",
)

Incompatible changes

Full Changelog: bazelbuild/rules_cc@0.1.1...0.1.2

urllib3/urllib3 (urllib3)

v2.6.0

Compare Source

==================

Security

  • Fixed a security issue where streaming API could improperly handle highly
    compressed HTTP content ("decompression bombs") leading to excessive resource
    consumption even when a small amount of data was requested. Reading small
    chunks of compressed data is safer and much more efficient now.
    (GHSA-2xpw-w6gg-jr37 <https://github.com/urllib3/urllib3/security/advisories/GHSA-2xpw-w6gg-jr37>__)
  • Fixed a security issue where an attacker could compose an HTTP response with
    virtually unlimited links in the Content-Encoding header, potentially
    leading to a denial of service (DoS) attack by exhausting system resources
    during decoding. The number of allowed chained encodings is now limited to 5.
    (GHSA-gm62-xv2j-4w53 <https://github.com/urllib3/urllib3/security/advisories/GHSA-gm62-xv2j-4w53>__)

.. caution::

  • If urllib3 is not installed with the optional urllib3[brotli] extra, but
    your environment contains a Brotli/brotlicffi/brotlipy package anyway, make
    sure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to
    benefit from the security fixes and avoid warnings. Prefer using
    urllib3[brotli] to install a compatible Brotli package automatically.

  • If you use custom decompressors, please make sure to update them to
    respect the changed API of urllib3.response.ContentDecoder.

Features

  • Enabled retrieval, deletion, and membership testing in HTTPHeaderDict using bytes keys. (#&#8203;3653 <https://github.com/urllib3/urllib3/issues/3653>__)
  • Added host and port information to string representations of HTTPConnection. (#&#8203;3666 <https://github.com/urllib3/urllib3/issues/3666>__)
  • Added support for Python 3.14 free-threading builds explicitly. (#&#8203;3696 <https://github.com/urllib3/urllib3/issues/3696>__)

Removals

  • Removed the HTTPResponse.getheaders() method in favor of HTTPResponse.headers.
    Removed the HTTPResponse.getheader(name, default) method in favor of HTTPResponse.headers.get(name, default). (#&#8203;3622 <https://github.com/urllib3/urllib3/issues/3622>__)

Bugfixes

  • Fixed redirect handling in urllib3.PoolManager when an integer is passed
    for the retries parameter. (#&#8203;3649 <https://github.com/urllib3/urllib3/issues/3649>__)
  • Fixed HTTPConnectionPool when used in Emscripten with no explicit port. (#&#8203;3664 <https://github.com/urllib3/urllib3/issues/3664>__)
  • Fixed handling of SSLKEYLOGFILE with expandable variables. (#&#8203;3700 <https://github.com/urllib3/urllib3/issues/3700>__)

Misc

  • Changed the zstd extra to install backports.zstd instead of zstandard on Python 3.13 and before. (#&#8203;3693 <https://github.com/urllib3/urllib3/issues/3693>__)
  • Improved the performance of content decoding by optimizing BytesQueueBuffer class. (#&#8203;3710 <https://github.com/urllib3/urllib3/issues/3710>__)
  • Allowed building the urllib3 package with newer setuptools-scm v9.x. (#&#8203;3652 <https://github.com/urllib3/urllib3/issues/3652>__)
  • Ensured successful urllib3 builds by setting Hatchling requirement to >= 1.27.0. (#&#8203;3638 <https://github.com/urllib3/urllib3/issues/3638>__)

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate-bot renovate-bot requested a review from a team as a code owner November 17, 2025 03:13
@trusted-contributions-gcf trusted-contributions-gcf bot added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Nov 17, 2025
@product-auto-label product-auto-label bot added the size: m Pull request size is medium. label Nov 17, 2025
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @renovate-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on maintaining the project's health and security by updating a comprehensive set of dependencies. It ensures that the development and CI/CD environments leverage the latest stable versions of Python packages, Bazel build rules, and GitHub Actions runners, thereby benefiting from recent bug fixes, performance enhancements, and security patches across the board.

Highlights

  • Dependency Updates: Multiple Python dependencies have been updated to their latest versions, including cachetools, certifi, click, protobuf, pypandoc, and pytest.
  • Bazel Rules for C++: The rules_cc Bazel dependency has been significantly upgraded from version 0.1.1 to 0.2.14, incorporating numerous changes and improvements from several intermediate releases.
  • GitHub Actions Environment: The Python version used in GitHub Actions has been updated from 3.10 to 3.14, and the Ubuntu runner image has been upgraded from 22.04 to 24.04.
  • Pytest Bug Fixes: The pytest update to 9.0.1 includes important bug fixes, such as restoring support for unittest.SkipTest and addressing issues with the terminal progress plugin in iTerm2.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/tests.yaml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates several dependencies. Most are patch-level updates and appear to be safe. However, the update for rules_cc from 0.1.1 to 0.2.14 is a significant jump and is missing a required configuration change in the WORKSPACE file, which could cause the build to fail. I have added a critical comment with a suggestion to fix this. Additionally, this PR includes major updates to the Ubuntu runner version (22.04 to 24.04) and a minor but significant update to the Python version used in CI (3.10 to 3.14). These changes should be tested thoroughly to ensure compatibility.

urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.2.14/rules_cc-0.2.14.tar.gz"],
sha256 = "a2fdfde2ab9b2176bd6a33afca14458039023edb1dd2e73e6823810809df4027",
strip_prefix = "rules_cc-0.2.14",
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

According to the rules_cc v0.2.14 release notes, you need to load and call compatibility_proxy_repo to complete the setup for this new version. Without this, the build may fail.

Suggested change
)
)
load("@rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")
compatibility_proxy_repo()

@renovate-bot renovate-bot force-pushed the renovate/all branch 2 times, most recently from 9df0405 to b2a3a65 Compare November 22, 2025 02:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kokoro:force-run Add this label to force Kokoro to re-run the tests. size: m Pull request size is medium.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants