Repository navigation
Conversation
Motivation: 2.0.0-M5 is likely to become the 2.0.0 release, so the per-milestone release notes should be replaced by a single, more detailed 2.0.0 entry. Modification: Replace the 2.0.0-M1 to M4 sections with one 2.0.0 section that summarises the 2.0.0-M1 to M5 GitHub milestones: main changes, upgrade notes, bug fixes, security hardening, changes ported from Akka, additions, changes, performance work, removed code, deprecations and dependency versions. Result: Users get one release notes entry covering all of the 2.0.0 work. Tests: - Not run - docs only References: None - release notes for the 2.0.0 release
He-Pin
left a comment
There was a problem hiding this comment.
LGTM. Spot-checked the dependency version claims against project/Dependencies.scala (Scala 2.13.18/3.3.8, netty 4.2.19.Final, jackson 2.22.3/3.2.3, aeron 1.53.3, agrona 2.6.1, protobuf-java 4.36.2, config 1.4.9, slf4j 2.0.20, lz4-java 1.12.0, junit-jupiter 6.1.3) - all match. Consolidating the M1-M4 entries into a single 2.0.0 entry that covers M1-M5 reads well and the migration-guide dependency section is a good addition.
|
Approved - the release notes look good and the dependency versions check out. The PR is still marked as draft, so it cannot be merged yet; will merge once it is marked ready for review. |
|
|
||
| ## Dependency Changes in Pekko 2.x | ||
| * Java 17 is the minimum supported Java version and Scala 2.12 is no longer supported. Pekko 2.x is published for | ||
| Scala 2.13 and Scala 3. |
There was a problem hiding this comment.
Should include Scala 3.3.x and Scala 3.9.x is also tested.
| * A lot of code that was deprecated in Pekko 1.x (and in Akka before that) has been removed - see the Removed section below | ||
| * Big change for Java DSL users due to the removal of `pekko.japi.Function` (and related classes, such as `pekko.japi.function.FI` and `JAPI`) in favour of `pekko.japi.function.Function` and the other `pekko.japi.function` types. Lambdas should recompile ok but if you declared variables or functions explicitly, then you may need to change your imports ([PR2001](https://github.com/apache/pekko/pull/2001), [PR2064](https://github.com/apache/pekko/pull/2064), [PR2078](https://github.com/apache/pekko/pull/2078), [PR2079](https://github.com/apache/pekko/pull/2079), [PR2143](https://github.com/apache/pekko/pull/2143), [PR2198](https://github.com/apache/pekko/pull/2198)) | ||
| * Java APIs no longer leak Scala types: Scala `Future`, `Option`, `Tuple2` and Scala collections have been replaced with `CompletionStage`, `Optional`, `pekko.japi.Pair` and Java collections in a number of Java DSL methods, including the pekko-persistence Java APIs ([PR1419](https://github.com/apache/pekko/pull/1419), [PR2007](https://github.com/apache/pekko/pull/2007), [PR2009](https://github.com/apache/pekko/pull/2009), [PR2092](https://github.com/apache/pekko/pull/2092), [#2086](https://github.com/apache/pekko/issues/2086), [PR3378](https://github.com/apache/pekko/pull/3378), [PR3388](https://github.com/apache/pekko/pull/3388)) | ||
| * Added many Akka changes that have recently become Apache Licensed (up to and including Akka 2.8.5) - see the Ported from Akka section below |
There was a problem hiding this comment.
🟡 Changes recommended
The M5 summary is stale and the Agrona JVM-option guidance is misleading for classpath deployments.
2 open findings
What changed in this PR
Consolidates Pekko 2.0 milestone notes into release documentation and expands upgrade guidance.
Changes:
- Adds comprehensive 2.0.0 release notes and warnings.
- Documents dependency and runtime migration requirements.
| File | Description |
|---|---|
releases-2.0.md |
Consolidates milestone changes into 2.0.0 notes. |
migration-guide-1.x-2.x.md |
Adds dependency migration guidance. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| * Agrona was updated from 1.x to 2.x, which | ||
| [means](https://github.com/aeron-io/agrona/wiki/Change-Log#200-2024-12-17) you may have to add | ||
| `--add-opens java.base/jdk.internal.misc=ALL-UNNAMED` if you use the Java Module System and Pekko Remote. |
| [2.0.0-M2](https://github.com/apache/pekko/milestone/19?closed=1), | ||
| [2.0.0-M3](https://github.com/apache/pekko/milestone/28?closed=1), | ||
| [2.0.0-M4](https://github.com/apache/pekko/milestone/31?closed=1) and | ||
| [2.0.0-M5](https://github.com/apache/pekko/milestone/35?closed=1) for a fuller list of changes. |

Motivation
2.0.0-M5 is possibly going to become the 2.0.0 release. The 2.0 release notes only had short per-milestone entries, and some upgrade warnings were in the release notes rather than the migration guide.
Modification
releases-2.0.mdwith a single 2.0.0 entry that summarises the 2.0.0-M1 to M5 GitHub milestones: main changes, bug fixes, security hardening, changes ported from Akka (up to 2.8.5), additions, changes, performance work, removed code, deprecations, dependency versions and known issues. Follow-up PRs are grouped onto one line.--add-opensrequirement, theat.yawk.lz4:lz4-javaswitch (made in 1.4.0) and thessl-configremoval. The release notes' upgrade notes now point to the migration guide.Result
Users get one detailed release notes entry for 2.0.0, and upgrade warnings live in the migration guide.
Tests
References
None - release notes for the 2.0.0 release