|
| 1 | +## 2.0.0-beta1 |
| 2 | +April 15th, 2018 |
| 3 | + |
| 4 | +This major release of the Optimizely SDK introduces APIs for Feature Management. It also introduces some breaking changes listed below. |
| 5 | + |
| 6 | +### New Features |
| 7 | +* Introduces the `isFeatureEnabled` API to determine whether to show a feature to a user or not. |
| 8 | +``` |
| 9 | +var enabled = optimizelyClient.isFeatureEnabled('my_feature_key', 'user_1', userAttributes); |
| 10 | +``` |
| 11 | + |
| 12 | +* You can also get all the enabled features for the user by calling: |
| 13 | +``` |
| 14 | +var enabledFeatures = optimizelyClient.getEnabledFeatures('user_1', userAttributes); |
| 15 | +``` |
| 16 | + |
| 17 | +* Introduces Feature Variables to configure or parameterize your feature. There are four variable types: `Integer`, `String`, `Double`, `Boolean`. |
| 18 | +``` |
| 19 | +var stringVariable = optimizelyClient.getFeatureVariableString('my_feature_key', 'string_variable_key', 'user_1'); |
| 20 | +var integerVariable = optimizelyClient.getFeatureVariableInteger('my_feature_key', 'integer_variable_key', 'user_1'); |
| 21 | +var doubleVariable = optimizelyClient.getFeatureVariableDouble('my_feature_key', 'double_variable_key', 'user_1'); |
| 22 | +var booleanVariable = optimizelyClient.getFeatureVariableBoolean('my_feature_key', 'boolean_variable_key', 'user_1'); |
| 23 | +``` |
| 24 | + |
| 25 | +### Breaking changes |
| 26 | +* 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. |
| 27 | +``` |
| 28 | +var eventTags = { |
| 29 | + 'revenue': 1200 |
| 30 | +}; |
| 31 | +
|
| 32 | +optimizelyClient.track('event_key', 'user_id', userAttributes, eventTags); |
| 33 | +``` |
| 34 | +* The package name has changed from `optimizely-client-sdk` to `optimizely-sdk` as we have consolidated both Node and JavaScript SDKs into one. |
| 35 | + |
| 36 | +## 1.6.0 |
| 37 | + |
| 38 | +* Bump optimizely-server-sdk to version 1.5.0, which includes: |
| 39 | + - Implemented IP anonymization. |
| 40 | + - Implemented bucketing IDs. |
| 41 | + - Implemented notification listeners. |
| 42 | + |
| 43 | +## 1.5.1 |
| 44 | +* Bump optimizely-server-sdk to version 1.4.2, which includes: |
| 45 | + - Bug fix to filter out undefined values in attributes and event tags |
| 46 | + - Remove a duplicated test |
| 47 | + |
| 48 | +## 1.5.0 |
| 49 | +* Bump optimizely-server-sdk to version 1.4.0, which includes: |
| 50 | + - Add support for numeric metrics. |
| 51 | + - Add getForcedVariation and setForcedVariation methods for client-side variation setting |
| 52 | + - Bug fix for filtering out null attribute and event tag values |
| 53 | + |
| 54 | +## 1.4.3 |
| 55 | +* Default skipJSONValidation to true |
| 56 | +* Bump optimizely-server-sdk to version 1.3.3, which includes: |
| 57 | + - Removed JSON Schema Validator from Optimizely constructor |
| 58 | + - Updated SDK to use new event endpoint |
| 59 | + - Minor bug fixes |
| 60 | + |
| 61 | +## 1.4.2 |
| 62 | +* Minor performance improvements. |
| 63 | + |
| 64 | +## 1.4.1 |
| 65 | +* Switched to karma/browserstack for cross-browser testing |
| 66 | +* Removed es6-promise |
| 67 | +* Bump optimizely-server-sdk to version 1.3.1, which includes: |
| 68 | + - Minor performance improvements. |
| 69 | + |
| 70 | +## 1.4.0 |
| 71 | +* Reduce lodash footprint. |
| 72 | +* Bump optimizely-server-sdk to version 1.3.0, which includes: |
| 73 | + - Introduced user profile service. |
| 74 | + - Minor performance and readibility improvements. |
| 75 | + |
| 76 | +## 1.3.5 |
| 77 | +* Bump optimizely-server-sdk to version 1.2.3, which includes: |
| 78 | + - Switched to json-schema library which has a smaller footprint. |
| 79 | + - Refactored order of bucketing logic. |
| 80 | + - Refactor lodash dependencies. |
| 81 | + - Fixed error on validation for objects with undefined values for attributes. |
| 82 | + |
| 83 | +## 1.3.4 |
| 84 | +* Bump optimizely-server-sdk to version 1.2.2, which includes: |
| 85 | + - Use the 'name' field for tracking event tags instead of 'id'. |
| 86 | + |
| 87 | +## 1.3.3 |
| 88 | +* Include index.js in package.json files to make sure it gets published regardless of node environment. |
| 89 | + |
| 90 | +## 1.3.2 |
| 91 | +* Bump to 1.3.2 to re-publish to npm |
| 92 | + |
| 93 | +## 1.3.1 |
| 94 | +* Bump optimizely-server-sdk to version 1.2.1, which includes: |
| 95 | + - Gracefully handle empty traffic allocation ranges. |
| 96 | + |
| 97 | +## 1.3.0 |
| 98 | +* Bump optimizely-server-sdk to version 1.2.0, which includes: |
| 99 | + - Introduce support for event tags. |
| 100 | + - Add optional eventTags argument to track method signature. |
| 101 | + - Removed optional eventValue argument from track method signature. |
| 102 | + - Removed optional sessionId argument from activate and track method signatures. |
| 103 | + - Allow log level config on createInstance method. |
| 104 | + |
| 105 | +## 1.2.2 |
| 106 | +* Remove .npmignore to consolidate with .gitignore. |
| 107 | +* Add dist and lib directories to "files" in package.json. |
| 108 | + |
| 109 | +## 1.2.1 |
| 110 | +* Fix webpack build error. |
| 111 | + |
| 112 | +## 1.2.0 |
| 113 | +* Bump optimizely-server-sdk to version 1.1.0, which includes: |
| 114 | + - Add optional sessionId argument to activate and track method signatures. |
| 115 | + - Add sessionId and revision to event ticket. |
| 116 | + - Add 'Launched' status where user gets bucketed but event is not sent to Optimizely. |
| 117 | + |
| 118 | +## 1.1.1 |
| 119 | +* Bump to optimizely-server-sdk to version 1.0.1, which includes: |
| 120 | + - Fix bug so conversion event is not sent if user is not bucketed into any experiment. |
| 121 | + - Bump bluebird version from 3.3.5 to 3.4.6. |
| 122 | + - Update event endpoint from p13nlog.dz.optimizely to logx.optimizely. |
| 123 | + |
| 124 | +## 1.1.0 |
| 125 | +* Add global variable name export for use in non-CommonJS environments |
| 126 | +* Remove redundant lodash core dependency to reduce bundle bloat |
| 127 | + |
| 128 | +## 1.0.0 |
| 129 | +* Introduce support for Full Stack projects in Optimizely X with no breaking changes from previous version. |
| 130 | +* Introduce more graceful exception handling in instantiation and core methods. |
| 131 | +* Update whitelisting to take precedence over audience condition evaluation. |
| 132 | +* Fix bug activating/tracking with attributes not in the datafile. |
| 133 | + |
| 134 | +## 0.1.4 |
| 135 | +* Add functionality for New Optimizely endpoint. |
| 136 | + |
| 137 | +## 0.1.3 |
| 138 | +* Add environment detection to event builder so it can distinguish between events sent from node or the browser. |
| 139 | + |
| 140 | +## 0.1.2 |
| 141 | +* Add CORS param to prevent browsers from logging cors errors in the console when dispatching events. |
| 142 | + |
| 143 | +## 0.1.1 |
| 144 | +* Remove percentageIncluded field from JSON schema, which is not needed. |
| 145 | + |
| 146 | +## 0.1.0 |
| 147 | +* Beta release of the Javascript SDK for our Optimizely testing solution |
0 commit comments