Releases: harness/ff-python-server-sdk
1.7.1
What's Changed
- fix: [FFM-12288]: bump lru cache default size by @conormurray95 in #107
New Contributors
- @conormurray95 made their first contribution in #107
Full Changelog: 1.7.0...1.7.1
1.7.0
What's Changed
- FFM-11935 Add
with_httpx_args
option by @zane-zeroflucs and @erdirowlands in #106- See httpx options for further information
- See with_httpx_args for a sample
Full Changelog: 1.6.4...1.7.0
New Contributors
@zane-zeroflucs made their first contribution in #106
1.6.4
What's Changed
Bug fixes
- FFM-11770 Fixes an issue where SDK dependencies
tenacity
andtyping_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
1.6.2
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
- Bump requests from 2.31.0 to 2.32.0 by @dependabot in #94
Full Changelog: 1.6.1...1.6.2
1.6.1
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
What's Changed
- [FFM-7006] - Add support for custom TLS CA certs by @andybharness in #89
Full Changelog: 1.5.0...1.6.0
1.5.0
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
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- For an example of using this method, see get_flag_type.py
- 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. Theint_variation
andnumber_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
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