quonfig-openfeature 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/VERSION +1 -1
- data/lib/quonfig/openfeature/provider.rb +16 -6
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 36f41778142500638c95acd53e753e1d1ff4b33ab8ef34438b54d2261dcc5d5f
|
|
4
|
+
data.tar.gz: cb71a68a50a9bd3fc09bfe83b0b13125c9d571343b655fc07982048803a3d754
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e59756be3d86a0694086cf585d5e3c5126179e5116f72804f80ecf79d548dee2843d53761eb59e5090d706175004f1770f5fb9c954d54794ce37fea2de81e171
|
|
7
|
+
data.tar.gz: 9cb3224d767dd5d0bb3a70064d436ea595e0f6a24f7cc2936c228b943cef010b409547fdb1ef384a378752a9a32a6e3a5b4bf4ce36dba0b3dfe16ffffc3306fb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.0.7 - 2026-05-15
|
|
4
|
+
|
|
5
|
+
- **Chore: bump `quonfig` runtime floor to `>= 0.0.16` (qfg-35sm + four post-review hardening fixes).** The 0.0.16 release of the native Ruby SDK replaces `ld-eventsource` entirely with an SDK-owned SSE reconnect loop and lands four post-review hardening fixes: `Thread#raise` containment via `handle_interrupt` (qfg-tj18), `on_envelope` callback isolation so a buggy listener can't cause reconnect storms (qfg-m3lk), 401/403/404 terminal-error classification so bad SDK keys stop hammering api-delivery-sse (qfg-i5xv), and a `Process._fork` hook so SSE auto-restarts in Puma/Unicorn workers without manual `on_worker_boot` wiring (qfg-ryov). Provider code is unchanged — all four improvements live in the SDK's SSE delivery path and fork lifecycle. Tightening the floor signals this provider is tested against and requires the production-hardened SDK.
|
|
6
|
+
|
|
7
|
+
## 0.0.6 - 2026-05-15
|
|
8
|
+
|
|
9
|
+
- **Chore: bump `quonfig` runtime floor to `>= 0.0.15` (qfg-ie49).** The 0.0.15 release of the native Ruby SDK fixes how `restart_total` (Layer 1 SSE) is counted under clean-FIN reconnects and hardens the reconnect-counting logger wrapper against worker-thread death. Provider code is unchanged — the fix is in the SDK's SSE delivery path. Tightening the floor signals this provider is tested against and requires the fixed SDK so downstream installs of the OpenFeature provider can't pull in an SSE-restart-buggy SDK.
|
|
10
|
+
|
|
3
11
|
## 0.0.5 - 2026-05-07
|
|
4
12
|
|
|
5
13
|
- **Chore: bump `quonfig` runtime floor to `>= 0.0.13` (qfg-7jnb.11).** The 0.0.13 release of the native Ruby SDK adds support for the `IS_PRESENT` and `IS_NOT_PRESENT` targeting operators (qfg-7jnb.6). Tightening the floor signals that this provider is tested against and requires the new SDK; downstream Bundler resolutions already on `>= 0.0.12` would have picked up 0.0.13 automatically, but the explicit floor prevents a stale install from masking missing-operator behaviour.
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.7
|
|
@@ -145,21 +145,29 @@ module Quonfig
|
|
|
145
145
|
# the SDK consumes. The Quonfig SDK's *_details methods don't raise, so
|
|
146
146
|
# this is a pure mapping layer.
|
|
147
147
|
def to_resolution(details, default_value)
|
|
148
|
+
variant = details.variant
|
|
149
|
+
flag_metadata = details.flag_metadata || {}
|
|
148
150
|
case details.reason
|
|
149
151
|
when ::Quonfig::EvaluationDetails::REASON_STATIC
|
|
150
|
-
ResolutionDetails.new(value: details.value, reason: Reason::STATIC
|
|
152
|
+
ResolutionDetails.new(value: details.value, reason: Reason::STATIC,
|
|
153
|
+
variant: variant, flag_metadata: flag_metadata)
|
|
151
154
|
when ::Quonfig::EvaluationDetails::REASON_TARGETING_MATCH
|
|
152
|
-
ResolutionDetails.new(value: details.value, reason: Reason::TARGETING_MATCH
|
|
155
|
+
ResolutionDetails.new(value: details.value, reason: Reason::TARGETING_MATCH,
|
|
156
|
+
variant: variant, flag_metadata: flag_metadata)
|
|
153
157
|
when ::Quonfig::EvaluationDetails::REASON_SPLIT
|
|
154
|
-
ResolutionDetails.new(value: details.value, reason: Reason::SPLIT
|
|
158
|
+
ResolutionDetails.new(value: details.value, reason: Reason::SPLIT,
|
|
159
|
+
variant: variant, flag_metadata: flag_metadata)
|
|
155
160
|
when ::Quonfig::EvaluationDetails::REASON_DEFAULT
|
|
156
|
-
ResolutionDetails.new(value: default_value, reason: Reason::DEFAULT
|
|
161
|
+
ResolutionDetails.new(value: default_value, reason: Reason::DEFAULT,
|
|
162
|
+
variant: variant, flag_metadata: flag_metadata)
|
|
157
163
|
when ::Quonfig::EvaluationDetails::REASON_ERROR
|
|
158
164
|
ResolutionDetails.new(
|
|
159
165
|
value: default_value,
|
|
160
166
|
reason: Reason::ERROR,
|
|
161
167
|
error_code: map_error_code(details.error_code),
|
|
162
|
-
error_message: details.error_message
|
|
168
|
+
error_message: details.error_message,
|
|
169
|
+
variant: variant,
|
|
170
|
+
flag_metadata: flag_metadata
|
|
163
171
|
)
|
|
164
172
|
else
|
|
165
173
|
# Defensive default: surface as ERROR so unknown reasons don't
|
|
@@ -168,7 +176,9 @@ module Quonfig
|
|
|
168
176
|
value: default_value,
|
|
169
177
|
reason: Reason::ERROR,
|
|
170
178
|
error_code: ErrorCode::GENERAL,
|
|
171
|
-
error_message: "unknown reason: #{details.reason.inspect}"
|
|
179
|
+
error_message: "unknown reason: #{details.reason.inspect}",
|
|
180
|
+
variant: variant,
|
|
181
|
+
flag_metadata: flag_metadata
|
|
172
182
|
)
|
|
173
183
|
end
|
|
174
184
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: quonfig-openfeature
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jeff Dwyer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-05-
|
|
11
|
+
date: 2026-05-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: openfeature-sdk
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.0.
|
|
33
|
+
version: 0.0.16
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.0.
|
|
40
|
+
version: 0.0.16
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: minitest
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|