Skip to content

LaunchDarkly.ServerSdk: v8.17.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 14:33
Immutable release. Only release title and notes can be modified.
6e940ce

8.17.0 (2026-09-17)

Features

  • SDK no longer shuts down data sources when SDK keys are invalid. Conform FDv1 streaming and polling data sources to the RETRY spec (#351) (b099040)

Behavior changes

SDK no longer shuts down data sources when SDK keys are invalid. HTTP responses that previously caused a data source to permanently stop — 401, 403, and other 4xx — no longer terminate it. Streaming enters an extended backoff regime starting at 5 minutes and doubling to a 1 hour ceiling; polling continues at its configured interval but engages the extended regime after an unexpected failure. Streaming returns to normal backoff after 60 seconds of continuous healthy operation; polling returns to its normal cadence after two consecutive successful polls.

Consequences visible to applications:

  • DataSourceState.Off no longer indicates a rejected SDK key. Off is now reached only by explicit shutdown. Inspect DataSourceStatusProvider.Status.LastError instead, which reports ErrorKind.ErrorResponse with the HTTP status code while the data source keeps retrying.

  • The LdClient constructor waits out StartWaitTime when the SDK key is rejected. Because an invalid key no longer ends initialization, the constructor blocks for the full StartWaitTime (default 10 seconds) rather than returning as soon as the 401 arrives.

  • FDv2 falls back to FDv1 on a rejected key more slowly. The FDv1 synchronizer is no longer blacklisted on an unrecoverable error, so fallback now occurs via the 2 minute interrupted timeout instead of immediately.

  • Polling interval is measured from completion rather than from start. The effective period is now the configured interval plus the duration of each poll.


This PR was generated with Release Please. See documentation.