Skip to content

Commit 4525cdc

Browse files
chore: add missing features to .sdk_metadata.json (#1190)
**Requirements** - [x] I have added test coverage for new or changed functionality (N/A — metadata-only change) - [x] I have followed the repository's [pull request submission guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests) - [x] I have validated my changes against all supported platform versions (N/A — metadata-only change) **Related issues** Cross-referenced against [sdk-meta/feature_info.json](https://github.com/launchdarkly/sdk-meta/blob/main/products/feature_info.json). **Describe the solution you've provided** Adds 7 missing feature entries to `.sdk_metadata.json` that were identified by comparing changelogs, source code, and dependency chains against the canonical feature list in `sdk-meta/feature_info.json`. **Feature Correlation Table** | SDK | Feature Added | Introduced | Evidence | |---|---|---|---| | browser | `perContextSummaryEvents` | 0.7 | [CHANGELOG](packages/sdk/browser/CHANGELOG.md) — js-client-sdk v0.7.0 added per-context summary events ([#859](#859)). `createEventProcessor.ts` passes `summariesPerContext: true`. | | combined-browser | `perContextSummaryEvents` | 0.1 | First release (0.1.0) depended on js-client-sdk ≥ 0.12.0, which already includes the feature from 0.7.0. | | react-native | `perContextSummaryEvents` | 10.10.1 | [CHANGELOG](packages/sdk/react-native/CHANGELOG.md) — v10.10.1 bumped `js-client-sdk-common` from 1.13.0 → 1.14.0, which contains the per-context summary feature. | | node-server | `pollingResponseCompression` | 9.2 | [CHANGELOG](packages/sdk/server-node/CHANGELOG.md) — v9.2.0: "Implement handling for gzip compressed responses" ([#367](#367)). `NodeRequests.ts` sets `accept-encoding: gzip` on GET requests. | | node-server | `storingDataDynamodb` | 5.6 | Legacy [node-server-sdk-dynamodb](https://github.com/launchdarkly/node-server-sdk-dynamodb) v1.0.0 was released 2018-11-15, when the [legacy Node.js Server SDK](https://github.com/launchdarkly/node-server-sdk) was at v5.6.x (confirmed via git tag dates). | | server-ai | `aiAgentConfig` | 0.11 | [CHANGELOG](packages/sdk/server-ai/CHANGELOG.md) — v0.11.0: "Adding agent support for AI Configs" ([#893](#893)). `agentConfig()` method in `LDAIClientImpl.ts`. | | server-ai | `aiJudgeConfig` | 0.14 | [CHANGELOG](packages/sdk/server-ai/CHANGELOG.md) — v0.14.0: "Added judgeConfig method", "Added createJudge method" ([#969](#969)). `judgeConfig()` and `createJudge()` in `LDAIClientImpl.ts`. | **Items for reviewer attention** - **`storingDataDynamodb` version**: Listed as `5.6` based on cross-referencing the legacy [node-server-sdk](https://github.com/launchdarkly/node-server-sdk) repo's git tag dates with the [DynamoDB store's changelog](https://github.com/launchdarkly/node-server-sdk-dynamodb). The DynamoDB store v1.0.0 was released 2018-11-15; the Node SDK tags `5.6.0`–`5.6.2` land on 2018-11-14/15. Please verify this aligns with the intended convention (consistent with `storingDataRedis: 2.0`). - **Completeness**: Edge SDKs were evaluated but not updated. They inherit `variationDetail()`, `track()`, etc. from `LDClientImpl` via server-common, but their public options are restricted (e.g., edge-common's `validateOptions` only allows `logger`/`sendEvents`). Features requiring config options that aren't exposed were not added. **Describe alternatives you've considered** Considered also adding `variationDetail` and other inherited method-level features to edge SDKs, but decided against it since their public configuration surfaces are intentionally restricted and the metadata should reflect what's user-accessible, not just what code exists in a dependency. **Additional context** All feature entries maintain alphabetical ordering within each SDK's feature list, consistent with the existing file convention. Link to Devin session: https://app.devin.ai/sessions/42f7efc8482b4c2cbaa90fe04d8c40ff Requested by: @kinyoklion <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk metadata-only change that updates `.sdk_metadata.json` without altering runtime behavior. Main risk is incorrect feature/version attribution affecting downstream reporting or docs. > > **Overview** > Updates `.sdk_metadata.json` to fill in missing feature flags and introduction versions across several SDKs. > > Adds `perContextSummaryEvents` for `browser`, `combined-browser`, and `react-native`; adds `pollingResponseCompression` and `storingDataDynamodb` for `node-server`; and adds `aiAgentConfig` and `aiJudgeConfig` for `server-ai`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 54b7689. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent 5defaa7 commit 4525cdc

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

.sdk_metadata.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"flagChanges": { "introduced": "0.1" },
5757
"hooks": { "introduced": "0.3" },
5858
"inlineContextCustomEvents": { "introduced": "0.3" },
59+
"perContextSummaryEvents": { "introduced": "0.7" },
5960
"pluginSupport": { "introduced": "0.4" },
6061
"privateAttrs": { "introduced": "0.1" },
6162
"relayProxyProxy": { "introduced": "0.1" },
@@ -101,6 +102,7 @@
101102
"flagChanges": { "introduced": "0.1" },
102103
"hooks": { "introduced": "0.1" },
103104
"inlineContextCustomEvents": { "introduced": "0.1" },
105+
"perContextSummaryEvents": { "introduced": "0.1" },
104106
"pluginSupport": { "introduced": "0.1" },
105107
"privateAttrs": { "introduced": "0.1" },
106108
"relayProxyProxy": { "introduced": "0.1" },
@@ -148,6 +150,7 @@
148150
"hooks": { "introduced": "10.0" },
149151
"multiEnv": { "introduced": "4.2.0" },
150152
"offlineMode": { "introduced": "1.0" },
153+
"perContextSummaryEvents": { "introduced": "10.10.1" },
151154
"pluginSupport": { "introduced": "10.10" },
152155
"privateAttrs": { "introduced": "4.0" },
153156
"relayProxyProxy": { "introduced": "1.0" },
@@ -180,10 +183,12 @@
180183
"offlineMode": { "introduced": "1.0" },
181184
"otel": { "introduced": "9.3" },
182185
"pluginSupport": { "introduced": "9.10" },
186+
"pollingResponseCompression": { "introduced": "9.2" },
183187
"privateAttrs": { "introduced": "3.3" },
184188
"relayProxyDaemon": { "introduced": "1.0" },
185189
"relayProxyProxy": { "introduced": "1.0" },
186190
"secureMode": { "introduced": "3.0" },
191+
"storingDataDynamodb": { "introduced": "5.6" },
187192
"storingDataRedis": { "introduced": "2.0" },
188193
"testDataSource": { "introduced": "6.3" },
189194
"track": { "introduced": "1.0" },
@@ -214,7 +219,9 @@
214219
},
215220
"userAgents": ["NodeJSAIClient"],
216221
"features": {
222+
"aiAgentConfig": { "introduced": "0.11" },
217223
"aiCompletionConfig": { "introduced": "0.1" },
224+
"aiJudgeConfig": { "introduced": "0.14" },
218225
"aiTrackMetrics": { "introduced": "0.1" },
219226
"contexts": { "introduced": "0.1" },
220227
"experimentation": { "introduced": "0.1" },

0 commit comments

Comments
 (0)