Releases: launchdarkly/python-server-sdk
6.10.0
[6.10.0] - 2019-08-20
Added:
- Added support for upcoming LaunchDarkly experimentation features. See
LDClient.track()
.
6.9.4
[6.9.4] - 2019-08-19
Fixed:
- Under conditions where analytics events are being generated at an extremely high rate (for instance, if an application is evaluating a flag repeatedly in a tight loop on many threads), a thread could be blocked indefinitely within
variation
while waiting for the internal event processing logic to catch up with the backlog. The logic has been changed to drop events if necessary so threads will not be blocked (similar to how the SDK already drops events if the size of the event buffer is exceeded). If that happens, this warning message will be logged once: "Events are being produced faster than they can be processed; some events will be dropped". Under normal conditions this should never happen; this change is meant to avoid a concurrency bottleneck in applications that are already so busy that thread starvation is likely.
6.9.3
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.