Commit 31e7222
feat: Update to 0.6.x openfeature-sdk. (#16)
**Requirements**
- [x] I have added test coverage for new or changed functionality
- [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
**Related issues**
N/A — routine dependency update to ensure compatibility with the latest
OpenFeature SDK and LaunchDarkly Server SDK.
**Describe the solution you've provided**
Updates the gemspec dependency constraints so the provider works with
the latest releases of both SDKs:
| Dependency | Before | After | Latest resolved |
|---|---|---|---|
| `launchdarkly-server-sdk` | `~> 8.4.0` (only 8.4.x) | `~> 8.4` (any
8.x ≥ 8.4) | 8.12.3 |
| `openfeature-sdk` | `~> 0.4.0` (only 0.4.x) | `~> 0.6.0` (0.6.x) |
0.6.4 |
Because `openfeature-sdk` 0.6.0 requires Ruby ≥ 3.4, the gem's
`required_ruby_version` is also raised from `>= 3.1` to `>= 3.4`.
The CI workflow is updated to match the new Ruby version floor:
- Linux matrix: Ruby 3.1, 3.2 replaced with Ruby 3.4
- Windows job: Ruby 3.1 → 3.4
- JRuby 9.4 upgraded to JRuby 10.0 (10.0.x targets Ruby 3.4
compatibility)
All 54 existing tests pass and rubocop is clean with the updated
dependencies. No source code changes were required — the provider API
surface used (`ResolutionDetails`, `Reason`, `ErrorCode`,
`ProviderMetadata`) is unchanged between OF SDK 0.4.x and 0.6.x.
End-to-end validation was also performed using the
`hello-openfeature-ruby-server` app against a live LaunchDarkly
environment.
**Key items for review**
1. **Ruby version floor bump (3.1 → 3.4):** This is the most impactful
change. It is required by `openfeature-sdk` 0.6.x and narrows the set of
supported Ruby versions.
2. **JRuby 9.4 → 10.0:** JRuby 9.4 targets Ruby 3.1 and cannot satisfy
`>= 3.4`. JRuby 10.0.x targets Ruby 3.4 and CI passes, but it is a
relatively new release — worth a sanity check.
3. **OF SDK 0.5.0 breaking change skipped:** 0.5.0 removed `setProvider`
timeout; this provider does not use that API, so no code changes needed,
but worth a quick sanity check.
4. **No new tests added:** The existing test suite covers the provider
interface adequately and passes against the new SDK versions. No
behavioral changes are expected.
**Describe alternatives you've considered**
- Targeting `openfeature-sdk ~> 0.5.0` instead of `~> 0.6.0` to keep
Ruby 3.1 support. This was rejected because the task requires
compatibility with the *latest* OpenFeature SDK (0.6.4).
**Additional context**
[Devin
session](https://app.devin.ai/sessions/12ec66b7d96541788de508df01607fa4)
| Requested by @kinyoklion
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Dependency and Ruby version floor bumps can introduce compatibility
issues for consumers and CI coverage changes may miss regressions on
older Rubies/JRuby variants.
>
> **Overview**
> Updates the gem's runtime dependency constraints to allow newer
`launchdarkly-server-sdk` 8.x (>= 8.4) and to require `openfeature-sdk`
`~> 0.6.0`.
>
> Raises the minimum supported Ruby from `>= 3.1` to `>= 3.4` and aligns
CI to test Ruby `3.4` (Linux/Windows) with JRuby updated to `jruby-10.0`
(docs build still skipped on JRuby).
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
825d954. 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 63ffbbf commit 31e7222
2 files changed
Lines changed: 6 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | | - | |
22 | | - | |
| 20 | + | |
| 21 | + | |
23 | 22 | | |
24 | 23 | | |
25 | 24 | | |
| |||
46 | 45 | | |
47 | 46 | | |
48 | 47 | | |
49 | | - | |
| 48 | + | |
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
| 31 | + | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
0 commit comments