Skip to content

v3.6.0

Compare
Choose a tag to compare
@ReubenBond ReubenBond released this 20 Jan 16:59
· 35 commits to 3.x since this release
f66bff5

Breaking changes for Azure providers

Authentication to Azure services has evolved and connection strings are typically deemphasized in favor of managed identities. In this release, we've migrated Azure providers to newer libraries which support managed identities and other authentication methods and we've updated options to expose this functionality. Since there are a large number of potential authentication methods requiring various combinations of options, we moved away from exposing each property and instead added configuration methods to the provider options.

For example, AzureStorageOperationOptions has a ConfigureTableServiceClient method with the following overloads:

  • void ConfigureTableServiceClient(string connectionString)
  • void ConfigureTableServiceClient(Uri serviceUri)
  • void ConfigureTableServiceClient(Func<Task<TableServiceClient>> createClientCallback)
  • void ConfigureTableServiceClient(Uri serviceUri, TokenCredential tokenCredential)
  • void ConfigureTableServiceClient(Uri serviceUri, AzureSasCredential azureSasCredential)
  • void ConfigureTableServiceClient(Uri serviceUri, TableSharedKeyCredential sharedKeyCredential)

Configuration methods help to ensure that the right combination of parameters are provided.

Breaking issue with ASP.NET Core 2.1

Note, if you are using ASP.NET Core 2.1, please note that we have had reports of users running into an incompatibility issue in Microsoft.Extensions, preventing the upgrade. Please see dotnet/extensions#3800, dotnet/aspnetcore#40255, and #7608

Build system changes

  • Builds are now reproducible
  • SourceLink has been enabled and sources are no longer shipped in the NuGet packages
  • Debug symbols are now embedded in the shipped dlls instead of alongside them

Improvements and bug fixes since 3.5.1

  • Breaking and potentially breaking changes

    • Migrate to Azure.Data.Tables SDK for Azure Table Storage (#7300) (#7363)
    • Upgrade to .NET 6.0, update dependencies, and fix packaging (#7431)
  • Non-breaking improvements

    • Rewrite batch build script in powershell (#7379) (#7382)
    • Support Npgsql 6.0 for clustering and reminders (#7402)
    • Initial commit for distributed tests using crank (#7323) (#7440)
    • Support configuring ILBasedSerializer and BinaryFormatterISerializableSerializer as pre-fallback serializers (#7384)
    • Support opting in to IKeyedSerializer implementations on a per-type basis using an attribute (#7438)
    • Create PostgreSQL migrations for version 3.6.0 (#7490) (#7492)
  • Non-breaking bug fixes

    • Fix bug in validating generic constraints for method invocation (#7400)
    • Do not register IGrainStorage in DI unless there is a provider named "Default" (#7409) (#7444)
    • AdoNet - be more explicit when extracting DateTime from IDataRecord (#6968) (#7463)
    • DynamoDB Reminders load using GSI (#7437)

Thank you to the following community members for your PR contributions and to everyone else who contributed: @mjameson-se @dave-b-code @michaeltdaniels @EdeMeijer @shmurchi

Full Changelog: v3.5.1...v3.6.0