Bump Akka.Persistence.Hosting from 0.4.3 to 1.5.55.1 #75
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updated Akka.Persistence.Hosting from 0.4.3 to 1.5.55.1.
Release notes
Sourced from Akka.Persistence.Hosting's releases.
1.5.55.1
1.5.55.1 October 27th 2025
Enhancements
Optionsproperty toAkkaPersistenceJournalBuilderandAkkaPersistenceSnapshotBuilder. Extension methods can now access configuration details without requiring options as explicit parameters, eliminating redundant option passing for connectivity health checks and other plugin-specific features1.5.55 October 26th 2025
New Features
CertificateValidationCallbackfeature from Akka.NET v1.5.55, allowing users to provide custom certificate validation logic for SSL/TLS connections. Enables advanced scenarios including certificate pinning, subject/issuer matching, custom business validation rules, and advanced mTLS scenariosEnhancements
Updates
1.5.55-beta1 October 26th 2025
New Features
Enhancements
Updates
1.5.53 October 14th 2025
Bug Fixes
JournalOptions.Adaptersproperty. The issue was caused by unnecessary fallback configuration that interfered with adapter registration during HOCON merging.Updates
1.5.52 October 9th 2025
API Changes
JournalOptions.Adaptersproperty. Users should migrate to the unified callback pattern:builder.WithJournal(options, journal => journal.AddWriteEventAdapter<T>(...)). The deprecated property will be removed in v1.6.0.Updates
1.5.51.1 October 2nd 2025
Bug Fixes
... (truncated)
1.5.55
1.5.55 October 26th 2025
New Features
CertificateValidationCallbackfeature from Akka.NET v1.5.55, allowing users to provide custom certificate validation logic for SSL/TLS connections. Enables advanced scenarios including certificate pinning, subject/issuer matching, custom business validation rules, and advanced mTLS scenariosEnhancements
Updates
1.5.55-beta1 October 26th 2025
New Features
Enhancements
Updates
1.5.53 October 14th 2025
Bug Fixes
JournalOptions.Adaptersproperty. The issue was caused by unnecessary fallback configuration that interfered with adapter registration during HOCON merging.Updates
1.5.52 October 9th 2025
API Changes
JournalOptions.Adaptersproperty. Users should migrate to the unified callback pattern:builder.WithJournal(options, journal => journal.AddWriteEventAdapter<T>(...)). The deprecated property will be removed in v1.6.0.Updates
1.5.51.1 October 2nd 2025
Bug Fixes
.WithHealthCheck()without adding event adapters1.5.51 October 1st 2025
New Features
... (truncated)
1.5.55-beta1
1.5.55-beta1 October 26th 2025
New Features
Enhancements
Updates
1.5.53
1.5.53 October 14th 2025
Bug Fixes
JournalOptions.Adaptersproperty. The issue was caused by unnecessary fallback configuration that interfered with adapter registration during HOCON merging.Updates
1.5.52 October 9th 2025
API Changes
JournalOptions.Adaptersproperty. Users should migrate to the unified callback pattern:builder.WithJournal(options, journal => journal.AddWriteEventAdapter<T>(...)). The deprecated property will be removed in v1.6.0.Updates
1.5.51.1 October 2nd 2025
Bug Fixes
.WithHealthCheck()without adding event adapters1.5.51 October 1st 2025
New Features
WithHealthCheck<T>()generic methods for DI-resolved health checksUpdates
1.5.52
1.5.52 October 9th 2025
API Changes
JournalOptions.Adaptersproperty. Users should migrate to the unified callback pattern:builder.WithJournal(options, journal => journal.AddWriteEventAdapter<T>(...)). The deprecated property will be removed in v1.6.0.Updates
1.5.51.1
1.5.51.1 October 2nd 2025
Bug Fixes
.WithHealthCheck()without adding event adapters1.5.51 October 1st 2025
New Features
WithHealthCheck<T>()generic methods for DI-resolved health checksUpdates
1.5.51
1.5.51 October 1st 2025
New Features
WithHealthCheck<T>()generic methods for DI-resolved health checksUpdates
1.5.50
1.5.50 September 23rd 2025
1.5.49
1.5.49 September 15th 2025
1.5.48.1
1.5.48.1 September 2nd 2025
Introduces new health check functionality and completey replaces Akka.HealthChecks
Problems with Akka.HealthChecks
There are a few major problems with Akka.HealthChecks:
How This Feature Solves Them
HealthCheckService.HealthCheckService- if you call any of theWithHealthCheckoverloads on theAkkaConfigurationBuilder, those types will automatically be registered with theMicrosoft.Extensions.Diagnostics.HealthChecks.HealthCheckServiceand they will "just work." No additional API calls required - happens automatically.ActorSystemliveness check - if it's dead, the check fails. And an Akka.Cluster "have we joined the cluster yet?" readiness check.These are not enabled by default - you have to opt-in to turning them on.
You can see what the outputs of this look like by running:
This will expose the output of both of these healthchecks as pretty-printed JSON at http://localhost:5000/healthz
{ "status": "Healthy", "totalDuration": "00:00:00.0002317", "checks": [ { "name": "ActorSystem Available", "status": "Healthy", "duration": "00:00:00.0000138", "description": "ActorSystem is running.", "tags": [ "akka" ], "data": {} }, { "name": "cluster.join", "status": "Healthy", "duration": "00:00:00.0000248", "description": "Successfully joined Akka.NET cluster after [0:00:06.3427821].", "tags": [ "ready", ... (truncated) ## 1.5.48 #### 1.5.48 August 22nd 2025 #### This release does not include the new healthcheck feature introduced in Akka.Hosting 1.5.47-beta1. * [Bump AkkaVersion from 1.5.46 to 1.5.48](https://github.com/akkadotnet/akka.net/releases/tag/1.5.48) * [Fix IndexOutOfRangeException bug in ConfigurationHoconAdapter](https://github.com/akkadotnet/Akka.Hosting/pull/632) * [Fix Akka.Hosting.TestKit deadlock on parallel unit test execution](https://github.com/akkadotnet/Akka.Hosting/pull/643) ## 1.5.47-beta1 #### 1.5.47-beta1 July 24th 2025 #### Introduces new health check functionality and completey replaces [Akka.HealthChecks](https://github.com/petabridge/akkadotnet-healthcheck) ### Problems with Akka.HealthChecks There are a few major problems with Akka.HealthChecks: 1. **Hair triggers that can inadvertently nuke an otherwise functioning Akka.NET cluster**: see https://github.com/petabridge/akkadotnet-healthcheck/issues/278 and https://github.com/petabridge/akkadotnet-healthcheck/issues/237 - we have had to do constant firefighting to get these right over the years. The fundamental problem is that Akka.HealthChecks tries to do too much and doesn't give the underlying systems time to recover, resulting in wild swings in availability. The new design approaches these things much more carefully and, generally, tries to use fewer, more meaningful health checks. 2. **Clunky and awkward to configure** - you have to configure health checks in three places, you have to install several different NuGet packages, and there are a lot of settings + moving parts involved. A lot of this is legacy baggage from before Microsoft.Extensions.Diagnostics.HealthChecks existed. 3. **Difficult to customize** - writing custom health checks with Akka.HealthCheck is... arduous, to say the least. ### How This Feature Solves Them 1. **No additional packages** - Akka.Hosting now takes a direct dependency on Microsoft.Extensions.Diagnostics.HealthChecks and exposes APIs for configuring Akka.NET-specific health checks that will be registered with the `HealthCheckService`. 2. **Automatic registration of health checks with `HealthCheckService`** - if you call any of the `WithHealthCheck` overloads on the `AkkaConfigurationBuilder`, those types will automatically be registered with the `Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckService` and they will "just work." No additional API calls required - happens automatically. 3. **Automatic health checks for core Akka and Akka.Cluster** - we ship with two built in checks out of the box: an `ActorSystem` liveness check - if it's dead, the check fails. And an Akka.Cluster "have we joined the cluster yet?" readiness check. **These are not enabled by default - you have to opt-in to turning them on.** You can see what the outputs of this look like by running: ```shell dotnet run --project src/Examples/Akka.Hosting.Asp.LoggingDemo/Akka.Hosting.Asp.LoggingDemo.csprojThis will expose the output of both of these healthchecks as pretty-printed JSON at http://localhost:5000/healthz
{ "status": "Healthy", "totalDuration": "00:00:00.0002317", "checks": [ { "name": "ActorSystem Available", "status": "Healthy", "duration": "00:00:00.0000138", "description": "ActorSystem is running.", "tags": [ "akka" ], "data": {} }, { "name": "cluster.join", "status": "Healthy", "duration": "00:00:00.0000248", "description": "Successfully joined Akka.NET cluster after [0:00:06.3427821].", "tags": [ "ready", ... (truncated) ## 1.5.46 #### 1.5.46 July 17th 2025 #### * [Bump AkkaVersion from 1.5.45 to 1.5.46](https://github.com/akkadotnet/akka.net/releases/tag/1.5.46) ## 1.5.45 #### 1.5.45 July 7th 2025 #### * [Bump AkkaVersion from 1.5.44 to 1.5.45](https://github.com/akkadotnet/akka.net/releases/tag/1.5.45) ## 1.5.44 #### 1.5.44 June 23rd 2025 #### * [Bump AkkaVersion from 1.5.40 to 1.5.44](https://github.com/akkadotnet/akka.net/releases/tag/1.5.44) * [Add persistence testkit support](https://github.com/akkadotnet/Akka.Hosting/pull/610) ## 1.5.42 #### 1.5.42 May 21st 2025 #### * [Bump AkkaVersion from 1.5.40 to 1.5.42](https://github.com/akkadotnet/akka.net/releases/tag/1.5.42) * [Fix `.WithDistributedData()` to start `DistributedDataProvider` automatically](https://github.com/akkadotnet/Akka.Hosting/pull/597) ## 1.5.40 #### 1.5.40 March 24th 2025 #### * [Bump AkkaVersion from 1.5.39 to 1.5.40](https://github.com/akkadotnet/akka.net/releases/tag/1.5.40) ## 1.5.39 #### 1.5.39 March 17th 2025 #### * [Bump AkkaVersion from 1.5.38 to 1.5.39](https://github.com/akkadotnet/akka.net/releases/tag/1.5.39) ## 1.5.38 #### 1.5.38 February 17th 2025 #### * [Bump AkkaVersion from 1.5.37 to 1.5.38](https://github.com/akkadotnet/akka.net/releases/tag/1.5.38) ## 1.5.37.2 #### 1.5.37.2 February 5th 2024 #### * [Akka.Hosting.TestKit: Fixed issue with `xUnitLogger` throwing `NotImplementedException` when used with scoped logging](https://github.com/akkadotnet/Akka.Hosting/pull/570). ## 1.5.37.1 #### 1.5.37 January 23rd 2025 #### Moving all of our BCL dependencies to 8.0 created issues for our .NET 6-9 users when adopting Akka.NET packages that only targeted .NET Standard, so for the time being we're normalizing everything back to 6.0 * [Bump Akka.NET to 1.5.37](https://github.com/akkadotnet/akka.net/releases/tag/1.5.37) ## 1.5.37 #### 1.5.37 January 23rd 2025 #### Moving all of our BCL dependencies to 8.0 created issues for our .NET 6-9 users when adopting Akka.NET packages that only targeted .NET Standard, so for the time being we're normalizing everything back to 6.0 * [Bump Akka.NET to 1.5.37](https://github.com/akkadotnet/akka.net/releases/tag/1.5.37) ## 1.5.36 #### 1.5.36 January 22nd 2025 #### * [Bump Akka.NET to 1.5.36](https://github.com/akkadotnet/akka.net/releases/tag/1.5.36) ## 1.5.35 #### 1.5.35 January 13th 2025 #### * [Bump Akka.NET to 1.5.35](https://github.com/akkadotnet/akka.net/releases/tag/1.5.35) * [Bump Microsoft.Extensions.* packages to 8.0.X](https://github.com/akkadotnet/Akka.Hosting/pull/553) * [Bump Microsoft.Bcl.AsyncInterfaces to 8.0.X](https://github.com/akkadotnet/Akka.Hosting/pull/553) * [Bump System.Text.Json to 8.0.X](https://github.com/akkadotnet/Akka.Hosting/pull/553) ## 1.5.34 #### 1.5.34 January 7th 2025 #### * [Bump Akka.NET to 1.5.34](https://github.com/akkadotnet/akka.net/releases/tag/1.5.34) ## 1.5.33 #### 1.5.33 December 24th 2024 #### * [Bump Akka.NET to 1.5.33](https://github.com/akkadotnet/akka.net/releases/tag/1.5.33) * Resolved `nullability` issues with Akka.Hosting.TestKit APIs ## 1.5.32 #### 1.5.32 December 4th 2024 #### * [Bump Akka.NET to 1.5.32](https://github.com/akkadotnet/akka.net/releases/tag/1.5.32) * [Cluster: Add global scoped DData setting extension method](https://github.com/akkadotnet/Akka.Hosting/pull/527) * [Core: Fix CVE-2024-43485](https://github.com/akkadotnet/Akka.Hosting/pull/529) ## 1.5.31.1 #### 1.5.31.1 November 15th 2024 #### * [Cluster: Fix `WithSingleton` and `WithSingletonProxy` API](https://github.com/akkadotnet/Akka.Hosting/pull/520) * [Cluster: Fix `WithShardedDaemonProcess` throws `NullReferenceException`](https://github.com/akkadotnet/Akka.Hosting/pull/522) ## 1.5.31 #### 1.5.31 November 11th 2024 #### * [Bump AkkaVersion from 1.5.30 to 1.5.31](https://github.com/akkadotnet/Akka.Hosting/pull/517) ## 1.5.30.1 • [Fix ActorRegistry.GetAsync() returning Nobody](https://github.com/akkadotnet/Akka.Hosting/pull/501) ## 1.5.30 • [Update Akka.NET to 1.5.30](https://github.com/akkadotnet/akka.net/releases/tag/1.5.30) • [Make sure that any exceptions thrown during start-up are logged and stops the application](https://github.com/akkadotnet/Akka.Hosting/pull/494) ## 1.5.29 • [Update Akka.NET to 1.5.29](https://github.com/akkadotnet/akka.net/releases/tag/1.5.29) • [Make sure that any exceptions thrown during start-up are logged and stops the application](https://github.com/akkadotnet/Akka.Hosting/pull/494) ## 1.5.28 • [Update Akka.NET to 1.5.28](https://github.com/akkadotnet/akka.net/releases/tag/1.5.29) • [Include Akka.Streams configuration by default](https://github.com/akkadotnet/Akka.Hosting/pull/489) ## 1.5.27 • [Update Akka.NET to 1.5.27.1](https://github.com/akkadotnet/akka.net/releases/tag/1.5.27.1) • [Fix only the last ShardOptions were applied](https://github.com/akkadotnet/Akka.Hosting/pull/480) • [Add ClusterClientDiscovery support](https://github.com/akkadotnet/Akka.Hosting/pull/478) > [!Note] > > We added support for cluster client initial contact discovery feature in this feature. > To use this feature you will need to use Akka.Management v1.5.27 or higher. ## 1.5.25 • [Update Akka.NET to 1.5.25](https://github.com/akkadotnet/akka.net/releases/tag/1.5.25)%2C which resolves a critical bug: [Akka.Logging: v1.5.21 appears to have truncated log source%2C timestamps%2C etc from all log messages ](https://github.com/akkadotnet/akka.net/issues/7255) ## 1.5.24 • [Update Akka.NET to 1.5.24](https://github.com/akkadotnet/akka.net/releases/tag/1.5.24) • [Add ShardedDaemonProcess integration](https://github.com/akkadotnet/Akka.Hosting/pull/463) You can now start ShardedDaemonProcess host and proxy using Akka.Hosting through 2 new _Akka.Cluster.Hosting_ extension methods ```csharp public static AkkaConfigurationBuilder WithShardedDaemonProcess<TKey>( this AkkaConfigurationBuilder builder, string name, int numberOfInstances, Func<ActorSystem, IActorRegistry, IDependencyResolver, Func<int, Props>> entityPropsFactory, ClusterDaemonOptions? options = null)1.5.22
• Update Akka.NET to 1.5.22
• Add log filtering extension method
Filtering Logs In Akka.NET
In Akka.NET 1.5.21%2C we introduced log filtering for log messages based on the LogSource or the content of a log message. Depending on your coding style%2C you can use this feature in Akka.Hosting in several ways.
The LoggerConfigBuilder.WithLogFilter() method lets you set up the LogFilterBuilder
1.5.20
• Update Akka.NET to 1.5.20
• Added improved APIs for setting default ILogMessageFormatters • the LoggerConfigBuilder.WithDefaultLogMessageFormatter method.
1.5.19
• Update Akka.NET to 1.5.19
1.5.18
• Update Akka.NET to 1.5.18
1.5.17.1
• Update Akka.NET to 1.5.17.1
1.5.16
• Update Akka.NET to 1.5.16
1.5.15
• Update Akka.NET to 1.5.15
• Marked all Akka.Cluster.Hosting methods that accept deprecated sharding delegates as Obsolete
1.5.14
• Update Akka.NET to 1.5.14
• Akka.Cluster.Hosting: don't use sharding delegates
• Akka.Hosting.TestKit: Add method to configure IHostBuilder
1.5.13
• Update Akka.NET to 1.5.13
1.5.12.1
• Add IConfiguration to HOCON adapter key name normalization toggle flag
• Expand Cluster.Hosting and Remote.Hosting options
You can now specify whether IConfiguration key strings should be normalized to lower case or not when they are being converted into HOCON keys. You can read the documentation here
1.5.12
• Update Akka.NET to 1.5.12
• TestKit: Fix missing actor context on test start
• Remote: Add SSL settings into RemoteOptions
1.5.8.1
• [Akka.Cluster.Hosting] Fix missing ClusterClient default HOCON configuration
1.5.8
• Update Akka.NET to 1.5.8
• [Akka.Cluster.Hosting] PassivateEntityAfter should not override HOCON settings
• [Akka.Hosting] Set application exit code to -1 if CoordinatedShutdown was caused by cluster down or leave
1.5.7
• Update Akka.NET to 1.5.7
1.5.6.1
• Akka.Hosting now throws PlatformNotSupportedException when attempting to run on Maui due to dotnet/maui#2244. Maui support will be added in https://github.com/akkadotnet/Akka.Hosting.Maui
• make AkkaHostedService public • virtual so it can be extended and customized • advanced feature.
1.5.6
• Update Akka.NET to 1.5.6
1.5.5
• Update Akka.NET to 1.5.5
1.5.4.1
• Add ShardOptions.PassivateIdleEntityAfter option property
1.5.4
• Update Akka.NET to 1.5.4
• Update Akka.Persistence.SqlServer to 1.5.4
• Update Akka.Persistence.PostgreSql to 1.5.4
1.5.3
• Update Akka.NET to 1.5.3
• Add SQL transaction isolation level support
SQL Transaction Isolation Level Setting
In 1.5.3%2C we're introducing fine-grained control over transaction isolation level inside the Akka.Persistence.Hosting%2C Akka.Persistence.SqlServer.Hosting%2C and Akka.Persistence.PostgreSql.Hosting plugins.
you can go to the official Microsoft documentation to read more about these isolation level settings.
1.5.2
• Update Akka.NET to 1.5.2
• Bump Akka.Persistence.PostgreSql to 1.5.2
• Bump Akka.Persistence.SqlServer to 1.5.2
• Persistence: Change persistence default serializer from json to null
Major Changes
• Persistence.Hosting default value for default serializer has been changed from json to null. This only affects persistence write and not reads. All objects with no serializer mapping will now be serialized using Akka default object serializer. If you have old persistence data where they do not have their serializer ID column populated%2C you will need to change this setting.
Inherited Changes From Akka.NET Core
• Persistence will now ignore the serializer setting inside journal settings when writing new events. This setting will only be used when data retrieved from the database does not have the serializer id column unpopulated.
• Cluster.Hosting%2C by default%2C will have SplitBrainResolver enabled.
1.5.1.1
• Fix missing default DData configuration in cluster hosting extension
1.5.1
• Update Akka.NET to 1.5.1
• Bump Akka.Persistence.PostgreSql to 1.5.1
• Bump Akka.Persistence.SqlServer to 1.5.1
• Add GetAsync method to IRequiredActor to resolve IActorRef in background services
• Add cluster Distributed Data options support for Akka.Cluster.Hosting extensions
1.5.0
Version 1.5.0 is the RTM release of Akka.Hosting and Akka.NET v1.5.0 RTM integration.
Full changes
• Update Akka.NET to 1.5.0
• Fix missing cluster configuration on certain edge cases
• Add new Cluster.Sharding RememberEntitiesStore
• Add Cluster.Sharding journal migration adapter convenience method
• Add LogMessageFormatter formatter support to logging
Upgrading From v1.4 To v1.5
As noted in the upgrade advisories%2C there was some major changes inside Akka.NET that directly affects Akka.Hosting. To upgrade from v1.4 to v1.5%2C please watch our video here covering this process.
1.5.0-beta6
• Update Akka.NET to 1.5.0-beta6
1.5.0-beta4
Version 1.5.0-beta4 integrates Akka.NET v1.5 into Akka.Hosting
• Update Akka.NET to 1.5.0-beta4
Upgrading From v1.4 To v1.5
As noted in the upgrade advisories%2C there was a major change in Akka.Cluster.Sharding state storage. These notes contains the same documentation%2C but tailored for Akka.Hosting users
The recommended settings for maximum ease-of-use for Akka.Cluster.Sharding in new applications going forward will be:
You will need to set these options manually because the default settings are set for backward compatibility.
Migrating to New Sharding Storage From Akka.Persistence
Step 1 • Upgrade to Akka.NET v1.5 With New Options Setup
Update your Akka.Cluster.Sharding options to look like the following (adjust as necessary for your custom settings):