Releases: launchdarkly/python-server-sdk
6.9.2
[6.9.2] - 2019-05-01
Changed:
- Changed the artifact name from
ldclient-py
tolaunchdarkly-server-sdk
- Changed repository references to use the new URL
There are no other changes in this release. Substituting ldclient-py
version 6.9.1 with launchdarkly-server-sdk
version 6.9.2 will not affect functionality. Be sure to uninstall the ldclient-py
dependency from your runtime environment when making this change.
6.9.1
[6.9.1] - 2019-04-26
Fixed:
- The
set_sdk_key
function was comparing the existing SDK key (if any) to the new one by identity (is
) rather than equality (==
). In Python, two strings that have the same characters may or may not be the same string instance; in the case where they were not,set_sdk_key
would inappropriately reinitialize the client even though the SDK key had not really changed. (Thanks, jpgimenez!) - Running the SDK unit tests is now simpler in that the database integrations can be skipped. See
CONTRIBUTING.md
.
Note on future releases
The LaunchDarkly SDK repositories are being renamed for consistency. This repository is now python-server-sdk
rather than python-client
.
The package name will also change. In the 6.9.1 release, it is still ldclient-py
; in all future releases, it will be launchdarkly-server-sdk
. No further updates to the ldclient-py
package will be published after this release.
6.9.0
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
track
oridentify
is 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
Consul
inldclient.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
DynamoDB
inldclient.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 theexpiration
andcapacity
parameters that are in the deprecatedRedisFeatureStore
constructor; it can be used with DynamoDB and any other database integrations in the future, and if more caching options are added toCacheConfig
they will be automatically supported in all of the feature stores.
Deprecated:
- The
RedisFeatureStore
constructor inldclient.redis_feature_store
. The recommended way to create a Redis feature store now is to useRedis.new_feature_store
inldclient.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
.