From 6c97ede52cfcfffb50ffbdd226a3ea8f680cf5a3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 10:50:12 +0000 Subject: [PATCH] chore(release): version SDK packages --- .changeset/quiet-pianos-listen.md | 16 ---------------- sdks/go/CHANGELOG.md | 2 +- sdks/go/package.json | 2 +- sdks/python/CHANGELOG.md | 2 +- sdks/python/package.json | 2 +- sdks/python/pyproject.toml | 2 +- sdks/python/uv.lock | 2 +- sdks/typescript/CHANGELOG.md | 17 +++++++++++++++++ sdks/typescript/package.json | 2 +- 9 files changed, 24 insertions(+), 23 deletions(-) delete mode 100644 .changeset/quiet-pianos-listen.md diff --git a/.changeset/quiet-pianos-listen.md b/.changeset/quiet-pianos-listen.md deleted file mode 100644 index b451e57..0000000 --- a/.changeset/quiet-pianos-listen.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -'@cloudflare/flagship': minor ---- - -Add an injectable `fetch` transport and caller `AbortSignal` propagation to `FlagshipClient` - -- `FlagshipProviderOptions.fetch?: typeof globalThis.fetch` sets the transport for a client. It defaults to `globalThis.fetch`, resolved at call time, and the SDK never assigns to the global — so routing evaluations through a Workers service binding or stubbing the transport in tests no longer requires mutating `globalThis.fetch` and exposing unrelated traffic in the same isolate. -- `evaluate(flagKey, context, { fetch?, signal? })` adds per-call overrides. `signal` is merged with the request timeout and with `fetchOptions.signal` (previously silently discarded), so a caller abort now aborts the in-flight HTTP request instead of only abandoning the promise. An already-aborted signal rejects without issuing a request. -- New `FlagshipErrorCode.ABORTED` distinguishes caller cancellation from `TIMEOUT_ERROR`. Caller aborts interrupt in-flight requests and retry delays and are never retried; timeout aborts are still retried as before. -- New `FlagshipError.retryable` reports whether a failure was transient. `408`, `425`, `429`, `5xx`, connection failures, timeouts, and malformed bodies are retryable; other non-2xx responses (`400`, `401`, `403`, `404`, `422`, …) and caller aborts are terminal. This lets consumers implement fail-closed-without-caching instead of guessing from `NETWORK_ERROR` alone. -- `FlagshipServerProvider` and `FlagshipClientProvider` accept and forward `fetch` in HTTP mode; combining it with `binding` throws like the other HTTP-only options. - -Behaviour changes for existing callers, who are otherwise unaffected: - -- Previously every non-2xx except `400` and `404` was retried. Definitively terminal statuses such as `401`, `403`, and `422` are now propagated immediately. -- The request timeout now also covers reading the response body, so a stalled body read no longer holds the request open past `timeout`. diff --git a/sdks/go/CHANGELOG.md b/sdks/go/CHANGELOG.md index 2bbffda..111f0bd 100644 --- a/sdks/go/CHANGELOG.md +++ b/sdks/go/CHANGELOG.md @@ -1,3 +1,3 @@ # @cloudflare/flagship-go -## 0.4.2 +## 0.5.0 diff --git a/sdks/go/package.json b/sdks/go/package.json index ccb13de..114743e 100644 --- a/sdks/go/package.json +++ b/sdks/go/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/flagship-go", - "version": "0.4.2", + "version": "0.5.0", "private": true, "description": "OpenFeature provider for Cloudflare Flagship feature flags in Go.", "license": "Apache-2.0" diff --git a/sdks/python/CHANGELOG.md b/sdks/python/CHANGELOG.md index 8994a25..504e72c 100644 --- a/sdks/python/CHANGELOG.md +++ b/sdks/python/CHANGELOG.md @@ -1,3 +1,3 @@ # @cloudflare/flagship-python -## 0.4.2 +## 0.5.0 diff --git a/sdks/python/package.json b/sdks/python/package.json index d0febee..f7c3447 100644 --- a/sdks/python/package.json +++ b/sdks/python/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/flagship-python", - "version": "0.4.2", + "version": "0.5.0", "description": "OpenFeature provider for Cloudflare Flagship feature flags (Python)", "private": true, "license": "Apache-2.0", diff --git a/sdks/python/pyproject.toml b/sdks/python/pyproject.toml index 437c06c..a723a06 100644 --- a/sdks/python/pyproject.toml +++ b/sdks/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "uv_build" [project] name = "cloudflare-flagship" -version = "0.4.2" +version = "0.5.0" description = "OpenFeature provider for Cloudflare Flagship feature flags." readme = "README.md" license = "Apache-2.0" diff --git a/sdks/python/uv.lock b/sdks/python/uv.lock index b05c98a..6de84af 100644 --- a/sdks/python/uv.lock +++ b/sdks/python/uv.lock @@ -45,7 +45,7 @@ wheels = [ [[package]] name = "cloudflare-flagship" -version = "0.4.2" +version = "0.5.0" source = { editable = "." } dependencies = [ { name = "cachetools" }, diff --git a/sdks/typescript/CHANGELOG.md b/sdks/typescript/CHANGELOG.md index 380054d..f26b7e2 100644 --- a/sdks/typescript/CHANGELOG.md +++ b/sdks/typescript/CHANGELOG.md @@ -1,5 +1,22 @@ # @cloudflare/flagship +## 0.5.0 + +### Minor Changes + +- [#30](https://github.com/cloudflare/flagship/pull/30) [`6f75421`](https://github.com/cloudflare/flagship/commit/6f75421e75b612fde1de7c94b1ddc984d60b8344) Thanks [@akshitsinha](https://github.com/akshitsinha)! - Add an injectable `fetch` transport and caller `AbortSignal` propagation to `FlagshipClient` + + - `FlagshipProviderOptions.fetch?: typeof globalThis.fetch` sets the transport for a client. It defaults to `globalThis.fetch`, resolved at call time, and the SDK never assigns to the global — so routing evaluations through a Workers service binding or stubbing the transport in tests no longer requires mutating `globalThis.fetch` and exposing unrelated traffic in the same isolate. + - `evaluate(flagKey, context, { fetch?, signal? })` adds per-call overrides. `signal` is merged with the request timeout and with `fetchOptions.signal` (previously silently discarded), so a caller abort now aborts the in-flight HTTP request instead of only abandoning the promise. An already-aborted signal rejects without issuing a request. + - New `FlagshipErrorCode.ABORTED` distinguishes caller cancellation from `TIMEOUT_ERROR`. Caller aborts interrupt in-flight requests and retry delays and are never retried; timeout aborts are still retried as before. + - New `FlagshipError.retryable` reports whether a failure was transient. `408`, `425`, `429`, `5xx`, connection failures, timeouts, and malformed bodies are retryable; other non-2xx responses (`400`, `401`, `403`, `404`, `422`, …) and caller aborts are terminal. This lets consumers implement fail-closed-without-caching instead of guessing from `NETWORK_ERROR` alone. + - `FlagshipServerProvider` and `FlagshipClientProvider` accept and forward `fetch` in HTTP mode; combining it with `binding` throws like the other HTTP-only options. + + Behaviour changes for existing callers, who are otherwise unaffected: + + - Previously every non-2xx except `400` and `404` was retried. Definitively terminal statuses such as `401`, `403`, and `422` are now propagated immediately. + - The request timeout now also covers reading the response body, so a stalled body read no longer holds the request open past `timeout`. + ## 0.4.2 ### Patch Changes diff --git a/sdks/typescript/package.json b/sdks/typescript/package.json index 3b6b402..9dd4ace 100644 --- a/sdks/typescript/package.json +++ b/sdks/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/flagship", - "version": "0.4.2", + "version": "0.5.0", "description": "OpenFeature provider for Flagship feature flags", "type": "module", "main": "./dist/index.cjs",