Skip to content

chore: Update sdk_metadata features#170

Merged
kinyoklion merged 2 commits into
mainfrom
devin/1770938405-update-sdk-metadata-features
Feb 13, 2026
Merged

chore: Update sdk_metadata features#170
kinyoklion merged 2 commits into
mainfrom
devin/1770938405-update-sdk-metadata-features

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

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

N/A

Describe the solution you've provided

Adds a features map to .sdk_metadata.json listing all features the Erlang Server SDK supports, with their introduction versions. Features were identified by cross-referencing:

  1. The SDK's column in the server-side SDK feature table (A-K section, Erlang column)
  2. Canonical feature keys from feature_info.json
  3. The repository's CHANGELOG.md for version verification

16 features are included (alphabetical): allFlags, appMetadata, contexts, experimentation, fileDataSource, inlineContextCustomEvents, inlineContextEvaluationEvents, offlineMode, privateAttrs, relayProxyDaemon, relayProxyProxy, storingData, storingDataRedis, testDataSource, track, variationDetail.

Items for reviewer attention:

  • fileDataSource version is 1.2, not 1.0 as the docs table states. The CHANGELOG clearly shows file data source was added in v1.2.0, not v1.0.0. This appears to be a docs table error.
  • inlineContextEvaluationEvents at 3.2 was identified from the CHANGELOG (v3.2.0: "Always inline contexts for feature events") but is not explicitly listed as a row in the docs table. The docs table only has "Inline contexts in custom events" as a row. Verify this is a correct addition.
  • storingDataRedis at 1.0 was added alongside the generic storingData since Redis is the only persistent store the SDK supports (added in v1.0.0 per CHANGELOG). Verify both entries are desired.
  • experimentation at 1.2: The docs table says 1.2. Basic experimentation support (track_with_metric) existed since pre-release, but 1.2 added experiment traffic allocation. Confirm 1.2 is the correct version.

Describe alternatives you've considered

Could have used the docs table version of 1.0 for fileDataSource verbatim, but the CHANGELOG evidence is clear that the feature was introduced in 1.2.0.

Additional context

Co-Authored-By: rlamb@launchdarkly.com <rlamb@launchdarkly.com>
@devin-ai-integration

Copy link
Copy Markdown
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

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Feature version sources

Feature Version Source
allFlags 1.0 Docs table (server-side A-K, Erlang column, "Getting all flags" row)
appMetadata 1.6 Docs table (server-side A-K, Erlang column, "Application metadata" row)
contexts 2.0 Docs table (server-side A-K, Erlang column, "Contexts and context kinds" row); verified via CHANGELOG v2.0.0
experimentation 1.2 Docs table (server-side A-K, Erlang column, "Experimentation" row); verified via CHANGELOG v1.2.0
fileDataSource 1.2 CHANGELOG v1.2.0 ("The SDK now supports the ability to read flags from a file"). Note: docs table says 1.0, but CHANGELOG shows it was added in 1.2.0, not 1.0.0.
inlineContextCustomEvents 3.7 Docs table (server-side A-K, Erlang column, "Inline contexts in custom events" row); verified via CHANGELOG v3.7.0
inlineContextEvaluationEvents 3.2 CHANGELOG v3.2.0 ("Always inline contexts for feature events"). Not listed as a separate row in the docs table, identified from CHANGELOG.
offlineMode 1.0 Docs table (server-side A-K, Erlang column, "Offline mode" row); verified via CHANGELOG v1.0.0-beta1
privateAttrs 1.0 Docs table (server-side A-K, Erlang column, "Private attributes" row); verified via CHANGELOG v1.0.0-alpha2
relayProxyDaemon 1.0 Docs table (server-side A-K, Erlang column, "Relay Proxy in daemon mode" row); verified via CHANGELOG v1.0.0 ("Added LDD mode")
relayProxyProxy 1.0 Docs table (server-side A-K, Erlang column, "Relay Proxy in proxy mode" row)
storingData 1.0 Docs table (server-side A-K, Erlang column, "Storing data" row); verified via CHANGELOG v1.0.0 ("Added Redis feature store")
storingDataRedis 1.0 CHANGELOG v1.0.0 ("Added Redis feature store"). Redis is the only persistent store supported.
testDataSource 1.4 Docs table (server-side A-K, Erlang column, "Test data sources" row); verified via CHANGELOG v1.4.0
track 1.0 Docs table (server-side A-K, Erlang column, "Sending custom events" row)
variationDetail 1.0 Docs table (server-side A-K, Erlang column, "Flag evaluation reasons" row); verified via CHANGELOG v1.0.0-alpha2

@kinyoklion kinyoklion marked this pull request as ready for review February 12, 2026 23:36
@kinyoklion kinyoklion requested a review from a team as a code owner February 12, 2026 23:36
@kinyoklion

Copy link
Copy Markdown
Member

The CI issues are independent, so those will be in another PR.

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Thanks for confirming!

kinyoklion added a commit that referenced this pull request Feb 13, 2026
**Requirements**

- [x] I have added test coverage for new or changed functionality — N/A,
CI infrastructure change only
- [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, CI infrastructure change only

**Related issues**

Fixes the CI failure in [PR
#170](#170) where
all three "Build and Test" matrix jobs fail at the Redis setup step.

**Describe the solution you've provided**

Updates the pinned SHA for `supercharge/redis-github-action` in
`.github/actions/ci/action.yml` from v1.8.0 (`ea9b21c...`) to v1.8.1
(`bc274cb...`).

The v1.8.0 Docker container action bundles a Docker client using API
version 1.40, which is now incompatible with the Docker daemon on
`ubuntu-24.04` runners (minimum API version 1.44). This causes the
error:

```
docker: Error response from daemon: client version 1.40 is too old.
Minimum supported API version is 1.44, please upgrade your client to a newer version.
```

**Human review checklist**

- [ ] Verify `bc274cb7238cd63a45029db04ee48c07a72609fd` corresponds to
the [v1.8.1
release](https://github.com/supercharge/redis-github-action/releases/tag/1.8.1)
of `supercharge/redis-github-action`
- [ ] Confirm CI passes with the updated action

**Describe alternatives you've considered**

Could replace the action entirely with a raw `docker run` step for
Redis, but updating to the latest release is the simplest and least
disruptive fix.

**Additional context**

- Link to Devin run:
https://app.devin.ai/sessions/6ca703ca90bb4f6795aa4922d3f5251a
- Requested by: rlamb@launchdarkly.com

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: rlamb@launchdarkly.com <rlamb@launchdarkly.com>
@kinyoklion kinyoklion merged commit 5cc5e27 into main Feb 13, 2026
6 checks passed
@kinyoklion kinyoklion deleted the devin/1770938405-update-sdk-metadata-features branch February 13, 2026 20:50
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