Skip to content

Releases: petabridge/Akka.Persistence.Azure

Akka.Persistence.Azure 1.5.60

10 Feb 22:20
1.5.60
8082695

Choose a tag to compare

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's IsTableExist() method
  • Blob Snapshot Store: Now uses BlobContainerClient.ExistsAsync() - matching the snapshot store's InitCloudStorage() 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

27 Jan 03:28
1.5.59
b635578

Choose a tag to compare

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's IsTableExist() method
  • Blob Snapshot Store: Now uses BlobContainerClient.ExistsAsync() - matching the snapshot store's InitCloudStorage() 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

17 Nov 19:10
361839e

Choose a tag to compare

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

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

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

1.5.49 September 15th 2025

1.5.45 July 11th 2025

1.5.44 June 26th 2025

1.5.42 May 22nd 2025

1.5.40 April 7th 2025

1.5.38 March 11th 2025

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

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

1.5.28 September 11th 2024

Read more

Akka.Persistence.Azure 1.5.55.1-beta1

31 Oct 17:06
1.5.55.1-beta1
379f6a8

Choose a tag to compare

Pre-release

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

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

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

1.5.49 September 15th 2025

1.5.45 July 11th 2025

1.5.44 June 26th 2025

1.5.42 May 22nd 2025

1.5.40 April 7th 2025

1.5.38 March 11th 2025

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

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

1.5.28 September 11th 2024

Read more

Akka.Persistence.Azure 1.5.55

27 Oct 20:04
b452c9e

Choose a tag to compare

1.5.55 October 27 2025

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

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

1.5.49 September 15th 2025

1.5.45 July 11th 2025

1.5.44 June 26th 2025

1.5.42 May 22nd 2025

1.5.40 April 7th 2025

1.5.38 March 11th 2025

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

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

1.5.28 September 11th 2024

1.5.26 July 3 2024

1.5.17.1 March 4 2024

1.5.13 October 6 2023

1.5.1 March 16 2023

Read more

Akka.Persistence.Azure v1.5.53

15 Oct 17:09

Choose a tag to compare

Akka.Persistence.Azure 1.5.51.1

02 Oct 15:03
1.5.51.1
e898a51

Choose a tag to compare

1.5.51.1 October 2nd 2025

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

01 Oct 21:39
184bce9

Choose a tag to compare

1.5.51 October 1st 2025

1.5.49 September 15th 2025

1.5.45 July 11th 2025

1.5.44 June 26th 2025

1.5.42 May 22nd 2025

1.5.40 April 7th 2025

1.5.38 March 11th 2025

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

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

1.5.28 September 11th 2024

1.5.26 July 3 2024

1.5.17.1 March 4 2024

1.5.13 October 6 2023

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

0.9.1 August 29 2022

Read more

Akka.Persistence.Azure 1.5.49

15 Sep 21:52
886cb3c

Choose a tag to compare

1.5.49 September 15th 2025

1.5.45 July 11th 2025

1.5.44 June 26th 2025

1.5.42 May 22nd 2025

1.5.40 April 7th 2025

1.5.38 March 11th 2025

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

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

1.5.28 September 11th 2024

1.5.26 July 3 2024

1.5.17.1 March 4 2024

1.5.13 October 6 2023

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

0.9.1 August 29 2022

New Setup classes are added to allow programmatic setup of the journal table and snapshot-store blog...

Read more

Akka.Persistence.Azure 1.5.45

10 Jul 21:00
ab98080

Choose a tag to compare

1.5.45 July 11th 2025

1.5.44 June 26th 2025

1.5.42 May 22nd 2025

1.5.40 April 7th 2025

1.5.38 March 11th 2025

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

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

1.5.28 September 11th 2024

1.5.26 July 3 2024

1.5.17.1 March 4 2024

1.5.13 October 6 2023

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

0.9.1 August 29 2022

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...
Read more