diff --git a/.changeset/cute-ties-sink.md b/.changeset/cute-ties-sink.md deleted file mode 100644 index 4ab9520e..00000000 --- a/.changeset/cute-ties-sink.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@reflag/node-sdk": minor ---- - -Introduce flag fallback providers - -Add support for `flagsFallbackProvider`, a reliability feature that lets the Node SDK persist the latest successfully fetched flag definitions to fallback storage such as a local file, S3, Redis, or a custom backend. - -Reflag servers remain the primary source of truth. On startup, the SDK still tries to fetch a live snapshot first. If that initial fetch fails, it can load the last saved snapshot from the fallback provider so new processes can still initialize in the exceedingly rare case that Reflag has an outage. - -After successfully fetching updated flag definitions, the SDK saves the latest definitions back through the provider to keep the fallback snapshot up to date. - -This improves service startup reliability and outage recovery without changing normal flag evaluation behavior. diff --git a/packages/node-sdk/CHANGELOG.md b/packages/node-sdk/CHANGELOG.md index 9792e4c9..cf4e7d80 100644 --- a/packages/node-sdk/CHANGELOG.md +++ b/packages/node-sdk/CHANGELOG.md @@ -1,5 +1,19 @@ # @reflag/node-sdk +## 1.4.0 + +### Minor Changes + +- dca2bd7: Introduce flag fallback providers + + Add support for `flagsFallbackProvider`, a reliability feature that lets the Node SDK persist the latest successfully fetched flag definitions to fallback storage such as a local file, S3, Redis, or a custom backend. + + Reflag servers remain the primary source of truth. On startup, the SDK still tries to fetch a live snapshot first. If that initial fetch fails, it can load the last saved snapshot from the fallback provider so new processes can still initialize in the exceedingly rare case that Reflag has an outage. + + After successfully fetching updated flag definitions, the SDK saves the latest definitions back through the provider to keep the fallback snapshot up to date. + + This improves service startup reliability and outage recovery without changing normal flag evaluation behavior. + ## 1.3.0 ### Minor Changes diff --git a/packages/node-sdk/package.json b/packages/node-sdk/package.json index 86758b28..8116fa66 100644 --- a/packages/node-sdk/package.json +++ b/packages/node-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@reflag/node-sdk", - "version": "1.3.0", + "version": "1.4.0", "license": "MIT", "repository": { "type": "git", diff --git a/packages/openfeature-node-provider/CHANGELOG.md b/packages/openfeature-node-provider/CHANGELOG.md index 5f2dfe25..d6621c79 100644 --- a/packages/openfeature-node-provider/CHANGELOG.md +++ b/packages/openfeature-node-provider/CHANGELOG.md @@ -1,5 +1,12 @@ # @reflag/openfeature-node-provider +## 1.0.3 + +### Patch Changes + +- Updated dependencies [dca2bd7] + - @reflag/node-sdk@1.4.0 + ## 1.0.2 ### Patch Changes diff --git a/packages/openfeature-node-provider/package.json b/packages/openfeature-node-provider/package.json index b5faa4f7..b35764e8 100644 --- a/packages/openfeature-node-provider/package.json +++ b/packages/openfeature-node-provider/package.json @@ -1,6 +1,6 @@ { "name": "@reflag/openfeature-node-provider", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "repository": { "type": "git", @@ -50,7 +50,7 @@ "vitest": "~1.6.0" }, "dependencies": { - "@reflag/node-sdk": "1.3.0" + "@reflag/node-sdk": "1.4.0" }, "peerDependencies": { "@openfeature/server-sdk": ">=1.16.1" diff --git a/yarn.lock b/yarn.lock index 0cf4d956..eedfc008 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6732,7 +6732,7 @@ __metadata: languageName: unknown linkType: soft -"@reflag/node-sdk@npm:1.3.0, @reflag/node-sdk@workspace:^, @reflag/node-sdk@workspace:packages/node-sdk": +"@reflag/node-sdk@npm:1.4.0, @reflag/node-sdk@workspace:^, @reflag/node-sdk@workspace:packages/node-sdk": version: 0.0.0-use.local resolution: "@reflag/node-sdk@workspace:packages/node-sdk" dependencies: @@ -6787,7 +6787,7 @@ __metadata: "@openfeature/core": "npm:^1.5.0" "@openfeature/server-sdk": "npm:>=1.16.1" "@reflag/eslint-config": "npm:~0.0.2" - "@reflag/node-sdk": "npm:1.3.0" + "@reflag/node-sdk": "npm:1.4.0" "@reflag/tsconfig": "npm:~0.0.2" "@types/node": "npm:^22.12.0" eslint: "npm:^9.21.0"