Release Notes (1.2.x)
Apache Pekko 1.2.x releases support Java 8 and above.
1.2.0
Pekko 1.2.0 has some new features, performance updates and dependency upgrades. See GitHub Milestone for 1.2.0-M1, GitHub Milestone for 1.2.0-M2 and GitHub Milestone for 1.2.0 for a fuller list of changes.
Most of the changes appeared in the milestone releases (1.2.0-M1 and 1.2.0-M2) but some additional changes were made for the 1.2.0 release. These extra changes include deprecating some methods that will be removed in a future release.
Bug Fixes
- Fix a leak in FlatMapPrefix operator (PR1622)
- Fix a leak in PrefixAndTail operator (PR1623)
- Fix occasional ordering issue in FlowWithContext#unsafeOptionalDataVia (PR1681)
- Add the missing EmptySource case to TraversalBuilder (PR1743)
- Issue forming mixed Akka/Pekko cluster when classic remoting with SSL/TLS is used (PR1857)
- Join cluster check adjusted to support Akka nodes (PR1866, PR1877)
- If you are attempting to mix Akka and Pekko nodes in a cluster, it is still recommended to disable the join cluster check but these changes may be enough to get it work (docs).
- BroadcastHub drops elements due to register/unregister race (PR1841)
- Fix issue with number deserialization in pekko-cluster-metrics (PR1899)
- Fix typed persistence stack overflow with many read only commands (PR1919)
- Allow overriding dispatcher in mapWithResource (PR1949)
- Fix issue with ByteBuffer cleaner only working with Java 8 (PR2020)
Additions
- add non-default config that allows InboundQuarantineCheck to ignore ‘harmless’ quarantine events (PR1555)
- New Sink.none operator (PR1614)
- Add overridden duration timeout to StreamTestKit (PR1648)
- Add Identity function to Java DSL (PR1671)
- Add support for controlling the NettyTransport’s byteBuf allocator type (PR1707)
- Add Pattern timeout support (PR1424)
- Add TraversalBuilder.getValuePresentedSource method for further optimization (PR1701)
- Add flatmapConcat with parallelism support (PR1702)
- add EventsByTagQuery to JavaDSL PersistenceTestKitReadJournal (PR1763)
- Implement EventsBySliceQuery in JavaDSL PersistenceTestKitReadJournal (PR1767)
- Persistence API: add CurrentLastSequenceNumberByPersistenceIdQuery (PR1773)
- Add emitMulti with Spliterator support (PR1776)
- Add switchMap stream operator (PR1787)
- Add invokeWithFeedbackCompletionStage for javadsl (PR1819)
- Add takeUntil stream operator (PR1820)
- Add Source#create method (PR1823)
- Support Jackson Enum Features (PR1845)
- Add dropRepeated stream operator (PR1868)
- Add onComplete support for statefulMapConcat operator (PR1870)
- Add groupedAdjacentBy and GroupedAdjacentByWeighted stream operators (PR1937)
- Add JournalPersistFailed and JournalPersistRejected signals (PR1961)
- Make calculateDelay a public method (PR1940)
- Allow disabling AsyncWriteJournal.Resequencer to improve latency (#2026)
- Add CompletionStages helper (PR2049)
Changes
- Make flatMapPrefix javadsl using java.util.List (PR271)
- Add SchedulerTask which will be notified once cancelled (PR1593)
- Reduce loops when cleaning queue in BroadcastHub (PR1628)
- Avoid calling finalizeStage more times than once (PR1650)
- avoid boxing in zipWithIndex and fix type signature in SubSource#zipWithIndex (PR1669)
- Avoid forwarding method on ArrayDequeue in stream module (PR1687)
- Avoid forwarding method on ArrayDequeue in BatchingExecutor (PR1688)
- Enhance virtual thread support (PR1724)
- Add LoadMetrics support for virtual thread executor (PR1734)
- Tweak withAttributes in Flow (PR1658)
- Handle NormalShutdownReason in MergeHub (PR1741)
- optimize recoverWith to avoid some materialization (PR1775)
- Regenerated all the source code for Protobuf using 4.32.0 (PR1795, PR2036)
- Avoid materialize an empty source in switchMap (PR1804)
- Fix wrong name attribute for iterate and mapAsyncPartitionUnordered operators (PR1869)
- Change aggregateWithBoundary operator in javadsl to use Optional (PR1876)
- TLS v1.3 is now the default (PR1901)
- Set vector builder to null after stage completed to avoid leak (PR1917)
- Renamed internal Algorithm class (pekko-serialization-jackson) (PR1932)
- Deprecate FunctionalInterfaces that are being removed in pekko 2.0.0 (PR2004, PR2075)
- Disable batch if isVirtualized (PR2046)
- Deprecate more methods in Futures (PR2048)
- Remove incorrect deprecation in IOResult (PR2054)
- Make timeoutCompletionStage accept Java Duration (PR2063)
Dependency Changes
- netty 4.2.4.Final
- jackson 2.19.2
- lightbend/config 1.4.4
- protobuf-java 4.32.0
- slfj4 2.0.17
- jupiter-junit 5.13.3
- scala 2.12.20, 2.13.16, 3.3.6
1.2.0