Skip to content

Releases: optimizely/ruby-sdk

Release 3.8.1

02 Aug 21:30

Choose a tag to compare

3.8.1

August 2nd, 2021

Bug Fixes:

  • Fixed duplicate experiment key issue with multiple feature flags. While trying to get variation from the variationKeyMap, it was unable to find because the latest experimentKey was overriding the previous one. (#282)

Release 3.8.0

16 Feb 23:32
b394e9c

Choose a tag to compare

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 OptimizelyUserContext class is instantiated with create_user_context and exposes the following APIs to get OptimizelyDecision:

    • 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

20 Nov 20:19
9da6a58

Choose a tag to compare

3.7.0

November 20th, 2020

New Features:

  • Added support for upcoming application-controlled introduction of tracking for non-experiment Flag decisions. (#272).
  • Added "enabled" field to decision metadata structure (#275).

Release 3.6.0

01 Oct 00:24
dc2088d

Choose a tag to compare

3.6.0

September 30th, 2020

New Features:

  • Add support for Semantic Versioning in Audience Evaluation (#267).
  • Add datafile accessor to config (#268).

Bug Fixes:

  • Modify log messages to be explicit when it's evaluating an experiment and when it's doing so for a rollout (#259).

Release 3.5.0

09 Jul 18:13
db4460e

Choose a tag to compare

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. HTTPProjectConfigManager now accepts datafile_access_token to be able to fetch authenticated datafiles.
  • Add support for proxy server for http config manager. (#262)

Bug Fixes:

  • Handle error with error handler in async scheduler (#248).
  • Change single audience result to debug (#254).

Release 3.5.0-beta

17 Jun 22:35
3a687f2

Choose a tag to compare

Release 3.5.0-beta Pre-release
Pre-release

3.5.0-beta

June 17th, 2020

New Features:

  • Add support for JSON feature variables (#251)
  • Add support for authenticated datafiles (#255)

Bug Fixes:

  • Handle error with error handler in async scheduler (#248).
  • Change single audience result to debug (#254).

Release 3.4.0

23 Jan 18:09
44d5859

Choose a tag to compare

3.4.0

January 23rd, 2020

New Features:

  • Added a new API to get project configuration static data.
    • Call get_optimizely_config to get a snapshot of project configuration static data.
    • It returns an OptimizelyConfig instance which includes a datafile revision number, all experiments, and feature flags mapped by their key values.
    • Added caching for get_optimizely_config - OptimizelyConfig object 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.

Release 3.3.2

13 Dec 22:51
86a7aae

Choose a tag to compare

3.3.2

December 13th, 2019

Bug Fixes:

  • BatchEventProcessor will hang on poll after flushing with no event if no event count is greater than 3 #224.
  • EventDispatcher logs debug response and error responses from http post call i#221.

New Features

  • NotificationCenter should accept any Callable #219.

Release 3.3.1

10 Oct 20:47
99512e4

Choose a tag to compare

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

08 Oct 18:17
eb0c6d6

Choose a tag to compare

3.3.0

September 26th, 2019

New Features:

  • Added non-typed get_feature_variable method (#190) as a more idiomatic approach to getting values of feature variables.
    • Typed get_feature_variable methods will still be available for use.
  • Added support for event batching via the event processor.
  • Events generated by methods like activate, track, and is_feature_enabled will 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_size and flush_interval properties in the OptimizelyFactory using OptimizelyFactory.max_event_batch_size(batch_size, logger) and OptimizelyFactory.max_event_flush_interval(flush_interval, logger) and then create OptimizelyFactory.custom_instance.
  • Event batching is enabled by default. batch_size defaults to 10. flush_interval defaults to 30000 milliseconds.
  • Added the close method representing the process of closing the instance. When close is 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

  • EventBuilder was deprecated and now we will be using UserEventFactory and EventFactory to create logEvents.
  • LogEvent was deprecated from Activate and Track notifications in favor of explicit LogEvent notification.