Skip to content

Releases: configcat/ruby-sdk

v8.0.1

Choose a tag to compare

@kp-cat kp-cat released this 23 May 09:40
f51153b

Fixed

  • Initial config JSON load when auto poll enabled with results from cache.

v8.0.0

Choose a tag to compare

@kp-cat kp-cat released this 08 Mar 08:44
d32ca1e

New features and improvements:

  • Add support for the new Config JSON v6 format: update the config model and implement new features in setting evaluation logic.
  • Overhaul setting evaluation-related logging and make it consistent across SDKs.
  • Performance improvements to setting evaluation when info level logging is turned off.

Breaking changes:

  • The User's custom dictionary also allows attribute values other than string values.
  • The config JSON v5 format is no longer accepted by flag overrides. If you use this feature, you will need to convert your override JSON file(s) to the v6 format. You can do this using the config-json convert v5-to-v6 command of the ConfigCat CLI tool.
  • Rename the matched_evaluation_percentage_rule property to matched_targeting_rule and the matched_evaluation_rule`` property to matched_percentage_optioninEvaluationDetails`.
  • Throw ConfigCatClientException when the SDK key is passed to ConfigCatClient.get in an invalid format (unless the client is set up to use local-only flag override behaviour).

v7.0.0

Choose a tag to compare

@kp-cat kp-cat released this 17 Jul 08:26
5ef6d7d

Please note that this version has several breaking changes, so you may need to adjust your code when upgrading, especially if you're using deprecated APIs or a custom cache implementation. You can find the detailed list of breaking changes below.

  • Removed deprecated init functions: ConfigCat.create_client, ConfigCat.create_client_with_auto_poll, ConfigCat.create_client_with_lazy_load, ConfigCat.create_client_with_manual_poll. Create the ConfigCat Client as a Singleton object with ConfigCat.get() instead.
  • Revise caching of downloaded config data: Use a standardized config cache key generation algorithm and cache payload format to allow shared caches to be used by SDKs of different platforms.

v6.1.0

Choose a tag to compare

@adams85 adams85 released this 22 Jun 15:03
c44a274

New features and improvements:

  • Logging changes
    • Include event IDs in log messages to make identification of log events easier.
    • Revise log messages and make them consistent across the ConfigCat SDKs.

Bug fixes:

  • Don't start auto poll in offline mode (#20)
  • Fix wrong return value of get_value_details() in case config JSON is not present (#27)

v6.0.0

Choose a tag to compare

@kp-cat kp-cat released this 27 Feb 16:26
239fd3b

Added

  • set_default_user(user) / clear_default_user methods to set / remove a default user object used when there's no user passed to get_value / get_value_details / get_all_values / get_all_variation_ids methods.
  • set_offline / set_online methods to indicate whether the SDK is allowed to make HTTP calls or not. In 'offline' mode the SDK works from the cache only.
  • on_client_ready / on_config_changed / on_flag_evaluated / on_error hooks. Subscription is possible on client initialization options and with the hooks property on ConfigCatClient.
  • get_value_details method to retrieve evaluation details along with the feature flag / setting value. It returns the same details that is passed to on_flag_evaluated on each evaluation.
  • get_all_value_details method to retrieve evaluation details along with all feature flags/ setting values.

Changed

  • Client initialization options were moved to a ConfigCatOptions object that can be passed to the new configcatclient.get factory method. The create_client* methods are deprecated.
  • In the create_client* methods the following params changed:
    • config_cache_class to config_cache: A subclass of ConfigCache object is expected here (not a class).
    • connect_timeout to connect_timeout_seconds (to indicate the unit of measure).
    • read_timeout to read_timeout_seconds (to indicate the unit of measure).
    • flag_overrides expects a new FlagOverrides object (not an OverrideDataSource object).
  • ConfigCatClient's stop method is renamed to close.
  • ConfigCatClient can be explicitly closed via client.close and configcatclient.close_all methods.
  • force_refresh now returns with a result object that indicates whether the refresh succeeded or not.
  • The TTL of lazy_load and interval of auto_poll is compared against a cached fetch_time, which allows the SDK not necessarily download a new config.json at each application restart.
  • Fetch logic handles 403 response status and updates cached fetch_time in case of 304 403 and 404 response status.

v5.0.2

Choose a tag to compare

@kp-cat kp-cat released this 27 Jun 20:23
0b1f0be
  • Fix the autopoll policy identifier in the SDK's useragent.

v5.0.1

Choose a tag to compare

@kp-cat kp-cat released this 30 May 22:53
  • Expose ConfigCat::LocalFileDataSource and ConfigCat::LocalDictionaryDataSource to be used by consumers.

v5.0.0

Choose a tag to compare

@kp-cat kp-cat released this 12 Apr 22:23
b0a8cc6
  • The evaluation logs are staying on info level but they are now combined into a single log entry.
  • open_timeout and read_timeout initialization parameters were added to be able to configure HTTP timeout parameters.
  • A get_all_values() function was added that evaluates all flags & settings in a dictionary.
  • New flag_overrides parameter to support the reading of flags & settings from a file or a hash.

v4.0.0

Choose a tag to compare

@kp-cat kp-cat released this 12 Oct 10:19
101f613

Addressing global data handling and processing trends via Data Governance feature. Customers can control the geographic location where their config JSONs get published to. See the docs.

We are introducing a new DataGovernance initialization parameter. Set this parameter to be in sync with the Data Governance preference on the Dashboard.

Breaking change:

  • Custom cache implementations should implement the new cache interface using key parameter in the get/set methods.

v3.1.0

Choose a tag to compare

@kp-cat kp-cat released this 14 Sep 21:21
  • Added variation id related functions to support integration with analytical tools:
    get_variation_id()
    get_all_variation_ids()
    get_key_and_value()
    
  • Removed case-insensitive attribute key support.