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

pjfanning 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 9d9771347e release notes for 2.0.0-M4 (#3448)
9d9771347e is described below

commit 9d9771347e7f3f3900acc196c5cd9252384c2141
Author: PJ Fanning <[email protected]>
AuthorDate: Fri Aug 21 22:26:25 2026 +0100

    release notes for 2.0.0-M4 (#3448)
    
    * release notes for 2.0.0-M4
    
    * Update release notes for version 2.0
    
    * Revise migration guide for Pekko 2.x breaking changes
    
    Updated migration guide for Pekko 2.x to reflect additional breaking 
changes and adjustments in the Scala and Java APIs.
    
    * update notes
---
 .github/workflows/publish-2.0-docs.yml                   | 12 ++++++------
 .../main/paradox/migration/migration-guide-1.x-2.x.md    | 16 ++++++++--------
 docs/src/main/paradox/release-notes/releases-2.0.md      | 14 ++++++++++++++
 3 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/.github/workflows/publish-2.0-docs.yml 
b/.github/workflows/publish-2.0-docs.yml
index 0c886fb451..5e29859534 100644
--- a/.github/workflows/publish-2.0-docs.yml
+++ b/.github/workflows/publish-2.0-docs.yml
@@ -60,20 +60,20 @@ jobs:
         env:
           DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
         run: |-
-          sbt -Dpekko.genjavadoc.enabled=true "set ThisBuild / version := 
\"2.0.0-M3\"; docs/paradox; unidoc"
+          sbt -Dpekko.genjavadoc.enabled=true "set ThisBuild / version := 
\"2.0.0-M4\"; docs/paradox; unidoc"
 
       # Create directory structure upfront since rsync does not create 
intermediate directories otherwise
       - name: Create directory structure
         run: |-
-          mkdir -p target/nightly-docs/docs/pekko/2.0.0-M3/
+          mkdir -p target/nightly-docs/docs/pekko/2.0.0-M4/
           mkdir -p target/nightly-docs/docs/pekko/2.0/
-          cp -r docs/target/paradox/site/main/ 
target/nightly-docs/docs/pekko/2.0.0-M3/docs
+          cp -r docs/target/paradox/site/main/ 
target/nightly-docs/docs/pekko/2.0.0-M4/docs
           cp -r docs/target/paradox/site/main/ 
target/nightly-docs/docs/pekko/2.0/docs
           rm -r docs/target/paradox/site/main/
-          cp -r target/scala-2.13/unidoc 
target/nightly-docs/docs/pekko/2.0.0-M3/api
+          cp -r target/scala-2.13/unidoc 
target/nightly-docs/docs/pekko/2.0.0-M4/api
           cp -r target/scala-2.13/unidoc target/nightly-docs/docs/pekko/2.0/api
           rm -r target/scala-2.13/unidoc
-          cp -r target/javaunidoc target/nightly-docs/docs/pekko/2.0.0-M3/japi
+          cp -r target/javaunidoc target/nightly-docs/docs/pekko/2.0.0-M4/japi
           cp -r target/javaunidoc target/nightly-docs/docs/pekko/2.0/japi
           rm -r target/javaunidoc
 
@@ -82,7 +82,7 @@ jobs:
         with:
           upload: true
           switches: --archive --compress --update --delete --progress 
--relative
-          local_path: target/nightly-docs/./docs/pekko/2.0.0-M3 # The 
intermediate dot is to show `--relative` which paths to operate on
+          local_path: target/nightly-docs/./docs/pekko/2.0.0-M4 # The 
intermediate dot is to show `--relative` which paths to operate on
           remote_path: ${{ secrets.NIGHTLIES_RSYNC_PATH }}/pekko
           remote_host: ${{ secrets.NIGHTLIES_RSYNC_HOST }}
           remote_port: ${{ secrets.NIGHTLIES_RSYNC_PORT }}
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 2cbb360a14..30e70bc0e0 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
@@ -29,22 +29,22 @@ Java API users may find that they have more deprecations to 
deal with because th
 were a few mistakes in the Java API where Scala classes leaked into some of 
the Java API methods.
 
 ## Additional Breaking Changes in Pekko 2.x
-
-An example is in the Scala DSL for Flow and Source, the `watchTermination` 
function call no longer needs an empty param
+* In the Scala DSL for Flow and Source, the `watchTermination` function call 
no longer needs an empty param
 list before a second param list. Instead of `watchTermination(){ ... }`, you 
now must use `watchTermination{ ... }`.
 ([PR2378](https://github.com/apache/pekko/pull/2378))
-
-In the Java API, `FSMTransitionHandlerBuilder.build` and 
`FSMTransitionHandlerBuilder.state` now use
+* In the Java API, `FSMTransitionHandlerBuilder.build` and 
`FSMTransitionHandlerBuilder.state` now use
 `pekko.japi.Pair` instead of `scala.Tuple2`. Java users need to update their 
code to use `Pair` instead of `Tuple2`.
 ([PR3378](https://github.com/apache/pekko/pull/3378))
-
-The Java DSL `SourceWithContext` graph shape now uses `pekko.japi.Pair` 
instead of `scala.Tuple2`.
+* The Java DSL `SourceWithContext` graph shape now uses `pekko.japi.Pair` 
instead of `scala.Tuple2`.
 Java code that passes a `SourceWithContext` directly to `GraphDSL` must use 
`Pair`-typed stages.
 Code that converts it with `asSource()` already uses `Pair` and requires no 
changes.
 ([PR3388](https://github.com/apache/pekko/pull/3388))
-
-`ReceiveTimeout` changed from a `case object` singleton to a `final case 
class` that carries the configured
+* `ReceiveTimeout` changed from a `case object` singleton to a `final case 
class` that carries the configured
 timeout duration. Scala pattern matches must use a type pattern (`case 
timeout: ReceiveTimeout =>`) instead of a
 stable identifier pattern, and the `ReceiveTimeout.getInstance()` method has 
been removed from the Java API;
 Java users should match on `ReceiveTimeout.class` instead.
 ([PR3399](https://github.com/apache/pekko/pull/3399))
+* In pekko-remote Artery comms, `"PEKK"` is now the default magic header
+(`pekko.remote.artery.advanced.tcp-magic`). See
+@ref:[Changing TCP magic 
header](../additional/rolling-updates.md#changing-tcp-magic-header) for what 
this means for
+rolling updates. ([PR3425](https://github.com/apache/pekko/pull/3425))
diff --git a/docs/src/main/paradox/release-notes/releases-2.0.md 
b/docs/src/main/paradox/release-notes/releases-2.0.md
index 2b52c42a29..c51ef52a3a 100644
--- a/docs/src/main/paradox/release-notes/releases-2.0.md
+++ b/docs/src/main/paradox/release-notes/releases-2.0.md
@@ -2,6 +2,20 @@
 
 Apache Pekko 2.0.x releases support Java 17 and above.
 
+## 2.0.0-M4
+
+This is milestone release and is aimed at testing this new major version
+by early adopters. This is experimental. This release should not be used in 
production.
+
+See the [GitHub Milestone for 
2.0.0-M4](https://github.com/apache/pekko/milestone/31?closed=1) for a fuller 
list of changes.
+
+### Main changes
+
+* Added many Akka changes that have recently become Apache Licensed (up to 
Akka 2.8.4).
+* Some more deprecated code has been removed but the changes are significantly 
smaller in this area than in 2.0.0-M1.
+* Switch to PEKK as the default magic header in pekko-remote Artery comms 
([PR3425](https://github.com/apache/pekko/pull/3425)).
+  See the @ref:[Migration Guide](../migration/migration-guide-1.x-2.x.md).
+
 ## 2.0.0-M3
 
 This is milestone release and is aimed at testing this new major version


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

Reply via email to