You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,13 @@ Unleash is a private, secure, and scalable [feature management platform](http
8
8
9
9
You can use this client with [Unleash Enterprise](https://www.getunleash.io/pricing?utm_source=readme&utm_medium=java) or [Unleash Open Source](https://github.com/Unleash/unleash).
10
10
11
-
> **Migrating to v10**
11
+
> **Migration guides**
12
12
>
13
-
> If you're using `MoreOperations`, custom or fallback strategies, subscribers or bootstrapping, please see the full [migration guide](v10_MIGRATION_GUIDE.md) for details. If you use GraalVM or Quarkus, please hold off on upgrading to v10, support is planned but not implemented.
13
+
> -[Migrating to v10](v10_MIGRATION_GUIDE.md)
14
+
> -[Migrating to v11](v11_MIGRATION_GUIDE.md)
15
+
> -[Migrating to v12](v12_MIGRATION_GUIDE.md)
16
+
>
17
+
> For ongoing updates, prefer v12. The latest patch releases of v10, v11, and v12 are currently aligned on the same optimized implementation path.
14
18
15
19
## Java Version Compatibility
16
20
@@ -110,21 +114,17 @@ You can also **provide an [Unleash context](https://docs.getunleash.io/reference
110
114
111
115
### Activation strategies
112
116
113
-
The Java client comes with implementations for the built-in activation strategies provided by Unleash:
117
+
The Java client supports Unleash built-in activation strategies (such as `default`, `userWithId`, `gradualRolloutRandom`, `gradualRolloutUserId`, `gradualRolloutSessionId`, `remoteAddress`, and `applicationHostname`).
114
118
115
-
- DefaultStrategy
116
-
- UserWithIdStrategy
117
-
- GradualRolloutRandomStrategy
118
-
- GradualRolloutUserWithIdStrategy
119
-
- GradualRolloutSessionIdStrategy
120
-
- RemoteAddressStrategy
121
-
- ApplicationHostnameStrategy
119
+
As of v10, these built-ins are evaluated by the embedded Yggdrasil engine and are not exposed as public Java strategy classes in this SDK.
122
120
123
121
Read more about the strategies in the [activation strategies reference documentation](https://docs.getunleash.io/reference/activation-strategies).
124
122
125
123
#### Custom strategies
126
-
You may also specify and implement your own strategy. The specification must be registered in the Unleash UI and
127
-
you must register the strategy implementation when you set up Unleash.
124
+
You may also specify and implement your own strategy. The specification must be registered in the Unleash UI and you must register the strategy implementation when you set up Unleash.
125
+
126
+
You can also provide a `fallbackStrategy` via `UnleashConfig` if the client receives a strategy
Copy file name to clipboardExpand all lines: v10_MIGRATION_GUIDE.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,17 @@
2
2
3
3
This guide highlights the key changes you need to be aware of when upgrading to v10.0.0 of the Unleash client.
4
4
5
+
## Version guidance
6
+
7
+
For ongoing updates, prefer v12.
8
+
9
+
The latest patch releases in v10, v11, and v12 are currently aligned on the same optimized
10
+
implementation path.
11
+
12
+
Early v11 introduced a WASM-engine direction that we later reverted in v11 patch releases.
13
+
14
+
If you need to stay on a specific major version, make sure you run the latest patch in that major.
15
+
5
16
## Custom bootstrapping
6
17
7
18
The Bootstrapping interface now requires an `Optional<String>` to be returned rather than a `String`. If the bootstrapper fails to load the feature set, return an `Optional` of empty.
@@ -16,6 +27,12 @@ The Bootstrapping interface now requires an `Optional<String>` to be returned ra
16
27
17
28
The strategy interface has changed to only include the two methods `getName` and `isEnabled`. `isEnabled` now requires both a parameter map and an `UnleashContext`. This only affects users who are implementing custom or fallback strategies.
18
29
30
+
Built-in strategy classes from `io.getunleash.strategy` (for example
31
+
`GradualRolloutRandomStrategy`, `GradualRolloutUserWithIdStrategy`, and
32
+
`GradualRolloutSessionIdStrategy`) are no longer part of the Java SDK public API in v10.
33
+
34
+
These strategies are evaluated internally by Yggdrasil. There is no class-for-class replacement to import for built-ins; use the built-ins via Unleash configuration, and implement `Strategy` only for custom or fallback behavior.
35
+
19
36
## Events
20
37
21
38
The following subscriber functions are no longer available: `togglesBackedUp`, `toggleBackupRestored`, and `togglesBootstrapped`. Subscribing to `featuresBackedUp`, `featuresBackupRestored`, and `featuresBootstrapped` respectively serves the same purpose. These subscribers no longer yield events that contain the full feature flag definition, instead, they expose a `getFeatures` method which returns a list of lightweight Java objects containing the feature name, the type of flag, and the project it's bound to.
0 commit comments