Evaluate in your application
Supported SDK versions
Find the first SDK and OpenFeature provider versions that support Featurevisor v4.
The versions below cover accumulating overrides, unified conditions, composed global variables and their overrides, the presence and emptiness operators and the array list operators.
includesAny and notIncludesAny use these same compatibility floors: JavaScript, Go, Python, PHP, Ruby and Swift 4.0.0, Java 5.0.0, Rust and Elixir 2.0.0. Check that every consumer is upgraded before publishing either operator. Native test checks with value or compareTo also need the corresponding CLI release.
| SDK | First version with v4 support | Package |
|---|---|---|
| JavaScript | 4.0.0 | @featurevisor/sdk |
| Go | 4.0.0 | github.com/featurevisor/featurevisor-go/v4 |
| Python | 4.0.0 | featurevisor |
| PHP | 4.0.0 | featurevisor/featurevisor-php |
| Ruby | 4.0.0 | featurevisor |
| Java | 5.0.0 | com.featurevisor:featurevisor-java |
| Swift | 4.0.0 | github.com/featurevisor/featurevisor-swift2 |
| Rust | 2.0.0 | featurevisor |
| Elixir | 2.0.0 | featurevisor |
Each OpenFeature provider has its own version:
| OpenFeature provider | SDK | First version with v4 support |
|---|---|---|
@featurevisor/openfeature-provider-node | JavaScript | 4.0.0 |
@featurevisor/openfeature-provider-web | JavaScript | 4.0.0 |
github.com/featurevisor/featurevisor-go/openfeature/v4 | Go | 4.0.0 |
featurevisor[openfeature] | Python | 4.0.0 |
featurevisor/featurevisor-php | PHP | 4.0.0 |
featurevisor-openfeature | Ruby | 4.0.0 |
com.featurevisor:featurevisor-openfeature | Java | 5.0.0 |
FeaturevisorOpenFeature | Swift | 4.0.0 |
featurevisor-openfeature | Rust | 2.0.0 |
featurevisor_openfeature | Elixir | 2.0.0 |
- Each language numbers its versions on its own, so Rust and Elixir support v4 from 2.0.0 and Java from 5.0.0.
- React and Vue.js follow the JavaScript SDK, and Kotlin uses the Java SDK.
- Swift ships its provider as a product of the same package, Python as an optional extra, and PHP inside the SDK itself. Each language's page shows how to install it.
- Running your project's tests with a native SDK runner needs the v4 CLI too.
Unified conditions#
Upgrade every consumer before publishing v4 CLI output. Generated datafiles use schemaVersion: "4", but v3 SDKs do not reject that version string. V3 SDKs do not understand v4 conditions, so rule based evaluation can stop matching or return unintended values. The version is informational and does not reject old SDK reads. V4 SDKs still read prepared v3 datafiles. Targets and stringify do not generate a v3 compatible format.
Composition support#
Composed global variables and composed overrides use the same v4 SDK and OpenFeature provider versions listed above.
Upgrade every consumer before publishing compositions, including offline applications, indirect dependencies, bundled fallbacks and cached datafiles. Pre-v4 SDKs can treat a composition as an ordinary variable with a missing default and return null or an application fallback. schemaVersion: "4" does not prove compatibility.
Keep separate compatible datafiles while older consumers remain. Targets select dependencies and do not translate compositions into ordinary values. The precomputeMutations setting cannot make composed overrides compatible with an older consumer.
To upgrade an application, follow the v4 migration guide.

