Releases: optimizely/ruby-sdk
Releases · optimizely/ruby-sdk
Release 3.8.0
3.8.0
February 16th, 2021
New Features:
-
Introducing a new primary interface for retrieving feature flag status, configuration and associated experiment decisions for users (#274, #279). The new
OptimizelyUserContextclass is instantiated withcreate_user_contextand exposes the following APIs to getOptimizelyDecision:- set_attribute
- decide
- decide_all
- decide_for_keys
- track_event
-
For details, refer to our documentation page: https://docs.developers.optimizely.com/full-stack/v4.0/docs/ruby-sdk.
Release 3.7.0
Release 3.6.0
Release 3.5.0
3.5.0
July 9th, 2020
New Features:
- Add support for JSON feature variables (#251)
- Add support for authenticated datafiles (#255)
- Added support for authenticated datafiles.
HTTPProjectConfigManagernow acceptsdatafile_access_tokento be able to fetch authenticated datafiles. - Add support for proxy server for http config manager. (#262)
Bug Fixes:
Release 3.5.0-beta
Release 3.4.0
3.4.0
January 23rd, 2020
New Features:
- Added a new API to get project configuration static data.
- Call
get_optimizely_configto get a snapshot of project configuration static data. - It returns an
OptimizelyConfiginstance which includes a datafile revision number, all experiments, and feature flags mapped by their key values. - Added caching for
get_optimizely_config-OptimizelyConfigobject will be cached and reused for the lifetime of the datafile. - For details, refer to our documentation page: https://docs.developers.optimizely.com/full-stack/docs/optimizelyconfig-ruby.
- Call
Release 3.3.2
Release 3.3.1
3.3.1
October 10th, 2019
Bug Fixes:
- Include LICENSE file in built gem (#208) as per rubygems guidelines around license files.
Release 3.3.0
3.3.0
September 26th, 2019
New Features:
- Added non-typed
get_feature_variablemethod (#190) as a more idiomatic approach to getting values of feature variables.- Typed
get_feature_variablemethods will still be available for use.
- Typed
- Added support for event batching via the event processor.
- Events generated by methods like
activate,track, andis_feature_enabledwill be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be batched into a single payload and sent to the event dispatcher. - To configure event batching, set the
batch_sizeandflush_intervalproperties in theOptimizelyFactoryusingOptimizelyFactory.max_event_batch_size(batch_size, logger)andOptimizelyFactory.max_event_flush_interval(flush_interval, logger)and then createOptimizelyFactory.custom_instance. - Event batching is enabled by default.
batch_sizedefaults to10.flush_intervaldefaults to30000milliseconds. - Added the
closemethod representing the process of closing the instance. Whencloseis called, any events waiting to be sent as part of a batched event request will be immediately batched and sent to the event dispatcher.
Deprecated
EventBuilderwas deprecated and now we will be usingUserEventFactoryandEventFactoryto create logEvents.LogEventwas deprecated fromActivateandTracknotifications in favor of explicitLogEventnotification.
Release 3.2.0
3.2.0
July 25th, 2019
New Features:
- Added support for automatic datafile management via
HTTPProjectConfigManager:- The
HTTPProjectConfigManageris an implementation of the Interface
ProjectConfigManager.- Users must first build the
HTTPProjectConfigManagerwith an SDK key and then provide that instance to theOptimizelyinstance. - An initial datafile can be provided to the
HTTPProjectConfigManagerto bootstrap before making HTTP requests for the hosted datafile. - Requests for the datafile are made in a separate thread and are scheduled with fixed delay.
- Configuration updates can be subscribed to via the NotificationCenter built with the
HTTPProjectConfigManager. Optimizelyinstance must be disposed after the use orHTTPProjectConfigManagermust be disposed after the use to release resources.
- Users must first build the
- The
- The
OptimizelyFactoryprovides basic methods for instantiating the Optimizely SDK with a minimal number of parameters. CheckREADME.mdfor more details.