Releases: Azure/AppConfiguration-DotnetProvider
4.0.0
Microsoft.Extensions.Configuration.AzureAppConfiguration 4.0.0
- Breaking Change : Updated
ConfigureRefresh
to throw when it is passed a callback that does not register any key-value for refresh using theRegister
method. #162 - Fixed the issue that caused
KeyVaultReferenceException
to be thrown when theoptional
parameter is set totrue
in the methodAddAzureAppConfiguration
and a key vault reference could not be resolved. #136
Microsoft.Azure.AppConfiguration.AspNetCore 4.0.0
- Breaking Change : Updated
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to4.0.0
. See the release notes for more information on the changes.
4.0.0-preview
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 toRefreshAsync()
orTryRefreshAsync()
. #133void 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 toIConfiguration
. 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 callRefreshAsync()/TryRefreshAsync()
or whether toawait
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 viaIConfigurationRefresherProvider
interface obtained through DI.public interface IConfigurationRefresherProvider { IEnumerable<IConfigurationRefresher> Refreshers { get; } }
- Call
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 the4.0.0-preview
version of theMicrosoft.Extensions.Configuration.AzureAppConfiguration
package, the following changes are made.-
Users must call
IServiceCollection.AddAzureAppConfiguration()
inConfigureServices(...)
to register the required services for configuration refresh before they can callIApplicationBuilder.UseAzureAppConfiguration()
. This makes it easier to retrieve instances ofIConfigurationRefresher
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 to4.0.0-preview
. See the release notes for more information on the changes.
3.0.2
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 to3.0.2
.
3.0.1
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 anAzure.Identity.AuthenticationFailedException
when theTokenCredential
used to fetch a key vault reference failed to authenticate. #149 - Fixed the following issues when
optional
parameter is set totrue
in the methodAddAzureAppConfiguration
- 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 withrefreshAll: true
.TryRefreshAsync
would throw aNullReferenceException
if the initial attempt to load the configuration inIConfiguration.Build
failed.
- Updated
TryRefreshAsync
orRefreshAsync
to auto-recover from failures during initial configuration load when theoptional
parameter is set totrue
in the methodAddAzureAppConfiguration
. #145
Microsoft.Azure.AppConfiguration.AspNetCore 3.0.1
- Updated
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to3.0.1
.
3.0.0
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. #106public 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 toIConfigurationRefresher.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 to3.0.0
.