Skip to content

Releases: launchdarkly/python-server-sdk

6.1.1

Choose a tag to compare

@LaunchDarklyCI LaunchDarklyCI released this 03 Aug 23:57

[6.1.1] - 2018-06-19

Fixed:

  • Removed an unused dependency on the CacheControl package.

6.1.0

Choose a tag to compare

@LaunchDarklyCI LaunchDarklyCI released this 18 Jun 17:45

[6.1.0] - 2018-06-18

Changed:

  • The client now uses urllib3 for HTTP requests, rather than the requests package. This change was made because requests has a dependency on an LGPL-licensed package, and some of our customers cannot use LGPL code. The networking behavior of the client should be unchanged.
  • The client now treats most HTTP 4xx errors as unrecoverable: that is, after receiving such an error, it will not make any more HTTP requests for the lifetime of the client instance, in effect taking the client offline. This is because such errors indicate either a configuration problem (invalid SDK key) or a bug in the client, which will not resolve without a restart or an upgrade. This does not apply if the error is 400, 408, 429, or any 5xx error.
  • During initialization, if the client receives any of the unrecoverable errors described above, ldclient.get() will return immediately; previously it would continue waiting until a timeout. The is_initialized() method will return false in this case.

6.0.4

Choose a tag to compare

@LaunchDarklyCI LaunchDarklyCI released this 12 Jun 18:45

[6.0.4] - 2018-06-12

Fixed:

  • Fixed a bug introduced in v6.0.3 that caused the user cache for analytics events to never be cleared, also causing an AttributeError to appear in the log.

6.0.3

Choose a tag to compare

@eli-darkly eli-darkly released this 31 May 00:36

[6.0.3] - 2018-05-30

Removed:

  • Removed a dependency on the pylru package, because it uses a GPL license.

Fixed:

  • Fixed a bug that, in Python 3.x, could cause a timer thread to keep running after the client has been shut down. This bug also caused the message "TypeError: Event object is not callable" to be logged.
  • Fixed the Config initializer to create a new instance of InMemoryFeatureStore if you omit the feature_store argument. Previously, all Config instances that were created with default parameters would share the same feature store instance.
  • Clarified HTTP proxy setup instructions in the readme.

6.0.2

Choose a tag to compare

@LaunchDarklyCI LaunchDarklyCI released this 25 May 19:18

[6.0.2] - 2018-05-25

Fixed:

  • Fixed a bug that caused an error message to be logged (KeyError: 'default') when evaluating a prerequisite flag (and that also prevented an analytics event from being sent for that flag).
  • When running in uWSGI, the client will no longer log an error message if the enableThreads option is absent, as long as the threads option has been set to a number greater than 1. (#84)

6.0.0

Choose a tag to compare

@LaunchDarklyCI LaunchDarklyCI released this 11 May 00:22

[6.0.0] - 2018-05-10

Changed:

  • To reduce the network bandwidth used for analytics events, feature request events are now sent as counters rather than individual events, and user details are now sent only at intervals rather than in each event. These behaviors can be modified through the LaunchDarkly UI and with the new configuration option inline_users_in_events. For more details, see Analytics Data Stream Reference.
  • The analytics event processor now flushes events at a configurable interval defaulting to 5 seconds, like the other SDKs (previously it flushed if no events had been posted for 5 seconds, or if events exceeded a configurable number). This interval is set by the new Config property flush_interval.

Removed:

  • Python 2.6 is no longer supported.
  • Removed the Config property events_upload_max_batch_size, which is no longer relevant in the new event flushing logic (see above).

5.0.4

Choose a tag to compare

@LaunchDarklyCI LaunchDarklyCI released this 16 Apr 18:03

[5.0.4] - 2018-04-16

Fixed

  • It was not possible to install the SDK with pip 10.0.0. This should work now (thanks, @theholy7!) with the latest pip as well as previous versions.

5.0.3

Choose a tag to compare

@LaunchDarklyCI LaunchDarklyCI released this 11 Apr 00:16

[5.0.3] - 2018-04-10

Fixed

  • Fixed a bug that, in Python 3.x, caused an error when using an integer user attribute to compute a rollout.
  • Fixed a bug that, in Python 3.x, made the all_flags method return a dictionary with byte-string keys instead of string keys when using the Redis feature store.

5.0.2

Choose a tag to compare

@eli-darkly eli-darkly released this 27 Mar 19:28

[5.0.2] - 2018-03-27

Fixed

  • In the Redis feature store, fixed a synchronization problem that could cause a feature flag update to be missed if several of them happened in rapid succession.

5.0.1

Choose a tag to compare

@eli-darkly eli-darkly released this 22 Feb 18:30

Added

  • Support for a new LaunchDarkly feature: reusable user segments.

Changed

  • The FeatureStore interface has been changed to support user segment data as well as feature flags. Existing code that uses InMemoryFeatureStore or RedisFeatureStore should work as before, but custom feature store implementations will need to be updated.

Removed

  • Twisted is no longer supported.