From f5fb6fbb9e3937fc811c896ab1b11866bc8c8e04 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2026 09:12:04 +0000 Subject: [PATCH 1/5] chore: update C++ server-side SDK from 3.10.1 to 3.12.0 and Redis Source from 2.1.19 to 2.3.1 Co-Authored-By: rlamb@launchdarkly.com <4955475+kinyoklion@users.noreply.github.com> --- .github/variables/cpp-sdk-versions.env | 4 ++-- README.md | 4 ++-- examples/hello-debian/Dockerfile | 2 +- examples/hello-haproxy/Dockerfile | 2 +- examples/hello-nginx/Dockerfile | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/variables/cpp-sdk-versions.env b/.github/variables/cpp-sdk-versions.env index 5831dda..565dbae 100644 --- a/.github/variables/cpp-sdk-versions.env +++ b/.github/variables/cpp-sdk-versions.env @@ -1,2 +1,2 @@ -sdk=3.10.1 -redis_source=2.1.19 +sdk=3.12.0 +redis_source=2.3.1 diff --git a/README.md b/README.md index a4862a5..8915586 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ If Redis support is desired, then it optionally depends on the C++ server-side S | Dependency | Minimum Version | Notes | |--------------------------------|--------------------------------------------------------------------------------------------------------------|--------------------------------------------| -| C++ Server-Side SDK | [3.9.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.9.0) | Required dependency. | -| C++ Server-Side SDK with Redis | [2.1.19](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.1.19) | Optional, if using Redis as a data source. | +| C++ Server-Side SDK | [3.12.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.12.0) | Required dependency. | +| C++ Server-Side SDK with Redis | [2.3.1](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.3.1) | Optional, if using Redis as a data source. | 3rd Party Dependencies diff --git a/examples/hello-debian/Dockerfile b/examples/hello-debian/Dockerfile index b5b6402..598d9b0 100644 --- a/examples/hello-debian/Dockerfile +++ b/examples/hello-debian/Dockerfile @@ -4,7 +4,7 @@ FROM debian:bookworm ARG VERSION=2.1.3 # {{ x-release-please-end }} -ARG CPP_SDK_VERSION=3.10.1 +ARG CPP_SDK_VERSION=3.12.0 # For unknown reasons, it appears that boost.json and boost.url aren't included in the # libboost-all package. diff --git a/examples/hello-haproxy/Dockerfile b/examples/hello-haproxy/Dockerfile index bad2c0a..fa700e2 100644 --- a/examples/hello-haproxy/Dockerfile +++ b/examples/hello-haproxy/Dockerfile @@ -4,7 +4,7 @@ FROM ubuntu:22.04 ARG VERSION=2.1.3 # {{ x-release-please-end }} -ARG CPP_SDK_VERSION=3.10.1 +ARG CPP_SDK_VERSION=3.12.0 RUN apt-get update && apt-get install -y \ curl luarocks lua5.3 lua5.3-dev \ diff --git a/examples/hello-nginx/Dockerfile b/examples/hello-nginx/Dockerfile index e7f14f4..7d128a6 100644 --- a/examples/hello-nginx/Dockerfile +++ b/examples/hello-nginx/Dockerfile @@ -7,7 +7,7 @@ FROM openresty/openresty:1.21.4.1-0-jammy ARG VERSION=2.1.3 # {{ x-release-please-end }} -ARG CPP_SDK_VERSION=3.10.1 +ARG CPP_SDK_VERSION=3.12.0 RUN apt-get update && apt-get install -y \ git netbase curl libssl-dev apt-transport-https ca-certificates \ From 1d66be322f17784cd90dd027ac802176ac0e1218 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 09:05:46 +0000 Subject: [PATCH 2/5] chore: bump C++ SDK to 3.13.0 and Redis Source to 2.4.0 --- .github/variables/cpp-sdk-versions.env | 4 ++-- README.md | 4 ++-- examples/hello-debian/Dockerfile | 2 +- examples/hello-haproxy/Dockerfile | 2 +- examples/hello-nginx/Dockerfile | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/variables/cpp-sdk-versions.env b/.github/variables/cpp-sdk-versions.env index 565dbae..e02acde 100644 --- a/.github/variables/cpp-sdk-versions.env +++ b/.github/variables/cpp-sdk-versions.env @@ -1,2 +1,2 @@ -sdk=3.12.0 -redis_source=2.3.1 +sdk=3.13.0 +redis_source=2.4.0 diff --git a/README.md b/README.md index 8915586..fb65624 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ If Redis support is desired, then it optionally depends on the C++ server-side S | Dependency | Minimum Version | Notes | |--------------------------------|--------------------------------------------------------------------------------------------------------------|--------------------------------------------| -| C++ Server-Side SDK | [3.12.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.12.0) | Required dependency. | -| C++ Server-Side SDK with Redis | [2.3.1](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.3.1) | Optional, if using Redis as a data source. | +| C++ Server-Side SDK | [3.13.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.13.0) | Required dependency. | +| C++ Server-Side SDK with Redis | [2.4.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.4.0) | Optional, if using Redis as a data source. | 3rd Party Dependencies diff --git a/examples/hello-debian/Dockerfile b/examples/hello-debian/Dockerfile index 598d9b0..11dc14c 100644 --- a/examples/hello-debian/Dockerfile +++ b/examples/hello-debian/Dockerfile @@ -4,7 +4,7 @@ FROM debian:bookworm ARG VERSION=2.1.3 # {{ x-release-please-end }} -ARG CPP_SDK_VERSION=3.12.0 +ARG CPP_SDK_VERSION=3.13.0 # For unknown reasons, it appears that boost.json and boost.url aren't included in the # libboost-all package. diff --git a/examples/hello-haproxy/Dockerfile b/examples/hello-haproxy/Dockerfile index fa700e2..847ce7a 100644 --- a/examples/hello-haproxy/Dockerfile +++ b/examples/hello-haproxy/Dockerfile @@ -4,7 +4,7 @@ FROM ubuntu:22.04 ARG VERSION=2.1.3 # {{ x-release-please-end }} -ARG CPP_SDK_VERSION=3.12.0 +ARG CPP_SDK_VERSION=3.13.0 RUN apt-get update && apt-get install -y \ curl luarocks lua5.3 lua5.3-dev \ diff --git a/examples/hello-nginx/Dockerfile b/examples/hello-nginx/Dockerfile index 7d128a6..e6c8b1a 100644 --- a/examples/hello-nginx/Dockerfile +++ b/examples/hello-nginx/Dockerfile @@ -7,7 +7,7 @@ FROM openresty/openresty:1.21.4.1-0-jammy ARG VERSION=2.1.3 # {{ x-release-please-end }} -ARG CPP_SDK_VERSION=3.12.0 +ARG CPP_SDK_VERSION=3.13.0 RUN apt-get update && apt-get install -y \ git netbase curl libssl-dev apt-transport-https ca-certificates \ From 14d276962898d375be4aad1c831deb4735448ce4 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" Date: Mon, 3 Aug 2026 16:10:05 +0000 Subject: [PATCH 3/5] ci: test against LuaJIT 2.1 instead of the removed 2.0.5 branch --- .github/workflows/ci.yml | 2 +- .github/workflows/install-lua-sdk.yml | 2 +- README.md | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 068a40f..8d39fd5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: strategy: fail-fast: false matrix: - version: ["5.1", "5.2", "5.3", "luajit-2.0.5"] + version: ["5.1", "5.2", "5.3", "luajit-2.1"] package: ${{ fromJSON(needs.rockspecs.outputs.matrix) }} steps: diff --git a/.github/workflows/install-lua-sdk.yml b/.github/workflows/install-lua-sdk.yml index 6680146..ad7d600 100644 --- a/.github/workflows/install-lua-sdk.yml +++ b/.github/workflows/install-lua-sdk.yml @@ -23,7 +23,7 @@ on: - '5.1' - '5.2' - '5.3' - - 'luajit-2.0.5' + - 'luajit-2.1' default: '5.3' cpp-sdk-version: description: "Version of the C++ Server-side SDK." diff --git a/README.md b/README.md index fb65624..02f9b0f 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ LaunchDarkly overview Supported Lua versions ----------- -This version of the LaunchDarkly SDK is known to be compatible with the Lua 5.1-5.3 interpreter, and LuaJIT 2.0.5. +This version of the LaunchDarkly SDK is known to be compatible with the Lua 5.1-5.3 interpreter, and LuaJIT 2.1. Supported C++ server-side SDK versions ----------- @@ -26,8 +26,8 @@ If Redis support is desired, then it optionally depends on the C++ server-side S | Dependency | Minimum Version | Notes | |--------------------------------|--------------------------------------------------------------------------------------------------------------|--------------------------------------------| -| C++ Server-Side SDK | [3.13.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.13.0) | Required dependency. | -| C++ Server-Side SDK with Redis | [2.4.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.4.0) | Optional, if using Redis as a data source. | +| C++ Server-Side SDK | [3.13.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.13.0) | Required dependency. | +| C++ Server-Side SDK with Redis | [2.4.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.4.0) | Optional, if using Redis as a data source. | 3rd Party Dependencies From 95852bbdc94542f121d1ce30a6a66d6f1bae4e20 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" Date: Mon, 3 Aug 2026 16:10:37 +0000 Subject: [PATCH 4/5] chore: keep documented minimum C++ SDK versions unchanged --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 02f9b0f..63f3844 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ If Redis support is desired, then it optionally depends on the C++ server-side S | Dependency | Minimum Version | Notes | |--------------------------------|--------------------------------------------------------------------------------------------------------------|--------------------------------------------| -| C++ Server-Side SDK | [3.13.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.13.0) | Required dependency. | -| C++ Server-Side SDK with Redis | [2.4.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.4.0) | Optional, if using Redis as a data source. | +| C++ Server-Side SDK | [3.9.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.9.0) | Required dependency. | +| C++ Server-Side SDK with Redis | [2.1.19](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.1.19) | Optional, if using Redis as a data source. | 3rd Party Dependencies From a45e93e7799238791c2b76c17d808c104200a666 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" Date: Mon, 3 Aug 2026 16:15:51 +0000 Subject: [PATCH 5/5] fix: remove unused luaL_setfuncs shim that clashes with LuaJIT 2.1 --- launchdarkly-server-sdk-redis.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/launchdarkly-server-sdk-redis.c b/launchdarkly-server-sdk-redis.c index 171e5c8..e4f26e7 100644 --- a/launchdarkly-server-sdk-redis.c +++ b/launchdarkly-server-sdk-redis.c @@ -56,24 +56,6 @@ static const struct luaL_Reg launchdarkly_functions[] = { { NULL, NULL} }; -#if !defined LUA_VERSION_NUM || LUA_VERSION_NUM==501 -/* -** Adapted from Lua 5.2.0 -*/ -static void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) { - luaL_checkstack(L, nup+1, "too many upvalues"); - for (; l->name != NULL; l++) { /* fill the table with given functions */ - int i; - lua_pushstring(L, l->name); - for (i = 0; i < nup; i++) /* copy upvalues to the top */ - lua_pushvalue(L, -(nup+1)); - lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */ - lua_settable(L, -(nup + 3)); - } - lua_pop(L, nup); /* remove upvalues */ -} -#endif - int luaopen_launchdarkly_server_sdk_redis(lua_State *const l) {