Skip to content

Releases: Azure/AppConfiguration-DotnetProvider

4.0.0-preview

14 Sep 18:52
72e9d0e
Compare
Choose a tag to compare
4.0.0-preview Pre-release
Pre-release

Microsoft.Extensions.Configuration.AzureAppConfiguration 4.0.0-preview

  • Breaking Change : Added enhanced support for applications that leverage Event Grid integration in App Configuration for configuration refresh. The following new API is introduced in IConfigurationRefresher interface, which can be called when an application responds to push notifications from Event Grid. This signals the application to reassess whether configuration should be updated on the next call to RefreshAsync() or TryRefreshAsync(). #133

    void SetDirty(TimeSpan? maxDelay = null)
  • Breaking Change : Added JSON content-type (e.g. MIME type application/json) support for key-values in App Configuration. This allows primitive types, arrays, and JSON objects to be loaded properly to IConfiguration. Existing applications that use key-values with a valid JSON content-type may need to be updated. #191

  • Breaking Change : Added the following property to IConfigurationRefresher to allow users to disambiguate instances of the interface when using multiple Azure App Configuration providers.

    Uri AppConfigurationEndpoint { get; }
  • Added support for applications to obtain IConfigurationRefresher instances through dependency injection (DI). This allows better control of when to call RefreshAsync()/TryRefreshAsync() or whether to await the call. The following two APIs can be used to take advantage of this feature. #167

    • Call IServiceCollection.AddAzureAppConfiguration() first to add required services to the DI container.
      public static IServiceCollection AddAzureAppConfiguration(this IServiceCollection services)
    • Retrieve IConfigurationRefresher instances via IConfigurationRefresherProvider interface obtained through DI.
      public interface IConfigurationRefresherProvider
      {
         IEnumerable<IConfigurationRefresher> Refreshers { get; }
      }

Microsoft.Azure.AppConfiguration.AspNetCore 4.0.0-preview

  • Added multi-targeting support for .NET Core 3.1 besides .NET Standard 2.0. #173

  • Breaking Change : To leverage the new feature of dependency injection support for obtaining IConfigurationRefresher instances introduced in the 4.0.0-preview version of the Microsoft.Extensions.Configuration.AzureAppConfiguration package, the following changes are made.

    • Users must call IServiceCollection.AddAzureAppConfiguration() in ConfigureServices(...) to register the required services for configuration refresh before they can call IApplicationBuilder.UseAzureAppConfiguration(). This makes it easier to retrieve instances of IConfigurationRefresher through dependency injection in a controller or a middleware, and have better control of when and how configuration is refreshed.

    • An exception is thrown when the required services for configuration refresh could not be retrieved from the IServiceCollection instance. #166

  • Breaking Change : Updated Microsoft.Extensions.Configuration.AzureAppConfiguration reference to 4.0.0-preview. See the release notes for more information on the changes.

3.0.2

09 Jul 07:18
Compare
Choose a tag to compare

Microsoft.Extensions.Configuration.AzureAppConfiguration 3.0.2

  • Fixed an issue that may cause configuration refresh to be ignored when the key registered to refresh all configuration has changed. #178

Microsoft.Azure.AppConfiguration.AspNetCore 3.0.2

  • Updated Microsoft.Extensions.Configuration.AzureAppConfiguration reference to 3.0.2.

3.0.1

01 May 05:36
00ce16f
Compare
Choose a tag to compare

Microsoft.Extensions.Configuration.AzureAppConfiguration 3.0.1

  • Improved refresh for feature flags to reduce the number of calls made to App Configuration if no change is detected. #138
  • Fixed the issue that caused TryRefreshAsync to throw an Azure.Identity.AuthenticationFailedException when the TokenCredential used to fetch a key vault reference failed to authenticate. #149
  • Fixed the following issues when optional parameter is set to true in the method AddAzureAppConfiguration
    • An exception might be thrown if the configuration store could not be accessed. #136
    • RefreshAsync might ignore exceptions if configuration fails to load after a change is detected in a key with refreshAll: true.
    • TryRefreshAsync would throw a NullReferenceException if the initial attempt to load the configuration in IConfiguration.Build failed.
  • Updated TryRefreshAsync or RefreshAsync to auto-recover from failures during initial configuration load when the optional parameter is set to true in the method AddAzureAppConfiguration. #145

Microsoft.Azure.AppConfiguration.AspNetCore 3.0.1

  • Updated Microsoft.Extensions.Configuration.AzureAppConfiguration reference to 3.0.1.

3.0.0

01 May 05:28
d7d0448
Compare
Choose a tag to compare

Microsoft.Extensions.Configuration.AzureAppConfiguration 3.0.0

  • Added the following method to allow users to override ConfigurationClientOptions. This enables customization on the underlying App Configuration client that includes modifying retry options and configuring proxy settings. #106

    public AzureAppConfigurationOptions ConfigureClientOptions(Action<ConfigurationClientOptions> options)
  • Added IConfigurationRefresher.TryRefreshAsync method, which will not throw exceptions on transient errors during configuration refresh. #113

  • Renamed the IConfigurationRefresher.Refresh method to IConfigurationRefresher.RefreshAsync.

  • Reduced maximum number of retries when querying App Configuration to prevent blocking the application for long periods of time during startup or configuration refresh. #255

Microsoft.Azure.AppConfiguration.AspNetCore 3.0.0

  • Updated Microsoft.Extensions.Configuration.AzureAppConfiguration reference to 3.0.0.