Skip to content

envoy: Bump envoy version to v1.39.1 - #1998

Open
sayboras wants to merge 8 commits into
mainfrom
pr/tammach/envoy-1.39
Open

envoy: Bump envoy version to v1.39.1#1998
sayboras wants to merge 8 commits into
mainfrom
pr/tammach/envoy-1.39

Conversation

@sayboras

Copy link
Copy Markdown
Member

No description provided.

@sayboras
sayboras force-pushed the pr/tammach/envoy-1.39 branch 2 times, most recently from 0cbd6a5 to 9169629 Compare August 17, 2026 12:02
@sayboras
sayboras force-pushed the pr/tammach/envoy-1.39 branch 2 times, most recently from 7274f6c to ce354be Compare August 29, 2026 05:15
@sayboras sayboras changed the title envoy: Bump envoy version to v1.39.0 envoy: Bump envoy version to v1.39.1 Aug 29, 2026
@sayboras
sayboras force-pushed the pr/tammach/envoy-1.39 branch 2 times, most recently from 46c0cfb to 820cf2e Compare August 30, 2026 15:01
Sync up the following files with upstream Envoy v1.39.1:

- `.bazelversion` (Bazel 7.7.1 -> 8.7.0)
- `envoy.bazelrc`
- `envoy_build_config/extensions_build_config.bzl`

Adjust patch 0003 for the upstream backport in original_dst_cluster.cc
that replaced copyInternetAddressAndPort(*dst_ip) with
getAddressWithPort(dst_addr, dst_ip->port()).

Signed-off-by: Tam Mach <tam.mach@cilium.io>
Since Bazel 8, `git_repository` carries a `patch_strip` attribute, and
`bazel_tools`' `patch()` helper unconditionally prepends the corresponding
`-pN` to `patch_args`. With `patch_tool = "git"` and `patch_args = ["apply"]`
that produces `git -p0 apply < patchfile`, and `git` rejects `-p0` as an
unknown global option.

Signed-off-by: Tam Mach <tam.mach@cilium.io>
Envoy 1.39 brings a number of API changes that the Cilium filters and their
tests need to follow:

- `check_format` now bans `absl::optional`, `absl::nullopt` and
  `absl::make_optional` in favour of the `std` equivalents.
- `FilterState::StateType` is gone and `setData()` lost its `state_type`
  parameter.
- `Http::UpstreamCallbacks` gained a pure `onHostSelected()`. Cilium enforces
  upstream host authorization in the network filter, so this is a no-op here.
- `TransportSocket::closeSocket()` takes an `abort_reset` flag, which
  `SslSocketWrapper` forwards so that policy denials still reset the
  connection.
- Protobuf 35 marks `SerializeToString()` and `Any::PackFrom()` as
  `[[nodiscard]]`. Failing to serialize an access log entry or a health check
  event is now logged and the message dropped instead of being sent truncated.
- `TestUtility::waitForCounterEq()`/`Ge()` and the gauge equivalents were
  removed in favour of the matcher based `waitForCounter()`/`waitForGauge()`.
- Buffer watermark callbacks are `absl::AnyInvocable<void()>` and therefore
  move-only.
- Extension lookup by name only is gone, so the router filter needs an explicit
  `typed_config`.
- spdlog is built with `SPDLOG_USE_STD_FORMAT`, so `ENVOY_LOG()` arguments have
  to be `std::format`-able. Turn the `RuleVerdict` formatter into a
  `std::formatter` and replace `fmt::join()` with `absl::StrJoin()`.
- `cilium_network_policy_test` needs an explicit dependency on the upstream
  secret mocks, which it used to pick up transitively.

Signed-off-by: Tam Mach <tam.mach@cilium.io>
API update for Envoy 1.39, which bumps protobuf from 33.2 to 35.1.

Only changes comments in generated files.

Signed-off-by: Tam Mach <tam.mach@cilium.io>
`main` is on Envoy 1.39 now, so widen its `allowedVersions` accordingly.
Otherwise Renovate keeps the constraint at `<=1.38` and stops proposing 1.39.x
patch releases for `main`.

Signed-off-by: Tam Mach <tam.mach@cilium.io>
Protobuf bundled with Envoy 1.39 marks Any::PackFrom as [[nodiscard]],
so the unchecked call in cilium_network_policy_benchmark.cc fails under
-Werror=unused-result and breaks the integration test build. Assign the
result to std::ignore, matching the other test files.
Bazel 8 turns @bazel_tools//tools/cpp/runfiles into an alias for
@rules_cc//cc/runfiles, so the per_file_copt regex keyed on the old
bazel_tools path no longer matched anything. Without it, MSAN flags the
stat() buffer in Runfiles::Create and every //tests:* binary aborts
before running a single test.

Signed-off-by: Tam Mach <tam.mach@cilium.io>
@sayboras
sayboras force-pushed the pr/tammach/envoy-1.39 branch from 820cf2e to d8f8c62 Compare August 30, 2026 15:10
Signed-off-by: Tam Mach <tam.mach@cilium.io>
@sayboras
sayboras force-pushed the pr/tammach/envoy-1.39 branch from 77f9e98 to 0b37004 Compare August 31, 2026 00:00
@sayboras
sayboras marked this pull request as ready for review September 2, 2026 12:16
@sayboras
sayboras requested a review from a team as a code owner September 2, 2026 12:16
@sayboras
sayboras requested a review from mhofstetter September 2, 2026 12:16
@sayboras sayboras added the dont-merge/preview-only DON'T MERGE label Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant