|
1 | | -date: March 11, 2026 |
| 1 | +date: Pending |
| 2 | + |
| 3 | +behavior_changes: |
| 4 | +# *Changes that are expected to cause an incompatibility if applicable; deployment changes are likely required* |
| 5 | + |
| 6 | +minor_behavior_changes: |
| 7 | +# *Changes that may cause incompatibilities for some users, but should not for most* |
2 | 8 |
|
3 | 9 | bug_fixes: |
4 | | -- area: oauth2 |
5 | | - change: | |
6 | | - Fixed OAuth2 refresh requests so host rewriting no longer overrides the original ``Host`` header value. |
7 | | -- area: ext_proc |
8 | | - change: | |
9 | | - Fixed a bug to support two ext_proc filters configured in the chain. This change can be reverted by setting |
10 | | - the runtime guard ``envoy.reloadable_features.ext_proc_inject_data_with_state_update`` to ``false``. |
11 | | -- area: ext_proc |
12 | | - change: | |
13 | | - Fixed message-valued CEL attribute serialization (for example |
14 | | - ``xds.virtual_host_metadata``) to use protobuf text format instead of debug string output. |
15 | | - This restores ext_proc compatibility with protobuf 30+ where debug-string output is |
16 | | - intentionally not parseable (for example ``goo.gle/debugonly`` prefixes). This change can |
17 | | - be reverted by setting runtime guard |
18 | | - ``envoy.reloadable_features.cel_message_serialize_text_format`` to ``false``. |
19 | | -- area: ratelimit |
20 | | - change: | |
21 | | - Fixed a bug in the gRPC rate limit client where the client could get into a bad state if the |
22 | | - callbacks were not properly released after a request completion, leading to potential use-after-free |
23 | | - issues. The fix ensures that callbacks and request references are cleared after completion, and adds |
24 | | - assertions to enforce correct usage patterns. |
25 | | -- area: ext_authz |
26 | | - change: | |
27 | | - Fixed a bug where headers from a denied authorization response (non-200) were not properly propagated |
28 | | - to the client. |
29 | | -- area: ext_authz |
30 | | - change: | |
31 | | - Fixed the HTTP ext_authz client to respect ``status_on_error`` configuration when the authorization |
32 | | - server returns a 5xx error or when HTTP call failures occur. Previously, these error scenarios always |
33 | | - returned 403 Forbidden regardless of the configured error status. |
34 | | -- area: release |
35 | | - change: | |
36 | | - Published contrib binaries now include the ``-contrib`` suffix in their version string. |
37 | | -- area: access_log |
38 | | - change: | |
39 | | - Fixed a crash on listener removal with a process-level access log rate limiter |
40 | | - :ref:`ProcessRateLimitFilter <envoy_v3_api_msg_extensions.access_loggers.filters.process_ratelimit.v3.ProcessRateLimitFilter>`. |
41 | | -- area: http |
42 | | - change: | |
43 | | - Fixed an issue where filter chain execution could continue on HTTP streams that had been reset but not yet |
44 | | - destroyed. This could cause use-after-free conditions when filter callbacks were invoked on filters that |
45 | | - had already received ``onDestroy()``. The fix ensures that ``decodeHeaders()``, ``decodeData()``, |
46 | | - ``decodeTrailers()``, and ``decodeMetadata()`` are blocked after a downstream reset. |
47 | | -- area: json |
48 | | - change: | |
49 | | - Fixed an off-by-one write in ``JsonEscaper::escapeString()`` that could corrupt the string null terminator |
50 | | - when the input string ends with a control character. |
51 | | -- area: network |
52 | | - change: | |
53 | | - Fixed a crash in ``Utility::getAddressWithPort`` when called with a scoped IPv6 address (e.g., ``fe80::1%eth0``). |
54 | | -- area: rbac |
55 | | - change: | |
56 | | - Fixed RBAC header matcher to validate each header value individually instead of concatenating multiple header values |
57 | | - into a single string. This prevents potential bypasses when requests contain multiple values for the same header. |
58 | | - The new behavior is enabled by the runtime guard ``envoy.reloadable_features.rbac_match_headers_individually``. |
| 10 | +# *Changes expected to improve the state of the world and are unlikely to have negative effects* |
| 11 | + |
| 12 | +removed_config_or_runtime: |
| 13 | +# *Normally occurs at the end of the* :ref:`deprecation period <deprecated>` |
59 | 14 |
|
60 | 15 | new_features: |
61 | | -- area: dynamic modules |
62 | | - change: | |
63 | | - Introduced the extended ABI forward compatibility mechanism for dynamic modules |
64 | | - where modules built with a SDK version can be loaded by Envoy |
65 | | - binaries of the next Envoy version. For example, A module built with the v1.38 SDK |
66 | | - can now be loaded by an Envoy binary of v1.39. |
| 16 | + |
| 17 | +deprecated: |
0 commit comments