diff --git a/.travis.yml b/.travis.yml index ae373bb3b..2f61b33f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,9 +10,9 @@ branches: env: global: # BROWSER_STACK_USERNAME - - secure: OyWUgwuPAxKaf8X627DjZDkp+h5uvLntJYcMTtq4FUTaokKBk7UbNs5MW2pP1rbzHIqEQDuj3WneuODMYpumH/gq9wwFSNgZipHzSbKUWMOPW3njIuN6N9ikkzVijEUh2ljK4wC3BVOWfaatR4J/KTpQTaJ6LanOabCo2StB70bGxfFvrHAAfRAAAGjVyAPovCcuDI4glfdEQa0H95iTKxCpPK9/oDDZCC8pyjHhb7zVin/D2JDPSVlEmiUPanTP3L//ICLKcdL/v3W5b4Sh1nuKFsHMxEXAPTl7/oTkG7hAcIILBmKhQz58P/rgmjSkz5GvC4CbwSOJigQAY7AUTZuW0SYWQh95TiaIXwVMnHSG5ZZiyGgeG8bpQJjn5yAiUViZHHGI7MUUvfxpFFYss2pS/gOWi21Qb5qXrb5qlPWmTLpxhQ6VOTYem/1/KeBIpSwP4+6qjDV+BYZYdrx+YbB4NEdDXGvHvt2gDXc1UhaPfBegWcyoC65iawsKrgTtID0Au+4hwvuZu3o6D0JCh2604+rHMD7OK9pjGjH5FiTI0eY0qhF6Nq3hg2l3GUpkgGH9UNWs6Hs/dJ2fFF34fE9Ki/2c6hZDmYxWqOC8oO5I39ECUq+pG31WdfSmIw9LcgA2AqxqbkXdBK7eYvNXRdg+QQcEx31Yvm5oCsc4lLE= + - secure: WnyM4gMsi2n69O/YZUD/pYwHJXdKDcBv3Hwft2cCw52yYc+z75uuRgdaLKs4BPisckBtnR17dH7hKlPX3HWwjCoqQm1q5qNpbJrArWaEcbotWGF2YFy21ZZ4rKNQmJqdgRj6XFZhLHbncA8v2gQPK7F6GUJ0vsJF/kiTfxAUjefR23oorcKSQrh9BfOxNAYu2Ma92qlaaMmHYbBdlNDM45/EQE+LnPCfboCiJD/5zTYq4Q+XhKLPV01vUDU60pj9ckDNXyLj9X2BwMbAzGAPGE4qTAB/IrMndVsUXblsahtwKQ6yrsUrsdTASz8/3oNkImtY7fqU874jSeG3d7PNBfZs47zkXEVy73ZWNBgM9rzVS5cPaIU3wqpuBoXFntDJcdHQhNTWEYdxmtcTUmxKt5TdUzDhrrkcti2WVLabU3N52aOBeOM0XBpfLkbV+HT6oWi3bNUb+EDMHvCxOxsP4IoEDfFs9HMzNIO3mmC3+2DFbI7s2Mb2oacAut38MbJDYSDTOLL4smG8scA3E0RQO4r8+TNk4aRIMQc7vCKqz7PpbO7Aj9dXSpeHrDmIszSmEoQqmaaGsRBwbXRom2P8fB9FcTbd/wbsfgoFNEPz5DlbtCtCmt0pQMa+3myWveKH52WC5KlFijBSDjYOMUnXbLnj5fK5eKaWp+z6/qcNwU8= # BROWSER_STACK_ACCESS_KEY - - secure: PkWLvFy3SKHXGxKfc4RMTao036tUkYd6lGbHE+I/qgbLG2auZca+q9aHaxvnbIkMOWTcIHrCPRzvIY1Alq2LyH3OziHR5u1I9MA+TIKTpcaZzSXh5qlELwMCOQnEmwJyqAIuQNq0MGiEMhRzKej1yuC7aUnSk+QJJf4vgUNsPU7qfEPXQEVSVmLMgWr/0aIxcqeB0JB+NTNJGDcTJrwvwH9K5zGW19pAIIbwYHLJ2eFth6c9FfCPTfLmbpC0yWujMVea1N6Tbo46aUoFEGE1/wgercJW88AXXiK9Wa2S+801Em4UvERt1wH3k+iRTZTUbia9Bs3KPdYeyiBIoejWiES2zk4U2BVQaHWRO3vR90En7M9f7DoCzDLklOg2ZvSeLQ8XmX/979iIdGMUmVGW5WffYj+O2piWnaPVPeS5VsUPfZFoFfnIDHkTAtI5eDxkpuyKDqJpQr+fM5K4w9A9G0wBDDOIoBVpqjUo3OK7PyUBRyhA3AesK/4E0iWtmIEK3IQRyzVrL9ifwmTA0ikrHIBETslcYF78qUOVXwn+VYyZhJHlakG6SOGWwOl92cZcEf9wGRP8hFgB5f4kZITgNQMRzj/x/K+YPLG4+8V9DBKXYrd6uUaItJ78pE6zdMS3BCduds98FqfsYNn7kfa1CRXtJ3M/SC6ZAFjE/8lhEcg= + - secure: U0GGZw46rJowBtH9gVluIrerB40u2b3uZpH0HsOdLlsXCCaTVk4JXX/JPVPashWAFLC7Enk3UOE4ofeEpVd0wbG6CxtG9/gklc2U2tvkqsdPpFZKaRrXoUzCyyPOmHEC2mXDXctbrncmttM4APaceRfbdTBEZIIfyLJadomjWylA61szFE9IZjvJpiwJO2xa5HI9GVRu3yXJci+riJux+JsDmfJ1hNwv3waMeeg/scddUH0hfgq69ftGs8cpMlYiO20eh32S7uPF7/IJTH1fDJjVKYQZwpypkF6AeI+od5CFTY1ajb25eaBNXThLS0Bo9ZJE/8Sogvon21dEJkt/ClY6R341InbAFXZvz7jyQAisvh0I4zxcu0VUCfh7bEUl6GXMO8VJnyxHEfqB+AIT2RoMXckkhulwiNUsJYH1yJ8mjnLvZq85mWBCp4n4jg0K6Wf46lHpjnHOVpLyLyoFGfiPf90AQVL02AJ3/ia8RkMuj0Ax+AGtiTC/+wy7dsDQOif/VpBNJcx/RciQ24mYOGzAMh4GsUWnXaZ9vXSxliogVNrmIefK5invJ0omv9pIx8NZHTHYGaulh4w6JsliiEq2kH78SlyvSrcsFGTwCY97LLaxiLm/75/Zf+F7LajKC23Fbtnj/LQizitFZqGMJ09DnR52krBAeultqRq8QLM= before_script: - npm install grunt-cli -g install: npm install diff --git a/packages/optimizely-sdk/CHANGELOG b/packages/optimizely-sdk/CHANGELOG deleted file mode 100644 index bc5f2ace4..000000000 --- a/packages/optimizely-sdk/CHANGELOG +++ /dev/null @@ -1,188 +0,0 @@ -------------------------------------------------------------------------------- -2.0.0-beta1 -------------------------------------------------------------------------------- -* Consolidate JS and Node repos and packages into one. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.6.0 -------------------------------------------------------------------------------- -* Bump optimizely-server-sdk to version 1.5.0, which includes: - - Implemented IP anonymization. - - Implemented bucketing IDs. - - Implemented notification listeners. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.5.1 -------------------------------------------------------------------------------- -* Bump optimizely-server-sdk to version 1.4.2, which includes: - - Bug fix to filter out undefined values in attributes and event tags - - Remove a duplicated test -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.5.0 -------------------------------------------------------------------------------- -* Bump optimizely-server-sdk to version 1.4.0, which includes: - - Add support for numeric metrics. - - Add getForcedVariation and setForcedVariation methods for client-side variation setting - - Bug fix for filtering out null attribute and event tag values -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.4.3 -------------------------------------------------------------------------------- -* Default skipJSONValidation to true -* Bump optimizely-server-sdk to version 1.3.3, which includes: - - Removed JSON Schema Validator from Optimizely constructor - - Updated SDK to use new event endpoint - - Minor bug fixes -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.4.2 -------------------------------------------------------------------------------- -* Minor performance improvements. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.4.1 -------------------------------------------------------------------------------- -* Switched to karma/browserstack for cross-browser testing -* Removed es6-promise -* Bump optimizely-server-sdk to version 1.3.1, which includes: - - Minor performance improvements. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.4.0 -------------------------------------------------------------------------------- -* Reduce lodash footprint. -* Bump optimizely-server-sdk to version 1.3.0, which includes: - - Introduced user profile service. - - Minor performance and readibility improvements. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.3.5 -------------------------------------------------------------------------------- -* Bump optimizely-server-sdk to version 1.2.3, which includes: - - Switched to json-schema library which has a smaller footprint. - - Refactored order of bucketing logic. - - Refactor lodash dependencies. - - Fixed error on validation for objects with undefined values for attributes. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.3.4 -------------------------------------------------------------------------------- -* Bump optimizely-server-sdk to version 1.2.2, which includes: - - Use the 'name' field for tracking event tags instead of 'id'. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.3.3 -------------------------------------------------------------------------------- -* Include index.js in package.json files to make sure it gets published regardless of node environment. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.3.2 -------------------------------------------------------------------------------- -* Bump to 1.3.2 to re-publish to npm -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.3.1 -------------------------------------------------------------------------------- -* Bump optimizely-server-sdk to version 1.2.1, which includes: - - Gracefully handle empty traffic allocation ranges. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.3.0 -------------------------------------------------------------------------------- -* Bump optimizely-server-sdk to version 1.2.0, which includes: - - Introduce support for event tags. - - Add optional eventTags argument to track method signature. - - Removed optional eventValue argument from track method signature. - - Removed optional sessionId argument from activate and track method signatures. - - Allow log level config on createInstance method. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.2.2 -------------------------------------------------------------------------------- -* Remove .npmignore to consolidate with .gitignore. -* Add dist and lib directories to "files" in package.json. - -------------------------------------------------------------------------------- -1.2.1 -------------------------------------------------------------------------------- -* Fix webpack build error. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.2.0 -------------------------------------------------------------------------------- -* Bump optimizely-server-sdk to version 1.1.0, which includes: - - Add optional sessionId argument to activate and track method signatures. - - Add sessionId and revision to event ticket. - - Add 'Launched' status where user gets bucketed but event is not sent to Optimizely. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.1.1 -------------------------------------------------------------------------------- -* Bump to optimizely-server-sdk to version 1.0.1, which includes: - - Fix bug so conversion event is not sent if user is not bucketed into any experiment. - - Bump bluebird version from 3.3.5 to 3.4.6. - - Update event endpoint from p13nlog.dz.optimizely to logx.optimizely. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.1.0 -------------------------------------------------------------------------------- -* Add global variable name export for use in non-CommonJS environments -* Remove redundant lodash core dependency to reduce bundle bloat -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -1.0.0 -------------------------------------------------------------------------------- -* Introduce support for Full Stack projects in Optimizely X with no breaking changes from previous version. -* Introduce more graceful exception handling in instantiation and core methods. -* Update whitelisting to take precedence over audience condition evaluation. -* Fix bug activating/tracking with attributes not in the datafile. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -0.1.4 -------------------------------------------------------------------------------- -* Add functionality for New Optimizely endpoint. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -0.1.3 -------------------------------------------------------------------------------- -* Add environment detection to event builder so it can distinguish between events sent from node or the browser. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -0.1.2 -------------------------------------------------------------------------------- -* Add CORS param to prevent browsers from logging cors errors in the console when dispatching events. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -0.1.1 -------------------------------------------------------------------------------- -* Remove percentageIncluded field from JSON schema, which is not needed. -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -0.1.0 -------------------------------------------------------------------------------- -* Beta release of the Javascript SDK for our Optimizely testing solution -------------------------------------------------------------------------------- diff --git a/packages/optimizely-sdk/CHANGELOG.MD b/packages/optimizely-sdk/CHANGELOG.MD new file mode 100644 index 000000000..87de87d60 --- /dev/null +++ b/packages/optimizely-sdk/CHANGELOG.MD @@ -0,0 +1,147 @@ +## 2.0.0-beta1 +April 15th, 2018 + +This major release of the Optimizely SDK introduces APIs for Feature Management. It also introduces some breaking changes listed below. + +### New Features +* Introduces the `isFeatureEnabled` API to determine whether to show a feature to a user or not. +``` +var enabled = optimizelyClient.isFeatureEnabled('my_feature_key', 'user_1', userAttributes); +``` + +* You can also get all the enabled features for the user by calling: +``` +var enabledFeatures = optimizelyClient.getEnabledFeatures('user_1', userAttributes); +``` + +* Introduces Feature Variables to configure or parameterize your feature. There are four variable types: `Integer`, `String`, `Double`, `Boolean`. +``` +var stringVariable = optimizelyClient.getFeatureVariableString('my_feature_key', 'string_variable_key', 'user_1'); +var integerVariable = optimizelyClient.getFeatureVariableInteger('my_feature_key', 'integer_variable_key', 'user_1'); +var doubleVariable = optimizelyClient.getFeatureVariableDouble('my_feature_key', 'double_variable_key', 'user_1'); +var booleanVariable = optimizelyClient.getFeatureVariableBoolean('my_feature_key', 'boolean_variable_key', 'user_1'); +``` + +### Breaking changes +* 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. +``` +var eventTags = { + 'revenue': 1200 +}; + +optimizelyClient.track('event_key', 'user_id', userAttributes, eventTags); +``` +* The package name has changed from `optimizely-client-sdk` to `optimizely-sdk` as we have consolidated both Node and JavaScript SDKs into one. + +## 1.6.0 + +* Bump optimizely-server-sdk to version 1.5.0, which includes: + - Implemented IP anonymization. + - Implemented bucketing IDs. + - Implemented notification listeners. + +## 1.5.1 +* Bump optimizely-server-sdk to version 1.4.2, which includes: + - Bug fix to filter out undefined values in attributes and event tags + - Remove a duplicated test + +## 1.5.0 +* Bump optimizely-server-sdk to version 1.4.0, which includes: + - Add support for numeric metrics. + - Add getForcedVariation and setForcedVariation methods for client-side variation setting + - Bug fix for filtering out null attribute and event tag values + +## 1.4.3 +* Default skipJSONValidation to true +* Bump optimizely-server-sdk to version 1.3.3, which includes: + - Removed JSON Schema Validator from Optimizely constructor + - Updated SDK to use new event endpoint + - Minor bug fixes + +## 1.4.2 +* Minor performance improvements. + +## 1.4.1 +* Switched to karma/browserstack for cross-browser testing +* Removed es6-promise +* Bump optimizely-server-sdk to version 1.3.1, which includes: + - Minor performance improvements. + +## 1.4.0 +* Reduce lodash footprint. +* Bump optimizely-server-sdk to version 1.3.0, which includes: + - Introduced user profile service. + - Minor performance and readibility improvements. + +## 1.3.5 +* Bump optimizely-server-sdk to version 1.2.3, which includes: + - Switched to json-schema library which has a smaller footprint. + - Refactored order of bucketing logic. + - Refactor lodash dependencies. + - Fixed error on validation for objects with undefined values for attributes. + +## 1.3.4 +* Bump optimizely-server-sdk to version 1.2.2, which includes: + - Use the 'name' field for tracking event tags instead of 'id'. + +## 1.3.3 +* Include index.js in package.json files to make sure it gets published regardless of node environment. + +## 1.3.2 +* Bump to 1.3.2 to re-publish to npm + +## 1.3.1 +* Bump optimizely-server-sdk to version 1.2.1, which includes: + - Gracefully handle empty traffic allocation ranges. + +## 1.3.0 +* Bump optimizely-server-sdk to version 1.2.0, which includes: + - Introduce support for event tags. + - Add optional eventTags argument to track method signature. + - Removed optional eventValue argument from track method signature. + - Removed optional sessionId argument from activate and track method signatures. + - Allow log level config on createInstance method. + +## 1.2.2 +* Remove .npmignore to consolidate with .gitignore. +* Add dist and lib directories to "files" in package.json. + +## 1.2.1 +* Fix webpack build error. + +## 1.2.0 +* Bump optimizely-server-sdk to version 1.1.0, which includes: + - Add optional sessionId argument to activate and track method signatures. + - Add sessionId and revision to event ticket. + - Add 'Launched' status where user gets bucketed but event is not sent to Optimizely. + +## 1.1.1 +* Bump to optimizely-server-sdk to version 1.0.1, which includes: + - Fix bug so conversion event is not sent if user is not bucketed into any experiment. + - Bump bluebird version from 3.3.5 to 3.4.6. + - Update event endpoint from p13nlog.dz.optimizely to logx.optimizely. + +## 1.1.0 +* Add global variable name export for use in non-CommonJS environments +* Remove redundant lodash core dependency to reduce bundle bloat + +## 1.0.0 +* Introduce support for Full Stack projects in Optimizely X with no breaking changes from previous version. +* Introduce more graceful exception handling in instantiation and core methods. +* Update whitelisting to take precedence over audience condition evaluation. +* Fix bug activating/tracking with attributes not in the datafile. + +## 0.1.4 +* Add functionality for New Optimizely endpoint. + +## 0.1.3 +* Add environment detection to event builder so it can distinguish between events sent from node or the browser. + +## 0.1.2 +* Add CORS param to prevent browsers from logging cors errors in the console when dispatching events. + +## 0.1.1 +* Remove percentageIncluded field from JSON schema, which is not needed. + +## 0.1.0 +* Beta release of the Javascript SDK for our Optimizely testing solution