diff --git a/website/docs/reference/activation-strategies.md b/website/docs/reference/activation-strategies.md index fbf3ea33dd..884ff633aa 100644 --- a/website/docs/reference/activation-strategies.md +++ b/website/docs/reference/activation-strategies.md @@ -56,10 +56,11 @@ This strategy has the following modelling name in the code: - **flexibleRollout** -### Custom stickiness (beta) {#custom-stickiness} +### Custom stickiness {#custom-stickiness} -:::note -This feature is currently in beta and is not yet supported by all our SDKs. Check out the [SDK compatibility table](../reference/sdks/index.md#server-side-sdk-compatibility-table) to see what SDKs support it at the moment. +:::note SDK compatibility + +Custom stickiness is supported by all of our SDKs except for the Rust SDK. You can always refer to the [SDK compatibility table](../reference/sdks/index.md#server-side-sdk-compatibility-table) for the full overview. ::: diff --git a/website/docs/reference/stickiness.md b/website/docs/reference/stickiness.md index f1beff318b..94ac1342f2 100644 --- a/website/docs/reference/stickiness.md +++ b/website/docs/reference/stickiness.md @@ -16,7 +16,7 @@ Because the number assigned to a user won't change, Unleash also guarantees that For instance: When using the [gradual rollout activation strategy](../reference/activation-strategies.md#gradual-rollout), any user whose number is less than or equal to the rollout percentage will see the feature. This means that the same users will keep seeing the feature even as you increase the percentage of your user base that sees the feature. -## Custom stickiness (beta) {#custom-stickiness} +## Custom stickiness {#custom-stickiness} :::info Custom stickiness is available starting from Unleash Enterprise v4. @@ -24,8 +24,10 @@ Custom stickiness is available starting from Unleash Enterprise v4. When using [the gradual rollout strategy](../reference/activation-strategies.md#gradual-rollout) or [feature toggle variants](./feature-toggle-variants.md), you can use parameters other than the user id to calculate stickiness. More specifically, you can use any field, custom or otherwise, of the [Unleash Context](../reference/unleash-context.md) as long as you have enabled custom stickiness for these fields. -:::note -This feature is currently in beta and is not yet supported by all our SDKs. Check out the [SDK compatibility table](../reference/sdks/index.md#server-side-sdk-compatibility-table) to see what SDKs support it at the moment. +:::note SDK compatibility + +Custom stickiness is supported by all of our SDKs except for the Rust SDK. You can always refer to the [SDK compatibility table](../reference/sdks/index.md#server-side-sdk-compatibility-table) for the full overview. + ::: ### Enabling custom stickiness @@ -33,3 +35,21 @@ This feature is currently in beta and is not yet supported by all our SDKs. Chec To enable custom stickiness on a field, navigate to the Create Context screen in the UI and find the field you want to enable. There's a "Custom stickiness" option at the bottom of the form. Enable this toggle and update the context field by pressing the "Update" button. ![The Create Context screen in the Unleash UI. There's a toggle at the bottom to control custom stickiness.](/img/enable_custom_stickiness.png) + +## Project default stickiness + +:::info Availability + +Project default stickiness was introduced in **Unleash v5**. + +::: + +Each project in Unleash can have its own default stickiness context field. Whenever you add a gradual rollout strategy or variants to a feature in that project, Unleash will use the configured context field as the initial value. + +Only context fields that have the [custom stickiness](unleash-context.md#custom-stickiness) option turned on can be used as default stickiness fields. + +If you don't specify a default custom stickiness, the project will use the "default" stickiness option, which works as described in the [calculation section](#calculation). + +You can configure project default stickiness when you create a project or by editing the project later. + +![The Edit Project screen. There is a dropdown for setting the default stickiness](/img/project_default_stickiness.png) diff --git a/website/docs/reference/unleash-context.md b/website/docs/reference/unleash-context.md index 53182897ad..90a9fcfb1e 100644 --- a/website/docs/reference/unleash-context.md +++ b/website/docs/reference/unleash-context.md @@ -69,8 +69,10 @@ Using a custom context field called _region_ as an example: if you define the fi ### Custom stickiness -:::note -This feature is currently in beta and is not yet supported by all our SDKs. Check out the [SDK compatibility table](../reference/sdks/index.md#server-side-sdk-compatibility-table) to see what SDKs support it at the moment. +:::note SDK compatibility + +Custom stickiness is supported by all of our SDKs except for the Rust SDK. You can always refer to the [SDK compatibility table](../reference/sdks/index.md#server-side-sdk-compatibility-table) for the full overview. + ::: Any context field _can_ be used to [calculate custom stickiness](../reference/stickiness.md#custom-stickiness). However, you need to explicitly tell Unleash that you want a field to be used for custom stickiness for it to be possible. You can enable this functionality either when you create the context field or at any later point. For steps on how to do this, see [the _How to define custom context fields_ guide](../how-to/how-to-define-custom-context-fields). diff --git a/website/static/img/project_default_stickiness.png b/website/static/img/project_default_stickiness.png new file mode 100644 index 0000000000..be8f79f07c Binary files /dev/null and b/website/static/img/project_default_stickiness.png differ