Skip to content

Releases: optimizely/ruby-sdk

Release 3.8.0

16 Feb 23:32
b394e9c
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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.

Release 3.2.0

25 Jul 22:31
Compare
Choose a tag to compare

3.2.0

July 25th, 2019

New Features:

  • Added support for automatic datafile management via HTTPProjectConfigManager:
    • The HTTPProjectConfigManager is an implementation of the Interface
      ProjectConfigManager.
      • Users must first build the HTTPProjectConfigManager with an SDK key and then provide that instance to the Optimizely instance.
      • An initial datafile can be provided to the HTTPProjectConfigManager to 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.
      • Optimizely instance must be disposed after the use or HTTPProjectConfigManager must be disposed after the use to release resources.
  • The OptimizelyFactory provides basic methods for instantiating the Optimizely SDK with a minimal number of parameters. Check README.md for more details.