chore: update C++ server-side SDK Redis Source from 2.1.19 to 2.2.2 - #123
Closed
kinyoklion wants to merge 1 commit into
Closed
chore: update C++ server-side SDK Redis Source from 2.1.19 to 2.2.2#123kinyoklion wants to merge 1 commit into
kinyoklion wants to merge 1 commit into
Conversation
Co-Authored-By: rlamb@launchdarkly.com <4955475+kinyoklion@users.noreply.github.com>
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
3 tasks
kinyoklion
added a commit
that referenced
this pull request
Aug 10, 2026
…DK (#124) **Requirements** - [ ] I have added test coverage for new or changed functionality - [x] I have followed the repository's [pull request submission guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests) - [ ] I have validated my changes against all supported platform versions **Related issues** Supersedes #123 (which only updated Redis Source to 2.2.2). **Describe the solution you've provided** Builds and tests against current toolchain and SDK versions, without changing what this SDK *requires*: - `launchdarkly-server-sdk-redis.c`: removed the static `luaL_setfuncs` Lua 5.1 shim. It was never called, and LuaJIT 2.1's `lauxlib.h` declares `luaL_setfuncs` non-static, so the shim broke compilation there (`static declaration of 'luaL_setfuncs' follows non-static declaration`). `launchdarkly-server-sdk.c` has its own correctly-named `ld_luaL_setfuncs` and is unaffected. - CI LuaJIT matrix `luajit-2.0.5` → `luajit-2.1`. `luarocks/gh-actions-lua` clones `--branch v2.0.5` from `luajit/luajit` and that branch/tag no longer exists upstream (only `v2.0`, `v2.1`, `master` remain), so those jobs failed at the *Install Lua* step. `luajit-2.1` is LuaJIT's current rolling release. README's LuaJIT compatibility note updated to match. - CI / example build versions: C++ Server-side SDK `3.10.1` → `3.13.1`, Redis Source `2.1.19` → `2.4.1` (both current latest). - The README minimum-version table stays at `3.9.0` / `2.1.19` — the Lua SDK still works with those; working with the latest is not the same as requiring it. Files changed: - `launchdarkly-server-sdk-redis.c` - `.github/variables/cpp-sdk-versions.env` — central version config used by CI - `examples/hello-haproxy/Dockerfile`, `examples/hello-nginx/Dockerfile`, `examples/hello-debian/Dockerfile` — default `CPP_SDK_VERSION` ARG for local builds - `.github/workflows/ci.yml`, `.github/workflows/install-lua-sdk.yml` — LuaJIT version built and tested - `README.md` — LuaJIT compatibility note **How to test it** CI builds and tests both rockspecs on Lua 5.1/5.2/5.3 and LuaJIT 2.1 against the C++ SDK 3.13.1 / Redis Source 2.4.1 artifacts, and builds the `hello-haproxy`, `hello-nginx`, and `hello-debian` example images. Also verified locally on Lua 5.1: `luarocks make` of both rockspecs against the prebuilt redis-source v2.4.1 `linux-gcc-x64-dynamic` artifact, `test.lua` 20/20 passing, and `examples/hello-lua-server/hello.lua` run against a real server-side SDK key (client init, data sync, flag evaluation). **Additional context** No deprecated APIs are used by the examples (`clientInit`, `makeContext`, `boolVariation`), and the C++ 3.13.1 bindings compile without warnings. Link to Devin session: https://app.devin.ai/sessions/85ca4fcc915e4e38bdee004d3d493824 Requested by: @kinyoklion Link to Devin session: https://app.devin.ai/sessions/1a367c31818a4fa6a1d33eb65a7b2331 Requested by: @jsonbailey <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Overview** > **CI and toolchain alignment** for current LuaJIT and C++ artifacts: the matrix and install workflow now use **LuaJIT 2.1** instead of `luajit-2.0.5` (upstream tag/branch no longer available), and **`.github/variables/cpp-sdk-versions.env`** plus example Dockerfiles default to C++ server SDK **3.13.1** and Redis Source **2.4.1**. The README’s supported LuaJIT line is updated to **2.1**. > > **LuaJIT compile fix** in `launchdarkly-server-sdk-redis.c`: drops an unused static **`luaL_setfuncs`** Lua 5.1 shim that conflicted with LuaJIT 2.1’s non-static declaration in `lauxlib.h`. The main SDK module keeps its separate **`ld_luaL_setfuncs`** helper unchanged. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 501b641. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: devin-ai-integration[bot] <devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: jbailey@launchdarkly.com <accounts@sidewaysgravity.com>
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
Updates the C++ Server-side SDK Redis Source dependency used in CI from 2.1.19 to 2.2.2 in
.github/variables/cpp-sdk-versions.env.Notable changes in the Redis Source between these versions:
The primary C++ Server SDK dependency (
sdk=3.10.1) is already at the latest stable version.Link to Devin session: https://app.devin.ai/sessions/6147113664cc4bd6bf0d1aff7d50fbda
Requested by: @kinyoklion