Releases: petabridge/Akka.Persistence.Azure
Akka.Persistence.Azure 1.5.60
1.5.59 January 26 2026
1.5.55.1 November 17 2025
This release addresses permission issues in the connectivity health checks introduced in v1.5.55.
Bug Fix:
The connectivity health checks were using GetPropertiesAsync() operations that require service-level Azure permissions, causing authentication failures for users whose credentials didn't have these elevated permissions. This was separate from the permissions needed by the journal and snapshot store themselves.
Solution:
Changed health checks to use the same operations as the actual persistence plugins:
- Table Journal: Now uses
TableServiceClient.QueryAsync()- matching the journal'sIsTableExist()method - Blob Snapshot Store: Now uses
BlobContainerClient.ExistsAsync()- matching the snapshot store'sInitCloudStorage()method
Impact:
Health checks now require only the same permissions as normal journal/snapshot store operations. No additional Azure role assignments are needed, and the checks work whether the table/container exists or not (supporting auto-initialize scenarios).
This change is fully backward compatible and requires no code changes from users.
1.5.55.1-beta1 October 31 2025
This is a critical bug fix release that addresses authentication issues in the connectivity health checks introduced in v1.5.55.
Bug Fix:
The connectivity health checks were creating new Azure SDK client instances on every health check invocation, causing:
- Authentication storms when using Managed Identity or TokenCredential
- Rate limiting from Azure AD token endpoints
- Intermittent 500 errors in readiness probes
- Unnecessary resource allocation and network traffic
Solution:
Both AzureTableJournalConnectivityCheck and AzureBlobSnapshotStoreConnectivityCheck now cache their Azure SDK clients (TableServiceClient and BlobServiceClient) as instance fields, matching the pattern used by the actual persistence plugins. Clients are created once during health check construction and reused for all subsequent health check invocations.
This change is fully backward compatible and requires no code changes from users. The Azure SDK clients handle token refresh internally, so cached clients remain valid for the lifetime of the health check instance.
Impact:
For production environments using readiness probes (especially with multiple replicas), this fix eliminates authentication-related health check failures and significantly reduces authentication overhead.
1.5.55 October 27 2025
Akka.Persistence.Azure 1.5.59
1.5.59 January 26 2026
1.5.55.1 November 17 2025
This release addresses permission issues in the connectivity health checks introduced in v1.5.55.
Bug Fix:
The connectivity health checks were using GetPropertiesAsync() operations that require service-level Azure permissions, causing authentication failures for users whose credentials didn't have these elevated permissions. This was separate from the permissions needed by the journal and snapshot store themselves.
Solution:
Changed health checks to use the same operations as the actual persistence plugins:
- Table Journal: Now uses
TableServiceClient.QueryAsync()- matching the journal'sIsTableExist()method - Blob Snapshot Store: Now uses
BlobContainerClient.ExistsAsync()- matching the snapshot store'sInitCloudStorage()method
Impact:
Health checks now require only the same permissions as normal journal/snapshot store operations. No additional Azure role assignments are needed, and the checks work whether the table/container exists or not (supporting auto-initialize scenarios).
This change is fully backward compatible and requires no code changes from users.
1.5.55.1-beta1 October 31 2025
This is a critical bug fix release that addresses authentication issues in the connectivity health checks introduced in v1.5.55.
Bug Fix:
The connectivity health checks were creating new Azure SDK client instances on every health check invocation, causing:
- Authentication storms when using Managed Identity or TokenCredential
- Rate limiting from Azure AD token endpoints
- Intermittent 500 errors in readiness probes
- Unnecessary resource allocation and network traffic
Solution:
Both AzureTableJournalConnectivityCheck and AzureBlobSnapshotStoreConnectivityCheck now cache their Azure SDK clients (TableServiceClient and BlobServiceClient) as instance fields, matching the pattern used by the actual persistence plugins. Clients are created once during health check construction and reused for all subsequent health check invocations.
This change is fully backward compatible and requires no code changes from users. The Azure SDK clients handle token refresh internally, so cached clients remain valid for the lifetime of the health check instance.
Impact:
For production environments using readiness probes (especially with multiple replicas), this fix eliminates authentication-related health check failures and significantly reduces authentication overhead.
1.5.55 October 27 2025
Akka.Persistence.Azure 1.5.55.1
1.5.55.1-beta1 October 31 2025
This is a critical bug fix release that addresses authentication issues in the connectivity health checks introduced in v1.5.55.
Bug Fix:
The connectivity health checks were creating new Azure SDK client instances on every health check invocation, causing:
- Authentication storms when using Managed Identity or TokenCredential
- Rate limiting from Azure AD token endpoints
- Intermittent 500 errors in readiness probes
- Unnecessary resource allocation and network traffic
Solution:
Both AzureTableJournalConnectivityCheck and AzureBlobSnapshotStoreConnectivityCheck now cache their Azure SDK clients (TableServiceClient and BlobServiceClient) as instance fields, matching the pattern used by the actual persistence plugins. Clients are created once during health check construction and reused for all subsequent health check invocations.
This change is fully backward compatible and requires no code changes from users. The Azure SDK clients handle token refresh internally, so cached clients remain valid for the lifetime of the health check instance.
Impact:
For production environments using readiness probes (especially with multiple replicas), this fix eliminates authentication-related health check failures and significantly reduces authentication overhead.
1.5.55 October 27 2025
- Update Akka.NET v1.5.55
- Update Akka.Hosting v1.5.55.1
- Add connectivity health checks for Azure persistence backends
This release adds proactive connectivity health checks for Azure persistence backends, implementing the feature requested in Akka.Hosting#678.
New Features:
Connectivity checks are now available for both Azure Table Storage journal and Azure Blob Storage snapshot store. These are opt-in health checks that proactively verify backend connectivity regardless of recent operation activity, helping detect database outages during idle periods.
Improved API:
With Akka.Hosting 1.5.55.1, the connectivity check API has been simplified. Options are now automatically accessed from the builder, eliminating redundant parameter passing.
Usage Example:
var journalOptions = new AzureTableStorageJournalOptions(isDefault: true)
{
ConnectionString = connectionString,
TableName = "akkajournal",
AutoInitialize = true
};
var snapshotOptions = new AzureBlobSnapshotOptions(isDefault: true)
{
ConnectionString = connectionString,
ContainerName = "akka-snapshots",
AutoInitialize = true
};
builder
.WithAzureTableJournal(journalOptions, journal =>
{
journal.WithConnectivityCheck(); // Simplified API!
})
.WithAzureBlobsSnapshotStore(snapshotOptions, snapshot =>
{
snapshot.WithConnectivityCheck(); // Simplified API!
});The connectivity checks support all Azure SDK connection methods (connection string, ServiceUri + TokenCredential, and factory methods) and include proper tagging for filtering in health check endpoints.
Backward Compatibility:
The old API signature (passing options explicitly) is still supported for backward compatibility with older versions of Akka.Hosting.
1.5.51.1 October 2nd 2025
- Update Akka.Hosting v1.5.51.1
- Fix Akka.Persistence.Azure.Hosting health checks and adopt unified API
This patch release fixes critical issues in the Akka.Persistence.Azure.Hosting extension methods:
- Health checks are now properly registered for both journal and snapshot store
- Snapshot store health check support added via
Action<AkkaPersistenceSnapshotBuilder>parameters - Migrated from manual HOCON manipulation to the unified Akka.Hosting API (
.WithJournal()and.WithSnapshot()) - All changes are backward compatible with no breaking changes
1.5.51 October 1st 2025
- Update Akka.NET v1.5.51
- Update Akka.Hosting v1.5.51
- Fix obsolete WithJournal API usage in Akka.Hosting extension
1.5.49 September 15th 2025
1.5.45 July 11th 2025
- Update Akka.NET v1.5.45
- Update Akka.Hosting v1.5.45
- Fix Microsoft.Identity.Client security vulnerability bug
1.5.44 June 26th 2025
1.5.42 May 22nd 2025
- Update Akka.NET v1.5.42
- Update Akka.Hosting v1.5.42
- Use the new Akka.Persistence cancellation token API
1.5.40 April 7th 2025
- Update Akka.NET v1.5.40
- Update Akka.Hosting v1.5.40
- Expand all SubmitTransactionAsync exceptions with extra information
1.5.38 March 11th 2025
- Update Akka.NET v1.5.38
- Update Akka.Hosting v1.5.38
- Bump Azure.Identity from 1.13.1 to 1.13.2
- Bump Azure.Data.Tables from 12.9.1 to 12.10.0
- Add folder support to SnapshotStore
Snapshots can now be stored in Azure Blob Storage "folders" by using AzureBlobSnapshotOptions.Folders if you're using Akka.Hosting, or using the "akka.persistence.snapshot-store.azure-blob-store.folders" HOCON settings.
Note
Note that Azure Blob Storage does not implement a true folder tree structure, "folders" are actually a simple prefix to the blob file name.
Example:
If you set "akka.persistence.snapshot-store.azure-blob-store.folders" to "folder1/folder2", then the snapshots will be stored as:
/{account-name}/{container-name}/folder1/folder2/snapshot-{persistence-id}-{sequence-number}
1.5.32.1 December 23rd 2024
1.5.32 December 19th 2024
- Update Akka.NET v1.5.32
- Update Akka.Hosting v1.5.32
- Revert: Fix possible credential caching issue
- Add option to inject
TableServiceClientandBlobServiceClientdirectly
We've added a new way to configure Akka.Persistence.Azure by allowing users to directly inject TableServiceClient and BlobServiceClient into Azure journal and snapshot store.
var credential = new DefaultAzureCredential();
var tableClient = new TableServiceClient(tableServiceUri, credential);
var blobClient = new BlobServiceClient(blobServiceUri, credential);
akkaConfigurationBuilder.WithAzurePersistence(
tableServiceClientFactory: () => tableClient,
blobServiceClientFactory: () => blobClient
);1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- [Bump Azure.Data.Tables to 12.9.0](https://github.com/petabridge/Akka.Per...
Akka.Persistence.Azure 1.5.55.1-beta1
1.5.55.1-beta1 October 31 2025
This is a critical bug fix release that addresses authentication issues in the connectivity health checks introduced in v1.5.55.
Bug Fix:
The connectivity health checks were creating new Azure SDK client instances on every health check invocation, causing:
- Authentication storms when using Managed Identity or TokenCredential
- Rate limiting from Azure AD token endpoints
- Intermittent 500 errors in readiness probes
- Unnecessary resource allocation and network traffic
Solution:
Both AzureTableJournalConnectivityCheck and AzureBlobSnapshotStoreConnectivityCheck now cache their Azure SDK clients (TableServiceClient and BlobServiceClient) as instance fields, matching the pattern used by the actual persistence plugins. Clients are created once during health check construction and reused for all subsequent health check invocations.
This change is fully backward compatible and requires no code changes from users. The Azure SDK clients handle token refresh internally, so cached clients remain valid for the lifetime of the health check instance.
Impact:
For production environments using readiness probes (especially with multiple replicas), this fix eliminates authentication-related health check failures and significantly reduces authentication overhead.
1.5.55 October 27 2025
- Update Akka.NET v1.5.55
- Update Akka.Hosting v1.5.55.1
- Add connectivity health checks for Azure persistence backends
This release adds proactive connectivity health checks for Azure persistence backends, implementing the feature requested in Akka.Hosting#678.
New Features:
Connectivity checks are now available for both Azure Table Storage journal and Azure Blob Storage snapshot store. These are opt-in health checks that proactively verify backend connectivity regardless of recent operation activity, helping detect database outages during idle periods.
Improved API:
With Akka.Hosting 1.5.55.1, the connectivity check API has been simplified. Options are now automatically accessed from the builder, eliminating redundant parameter passing.
Usage Example:
var journalOptions = new AzureTableStorageJournalOptions(isDefault: true)
{
ConnectionString = connectionString,
TableName = "akkajournal",
AutoInitialize = true
};
var snapshotOptions = new AzureBlobSnapshotOptions(isDefault: true)
{
ConnectionString = connectionString,
ContainerName = "akka-snapshots",
AutoInitialize = true
};
builder
.WithAzureTableJournal(journalOptions, journal =>
{
journal.WithConnectivityCheck(); // Simplified API!
})
.WithAzureBlobsSnapshotStore(snapshotOptions, snapshot =>
{
snapshot.WithConnectivityCheck(); // Simplified API!
});The connectivity checks support all Azure SDK connection methods (connection string, ServiceUri + TokenCredential, and factory methods) and include proper tagging for filtering in health check endpoints.
Backward Compatibility:
The old API signature (passing options explicitly) is still supported for backward compatibility with older versions of Akka.Hosting.
1.5.51.1 October 2nd 2025
- Update Akka.Hosting v1.5.51.1
- Fix Akka.Persistence.Azure.Hosting health checks and adopt unified API
This patch release fixes critical issues in the Akka.Persistence.Azure.Hosting extension methods:
- Health checks are now properly registered for both journal and snapshot store
- Snapshot store health check support added via
Action<AkkaPersistenceSnapshotBuilder>parameters - Migrated from manual HOCON manipulation to the unified Akka.Hosting API (
.WithJournal()and.WithSnapshot()) - All changes are backward compatible with no breaking changes
1.5.51 October 1st 2025
- Update Akka.NET v1.5.51
- Update Akka.Hosting v1.5.51
- Fix obsolete WithJournal API usage in Akka.Hosting extension
1.5.49 September 15th 2025
1.5.45 July 11th 2025
- Update Akka.NET v1.5.45
- Update Akka.Hosting v1.5.45
- Fix Microsoft.Identity.Client security vulnerability bug
1.5.44 June 26th 2025
1.5.42 May 22nd 2025
- Update Akka.NET v1.5.42
- Update Akka.Hosting v1.5.42
- Use the new Akka.Persistence cancellation token API
1.5.40 April 7th 2025
- Update Akka.NET v1.5.40
- Update Akka.Hosting v1.5.40
- Expand all SubmitTransactionAsync exceptions with extra information
1.5.38 March 11th 2025
- Update Akka.NET v1.5.38
- Update Akka.Hosting v1.5.38
- Bump Azure.Identity from 1.13.1 to 1.13.2
- Bump Azure.Data.Tables from 12.9.1 to 12.10.0
- Add folder support to SnapshotStore
Snapshots can now be stored in Azure Blob Storage "folders" by using AzureBlobSnapshotOptions.Folders if you're using Akka.Hosting, or using the "akka.persistence.snapshot-store.azure-blob-store.folders" HOCON settings.
Note
Note that Azure Blob Storage does not implement a true folder tree structure, "folders" are actually a simple prefix to the blob file name.
Example:
If you set "akka.persistence.snapshot-store.azure-blob-store.folders" to "folder1/folder2", then the snapshots will be stored as:
/{account-name}/{container-name}/folder1/folder2/snapshot-{persistence-id}-{sequence-number}
1.5.32.1 December 23rd 2024
1.5.32 December 19th 2024
- Update Akka.NET v1.5.32
- Update Akka.Hosting v1.5.32
- Revert: Fix possible credential caching issue
- Add option to inject
TableServiceClientandBlobServiceClientdirectly
We've added a new way to configure Akka.Persistence.Azure by allowing users to directly inject TableServiceClient and BlobServiceClient into Azure journal and snapshot store.
var credential = new DefaultAzureCredential();
var tableClient = new TableServiceClient(tableServiceUri, credential);
var blobClient = new BlobServiceClient(blobServiceUri, credential);
akkaConfigurationBuilder.WithAzurePersistence(
tableServiceClientFactory: () => tableClient,
blobServiceClientFactory: () => blobClient
);1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- [Bump Azure.Data.Tables to 12.9.0](https://github.com/petabridge/Akka.Per...
Akka.Persistence.Azure 1.5.55
1.5.55 October 27 2025
- Update Akka.NET v1.5.55
- Update Akka.Hosting v1.5.55.1
- Add connectivity health checks for Azure persistence backends
This release adds proactive connectivity health checks for Azure persistence backends, implementing the feature requested in Akka.Hosting#678.
New Features:
Connectivity checks are now available for both Azure Table Storage journal and Azure Blob Storage snapshot store. These are opt-in health checks that proactively verify backend connectivity regardless of recent operation activity, helping detect database outages during idle periods.
Improved API:
With Akka.Hosting 1.5.55.1, the connectivity check API has been simplified. Options are now automatically accessed from the builder, eliminating redundant parameter passing.
Usage Example:
var journalOptions = new AzureTableStorageJournalOptions(isDefault: true)
{
ConnectionString = connectionString,
TableName = "akkajournal",
AutoInitialize = true
};
var snapshotOptions = new AzureBlobSnapshotOptions(isDefault: true)
{
ConnectionString = connectionString,
ContainerName = "akka-snapshots",
AutoInitialize = true
};
builder
.WithAzureTableJournal(journalOptions, journal =>
{
journal.WithConnectivityCheck(); // Simplified API!
})
.WithAzureBlobsSnapshotStore(snapshotOptions, snapshot =>
{
snapshot.WithConnectivityCheck(); // Simplified API!
});The connectivity checks support all Azure SDK connection methods (connection string, ServiceUri + TokenCredential, and factory methods) and include proper tagging for filtering in health check endpoints.
Backward Compatibility:
The old API signature (passing options explicitly) is still supported for backward compatibility with older versions of Akka.Hosting.
1.5.51.1 October 2nd 2025
- Update Akka.Hosting v1.5.51.1
- Fix Akka.Persistence.Azure.Hosting health checks and adopt unified API
This patch release fixes critical issues in the Akka.Persistence.Azure.Hosting extension methods:
- Health checks are now properly registered for both journal and snapshot store
- Snapshot store health check support added via
Action<AkkaPersistenceSnapshotBuilder>parameters - Migrated from manual HOCON manipulation to the unified Akka.Hosting API (
.WithJournal()and.WithSnapshot()) - All changes are backward compatible with no breaking changes
1.5.51 October 1st 2025
- Update Akka.NET v1.5.51
- Update Akka.Hosting v1.5.51
- Fix obsolete WithJournal API usage in Akka.Hosting extension
1.5.49 September 15th 2025
1.5.45 July 11th 2025
- Update Akka.NET v1.5.45
- Update Akka.Hosting v1.5.45
- Fix Microsoft.Identity.Client security vulnerability bug
1.5.44 June 26th 2025
1.5.42 May 22nd 2025
- Update Akka.NET v1.5.42
- Update Akka.Hosting v1.5.42
- Use the new Akka.Persistence cancellation token API
1.5.40 April 7th 2025
- Update Akka.NET v1.5.40
- Update Akka.Hosting v1.5.40
- Expand all SubmitTransactionAsync exceptions with extra information
1.5.38 March 11th 2025
- Update Akka.NET v1.5.38
- Update Akka.Hosting v1.5.38
- Bump Azure.Identity from 1.13.1 to 1.13.2
- Bump Azure.Data.Tables from 12.9.1 to 12.10.0
- Add folder support to SnapshotStore
Snapshots can now be stored in Azure Blob Storage "folders" by using AzureBlobSnapshotOptions.Folders if you're using Akka.Hosting, or using the "akka.persistence.snapshot-store.azure-blob-store.folders" HOCON settings.
Note
Note that Azure Blob Storage does not implement a true folder tree structure, "folders" are actually a simple prefix to the blob file name.
Example:
If you set "akka.persistence.snapshot-store.azure-blob-store.folders" to "folder1/folder2", then the snapshots will be stored as:
/{account-name}/{container-name}/folder1/folder2/snapshot-{persistence-id}-{sequence-number}
1.5.32.1 December 23rd 2024
1.5.32 December 19th 2024
- Update Akka.NET v1.5.32
- Update Akka.Hosting v1.5.32
- Revert: Fix possible credential caching issue
- Add option to inject
TableServiceClientandBlobServiceClientdirectly
We've added a new way to configure Akka.Persistence.Azure by allowing users to directly inject TableServiceClient and BlobServiceClient into Azure journal and snapshot store.
var credential = new DefaultAzureCredential();
var tableClient = new TableServiceClient(tableServiceUri, credential);
var blobClient = new BlobServiceClient(blobServiceUri, credential);
akkaConfigurationBuilder.WithAzurePersistence(
tableServiceClientFactory: () => tableClient,
blobServiceClientFactory: () => blobClient
);1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- Bump Azure.Data.Tables to 12.9.0
- Bump Azure.Storage.Blobs to 12.21.2
1.5.26 July 3 2024
1.5.17.1 March 4 2024
- Update Akka.NET v1.5.17.1
- Update Akka.Hosting v1.5.17.1
- Bump Azure.Identity to 1.10.4
- Bump Azure.Data.Tables to 12.18.3
- Bump Azure.Storage.Blobs to 12.19.1
1.5.13 October 6 2023
- Update Akka.NET v1.5.13
- Update Akka.Hosting v1.5.13
- Bump Azure.Storage.Blobs to 12.18.0
- Bump Azure.Data.Tables to 12.18.1
- Bump Azure.Identity to 1.10.1
1.5.1 March 16 2023
- [Update Akka.NET v1.5.1](https://github.com/...
Akka.Persistence.Azure v1.5.53
What's Changed
Full Changelog: 1.5.51.1...1.5.53
Akka.Persistence.Azure 1.5.51.1
1.5.51.1 October 2nd 2025
- Update Akka.Hosting v1.5.51.1
- Fix Akka.Persistence.Azure.Hosting health checks and adopt unified API
This patch release fixes critical issues in the Akka.Persistence.Azure.Hosting extension methods:
- Health checks are now properly registered for both journal and snapshot store
- Snapshot store health check support added via
Action<AkkaPersistenceSnapshotBuilder>parameters - Migrated from manual HOCON manipulation to the unified Akka.Hosting API (
.WithJournal()and.WithSnapshot()) - All changes are backward compatible with no breaking changes
Akka.Persistence.Azure 1.5.51
1.5.51 October 1st 2025
- Update Akka.NET v1.5.51
- Update Akka.Hosting v1.5.51
- Fix obsolete WithJournal API usage in Akka.Hosting extension
1.5.49 September 15th 2025
1.5.45 July 11th 2025
- Update Akka.NET v1.5.45
- Update Akka.Hosting v1.5.45
- Fix Microsoft.Identity.Client security vulnerability bug
1.5.44 June 26th 2025
1.5.42 May 22nd 2025
- Update Akka.NET v1.5.42
- Update Akka.Hosting v1.5.42
- Use the new Akka.Persistence cancellation token API
1.5.40 April 7th 2025
- Update Akka.NET v1.5.40
- Update Akka.Hosting v1.5.40
- Expand all SubmitTransactionAsync exceptions with extra information
1.5.38 March 11th 2025
- Update Akka.NET v1.5.38
- Update Akka.Hosting v1.5.38
- Bump Azure.Identity from 1.13.1 to 1.13.2
- Bump Azure.Data.Tables from 12.9.1 to 12.10.0
- Add folder support to SnapshotStore
Snapshots can now be stored in Azure Blob Storage "folders" by using AzureBlobSnapshotOptions.Folders if you're using Akka.Hosting, or using the "akka.persistence.snapshot-store.azure-blob-store.folders" HOCON settings.
Note
Note that Azure Blob Storage does not implement a true folder tree structure, "folders" are actually a simple prefix to the blob file name.
Example:
If you set "akka.persistence.snapshot-store.azure-blob-store.folders" to "folder1/folder2", then the snapshots will be stored as:
/{account-name}/{container-name}/folder1/folder2/snapshot-{persistence-id}-{sequence-number}
1.5.32.1 December 23rd 2024
1.5.32 December 19th 2024
- Update Akka.NET v1.5.32
- Update Akka.Hosting v1.5.32
- Revert: Fix possible credential caching issue
- Add option to inject
TableServiceClientandBlobServiceClientdirectly
We've added a new way to configure Akka.Persistence.Azure by allowing users to directly inject TableServiceClient and BlobServiceClient into Azure journal and snapshot store.
var credential = new DefaultAzureCredential();
var tableClient = new TableServiceClient(tableServiceUri, credential);
var blobClient = new BlobServiceClient(blobServiceUri, credential);
akkaConfigurationBuilder.WithAzurePersistence(
tableServiceClientFactory: () => tableClient,
blobServiceClientFactory: () => blobClient
);1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- Bump Azure.Data.Tables to 12.9.0
- Bump Azure.Storage.Blobs to 12.21.2
1.5.26 July 3 2024
1.5.17.1 March 4 2024
- Update Akka.NET v1.5.17.1
- Update Akka.Hosting v1.5.17.1
- Bump Azure.Identity to 1.10.4
- Bump Azure.Data.Tables to 12.18.3
- Bump Azure.Storage.Blobs to 12.19.1
1.5.13 October 6 2023
- Update Akka.NET v1.5.13
- Update Akka.Hosting v1.5.13
- Bump Azure.Storage.Blobs to 12.18.0
- Bump Azure.Data.Tables to 12.18.1
- Bump Azure.Identity to 1.10.1
1.5.1 March 16 2023
Multi Journal Support
You can now add more than one Akka.Persistence.Azure settings and use them singularly for different Akka plugins.
In the example below, we set up two separate journal options with two distinct identifier, one is being used as default persistence plugin, and the other are being used as the journal for cluster sharding.
var persistenceJournal = new AzureTableStorageJournalOptions(true)
{
Identifier = "azure-journal",
ConnectionString = connectionString
};
var shardJournal = new AzureTableStorageJournalOptions(false)
{
Identifier = "azure-shard-journal",
ConnectionString = shardConnectionString
};
builder
.WithClustering()
.WithAzureTableJournal(persistenceJournal)
.WithAzureTableJournal(shardJournal)
.WithAzureBlobsSnapshotStore(new AzureBlobSnapshotOptions
{
ConnectionString = connectionString
})
.WithShardRegion<ShardRegionKey>(
"region-1",
Customer.Props,
new MessageExtractor(10),
new ShardOptions
{
JournalOptions = shardJournal,
StateStoreMode = StateStoreMode.Persistence
});1.5.0 March 02 2023
0.9.2 September 27 2022
- Bump Akka.NET version from 1.4.40 to 1.4.43
- Bump Akka.Persistence.Hosting from 0.4.2 to 0.4.3
- Bump Azure.Identity from 1.6.1 to 1.7.0
- Clean up all async operations during actor stop
- Refactor
DefaultAzureCredentialtoTokenCredential - Chunk batch transactions to 100 item chunk batches
0.9.1 August 29 2022
- Bump Akka.NET version from 1.4.39 to 1.4.40
- Bump Akka.Persistence.Hosting version from 0.4.1 to 0.4.2
- Bump Azure.Storage.Blobs version from 12.12.0 to 12.13.1
- [Bump Azure.Identity version from 1.6.0 to 1.6.1](https://github.com/petabridge/Akka.Persistenc...
Akka.Persistence.Azure 1.5.49
1.5.49 September 15th 2025
1.5.45 July 11th 2025
- Update Akka.NET v1.5.45
- Update Akka.Hosting v1.5.45
- Fix Microsoft.Identity.Client security vulnerability bug
1.5.44 June 26th 2025
1.5.42 May 22nd 2025
- Update Akka.NET v1.5.42
- Update Akka.Hosting v1.5.42
- Use the new Akka.Persistence cancellation token API
1.5.40 April 7th 2025
- Update Akka.NET v1.5.40
- Update Akka.Hosting v1.5.40
- Expand all SubmitTransactionAsync exceptions with extra information
1.5.38 March 11th 2025
- Update Akka.NET v1.5.38
- Update Akka.Hosting v1.5.38
- Bump Azure.Identity from 1.13.1 to 1.13.2
- Bump Azure.Data.Tables from 12.9.1 to 12.10.0
- Add folder support to SnapshotStore
Snapshots can now be stored in Azure Blob Storage "folders" by using AzureBlobSnapshotOptions.Folders if you're using Akka.Hosting, or using the "akka.persistence.snapshot-store.azure-blob-store.folders" HOCON settings.
Note
Note that Azure Blob Storage does not implement a true folder tree structure, "folders" are actually a simple prefix to the blob file name.
Example:
If you set "akka.persistence.snapshot-store.azure-blob-store.folders" to "folder1/folder2", then the snapshots will be stored as:
/{account-name}/{container-name}/folder1/folder2/snapshot-{persistence-id}-{sequence-number}
1.5.32.1 December 23rd 2024
1.5.32 December 19th 2024
- Update Akka.NET v1.5.32
- Update Akka.Hosting v1.5.32
- Revert: Fix possible credential caching issue
- Add option to inject
TableServiceClientandBlobServiceClientdirectly
We've added a new way to configure Akka.Persistence.Azure by allowing users to directly inject TableServiceClient and BlobServiceClient into Azure journal and snapshot store.
var credential = new DefaultAzureCredential();
var tableClient = new TableServiceClient(tableServiceUri, credential);
var blobClient = new BlobServiceClient(blobServiceUri, credential);
akkaConfigurationBuilder.WithAzurePersistence(
tableServiceClientFactory: () => tableClient,
blobServiceClientFactory: () => blobClient
);1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- Bump Azure.Data.Tables to 12.9.0
- Bump Azure.Storage.Blobs to 12.21.2
1.5.26 July 3 2024
1.5.17.1 March 4 2024
- Update Akka.NET v1.5.17.1
- Update Akka.Hosting v1.5.17.1
- Bump Azure.Identity to 1.10.4
- Bump Azure.Data.Tables to 12.18.3
- Bump Azure.Storage.Blobs to 12.19.1
1.5.13 October 6 2023
- Update Akka.NET v1.5.13
- Update Akka.Hosting v1.5.13
- Bump Azure.Storage.Blobs to 12.18.0
- Bump Azure.Data.Tables to 12.18.1
- Bump Azure.Identity to 1.10.1
1.5.1 March 16 2023
Multi Journal Support
You can now add more than one Akka.Persistence.Azure settings and use them singularly for different Akka plugins.
In the example below, we set up two separate journal options with two distinct identifier, one is being used as default persistence plugin, and the other are being used as the journal for cluster sharding.
var persistenceJournal = new AzureTableStorageJournalOptions(true)
{
Identifier = "azure-journal",
ConnectionString = connectionString
};
var shardJournal = new AzureTableStorageJournalOptions(false)
{
Identifier = "azure-shard-journal",
ConnectionString = shardConnectionString
};
builder
.WithClustering()
.WithAzureTableJournal(persistenceJournal)
.WithAzureTableJournal(shardJournal)
.WithAzureBlobsSnapshotStore(new AzureBlobSnapshotOptions
{
ConnectionString = connectionString
})
.WithShardRegion<ShardRegionKey>(
"region-1",
Customer.Props,
new MessageExtractor(10),
new ShardOptions
{
JournalOptions = shardJournal,
StateStoreMode = StateStoreMode.Persistence
});1.5.0 March 02 2023
0.9.2 September 27 2022
- Bump Akka.NET version from 1.4.40 to 1.4.43
- Bump Akka.Persistence.Hosting from 0.4.2 to 0.4.3
- Bump Azure.Identity from 1.6.1 to 1.7.0
- Clean up all async operations during actor stop
- Refactor
DefaultAzureCredentialtoTokenCredential - Chunk batch transactions to 100 item chunk batches
0.9.1 August 29 2022
- Bump Akka.NET version from 1.4.39 to 1.4.40
- Bump Akka.Persistence.Hosting version from 0.4.1 to 0.4.2
- Bump Azure.Storage.Blobs version from 12.12.0 to 12.13.1
- Bump Azure.Identity version from 1.6.0 to 1.6.1
- Added programmatic Setup classes
- Update Akka.Hosting support to support
DefaultAzureCredential
New Setup classes are added to allow programmatic setup of the journal table and snapshot-store blog...
Akka.Persistence.Azure 1.5.45
1.5.45 July 11th 2025
- Update Akka.NET v1.5.45
- Update Akka.Hosting v1.5.45
- Fix Microsoft.Identity.Client security vulnerability bug
1.5.44 June 26th 2025
1.5.42 May 22nd 2025
- Update Akka.NET v1.5.42
- Update Akka.Hosting v1.5.42
- Use the new Akka.Persistence cancellation token API
1.5.40 April 7th 2025
- Update Akka.NET v1.5.40
- Update Akka.Hosting v1.5.40
- Expand all SubmitTransactionAsync exceptions with extra information
1.5.38 March 11th 2025
- Update Akka.NET v1.5.38
- Update Akka.Hosting v1.5.38
- Bump Azure.Identity from 1.13.1 to 1.13.2
- Bump Azure.Data.Tables from 12.9.1 to 12.10.0
- Add folder support to SnapshotStore
Snapshots can now be stored in Azure Blob Storage "folders" by using AzureBlobSnapshotOptions.Folders if you're using Akka.Hosting, or using the "akka.persistence.snapshot-store.azure-blob-store.folders" HOCON settings.
Note
Note that Azure Blob Storage does not implement a true folder tree structure, "folders" are actually a simple prefix to the blob file name.
Example:
If you set "akka.persistence.snapshot-store.azure-blob-store.folders" to "folder1/folder2", then the snapshots will be stored as:
/{account-name}/{container-name}/folder1/folder2/snapshot-{persistence-id}-{sequence-number}
1.5.32.1 December 23rd 2024
1.5.32 December 19th 2024
- Update Akka.NET v1.5.32
- Update Akka.Hosting v1.5.32
- Revert: Fix possible credential caching issue
- Add option to inject
TableServiceClientandBlobServiceClientdirectly
We've added a new way to configure Akka.Persistence.Azure by allowing users to directly inject TableServiceClient and BlobServiceClient into Azure journal and snapshot store.
var credential = new DefaultAzureCredential();
var tableClient = new TableServiceClient(tableServiceUri, credential);
var blobClient = new BlobServiceClient(blobServiceUri, credential);
akkaConfigurationBuilder.WithAzurePersistence(
tableServiceClientFactory: () => tableClient,
blobServiceClientFactory: () => blobClient
);1.5.31 December 3rd 2024
- Update Akka.NET v1.5.31
- Update Akka.Hosting v1.5.31
- Bump Azure.Identity from 1.12.0 to 1.13.1
- Bump Azure.Storage.Blobs from 12.21.2 to 12.23.0
- Bump Azure.Data.Tables from 12.9.0 to 12.9.1
- Fix missing Persistence.DefaultConfig
- Fix possible credential caching issue
1.5.28 September 11th 2024
- Update Akka.NET v1.5.28
- Update Akka.Hosting v1.5.28
- Bump Azure.Identity to 1.12.0
- Bump Azure.Data.Tables to 12.9.0
- Bump Azure.Storage.Blobs to 12.21.2
1.5.26 July 3 2024
1.5.17.1 March 4 2024
- Update Akka.NET v1.5.17.1
- Update Akka.Hosting v1.5.17.1
- Bump Azure.Identity to 1.10.4
- Bump Azure.Data.Tables to 12.18.3
- Bump Azure.Storage.Blobs to 12.19.1
1.5.13 October 6 2023
- Update Akka.NET v1.5.13
- Update Akka.Hosting v1.5.13
- Bump Azure.Storage.Blobs to 12.18.0
- Bump Azure.Data.Tables to 12.18.1
- Bump Azure.Identity to 1.10.1
1.5.1 March 16 2023
Multi Journal Support
You can now add more than one Akka.Persistence.Azure settings and use them singularly for different Akka plugins.
In the example below, we set up two separate journal options with two distinct identifier, one is being used as default persistence plugin, and the other are being used as the journal for cluster sharding.
var persistenceJournal = new AzureTableStorageJournalOptions(true)
{
Identifier = "azure-journal",
ConnectionString = connectionString
};
var shardJournal = new AzureTableStorageJournalOptions(false)
{
Identifier = "azure-shard-journal",
ConnectionString = shardConnectionString
};
builder
.WithClustering()
.WithAzureTableJournal(persistenceJournal)
.WithAzureTableJournal(shardJournal)
.WithAzureBlobsSnapshotStore(new AzureBlobSnapshotOptions
{
ConnectionString = connectionString
})
.WithShardRegion<ShardRegionKey>(
"region-1",
Customer.Props,
new MessageExtractor(10),
new ShardOptions
{
JournalOptions = shardJournal,
StateStoreMode = StateStoreMode.Persistence
});1.5.0 March 02 2023
0.9.2 September 27 2022
- Bump Akka.NET version from 1.4.40 to 1.4.43
- Bump Akka.Persistence.Hosting from 0.4.2 to 0.4.3
- Bump Azure.Identity from 1.6.1 to 1.7.0
- Clean up all async operations during actor stop
- Refactor
DefaultAzureCredentialtoTokenCredential - Chunk batch transactions to 100 item chunk batches
0.9.1 August 29 2022
- Bump Akka.NET version from 1.4.39 to 1.4.40
- Bump Akka.Persistence.Hosting version from 0.4.1 to 0.4.2
- Bump Azure.Storage.Blobs version from 12.12.0 to 12.13.1
- Bump Azure.Identity version from 1.6.0 to 1.6.1
- Added programmatic Setup classes
- Update Akka.Hosting support to support
DefaultAzureCredential
New Setup classes are added to allow programmatic setup of the journal table and snapshot-store blog storage; these setup classes supports DefaultAzureCredential. Note that to use DefaultAzureCredential from the Azure.Identity package, you need to provide both service URI and credential.
var host = new HostBuilder()
.ConfigureServices(collection =>
{
collection.AddAkka("MyActorSys", bu...