github akkadotnet/akka.net 1.6.0-beta2
akka.net v1.6.0-beta2

pre-release4 hours ago

1.6.0-beta2 October 6th, 2026

Akka.NET 1.6.0-beta2 builds on the first public beta of the 1.6 line. It keeps the .NET 10-only target and the experimental Artery TCP transport, and it hardens the SerializerV2 API and the Native AOT story.

Serialization V2

The SerializerV2 work continues, including the generator:

  • Formatters inside collections (G-1). (#8726)
  • Native TimeSpan and small scalars (G-3). (#8727)
  • The V2 switch is HOCON-only; the SerializationV2Setup object is dropped. (#8729)
  • The V2 switch is a global opt-in, off by default. (#8724)
  • Delete the built-in serializer rows from module HOCON. (#8711)
  • Remote PrimitiveSerializers become a native SerializerV2 (same id 17, same bytes). (#8719)
  • Fix docs and diagnostics drift; diagnose private nested message types. (#8721)

Native AOT

  • Akka.Persistence.Embedded: SQLite journal, snapshot store and read journal, AOT-compatible. (#8739)
  • Persistence.Hosting: start plugin types from code (Native AOT). (#8738)
  • Akka.Streams: build island-boundary subscribers without runtime generics (Native AOT). (#8732)

Core and fixes

  • Resolve akka.loggers names before starting any logger. (#8778)
  • Add Match extension methods for Option<T>. (#8774)

Docs

  • Complete XML documentation placeholders across Core, Cluster, Cluster Tools, Distributed Data, Persistence, Remote, Sharding, Streams and TestKit. (#8760) (#8761) (#8762) (#8763) (#8764) (#8750) (#8751) (#8752) (#8755) (#8756) (#8757) (#8758)
  • Document channel sink behavior and distributed data reads. (#8767)
  • Correct serializer loading and supervision documentation. (#8766)
  • Clarify journal write outcomes and snapshot selection bounds. (#8765)

Release pipeline

  • Publish suffixed tags (betas, RCs) as GitHub pre-releases. (#8710)

3 contributors since release 1.6.0-beta1

COMMITS LOC+ LOC- AUTHOR
39 37456 17026 Aaron Stannard
1 110 0 Jan
2 0 0 dependabot[bot]

Changes:

  • fb397a1 Release 1.6.0-beta2 (#8781)
  • 7880926 Resolve akka.loggers names before starting any logger (#8778)
  • cbdec74 Akka.Persistence.Embedded: SQLite journal, snapshot store and read journal (AOT-compatible) (#8739)
  • 4e9606d Persistence.Hosting: start plugin types from code (Native AOT) (#8738)
  • 573f4b1 Add Match extension methods for Option (#8774)
  • 88da5d9 De-flake DynamicTypeLoadingOffLoggerSetupNamedInHoconSpec (#8773)
  • c07de32 Document channel sink behavior and distributed data reads (#8767)
  • 6f69b07 Correct serializer loading and supervision documentation (#8766)
  • 039ea57 Clarify journal write outcomes and snapshot selection bounds (#8765)
  • 58f2a5e docs: replace Streams implementation XML placeholders (#8764)
See More
  • 0d8ed39 docs: replace Streams operators XML placeholders (#8763)
  • 6cd2626 docs: replace Streams fusing XML placeholders (#8762)
  • 45a609d docs: replace Streams framework XML placeholders (#8761)
  • 9041a84 docs: replace TestKit XML placeholders (#8760)
  • 5715952 docs: replace generated Streams XML placeholders (#8759)
  • 4867a87 docs: replace Sharding XML placeholders (#8758)
  • 7bcf3cb docs: replace Distributed Data XML placeholders (#8757)
  • 26d6fa2 docs: replace Cluster Tools XML placeholders (#8756)
  • 29095a1 docs: replace Remote XML placeholders (#8755)
  • 1d96821 docs: complete Akka.Persistence XML documentation placeholders (#8750)
  • 197b10f docs: replace core XML documentation placeholders (#8752)
  • 1e383d4 TestKit: work with Akka.DynamicTypeLoading off (register TestEventListener and CallingThreadDispatcher in code) (#8754)
  • 15cdd41 Replace Cluster XML documentation placeholders (#8751)
  • d70c03e DistributedData multi-node: de-flake ReplicatorSpec (per-attempt probes for Get reads) (#8749)
  • 4fa203e Akka.Streams tests: de-flake ForEachAsync parallelism, SplitWhen materialized-twice and TCP close coalescing (#8747)
  • 745f3b3 Remote multi-node: de-flake TestConductorSpec throttle timing (#8748)
  • d39d14d Build: point Verify at the repo root so single test projects build on their own (#8737) [ #8725 ]
  • 0ad59d3 Akka.Streams: build island-boundary subscribers without runtime generics (Native AOT) (#8732) [ #8731, #8673 ]
  • ca27540 Serialization V2 generator: native TimeSpan and small scalars (G-3), stacked on #8726 (#8727) [ #8715, #8725 ]
  • 467b4ba Fix dev build: import Akka.TestKit for HexDumpFormatter in WireFormatSnapshotFormatterSpec (#8736) [ #8725, #8726 ]
  • 84461de TCK: give each SaveSnapshot spec actor a fresh name (#8734)
  • 011eb72 Serialization V2 generator: formatters inside collections (G-1) (#8726) [ #8715 ]
  • a838d1b Serialization V2: port test kit (Verify snapshots, port spec base, mixed bindings) (#8725) [ #8676 ]
  • 3936302 Serialization: V2 switch is HOCON-only (drop SerializationV2Setup) (#8729) [ #8724, #8713 ]
  • dc4abf2 Serialization: global opt-in V2 switch (off by default) (#8724) [ #8676, #8713 ]
  • cc75e07 Serialization: delete the built-in serializer rows from module HOCON (#8676, PR 4a) (#8711)
  • b49490c Remote: PrimitiveSerializers as a native SerializerV2 (same id 17, same bytes) (#8719)
  • 752b104 Serialization V2: fix docs and diagnostics drift; diagnose private nested message types (#8721) [ #8528, #8534, #8537, #8717 ]
  • 344cbde openspec: amend internal-serializers-messagepack-v2 for the 2026-10-02 serialization decisions (#8720) [ #8409 ]
  • c01ec35 De-flake scheduler cancel test and Hosting AwaitAssert test (#8712)
  • e106d15 Release pipeline: publish suffixed tags (betas, RCs) as GitHub pre-releases (#8710)
  • 5e88998 Bump coverlet.collector from 10.0.1 to 10.1.0 (#8709)
  • 10ec7fc Bump docfx from 2.78.5 to 2.81.0 (#8641)
  • d8fe28c Release 1.6.0-beta1 (#8597) [ #8702 ]
  • 792fd2d Serialization: register every deployed module's serializers as defaults (#8676, part 3) (#8702)
  • de851d4 Fix ReceiveActor regression: Receive(Type, Func<object,bool>) blocks later handlers (#8706) [ #7557 ]
  • 882242b De-flake ThrottlerManagerLifecycleSpec: wait for the manager's own Terminated before SetThrottle (#8708)
  • 4b7a458 Cluster.Metrics: fix nested selector manifest so remote-deployed adaptive pools deserialize (#8704)
  • aefcdfc Audit BREAKING_CHANGES_V1.6.md against v1.5.71 and catch up through #8698 (#8700) [ #8694, #8132, #7456, #7622, #8222, #8465, #7557, #8594 ]
  • 05cb1fc Add GETTING_STARTED_V1.6.md beta guide (#8703)
  • dd0de31 Docs: update Native AOT support scope for v1.6 (#8701) [ #8667, #8697 ]
  • fd9849b DistributedData: remove ReplicatorMessageSerializer's dead cache and its leaked timer (#8643) (#8699)
  • 74d8bfd Serialization: module tables carry aliases and bindings (#8676, part 2) (#8698)
  • 6565f17 AOT: serializers resolve their own manifests; guard the TypeCache fallback (#8697) [ #8672 ]
  • d8d6a4e AOT: module serializer table for Akka.Persistence (#8626, part 4) (#8695)
  • cf25db8 Add LoggerSetup for AOT-compatible custom logger registration (#7902) (#8218)
  • 3daa5e4 Serialization: built-in serializers declare their ids in code (#8676, part 1) (#8694)
  • 1fb112e AOT: Akka.Hosting canary app and CI job (#8668) [ #8667, #8649, #8671 ]
  • 1ec9e5e AOT: remove the Akka.Streams stream-ref reflection warnings (#8671) [ #8658, #8667, #8673 ]
  • 7516241 De-flake ParallelTestActorDeadlockSpec: wait for the actor, dilate the budgets (#8595) [ #7974, #8016, #8023 ]
  • 1f16a3d Hosting samples: use class registry keys; document class keys for IRequiredActor under Native AOT (#8674)
  • 37ada27 AOT: module serializer tables for the Cluster contrib family (#8626, part 3b) (#8669)
  • 352396b AOT: guard akka.extensions and custom akka.actor.provider reflection behind Akka.DynamicTypeLoading (#8670)
  • 5644f71 AOT: module serializer table for Akka.Cluster (#8626, part 3a) (#8666)
  • 6e20088 Hosting: register WithExtension through ExtensionsSetup (#8649)
  • 51cf0df AOT: ExtensionsSetup and a first-party akka.extensions table (#8648)
  • 3d89d29 Akka.Streams: fix a possible lost wakeup in MergeHub (missing memory fence) (#8665)
  • 6ef46df De-flake HubsDocTests dynamic merge: async expectation with an explicit 10s timeout (#8664)
  • 6c46ee0 AOT: module serializer tables for Akka.Remote and Akka.Streams (#8626, part 2) (#8658)
  • c110c5e Akka.IO: wire akka.io.tcp.maximum-frame-size to the pipe segment size (#8663) [ #8132, #8657 ]
  • 16359b5 Akka.IO: remove the unimplemented ResumeWriting / WritingResumed / useResumeWriting API (#8660) [ #8646, #8617 ]
  • 5bb1f1c Akka.IO TCP: hold back WriteAck until the output pipe's flush completes (#8646) [ #8617 ]
  • 4316f71 De-flake TcpConnectionOwnershipDisposalSpec: keep the close from finishing before the rejected write lands (#8661)
  • 2c14582 AOT: first-party logger table so Akka.Hosting's LoggerFactoryLogger resolves without reflection (#8654) [ #8613, #8603 ]
  • 1e4a82a AOT: core module-serializer table (#8626, part 1) (#8645)
  • 33710a3 Akka.Hosting: add missing trimming annotations for Native AOT (#8655) [ #8649 ]
  • bea8482 CI: capture hang dumps on unit-test jobs (#8653)
  • 0c84d4f Akka.Cluster: a Down node must never be leader, so it can't remove itself and linger outside the cluster (forward-port of #8650) (#8652)
  • 1dca4b4 Disassociate the wrapped handle when a throttled association stops (#8637) (#8647)
  • f923d5b AOT canary: cover routers, Stash/Become, timers, FSM, DeathWatch, and PipeTo (#8640) [ #8605 ]
  • ae8f153 Cleanup after AOT milestone-1 merge (#8639)
  • 74d13c2 Bump CsCheck from 4.8.0 to 4.9.1 (#8598)
  • a498171 Collapse every BuiltIn* type-name table to one key, widen matching to Type.GetType's rules (#8613)
  • be04d6b AOT (7/7): canary in CI with a warning baseline, buildTransitive .targets for automatic AOT/trim opt-in, Native AOT docs (#8608) [ #7246 ]
  • ebb0c78 AOT: remove UDP buffer pooling, keep the DNS provider configurable through a built-in table (#8606)
  • f69625f AOT (5/7): built-in routers and guardian strategy, guarded dispatcher/executor fallbacks, generic Expression.Lambda in the Props argument parser (#8605)
  • 3756123 AOT (4/7): core serializers and bindings from a built-in table; serialization-identifiers matched by name — canary goes green (#8604)
  • dcfeaf1 Fix Artery shutdown-flush data loss: wait for streams to actually close (#8628) [ #8636 ]
  • b18540f Classic remoting: half-close on disassociate so a Windows peer doesn't lose our last frames to an RST (#8635) [ #8589 ]
  • 238b986 De-flake ReplicatorPruningSpec: wait for every replicator to know every node before WriteAll (#8638)
  • 0e7dc22 IO: handle Tcp.Close while a ConfirmedClose is draining (#8636) [ #8634, #8630 ]
  • a0623e4 De-flake ClusterShardingFailureSpec join phase (DData variant) (#8633)
  • 5fa0921 IO: fix Tcp.ConfirmedClose racing the peer's FIN (#8630) [ #8629 ]
  • a26b03e AOT (3/7): Props/actor-type trimming annotations, akka.loggers from a built-in table, Akka.DependencyInjection ripple (#8603)
  • ef7f9c4 LoggerStartupSpec: gate the slow logger on the test instead of a fixed 1 s delay (#8621)
  • 95dd7e7 Cluster.Hosting TestHelper: stop a host that fails to start, allow 60 s for it to join (#8620)
  • a4b2383 RemotingTerminatorSpecs: don't depend on the best-effort Terminated from a graceful shutdown (#8622)
  • 2d33a57 TransportFailSpec: probe the reconnect with a fresh Identify per attempt and a 15 s budget (#8623)
  • 8bc7e44 Hosting SemanticLoggingSpecs/WithContextSpecs: give the logger 10 s, make SemanticTestLogger thread-safe (#8624)
  • e88b4f1 AOT (2/7): built-in mailbox types, mailbox requirement map, MailboxType/Mailboxes trimming annotations (#8602)
  • 2f4d9d4 Hosting EventFilterTestBase: retry the logger handshake like core; listeners reply OK once per forwarder (#8619) [ #8594 ]
  • 3d7cd46 ShardRegionQueriesSpecs: form the cluster in InitializeAsync and stop asking with 1-3 s timeouts (#8618)
  • 0ea28f8 De-flake two TestKit timing tests (TestFSMRef state timeout, WaitForRadioSilence reset) in Akka.TestKit and Akka.Hosting.TestKit (#8615)
  • ad06084 TcpHelper: give ServerConnection.WaitReadAsync a 10 s default instead of 3 s (#8616)
  • 25b82f2 FileSinkSpec: flush until the elements land instead of sleeping a fixed 100 ms (#8614)
  • 533064e AOT (1/7): Akka.DynamicTypeLoading feature switch, canary app, built-in tables for formatter/stdout logger/scheduler (#8601) [ #8608 ]
  • edf98c6 ReplicatorSpecs: replicate the 20k-element ORMultiValueDictionary with WriteLocal and poll the replicas (#8611) [ #5686, #7899, #5663 ]
  • 3a92fde De-flake the scheduler 0-delay tests and ArteryBlackholeQuarantineSpec (#8610)
  • cfc11a7 De-flake DispatcherModelSpec: await conditions instead of blocking on fixed deadlines (#8609) [ #8601, #8299, #8600 ]
  • 25e1dac De-flake ClusterSingletonRestartSpec: accept the hand-over retry's second HandOverInProgress (#8600) [ #8590 ]
  • c6b3bd5 AOT: resolve built-in actor ref providers from constant type names so the trimmer preserves them (#8599)
  • 8de1cb9 ClusterSingletonRestartSpec: assert the hand-over confirmation reaches the new oldest, so a lost HandOverInProgress is named instead of timed out (#8590) [ #8588, #8589 ]
  • 8463d5c docs: explain record property targets for generated serialization (#8596)
  • 8424a98 Forward-port #8591 to dev: Akka.Hosting in the akka.net repository, net10.0 only (#8594)
  • 8629e6a Bump Google.Protobuf from 3.35.1 to 3.36.1 (#8577)
  • e201662 De-flake StressSpec: leave the cluster before terminating a churn system; run it with 7 nodes on the 2-vCPU hosted agents (#8543)
  • 3f966aa TestKit: put the DotNetty batching override under akka.remote, where the transport reads it (re-land of #8546 with the RemoteConfigSpec fix) (#8561)
  • 450bebf TestKit.Xunit: implement the async dispose chain so a derived DisposeAsync no longer leaks the ActorSystem; de-flake StreamRefsSpec (#8545) [ #8191, #8217 ]
  • 025eb4b Artery: honour the reconnect backoff, return the held control element on stage stop, publish the inbound context before bind, host the materializer under /system (#8554)
  • 147a810 De-flake PropsSpec: await the producer latch instead of blocking on it for a flat second (#8587)
  • e62aa19 De-flake RemoteDeliverySpec: give the final barrier a budget that covers the loop (#8542)
  • 8c41b08 Serialization.V2: ManifestPrefix expansion moves out of the serializer transform into a per-compilation stage (#8538)
  • 0d78532 Serialization.V2: referenced-assembly implementor walk; marked union bases; closed-set discovery in the facts stage (Decisions 19 and 21) (#8537)
  • d5bcef0 Serialization.V2: closed-generic expansion and adoption; ManifestPrefix; AKKASG034 retired (Decisions 17 and 18) (#8536)
  • 9e21298 Serialization.V2: schemas from metadata for referenced-assembly types (Decision 16) (#8534)
  • cd444a1 Serialization.V2: diagnostic locations beside the model; report output joins spans (#8533)
  • d1cfd05 Serialization.V2: compilation-facts stage; KnownTypes once per compilation; referenced-assembly walk skeleton (#8532)
  • 75b2ffd Serialization.V2: typed keys and one schema table; nested-type collision closed (#8530)
  • aaf9e66 Serialization.V2: object elements inside collections are envelope-payload boundaries (#8528)
  • 3cbdf93 Serialization.V2: cached per-serializer resolve stage; one message edit re-emits one serializer (#8527)
  • 2c2a406 Fix Replicator.IsKnownNode to trust members first seen as Leaving/Exiting/Downed (#8582)
  • c0600b7 Cluster.Sharding: a coordinator hand-over only stops the local ShardRegion when the node is leaving (#8586) [ #8583 ]
  • bef497a De-flake EntityTerminationSpec: anchor on the shard's own entity set and wait out the restart backoff without blocking a pool thread (#8584)
  • 1ad1abe De-flake RemoteNodeDeathWatchSpec: barrier after the subject stops, resend-derived bound, identify asserts the actor exists (#8581)
  • 9c75211 De-flake ClusterShardingRegistrationCoordinatedShutdownSpec: wait on the spec's own budget instead of a probe's flat 5 s default (#8544)
  • 2d8fa21 Cluster.Sharding: arm the remember-entities write timeout with updating-state-timeout, as the config documents (#8574) [ #6479 ]
  • 59d5da6 Cluster: route user commands through /system/cluster for the extension's lifetime so their order survives startup; LeaveAsync re-sends its Leave (#8580) [ #8359 ]
  • ec983f6 De-flake ClusterSpec leave facts: await MemberUp before leaving so the join is ordered first; one leader pass, then MemberRemoved (#8579)
  • 986e473 De-flake NodeChurnSpec: turn off legacy auto-down, widen the heartbeat pause over the measured stall, and make the payload listener match real log messages (#8556) [ #8549 ]
  • 8e53c0e De-flake RemoteNodeRestartDeathWatchSpec: probe with Identify before the destructive kill, and let the subject terminate on a sliding timer (#8557)
  • 86e479d De-flake ReceiveTimeoutSpec: measure the two timeout cycles with dilated probe waits instead of one flat latch (#8541)
  • 408e008 De-flake ClusterShardingLeaseSpec: join the cluster in InitializeAsync instead of blocking a pool worker in the constructor (#8558)
  • fe82b52 De-flake UnreachableNodeJoinsAgainSpec: the master waits for the victim to go unreachable before it terminates (#8575)
  • 808de09 De-flake ShardingBufferAdapterSpec: re-send the cold messages with a fresh probe per attempt under a sharding-derived budget (#8573) [ #8545 ]
  • b2524f6 De-flake ClusterSingletonManagerLeave2Spec: watch the proxy from a dedicated probe, as upstream does; migrate the file to the async TestKit API (#8569)
  • 3432d6f De-flake BugFix3724Spec and HubSpec: give the zero-count event filter its own 3 s window instead of the Within's remaining time (#8566) [ #8516 ]
  • 989e299 De-flake InboxSpec: receive through ReceiveAsync so a deadline failure surfaces as TimeoutException (#8564)
  • a00df61 De-flake ClusterDeathWatchSpec: resolve first's end actor over the return lane before sending End (#8563)
  • 91556a0 Akka.Streams: Tcp Unbind completes at once when no connection is awaiting initialization; the counter was seeded at -1 (#8570)
  • 2cc9d1e De-flake DistributedPubSubRestartSpec: the restarted node makes first contact, and the survivor waits on it (#8552) [ #8557 ]
  • 9705d36 De-flake ClusterSpec: stop passing an already-cancelled token to its WithinAsync block (#8540)
  • 97eb9ce Bump FsCheck.Xunit from 3.3.3 to 3.4.0 (#8517)
  • 287eb44 Serialization.V2: validation returns diagnostics; one gate ladder shared by both outputs (#8526)
  • 846029a Serialization.V2: generator test harness, internal models, incrementality scenarios, baseline benchmark (#8525)
  • a16ebf1 Revert "TestKit: put the DotNetty batching override under akka.remote, where the transport reads it (#8546)"
  • d88eec8 TestKit: put the DotNetty batching override under akka.remote, where the transport reads it (#8546)
  • 78f5cdc De-flake ClusterShardingQueriesSpec: wait for all three regions before allocating shards (#8524) [ #8519, #1012486927, #8310 ]
  • 1552bd2 Build: bump Microsoft.SourceLink.GitHub to 10.0.303 to clear NU1902 (CVE-2026-62900) (#8535)
  • 94c1949 TestKit: WithinAsync no longer swallows the block's failure when the deadline wins (#8516) [ #8483 ]
  • 6cd8884 Serialization.V2: split the generator into phase files (move only, no behavior change) (#8519)
  • 8ef02f2 Docs: source-generated serialization guide reflects the object-typed boundary (#8518) (#8520) [ #8384 ]
  • 6775212 Serialization.V2: remove [AkkaEnvelopePayload]; a property typed object is the serializer boundary (#8518) [ #8384 ]
  • bc6695b Serialization.V2: pin cross-assembly generator behavior, fix AKKASG023 mislabel, add fix-it hints (#8512) [ #8384 ]
  • 2ece2c6 MNTR: eliminate the conductor port race - bind port 0 and propagate via stdout sentinel (#8515)
  • 0d9deb1 Docs: user guide for source-generated MessagePack serialization (Akka.Serialization.V2) (#8514) [ #8384 ]
  • 7cb73d6 Serialization.V2: record boundary decisions 16-20 in the OpenSpec design document (#8513) [ #8384 ]
  • 855e8d8 Fix #8508: arm ClusterClient's reconnect deadline per establishing phase, not per message (#8510)
  • e340146 Wave-3 de-flake: ReplicatorChaosSpec, ClusterShardingLeavingSpec pin, DistributedPubSubRestartSpec baseline (#8509) [ #8481, #8500, #8498 ]
  • e0ab16e Artery: stop dropping the first ordinary message when the peer dialed first (#8504) [ #8496, #7314 ]
  • d8e1eea Replace TBD XML doc placeholders in Akka.Event (#3435) (#8118)
  • d4f8672 Replace TBD XML doc placeholders in Akka.Serialization (#3435) (#8121)
  • e6e014d De-flake ClusterShardingSpec family: re-send Gets that race shard hand-off (#8500)
  • 81289e8 Add TestKitBase.ShutdownAsync and adopt it in StressSpec churn teardown (#8499) [ #8497 ]
  • 9b0fc9f De-flake ClusterSingletonProxySpec, ClusterSingletonRestartSpec, and DistributedPubSubRestartSpec (#8498)
  • 43e9038 Fix Cluster Sharding private replicator recovery (#8480) (#8491)
  • ebced6a Artery: flush outbound streams on graceful shutdown (#8486) [ #8474 ]
  • c2cbd6a Bump Akka.Persistence.Sql from 1.5.67 to 1.5.70 (#8495)
  • b86a6a1 Akka.Cluster: gossip removal tombstones - stop resurrecting removed members (#8484)
  • 60a01d0 perf: stop retaining ConsistentHash ring's SortedDictionary (#8293) (#8324)
  • 04a7980 MNTR: conductor keeps re-registered nodes; make RemoteReDeploymentSpec deterministic (#8485)
  • a918393 Fix: flush graceful Disassociate PDUs before transport force-close on shutdown (#8421)
  • e11bb6f MNTR: deterministic fixes for the Artery-lane spec failures (#8475)
  • e581901 Wrap single-lane outbound socket in inner restart flow (#8479)
  • c1c58f0 Artery: enforce quarantine on the inbound path (#8416)
  • f8bcfe5 Artery test-mode: disarm the unknown-origin gate when the last blackhole heals (#8478) [ #8476 ]
  • cb3147b CI: non-blocking Artery MNTR stage (#8373) [ #8378 ]
  • 503e7f7 fix: update Incrementalist to 1.2.2 for SDK 10.0.4xx compatibility (#8473)
  • b2cff22 Use explicit hostname in DotNetty certificate validator (#8465)
  • 0cbf8d1 feat: use bounded shard rebalancing by default (#8445)
  • 1e12bac Add AutoDilate metadata to TestKit timeouts (#8441)
  • 0ec2139 fix: stop blocking the thread in async CircuitBreakerSpec latch waits (#8288)
  • 732a17a build(deps): bump actions/setup-dotnet from 5 to 6 (#8388)
  • 8dd4cca De-flake MNTR specs: stop inner waits from consuming their enclosing Within budget (#8429)
  • dcd9acb MNTR: make barrier failures actually fail the barrier (#8431)
  • 1a4caf7 Akka.Remote: stop, don't restart, failed throttler children (#8433, #8434) (#8437)
  • f38a78c Fix torn read in PromiseActorRef.GetPath that made Path return null (#8436) [ #1, #2 ]
  • 3b76168 Fix double-dilated timeout in ExpectMsgAsync(Func<T, IActorRef, bool>, ...) (#8430)
  • d5993ab De-flake ActorSystemSpec.Log_dead_letters: await DeadLetterListener startup (#8428)
  • 90ea389 De-flake CircuitBreakerSpec + StressSpec (deterministic) (#8427) [ #8372 ]
  • 810c00a Fix ClusterClientDiscovery: preserve contact-point subscriptions across rediscovery (#8426)
  • a64827d Fix flaky SpecRunCoordinatorSpec: deterministic EndSpec aggregation (no timeout race) (#8424)
  • fc56f7a De-flake cluster-formation race in MNTR specs (0s auto-down + tight FD tolerance) (#8423)
  • 5fae4d6 MNTR: pin restarted-system ports for both transports (#8413)
  • b603b04 De-flake MNTR suite: DistributedPubSubRestartSpec + ClusterClientDiscoverySpec (bug squash) (#8415) [ #8404, #8413 ]
  • 8943f25 Bump Microsoft.Extensions.Http from 10.0.9 to 10.0.10 (#8418)
  • 010e0fd Artery: order DaemonMsgCreate ahead of Watch and retry early inbound resolves (#8414)
  • 5b025a5 OpenSpec: drop the write-flag, migrate via reference.conf binding flips (supersedes #8403) (#8411)
  • 35667df Serialization.V2: cap nested [AkkaEnvelopePayload] depth at 100 (crash guard) (#8412)
  • f13a8fa De-flake ClusterShardingSpec recovery phase: keep barriers out of Within (#8406)
  • 937c35b openspec: uniform migration - no per-message carve-outs, protobuf exit path (#8408)
  • 464d757 DistributedPubSubRestartSpec: restore sender/receiver window ordering (#8405) [ #8400 ]
  • 2679bef De-flake RemoteNodeRestartDeathWatchSpec: out-wait the association gate (#8404)
  • 67db580 OpenSpec: propose internal-serializers-messagepack-v2 (#8402)
  • 7704408 Serialization.V2: structured CodeWriter emission layer (provable no-op) (#8401)
  • 7cbd024 Bump Microsoft.Data.Sqlite.Core from 10.0.9 to 10.0.10 (#8391)
  • 86976dd Serialization.V2: committed wire-format snapshot tests (30 cases, Verify) (#8396)
  • 7ea1c48 De-flake DistributedPubSubRestartSpec: fresh Identify probe + windows sized to association cycles (#8400)
  • 5f225ed De-flake Bugfix5962Spec: dilated async waits, dynamic port, async TCS member-up signal (#8398) [ #5962 ]
  • 27ae2cf Artery: close the shutdown-quarantine window in CompleteControlOutbound (#8397)
  • aba332d Serialization.V2: immutable/read-only collection support (task 5.7) (#8395)
  • 564ec6a Serialization.V2: pack generator into the runtime NuGet (analyzers/dotnet/cs) (#8394)
  • 9f5e4b6 Artery: batch lane frames ahead of the connection restart boundary (#8376)
  • 76a41b7 De-flake RemoteReDeploymentSpec: port upstream hardening (#8393)
  • 86fdbb3 Seed ThreadLocalRandom from a cryptographic source (#8377)
  • ca57893 Serialization.V2: incremental-generator discipline, union/closed-generic benchmarks, OpenSpec sync (follow-up to #8385) (#8392)
  • 778d13b Bump MessagePack from 3.1.7 to 3.1.8 (#8380)
  • cb7af4c Artery: log reconnect attempts on a per-outage cadence instead of per-second Warnings (#8374)
  • 9e35110 Artery: TestConductor blackhole and passThrough support (test-mode) (#8378)
  • 03ffbc9 chore: remove global:: qualifiers from hand-written code (#8387)
  • 3864f3b Akka.Serialization.V2: closed generic messages + manifest-discriminated union fields (PoC for #8384) (#8385)
  • 87f43cc Bump NUnit3TestAdapter from 4.5.0 to 6.2.0 (#8381)
  • a2be71a Bump PublicApiGenerator from 11.5.0 to 11.5.4 (#8382)
  • 7e4db36 Build: pin SDK-implicit FSharp.Core and bump FsharpVersion to 10.1.302 (#8386)
  • 84524b3 Artery: match both terminating-child wordings in the shutdown-race guard (#8375) [ #8368 ]
  • 0a05191 De-flake StressSpec: retry the aggregator Identify, fix blocking WatchAsync, add timefactor (#8372) [ #8363 ]
  • 8515732 Artery: keep outbound-lanes in-flight messages alive across transient connection faults (#8368)
  • a903425 Fix uid-less watch in ArteryInboundLanesSpec DeathWatch test (#8371)
  • 9d09209 De-flake RollingUpdateShardAllocationSpec (#8370)
  • 8ae7add Akka.Serialization.V2: native generator support for collection fields (#8364)
  • ea2ddb0 Bump Grpc.Tools from 2.81.0 to 2.82.0 (#8337)
  • fbc207e Bump LightningDB from 0.21.0 to 0.22.0 (#8338)
  • cf2b4e3 Bump Google.Protobuf from 3.35.0 to 3.35.1 (#8251)
  • b3a2831 RemotePingPong: resend-on-ack-timeout for oneway credit protocol (#8367)
  • 1b0653c Dilate QuickRestartSpec windows via akka.test.timefactor (#8366) [ #8183 ]
  • c2591dd RemotePingPong: add msgpack serializer arm to real payload benchmark (#8365)
  • 1bffb42 RemotePingPong: add --inbound-lanes and --outbound-lanes options (#8355)
  • d301d72 Artery: outbound lanes for parallel encode fan-out per association (#8357)
  • 30e749c De-flake region-registration asserts in ClusterShardingRolePartitioningSpec (#8363) [ #8333 ]
  • 62c6def Artery: inbound lanes for parallel per-connection deserialization and dispatch (#8356)
  • 2d71eb5 Fix starvation flake in ArteryShutdownSystemMessageAckRaceSpec (#8360)

This list of changes was auto generated.

Don't miss a new akka.net release

NewReleases is sending notifications on new releases.