Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update sdk readmes #894

Merged
merged 2 commits into from
Jan 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/reference/technologies/client/kotlin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ 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 Fri Jan 17 2025 08:09:01 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
<a href="https://github.com/open-feature/spec/releases/tag/v0.6.0">
<img alt="Specification" src="https://img.shields.io/static/v1?label=specification&message=v0.6.0&color=yellow&style=for-the-badge" />
</a>

<a href="https://github.com/open-feature/kotlin-sdk/releases/tag/v0.3.2">
<img alt="Release" src="https://img.shields.io/static/v1?label=release&message=v0.3.2&color=blue&style=for-the-badge" />
<a href="https://github.com/open-feature/kotlin-sdk/releases/tag/v0.3.3">
<img alt="Release" src="https://img.shields.io/static/v1?label=release&message=v0.3.3&color=blue&style=for-the-badge" />
</a>

<br/>
Expand All @@ -45,7 +45,7 @@ Installation via Maven Central is preferred, using the following dependency:

```kotlin
dependencies {
api("dev.openfeature:android-sdk:0.3.2")
api("dev.openfeature:android-sdk:0.3.3")
}
```

Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/client/swift.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:01 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/client/web/angular.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:02 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/client/web/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:01 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/client/web/react.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:01 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
51 changes: 37 additions & 14 deletions docs/reference/technologies/server/dotnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:00 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)
Expand Down Expand Up @@ -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: 🔬

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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<T>(HookContext<T> context, IReadOnlyDictionary<string, object> hints = null)
public ValueTask FinallyAsync<T>(HookContext<T> context, FlagEvaluationDetails<T> evaluationDetails, IReadOnlyDictionary<string, object> hints = null)
{
// code to run after all other stages, regardless of success/failure
}
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/server/go.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This content has been automatically generated from go-sdk.
Edits should be made here: https://github.com/open-feature/go-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 Fri Jan 17 2025 08:09:00 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
12 changes: 6 additions & 6 deletions docs/reference/technologies/server/java.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:00 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand All @@ -18,8 +18,8 @@ Last updated at Thu Jan 02 2025 08:08:54 GMT+0000 (Coordinated Universal Time)
</a>


<a href="https://github.com/open-feature/java-sdk/releases/tag/v1.13.0">
<img alt="Release" src="https://img.shields.io/static/v1?label=release&message=v1.13.0&color=blue&style=for-the-badge" />
<a href="https://github.com/open-feature/java-sdk/releases/tag/v1.14.0">
<img alt="Release" src="https://img.shields.io/static/v1?label=release&message=v1.14.0&color=blue&style=for-the-badge" />
</a>


Expand Down Expand Up @@ -54,7 +54,7 @@ Note that this library is intended to be used in server-side contexts and has no
<dependency>
<groupId>dev.openfeature</groupId>
<artifactId>sdk</artifactId>
<version>1.13.0</version>
<version>1.14.0</version>
</dependency>
```

Expand All @@ -77,7 +77,7 @@ If you would like snapshot builds, this is the relevant repository information:

```groovy
dependencies {
implementation 'dev.openfeature:sdk:1.13.0'
implementation 'dev.openfeature:sdk:1.14.0'
}
```

Expand Down Expand Up @@ -418,7 +418,7 @@ class MyHook implements Hook {
}

@Override
public void finallyAfter(HookContext ctx, Map hints) {
public void finallyAfter(HookContext ctx, FlagEvaluationDetails details, Map hints) {
// code that runs regardless of success or error
}
};
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/server/javascript/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:00 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/server/javascript/nestjs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:00 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/server/php.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:01 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/server/python.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:00 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/technologies/server/ruby.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 Fri Jan 17 2025 08:09:01 GMT+0000 (Coordinated Universal Time)
-->

<p align="center" class="github-badges">
Expand Down
12 changes: 6 additions & 6 deletions src/datasets/sdks/sdk-compatibility.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"path": "/docs/reference/technologies/server/java",
"category": "Server",
"release": {
"href": "https://github.com/open-feature/java-sdk/releases/tag/v1.13.0",
"version": "1.13.0",
"href": "https://github.com/open-feature/java-sdk/releases/tag/v1.14.0",
"version": "1.14.0",
"stable": true
},
"spec": {
Expand Down Expand Up @@ -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": "✅",
Expand Down Expand Up @@ -392,8 +392,8 @@
"path": "/docs/reference/technologies/client/kotlin",
"category": "Client",
"release": {
"href": "https://github.com/open-feature/kotlin-sdk/releases/tag/v0.3.2",
"version": "0.3.2",
"href": "https://github.com/open-feature/kotlin-sdk/releases/tag/v0.3.3",
"version": "0.3.3",
"stable": false
},
"spec": {
Expand Down
Loading