Releases: launchdarkly/python-server-sdk
6.10.2
[6.10.2] - 2019-10-30
Fixed:
- Since version 6.1.0, the SDK was not respecting the standard
https_proxy
environment variable for specifying a proxy (because that variable is not used byurllib3
). This has been fixed. - In streaming mode, the SDK could fail to apply a feature flag update if it exceeded the LaunchDarkly service's maximum streaming message size; the service uses an alternate delivery mechanism in this case, which was broken in the SDK. This bug was also introduced in version 6.1.0.
- Fixed the generated documentation to exclude special members like
__dict__
.
6.10.1
[6.10.1] - 2019-08-20
Fixed:
- Fixed a bug in 6.10.0 that prevented analytics events from being generated for missing flags.
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.