Repository navigation
LaunchDarkly.ServerSdk: v8.17.0
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.Offno longer indicates a rejected SDK key.Offis now reached only by explicit shutdown. InspectDataSourceStatusProvider.Status.LastErrorinstead, which reportsErrorKind.ErrorResponsewith the HTTP status code while the data source keeps retrying. -
The
LdClientconstructor waits outStartWaitTimewhen the SDK key is rejected. Because an invalid key no longer ends initialization, the constructor blocks for the fullStartWaitTime(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.