Skip to content

Releases: harness/ff-python-server-sdk

1.7.1

23 Jan 14:05
d4810e0
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.7.0...1.7.1

1.7.0

27 Aug 15:52
d32a599
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.6.4...1.7.0

New Contributors

@zane-zeroflucs made their first contribution in #106

1.6.4

05 Jul 12:37
221a5d1
Compare
Choose a tag to compare

What's Changed

Bug fixes

  • FFM-11770 Fixes an issue where SDK dependencies tenacity and typing_extensions were pinned to fixed versions, which could make integration with the SDK impossible by @erdirowlands in #102

Full Changelog: 1.6.3...1.6.4

1.6.3

03 Jul 13:30
4167421
Compare
Choose a tag to compare

What's Changed

  • FFM-11655 Pin typing_extensions to latest release compatible with 3.7 by @erdirowlands in #98
  • PL-51773 Add guard around debug log by @jcox250 in #100

New Contributors

Full Changelog: 1.6.2...1.6.3

1.6.2

25 Jun 12:12
8295c22
Compare
Choose a tag to compare

What's Changed

Bug fixes

  • FFM-11655 Sort AND/OR rules when caching group instead of during an evaluation call, which could result in latency if a group is large by @erdirowlands in #96
  • FFM-11655 Fix error from being logged when metrics are processed if a target does not have any attributes by @erdirowlands in #97

Dependency bumps

Full Changelog: 1.6.1...1.6.2

1.6.1

08 May 17:08
7977d3c
Compare
Choose a tag to compare

What's Changed

  • [FFM-11244] - Target v2: Adding SDK support for AND/OR rules (feature not GA yet) by @andybharness in #90
  • FFM-11441 Improve the retry logic used by SDK http requests, and improve the clarity of logs if requests fail by @erdirowlands in #92
  • FFM-11331 Only delete cache key if it exists by @erdirowlands in #93

Full Changelog: 1.6.0...1.6.1

1.6.0

20 Mar 16:42
d9e3b9c
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.5.0...1.6.0

1.5.0

13 Mar 16:34
84a79a8
Compare
Choose a tag to compare

What's Changed

FFM-10837 Keeps track of targets that have been used in evaluations, and will not send already seen targets in metrics payloads. This allows fair processing of new targets for analytics purposes.

Bug fixes:
* FFM-10837 Fixes issue where if a target was marked as anonymous, it would be sent in analytics.
* FFM-10837 Fix typing of get_flag_kind method

Full Changelog: 1.4.0...1.5.0

1.4.0

15 Jan 16:45
8e27529
Compare
Choose a tag to compare

What's Changed

  • FFM-10393 Add get_flag_type public method which enables you to check the type of a flag at any time by @erdirowlands in #87
  • FFM-10393 Add a more robust variation method int_or_float_variation to evaluate number flags. This method ensures that a number flag with integer or float variations (or both) will be evaluated correctly. The int_variation and number_variation methods could fail to evaluate depending on if the variation served was of the expected type. We recommend using this new method going forward for number flag evaluations.

Full Changelog: 1.3.0...1.4.0

1.3.0

24 Nov 12:47
351834e
Compare
Choose a tag to compare

What's Changed

Bug fixes

  • Bump pip from 21.1 to 23.3 by @dependabot in #82

  • Bump requests from 2.25.1 to 2.31.0 by @dependabot in #61

  • [FFM-10040] - For percentage rollout, change Murmur3 hash calculation to be unsigned instead of signed. This ensures the Python SDK produces the same hash as other SDKs for use in percentage rollout calculation by @andybharness in #85

  • FFM-10063 by @erdirowlands in #86 :

    • Fixed an issue where the SDK would try to fetch deleted resources from the server receiving SSE delete events, resulting in 404 errors. Now, deleted resources are only removed from the local cache.
    • If flag/group requests fails after exceeding all retry attempts, the SDK now throws and catches an exception instead of returning None, which would previously resulted in an uncaught AttributeError.
    • If the SDK fails to initialize, it now stores the error. Subsequent evaluation requests return the default variation along with the error/SDK code immediately.
    • Fixed an issue where requesting a variation on the wrong flag type (e.g., requesting a boolean on a string) would not behave as expected. Now, an SDK error code is logged, and the default variation is returned in such cases.
    • Fixed an issue where polling would not stop if streaming is enabled. Additionally, fixed an issue where the poller would stop and not make any more flag updates after encountering an exception during a request.
    • Enhanced logging to correctly indicate when a stream disconnects and the system falls back to polling.
    • Changed various verbose logs from info to debug.

Enhancements

  • Flag/group requests now implement a retry mechanism, attempting up to 10 retries on retryable errors.

Breaking changes

  • From 1.3.x, for the Percentage Rollout feature this SDK release updates the Murmur3 hash calculation to align it to the GoLang SDK (and other SDKs). This means you may see target identifiers being remapped to different buckets. This change is necessary to allow customers to see consistent bucketing across SDKs regardless of what language they use.

Full Changelog: 1.2.5...1.3.0