Skip to main content

Vercel Flags SDK - OpenFeature Adapter

· 3 min read
Jonathan Norris
Co-Founder & CTO @ DevCycle, OpenFeature maintainer

We are happy to share the news that Vercel's new open-source Flags SDK for Next.js and SvelteKit has shipped with a native OpenFeature Adapter. The Flags SDK is an exciting development for standardizing feature flagging in Next.js and SvelteKit, as it takes an opinionated approach to how feature flags should be used:

  • Feature Flags are just functions
  • Feature Flags are only evaluated on the server-side, no client-side flag evaluation is supported to improve performance, avoid layout shifts, and other non-optimal user experiences.
  • Integration with the Vercel Toolbar, allows local overrides of flag values during development, testing and even in production.

OpenFeature Provider Example

// flags.ts
import { createOpenFeatureAdapter } from "@flags-sdk/openfeature"
import { dedupe, flag } from "flags/next";
import type { EvaluationContext } from "@openfeature/server-sdk";

// pass an init function, and return the client
const openFeatureAdapter = createOpenFeatureAdapter(async () => {
const provider = new YourProviderOfChoice()
await OpenFeature.setProviderAndWait(provider);
return OpenFeature.getClient();
});

const identify = dedupe((async ({ headers, cookies }) => {
// Your own logic to identify the user
// Identifying the user should rely on reading cookies and headers only, and
// not make any network requests, as it's important to keep latency low here.
const user = await getUser(headers, cookies);

const context: EvaluationContext = {
targetingKey: user.id,
// .. other properties ..
};
return context;
}));

export const exampleFlag = flag<boolean, EvaluationContext>({
key: "example-flag",
defaultValue: false,
identify,
adapter: openFeatureAdapter.booleanValue(),
});
// page.tsx
import { exampleFlag } from "../flags";

export default async function Page() {
const banner = await exampleFlag();
return (
<div>
{banner ? <Banner /> : null}
{/* other components */}
</div>
);
}

This adapter will allow most Node.js OpenFeature Providers to work with the Flags SDK, though there may be some compatability issues with certain Node.js OpenFeature Providers with the Vercel Edge Runtime that should be tested per-provider.

The Value of Open Standards

The integration demonstrates a key aspect of OpenFeature's vision - moving from effort(N*M) to effort(N+M). OpenFeature delivers a standardized feature flagging SDK, already implemented by most providers, and Vercel can focus on building a wonderful framework-specific developer experience on top of that foundation.

Future of Next.js Support

We are excited to continue working with the team at Vercel that is leading this effort, and to help expand the efforts of open standards in feature flagging for Next.js and SvelteKit. One of the visions of OpenFeature has always been deeper integration into the language / framework level as the adoption of OpenFeature continues to grow, we are happy to work with language and framework authors who strive to offer feature flagging built-in.

While the Flags SDK is offering Next.js and SvelteKit developers with an opinionated and performance optimized open-source feature flagging SDK, we recognize that its structure may not work for all Next.js developers out there relying on a mixture of client-side rendering in their applications. If you are knowledgeable about Next.js and would like to help OpenFeature develop our Next.js SDK, please reach out to us in the CNCF #openfeature Slack.

If you'd like to test out the Flags SDK OpenFeature Adapter check out their example project.

DevCycle March 2025 - OpenFeature Hackathon

· 9 min read
Jonathan Norris
Co-Founder & CTO @ DevCycle, OpenFeature maintainer

A few times a year at DevCycle, we hit pause on our usual work, push aside our roadmaps, and dive into a few days of rapid experimentation and collaboration. For our first hackathon of 2025, we opted for an OpenFeature-theme —a chance to explore new ideas, test bold concepts, and build something innovative for the OpenFeature ecosystem together.

Contributor Spotlight: Max VelDink

· 4 min read
Andrew MacLean
Developer Relations at DevCycle

In this edition of the OpenFeature Contributor Spotlight, we’re excited to highlight Max VelDink, a dedicated developer whose work has played a pivotal role in advancing the OpenFeature Ruby SDK. Max has contributed significant improvements to the OpenFeature project, and his efforts have helped expand the representation of Ruby in the cloud-native space.

Announcing the OpenFeature Angular SDK!

· 4 min read
Lukas Reining
IT Consultant at codecentric, OpenFeature maintainer
Todd Baert
Software Engineer at Dynatrace, OpenFeature maintainer

We are excited to unveil the first official release of the @openfeature/angular-sdk! 🚀 This SDK extends OpenFeature capabilities to Angular applications, with a focus on Angular's unique patterns and practices. In this post, we’ll walk you through some of the standout features and how they integrate seamlessly with Angular development.

OpenFeature Contributor Spotlight: André Silva

· 2 min read
Andrew MacLean
Developer Relations at DevCycle

Welcome to our inaugural OpenFeature Contributor Spotlight, where we highlight and celebrate standout contributors who have made a significant impact on the OpenFeature project. For this edition, we’re excited to introduce André Silva, a dedicated developer who has been instrumental in advancing our .NET library and telemetry conventions.

OpenFeature .NET SDK 2.0 Release

· 4 min read
Todd Baert
Software Engineer at Dynatrace, OpenFeature maintainer

Today we're announcing the release of the OpenFeature SDK for .NET, v2.0! This release contains several ergonomic improvements to the SDK, which .NET developers will appreciate. It also includes some performance optimizations brought to you by the latest .NET primitives.