featurevisor-openfeature 1.1.0 → 2.0.0

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +9 -2
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac21a86ef0432191f6a12f262dd00b524f520a0e5a1cd88bf2029b0428842c46
4
- data.tar.gz: 9add287e8f085ee1b446db5ccf5c577a2f4758a78be61ca36dc0af4793b9f8ab
3
+ metadata.gz: 82c9c9135ecbcd5961523a67d92b068f019eaff3db7d8685f050c074766ef9de
4
+ data.tar.gz: ac09d5e0b55134b4184c599b430d4db35c1740aa70a5afdf59673aed98cd7620
5
5
  SHA512:
6
- metadata.gz: f0ea87c62a2cfbe51bd00c5d3d75b2fb1f26f2989d5df8cfe44f52fba840374673c439960855441783074c61e531185d11decd393838cc7da485740467e53e3e
7
- data.tar.gz: d93238543cd2e2bef46ed2d2bc6c56ce4ca6bf8fc35211a837f1523d1e14c7bcbb016a7aea95d2b1057e2d09632d949c928d098495d0315a38fc868fdb640ae4
6
+ metadata.gz: 30b5381e7d8dcd6e5d789bda4923690b69fcc4902dbeee29b81537383d79d583e6ea3138f2600e475e79ffaeb11732c65c9ddc88befcf08ad07cf185cc82f178
7
+ data.tar.gz: 4dbbdd99168585f1f714cef6a476122e263f354d1cb379594ecdd7440ae9155a2f02ed6f659e08cb9c4206bcf7c6c97ea503a8968e55fd0f6eefcd11772599d9
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2025 Fahad Heylaal (https://fahad19.com)
3
+ Copyright (c) 2026 Fahad Heylaal (https://fahad19.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -89,6 +89,8 @@ f = Featurevisor.create_featurevisor(
89
89
 
90
90
  Most applications only need this factory and the returned `Featurevisor::Instance`. Public extension and observability APIs include modules, diagnostics, events, and the datafile structures accepted by the factory.
91
91
 
92
+ Concurrent evaluations are safe after an instance is configured. Do not mutate or close the same instance concurrently with evaluations. Serialize calls to `set_datafile`, `set_context`, `set_sticky`, `add_module`, `remove_module`, and `close`. Module, event, and diagnostic callbacks must synchronize mutable state that they capture.
93
+
92
94
  ## Initialization
93
95
 
94
96
  The SDK can be initialized by passing [datafile](https://featurevisor.com/docs/building-datafiles/) content directly:
@@ -697,6 +699,8 @@ f.remove_module('my-custom-module')
697
699
 
698
700
  ## Child instance
699
701
 
702
+ A child snapshots the parent keys that exist when it is spawned. Child values win for those keys. Parent keys introduced later are still inherited. Calling `close` removes both child-owned listeners and subscriptions delegated to the parent.
703
+
700
704
  When dealing with purely client-side applications, it is understandable that there is only one user involved, like in browser or mobile applications.
701
705
 
702
706
  But when using Featurevisor SDK in server-side applications, where a single server instance can handle multiple user requests simultaneously, it is important to isolate the context for each request.
@@ -722,8 +726,11 @@ Similar to parent SDK, child instances also support several additional methods:
722
726
 
723
727
  - `set_context`
724
728
  - `set_sticky`
729
+ - `evaluate_flag`
725
730
  - `is_enabled`
731
+ - `evaluate_variation`
726
732
  - `get_variation`
733
+ - `evaluate_variable`
727
734
  - `get_variable`
728
735
  - `get_variable_boolean`
729
736
  - `get_variable_string`
@@ -821,7 +828,7 @@ The provider currently requires Ruby 3.4 or newer because that is the minimum ve
821
828
  Install the provider:
822
829
 
823
830
  ```ruby
824
- gem "featurevisor-openfeature", "~> 1.1"
831
+ gem "featurevisor-openfeature", "~> 2.0"
825
832
  ```
826
833
 
827
834
  It installs the matching `featurevisor` gem and the official `openfeature-sdk` dependency. The provider and base SDK deliberately share the same version, and the provider requires that exact Featurevisor version.
@@ -901,7 +908,7 @@ The build produces `featurevisor-VERSION.gem` and `featurevisor-openfeature-VERS
901
908
  - Run `bundle install`
902
909
  - Push commit to `main` branch
903
910
  - Wait for CI to complete
904
- - Tag the release with the same version number, for example `v1.1.0`
911
+ - Tag the release with the same version number, for example `v2.0.0`
905
912
  - The workflow verifies that the tag matches the shared version
906
913
  - The workflow publishes `featurevisor` first, followed by `featurevisor-openfeature`
907
914
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: featurevisor-openfeature
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fahad Heylaal
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 1.1.0
18
+ version: 2.0.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 1.1.0
25
+ version: 2.0.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: openfeature-sdk
28
28
  requirement: !ruby/object:Gem::Requirement