Skip to content

Commit b08b9c6

Browse files
pjfanningclaude
andcommitted
docs: address review comments and add late 2.0.0-M5 changes
- Name Scala 3.3.x as the minimum Scala 3 version and note Scala 3.9 testing - Agrona --add-opens applies to classpath Artery users, not only JPMS users - Add the PersistenceTestKitReadJournal offset change to the migration guide - Add PRs 3605, 3607-3611, 3615, 3616, 3621 and 3628 to the release notes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 2361727 commit b08b9c6

2 files changed

Lines changed: 19 additions & 4 deletions

File tree

‎docs/src/main/paradox/migration/migration-guide-1.x-2.x.md‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,20 @@ rolling updates. ([PR3425](https://github.com/apache/pekko/pull/3425))
6060
* `RemoveInternalClusterShardingData` no longer supports removing Cluster Sharding coordinator data stored
6161
by Akka 2.3.x. The `-2.3` program argument and the `remove2dot3Data` parameter of
6262
`RemoveInternalClusterShardingData.remove` have been removed. ([PR3608](https://github.com/apache/pekko/pull/3608))
63+
* In pekko-persistence-testkit, the `PersistenceTestKitReadJournal` tag queries (`eventsByTag`,
64+
`currentEventsByTag`) and the live `eventsBySlices` query now put a `TimestampOffset` in their envelopes instead of
65+
`Sequence`. Code that cast these offsets to `Sequence` needs updating; the per-persistence-id sequence number is
66+
still available as `envelope.sequenceNr`. These queries also now accept a `TimestampOffset` to resume from.
67+
([PR3615](https://github.com/apache/pekko/pull/3615))
6368

6469
## Dependency Changes in Pekko 2.x
6570
* Java 17 is the minimum supported Java version and Scala 2.12 is no longer supported. Pekko 2.x is published for
66-
Scala 2.13 and Scala 3.
71+
Scala 2.13 and Scala 3.3 (LTS), so Scala 3 users need Scala 3.3.x or later. Pekko 2.x is also tested with
72+
Scala 3.9.
6773
* Agrona was updated from 1.x to 2.x, which
68-
[means](https://github.com/aeron-io/agrona/wiki/Change-Log#200-2024-12-17) you may have to add
69-
`--add-opens java.base/jdk.internal.misc=ALL-UNNAMED` if you use the Java Module System and Pekko Remote.
74+
[means](https://github.com/aeron-io/agrona/wiki/Change-Log#200-2024-12-17) you may have to add the JVM option
75+
`--add-opens java.base/jdk.internal.misc=ALL-UNNAMED` if you use Pekko Remote with Artery. This applies to
76+
applications on the classpath as well as those that use the Java Module System (`ALL-UNNAMED` covers classpath code).
7077
* pekko-serialization-jackson depends on `at.yawk.lz4:lz4-java` instead of the unmaintained `org.lz4:lz4-java`.
7178
This change was made in Pekko 1.4.0, so you will only notice it if you are upgrading from an earlier Pekko 1.x
7279
release. The fork is a drop-in replacement with important bug fixes. If your build also depends on

‎docs/src/main/paradox/release-notes/releases-2.0.md‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ defaults that have changed in Pekko 2.0.0.
9494
* Make AbstractPersistentActorWithTimers and AbstractFSMWithStash subclassable from Java when using Scala 3 ([PR3475](https://github.com/apache/pekko/pull/3475))
9595
* Use a Seq rather than a Set to hold TCP magic ByteStrings ([PR3484](https://github.com/apache/pekko/pull/3484))
9696
* Stop cluster sharding entities stuck in passivation after a timeout ([PR3573](https://github.com/apache/pekko/pull/3573))
97+
* Stop handing a reused `Mailbox` object to the fork-join dispatcher, which could permanently damage a ForkJoinPool work queue or stop a mailbox from running again. `Mailbox` no longer extends `ForkJoinTask` ([#3613](https://github.com/apache/pekko/issues/3613), [#3620](https://github.com/apache/pekko/issues/3620), [PR3621](https://github.com/apache/pekko/pull/3621), [PR3628](https://github.com/apache/pekko/pull/3628))
98+
* Keep colliding virtual nodes in ConsistentHash, so the ring no longer depends on the order in which nodes were added or removed. Routing only changes for keys that land on a colliding ring position, but during a rolling update nodes on 1.x and 2.x could route those few keys differently ([PR3611](https://github.com/apache/pekko/pull/3611))
99+
* Resolve a `LogSource` for `getClass` results on Scala 3, so `Logging(system, getClass)` compiles ([#1538](https://github.com/apache/pekko/issues/1538), [PR3609](https://github.com/apache/pekko/pull/3609))
100+
* Allow overriding `testKit` with a `val` in `ScalaTestWithActorTestKit` ([#1140](https://github.com/apache/pekko/issues/1140), [PR3610](https://github.com/apache/pekko/pull/3610))
101+
* Keep the `StashBufferImpl` instrumentation hooks from being inlined by the Scala 2.13 optimizer ([PR3616](https://github.com/apache/pekko/pull/3616))
97102

98103
### Security Hardening
99104

@@ -163,6 +168,7 @@ These changes were copied from Akka releases (up to and including Akka 2.8.5) th
163168
* Add `JournalPersistFailed` and `JournalPersistRejected` signals ([PR1961](https://github.com/apache/pekko/pull/1961))
164169
* Add an AsyncWriteJournal option for disabling the Resequencer ([PR2027](https://github.com/apache/pekko/pull/2027))
165170
* Add `DurableStateBehaviorTestKit` ([PR3360](https://github.com/apache/pekko/pull/3360))
171+
* `PersistenceTestKitReadJournal` tag and slice queries support resuming from a `TimestampOffset` ([#1765](https://github.com/apache/pekko/issues/1765), [PR3615](https://github.com/apache/pekko/pull/3615))
166172
* The Java test kits now support JUnit Jupiter (JUnit 5 and 6). Pekko's own Java tests have been migrated from JUnit 4 ([#967](https://github.com/apache/pekko/issues/967), [PR2289](https://github.com/apache/pekko/pull/2289), [PR2724](https://github.com/apache/pekko/pull/2724), [PR2865](https://github.com/apache/pekko/pull/2865))
167173
* Java DSL TestKit `shutdownActorSystem` that takes Java Duration params ([#2226](https://github.com/apache/pekko/issues/2226), [PR2277](https://github.com/apache/pekko/pull/2277))
168174
* Add virtualize support for thread-pool-executor (including the blocking IO dispatcher) and support setting the starting number of virtual threads ([#2163](https://github.com/apache/pekko/issues/2163), [PR2169](https://github.com/apache/pekko/pull/2169), [PR2242](https://github.com/apache/pekko/pull/2242))
@@ -202,6 +208,7 @@ The Stream API has been updated to add some extra operators.
202208
* Replace the actor based fanout publisher runtime (`Sink.asPublisher(fanout = true)`) with a GraphStage bridge ([PR2874](https://github.com/apache/pekko/pull/2874))
203209
* Remove the deprecated annotation from `recoverWith` and undeprecate the `getFirst`/`getFirstAttribute` methods ([PR2119](https://github.com/apache/pekko/pull/2119), [PR3404](https://github.com/apache/pekko/pull/3404))
204210
* Mark public sealed traits and abstract classes with `@DoNotInherit` ([#1270](https://github.com/apache/pekko/issues/1270), [PR3386](https://github.com/apache/pekko/pull/3386))
211+
* Remove `@ApiMayChange` from APIs that have proven stable, including the log markers, `RotatingKeysSSLEngineProvider`, `ExternalShardAllocation`, `RetryFlow` and the `MaterializerState` API ([PR3607](https://github.com/apache/pekko/pull/3607))
205212
* Remove the Akka 2.6.4 rolling-migration manifests from ClusterMessageSerializer ([PR3516](https://github.com/apache/pekko/pull/3516))
206213
* ClusterShardingSettings: remove backward-compat passivation code ([PR3026](https://github.com/apache/pekko/pull/3026))
207214
* Remove the `ssl-config` dependency ([#2125](https://github.com/apache/pekko/issues/2125), [PR2127](https://github.com/apache/pekko/pull/2127), [PR2359](https://github.com/apache/pekko/pull/2359))
@@ -213,7 +220,7 @@ The Stream API has been updated to add some extra operators.
213220
* Fix many compiler, Scaladoc and Javadoc warnings ([PR3283](https://github.com/apache/pekko/pull/3283), [PR3284](https://github.com/apache/pekko/pull/3284), [PR3285](https://github.com/apache/pekko/pull/3285), [PR3297](https://github.com/apache/pekko/pull/3297), [PR3330](https://github.com/apache/pekko/pull/3330))
214221
* Regenerated the protobuf source code using protoc 4.36 ([PR2036](https://github.com/apache/pekko/pull/2036), [PR2335](https://github.com/apache/pekko/pull/2335), [PR3514](https://github.com/apache/pekko/pull/3514))
215222
* Validate legal files in packaged jars ([PR3328](https://github.com/apache/pekko/pull/3328))
216-
* Many documentation improvements, including a list of configuration changes in the migration guide, docs for the jackson3 module, the JUnit Jupiter test kit, custom Durable State store plugins and stream operator reference pages for previously undocumented operators ([PR2391](https://github.com/apache/pekko/pull/2391), [PR2468](https://github.com/apache/pekko/pull/2468), [PR3274](https://github.com/apache/pekko/pull/3274), [PR3513](https://github.com/apache/pekko/pull/3513), [PR3583](https://github.com/apache/pekko/pull/3583), [PR3585](https://github.com/apache/pekko/pull/3585), [#3589](https://github.com/apache/pekko/issues/3589), [PR3590](https://github.com/apache/pekko/pull/3590))
223+
* Many documentation improvements, including a list of configuration changes in the migration guide, docs for the jackson3 module, the JUnit Jupiter test kit, custom Durable State store plugins, migrating off the deprecated `Source.queue` overloads and stream operator reference pages for previously undocumented operators ([PR2391](https://github.com/apache/pekko/pull/2391), [PR2468](https://github.com/apache/pekko/pull/2468), [PR3274](https://github.com/apache/pekko/pull/3274), [PR3513](https://github.com/apache/pekko/pull/3513), [PR3583](https://github.com/apache/pekko/pull/3583), [PR3585](https://github.com/apache/pekko/pull/3585), [#3589](https://github.com/apache/pekko/issues/3589), [PR3590](https://github.com/apache/pekko/pull/3590), [PR3605](https://github.com/apache/pekko/pull/3605))
217224

218225
### Performance
219226

@@ -243,6 +250,7 @@ Much of the code that was deprecated in Pekko 1.x (and in Akka before that) has
243250
* Scala version compatibility classes in `pekko.util` (such as `ccompat`, `FutureConverters`, `OptionConverters`, `ExecutionContexts.parasitic`) as Pekko now uses the Scala 2.13 standard library equivalents ([PR2207](https://github.com/apache/pekko/pull/2207), [PR2208](https://github.com/apache/pekko/pull/2208), [PR2212](https://github.com/apache/pekko/pull/2212), [PR2234](https://github.com/apache/pekko/pull/2234), [PR2582](https://github.com/apache/pekko/pull/2582))
244251
* Internal and unused code such as `ReentrantGuard`, `AbruptIOTerminationException`, `ActorProcessor` and the classic remoting `disassociate` methods ([#2160](https://github.com/apache/pekko/issues/2160), [PR2065](https://github.com/apache/pekko/pull/2065), [PR2072](https://github.com/apache/pekko/pull/2072), [PR2074](https://github.com/apache/pekko/pull/2074), [PR2161](https://github.com/apache/pekko/pull/2161), [PR3027](https://github.com/apache/pekko/pull/3027))
245252
* The `ssl-config` configuration sections ([PR2359](https://github.com/apache/pekko/pull/2359))
253+
* Support for removing Cluster Sharding coordinator data stored by Akka 2.3.x from `RemoveInternalClusterShardingData` ([PR3608](https://github.com/apache/pekko/pull/3608))
246254

247255
### Deprecations
248256

0 commit comments

Comments
 (0)