From a9a480d33f264157943787feb89990100bb6e19a Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 18 Mar 2022 11:28:54 +0100 Subject: [PATCH 1/4] docs: note the minimum SDK versions necessary for adv constraints Also formats the rest of the table to align with the new column content. Please ignore whitespace for this. --- website/docs/sdks/index.md | 102 ++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/website/docs/sdks/index.md b/website/docs/sdks/index.md index de67d19eaa4..25f1701fab4 100644 --- a/website/docs/sdks/index.md +++ b/website/docs/sdks/index.md @@ -49,57 +49,57 @@ If you see an item marked with a ❌ that you would find useful, feel free to re ::: -| Capability | [Java](/sdks/java_sdk) | [Node.js](/sdks/node_sdk) | [Go](/sdks/go_sdk) | [Python](/sdks/python_sdk) | [Ruby](/sdks/ruby_sdk) | [.NET](/sdks/dot_net_sdk) | [PHP](/sdks/php_sdk) | [Rust](https://github.com/unleash/unleash-client-rust) | [Unleash Proxy](unleash-proxy.md) | -|---------------------------------------------------------------------------------------------------|:----------------------:|:-------------------------:|:------------------:|:--------------------------:|:----------------------:|:-------------------------:|:--------------------:|:------------------------------------------------------:|:----------------------------------------:| -| **Category: Initialization** | | | | | | | | | | -| Async initialization | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | N/A | -| Can block until synchronized | ✅ | ✅ | ✅ | ⭕ | ⭕ | ✅ | ✅ | ⭕ | N/A | -| Default refresh interval | 10s | 15s | 15s | 15s | 15s | 30s | 30s | 15s | 5s | -| Default metrics interval | 60s | 60s | 60s | 60s | 60s | 60s | 30s | 15s | 30s | -| Context provider | ✅ | N/A | N/A | N/A | N/A | ✅ | ✅ | N/A | N/A | -| Global fallback function | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | N/A | -| Toggle Query: `namePrefix` | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | -| Toggle Query: `tags` | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | -| Toggle Query: `project_name` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | N/A | ⭕ | | -| **Category: Custom Headers** | | | | | | | | | | -| static | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | N/A | -| function | ✅ | ✅ | ⭕ | ✅ | ⭕ | ✅ | ✅ | ⭕ | N/A | -| **Category: Built-in strategies** | | | | | | | | | | -| [Standard](../user_guide/activation_strategy#standard) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| [Gradual rollout](../user_guide/activation_strategy#gradual-rollout) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| [Gradual rollout: custom stickiness](../user_guide/activation_strategy#customize-stickiness-beta) | ✅ | ✅ | ⭕ | ✅ | ✅ | ✅ | ✅ | ⭕ | | -| [UserID](../user_guide/activation_strategy#userids) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| [IP](../user_guide/activation_strategy#ips) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| [IP](../user_guide/activation_strategy#ips): CIDR syntax | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | ⭕ | ✅ | | -| [Hostname](../user_guide/activation_strategy#hostnames) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| **Category: [Custom strategies](../advanced/custom_activation_strategy)** | | | | | | | | | | -| Basic support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| **Category: [Strategy constraints](../advanced/strategy_constraints)** | | | | | | | | | | -| Basic support (`IN`, `NOT_IN` operators) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Advanced support (Semver, date, numeric and extended string operators) | ✅ | ✅ | ✅ | ✅ | ⭕ | ⭕ | ✅ | ⭕ | | -| **Category: [Unleash Context](../user_guide/unleash_context)** | | | | | | | | | | -| Static fields (`environment`, `appName`) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Defined fields | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Custom properties | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| **Category: [`isEnabled`](../client-specification#implementation-of-isenabled)** | | | | | | | | | | -| Can take context | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Override fallback value | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Fallback function | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | ⭕ | ⭕ | | -| **Category: [Variants](../advanced/toggle_variants)** | | | | | | | | | | -| Basic support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Custom fallback variant | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | | -| Custom weight | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | | -| [Custom stickiness (beta)](../advanced/stickiness#custom-stickiness-beta) | ✅ | ✅ | ⭕ | ✅ | ✅ | ✅ | ✅ | ⭕ | | -| **Category: Local backup** | | | | | | | | | | -| File based backup | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | | -| **Category: Usage metrics** | | | | | | | | | | -| Can disable metrics | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Client registration | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Basic usage metrics (yes/no) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| [Impression data](../advanced/impression-data.md) | ⭕ | ⭕ | ⭕ | ⭕ | ⭕ | ⭕ | ⭕ | ⭕ | N/A | -| **Category: Bootstrap (beta)** | | | | | | | | | | -| Bootstrap from file | ✅ | ✅ | ⭕ | ⭕ | ✅ | ⭕ | ✅ | ⭕ | ✅ | -| Custom Bootstrap implementation | ✅ | ✅ | ⭕ | ⭕ | ✅ | ⭕ | ✅ | ⭕ | ✅ | +| Capability | [Java](/sdks/java_sdk) | [Node.js](/sdks/node_sdk) | [Go](/sdks/go_sdk) | [Python](/sdks/python_sdk) | [Ruby](/sdks/ruby_sdk) | [.NET](/sdks/dot_net_sdk) | [PHP](/sdks/php_sdk) | [Rust](https://github.com/unleash/unleash-client-rust) | [Unleash Proxy](unleash-proxy.md) | +|------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------:|:-------------------------:|:------------------:|:--------------------------:|:----------------------:|:-------------------------:|:--------------------:|:------------------------------------------------------:|:---------------------------------:| +| **Category: Initialization** | | | | | | | | | | +| Async initialization | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | N/A | +| Can block until synchronized | ✅ | ✅ | ✅ | ⭕ | ⭕ | ✅ | ✅ | ⭕ | N/A | +| Default refresh interval | 10s | 15s | 15s | 15s | 15s | 30s | 30s | 15s | 5s | +| Default metrics interval | 60s | 60s | 60s | 60s | 60s | 60s | 30s | 15s | 30s | +| Context provider | ✅ | N/A | N/A | N/A | N/A | ✅ | ✅ | N/A | N/A | +| Global fallback function | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | N/A | +| Toggle Query: `namePrefix` | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | +| Toggle Query: `tags` | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | +| Toggle Query: `project_name` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | N/A | ⭕ | | +| **Category: Custom Headers** | | | | | | | | | | +| static | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | N/A | +| function | ✅ | ✅ | ⭕ | ✅ | ⭕ | ✅ | ✅ | ⭕ | N/A | +| **Category: Built-in strategies** | | | | | | | | | | +| [Standard](../user_guide/activation_strategy#standard) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| [Gradual rollout](../user_guide/activation_strategy#gradual-rollout) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| [Gradual rollout: custom stickiness](../user_guide/activation_strategy#customize-stickiness-beta) | ✅ | ✅ | ⭕ | ✅ | ✅ | ✅ | ✅ | ⭕ | | +| [UserID](../user_guide/activation_strategy#userids) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| [IP](../user_guide/activation_strategy#ips) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| [IP](../user_guide/activation_strategy#ips): CIDR syntax | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | ⭕ | ✅ | | +| [Hostname](../user_guide/activation_strategy#hostnames) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| **Category: [Custom strategies](../advanced/custom_activation_strategy)** | | | | | | | | | | +| Basic support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| **Category: [Strategy constraints](../advanced/strategy_constraints)** | | | | | | | | | | +| Basic support (`IN`, `NOT_IN` operators) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Advanced support (Semver, date, numeric and extended string operators) (introduced in) | ✅ (5.1.0) | ✅ (3.13.0) | ✅ (3.3.1) | ✅ (5.1.1) | ✅ (4.1.0) | ⭕ | ⭕ | ⭕ | ✅ (0.8.0) | +| **Category: [Unleash Context](../user_guide/unleash_context)** | | | | | | | | | | +| Static fields (`environment`, `appName`) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Defined fields | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Custom properties | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| **Category: [`isEnabled`](../client-specification#implementation-of-isenabled)** | | | | | | | | | | +| Can take context | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Override fallback value | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Fallback function | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | ⭕ | ⭕ | | +| **Category: [Variants](../advanced/toggle_variants)** | | | | | | | | | | +| Basic support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Custom fallback variant | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | | +| Custom weight | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | | +| [Custom stickiness (beta)](../advanced/stickiness#custom-stickiness-beta) | ✅ | ✅ | ⭕ | ✅ | ✅ | ✅ | ✅ | ⭕ | | +| **Category: Local backup** | | | | | | | | | | +| File based backup | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | | +| **Category: Usage metrics** | | | | | | | | | | +| Can disable metrics | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Client registration | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Basic usage metrics (yes/no) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| [Impression data](../advanced/impression-data.md) | ⭕ | ⭕ | ⭕ | ⭕ | ⭕ | ⭕ | ⭕ | ⭕ | N/A | +| **Category: Bootstrap (beta)** | | | | | | | | | | +| Bootstrap from file | ✅ | ✅ | ⭕ | ⭕ | ✅ | ⭕ | ✅ | ⭕ | ✅ | +| Custom Bootstrap implementation | ✅ | ✅ | ⭕ | ⭕ | ✅ | ⭕ | ✅ | ⭕ | ✅ | ## Community SDKs ❤️ {#community-sdks} From c999b4c43ead16ce9dc61ad5858156001adfb06a Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 18 Mar 2022 11:34:51 +0100 Subject: [PATCH 2/4] docs: add php support version for advanced constraints --- website/docs/sdks/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/sdks/index.md b/website/docs/sdks/index.md index 25f1701fab4..678787feda0 100644 --- a/website/docs/sdks/index.md +++ b/website/docs/sdks/index.md @@ -76,7 +76,7 @@ If you see an item marked with a ❌ that you would find useful, feel free to re | Basic support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | **Category: [Strategy constraints](../advanced/strategy_constraints)** | | | | | | | | | | | Basic support (`IN`, `NOT_IN` operators) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Advanced support (Semver, date, numeric and extended string operators) (introduced in) | ✅ (5.1.0) | ✅ (3.13.0) | ✅ (3.3.1) | ✅ (5.1.1) | ✅ (4.1.0) | ⭕ | ⭕ | ⭕ | ✅ (0.8.0) | +| Advanced support (Semver, date, numeric and extended string operators) (introduced in) | ✅ (5.1.0) | ✅ (3.13.0) | ✅ (3.3.1) | ✅ (5.1.1) | ✅ (4.1.0) | ⭕ | ✅ (1.3.0) | ⭕ | ✅ (0.8.0) | | **Category: [Unleash Context](../user_guide/unleash_context)** | | | | | | | | | | | Static fields (`environment`, `appName`) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | Defined fields | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | From e604b95e7d6a8472575bb9012bd8480ca59a9161 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 18 Mar 2022 13:55:31 +0100 Subject: [PATCH 3/4] docs: update min versions for node, python, ruby --- website/docs/sdks/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/sdks/index.md b/website/docs/sdks/index.md index 678787feda0..06c43f228e2 100644 --- a/website/docs/sdks/index.md +++ b/website/docs/sdks/index.md @@ -76,7 +76,7 @@ If you see an item marked with a ❌ that you would find useful, feel free to re | Basic support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | **Category: [Strategy constraints](../advanced/strategy_constraints)** | | | | | | | | | | | Basic support (`IN`, `NOT_IN` operators) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Advanced support (Semver, date, numeric and extended string operators) (introduced in) | ✅ (5.1.0) | ✅ (3.13.0) | ✅ (3.3.1) | ✅ (5.1.1) | ✅ (4.1.0) | ⭕ | ✅ (1.3.0) | ⭕ | ✅ (0.8.0) | +| Advanced support (Semver, date, numeric and extended string operators) (introduced in) | ✅ (5.1.0) | ✅ (3.12.0) | ✅ (3.3.1) | ✅ (5.1.0) | ✅ (4.2.0) | ⭕ | ✅ (1.3.0) | ⭕ | ✅ (0.8.0) | | **Category: [Unleash Context](../user_guide/unleash_context)** | | | | | | | | | | | Static fields (`environment`, `appName`) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | Defined fields | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | From b432ec87954e8a94e8a9db9b2eb97325d18a1a06 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 18 Mar 2022 14:23:26 +0100 Subject: [PATCH 4/4] docs: only list feature versions for constraint ops inclusion --- website/docs/sdks/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/sdks/index.md b/website/docs/sdks/index.md index 06c43f228e2..19895ac5177 100644 --- a/website/docs/sdks/index.md +++ b/website/docs/sdks/index.md @@ -76,7 +76,7 @@ If you see an item marked with a ❌ that you would find useful, feel free to re | Basic support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | **Category: [Strategy constraints](../advanced/strategy_constraints)** | | | | | | | | | | | Basic support (`IN`, `NOT_IN` operators) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | -| Advanced support (Semver, date, numeric and extended string operators) (introduced in) | ✅ (5.1.0) | ✅ (3.12.0) | ✅ (3.3.1) | ✅ (5.1.0) | ✅ (4.2.0) | ⭕ | ✅ (1.3.0) | ⭕ | ✅ (0.8.0) | +| Advanced support (Semver, date, numeric and extended string operators) (introduced in) | ✅ (5.1) | ✅ (3.12) | ✅ (3.3) | ✅ (5.1) | ✅ (4.2) | ⭕ | ✅ (1.3) | ⭕ | ✅ (0.8) | | **Category: [Unleash Context](../user_guide/unleash_context)** | | | | | | | | | | | Static fields (`environment`, `appName`) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | Defined fields | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |