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
@@ -33,26 +33,63 @@ Last updated at Wed Jul 16 2025 08:11:01 GMT+0000 (Coordinated Universal Time)
33
33
34
34
### Requirements
35
35
36
-
-The Android minSdk version supported is: `21`.
36
+
The following [Kotlin Multiplatform Targets](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-dsl-reference.html#targets) are supported:
37
37
38
-
Note that this library is intended to be used in a mobile context, and has not been evaluated for use in other types of applications (e.g. server applications).
@@ -432,6 +433,96 @@ Hooks support passing per-evaluation data between that stages using `hook data`.
432
433
433
434
Built a new hook? [Let us know](https://github.com/open-feature/openfeature.dev/issues/new?assignees=&labels=hook&projects=&template=document-hook.yaml&title=%5BHook%5D%3A+) so we can add it to the docs!
434
435
436
+
### Multi-Provider
437
+
438
+
> [!NOTE]
439
+
> The Multi-Provider feature is currently experimental. Hooks and events are not supported at the moment.
440
+
441
+
The Multi-Provider enables the use of multiple underlying feature flag providers simultaneously, allowing different providers to be used for different flag keys or based on specific evaluation strategies.
The Multi-Provider supports different evaluation strategies that determine how multiple providers are used:
471
+
472
+
##### FirstMatchStrategy (Default)
473
+
474
+
Evaluates providers sequentially and returns the first result that is not "flag not found". If any provider returns an error, that error is returned immediately.
Evaluates all providers in parallel and compares results. If values agree, returns the agreed value. If they disagree, returns the fallback provider's value (or first provider if no fallback is specified) and optionally calls a mismatch callback.
-**Sequential**: Providers are evaluated one after another (used by `FirstMatchStrategy` and `FirstSuccessfulStrategy`)
516
+
-**Parallel**: All providers are evaluated simultaneously (used by `ComparisonStrategy`)
517
+
518
+
#### Limitations
519
+
520
+
-**Hooks are not supported**: Multi-Provider does not currently support hook registration or execution
521
+
-**Events are not supported**: Provider events are not propagated from underlying providers
522
+
-**Experimental status**: The API may change in future releases
523
+
524
+
For a complete example, see the [AspNetCore sample](https://github.com/open-feature/dotnet-sdk/blob/main/samples/AspNetCore/README.md) which demonstrates Multi-Provider usage.
525
+
435
526
### Dependency Injection
436
527
437
528
> [!NOTE]
@@ -603,6 +694,24 @@ namespace OpenFeatureTestApp
603
694
604
695
After running this example, you will be able to see the traces, including the events sent by the hook in your Jaeger UI.
605
696
697
+
You can specify custom tags on spans created by the `TraceEnricherHook` by providing `TraceEnricherHookOptions` when adding the hook:
You can also write your own extraction logic against the Flag metadata by providing a callback to `WithFlagEvaluationMetadata`. The below example will add a tag to the span with the key `boolean` and a value specified by the callback.
0 commit comments