diff --git a/docs/reference/sdks/client/dart.mdx b/docs/reference/sdks/client/dart.mdx index 4f51a2d9d..fb1ccb9ac 100644 --- a/docs/reference/sdks/client/dart.mdx +++ b/docs/reference/sdks/client/dart.mdx @@ -9,7 +9,7 @@ This content has been automatically generated from dart-sdk. Edits should be made here: https://github.com/open-feature/dart-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Mon Sep 21 2026 08:42:24 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:06 GMT+0000 (Coordinated Universal Time) --> # OpenFeature Dart Client SDK @@ -17,6 +17,9 @@ This package is the vendor-neutral OpenFeature SDK for Dart client applications. It uses the static-context paradigm. It has no Flutter or `dart:io` dependency. +This source checkout supports Dart 3.10 or later. The published beta below +requires Dart 3.12.2 until a release containing the lower SDK floor is published. + The package is in beta. The first beta defines the public client and provider contracts. It provides synchronous typed evaluation, event handlers, hooks, ordered context changes, and an in-memory provider. Later beta changes will diff --git a/docs/reference/sdks/client/kotlin.mdx b/docs/reference/sdks/client/kotlin.mdx index 228e4d424..392e0edd6 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 Mon Sep 21 2026 08:42:23 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:05 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; @@ -20,8 +20,8 @@ import MCPInstall from '@site/src/partials/mcp-install'; Specification - - Release + + Release
@@ -67,7 +67,7 @@ Installation is preferred via Maven Central. ```kotlin dependencies { - api("dev.openfeature:kotlin-sdk:0.8.0") + api("dev.openfeature:kotlin-sdk:0.9.0") } ``` @@ -77,7 +77,7 @@ dependencies { kotlin { sourceSets { commonMain.dependencies { - api("dev.openfeature:kotlin-sdk:0.8.0") + api("dev.openfeature:kotlin-sdk:0.9.0") } } } diff --git a/docs/reference/sdks/client/swift.mdx b/docs/reference/sdks/client/swift.mdx index a91bc2952..cb32da288 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 Mon Sep 21 2026 08:42:23 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:06 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; @@ -44,7 +44,7 @@ This SDK supports the following Apple platforms: - **watchOS 8+** - **tvOS 15+** -The SDK is built with Swift 5.5+ and uses Foundation, Combine, and the [swift-log](https://github.com/apple/swift-log) Logging package, making it suitable for all Apple platform contexts including mobile, desktop, wearable, and TV applications. +The SDK is built with Swift 5.5+ and uses only Foundation and Combine, making it suitable for all Apple platform contexts including mobile, desktop, wearable, and TV applications. It has no third-party dependencies. An optional `OpenFeatureSwiftLog` product integrates with [swift-log](https://github.com/apple/swift-log) for those who use it (see [Logging](#logging)). ### Install @@ -75,18 +75,9 @@ and in the target dependencies section add: .product(name: "OpenFeature", package: "swift-sdk"), ``` -#### CocoaPods - -If you manage dependencies through CocoaPods, add the following to your Podfile: - -```ruby -pod 'OpenFeature', '~> 0.5.0' -``` - -Then, run: - -```bash -pod install +To log through [swift-log](https://github.com/apple/swift-log), also add the optional bridge product: +```swift +.product(name: "OpenFeatureSwiftLog", package: "swift-sdk"), ``` ### iOS Usage @@ -105,6 +96,18 @@ Task { } ``` +### Privacy Manifest + +The SDK ships a [privacy manifest](https://developer.apple.com/documentation/bundleresources/privacy-manifest-files) (`PrivacyInfo.xcprivacy`) that Swift Package Manager bundles automatically, so it is picked up by Xcode's privacy report and App Store submission checks. + +The manifest declares that the SDK: + +* does not track users (`NSPrivacyTracking` is `false`) and contacts no tracking domains, +* does not collect any data types on its own, +* does not call any [required reason APIs](https://developer.apple.com/documentation/bundleresources/describing-use-of-required-reason-api). + +The SDK is an abstraction layer, it holds the evaluation context and tracking events your app supplies and hands them to the configured provider, but never persists or transmits them itself. Any data collection, tracking or required-reason API usage happens in the provider (or hook) you install. Third-party providers and hooks are responsible for declaring that in their own privacy manifest, so check the manifest of each one you use. Your app's own manifest must cover data collection, tracking, and required-reason API use by your app's code, including any custom providers or hooks you write yourself. + ## Features | Status | Features | Description | @@ -113,9 +116,10 @@ Task { | ✅ | [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. | +| ✅ | [Logging](#logging) | Integrate with popular logging packages or your own logger. | | ❌ | [Domains](#domains) | Logically bind clients with providers. | | ✅ | [MultiProvider](#multiprovider) | Combine multiple providers with configurable evaluation strategies. | +| ✅ | [InMemoryProvider](#inmemoryprovider) | Resolve flags from an in-memory configuration, for demos and testing. | | ✅ | [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. | @@ -194,40 +198,97 @@ Note that some providers may not support tracking; check the documentation for y ### Logging -The iOS SDK integrates with [swift-log](https://github.com/apple/swift-log), the standard logging API for Swift. This provides a unified, cross-platform logging interface that works with any swift-log compatible backend. +The SDK does not depend on any logging framework. It logs through the small `OpenFeatureLogger` protocol, so you can plug in whatever logger your app already uses: -#### Configure Logger +```swift +public protocol OpenFeatureLogger { + func debug(_ message: @autoclosure () -> String) + func info(_ message: @autoclosure () -> String) + func warning(_ message: @autoclosure () -> String) + func error(_ message: @autoclosure () -> String) +} +``` -You can configure logging at three levels, with each level taking precedence over the previous: +Messages are autoclosures, so string interpolation only runs if your implementation emits the message. Implementations may be called from any thread and must be thread-safe. + +#### Bring your own logger + +Conform your logger to `OpenFeatureLogger`. For example, with Apple's unified logging: + +```swift +import OpenFeature +import os + +struct OSLogOpenFeatureLogger: OpenFeatureLogger { + private let logger = os.Logger(subsystem: "com.example.app", category: "openfeature") + + func debug(_ message: @autoclosure () -> String) { logger.debug("\(message())") } + func info(_ message: @autoclosure () -> String) { logger.info("\(message())") } + func warning(_ message: @autoclosure () -> String) { logger.warning("\(message())") } + func error(_ message: @autoclosure () -> String) { logger.error("\(message())") } +} +``` + +#### Using swift-log + +If you use [swift-log](https://github.com/apple/swift-log), the optional `OpenFeatureSwiftLog` product ships a ready-made `SwiftLogLogger` that forwards to a swift-log `Logger`: -**1. Global (API-level)** - affects all flag evaluations: ```swift import Logging +import OpenFeature +import OpenFeatureSwiftLog -let logger = Logger(label: "com.example.app.openfeature") +let logger = SwiftLogLogger(Logger(label: "com.example.app.openfeature")) +// or simply: SwiftLogLogger(label: "com.example.app.openfeature") OpenFeatureAPI.shared.setLogger(logger) ``` +The core `OpenFeature` product never links swift-log; only apps that add `OpenFeatureSwiftLog` do. + +#### Configure Logger + +You can configure logging at three levels, with each level taking precedence over the previous: + +**1. Global (API-level)** - affects all flag evaluations: +```swift +OpenFeatureAPI.shared.setLogger(OSLogOpenFeatureLogger()) +``` + **2. Client-level** - affects all evaluations from a specific client: ```swift let client = OpenFeatureAPI.shared.getClient() -let logger = Logger(label: "com.example.app.flags") -client.setLogger(logger) +client.setLogger(OSLogOpenFeatureLogger()) ``` **3. Evaluation-level** - affects a single flag evaluation: ```swift -let logger = Logger(label: "com.example.app.critical-flag") -let options = FlagEvaluationOptions(logger: logger) +let options = FlagEvaluationOptions(logger: OSLogOpenFeatureLogger()) let value = client.getBooleanValue(key: "my-flag", defaultValue: false, options: options) ``` #### Provider Support -Providers can optionally use the logger for debugging and diagnostics. The logger is passed to providers during flag evaluation, allowing them to log relevant information. +Providers can optionally use the logger for debugging and diagnostics. The resolved `OpenFeatureLogger` is passed to providers during flag evaluation through the `logger:` parameter of the evaluation methods, allowing them to log relevant information without depending on any logging framework. If no logger is configured, logging is disabled. The logger is completely optional for both SDK users and provider authors. +##### Migrating providers from swift-log (0.6.x) + +In 0.6.x the logger-aware `FeatureProvider` methods took a swift-log `Logger?`. They now take `(any OpenFeatureLogger)?`. A provider that still declares the old signature will compile, because the method simply stops matching the protocol requirement, but the SDK will call the default implementation instead and **the provider's logging silently stops**. Update all five logger-aware methods: + +```swift +// Before (0.6.x) +func getBooleanEvaluation(key: String, defaultValue: Bool, context: EvaluationContext?, logger: Logger?) throws + -> ProviderEvaluation + +// After +func getBooleanEvaluation( + key: String, defaultValue: Bool, context: EvaluationContext?, logger: (any OpenFeatureLogger)? +) throws -> ProviderEvaluation +``` + +Apply the same change to `getStringEvaluation`, `getIntegerEvaluation`, `getDoubleEvaluation` and `getObjectEvaluation`. Inside the method, `logger?.debug(...)`, `logger?.info(...)`, `logger?.warning(...)` and `logger?.error(...)` calls that pass only a message keep working unchanged. `OpenFeatureLogger` takes just a message, so swift-log-specific arguments such as `metadata:` or `source:` no longer compile; fold that information into the message, and replace `trace`, `notice` or `critical` calls with the nearest of the four levels. Providers that only implement the plain evaluation methods (without `logger:`) need no changes. Drop the `import Logging` if the provider no longer uses swift-log directly. + ### Domains Domains allow you to logically bind clients with providers, enabling the use of multiple providers within a single application. Each domain can have its own provider, and clients can be associated with a specific domain. @@ -317,6 +378,51 @@ let providers = [ let multiProvider = MultiProvider(providers: providers) ``` +### InMemoryProvider + +`InMemoryProvider` resolves flags from a configuration you supply, with no network calls and no mocking. It is useful for demos, local development, and for testing hooks, providers, or application code that consumes flags. + +```swift +let provider = InMemoryProvider(flags: [ + "boolean-flag": InMemoryFlag( + variants: ["on": .boolean(true), "off": .boolean(false)], + defaultVariant: "on"), + "greeting": InMemoryFlag( + variants: ["formal": .string("Good evening"), "casual": .string("hi")], + defaultVariant: "formal", + flagMetadata: ["version": .string("1.0.2")]), +]) + +await OpenFeatureAPI.shared.setProviderAndWait(provider: provider) +OpenFeatureAPI.shared.getClient().getBooleanValue(key: "boolean-flag", defaultValue: false) // true +``` + +Targeting is expressed as a callback returning the key of the variant to resolve, or `nil` to fall back to the flag's `defaultVariant`: + +```swift +InMemoryFlag( + variants: ["internal": .string("INTERNAL"), "external": .string("EXTERNAL")], + defaultVariant: "external", + contextEvaluator: { _, context in + context?.getValue(key: "customer") == .boolean(false) ? "internal" : nil + }) +``` + +A resolution reports `TARGETING_MATCH` when the callback selects a variant, `DEFAULT` when it returns `nil`, `STATIC` when the flag has no callback, and `DISABLED` for a flag constructed with `disabled: true`. An unknown flag key resolves as `FLAG_NOT_FOUND`, and a variant whose value is not of the requested type as `TYPE_MISMATCH`. + +The configuration can be changed after the provider is registered, which emits `PROVIDER_CONFIGURATION_CHANGED`: + +```swift +provider.updateFlag(key: "boolean-flag", flag: InMemoryFlag( + variants: ["on": .boolean(true), "off": .boolean(false)], + defaultVariant: "off")) + +provider.removeFlag(key: "greeting") + +// Replaces the whole configuration; the event reports the union of the old and new flag keys. +provider.putConfiguration(["only-flag": InMemoryFlag(variants: ["on": .boolean(true)], defaultVariant: "on")]) +``` + ### Eventing Events allow you to react to state changes in the provider or underlying flag management system, such as flag definition changes, provider readiness, or error conditions. diff --git a/docs/reference/sdks/client/web/angular.mdx b/docs/reference/sdks/client/web/angular.mdx index 98055758d..dcdc4af68 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 Mon Sep 21 2026 08:42:24 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:06 GMT+0000 (Coordinated Universal Time) -->

diff --git a/docs/reference/sdks/client/web/index.mdx b/docs/reference/sdks/client/web/index.mdx index 8a920fe19..8001a9263 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 Mon Sep 21 2026 08:42:23 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:05 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 5a995768e..9ce625e13 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 Mon Sep 21 2026 08:42:23 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:05 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/cpp.mdx b/docs/reference/sdks/server/cpp.mdx index 597a22895..57bf0c682 100644 --- a/docs/reference/sdks/server/cpp.mdx +++ b/docs/reference/sdks/server/cpp.mdx @@ -9,7 +9,7 @@ This content has been automatically generated from cpp-sdk. Edits should be made here: https://github.com/open-feature/cpp-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Mon Sep 21 2026 08:42:24 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:07 GMT+0000 (Coordinated Universal Time) -->

@@ -114,21 +114,21 @@ openfeature::OpenFeatureAPI& api = openfeature::OpenFeatureAPI::GetInstance(); // Set a global evaluation context openfeature::EvaluationContext global_ctx = openfeature::EvaluationContext::Builder() .WithAttribute("region", "us-east-1") - .build(); + .Build(); api.SetEvaluationContext(global_ctx); // Set a client-level evaluation context std::shared_ptr client = api.GetClient(); openfeature::EvaluationContext client_ctx = openfeature::EvaluationContext::Builder() .WithAttribute("app_version", "1.0.5") - .build(); + .Build(); client->SetEvaluationContext(client_ctx); // Provide an invocation-level evaluation context openfeature::EvaluationContext req_ctx = openfeature::EvaluationContext::Builder() .WithTargetingKey("session-id-12345") .WithAttribute("email", "user@example.com") - .build(); + .Build(); bool flag_value = client->GetBooleanValue("some-flag", false, req_ctx); ``` diff --git a/docs/reference/sdks/server/dart.mdx b/docs/reference/sdks/server/dart.mdx index d18cd18d4..025e78c90 100644 --- a/docs/reference/sdks/server/dart.mdx +++ b/docs/reference/sdks/server/dart.mdx @@ -9,16 +9,34 @@ This content has been automatically generated from dart-sdk. Edits should be made here: https://github.com/open-feature/dart-sdk Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs -Last updated at Mon Sep 21 2026 08:42:24 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:06 GMT+0000 (Coordinated Universal Time) --> +For typed provider event registration, late-handler behavior and compatibility +with existing streams, see [the event migration guide](https://github.com/open-feature/dart-sdk/blob/main/packages/openfeature_dart_server_sdk/doc/events-migration.md). +For reusable cleanup and experimental isolated API instances, see +[shutdown and isolation](https://github.com/open-feature/dart-sdk/blob/main/packages/openfeature_dart_server_sdk/doc/shutdown-and-isolation.md). +For experimental tracking and request context carriers, see +[tracking and transactions](https://github.com/open-feature/dart-sdk/blob/main/packages/openfeature_dart_server_sdk/doc/tracking-and-transactions.md). +Candidate requirement evidence and release gates are documented in the +[conformance report guide](https://github.com/open-feature/dart-sdk/blob/development/doc/server-conformance-evidence.md). +The candidate report does not declare full v0.9 conformance. + +New providers can implement a minimal resolver contract and opt into lifecycle, +hooks and tracking. See the [provider migration guide](https://github.com/open-feature/dart-sdk/blob/main/packages/openfeature_dart_server_sdk/doc/provider-capabilities-migration.md) +for the additive API and legacy lifecycle policy. + +Evaluation options now carry invocation hooks and immutable hints. See the +[hooks migration guide](https://github.com/open-feature/dart-sdk/blob/main/packages/openfeature_dart_server_sdk/doc/hooks-migration.md) for typed stage callbacks, +registration order and the compatibility decision for legacy priorities. +

Specification - - Release + + Release @@ -87,7 +105,7 @@ Dart language version: [3.12.2](https://dart.dev/get-dart/archive) ```yaml dependencies: - openfeature_dart_server_sdk: ^0.0.25 + openfeature_dart_server_sdk: ^0.0.26 ``` ### Then run diff --git a/docs/reference/sdks/server/dotnet.mdx b/docs/reference/sdks/server/dotnet.mdx index 6234320f2..0e4269c11 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 Mon Sep 21 2026 08:42:22 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:04 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 1ef767801..d2c98701f 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 Mon Sep 21 2026 08:42:22 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:04 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; @@ -19,8 +19,8 @@ import MCPInstall from '@site/src/partials/mcp-install'; Specification - - Release + + Release
diff --git a/docs/reference/sdks/server/java.mdx b/docs/reference/sdks/server/java.mdx index 3b892fbe9..c7af3adea 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 Mon Sep 21 2026 08:42:22 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:04 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; @@ -20,8 +20,8 @@ import MCPInstall from '@site/src/partials/mcp-install'; - - Release + + Release @@ -59,7 +59,7 @@ Note that this library is intended to be used in server-side contexts and has no dev.openfeature sdk - 1.22.1 + 1.23.0 ``` @@ -82,7 +82,7 @@ If you would like snapshot builds, this is the relevant repository information: ```groovy dependencies { - implementation 'dev.openfeature:sdk:1.22.1' + implementation 'dev.openfeature:sdk:1.23.0' } ``` diff --git a/docs/reference/sdks/server/javascript/index.mdx b/docs/reference/sdks/server/javascript/index.mdx index 451ea4a8c..066b3af60 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 Mon Sep 21 2026 08:42:22 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:04 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 3fbddfc65..7f42da35a 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 Mon Sep 21 2026 08:42:22 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:04 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 b589c8c9c..02e1efe3d 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 Mon Sep 21 2026 08:42:23 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:05 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 cba58c2e9..588523230 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 Mon Sep 21 2026 08:42:22 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:05 GMT+0000 (Coordinated Universal Time) --> import MCPInstall from '@site/src/partials/mcp-install'; diff --git a/docs/reference/sdks/server/ruby.mdx b/docs/reference/sdks/server/ruby.mdx index 4cd731c1c..6a5f17b3e 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 Mon Sep 21 2026 08:42:24 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:06 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 44374cd5e..cffae0435 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 Mon Sep 21 2026 08:42:24 GMT+0000 (Coordinated Universal Time) +Last updated at Thu Oct 01 2026 08:28:06 GMT+0000 (Coordinated Universal Time) -->

diff --git a/src/datasets/sdks/sdk-compatibility.json b/src/datasets/sdks/sdk-compatibility.json index 73efbc906..081ed19f4 100644 --- a/src/datasets/sdks/sdk-compatibility.json +++ b/src/datasets/sdks/sdk-compatibility.json @@ -4,8 +4,8 @@ "path": "/docs/reference/sdks/server/java", "category": "Server", "release": { - "href": "https://github.com/open-feature/java-sdk/releases/tag/v1.22.1", - "version": "1.22.1", + "href": "https://github.com/open-feature/java-sdk/releases/tag/v1.23.0", + "version": "1.23.0", "stable": true }, "spec": { @@ -184,8 +184,8 @@ "path": "/docs/reference/sdks/server/go", "category": "Server", "release": { - "href": "https://github.com/open-feature/go-sdk/releases/tag/v1.18.0", - "version": "1.18.0", + "href": "https://github.com/open-feature/go-sdk/releases/tag/v1.19.0", + "version": "1.19.0", "stable": true }, "spec": { @@ -420,8 +420,8 @@ "path": "/docs/reference/sdks/client/kotlin", "category": "Client", "release": { - "href": "https://github.com/open-feature/kotlin-sdk/releases/tag/v0.8.0", - "version": "0.8.0", + "href": "https://github.com/open-feature/kotlin-sdk/releases/tag/v0.9.0", + "version": "0.9.0", "stable": false }, "spec": { @@ -592,8 +592,8 @@ "path": "/docs/reference/sdks/server/dart", "category": "Server", "release": { - "href": "https://github.com/open-feature/dart-sdk/releases/tag/v0.0.25", - "version": "0.0.25", + "href": "https://github.com/open-feature/dart-sdk/releases/tag/v0.0.26", + "version": "0.0.26", "stable": false }, "spec": {