Skip to content

Conversation

@jsonbailey
Copy link
Contributor

@jsonbailey jsonbailey commented Jan 16, 2026

Requirements

  • I have added test coverage for new or changed functionality
  • I have followed the repository's pull request submission guidelines
  • I have validated my changes against all supported platform versions

Note: This is a metadata-only change that doesn't require test coverage or platform validation.

Related issues

N/A - This is a metadata update to document SDK features.

Describe the solution you've provided

This PR adds a features object to .sdk_metadata.json documenting all the features supported by the Ruby Server SDK and the version in which each was introduced. The feature list was derived from the SDK features documentation and uses canonical feature names from feature_info.json.

Features documented (24 total):

  • allFlags, appMetadata, bigSegments, contexts, experimentation, fileDataSource, flagChanges, hooks, inlineContextFeatureEvents, migrations, offlineMode, omitAnonContexts, otel, privateAttrs, relayProxyDaemon, relayProxyProxy, secureMode, storingData, storingDataConsul, storingDataDynamodb, storingDataRedis, testDataSource, track, variationDetail, webProxy

Describe alternatives you've considered

N/A

Additional context

  • Feature keys use camelCase to match the canonical names in sdk-meta's feature_info.json
  • The storing data sub-features (storingDataConsul, storingDataDynamodb, storingDataRedis) were added to sdk-meta in PR #328 (now merged)
  • The schema was updated in PR #330 to allow optional patch versions (now merged)

Updates since last revision

Updated feature versions to include patch versions where the documentation specifies them:

  • allFlags: 2.0.1
  • fileDataSource: 5.4.1
  • secureMode: 2.0.1
  • storingData: 2.3.1
  • storingDataRedis: 2.3.1
  • webProxy: 2.2.5

Human review checklist

  • Verify version numbers match the documentation table for Ruby SDK (5th column in "Server-side SDKs, L-Z" section)
  • Verify feature key naming matches canonical names in sdk-meta's feature_info.json
  • Confirm inlineContextFeatureEvents version (8.3) is correct - this is for feature/evaluation events per CHANGELOG 8.3.0, distinct from "Inline contexts in custom events" (8.9) in the docs

Requested by: @jsonbailey
Link to Devin run: https://app.devin.ai/sessions/49b44fe704ac4382802b7b3dc07970a6

@jsonbailey jsonbailey requested a review from a team as a code owner January 16, 2026 18:56
@devin-ai-integration
Copy link

🤖 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

"introduced": "8.4"
},
"inlineContextFeatureEvents": {
"introduced": "8.3"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Double check that this is accurate.

Choose a reason for hiding this comment

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

I verified this in the CHANGELOG. There are actually two different inline context features:

  1. 8.3.0: "Inline contexts for all evaluation events" - This is inlineContextFeatureEvents (inlining contexts in feature/evaluation events)
  2. 8.9.0: "Inline context for custom and migration op events" - This is for custom events (different feature)

The sdk-meta feature inlineContextFeatureEvents has description "The SDK will inline the context inside feature events" which matches the 8.3.0 feature. The documentation row "Inline contexts in custom events" (8.9) refers to custom events, which is a different capability.

So 8.3 is correct for inlineContextFeatureEvents.

"introduced": "2.0.1"
},
"storingData": {
"introduced": "2.3"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This looks like its missing a minor version

Choose a reason for hiding this comment

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

Good catch! Updated storingData from "2.3" to "2.3.1" to match the documentation which shows "2.3.1 (Redis), 5.5 (Consul and DynamoDB)" for Ruby.

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