- Updates the feature flag telemetry to use the provided endpoint instead of the endpoint of the store the feature flag was loaded from.
- Removes Feature Id from feature flag telemetry.
- Updates the failure to load from a config store from a debug level log to a warning level log.
- Fixes an issue where the stack trace from the azure sdk wasn't being logged on startup.
- Fixes a bug where feature flags could be loaded as configurations.
- Bumped minimum dependency on
azure-coreto>=1.30.0 - Bumped minimum dependency on
azure-appconfigurationto>=1.6.1
- Added support for load balancing between replicas.
- Added support for adding telemetry information to feature flags.
- Allocation Id value changed so other providers can match the value.
- Added AllocationId to the feature flag telemetry metadata when the feature flag has telemetry enabled.
- Fixed a number of cases where snake case was used instead of pascal case for feature flag telemetry.
- etag -> ETag
- feature_flag_reference -> FeatureFlagReference
- feature_flag_id -> FeatureFlagId
- Added support for feature flag telemetry.
- Added support for auto failover between replicas.
- Added support for auto discovery of replicas.
- Enable loading of feature flags with
feature_flag_enabled - Select Feature Flags to load with
feature_flag_selectors - Enable/Disable Feature Flag Refresh with
feature_flag_refresh_enabled
- Fixes issue where loading configurations were slower due to returning a copy of the configurations.
- New API for Azure App Configuration Provider,
refresh, which can be used to refresh the configuration from the Azure App Configuration service.refreshby default can check every 30 seconds for changes to specified sentinel keys. If a change is detected then all configurations are reloaded. Sentinel keys can be set by passing a list ofSentinelKey's torefresh_on. - Added new options
on_refresh_successandon_refresh_failurecallbacks to the load method. These callbacks are called when the refresh method successfully refreshes the configuration or fails to refresh the configuration.
- Verifies that the
refresh_intervalis at least 1 second.
- Added on_refresh_success callback to load method. This callback is called when the refresh method successfully refreshes the configuration.
- Added minimum up time. This is the minimum amount of time the provider will try to be up before throwing an error. This is to prevent quick restart loops.
- Fixes issue where the refresh timer only reset after a change was found.
- Renamed the type
SentinelKeyto beWatchKey.
- Added support for
keyvault_credential,keyvault_client_configs, andsecret_resolveraskwargsinstead of usingAzureAppConfigurationKeyVaultOptions.
- Fixes issue where
user_agentwas required to be set. - Fixes issue where correlation context info is wrong on refresh.
- New API for Azure App Configuration Provider,
refresh, which can be used to refresh the configuration from the Azure App Configuration service.refreshby default can check every 30 seconds for changes to specified sentinel keys. If a change is detected then all configurations are reloaded. Sentinel keys can be set by passing a list ofSentinelKey's torefresh_on. - Added support for customer provided user agent prefix.
- Updated to use AZURE_APP_CONFIGURATION_TRACING_DISABLED environment variable to disable tracing.
- Changed the maximum number of retries to 2 from the default of 3 retries.
- Changed the maximum back off time between retries to 1 minute from the default of 2 minutes.
- Bumped minimum dependency on
azure-coreto>=1.25.0
- Renamed
load_providertoload - Added
AzureAppConfigurationKeyVaultOptionsto take in aclient_configsa Mapping of endpoints to client kwargs instead of taking in the whole client. - Removed
AzureAppConfigurationKeyVaultOptionssecret_clients,client_configsshould be used instead. - Made key_filter and label_filter kwargs for Setting Selector
- Renamed
trimmed_key_prefixestotrim_prefixes
- Made EMPTY_LABEL a constant. i.e. "\0"
- Added Async Support
- Added missing methods for Mapping API
- Made load method properties unordered.
- Changes how load works. Moves if from AzureAppConfigurationProvider.load to load_provider.
- Removed custom Key Vault Error
- Removed unneeded repr and copy methods.
- All Feature Flags are added to there own key and have there prefix removed
- Fixed Issue where Key Vault Clients couldn't be set in some situations
- Updated method docs
- Fixed load doc that used
selectorinstead ofselects. - Fixed CLI link in Readme.
New Azure App Configuration Provider
Provides additional support above the Azure App Configuration SDK. Enables:
- Connecting to an Azure App Configuration store
- Selecting multiple keys using Setting Selector
- Resolve Key Vault References when supplied AzureAppConfigurationKeyVaultOptions
The Azure App Configuration Provider once loaded returns a dictionary of key/value pairs to use in configuration.
endpoint = "https://<your-store>.azconfig.io"
default_credential = DefaultAzureCredential()
config = AzureAppConfigurationProvider.load(
endpoint=endpoint, credential=default_credential)
print(config["message"])