This is an automated email from the ASF dual-hosted git repository.

He-Pin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko.git


The following commit(s) were added to refs/heads/main by this push:
     new 5a4d3901b6 Document migration from removed SSLConfig convenience APIs 
(#3660)
5a4d3901b6 is described below

commit 5a4d3901b646e48453dc42b666c64b33f7d416ea
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Fri Oct 23 21:22:10 2026 +0800

    Document migration from removed SSLConfig convenience APIs (#3660)
    
    * Document migration from removed SSLConfig convenience APIs
    
    Motivation:
    
    The migration guide mentions removing the ssl-config dependency but omits 
the replacement for PekkoSSLConfig and the old TLS convenience overloads.
    
    Modification:
    
    Describe configured javax.net.ssl.SSLEngine factories and link the current 
Scala and Java TLS/TCP entry points next to the existing removal notice.
    
    Result:
    
    Users can migrate to the current APIs without restoring removed 
dependencies or changing the existing TLS engine implementation.
    
    Tests:
    
    - Tests: Not run - docs only.
    - Passed: `docs/paradox`.
    - Passed: `+headerCheckAll`.
    - Full `validatePullRequest` is left to remote CI.
    
    References:
    
    - Refs [akka/akka-core#32071](https://github.com/akka/akka-core/pull/32071).
    - Upstream commit: 
[997068c16638c22f78fc127816eb3c6b7df835e2](https://github.com/akka/akka-core/commit/997068c16638c22f78fc127816eb3c6b7df835e2).
    - Source snapshot: Akka `v2.9.0` 
(`bf20e967571574994ccb3cae411401f5a9021ab9`). Its 
[license](https://github.com/akka/akka-core/blob/v2.9.0/LICENSE) names 
2026-10-23 as the Change Date and Apache License 2.0 as the Change License. 
`LICENSE` and `NOTICE` record the source, and original copyright notices are 
retained. Headers were generated/checked with the project sbt tasks.
    
    * Keep licensing metadata outside the migration change
    
    Motivation:
    Keep PR #3660 scoped to its code or documentation change.
    
    Modification:
    Restore the root LICENSE and NOTICE files to main.
    
    Result:
    The migration diff retains its source headers without repository-level 
licensing edits.
    
    Tests:
    - git diff --check passed.
    - Verified every other file is unchanged; prior focused validation still 
applies.
    
    References:
    Refs #3660.
    
    * Preserve TLS settings in migration guidance #3660
    
    Motivation:
    Replacing the removed convenience APIs requires client identity checks and 
session settings to be configured explicitly.
    
    Modification:
    Move the migration guidance to breaking API changes, explain hostname 
verification and DNS SNI alongside engine settings, link the TLS examples, and 
scope bindAndHandle guidance to Scala.
    
    Result:
    Callers have a documented path to the engine-factory APIs that preserves 
their TLS configuration.
    
    Tests:
    Validation used a local integration checkout with current main and the 
other review fixes.
    
    - Runtime tests: Not run - docs only.
    - docs/paradox, headerCreateAll, +headerCheckAll, and git diff --check: 
passed.
    - Verified the generated Scala/Java API links, Scala-only bind-and-handle 
guidance, and TLS example link.
    - Full validation is delegated to remote CI.
    
    References:
    Refs #3660, Refs #2127.
---
 .../main/paradox/migration/migration-guide-1.x-2.x.md   | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/docs/src/main/paradox/migration/migration-guide-1.x-2.x.md 
b/docs/src/main/paradox/migration/migration-guide-1.x-2.x.md
index fa6332d521..8947550241 100644
--- a/docs/src/main/paradox/migration/migration-guide-1.x-2.x.md
+++ b/docs/src/main/paradox/migration/migration-guide-1.x-2.x.md
@@ -82,6 +82,23 @@ release. The fork is a drop-in replacement with important 
bug fixes. If your bui
 * The `ssl-config` library is no longer a dependency of Pekko and the 
`ssl-config` configuration sections have
 been removed (see Removed configuration below). 
([PR2127](https://github.com/apache/pekko/pull/2127))
 
+* The deprecated `PekkoSSLConfig` convenience API and the stream methods 
accepting it were removed.
+Initialize an `SSLContext` with the required key and trust managers, and 
supply a factory that creates a new
+`javax.net.ssl.SSLEngine` for each connection. Set its client or server mode 
and apply the cipher suites,
+protocols and client-authentication settings previously passed in 
`NegotiateNewSession` directly to the engine
+or its `SSLParameters`.
+Client factories must preserve peer identity checks: use 
`sslContext.createSSLEngine(host, port)`, call
+`setUseClientMode(true)`, and enable hostname verification with 
`setEndpointIdentificationAlgorithm("HTTPS")`
+on the engine's `SSLParameters`. For DNS names, also configure SNI with 
`SSLParameters.setServerNames`
+containing an `SNIHostName` for that hostname. Apply those parameters with 
`SSLEngine.setSSLParameters` before returning the engine.
+The factory is accepted by
+@scala[@scaladoc[TLS.apply](org.apache.pekko.stream.scaladsl.TLS$)]@java[@javadoc[TLS.create](org.apache.pekko.stream.javadsl.TLS)]
+and the current @apidoc[Tcp](stream.*.Tcp) TLS methods.
+Replace `outgoingTlsConnection` with `outgoingConnectionWithTls` and `bindTls` 
with `bindWithTls`.
+@scala[Also replace `bindAndHandleTls` with `bindAndHandleWithTls`.]
+See the Scala and Java @ref:[TLS examples](../stream/stream-io.md#tls) for 
general engine setup,
+adding the client hostname-verification and SNI settings described above. 
([PR2127](https://github.com/apache/pekko/pull/2127))
+
 ## Configuration Changes in Pekko 2.x
 
 The `reference.conf` defaults have changed in a number of places. If you 
override any of the settings


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to