Skip to content

docs: add 8.14 TLS 1.2 RSA handshake breaking change#20880

Merged
carsonip merged 4 commits into8.19from
docs/8.19-rsakex-breaking-change
Apr 14, 2026
Merged

docs: add 8.14 TLS 1.2 RSA handshake breaking change#20880
carsonip merged 4 commits into8.19from
docs/8.19-rsakex-breaking-change

Conversation

@carsonip
Copy link
Copy Markdown
Member

@carsonip carsonip commented Apr 13, 2026

Motivation/summary

This PR documents a TLS behavior change introduced with the Go 1.22 toolchain that first landed in APM Server 8.14.0.

It adds a user-facing breaking-change note in two places:

  • changelogs/8.14.asciidoc under the 8.14.0 release section (==== Breaking Changes)
  • changelogs/all-breaking-changes.asciidoc under the === 8.14 section

The note explains that TLS 1.2 handshakes with RSA key exchange ciphers can fail at runtime even when startup succeeds, and documents the temporary workaround: set GODEBUG=tlsrsakex=1 on the APM Server process.

Checklist

How to test these changes

  1. Inspect changelogs/8.14.asciidoc and verify APM version 8.14.0 includes a ==== Breaking Changes subsection describing this TLS behavior and workaround.
  2. Inspect changelogs/all-breaking-changes.asciidoc and verify the === 8.14 section exists in correct descending order before === 8.11.
  3. Confirm both entries mention the workaround GODEBUG=tlsrsakex=1 and reference issue #20879.
  4. (Validation context) Runtime repro details are captured in issue #20879.

Related issues

Fixes #20877
Related: #20879

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor
@carsonip carsonip requested a review from a team as a code owner April 13, 2026 15:17
@github-actions
Copy link
Copy Markdown
Contributor

🤖 GitHub comments

Just comment with:

  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor
Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor
@carsonip carsonip added backport-8.14 Automated backport with mergify backport-8.15 Automated backport with mergify backport-8.16 Automated backport with mergify backport-8.17 Automated backport with mergify backport-8.18 Automated backport to the 8.18 branch labels Apr 13, 2026
Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
@carsonip carsonip changed the title [8.19] docs: add 8.14 TLS 1.2 RSA handshake breaking change docs: add 8.14 TLS 1.2 RSA handshake breaking change Apr 13, 2026
@carsonip carsonip merged commit 0605cf3 into 8.19 Apr 14, 2026
10 checks passed
@carsonip carsonip deleted the docs/8.19-rsakex-breaking-change branch April 14, 2026 14:17
@carsonip
Copy link
Copy Markdown
Member Author

@Mergifyio backport 8.14 8.15 8.16 8.17 8.18

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Apr 14, 2026

mergify bot pushed a commit that referenced this pull request Apr 14, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)
mergify bot pushed a commit that referenced this pull request Apr 14, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)
mergify bot pushed a commit that referenced this pull request Apr 14, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)
mergify bot pushed a commit that referenced this pull request Apr 14, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)
mergify bot pushed a commit that referenced this pull request Apr 14, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)
mergify bot added a commit that referenced this pull request Apr 15, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)

Co-authored-by: Carson Ip <[email protected]>
mergify bot added a commit that referenced this pull request Apr 15, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)

Co-authored-by: Carson Ip <[email protected]>
mergify bot added a commit that referenced this pull request Apr 15, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)

Co-authored-by: Carson Ip <[email protected]>
mergify bot added a commit that referenced this pull request Apr 15, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)

Co-authored-by: Carson Ip <[email protected]>
mergify bot added a commit that referenced this pull request Apr 16, 2026
* docs: add 8.14 TLS 1.2 RSA handshake breaking change note

Document that TLS 1.2 RSA key exchange cipher negotiation can fail at runtime in 8.14+ due to Go 1.22 defaults, and include the GODEBUG workaround.

Made-with: Cursor

* docs: add breaking change entry to 8.14 release notes

Add a dedicated Breaking Changes section to 8.14.0 release notes documenting TLS 1.2 RSA key exchange runtime handshake failures and the GODEBUG workaround.

Made-with: Cursor

* docs: reorder 8.14 breaking change section

Move the 8.14 breaking changes block ahead of 8.11 to keep release sections in descending version order.

Made-with: Cursor

* docs: align 8.14 breaking-change format with existing style

Reformat the 8.14 all-breaking-changes entry to use the standard bullet-and-details style used by nearby 8.x sections.

Made-with: Cursor
(cherry picked from commit 0605cf3)

Co-authored-by: Carson Ip <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-8.14 Automated backport with mergify backport-8.15 Automated backport with mergify backport-8.16 Automated backport with mergify backport-8.17 Automated backport with mergify backport-8.18 Automated backport to the 8.18 branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants