diff --git a/CHANGELOG.md b/CHANGELOG.md index e60fcf23..41a87bfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,36 @@ +## 2.0.0b1 +March 29th, 2018 + +This beta release introduces APIs for Feature Management. It also introduces some breaking changes listed below. + +### New Features +- Introduced the `is_feature_enabled` API to determine whether to show a feature to a user or not. +``` +is_enabled = optimizel_client.is_feature_enabled('my_feature_key', 'my_user', user_attributes) +``` + +- All enabled features for the user can be retrieved by calling: +``` +enabled_feature = optimizely_client.get_enabled_features('my_user', user_attributes) +``` + +- Introduced Feature Variables to configure or parameterize a feature. There are four variable types: `String`, `Integer`, `Double`, `Boolean`. +``` +string_variable = optimizely_client.get_feature_variable_string('my_feature_key', 'string_variable_key', 'my_user') +integer_variable = optimizely_client.get_feature_variable_integer('my_feature_key', 'integer_variable_key', 'my_user') +double_variable = optimizely_client.get_feature_variable_double('my_feature_key', 'double_variable_key', 'my_user') +boolean_variable = optimizely_client.get_feature_variable_boolean('my_feature_key', 'boolean_variable_key', 'my_user') +``` + +### 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 in the event tags dict. The key for the revenue tag is `revenue` and the passed in value will be treated by Optimizely as the value for computing results. +``` +event_tags = { + 'revenue': 1200 +} + +optimizely_client.track('event_key', 'my_user', user_attributes, event_tags) + ## 1.4.0 - Added support for IP anonymization. - Added support for notification listeners.