From 09c1ac235c1b0a982a62598ae2cac282162c95be Mon Sep 17 00:00:00 2001 From: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com> Date: Thu, 9 Jan 2025 08:09:40 +0000 Subject: [PATCH] chore: update sdk readmes Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com> --- docs/reference/technologies/client/kotlin.mdx | 2 +- docs/reference/technologies/client/swift.mdx | 2 +- .../technologies/client/web/angular.mdx | 2 +- .../technologies/client/web/index.mdx | 2 +- .../technologies/client/web/react.mdx | 2 +- docs/reference/technologies/server/dotnet.mdx | 51 ++++++++++++++----- docs/reference/technologies/server/go.mdx | 2 +- docs/reference/technologies/server/java.mdx | 2 +- .../technologies/server/javascript/index.mdx | 2 +- .../technologies/server/javascript/nestjs.mdx | 2 +- docs/reference/technologies/server/php.mdx | 2 +- docs/reference/technologies/server/python.mdx | 2 +- docs/reference/technologies/server/ruby.mdx | 2 +- src/datasets/sdks/sdk-compatibility.json | 4 +- 14 files changed, 51 insertions(+), 28 deletions(-) diff --git a/docs/reference/technologies/client/kotlin.mdx b/docs/reference/technologies/client/kotlin.mdx index d37a0aed..d632189c 100644 --- a/docs/reference/technologies/client/kotlin.mdx +++ b/docs/reference/technologies/client/kotlin.mdx @@ -10,7 +10,7 @@ This content has been automatically generated from kotlin-sdk. Edits should be made here: https://github.com/open-feature/kotlin-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Thu Jan 02 2025 08:08:55 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Jan 09 2025 08:09:39 GMT+0000 (Coordinated Universal Time) -->
diff --git a/docs/reference/technologies/client/swift.mdx b/docs/reference/technologies/client/swift.mdx index 17694ddf..714b5465 100644 --- a/docs/reference/technologies/client/swift.mdx +++ b/docs/reference/technologies/client/swift.mdx @@ -10,7 +10,7 @@ This content has been automatically generated from swift-sdk. Edits should be made here: https://github.com/open-feature/swift-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Thu Jan 02 2025 08:08:55 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Jan 09 2025 08:09:39 GMT+0000 (Coordinated Universal Time) -->
diff --git a/docs/reference/technologies/client/web/angular.mdx b/docs/reference/technologies/client/web/angular.mdx index 40959668..7e2162f9 100644 --- a/docs/reference/technologies/client/web/angular.mdx +++ b/docs/reference/technologies/client/web/angular.mdx @@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk. Edits should be made here: https://github.com/open-feature/js-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Thu Jan 02 2025 08:08:55 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Jan 09 2025 08:09:40 GMT+0000 (Coordinated Universal Time) -->
diff --git a/docs/reference/technologies/client/web/index.mdx b/docs/reference/technologies/client/web/index.mdx index 4dccd66f..73f81fca 100644 --- a/docs/reference/technologies/client/web/index.mdx +++ b/docs/reference/technologies/client/web/index.mdx @@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk. Edits should be made here: https://github.com/open-feature/js-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Thu Jan 02 2025 08:08:54 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Jan 09 2025 08:09:38 GMT+0000 (Coordinated Universal Time) -->
diff --git a/docs/reference/technologies/client/web/react.mdx b/docs/reference/technologies/client/web/react.mdx index 03aed0dc..c7d8a9dc 100644 --- a/docs/reference/technologies/client/web/react.mdx +++ b/docs/reference/technologies/client/web/react.mdx @@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk. Edits should be made here: https://github.com/open-feature/js-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Thu Jan 02 2025 08:08:55 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Jan 09 2025 08:09:38 GMT+0000 (Coordinated Universal Time) -->
diff --git a/docs/reference/technologies/server/dotnet.mdx b/docs/reference/technologies/server/dotnet.mdx
index 4ec57c9a..6bed9cb1 100644
--- a/docs/reference/technologies/server/dotnet.mdx
+++ b/docs/reference/technologies/server/dotnet.mdx
@@ -10,7 +10,7 @@ This content has been automatically generated from dotnet-sdk.
Edits should be made here: https://github.com/open-feature/dotnet-sdk
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
-Last updated at Thu Jan 02 2025 08:08:54 GMT+0000 (Coordinated Universal Time)
+Last updated at Thu Jan 09 2025 08:09:37 GMT+0000 (Coordinated Universal Time)
-->
[![Specification](https://img.shields.io/static/v1?label=specification&message=v0.7.0&color=yellow&style=for-the-badge)](https://github.com/open-feature/spec/releases/tag/v0.7.0)
@@ -69,18 +69,19 @@ public async Task Example()
## Features
-| Status | Features | Description |
-| ------ | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
-| ✅ | [Providers](#providers) | Integrate with a commercial, open source, or in-house feature management tool. |
-| ✅ | [Targeting](#targeting) | Contextually-aware flag evaluation using [evaluation context](/docs/reference/concepts/evaluation-context). |
-| ✅ | [Hooks](#hooks) | Add functionality to various stages of the flag evaluation life-cycle. |
-| ✅ | [Tracking](#tracking) | Associate user actions with feature flag evaluations. |
-| ✅ | [Logging](#logging) | Integrate with popular logging packages. |
-| ✅ | [Domains](#domains) | Logically bind clients with providers. |
-| ✅ | [Eventing](#eventing) | React to state changes in the provider or flag management system. |
-| ✅ | [Shutdown](#shutdown) | Gracefully clean up a provider during application shutdown. |
-| ✅ | [Extending](#extending) | Extend OpenFeature with custom providers and hooks. |
-| 🔬 | [DependencyInjection](#DependencyInjection) | Integrate OpenFeature with .NET's dependency injection for streamlined provider setup. |
+| Status | Features | Description |
+| ------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ✅ | [Providers](#providers) | Integrate with a commercial, open source, or in-house feature management tool. |
+| ✅ | [Targeting](#targeting) | Contextually-aware flag evaluation using [evaluation context](/docs/reference/concepts/evaluation-context). |
+| ✅ | [Hooks](#hooks) | Add functionality to various stages of the flag evaluation life-cycle. |
+| ✅ | [Tracking](#tracking) | Associate user actions with feature flag evaluations. |
+| ✅ | [Logging](#logging) | Integrate with popular logging packages. |
+| ✅ | [Domains](#domains) | Logically bind clients with providers. |
+| ✅ | [Eventing](#eventing) | React to state changes in the provider or flag management system. |
+| ✅ | [Shutdown](#shutdown) | Gracefully clean up a provider during application shutdown. |
+| ✅ | [Transaction Context Propagation](#transaction-context-propagation) | Set a specific [evaluation context](/docs/reference/concepts/evaluation-context) for a transaction (e.g. an HTTP request or a thread). |
+| ✅ | [Extending](#extending) | Extend OpenFeature with custom providers and hooks. |
+| 🔬 | [DependencyInjection](#DependencyInjection) | Integrate OpenFeature with .NET's dependency injection for streamlined provider setup. |
> Implemented: ✅ | In-progress: ⚠️ | Not implemented yet: ❌ | Experimental: 🔬
@@ -235,6 +236,28 @@ The OpenFeature API provides a close function to perform a cleanup of all regist
await Api.Instance.ShutdownAsync();
```
+### Transaction Context Propagation
+
+Transaction context is a container for transaction-specific evaluation context (e.g. user id, user agent, IP).
+Transaction context can be set where specific data is available (e.g. an auth service or request handler) and by using the transaction context propagator it will automatically be applied to all flag evaluations within a transaction (e.g. a request or thread).
+By default, the `NoOpTransactionContextPropagator` is used, which doesn't store anything.
+To register a [AsyncLocal](https://learn.microsoft.com/en-us/dotnet/api/system.threading.asynclocal-1) context propagator, you can use the `SetTransactionContextPropagator` method as shown below.
+
+```csharp
+// registering the AsyncLocalTransactionContextPropagator
+Api.Instance.SetTransactionContextPropagator(new AsyncLocalTransactionContextPropagator());
+```
+Once you've registered a transaction context propagator, you can propagate the data into request-scoped transaction context.
+
+```csharp
+// adding userId to transaction context
+EvaluationContext transactionContext = EvaluationContext.Builder()
+ .Set("userId", userId)
+ .Build();
+Api.Instance.SetTransactionContext(transactionContext);
+```
+Additionally, you can develop a custom transaction context propagator by implementing the `TransactionContextPropagator` interface and registering it as shown above.
+
## Extending
### Develop a provider
@@ -306,7 +329,7 @@ public class MyHook : Hook
// code to run if there's an error during before hooks or during flag evaluation
}
- public ValueTask FinallyAsync
diff --git a/docs/reference/technologies/server/java.mdx b/docs/reference/technologies/server/java.mdx
index 3c6157f2..9f123f00 100644
--- a/docs/reference/technologies/server/java.mdx
+++ b/docs/reference/technologies/server/java.mdx
@@ -9,7 +9,7 @@ This content has been automatically generated from java-sdk.
Edits should be made here: https://github.com/open-feature/java-sdk
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
-Last updated at Thu Jan 02 2025 08:08:54 GMT+0000 (Coordinated Universal Time)
+Last updated at Thu Jan 09 2025 08:09:37 GMT+0000 (Coordinated Universal Time)
-->
diff --git a/docs/reference/technologies/server/javascript/index.mdx b/docs/reference/technologies/server/javascript/index.mdx
index fd3c0694..5d869b8b 100644
--- a/docs/reference/technologies/server/javascript/index.mdx
+++ b/docs/reference/technologies/server/javascript/index.mdx
@@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk.
Edits should be made here: https://github.com/open-feature/js-sdk
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
-Last updated at Thu Jan 02 2025 08:08:54 GMT+0000 (Coordinated Universal Time)
+Last updated at Thu Jan 09 2025 08:09:37 GMT+0000 (Coordinated Universal Time)
-->
diff --git a/docs/reference/technologies/server/javascript/nestjs.mdx b/docs/reference/technologies/server/javascript/nestjs.mdx
index fac7a182..9988c91b 100644
--- a/docs/reference/technologies/server/javascript/nestjs.mdx
+++ b/docs/reference/technologies/server/javascript/nestjs.mdx
@@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk.
Edits should be made here: https://github.com/open-feature/js-sdk
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
-Last updated at Thu Jan 02 2025 08:08:54 GMT+0000 (Coordinated Universal Time)
+Last updated at Thu Jan 09 2025 08:09:37 GMT+0000 (Coordinated Universal Time)
-->
diff --git a/docs/reference/technologies/server/php.mdx b/docs/reference/technologies/server/php.mdx
index 19f86bdb..e0fb5a76 100644
--- a/docs/reference/technologies/server/php.mdx
+++ b/docs/reference/technologies/server/php.mdx
@@ -9,7 +9,7 @@ This content has been automatically generated from php-sdk.
Edits should be made here: https://github.com/open-feature/php-sdk
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
-Last updated at Thu Jan 02 2025 08:08:54 GMT+0000 (Coordinated Universal Time)
+Last updated at Thu Jan 09 2025 08:09:38 GMT+0000 (Coordinated Universal Time)
-->
diff --git a/docs/reference/technologies/server/python.mdx b/docs/reference/technologies/server/python.mdx
index ecd11e09..ff6006d0 100644
--- a/docs/reference/technologies/server/python.mdx
+++ b/docs/reference/technologies/server/python.mdx
@@ -9,7 +9,7 @@ This content has been automatically generated from python-sdk.
Edits should be made here: https://github.com/open-feature/python-sdk
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
-Last updated at Thu Jan 02 2025 08:08:54 GMT+0000 (Coordinated Universal Time)
+Last updated at Thu Jan 09 2025 08:09:38 GMT+0000 (Coordinated Universal Time)
-->
diff --git a/docs/reference/technologies/server/ruby.mdx b/docs/reference/technologies/server/ruby.mdx
index b93a3413..711beda3 100644
--- a/docs/reference/technologies/server/ruby.mdx
+++ b/docs/reference/technologies/server/ruby.mdx
@@ -10,7 +10,7 @@ This content has been automatically generated from ruby-sdk.
Edits should be made here: https://github.com/open-feature/ruby-sdk
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
-Last updated at Thu Jan 02 2025 08:08:55 GMT+0000 (Coordinated Universal Time)
+Last updated at Thu Jan 09 2025 08:09:39 GMT+0000 (Coordinated Universal Time)
-->
diff --git a/src/datasets/sdks/sdk-compatibility.json b/src/datasets/sdks/sdk-compatibility.json
index 41a5910e..15a62751 100644
--- a/src/datasets/sdks/sdk-compatibility.json
+++ b/src/datasets/sdks/sdk-compatibility.json
@@ -154,8 +154,8 @@
"path": "/docs/reference/technologies/server/dotnet#tracking"
},
"Transaction Context Propagation": {
- "status": "❓",
- "path": "/docs/reference/technologies/server/dotnet"
+ "status": "✅",
+ "path": "/docs/reference/technologies/server/dotnet#transaction-context-propagation"
},
"Shutdown": {
"status": "✅",