The .NET Standard configuration provider for Azure App Configuration
MIT License
Bot releases are visible (Hide)
Azure.Data.AppConfiguration
reference to 1.4.1
. #514.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.2.0
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.2.0
. See the release notes for more information on the changes.Published by amerjusupovic 7 months ago
FormatException
may be thrown for a variant feature flag when the configuration value was not set to a string or null
. With this fix, the configuration value of a variant can be a string, number, boolean, array, or JSON object. #531
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 8.0.0-preview.2
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 8.0.0-preview.2
. See the release notes for more information on the changes.Published by amerjusupovic 8 months ago
FeatureFlagId
, FeatureFlagReference
, and ETag
. #517
Microsoft.FeatureManagement
library if the flag was enabled but had no filters. #525
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 8.0.0-preview
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 8.0.0-preview
. See the release notes for more information on the changes.Published by amerjusupovic 8 months ago
KeyVaultReferenceException
instead of retrying for transient errors while connecting to Key Vault during startup, even if the startup timeout had not elapsed. #516
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.1.0
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.1.0
. See the release notes for more information on the changes.Published by amerjusupovic 9 months ago
Replica Auto-Discovery: For App Configuration stores with geo-replication enabled, the provider will now automatically discover any additional replicas and attempt to connect to them when it fails to connect to user-provided endpoints in code. This capability allows applications to leverage geo-replication for enhanced resiliency without code change and redeployment. Replica discovery is enabled by default and can be disabled by setting the new AzureAppConfigurationOptions.ReplicaDiscoveryEnabled
property equal to false
. #442.
Added support for the variants
, allocation
, and telemetry
properties for feature flags introduced in version 4.0.0-preview of the Microsoft.FeatureManagement library. #476
key
parameter to AzureAppConfigurationRefreshOptions.Register
would throw a NullReferenceException
. #503
AzureAppConfigurationOptions.Select
, FeatureFlagOptions.Select
, and AzureAppConfigurationOptions.SelectSnapshot
where additional calls with the same filters after the first call were ignored. The provider will now correctly use only the last call with duplicate filters to preserve the expected precedence. #490
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.1.0-preview
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.1.0-preview
. See the release notes for more information on the changes.Published by amerjusupovic 11 months ago
AddAzureAppConfiguration
now throws ArgumentException
for invalid inputs even if the optional
parameter is equal to true
. #318
This is the first stable release of the following API introduced in the 7.0.0-preview release. #387
public AzureAppConfigurationOptions SelectSnapshot(string name)
Added support for the requirement_type
property for feature flags introduced in version 2.6.0-preview of the Microsoft.FeatureManagement library. #406
The initial configuration load now uses time-based retries instead of count-based retries in case of failures. The time-based retry often works more effectively in real-world scenarios, making applications more resilient to transient errors during startup. By default, the retry timeout is set to 100 seconds in AzureAppConfigurationOptions.StartupOptions.Timeout
, but you can customize it using the following new API. #458
public AzureAppConfigurationOptions ConfigureStartupOptions(Action<StartupOptions> configure)
Added netstandard2.1 as a target framework. #482
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.0.0
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.0.0
. See the release notes for more information on the changes.Published by amerjusupovic 12 months ago
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 6.1.1
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 6.1.1
. See the release notes for more information on the changes.Published by amerjusupovic about 1 year ago
6.1.0
.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.0.0-preview.2
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.0.0-preview.2
. See the release notes for more information on the changes.Published by amerjusupovic about 1 year ago
TryRefreshAsync
could throw an AggregateException
after a network timeout while trying to get key-values from Azure App Configuration. #440
AZURE_APP_CONFIGURATION_PROVIDER_DISABLED
that when equal to "true" will disable Azure App Configuration in your application. #429
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 6.1.0
. See the release notes for more information on the changes.HttpContext
could sometimes throw a NullReferenceException
in middleware used alongside Azure App Configuration middleware. #432
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 6.1.0
. See the release notes for more information on the changes.HttpContext
could sometimes throw a NullReferenceException
in middleware used alongside Azure App Configuration middleware. #432
Published by amerjusupovic about 1 year ago
AzureAppConfigurationOptions.UseFeatureFlags
is not called. AzureAppConfigurationOptions.UseFeatureFlags
is still used to configure feature flag options. #422
Added the following new API for adding a snapshot's key-values to the configuration. #422
public AzureAppConfigurationOptions SelectSnapshot(string name)
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.0.0-preview
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 7.0.0-preview
. See the release notes for more information on the changes.Published by amerjusupovic over 1 year ago
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 6.0.1
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 6.0.1
. See the release notes for more information on the changes.Published by amerjusupovic over 1 year ago
IConfigurationRefresher.SetDirty
API in favor of IConfigurationRefresher.ProcessPushNotification
API for push-model based configuration refresh. Unlike the SetDirty
method, the ProcessPushNotification
method guarantees that all configuration changes up to the triggering event are loaded in the following configuration refresh. For more details on the ProcessPushNotification
API, refer to this tutorial. #357
IConfigurationRefresher.LoggerFactory
API, but refresh logs are still available through standard ASP.NET Core logging if services.AddAzureAppConfiguration()
is invoked in your ConfigureServices
method. #367
IConfigurationRefresher.ProcessPushNotification
now validates that the push notification was triggered for one of the registered AppConfig stores. If no matching AppConfig store is registered, the push notification is ignored and the refresh operation will not be triggered. #319
This is the first stable release of the following API introduced in 5.3.0-preview release. #178
public AzureAppConfigurationOptions Connect(IEnumerable<Uri> endpoints, TokenCredential credential)
Added the following new API for additional App Configuration geo-replication support. #385
public AzureAppConfigurationOptions Connect(IEnumerable<string> connectionStrings)
The new API allows you to provide an ordered list of connection strings of your App Configuration store and its replicas.
Added the following new API for performing custom transformations on App Configuration settings. #157
public AzureAppConfigurationOptions Map(Func<ConfigurationSetting, ValueTask<ConfigurationSetting>> mapper)
For .NET 7 or later, added support for refreshing configuration when AzureAppConfigurationProvider
is nested under ChainedConfigurationProvider
. #168
Added support for Azure SDK logging in addition to standard ASP.NET Core logging. Refresh logs are available under the "Microsoft-Extensions-Configuration-AzureAppConfiguration-Refresh" category. To enable Azure SDK logs, refer to these instructions. #367
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 6.0.0
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 6.0.0
. See the release notes for more information on the changes.Published by amerjusupovic almost 2 years ago
AzureAppConfigurationOptions.Select
would select key-values with all labels. #311
AzureAppConfigurationOptions.Select
would be incorrectly ignored if the key-values were already selected by a previous call. #349
AddAzureAppConfiguration
could throw an exception on invalid feature flags even with the optional
parameter set to true
. #348
Azure.Security.KeyVault.Secrets
to 4.3.0
and System.Text.Json
to 4.7.2
. #351
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.2.0
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.2.0
. See the release notes for more information on the changes.Published by avanigupta almost 2 years ago
Added the following new API for the App Configuration geo-replication support. #178
public AzureAppConfigurationOptions Connect(IEnumerable<Uri> endpoints, TokenCredential credential)
The new API allows you to provide an ordered list of replica endpoints of your App Configuration store. The App Configuration provider will fail over to other replicas when a replica is not accessible (either the service is unavailable or there are networking issues). A sample application can be found here.
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.3.0-preview
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.3.0-preview
. See the release notes for more information on the changes.Published by avanigupta over 2 years ago
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.2.0-preview
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.2.0-preview
. See the release notes for more information on the changes.Published by avanigupta over 2 years ago
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.1.0
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.1.0
. See the release notes for more information on the changes.Published by avanigupta over 2 years ago
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.1.0-preview
. See the release notes for more information on the changes.Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.1.0-preview
. See the release notes for more information on the changes.Published by avanigupta over 2 years ago
IConfigurationRefresher.SetDirty
API. IConfigurationRefresher.ProcessPushNotification
API should be used instead for push-model based configuration refresh. Refer to this tutorial for more details about the ProcessPushNotification
API. #301
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.0.0
. See the release notes for more information on the changes.UseAzureAppConfiguration
extension method to Microsoft.Extensions.Hosting
namespace. #299
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.0.0
. See the release notes for more information on the changes.Published by avanigupta almost 3 years ago
Removed all offline caching capabilities. #135
Added support for parsing and using sync-token from push notifications received from Event Grid. Using sync-token ensures that users get the latest key-values from App Configuration on any subsequent request. The following new APIs were added:
EventGridEventExtensions.TryCreatePushNotification(this EventGridEvent eventGridEvent, out PushNotification pushNotification)
IConfigurationRefresher.ProcessPushNotification(PushNotification pushNotification, TimeSpan? maxDelay = null)
To use sync-token in a push refresh enabled application, the existing SetDirty()
call can be replaced by the following code. Depending on the event handler you're using, you may need to convert the received event to an EventGridEvent
object. For example, if you are using Service Bus as the event handler, the code will look like this:
serviceBusClient.RegisterMessageHandler(
handler: (message, cancellationToken) =>
{
EventGridEvent eventGridEvent = EventGridEvent.Parse(BinaryData.FromBytes(message.Body));
if (eventGridEvent.TryCreatePushNotification(out PushNotification pushNotification))
{
_refresher.ProcessPushNotification(pushNotification, maxDelay);
}
return Task.CompletedTask;
},
exceptionReceivedHandler: (exceptionargs) =>
{
Console.WriteLine($"{exceptionargs.Exception}");
return Task.CompletedTask;
});
The next call to RefreshAsync()
or TryRefreshAsync()
will get the latest key-values from your App Config store. #278
Added support for CancellationToken
during refresh operations. The following APIs were updated in IConfigurationRefresher
interface: #281
Task RefreshAsync(CancellationToken cancellationToken = default);
Task<bool> TryRefreshAsync(CancellationToken cancellationToken = default);
Added support for logging errors during refresh operations. #273
Ensured that Key Vault secret refresh interval cannot be less than 1 second. #284
Upgraded Microsoft.Extensions packages from version 2.1.1 to 3.1.18. #272
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 5.0.0-preview
. See the release notes for more information on the changes.Published by avanigupta almost 3 years ago
Microsoft.Extensions.Configuration.AzureAppConfiguration
reference to 4.5.1
.