ruby-sdk

ConfigCat SDK for Ruby. ConfigCat is a hosted feature flag service: https://configcat.com. Manage feature toggles across frontend, backend, mobile, desktop apps. Alternative to LaunchDarkly. Management app + feature flag SDKs.

MIT License

Stars
9
ruby-sdk - v8.0.1 Latest Release

Published by kp-cat 5 months ago

Fixed

  • Initial config JSON load when auto poll enabled with results from cache.
ruby-sdk - v8.0.0

Published by kp-cat 8 months ago

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).
ruby-sdk - v7.0.0

Published by kp-cat over 1 year ago

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.
ruby-sdk - v6.1.0

Published by adams85 over 1 year ago

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:

ruby-sdk - v6.0.0

Published by kp-cat over 1 year ago

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.
ruby-sdk - v5.0.2

Published by kp-cat over 2 years ago

  • Fix the autopoll policy identifier in the SDK's useragent.
ruby-sdk - v5.0.1

Published by kp-cat over 2 years ago

  • Expose ConfigCat::LocalFileDataSource and ConfigCat::LocalDictionaryDataSource to be used by consumers.
ruby-sdk - v5.0.0

Published by kp-cat over 2 years ago

  • 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.
ruby-sdk - v4.0.0

Published by kp-cat about 4 years ago

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.
ruby-sdk - v3.1.0

Published by kp-cat about 4 years ago

  • 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.
ruby-sdk - v3.0.0

Published by configcat over 4 years ago

Breaking change: Renamed API Key to SDK Key.

ruby-sdk - ConfigCat Ruby SDK v2.0.5

Published by configcat over 4 years ago

Supporting ETag in config fetcher. The ETag HTTP response header is an identifier for a specific version of a resource. It lets caches be more efficient and save bandwidth, as a web server does not need to resend a full response if the content has not changed.

ruby-sdk - v2.0.3

Published by configcat over 4 years ago

Moving from config_v3.json to config_v4.json.

ruby-sdk - v2.0.2

Published by configcat over 4 years ago

Supporting sensitive comparators in targeting rules.

ruby-sdk - ConfigCat Ruby SDK v1.2.3

Published by configcat almost 5 years ago

Logging fix

ruby-sdk - ConfigCat Ruby SDK v1.2.2

Published by configcat almost 5 years ago

Logging fix

ruby-sdk - ConfigCat Ruby SDK v1.2.1

Published by configcat almost 5 years ago

Gem description update

ruby-sdk - ConfigCat Ruby SDK v1.2.0

Published by configcat almost 5 years ago

ConfigCat Ruby SDK v1.2.0
Semantic version operators
Number operators
Logging improvements
Proxy support

ruby-sdk - ConfigCat Ruby SDK v1.0.0

Published by configcat about 5 years ago