Releases: launchdarkly/python-server-sdk
Releases · launchdarkly/python-server-sdk
6.8.4
[6.8.4] - 2019-03-29
Fixed:
- Setting user attributes to non-string values when a string was expected would cause analytics events not to be processed. Also, in the case of the "secondary" attribute, this could cause evaluations to fail for a flag with a percentage rollout. The SDK will now convert attribute values to strings as needed. (#115)
- If
trackoridentifyis called without a user, the SDK now logs a warning, and does not send an analytics event to LaunchDarkly (since it would not be processed without a user).
6.8.3
[6.8.3] - 2019-02-12
Note that starting with this release, generated API documentation is available online at https://launchdarkly-python-sdk.readthedocs.io. This is published automatically from the documentation comments in the code.
Changed:
- The SDK no longer uses
jsonpickle. - The CI test suite for all supported Python versions, which previously only ran in Linux, has been extended to include Python 3.6 in Windows.
Fixed:
- Corrected and expanded many documentation comments. All public API methods (not including internal implementation details) are now documented.
6.8.2
[6.8.2] - 2019-01-31
Fixed:
- Fixed a different packaging error that was still present in the 6.8.1 release, which made the package installable but caused imports to fail. The 6.8.1 release has been pulled from PyPI. We apologize for these recent errors, which were not detected prior to release because our prerelease testing was using the source code directly rather than installing it with
pip. Our CI tests have been updated and should prevent this in the future.
6.8.1
[6.8.1] - 2019-01-31
Fixed:
- Fixed a packaging error that made the 6.8.0 release not installable. There are no other changes. The 6.8.0 release has been pulled from PyPI.
6.8.0
This release could not be installed due to a packaging error, and has been removed from PyPI.
[6.8.0] - 2019-01-31
Added:
- It is now possible to use Consul as a persistent feature store, similar to the existing Redis and DynamoDB integrations. See
Consulinldclient.integrations, and the reference guide for "Using a persistent feature store".
6.7.0
[6.7.0] - 2019-01-15
Added:
- It is now possible to use DynamoDB as a persistent feature store, similar to the existing Redis integration. See
DynamoDBinldclient.integrations, and the reference guide to "Using a persistent feature store". - The new class
CacheConfig(inldclient.feature_store) encapsulates all the parameters that control local caching in database feature stores. This takes the place of theexpirationandcapacityparameters that are in the deprecatedRedisFeatureStoreconstructor; it can be used with DynamoDB and any other database integrations in the future, and if more caching options are added toCacheConfigthey will be automatically supported in all of the feature stores.
Deprecated:
- The
RedisFeatureStoreconstructor inldclient.redis_feature_store. The recommended way to create a Redis feature store now is to useRedis.new_feature_storeinldclient.integrations.
6.6.0
[6.6.0] - 2018-11-14
Added:
- It is now possible to inject feature flags into the client from local JSON or YAML files, replacing the normal LaunchDarkly connection. This would typically be for testing purposes. See
file_data_source.py.
6.5.0
[6.5.0] - 2018-10-17
Added:
- The
all_flags_statemethod now accepts a new option,details_only_for_tracked_flags, which reduces the size of the JSON representation of the flag state by omitting some metadata. Specifically, it omits any data that is normally used for generating detailed evaluation events if a flag does not have event tracking or debugging turned on.
Changed:
- The SDK previously contained a copy of code from the
expiringdictpackage. This has been changed to use the current version of that package from PyPi.
Fixed:
- JSON data from
all_flags_stateis now slightly smaller even if you do not use the new option described above, because it omits the flag property for event tracking unless that property is true.
6.4.2
[6.4.2] - 2018-09-21
Fixed:
- In polling mode, if the client received an HTTP error from LaunchDarkly, it stopped polling. This has been fixed so it only stops polling if the error is 401 (indicating an invalid SDK key).
- When using a Redis feature store, if the
hgetallmethod returned an invalid result,all_flagsandall_flags_statewould throw an exception. Instead,all_flagswill now return an empty dict, andall_flags_statewill return a state object with no flags andvalid==False. (Thanks, thieman!)
6.4.1
[6.4.1] - 2018-09-06
Fixed:
- In Python 3, if the Redis feature store encountered a Redis exception, it would crash on trying to log the
messageproperty of the exception, which does not exist in Python 3. This has been fixed. (Thanks, mattbriancon!)