Skip to content

Commit be515ba

Browse files
authored
Add release notes for the 2.0 beta. (#176)
1 parent db448a0 commit be515ba

File tree

1 file changed

+39
-3
lines changed

1 file changed

+39
-3
lines changed

CHANGELOG.md

+39-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,46 @@
11
# Optimizely Java X SDK Changelog
22

3+
## 2.0.0-beta6
4+
5+
March 29th, 2018
6+
7+
This major release of the Optimizely SDK introduces APIs for Feature Management. It also introduces some breaking changes listed below.
8+
9+
### New Features
10+
* Introduces the `isFeatureEnabled` API to determine whether to show a feature to a user or not.
11+
```
12+
Boolean enabled = optimizelyClient.isFeatureEnabled("my_feature_key", "user_1", userAttributes);
13+
```
14+
15+
* You can also get all the enabled features for the user by calling the following method which returns a list of strings representing the feature keys:
16+
```
17+
ArrayList<String> enabledFeatures = optimizelyClient.getEnabledFeatures("user_1", userAttributes);
18+
```
19+
20+
* Introduces Feature Variables to configure or parameterize your feature. There are four variable types: `Integer`, `String`, `Double`, `Boolean`.
21+
```
22+
String stringVariable = optimizelyClient.getFeatureVariableString("my_feature_key", "string_variable_key", "user_1");
23+
Integer integerVariable = optimizelyClient.getFeatureVariableInteger("my_feature_key", "integer_variable_key", "user_1");
24+
Double doubleVariable = optimizelyClient.getFeatureVariableDouble("my_feature_key", "double_variable_key", "user_1");
25+
Boolean booleanVariable = optimizelyClient.getFeatureVariableBoolean("my_feature_key", "boolean_variable_key", "user_1");
26+
```
27+
28+
### Breaking changes
29+
* The `track` API with revenue value as a stand-alone parameter has been removed. The revenue value should be passed in as an entry of the event tags map. The key for the revenue tag is `revenue` and will be treated by Optimizely as the key for analyzing revenue data in results.
30+
```
31+
Map<String, Object> eventTags = new HashMap<String, Object>();
32+
33+
// reserved "revenue" tag
34+
eventTags.put("revenue", 6432);
35+
36+
optimizelyClient.track("event_key", "user_id", userAttributes, eventTags);
37+
```
38+
339
## 1.9.0
440

541
January 30, 2018
642

7-
This release adds support for bucketing id (By passing in `$opt_bucketing_id` in the attribute map to override the user id as the bucketing variable. This is useful when wanting a set of users to share the same experience such as two players in a game).
43+
This release adds support for bucketing id (By passing in `$opt_bucketing_id` in the attribute map to override the user id as the bucketing variable. This is useful when wanting a set of users to share the same experience such as two players in a game).
844

945
This release also depricates the old notification broadcaster in favor of a notification center that supports a wide range of notifications. The notification listener is now registered for the specific notification type such as ACTIVATE and TRACK. This is accomplished by allowing for a variable argument call to notify (a new var arg method added to the NotificationListener). Specific abstract classes exist for the associated notification type (ActivateNotification and TrackNotification). These abstract classes enforce the strong typing that exists in Java. You may also add custom notification types and fire them through the notification center. The notification center is implemented using this var arg approach in all Optimizely SDKs.
1046

@@ -31,7 +67,7 @@ This is a patch release for 1.8.0. It contains two bug fixes mentioned below.
3167
### Bug Fixes
3268
SDK returns NullPointerException when activating with unknown attribute.
3369

34-
Pooled connection times out if it is idle for a long time (AsyncEventHandler's HttpClient uses PoolingHttpClientConnectionManager setting a validate interval).
70+
Pooled connection times out if it is idle for a long time (AsyncEventHandler's HttpClient uses PoolingHttpClientConnectionManager setting a validate interval).
3571

3672
## 2.0.0 Beta 2
3773
October 5, 2017
@@ -66,7 +102,7 @@ You can now use feature flags in the Java SDK. You can experiment on features an
66102
- Remove track with revenue as a parameter. Pass the revenue value as an event tag instead
67103
- `track(String, String, long)`
68104
- `track(String, String, Map<String, String>, long)`
69-
- We will no longer run all unit tests in travis-ci against Java 7.
105+
- We will no longer run all unit tests in travis-ci against Java 7.
70106
We will still continue to set `sourceCompatibility` and `targetCompatibility` to 1.6 so that we build for Java 6.
71107

72108
## 1.8.0

0 commit comments

Comments
 (0)