Skip to content

Commit 921e0d9

Browse files
(chore):Fix2.1.5 (#245)
* have the buffer reader call wrapped in a try catch in case of exception (#241) * update changelog for patch release (#244)
1 parent a85dac7 commit 921e0d9

File tree

2 files changed

+80
-5
lines changed

2 files changed

+80
-5
lines changed

Diff for: CHANGELOG.md

+71
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,76 @@
11
# Optimizely Java X SDK Changelog
22

3+
## 2.1.4
4+
5+
December 6th, 2018
6+
7+
### Bug Fixes
8+
* fix/wrap in try catch for getting build version in static init which might crash ([#241](https://github.com/optimizely/java-sdk/pull/241))
9+
10+
## 3.0.0-RC2
11+
12+
November 20th, 2018
13+
14+
This is the release candidate for the 3.0 SDK, which includes a number of improvements to audience targeting along with a few bug fixes.
15+
16+
### New Features
17+
* Support for number-valued and boolean-valued attributes. ([#213](https://github.com/optimizely/java-sdk/pull/213))
18+
* Support for audiences with new match conditions for attribute values, including “substring” and “exists” matches for strings; “greater than”, “less than”, exact, and “exists” matches for numbers; and “exact”, and “exists” matches for booleans.
19+
* Built-in datafile version compatibility checks so that SDKs will not initialize with a newer datafile it is not compatible with. ([#209](https://github.com/optimizely/java-sdk/pull/209))
20+
* Audience combinations within an experiment are unofficially supported in this release.
21+
* Refactor EventDispatcher to handle graceful shutdown via a call to AsyncEventHandler.shutdownAndAwaitTermination.
22+
23+
### Breaking Changes
24+
* Previously, notification listeners filtered non-string attribute values from the data passed to registered listeners. To support our growing list of supported attribute values, we’ve changed this behavior. Notification listeners will now post any value type passed as an attribute. Therefore, the interface of the notification listeners has changed to accept a `Map<String, ?>`.
25+
* Update to use Java 1.7 ([#208](https://github.com/optimizely/java-sdk/pull/208))
26+
27+
### Bug Fixes
28+
* refactor: Performance improvements for JacksonConfigParser ([#209](https://github.com/optimizely/java-sdk/pull/209))
29+
* refactor: typeAudience.combinations will not be string encoded like audience.combinations. To handle this we created a new parsing type TypedAudience.
30+
* fix for exact match when dealing with integers and doubles. Created a new Numeric match type.
31+
* make a copy of attributes passed in to avoid any concurrency problems. Addresses GitHub isue in Optimizely Andriod SDK.
32+
* allow single root node for audience.conditions, typedAudience.conditions, and Experiment.audienceCombinations.
33+
34+
## 3.0.0-RC
35+
36+
November 7th, 2018
37+
38+
This is the release candidate for the 3.0 SDK, which includes a number of improvements to audience targeting along with a few bug fixes.
39+
40+
### New Features
41+
* Support for number-valued and boolean-valued attributes. ([#213](https://github.com/optimizely/java-sdk/pull/213))
42+
* Support for audiences with new match conditions for attribute values, including “substring” and “exists” matches for strings; “greater than”, “less than”, exact, and “exists” matches for numbers; and “exact”, and “exists” matches for booleans.
43+
* Built-in datafile version compatibility checks so that SDKs will not initialize with a newer datafile it is not compatible with. ([#209](https://github.com/optimizely/java-sdk/pull/209))
44+
* Audience combinations within an experiment are unofficially supported in this release.
45+
46+
### Breaking Changes
47+
* Previously, notification listeners filtered non-string attribute values from the data passed to registered listeners. To support our growing list of supported attribute values, we’ve changed this behavior. Notification listeners will now post any value type passed as an attribute. Therefore, the interface of the notification listeners has changed to accept a `Map<String, ?>`.
48+
* Update to use Java 1.7 ([#208](https://github.com/optimizely/java-sdk/pull/208))
49+
50+
### Bug Fixes
51+
* refactor: Performance improvements for JacksonConfigParser ([#209](https://github.com/optimizely/java-sdk/pull/209))
52+
* refactor: typeAudience.combinations will not be string encoded like audience.combinations. To handle this we created a new parsing type TypedAudience.
53+
* fix for exact match when dealing with integers and doubles. Created a new Numeric match type.
54+
* make a copy of attributes passed in to avoid any concurrency problems. Addresses GitHub isue in Optimizely Andriod SDK.
55+
56+
## 3.0.0-alpha
57+
58+
October 10th, 2018
59+
60+
This is the alpha release of the 3.0 SDK, which includes a number of improvements to audience targeting along with a few bug fixes.
61+
62+
### New Features
63+
* Support for number-valued and boolean-valued attributes. ([#213](https://github.com/optimizely/java-sdk/pull/213))
64+
* Support for audiences with new match conditions for attribute values, including “substring” and “exists” matches for strings; “greater than”, “less than”, exact, and “exists” matches for numbers; and “exact”, and “exists” matches for booleans.
65+
* Built-in datafile version compatibility checks so that SDKs will not initialize with a newer datafile it is not compatible with. ([#209](https://github.com/optimizely/java-sdk/pull/209))
66+
67+
### Breaking Changes
68+
* Previously, notification listeners filtered non-string attribute values from the data passed to registered listeners. To support our growing list of supported attribute values, we’ve changed this behavior. Notification listeners will now post any value type passed as an attribute. Therefore, the interface of the notification listeners has changed to accept a `Map<String, ?>`.
69+
* Update to use Java 1.7 ([#208](https://github.com/optimizely/java-sdk/pull/208))
70+
71+
### Bug Fixes
72+
* refactor: Performance improvements for JacksonConfigParser ([#209](https://github.com/optimizely/java-sdk/pull/209))
73+
374
## 2.1.3
475

576
September 21st, 2018

Diff for: core-api/src/main/java/com/optimizely/ab/event/internal/BuildVersionInfo.java

+9-5
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,22 @@ public final class BuildVersionInfo {
3737

3838
public final static String VERSION = readVersionNumber();
3939
private static String readVersionNumber() {
40-
BufferedReader bufferedReader =
41-
new BufferedReader(
42-
new InputStreamReader(BuildVersionInfo.class.getResourceAsStream("/optimizely-build-version"),
43-
Charset.forName("UTF-8")));
40+
BufferedReader bufferedReader = null;
4441
try {
42+
bufferedReader =
43+
new BufferedReader(
44+
new InputStreamReader(BuildVersionInfo.class.getResourceAsStream("/optimizely-build-version"),
45+
Charset.forName("UTF-8")));
46+
4547
return bufferedReader.readLine();
4648
} catch (Exception e) {
4749
logger.error("unable to read version number");
4850
return "unknown";
4951
} finally {
5052
try {
51-
bufferedReader.close();
53+
if (bufferedReader != null) {
54+
bufferedReader.close();
55+
}
5256
} catch (Exception e) {
5357
logger.error("unable to close reader cleanly");
5458
}

0 commit comments

Comments
 (0)