You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7b0e562
Browse filesBrowse the repository at this point in the historyBrowse files
* Load feature flags from the dedicated feature flag resource endpoint in the provider
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add tests.md doc link and fix recordings push command
* Update recordings tag and apply black formatting fix
* addressed comments
* Fix null-value handling in entra_id_sample and clean up refresh sample sentinel/watch-key logic and timing
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Make refresh_sample_feature_flags.py self-contained by creating its own my_json key and looking up Beta by id instead of a fragile index
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Enhance feature flag processing and clarify provider test instructions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* updated release date
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: sdk/appconfiguration/azure-appconfiguration-provider/CHANGELOG.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,15 @@
1
1
# Release History
2
2
3
-
## 2.5.1 (Unreleased)
3
+
## 2.6.0b1 (2026-08-25)
4
4
5
5
### Features Added
6
6
7
+
- Enhanced feature flags created via the dedicated feature flag resource endpoint (`FeatureFlagClient`/`FeatureFlag` in `azure-appconfiguration`) are now loaded automatically alongside key-value based feature flags whenever `feature_flag_enabled=True`. Both kinds are merged into the same `feature_management.feature_flags` list, with resource-based feature flags taking precedence over key-value based ones when they share the same name. No new `load()` options are required to opt in, and existing `feature_flag_selectors` filter both kinds.
8
+
7
9
### Breaking Changes
8
10
11
+
- Raised the minimum supported Python version to 3.10, matching the minimum required by `azure-appconfiguration>=1.10.0b1`. Dropped support for Python 3.7, 3.8, and 3.9.
12
+
9
13
### Bugs Fixed
10
14
11
15
- Fixed a resource leak where replica clients that were no longer part of the auto-failover set were not closed during client refresh.
@@ -17,6 +21,7 @@
17
21
### Other Changes
18
22
19
23
- Bumped minimum dependency on `azure-core` to `>=1.31.0`.
24
+
- Bumped minimum dependency on `azure-appconfiguration` to `>=1.10.0b1` for `FeatureFlagClient`/`FeatureFlag` support.
Feature flags can also be created using the dedicated feature flag endpoint (via `FeatureFlagClient`/`FeatureFlag` in `azure-appconfiguration`), instead of as key-value configuration settings. These are referred to as enhanced feature flags. No additional `load()` options are required to load them — it happens automatically whenever `feature_flag_enabled=True`, and they are merged into the same `feature_management.feature_flags` list as key-value based feature flags, with enhanced feature flags taking precedence when both share the same name (`id` for feature flag).
enhanced_flag_beta =next(flag for flag in feature_flags if flag.get("id") =="EnhancedFeatureBeta")
390
+
print(enhanced_flag_beta["enabled"])
391
+
```
392
+
393
+
<!-- END SNIPPET -->
394
+
395
+
`FeatureFlagSelector` is the dedicated selector type for filtering enhanced feature flags by name, label, or tags, and is the recommended way to select enhanced feature flags.
enhanced_flag_beta =next(flag for flag in feature_flags if flag.get("id") =="EnhancedFeatureBeta")
412
+
print(enhanced_flag_beta["enabled"])
413
+
```
414
+
415
+
<!-- END SNIPPET -->
416
+
380
417
## JSON Content Type
381
418
382
419
Configuration settings with a JSON content type (e.g., `application/json`) are automatically deserialized into their corresponding Python objects when loaded by the provider.
@@ -405,8 +442,10 @@ from azure.appconfiguration.provider import load
405
442
406
443
407
444
defmy_mapper(setting):
408
-
# Transform the setting as needed
409
-
setting.value = setting.value.strip()
445
+
# Transform the setting as needed. Some settings may have a None value, so guard against that
@@ -469,6 +508,12 @@ This library uses the standard [logging](https://docs.python.org/3/library/loggi
469
508
***Configuration not refreshing** — Make sure you are calling `config.refresh()` periodically (e.g., before each request in a web app). The provider does not auto-refresh in the background.
470
509
***Startup failures** — If the store is unreachable during startup, the provider will retry until `startup_timeout` (default 100 seconds) is exceeded. Increase this value if your store is expected to have high latency.
471
510
511
+
## Testing
512
+
513
+
(This content is for `azure-appconfiguration-provider` package developer only)
514
+
515
+
See [tests/tests.md](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/appconfiguration/azure-appconfiguration-provider/tests/tests.md) for instructions on running unit and integration tests, working with recordings, and setting up environment variables for local testing.
516
+
472
517
## Next steps
473
518
474
519
Check out our Django and Flask examples to see how to use the provider in a web application.
0 commit comments