Skip to content

chore: Update sdk_metadata features#115

Open
devin-ai-integration[bot] wants to merge 5 commits intomainfrom
devin/1773423182-update-sdk-metadata-features
Open

chore: Update sdk_metadata features#115
devin-ai-integration[bot] wants to merge 5 commits intomainfrom
devin/1773423182-update-sdk-metadata-features

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Mar 13, 2026

Requirements

  • I have added test coverage for new or changed functionality — N/A, metadata-only change
  • I have followed the repository's pull request submission guidelines
  • I have validated my changes against all supported platform versions — N/A, metadata-only change

Related issues

Part of a cross-repo effort to populate features in .sdk_metadata.json for all LaunchDarkly SDKs.

Describe the solution you've provided

Adds a features map to the lua-server-sdk entry in .sdk_metadata.json, documenting which SDK features are supported and the version they were introduced. Feature keys use the canonical camelCase names from sdk-meta/feature_info.json, and introduction versions are sourced from the SDK features documentation table (server-side SDKs L-Z, Lua column) and verified against CHANGELOG.md and source code.

Features included (13 total, alphabetical): allFlags, appMetadata, contexts, experimentation, inlineContextCustomEvents, offlineMode, privateAttrs, relayProxyDaemon, relayProxyProxy, storingData, storingDataRedis, track, variationDetail.

Updates since last revision

  • Added contexts with introduced version "2.0" — verified against CHANGELOG.md entry under ## [2.0.0].
  • Added storingDataRedis with introduced version "1.0" — verified against CHANGELOG.md entry under 1.0.0-beta.3. Version 1.0 used since pre-1.0 releases were betas.
  • Added appMetadata and offlineMode — inherited from the C++ server SDK. The Lua SDK wraps the C++ server SDK and exposes config.appInfo and config.offline fields.
  • Corrected appMetadata from "1.0" to "2.0" — git history shows config.appInfo was first introduced in commit 95e9718 (feat!: use C++ Server-side SDK 3.0 bindings), whose earliest tag is v2.0.0. offlineMode remains at "1.0" because config.offline was present since 1.0.0-beta.3.

Human review checklist

  • Verify the introduction versions match expectations — most were sourced from the docs table; contexts at "2.0" and storingDataRedis at "1.0" were verified against CHANGELOG.md
  • Confirm storingDataRedis: "1.0" — the Redis module was introduced in 1.0.0-beta.3. Verified that 1.0 is the correct version to use (consistent with the convention that pre-1.0 betas are not counted)
  • Verify appMetadata: "2.0" — corrected from 1.0 after review. Commit 95e9718 (C++ SDK 3.0 bindings) is the first to add config.appInfo, and the earliest tag containing it is v2.0.0
  • Verify offlineMode: "1.0"config.offline was present in 1.0.0-beta.3 (commit c4917d9), so 1.0 is correct
  • Verify inlineContextCustomEvents version "2.1.3" — this is a patch-level version; confirm it is correct
  • Confirm no other features are inherited from the C++ server SDK that should also be listed (hooks, bigSegments, webProxy were checked and are not exposed in the Lua SDK code)

Additional context

Link to Devin session
Requested by: Aaron Zeisler


Note

Low Risk
Low risk metadata-only update; no runtime code paths change, but downstream consumers of .sdk_metadata.json may alter behavior based on the newly declared feature set/versions.

Overview
Adds a features map to the lua-server-sdk entry in .sdk_metadata.json, documenting supported SDK capabilities and the version each was introduced (e.g., contexts at 2.0, inlineContextCustomEvents at 2.1.3, plus other core features like allFlags, track, and variationDetail).

Written by Cursor Bugbot for commit 3bf8bb0. This will update automatically on new commits. Configure here.

Co-Authored-By: Aaron Zeisler <azeisler@launchdarkly.com>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Co-Authored-By: Aaron Zeisler <azeisler@launchdarkly.com>
@aaron-zeisler
Copy link

aaron-zeisler commented Mar 16, 2026

Devin: I believe the storingDataRedis feature should be supported in v 1.0, based on the changelog from 1.0.0-beta.3 (specifically the line "Added launchdarkly_server_sdk_redis module to support Redis as an external feature store"). Can you verify and update the code?

Co-Authored-By: Aaron Zeisler <azeisler@launchdarkly.com>
@devin-ai-integration
Copy link
Contributor Author

Done — added storingDataRedis at version 1.0. Verified via CHANGELOG entry under 1.0.0-beta.3: "Added launchdarkly_server_sdk_redis module to support Redis as an external feature store." Since 1.0 is the first stable release, used 1.0 as the introduced version.

@aaron-zeisler aaron-zeisler marked this pull request as ready for review March 16, 2026 19:14
@aaron-zeisler aaron-zeisler requested a review from a team as a code owner March 16, 2026 19:14
@kinyoklion
Copy link
Member

Devin, this SDK is a wrapper around the C++ server SDK, so some features are inherited from it. In this SDK you may have to check the code for some features. For example "appMetadata" is supported in our C++ server SDK, and lua has @tparam[opt] table config.appInfo Specify metadata related to your application., which lets you use that feature of the C++ SDK.

@kinyoklion
Copy link
Member

 FIELD("offline", LUA_TBOOLEAN, parse_bool, LDServerConfigBuilder_Offline)

Co-Authored-By: Aaron Zeisler <azeisler@launchdarkly.com>
@devin-ai-integration
Copy link
Contributor Author

Good catch — added both inherited features from the C++ server SDK:

  • appMetadata at 1.0 — confirmed via config.appInfo field in launchdarkly-server-sdk.c (lines 942-947, 972)
  • offlineMode at 1.0 — confirmed via FIELD("offline", LUA_TBOOLEAN, parse_bool, LDServerConfigBuilder_Offline) (line 974)

I also checked for other C++ server SDK features (hooks, bigSegments, webProxy, testData, fileData) but none of those are exposed in the Lua SDK code. Now 13 features total.

"wrapperNames": ["lua-server-sdk"],
"features": {
"allFlags": { "introduced": "1.0" },
"appMetadata": { "introduced": "1.0" },
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin, this looks like it was introduced in this PR: 95e9718

Which would not correlate to 1.0.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right — I checked the git history and commit 95e9718 (feat!: use C++ Server-side SDK 3.0 bindings) is the first one that adds config.appInfo. The earliest tag containing that commit is v2.0.0, so I've corrected appMetadata from 1.02.0.

Note: offlineMode remains at 1.0 because the offline config option was present since 1.0.0-beta.3 (commit c4917d9).

Co-Authored-By: Aaron Zeisler <azeisler@launchdarkly.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants