Skip to content

Releases: harness/ff-ruby-server-sdk

1.4.6

20 Jan 13:46
83155c3
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.4.5...1.4.6

1.4.5

25 Nov 12:31
766909d
Compare
Choose a tag to compare

What's Changed

  • FFM-12192 Following from 1.4.4: Resolves an issue where Segmentation faults can occur on Ruby 3.4 and above by @erdirowlands in #52

Full Changelog: 1.4.4...1.4.5

1.4.4

18 Nov 17:38
c5053ce
Compare
Choose a tag to compare

What's Changed

  • FFM-12192 Following from 1.4.3, we are still investigating an edge case in the SDK, where segmentation faults can occur when the SDK aggregates and sends metrics at the end of an interval:

    • Replaces concurrent-ruby/ConcurrentMap with our own thread safe hash implementation.
    • Fixed race condition if the optional timeout_ms argument is provided to wait_for_initialization and the SDK times out and initializes at the same time which could cause undefined behaviour for the lifetime of the SDK.
  • FFM-12192 Also fixes some behaviour around default variations being returned:

    • Default variations are returned immediately:
      • if the SDK is not initialized or still initializing. This avoids potentially incomplete evaluations caused by partial cache data.
      • if a flag cannot be found and logs a warning.
      • If a requested variation does not match the flag type, the SDK now returns the default variation and logs a warning.

Full Changelog: 1.4.3...1.4.4

by @erdirowlands in #51

1.4.3

13 Nov 17:27
d165c3e
Compare
Choose a tag to compare

What's Changed

  • FFM-12192 Following from 1.4.2, we are still investigating an edge case in the SDK, where very large projects can generate invalid metric events shortly after the SDK has initialised. This patch includes possible fixes for this issue. by @erdirowlands in #50

Full Changelog: 1.4.2...1.4.3

1.4.2

12 Nov 22:27
c5d6d07
Compare
Choose a tag to compare

What's Changed

  • FFM-12192 Following from 1.4.1, we are still investigating an edge case in the SDK, where very large projects can generate invalid metric events shortly after the SDK has initialised. This patch includes possible fixes for this issue. by @erdirowlands in #48

Full Changelog: 1.4.1...1.4.2

1.4.1

12 Nov 14:10
d0750c8
Compare
Choose a tag to compare

What's Changed

  • FFM-12192 Skips processing invalid metrics if they are detected. We are currently investigating an edge case in the SDK, where very large projects can generate invalid metric events shortly after the SDK has initialised. This patch release ensures these invalid metrics events are skipped, and a warning is logged if the SDK encounters them. The impact is flag evaluation metrics will not include any events that have been skipped. by @erdirowlands in #47

Full Changelog: 1.4.0...1.4.1

1.4.0

02 Oct 17:56
a7498e3
Compare
Choose a tag to compare

What's Changed

Enhancements

  • FFM-12088 Adds an optional timeout parameter for wait_for_initialization, see docs for usage by @erdirowlands in #44

Bug Fixes

The SDK now retries on HTTP code 0 which can be returned by the underlying typhoeus library for uncategorised errors by @erdirowlands in #44

Full Changelog: 1.3.2...1.4.0

1.3.2

09 Sep 18:37
009b477
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.3.1...1.3.2

1.3.1

28 Jun 17:12
5c3d679
Compare
Choose a tag to compare

What's Changed

  • FFM-11657 Sort group AND/OR rules and Flag rules when caching group instead of during an evaluation call, which could result in latency if a group or flag is large by @erdirowlands in #41

Full Changelog: 1.3.0...1.3.1

1.3.0

16 May 10:11
e575e79
Compare
Choose a tag to compare

What's Changed

  • [FFM-11241] - Target v2: Adding SDK support for AND/OR rules. Note: feature not GA yet by @andybharness in #37
  • [FFM-11365] - Add rules-v2 query parameter to optimise the rules that the FF backend sends for AND/OR rules. Note: feature not GA yet by @andybharness in #39

Bug Fixes:

  • [FFM-11211] Metrics fixes:
    • If the metrics buffer size fills, it no longer flushes and sends all metrics to the FF service, which could affect evaluation performance. Instead, it logs a warning that the buffer is full and does not process anymore metrics for that interval.
    • Optimises the payloads sent by the metrics service. Previously, there would be an individual payload entry based on flag + variation served + target. Now, the entry is based on flag + variation. This drastically reduces payload size for similar evaluations served for targets. The SDK continues to register targets correctly as before.
    • Fixes an issue where targets used in evaluations across metrics intervals would still be included in payloads. Now, only unique targets are included in payloads.

Full Changelog: 1.2.1...1.3.0