Skip to content

docs: 2.0.0 release notes - #3606

Draft
pjfanning wants to merge 6 commits into
apache:mainfrom
pjfanning:release-notes-2.0.0
Draft

pjfanning wants to merge 6 commits into
apache:mainfrom
pjfanning:release-notes-2.0.0

Conversation

@pjfanning

@pjfanning pjfanning commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

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

  • Replace the 2.0.0-M1 to M4 entries in releases-2.0.md with 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 a warning at the top of the 2.0.0 entry: this is a major release and binary compatibility with 1.x must not be assumed, and it could take months for other Pekko modules (HTTP, Connectors, etc.) to have 2.0.0 releases. Their 2.0.0 milestones might work if tested very carefully.
  • Add a "Dependency Changes in Pekko 2.x" section to the 1.x to 2.x migration guide covering Java 17 / Scala 2.12, the Agrona 2.x --add-opens requirement, the at.yawk.lz4:lz4-java switch (made in 1.4.0) and the ssl-config removal. 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

  • Not run - docs only (paradox site not built locally)

References

None - release notes for the 2.0.0 release

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
@pjfanning
pjfanning marked this pull request as draft October 9, 2026 12:22

@He-Pin He-Pin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@He-Pin

He-Pin commented Oct 10, 2026

Copy link
Copy Markdown
Member

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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.

Comment on lines +55 to +57
* 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants