Repository navigation
chore: bump C++ server SDK to 3.14.0 and Redis source to 2.4.2 - #128
Open
devin-ai-integration[bot] wants to merge 2 commits into
Open
devin-ai-integration[bot] wants to merge 2 commits into
devin-ai-integration[bot] wants to merge 2 commits into
Conversation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
Contributor
Author
|
@cursor review |
…C++ SDK 3.14.0) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
Author
|
@cursor review |
kinyoklion
marked this pull request as ready for review
October 5, 2026 15:53
jsonbailey
approved these changes
Oct 5, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves the examples and CI to the latest C++ Server-side SDK release (3.14.0) and Redis Source release (2.4.2), both published 2026-09-28. This follows the same pattern as #114.
examples/hello-{debian,haproxy,nginx}/Dockerfile:ARG CPP_SDK_VERSION=3.13.1→3.14.0.github/variables/cpp-sdk-versions.env:sdk=3.13.1→3.14.0,redis_source=2.4.1→2.4.2test-redis.lua:testVariationDetailWithRedisSourcenow expectserrorKind = "FLAG_NOT_FOUND"instead of"CLIENT_NOT_READY". This is required by the bump: cpp-sdks#508 (in 3.14.0) makes lazy-load mode always report initialized. As a result, an unreachable store now returns the default withFLAG_NOT_FOUNDrather thanCLIENT_NOT_READY. This is an intentional upstream change, documented under "Behavioral change" in that PR.Implementation details
Why these are exact pins: Docker
ARGs and the CI env file are build inputs, not package-manager constraints, so there is no range syntax. The only way to track the latest release is to bump the pin within major 3 (and within major 2 for the Redis source).What changed upstream in 3.14.0: FDv2 streaming synchronizer for the client SDK, two server-side bug fixes (lazy-load evaluations without
$initedper #508, and keyed tombstones are now read as deleted), and internal bumps to cpp-internal 0.15.0 and cpp-sse-client 0.8.0. Redis Source 2.4.2 only bumps its cpp-server dependency to 3.14.0. The C binding headers have no API changes between 3.13.1 and 3.14.0.Test change: On the first CI run of this PR, the 4
linux-build (*, launchdarkly-server-sdk-redis-…)jobs failed withexpected CLIENT_NOT_READY, actual FLAG_NOT_FOUNDintestVariationDetailWithRedisSource. The test points the client at an unreachableredis://localhost:1234, which is exactly the case #508 changed. Note that the rockspec doesn't constrain the C++ SDK version, so anyone who builds the Lua SDK against 3.14.0 already gets this behavior. Only the test expectation changes here.Deprecations: None in the C binding headers at 3.14.0. The examples only use
ld.clientInit,ld.makeContextandclient:boolVariation. The deprecatedmakeUseris not used.Local testing (Linux VM, Docker):
mirror.gcr.io/library/...in uncommitted copies to get around docker.io rate limits. Each image was run with the hello-app server key andLAUNCHDARKLY_FLAG_KEY=hello-boolean:The hello-boolean feature flag evaluates to true.linux-gcc-x64-dynamic.ziprelease artifact):<p>The hello-boolean feature flag evaluates to true.</p><p>The hello-boolean feature flag evaluates to true.</p>luarocks test launchdarkly-server-sdk-redis-2.2.0-0.rockspec(Lua 5.3, Redis Sourcelinux-gcc-x64-dynamic.zip):Link to Devin session: https://app.devin.ai/sessions/568e1aed51484d00a044173ce3f061f6
Open in Devin Desktop: https://app.devin.ai/desktop/session/568e1aed51484d00a044173ce3f061f6?variant=devin
Note
Overview
Bumps pinned C++ Server SDK to 3.14.0 and Redis source to 2.4.2 across CI (
.github/variables/cpp-sdk-versions.env) and the hello debian, haproxy, and nginx example Dockerfiles (CPP_SDK_VERSION).Updates
test-redis.luasotestVariationDetailWithRedisSourceexpectsFLAG_NOT_FOUNDinstead ofCLIENT_NOT_READYwhen evaluating against an unreachable Redis URL in lazy-load mode—matching upstream 3.14.0 behavior (lazy-load clients report initialized; missing flags surface as not found rather than client-not-ready).Reviewed by Cursor Bugbot for commit 993c3f5. Bugbot is set up for automated code reviews on this repo. Configure here.