diff --git a/docs/reference/sdks/client/kotlin.mdx b/docs/reference/sdks/client/kotlin.mdx index 5341b3cd8..d2757a6b5 100644 --- a/docs/reference/sdks/client/kotlin.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/client/swift.mdx b/docs/reference/sdks/client/swift.mdx index dd28ff84e..0fb193afa 100644 --- a/docs/reference/sdks/client/swift.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:17 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/client/web/angular.mdx b/docs/reference/sdks/client/web/angular.mdx index 4947aa5f4..bbf1652cd 100644 --- a/docs/reference/sdks/client/web/angular.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:17 GMT+0000 (Coordinated Universal Time) -->

diff --git a/docs/reference/sdks/client/web/index.mdx b/docs/reference/sdks/client/web/index.mdx index fa5cd721d..eb0dfd575 100644 --- a/docs/reference/sdks/client/web/index.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/client/web/react.mdx b/docs/reference/sdks/client/web/react.mdx index 6a7683903..aa5b95f00 100644 --- a/docs/reference/sdks/client/web/react.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/dart.mdx b/docs/reference/sdks/server/dart.mdx index 2f7707b3c..47d70227f 100644 --- a/docs/reference/sdks/server/dart.mdx +++ b/docs/reference/sdks/server/dart.mdx @@ -9,7 +9,7 @@ This content has been automatically generated from dart-server-sdk. Edits should be made here: https://github.com/open-feature/dart-server-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:17 GMT+0000 (Coordinated Universal Time) -->

diff --git a/docs/reference/sdks/server/dotnet.mdx b/docs/reference/sdks/server/dotnet.mdx index 50905c4b8..c7d625d18 100644 --- a/docs/reference/sdks/server/dotnet.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:11 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/go.mdx b/docs/reference/sdks/server/go.mdx index f307426fd..b9dfc631d 100644 --- a/docs/reference/sdks/server/go.mdx +++ b/docs/reference/sdks/server/go.mdx @@ -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 Fri Apr 17 2026 08:43:11 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; @@ -25,7 +25,7 @@ import MCPInstall from '@site/src/partials/mcp-install';
- API Reference + API Reference Go Report Card @@ -172,7 +172,7 @@ client.AddHooks(ExampleClientHook{}) // add a hook for this evaluation only value, err := client.BooleanValue( - context.TODO(), "boolFlag", false, openfeature.EvaluationContext{}, WithHooks(ExampleInvocationHook{}), + context.TODO(), "boolFlag", false, openfeature.EvaluationContext{}, openfeature.WithHooks(ExampleInvocationHook{}), ) ``` @@ -184,12 +184,12 @@ For example, a flag enhancing the appearance of a UI component might drive user ```go // initialize a client -client := openfeature.NewClient('my-app') +client := openfeature.NewClient("my-app") // trigger tracking event action client.Track( context.TODO(), - 'visited-promo-page', + "visited-promo-page", openfeature.EvaluationContext{}, openfeature.NewTrackingEventDetails(99.77).Add("currencyCode", "USD"), ) @@ -255,12 +255,15 @@ See [hooks](#hooks) for more information on configuring hooks. Clients can be assigned to a domain. A domain is a logical identifier that can be used to associate clients with a particular provider. If a domain has no associated provider, the default provider is used. ```go -import "github.com/open-feature/go-sdk/openfeature" +import ( + "github.com/open-feature/go-sdk/openfeature" + "github.com/open-feature/go-sdk/openfeature/memprovider" +) // Registering the default provider -openfeature.SetProviderAndWait(NewLocalProvider()) +openfeature.SetProviderAndWait(openfeature.NoopProvider{}) // Registering a named provider -openfeature.SetNamedProvider("clientForCache", NewCachedProvider()) +openfeature.SetNamedProvider("clientForCache", memprovider.NewInMemoryProvider(map[string]memprovider.InMemoryFlag{})) // A Client backed by default provider clientWithDefault := openfeature.NewDefaultClient() @@ -423,7 +426,7 @@ func (i MyFeatureProvider) EventChannel() <-chan openfeature.Event { To develop a hook, you need to create a new project and include the OpenFeature SDK as a dependency. This can be a new repository or included in [the existing contrib repository](https://github.com/open-feature/go-sdk-contrib) available under the OpenFeature organization. -Implement your own hook by conforming to the [Hook interface](https://github.com/open-feature/go-sdk/blob/main/pkg/openfeature/hooks.go). +Implement your own hook by conforming to the [Hook interface](https://github.com/open-feature/go-sdk/blob/main/openfeature/hooks.go). To satisfy the interface, all methods (`Before`/`After`/`Finally`/`Error`) need to be defined. To avoid defining empty functions make use of the `UnimplementedHook` struct (which already implements all the empty functions). diff --git a/docs/reference/sdks/server/java.mdx b/docs/reference/sdks/server/java.mdx index 90c01cdc6..45c33b5c7 100644 --- a/docs/reference/sdks/server/java.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:11 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:15 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/javascript/index.mdx b/docs/reference/sdks/server/javascript/index.mdx index 7819e715d..e8c8758ed 100644 --- a/docs/reference/sdks/server/javascript/index.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:11 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/javascript/nestjs.mdx b/docs/reference/sdks/server/javascript/nestjs.mdx index ef67674f0..435530f74 100644 --- a/docs/reference/sdks/server/javascript/nestjs.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:11 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/php.mdx b/docs/reference/sdks/server/php.mdx index 8acdb6568..0d52e9e94 100644 --- a/docs/reference/sdks/server/php.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/python.mdx b/docs/reference/sdks/server/python.mdx index 0b98f1e1b..14c8c558f 100644 --- a/docs/reference/sdks/server/python.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:11 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:16 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; @@ -139,11 +139,11 @@ If the flag management system you're using supports targeting, you can provide t ```python from openfeature.api import ( get_client, - get_provider, set_provider, get_evaluation_context, set_evaluation_context, ) +from openfeature.evaluation_context import EvaluationContext global_context = EvaluationContext( targeting_key="targeting_key1", attributes={"application": "value1"} @@ -156,7 +156,7 @@ request_context = EvaluationContext( set_evaluation_context(global_context) # merge second context -client = get_client(name="No-op Provider") +client = get_client(domain="No-op Provider") client.get_string_value("email", "fallback", request_context) ``` @@ -169,6 +169,7 @@ If the hook you're looking for hasn't been created yet, see the [develop a hook] Once you've added a hook as a dependency, it can be registered at the global, client, or flag invocation level. ```python +from openfeature import api from openfeature.api import add_hooks from openfeature.flag_evaluation import FlagEvaluationOptions @@ -176,12 +177,12 @@ from openfeature.flag_evaluation import FlagEvaluationOptions add_hooks([MyHook()]) # or configure them in the client -client = OpenFeatureClient() +client = api.get_client() client.add_hooks([MyHook()]) # or at the invocation-level options = FlagEvaluationOptions(hooks=[MyHook()]) -client.get_boolean_flag("my-flag", False, flag_evaluation_options=options) +client.get_boolean_value("my-flag", False, flag_evaluation_options=options) ``` ### Tracking @@ -251,7 +252,7 @@ Please refer to the documentation of the provider you're using to see what event ```python from openfeature import api -from openfeature.provider import ProviderEvent +from openfeature.event import EventDetails, ProviderEvent def on_provider_ready(event_details: EventDetails): print(f"Provider {event_details.provider_name} is ready") @@ -500,10 +501,11 @@ Implement your own hook by creating a hook that inherits from the `Hook` class. Any of the evaluation life-cycle stages (`before`/`after`/`error`/`finally_after`) can be override to add the desired business logic. ```python -from openfeature.hook import Hook +from openfeature.hook import Hook, HookContext, HookHints +from openfeature.flag_evaluation import FlagEvaluationDetails, FlagValueType class MyHook(Hook): - def after(self, hook_context: HookContext, details: FlagEvaluationDetails, hints: dict): + def after(self, hook_context: HookContext, details: FlagEvaluationDetails[FlagValueType], hints: HookHints): print("This runs after the flag has been evaluated") ``` diff --git a/docs/reference/sdks/server/ruby.mdx b/docs/reference/sdks/server/ruby.mdx index b1c53d901..219b9192d 100644 --- a/docs/reference/sdks/server/ruby.mdx +++ b/docs/reference/sdks/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 Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:17 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/rust.mdx b/docs/reference/sdks/server/rust.mdx index 0d877af95..664c85f6b 100644 --- a/docs/reference/sdks/server/rust.mdx +++ b/docs/reference/sdks/server/rust.mdx @@ -9,7 +9,7 @@ This content has been automatically generated from rust-sdk. Edits should be made here: https://github.com/open-feature/rust-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Fri Apr 17 2026 08:43:12 GMT+0000 (Coordinated Universal Time) +Last updated at Mon Apr 20 2026 08:55:17 GMT+0000 (Coordinated Universal Time) -->