Releases: vercel/flags
@vercel/flags-core@1.4.0
Minor Changes
- 80dcdad: Add progressive rollout outcome
@flags-sdk/vercel@1.3.0
flags@4.0.6
Patch Changes
-
c08f3e5: Improve performance by caching
next/headersimports.Previously every flag evaluation in Next.js App Router would run
await import("next/headers"). The imported module is cached by
the runtime, but we would still go through the event loop unnecessarily.Now we cache the resolved module in a local variable so only the
first call awaits the dynamic import; subsequent calls skip the
microtask entirely. -
c08f3e5: Reduce microtask queue overhead in flag evaluation by replacing the async IIFE around
decide()with a direct call andPromise.resolve().
@vercel/prepare-flags-definitions@0.2.1
Patch Changes
-
b755ffe: Fix SDK key detection to avoid false positives with third-party identifiers.
The SDK key validation now uses a regex to require the format
vf_server_*orvf_client_*instead of accepting any string starting withvf_. This prevents false positives with third-party service identifiers that happen to start withvf_(e.g., Stripe identity flow IDs likevf_1PyHgVLpWuMxVFx...).
@vercel/flags-core@1.3.1
Patch Changes
-
b755ffe: Fix SDK key detection to avoid false positives with third-party identifiers.
The SDK key validation now uses a regex to require the format
vf_server_*orvf_client_*instead of accepting any string starting withvf_. This prevents false positives with third-party service identifiers that happen to start withvf_(e.g., Stripe identity flow IDs likevf_1PyHgVLpWuMxVFx...).
@flags-sdk/vercel@1.2.1
Patch Changes
- Updated dependencies [b755ffe]
- @vercel/flags-core@1.3.1
@vercel/flags-core@1.2.1
Patch Changes
- b81963d: Loosen the type restrictions on the
Evaluationtype as the previous implementation would only work withinterfacebut not withtypethat lead to an accidental breaking change.
@flags-sdk/vercel@1.1.1
@vercel/flags-core@1.2.0
Minor Changes
-
64619d7: Allow specifying entities type when creating clients
You can now create clients while specifying the entities type:
type Entities = { user: { id: string; name?: string } }; const client = createClient<Entities>(""); client.evaluate("flagKey", undefined, { user: { id: "" } }); // uses Entities type for context
You can still narrow the entities type when evaluating flags:
client.evaluate<{ user: { id: string; name: string } }>( "flagKey", false, { user: { id: "", name: "" } } // uses custom entities type );
Patch Changes
- 4a5f56a: Skip sending config read events for dev and custom backends
@flags-sdk/vercel@1.1.0
Minor Changes
-
64619d7: Allow specifying entities type when creating clients
You can now create clients while specifying the entities type:
type Entities = { user: { id: string; name?: string } }; const client = createClient<Entities>(""); client.evaluate("flagKey", undefined, { user: { id: "" } }); // uses Entities type for context
You can still narrow the entities type when evaluating flags:
client.evaluate<{ user: { id: string; name: string } }>( "flagKey", false, { user: { id: "", name: "" } } // uses custom entities type );