57913 Commits

Author SHA1 Message Date
E. John Feig
fb53717dfa Re-scope secondary licenses listed in LICENSE file (#41476)
The gRPC project is primarily covered by the Apache License v2.0. Over the years, several files were added to the repo carrying other licenses, Mozilla Public License Version 2.0, and BSD 3-Clause License. These additional licenses were never
intended to cover the entire repository, and were intended to be scoped to the specific files that carried in those different licenses. This change clarifies the scoping of which files are covered by either the MPL v2.0 or BSD 3-Clause License.

Closes #41476

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41476 from emil10001:license-scope b5f7fdd618
PiperOrigin-RevId: 860326676
2026-01-23 18:10:54 -08:00
Mark D. Roth
8b5c2c9556 [pick_first] enable pick_first_ready_to_connecting experiment (#41475)
This should be a no-op unless subchannel connection scaling is enabled, and that's controlled by a separate experiment.

See #41029 for implementation.

Closes #41475

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41475 from markdroth:pf_experiment_enable a2d316b447
PiperOrigin-RevId: 860319677
2026-01-23 17:39:51 -08:00
Mark D. Roth
5b1ac76abd [client_channel] return filters from ConfigSelector for each call (#41191)
Splitting this out of #40938.

In preparation for changing how we pass configs to xDS HTTP filters, this PR changes the ConfigSelector API such that it returns the filter chain for each RPC rather than just once when the ConfigSelector is first returned to the resolver.

Currently, all ConfigSelector impls return the same filter chain for every RPC, so there is no functional change here.

In a future PR, I will change the xDS ConfigSelector to create a separate filter chain for each route and then return the corresponding filter chain when it chooses the route for each RPC.

Closes #41191

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41191 from markdroth:config_selector_returns_filters da7da1fb35
PiperOrigin-RevId: 860301573
2026-01-23 16:37:27 -08:00
Mark D. Roth
a0b18d453e [RR and WRR] enable change to connect from a random index (#41472)
Enable a change for RR and WRR LB policies to start connecting from a random index in the subchannel list, to avoid sending too much traffic to the first address on the list.

See #40235 for original implementation.

Closes #41472

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41472 from markdroth:rr_wrr_connect_from_random_index_enable 1000ab3794
PiperOrigin-RevId: 860273422
2026-01-23 15:17:48 -08:00
Michael Lumish
ae5db917d0 [experiments] Update expiration dates (#41470)
The plan for the `event_engine_poller_for_python` experiment is to roll it out in the next release, and then potentially remove it for the release after that.  So I pushed that one out to around the 1.80 release date. Resolving the other EventEngine experiments is blocked on Python, so I moved those to April. And the fork support experiment will require some extra testing that I'm not sure of yet, so I pushed that one to May

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #41470

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41470 from murgatroid99:experiments_update 7ffba81582
PiperOrigin-RevId: 860252919
2026-01-23 14:25:31 -08:00
Mark D. Roth
e92a783dff [experiments] update expiration dates (#41468)
Updates expiration dates for the following experiments:
- call_tracer_in_transport: This is already enabled in OSS but is blocked internally, so the experiment will have to stick around for a while longer.
- error_flatten and rr_wrr_connect_from_random_index: These are both fully rolled out internally and have not caused any problems.  It looks like I never enabled them in OSS, though, so I'll plan to do that in subsequent PRs, and I'll keep the experiments around for one more OSS release, just to be safe.
- pick_first_ready_to_connecting: This is in the process of rolling out internally, but I expect the change to be a no-op, so I will enable it in OSS in a subsequent PR.  The experiment will need to stick around until the internal rollout completes.
- subchannel_wrapper_cleanup_on_orphan: This is in the process of rolling out internally.  Once that completes, I'll enable it in OSS.
- subchannel_connection_scaling: This feature hasn't even fully landed yet, much less started rolling out, so it will need a while.

Closes #41468

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41468 from markdroth:experiment_expiration 918275c184
PiperOrigin-RevId: 860191357
2026-01-23 11:41:51 -08:00
Craig Tiller
3eb8a898e0 Display Promise details in Zviz using a monospace font.
Introduces a new layout intent `kCode` to render text with a monospace font and preserved whitespace. This is used for formatting `grpc::channelz::v2::Promise` objects in Zviz, making their structure clearer. Also, applies `white-space: pre-wrap` to the general `.zviz-data` style.

PiperOrigin-RevId: 860187243
2026-01-23 11:30:43 -08:00
Craig Tiller
97fa2797d3 Remove channelz_use_v2_for_v1_api and channelz_use_v2_for_v1_service experiments.
This change removes the experiment flags `channelz_use_v2_for_v1_api` and `channelz_use_v2_for_v1_service`, making the V2-based implementation the default for both the legacy C-style channelz API and the C++ Channelz service. The old V1 rendering code paths and helper functions are removed from `legacy_api.cc` and `channelz_service.cc`.

PiperOrigin-RevId: 860142585
2026-01-23 09:38:17 -08:00
Akshit Patel
129f9c55e6 [PH2][Cleanup] Fix channelz race
PiperOrigin-RevId: 859975752
2026-01-23 00:45:08 -08:00
Akshit Patel
a3575c1647 [PH2][E2E] Re-enable ServerStreaming tests
PiperOrigin-RevId: 859967650
2026-01-23 00:18:24 -08:00
Sergii Tkachenko
ee658b2355 [Python] Align GRPC_ENABLE_FORK_SUPPORT env defaults in core and python (#41455)
In the core, the default value of the `GRPC_ENABLE_FORK_SUPPORT` environment variable is determined by the value of the `GRPC_ENABLE_FORK_SUPPORT_DEFAULT` macro, which is by default derived from the value of the `GRPC_ENABLE_FORK_SUPPORT` macro. Python sets `GRPC_ENABLE_FORK_SUPPORT`, so the feature is enabled there by default. However, Python also reads the value of the `GRPC_ENABLE_FORK_SUPPORT` environment variable and sets its own default in `fork_posix.pyx.pxi`, and the feature is disabled there by default. The result is a mixed state that causes problems.

This change fixes that by disabling the feature by default in both places. In the long run we want to enable it by default everywhere, but for now we don't have confidence in its stability.

Closes #41455

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41455 from sergiitk:fix/py/fork-defaults 73be72d9e8
PiperOrigin-RevId: 859928704
2026-01-22 22:16:35 -08:00
Akshit Patel
0fdadb6a1e [WIP] Return arbitrary Metadata from promise based filters
PiperOrigin-RevId: 859882156
2026-01-22 19:55:15 -08:00
Marcel
a1e64a2ed6 Prefer language rules (#41304)
The native rules are disabled by default in Bazel 9 via [`--incompatible_autoload_externally=`](https://github.com/bazelbuild/bazel/issues/23043) (empty list).

Closes #41304

PiperOrigin-RevId: 859767890
2026-01-22 14:11:57 -08:00
yuanweiz
8713acf3a6 [bzlmod] Support repo @google_cloud_cpp in bzlmod (#41311)
This change should enable us to build most C/C++ tests with bzlmod.

`googleapis` is also updated because google_cloud_cpp 2.35.0 uses a modified version of googleapis. This requires us to copy some boilerplate code from upstream (BCR and google_cloud_cpp respectively).

Alternatively we could also use google_cloud_cpp from BCR, it takes less coding work but the lowest version available is 3.0.0 and requires a bunch of version bumps to other modules, so it might be more risky.

`rules_proto` version is increase to 7.1.0 (requested by google_cloud_cpp)

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #41311

PiperOrigin-RevId: 859764899
2026-01-22 14:07:31 -08:00
Sergii Tkachenko
abc7f59643 [CI][Python] Get remove all usages of six (#41040)
- Removes all usages of `six`.
- Refactors the code to assume py3-style iterables.
- Other minor fixes related to getting rid of Python 2 syntax.
- Minor unrelated change: adds `repr` to `run_tests.Config`.

Note: This just removes the usages of `six` in code. I'll clean up CI dependencies in a separate PR.

Closes #41040

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41040 from sergiitk:feat/py/remove-six 1e43aceef3
PiperOrigin-RevId: 859704528
2026-01-22 11:42:46 -08:00
Michael Lumish
8795a52e76 [xDS] Remove env var protection for SNI feature (#41459)
We decided that existing interop tests are sufficient for this.

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #41459

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41459 from murgatroid99:xds_sni_remove_env_var 96bd6c99ff
PiperOrigin-RevId: 859686823
2026-01-22 11:03:18 -08:00
Michael Lumish
e0eeeb76e2 [C++] Add SNI override option to C++ channel credentials options API (#41460)
This option was added to the core credentials API in #41051. Now we add the same option to the corresponding C++ API.

b/203822267

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #41460

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41460 from murgatroid99:c++_creds_sni_override 7241f2afeb
PiperOrigin-RevId: 859620187
2026-01-22 08:29:31 -08:00
Antony Polukhin
d7f3d36f68 [cleanup] Move strings if possible in grpc::Status (#40443)
Closes #40443

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40443 from apolukhin:status-optimize d53b7ad890
PiperOrigin-RevId: 859387690
2026-01-21 20:43:09 -08:00
Laramie Leavitt
c11767fda5 No public description
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41069 from laramiel:laramiel-patch-1 6c14dc3540
PiperOrigin-RevId: 859328344
2026-01-21 17:21:28 -08:00
yuanweiz
0111e45a64 [Bzlmod] Add --nobuild to bzlmod build test for cheaper validation. (#41431)
https://github.com/grpc/grpc/pull/41309 caused timeout because a full
build is too expensive.

This PR changes the new bazel command to use the --nobuild option. This
triggers bazel's "static" dependency analysis without compiling C++
code. This test does NOT detect issues caused by module
incompatibilities (e.g. some package doesn't build with new version of
absl).

---------

Co-authored-by: Mark D. Roth <roth@google.com>
2026-01-21 14:54:19 -08:00
Sergii Tkachenko
0a3681052b gRPC test DNS server: Synchronize shutdown to prevent data races
To avoid data races and use-after-free on shutdown in Python 3.13.
It seems to have worked before due to unintended guarantees of the
Python interpreter that are gone with the new version.

Uses `threading.Event` and `threading.Lock` to coordinate between the main thread handling signals and the `flush_stdout_loop` thread. The `_quit_on_signal` handler now signals the flush thread to exit, and waits for the flush thread to complete its current sleep cycle before calling `sys.exit()`. This prevents a use-after-free that shows up as a data race.

Ref b/474047558

PiperOrigin-RevId: 859182150
2026-01-21 11:15:46 -08:00
Akshit Patel
e22d8dea12 [PromiseFilters] Add API changes
PiperOrigin-RevId: 859131244
2026-01-21 09:19:33 -08:00
Mark D. Roth
61fe9b40a9 [xDS] update XdsClient fuzzer seeds to realistic examples (#41416)
CC @fuqianggao

Closes #41416

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41416 from markdroth:xds_fuzzer_seeds 130eb99741
PiperOrigin-RevId: 858751551
2026-01-20 14:24:07 -08:00
Craig Tiller
b1eb9dea81 [tdigest] Remove code (#40933)
I added this in anticipation of wanting to use it, but that hasn't transpired... and we're seeing flaky tests. Removing for now.

Closes #40933

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40933 from ctiller:tdigest-- ba911bfe96
PiperOrigin-RevId: 858731635
2026-01-20 13:38:52 -08:00
dependabot[bot]
525487ef32 Bump the github-actions group across 1 directory with 4 updates (#41329)
Bumps the github-actions group with 4 updates in the / directory:
[actions/cache](https://github.com/actions/cache),
[actions/checkout](https://github.com/actions/checkout),
[peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request)
and
[bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml](https://github.com/bazel-contrib/publish-to-bcr).

Updates `actions/cache` from 4.3.0 to 5.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/cache/releases">actions/cache's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.1</h2>
<blockquote>
<p>[!IMPORTANT]
<strong><code>actions/cache@v5</code> runs on the Node.js 24 runtime and
requires a minimum Actions Runner version of
<code>2.327.1</code>.</strong></p>
<p>If you are using self-hosted runners, ensure they are updated before
upgrading.</p>
</blockquote>
<hr />
<h1>v5.0.1</h1>
<h2>What's Changed</h2>
<ul>
<li>fix: update <code>@​actions/cache</code> for Node.js 24 punycode
deprecation by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1685">actions/cache#1685</a></li>
<li>prepare release v5.0.1 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1686">actions/cache#1686</a></li>
</ul>
<h1>v5.0.0</h1>
<h2>What's Changed</h2>
<ul>
<li>Upgrade to use node24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1630">actions/cache#1630</a></li>
<li>Prepare v5.0.0 release by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1684">actions/cache#1684</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v5...v5.0.1">https://github.com/actions/cache/compare/v5...v5.0.1</a></p>
<h2>v5.0.0</h2>
<blockquote>
<p>[!IMPORTANT]
<strong><code>actions/cache@v5</code> runs on the Node.js 24 runtime and
requires a minimum Actions Runner version of
<code>2.327.1</code>.</strong></p>
<p>If you are using self-hosted runners, ensure they are updated before
upgrading.</p>
</blockquote>
<hr />
<h2>What's Changed</h2>
<ul>
<li>Upgrade to use node24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1630">actions/cache#1630</a></li>
<li>Prepare v5.0.0 release by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1684">actions/cache#1684</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v4.3.0...v5.0.0">https://github.com/actions/cache/compare/v4.3.0...v5.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's
changelog</a>.</em></p>
<blockquote>
<h1>Releases</h1>
<h2>Changelog</h2>
<h3>5.0.1</h3>
<ul>
<li>Update <code>@azure/storage-blob</code> to <code>^12.29.1</code> via
<code>@actions/cache@5.0.1</code> <a
href="https://redirect.github.com/actions/cache/pull/1685">#1685</a></li>
</ul>
<h3>5.0.0</h3>
<blockquote>
<p>[!IMPORTANT]
<code>actions/cache@v5</code> runs on the Node.js 24 runtime and
requires a minimum Actions Runner version of <code>2.327.1</code>.
If you are using self-hosted runners, ensure they are updated before
upgrading.</p>
</blockquote>
<h3>4.3.0</h3>
<ul>
<li>Bump <code>@actions/cache</code> to <a
href="https://redirect.github.com/actions/toolkit/pull/2132">v4.1.0</a></li>
</ul>
<h3>4.2.4</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v4.0.5</li>
</ul>
<h3>4.2.3</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v4.0.3 (obfuscates SAS token in
debug logs for cache entries)</li>
</ul>
<h3>4.2.2</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v4.0.2</li>
</ul>
<h3>4.2.1</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v4.0.1</li>
</ul>
<h3>4.2.0</h3>
<p>TLDR; The cache backend service has been rewritten from the ground up
for improved performance and reliability. <a
href="https://github.com/actions/cache">actions/cache</a> now integrates
with the new cache service (v2) APIs.</p>
<p>The new service will gradually roll out as of <strong>February 1st,
2025</strong>. The legacy service will also be sunset on the same date.
Changes in these release are <strong>fully backward
compatible</strong>.</p>
<p><strong>We are deprecating some versions of this action</strong>. We
recommend upgrading to version <code>v4</code> or <code>v3</code> as
soon as possible before <strong>February 1st, 2025.</strong> (Upgrade
instructions below).</p>
<p>If you are using pinned SHAs, please use the SHAs of versions
<code>v4.2.0</code> or <code>v3.4.0</code></p>
<p>If you do not upgrade, all workflow runs using any of the deprecated
<a href="https://github.com/actions/cache">actions/cache</a> will
fail.</p>
<p>Upgrading to the recommended versions will not break your
workflows.</p>
<h3>4.1.2</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9255dc7a25"><code>9255dc7</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1686">#1686</a>
from actions/cache-v5.0.1-release</li>
<li><a
href="8ff5423e8b"><code>8ff5423</code></a>
chore: release v5.0.1</li>
<li><a
href="9233019a15"><code>9233019</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1685">#1685</a>
from salmanmkc/node24-storage-blob-fix</li>
<li><a
href="b975f2bb84"><code>b975f2b</code></a>
fix: add peer property to package-lock.json for dependencies</li>
<li><a
href="d0a0e18134"><code>d0a0e18</code></a>
fix: update license files for <code>@​actions/cache</code>,
fast-xml-parser, and strnum</li>
<li><a
href="74de208dcf"><code>74de208</code></a>
fix: update <code>@​actions/cache</code> to ^5.0.1 for Node.js 24
punycode fix</li>
<li><a
href="ac7f1152ea"><code>ac7f115</code></a>
peer</li>
<li><a
href="b0f846b50b"><code>b0f846b</code></a>
fix: update <code>@​actions/cache</code> with storage-blob fix for
Node.js 24 punycode depr...</li>
<li><a
href="a783357455"><code>a783357</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1684">#1684</a>
from actions/prepare-cache-v5-release</li>
<li><a
href="3bb0d78750"><code>3bb0d78</code></a>
docs: highlight v5 runner requirement in releases</li>
<li>Additional commits viewable in <a
href="0057852bfa...9255dc7a25">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/checkout` from 5 to 6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>v6-beta by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2298">actions/checkout#2298</a></li>
<li>update readme/changelog for v6 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2311">actions/checkout#2311</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5.0.0...v6.0.0">https://github.com/actions/checkout/compare/v5.0.0...v6.0.0</a></p>
<h2>v6-beta</h2>
<h2>What's Changed</h2>
<p>Updated persist-credentials to store the credentials under
<code>$RUNNER_TEMP</code> instead of directly in the local git
config.</p>
<p>This requires a minimum Actions Runner version of <a
href="https://github.com/actions/runner/releases/tag/v2.329.0">v2.329.0</a>
to access the persisted credentials for <a
href="https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action">Docker
container action</a> scenarios.</p>
<h2>v5.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5...v5.0.1">https://github.com/actions/checkout/compare/v5...v5.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8e8c483db8"><code>8e8c483</code></a>
Clarify v6 README (<a
href="https://redirect.github.com/actions/checkout/issues/2328">#2328</a>)</li>
<li><a
href="033fa0dc0b"><code>033fa0d</code></a>
Add worktree support for persist-credentials includeIf (<a
href="https://redirect.github.com/actions/checkout/issues/2327">#2327</a>)</li>
<li><a
href="c2d88d3ecc"><code>c2d88d3</code></a>
Update all references from v5 and v4 to v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2314">#2314</a>)</li>
<li><a
href="1af3b93b68"><code>1af3b93</code></a>
update readme/changelog for v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2311">#2311</a>)</li>
<li><a
href="71cf2267d8"><code>71cf226</code></a>
v6-beta (<a
href="https://redirect.github.com/actions/checkout/issues/2298">#2298</a>)</li>
<li><a
href="069c695914"><code>069c695</code></a>
Persist creds to a separate file (<a
href="https://redirect.github.com/actions/checkout/issues/2286">#2286</a>)</li>
<li><a
href="ff7abcd0c3"><code>ff7abcd</code></a>
Update README to include Node.js 24 support details and requirements (<a
href="https://redirect.github.com/actions/checkout/issues/2248">#2248</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />

Updates `peter-evans/create-pull-request` from 7.0.8 to 8.0.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/peter-evans/create-pull-request/releases">peter-evans/create-pull-request's
releases</a>.</em></p>
<blockquote>
<h2>Create Pull Request v8.0.0</h2>
<h2>What's new in v8</h2>
<ul>
<li>Requires <a
href="https://github.com/actions/runner/releases/tag/v2.327.1">Actions
Runner v2.327.1</a> or later if you are using a self-hosted runner for
Node 24 support.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>chore: Update checkout action version to v6 by <a
href="https://github.com/yonas"><code>@​yonas</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4258">peter-evans/create-pull-request#4258</a></li>
<li>Update actions/checkout references to <a
href="https://github.com/v6"><code>@​v6</code></a> in docs by <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4259">peter-evans/create-pull-request#4259</a></li>
<li>feat: v8 by <a
href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4260">peter-evans/create-pull-request#4260</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/yonas"><code>@​yonas</code></a> made
their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4258">peter-evans/create-pull-request#4258</a></li>
<li><a href="https://github.com/Copilot"><code>@​Copilot</code></a> made
their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4259">peter-evans/create-pull-request#4259</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-pull-request/compare/v7.0.11...v8.0.0">https://github.com/peter-evans/create-pull-request/compare/v7.0.11...v8.0.0</a></p>
<h2>Create Pull Request v7.0.11</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: restrict remote prune to self-hosted runners by <a
href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4250">peter-evans/create-pull-request#4250</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-pull-request/compare/v7.0.10...v7.0.11">https://github.com/peter-evans/create-pull-request/compare/v7.0.10...v7.0.11</a></p>
<h2>Create Pull Request v7.0.10</h2>
<p>⚙️ Fixes an issue where updating a pull request failed when targeting
a forked repository with the same owner as its parent.</p>
<h2>What's Changed</h2>
<ul>
<li>build(deps): bump the github-actions group with 2 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4235">peter-evans/create-pull-request#4235</a></li>
<li>build(deps-dev): bump prettier from 3.6.2 to 3.7.3 in the npm group
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4240">peter-evans/create-pull-request#4240</a></li>
<li>fix: provider list pulls fallback for multi fork same owner by <a
href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4245">peter-evans/create-pull-request#4245</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/obnyis"><code>@​obnyis</code></a> made
their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4064">peter-evans/create-pull-request#4064</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-pull-request/compare/v7.0.9...v7.0.10">https://github.com/peter-evans/create-pull-request/compare/v7.0.9...v7.0.10</a></p>
<h2>Create Pull Request v7.0.9</h2>
<p>⚙️ Fixes an <a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4228">incompatibility</a>
with the recently released <code>actions/checkout@v6</code>.</p>
<h2>What's Changed</h2>
<ul>
<li>~70 dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>docs: fix workaround description about <code>ready_for_review</code>
by <a href="https://github.com/ybiquitous"><code>@​ybiquitous</code></a>
in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3939">peter-evans/create-pull-request#3939</a></li>
<li>Docs: <code>add-paths</code> default behavior by <a
href="https://github.com/joeflack4"><code>@​joeflack4</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3928">peter-evans/create-pull-request#3928</a></li>
<li>docs: update to create-github-app-token v2 by <a
href="https://github.com/Goooler"><code>@​Goooler</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4063">peter-evans/create-pull-request#4063</a></li>
<li>Fix compatibility with actions/checkout@v6 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4230">peter-evans/create-pull-request#4230</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/joeflack4"><code>@​joeflack4</code></a>
made their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3928">peter-evans/create-pull-request#3928</a></li>
<li><a href="https://github.com/Goooler"><code>@​Goooler</code></a> made
their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4063">peter-evans/create-pull-request#4063</a></li>
<li><a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> made
their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4230">peter-evans/create-pull-request#4230</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="98357b18bf"><code>98357b1</code></a>
feat: v8 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4260">#4260</a>)</li>
<li><a
href="41c0e4b789"><code>41c0e4b</code></a>
Update actions/checkout references to <a
href="https://github.com/v6"><code>@​v6</code></a> in docs (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4259">#4259</a>)</li>
<li><a
href="994332de4c"><code>994332d</code></a>
chore: Update checkout action version to v6 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4258">#4258</a>)</li>
<li><a
href="22a9089034"><code>22a9089</code></a>
fix: restrict remote prune to self-hosted runners (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4250">#4250</a>)</li>
<li><a
href="d4f3be6ce6"><code>d4f3be6</code></a>
fix: provider list pulls fallback for multi fork same owner (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4245">#4245</a>)</li>
<li><a
href="bc8a47f565"><code>bc8a47f</code></a>
build(deps-dev): bump prettier from 3.6.2 to 3.7.3 in the npm group (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4240">#4240</a>)</li>
<li><a
href="a67ef28ca5"><code>a67ef28</code></a>
build(deps): bump the github-actions group with 2 updates (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4235">#4235</a>)</li>
<li><a
href="84ae59a2cd"><code>84ae59a</code></a>
fix: compatibility with actions/checkout@v6 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4230">#4230</a>)</li>
<li><a
href="b4733b9419"><code>b4733b9</code></a>
build(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4222">#4222</a>)</li>
<li><a
href="0edc001d28"><code>0edc001</code></a>
build(deps-dev): bump the npm group with 2 updates (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4201">#4201</a>)</li>
<li>Additional commits viewable in <a
href="271a8d0340...98357b18bf">compare
view</a></li>
</ul>
</details>
<br />

Updates `bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml`
from 1.0.0 to 1.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/bazel-contrib/publish-to-bcr/releases">bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml's
releases</a>.</em></p>
<blockquote>
<h2>v1.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: Add Pull Request URL to job summary by <a
href="https://github.com/RyanDraves"><code>@​RyanDraves</code></a> in <a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/298">bazel-contrib/publish-to-bcr#298</a></li>
<li>fix: skip attestation tests on pr builds by <a
href="https://github.com/kormide"><code>@​kormide</code></a> in <a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/297">bazel-contrib/publish-to-bcr#297</a></li>
<li>ci: Add GitHub Action to verify PR titles and descriptions by <a
href="https://github.com/hofbi"><code>@​hofbi</code></a> in <a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/299">bazel-contrib/publish-to-bcr#299</a></li>
<li>fix(deps): update dependency nodemailer to v7 [security] by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/296">bazel-contrib/publish-to-bcr#296</a></li>
<li>chore(deps): update dependency <code>@​babel/preset-env</code> to
v7.28.5 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/229">bazel-contrib/publish-to-bcr#229</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to
v18.19.130 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/301">bazel-contrib/publish-to-bcr#301</a></li>
<li>chore(deps): update dependency <code>@​types/mailparser</code> to
v3.4.6 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/292">bazel-contrib/publish-to-bcr#292</a></li>
<li>chore(deps): update dependency <code>@​types/yargs</code> to
v17.0.35 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/304">bazel-contrib/publish-to-bcr#304</a></li>
<li>chore(deps): update dependency <code>@​types/nodemailer</code> to
v6.4.21 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/303">bazel-contrib/publish-to-bcr#303</a></li>
<li>chore(deps): update dependency gcp-metadata to v6.1.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/307">bazel-contrib/publish-to-bcr#307</a></li>
<li>chore(deps): update dependency babel-plugin-transform-import-meta to
v2.3.3 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/306">bazel-contrib/publish-to-bcr#306</a></li>
<li>fix: show a helpful error when module name missing by <a
href="https://github.com/kormide"><code>@​kormide</code></a> in <a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/302">bazel-contrib/publish-to-bcr#302</a></li>
<li>fix: mismatched source and output bundles by <a
href="https://github.com/kormide"><code>@​kormide</code></a> in <a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/311">bazel-contrib/publish-to-bcr#311</a></li>
<li>feat(workflow): support deployment environments by <a
href="https://github.com/kormide"><code>@​kormide</code></a> in <a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/310">bazel-contrib/publish-to-bcr#310</a></li>
<li>chore(deps): update bazel-contrib/publish-to-bcr digest to ff2c5e3
by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/283">bazel-contrib/publish-to-bcr#283</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/RyanDraves"><code>@​RyanDraves</code></a> made
their first contribution in <a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/pull/298">bazel-contrib/publish-to-bcr#298</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/bazel-contrib/publish-to-bcr/compare/v1.0.0...v1.1.0">https://github.com/bazel-contrib/publish-to-bcr/compare/v1.0.0...v1.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0bd40ad4f8"><code>0bd40ad</code></a>
chore(deps): update bazel-contrib/publish-to-bcr digest to ff2c5e3 (<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/283">#283</a>)</li>
<li><a
href="ff2c5e3fe8"><code>ff2c5e3</code></a>
feat(workflow): support deployment environments (<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/310">#310</a>)</li>
<li><a
href="7fcb1008c4"><code>7fcb100</code></a>
fix: mismatched source and output bundles (<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/311">#311</a>)</li>
<li><a
href="aa49ba0ca3"><code>aa49ba0</code></a>
fix: show a helpful error when module name missing (<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/302">#302</a>)</li>
<li><a
href="97e76f5bc2"><code>97e76f5</code></a>
chore(deps): update dependency babel-plugin-transform-import-meta to
v2.3.3 (...</li>
<li><a
href="6acdd4268d"><code>6acdd42</code></a>
chore(deps): update dependency gcp-metadata to v6.1.1 (<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/307">#307</a>)</li>
<li><a
href="08d0ade61d"><code>08d0ade</code></a>
chore(deps): update dependency <code>@​types/nodemailer</code> to
v6.4.21 (<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/303">#303</a>)</li>
<li><a
href="9b0c9d430c"><code>9b0c9d4</code></a>
chore(deps): update dependency <code>@​types/yargs</code> to v17.0.35
(<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/304">#304</a>)</li>
<li><a
href="6fc1de9844"><code>6fc1de9</code></a>
chore(deps): update dependency <code>@​types/mailparser</code> to v3.4.6
(<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/292">#292</a>)</li>
<li><a
href="f120aa5154"><code>f120aa5</code></a>
chore(deps): update dependency <code>@​types/node</code> to v18.19.130
(<a
href="https://redirect.github.com/bazel-contrib/publish-to-bcr/issues/301">#301</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/bazel-contrib/publish-to-bcr/compare/v1.0.0...v1.1.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-20 17:07:11 +05:30
gRPC Team Bot
8679637161 Internal change
PiperOrigin-RevId: 858231029
2026-01-19 18:27:40 +00:00
Craig Tiller
f931c4a5e7 Revert "[Python] Modernize and revamp Public API Docs (#41287)" (#41443)
This reverts commit 977dd13944.

Temporary revert to help fix internal tooling
2026-01-19 10:09:11 -08:00
Akshit Patel
4a12365ab7 [PH2][CallV3] Fix a corner case where PollServerTrailingMetadataAvailable is not woken up after pushing trailing metadata.
Consider a scenario where the `CallInitiator` is waiting on a server-to-client message and server trailing metadata. Now, when the server pushes trailing metadata with a non-cancelled status, `server_to_client_push_state` (Idle) as well as `server_to_client_pull_state` (Reading) are not changed. `PollPullServerToClientMessageAvailable` will wake up as it waits on `server_trailing_metadata_waker` but `PollServerTrailingMetadataAvailable` does not wake up as it just waits on `server_to_client_push_state` and `server_to_client_pull_state`. This results in RecvStatus op on the client to never resolve.

PiperOrigin-RevId: 857054609
2026-01-16 02:40:39 -08:00
Sreenithi Sridharan
977dd13944 [Python] Modernize and revamp Public API Docs (#41287)
Modernize docs using pydata_sphinx_theme

[Screen recording 2025-12-22 4.54.40 PM.webm](https://github.com/user-attachments/assets/58b5254f-1357-4c09-9278-fb4763b5337d)

Also visible in Dark mode. (default is auto based on system settings)
<img width="2560" height="1440" alt="Screenshot 2025-12-22 5 01 55 PM" src="https://github.com/user-attachments/assets/f11e3705-d92c-4dfc-85d9-b09ae6a83661" />

Closes #41287

PiperOrigin-RevId: 857006550
2026-01-16 00:28:13 -08:00
Akshit Patel
bfe88e0177 [PH2][Keepalive] Move spawn into the transport
PiperOrigin-RevId: 856971493
2026-01-15 22:34:44 -08:00
yuanweiz
9e803bad0c [Bzlmod] upgrade googleapis to fix build failure with envoy_apis. (#41363)
What happened:
* An upgrade of envoy_api was introduced https://github.com/grpc/grpc/pull/41242
* Bazel now pick googleapis@0.0.0-20251003-2193a2bf because envoy_api requested it.
* googleapis has gone through a refactor somewhere in between 0.0.0-20240819-fe8ba054a and googleapis@0.0.0-20251003-2193a2bf. As a result `switched_rules` became completely broken for bzlmod. The new recommended approach for bzlmod is to use `googleapis-{cc,python,grpc-cc}`
* v1.78.0-pre1 BCR release is blocked, I had to add an overlay [patch](https://github.com/bazelbuild/bazel-central-registry/blob/main/modules/grpc/1.78.0-pre1/patches/add_deps_for_googleapis_switched_rules.patch) to unblock release.
* This PR is created to integrate the change to master.

Related discussion:
https://github.com/bazelbuild/bazel-central-registry/issues/3941

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #41363

PiperOrigin-RevId: 856792330
2026-01-15 13:23:39 -08:00
Craig Tiller
1bd3c5b429 [channelz] When multiple additional info are added with the same key, keep them all (#41277)
Closes #41277

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41277 from ctiller:x1 f7f2e59e40
PiperOrigin-RevId: 856763243
2026-01-15 12:13:29 -08:00
Alisha Nanda
1ba3b92767 Add forwarding metadata keys and remove ordering restriction in header assembler test.
PiperOrigin-RevId: 856738894
2026-01-15 11:19:37 -08:00
E. John Feig
2d05b8fd46 Added gemini code assist config.yaml (#41405)
I added a config.yaml based on [instructions
here](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github#config.yaml-example),
to set behavior of Gemini Code Assist.
2026-01-15 09:33:53 -08:00
yuanweiz
bbad1cdc4b [Bzlmod] Make fuzztests build properly with bzlmod. (#41309)
Pin versions for riegeli so fuzztests can properly compile with bzlmod.

Caveat: in workspace we use fuzztest from 2023-05-16 but in bzlmod we use fuzztest@20241028.0. The reason is likely that BCR doesn't have older version of fuzztest, and it might cause some behavioral difference between our workspace and bzlmod settings.
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #41309

PiperOrigin-RevId: 856401926
2026-01-14 15:55:53 -08:00
yuanweiz
62b4ac3649 [Fix] remove GRPCAPI annotation from cpp-only API to fix ruby tests. (#41407)
`tools/artifact_gen/metadata_for_wrapped_languages.cc` determines whether a header exports C API by matching file contents against regex `?:GPRAPI|GRPCAPI|CENSUSAPI)([^#;]*)`, and the headers later get included by `rb_grpc_imports.generated.h`. The C++ std utility `std::optional<>` end up breaking ruby distrib tests.

It seems like all pending PRs are affected. An example: https://btx.cloud.google.com/invocations/4caed1d7-19e0-4a59-9786-28a7ddb03051/targets

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #41407

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41407 from yuanweiz:fix_ruby 97f5c958e4
PiperOrigin-RevId: 856229588
2026-01-14 08:43:22 -08:00
Tanvi Jagtap
01f57739a6 [PH2] Enable server_interceptors_end2end_test for PH2
PiperOrigin-RevId: 856145116
2026-01-14 04:05:09 -08:00
Tanvi Jagtap
b4ca1c97d8 [PH2] Enable client_interceptors_end2end_test for PH2
Adding PH2 experiment to the client_interceptors_end2end_test suite.

Also adding the Channel Arg wherever we missed it in the earlier PR : https://github.com/grpc/grpc/pull/41399/files

PiperOrigin-RevId: 856102643
2026-01-14 01:43:49 -08:00
Tanvi Jagtap
8a09cb0efa [PH2][Tests] Disabling Retry in multiple cpp end2end tests
PiperOrigin-RevId: 856040712
2026-01-13 22:32:34 -08:00
Craig Tiller
678306da8c Enable call_tracer_send_initial_metadata_is_an_annotation experiment.
PiperOrigin-RevId: 855872325
2026-01-13 14:06:18 -08:00
Michael Lumish
088436d01c [xds] Implement gRFC A101 (#41051)
This includes two major changes:

 1. An additional credentials option `sni_override` with the type `optional<string>`. If `nullopt`, it has no effect, and if set to the empty string it disables sending SNI entirely. Otherwise, the specified string will be sent.
 2. The implementation of [gRFC A101](https://github.com/grpc/proposal/blob/master/A101-SNI-setting-and-SNI-SAN-validation.md) using that new option. This includes options to set SNI and to validate SAN values against the set SNI value.

Closes #41051

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41051 from murgatroid99:xds_sni_support 6a1f8667de
PiperOrigin-RevId: 855765736
2026-01-13 09:48:39 -08:00
Yousuk Seung
e178f8582a Remove obsolete TODO from TDigest.
PiperOrigin-RevId: 855762921
2026-01-13 09:39:36 -08:00
Akshit Patel
9a9ee947ef [PH2][Ping] Move spawns into the transport
PiperOrigin-RevId: 855535757
2026-01-12 22:39:12 -08:00
Tanvi Jagtap
ae8671efbd [PH2][Trivial] Adding comments
PiperOrigin-RevId: 855218071
2026-01-12 07:25:16 -08:00
Akshit Patel
fc629771b5 [PH2][Cleanup][Trivial] Spawn all promises using generic interfaces
PiperOrigin-RevId: 855214789
2026-01-12 07:13:47 -08:00
Akshit Patel
5905db4ec3 [PH2][E2E] Disable flaky tests
PiperOrigin-RevId: 855204726
2026-01-12 06:39:00 -08:00
Aananth V
cd7f333210 Add new experiment to propagate existing errors in server handlers (#41384)
Closes #41384

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41384 from AananthV:error_experiment 33df2e0651
PiperOrigin-RevId: 855130805
2026-01-12 02:19:43 -08:00
Tanvi Jagtap
ee91a1f4cb [PH2][Test] Removing flaky time dependent assert
This test is especially painfully slow in case of asan. However, we cannot disable a test or a single EXPECT just for asan. So the assert needs to be removed. It is creating too much noise.
Having time dependent tests is never a good idea.

PiperOrigin-RevId: 855129723
2026-01-12 02:16:03 -08:00
Tanvi Jagtap
1c2c9de77f [PH2][Tests] Enable time_change_test and mock_test
PiperOrigin-RevId: 855088648
2026-01-12 00:17:06 -08:00
Akshit Patel
b0db708479 [PH2][Write] Plumb write size policy.
PiperOrigin-RevId: 855055779
2026-01-11 22:34:24 -08:00