Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
eb92560
docs: add debounce hook, update multi-provider links (#1286)
toddbaert Oct 24, 2025
42ab028
feat: add .NET technology support to MultiProvider (#1281)
askpt Oct 24, 2025
f438823
docs: reorganize navigation separating SDKs from Other Technologies (…
jonathannorris Oct 27, 2025
7bdf1c6
docs: MCP / Prompt install buttons in SDK quick-start (#1287)
jonathannorris Oct 28, 2025
cb1961c
feat: integrate Redocusaurus for interactive OFREP OpenAPI docs page …
jonathannorris Oct 29, 2025
a797824
docs: update dotnet workshop docs (#1289)
askpt Nov 3, 2025
8f21674
Add Split JavaScript Web Provider (#1291)
Copilot Nov 5, 2025
969ea8a
update docusaurus to 3.9.2 (#1284)
Arhell Nov 5, 2025
b94deca
chore: add VWO OpenFeature Provider for Go (#1294)
softvar Nov 7, 2025
606587d
docs: fix debounce description
toddbaert Nov 7, 2025
9265b61
blog: kubecon na 25 (#1295)
toddbaert Nov 7, 2025
67ff964
docs: update OFREP API docs and fix script to generate ofrep/index.md…
jonathannorris Nov 11, 2025
346b290
feat: add node bucketeer provider (#1305)
beeme1mr Nov 18, 2025
ca6663a
feat(providers): add aws-ssm provider for Go (#1296)
arukiidou Nov 18, 2025
ba0a758
chore: update sdk readmes (#1275)
openfeaturebot Nov 18, 2025
7ca1c9e
Added Harnes FME to commercial support page (#1298)
ZamoraEmmanuel Nov 18, 2025
4b66872
feat: add Prefab community Go provider (#1311)
jonathannorris Nov 19, 2025
f8e52ab
feat: add Split Swift and Android providers (#1310)
jonathannorris Nov 19, 2025
e970f71
chore: update copyright notice in LICENSE-CODE (#1308)
jonathannorris Nov 19, 2025
8568ee8
blog: kubecon 25 blog (#1306)
toddbaert Nov 19, 2025
a04b04d
chore: update sdk readmes (#1307)
openfeaturebot Nov 20, 2025
5f197ff
feat: add YouTube video embed to homepage (#1313)
moredip Nov 21, 2025
a53dc6c
feat: add Linux Foundation training course to support page (#1312)
moredip Nov 21, 2025
fed0f94
feat: adding hyphen ai to ecosystem (#1303)
jaredwray Nov 24, 2025
c8c410c
feat: add Datadog NPM providers (#1309)
jonathannorris Nov 24, 2025
b0af067
chore: update sdk readmes (#1314)
openfeaturebot Dec 4, 2025
abfceaf
feat: add-rust-provider-documentation (#1321)
Zaimwa9 Dec 16, 2025
48107c8
feat: added-flagsmith-ruby-provider (#1318)
Zaimwa9 Dec 16, 2025
af77c86
chore: update sdk readmes (#1320)
openfeaturebot Dec 18, 2025
dae0a34
chore(deps): update external-content/community digest to 53bce15 (#1322)
renovate[bot] Dec 18, 2025
a20fa02
chore: update sdk readmes (#1324)
openfeaturebot Dec 24, 2025
eef1f5d
chore: update sdk readmes (#1325)
openfeaturebot Jan 5, 2026
ea0970c
feat: expand facet options for technologies and vendors in ecosystem …
beeme1mr Jan 5, 2026
dd0e130
feat: add Java technology support to OFREP provider (#1328)
askpt Jan 9, 2026
0bc367e
chore: update sdk readmes (#1327)
openfeaturebot Jan 23, 2026
d5c7d65
Fix WCAG AA Color Contrast Violations (#1329)
huangkevin-apr Jan 23, 2026
81ac8d4
fix(ui): resolve search input overlap caused by tailwind forms (#1330)
dedyf5 Jan 23, 2026
2064309
chore(deps): update external-content/specification digest to 5c38868 …
renovate[bot] Jan 23, 2026
aef3e6d
feat: redesign homepage with modern, innovative layout
cursoragent Feb 7, 2026
b71bfd6
fix: remove unused imports to satisfy linting
cursoragent Feb 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ dist
*.js

# Auto-generated disclaimer causes an eslint parsing error
docs/reference/technologies/**/*.mdx
docs/reference/sdks/**/*.mdx
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ yarn-error.log*
.idea
.wireit
.eslintcache
.cursor
5 changes: 3 additions & 2 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

config:
default: true

Expand Down Expand Up @@ -33,6 +32,8 @@ ignores:
- external-content
- docs/specification
# Fetched from each SDK's README.md
- docs/reference/technologies/@(client|server)/**/*.mdx
- docs/reference/sdks/@(client|server)/**/*.mdx
# Fetched from other technology repos
- docs/reference/other-technologies/*.mdx

fix: true
2 changes: 1 addition & 1 deletion LICENSE-CODE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright OpenFeature Maintainers

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
8 changes: 5 additions & 3 deletions blog/2022-10-21-hardening-and-1-0-sdks.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The release includes stable versions the following features:

The specification documents associated with these features have been marked as `hardening`, meaning breaking changes are no longer allowed and usage of these features are encouraged in production environments.
The release of these SDKs and the stabilization of the specification represent a culmination of efforts by a dedicated group of vendors, practitioners and subject matter experts.
Providers are [already available](https://openfeature.dev/docs/reference/technologies/) for major vendors and popular community projects.
Providers are [already available](https://openfeature.dev/docs/reference/sdks/) for major vendors and popular community projects.
It's our hope that the efforts to stabilize the OpenFeature specification and SDKs will lead to more adoption of both OpenFeature and feature flagging in general, and promote a vibrant ecosystem around this increasingly important development pattern.

In addition to those mentioned above, experimental features available in the 1.0 SDKs include:
Expand All @@ -33,7 +33,9 @@ In addition to those mentioned above, experimental features available in the 1.0

## What's next?

Our goal in the upcoming months will be to harden our existing experimental features. Additionally, we'll work to develop and standardize new capabilities, including: client-side feature flagging, improved cloud native tooling, and implicit transaction-scoped data propagation of contextual attributes.
Our goal in the upcoming months will be to harden our existing experimental features.
Additionally, we'll work to develop and standardize new capabilities, including: client-side feature flagging, improved cloud native tooling, and implicit transaction-scoped data propagation of contextual attributes.
Furthermore, we're working on SDKs for additional languages, including [PHP](https://github.com/open-feature/php-sdk), [Python](https://github.com/open-feature/python-sdk), and [Ruby](https://github.com/open-feature/ruby-sdk).

If you're interested in contributing or learning more about OpenFeature, please join our expanding and friendly community. Visit our [GitHub](https://github.com/open-feature), join the [OpenFeature slack channel](https://cloud-native.slack.com/archives/C0344AANLA1) on the CNCF Slack instance, or hop into our [bi-weekly community meeting](https://github.com/open-feature/community#meetings-and-events).
If you're interested in contributing or learning more about OpenFeature, please join our expanding and friendly community.
Visit our [GitHub](https://github.com/open-feature), join the [OpenFeature slack channel](https://cloud-native.slack.com/archives/C0344AANLA1) on the CNCF Slack instance, or hop into our [bi-weekly community meeting](https://github.com/open-feature/community#meetings-and-events).
32 changes: 24 additions & 8 deletions blog/2023-03-27-feature-flags-if-statements.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ draft: false

Most feature flag explainers begin by explaining that feature flags are equivalent to environment variables.

While that’s true (to a point), feature flags wouldn’t be as versatile or as popular as they are, if that’s all they were. Indeed, you wouldn’t need a feature flag – you could easily achieve the same thing with an environment variable.
While that’s true (to a point), feature flags wouldn’t be as versatile or as popular as they are, if that’s all they were.
Indeed, you wouldn’t need a feature flag – you could easily achieve the same thing with an environment variable.

<!--truncate-->

Expand All @@ -26,47 +27,60 @@ if isPremiumMember {
return v1
}
```

Now try modeling this in code:

- If user is premium and located in Europe = v2 (purple)
- If user is premium and located in the US = v3 (red)
- If user is premium and located in Australia = v4 (orange)
- Everyone else gets v1 (green)

That’s 2 variables. Imagine how many variations a real system has. Now imagine trying to update these conditions in real time, without a redeployment.
That’s 2 variables.
Imagine how many variations a real system has.
Now imagine trying to update these conditions in real time, without a redeployment.

<img src={require('@site/static/img/blog/feature-flags-if-statements/feature-flag-context.png').default} />

The real power of feature flags:

- Simple or complex: Flag rules can be as simple or as complex as you wish. This makes getting started easy with plenty of room to grow and expand.
- Separation of concerns: Feature flags allow a deployment without a release. All new features are placed behind flags and those flags are disabled during deployment.
- Simple or complex: Flag rules can be as simple or as complex as you wish.
This makes getting started easy with plenty of room to grow and expand.
- Separation of concerns: Feature flags allow a deployment without a release.
All new features are placed behind flags and those flags are disabled during deployment.
- Shortcut to continuous delivery: If you can deploy anything at any time with zero risk, why not do it?
- Separation of responsibilities: Product managers take responsibility for feature flags, leaving DevOps teams to deal with their area of responsibility.

## So, are Feature Flags if Statements?
No, feature flagging is so much more powerful and dynamic than environment variables or if statements. But if you’re already using if statements, you already have enough knowledge to take your environment variables and if statements to the next level with feature flags.

No, feature flagging is so much more powerful and dynamic than environment variables or if statements.
But if you’re already using if statements, you already have enough knowledge to take your environment variables and if statements to the next level with feature flags.
If you’re stuck on the environment variable + if statement metaphor, feature flags are a very flexible if statement that you can **target**, **update**, **toggle** and **gain observability over**, in **real time** without a **re-deployment**.

## Where Do I Start?

Start with the OpenFeature hands-on tutorials.

These tutorials are provided by Killercoda, a third-party in-browser learning platform.

All tutorials are free to use and the [tutorial source code is open](https://github.com/open-feature/killercoda).

### 1: OpenFeature Demo

Never encountered feature flags?
This is the 30,000ft view showing the power and versatility of feature flags.
[Start here](https://killercoda.com/open-feature/scenario/openfeature-demo).

### 2: An Open Source Feature Flag Backend

Decided to adopt feature flags?

You will need a flag "backend" evaluation engine.

Any open source tool or vendor can support OpenFeature and many do. Check the [technologies section](https://openfeature.dev/docs/reference/technologies/) to see what tools and vendors are supported in your language.
Any open source tool or vendor can support OpenFeature and many do.
Check the [technologies section](https://openfeature.dev/docs/reference/sdks/) to see what tools and vendors are supported in your language.

If you don't already use a flag evaluation system, flagd is a good place to start without having to code your own backend solution. Try the [flagd demo on killercoda](https://killercoda.com/open-feature/scenario/flagd-demo).
If you don't already use a flag evaluation system, flagd is a good place to start without having to code your own backend solution.
Try the [flagd demo on killercoda](https://killercoda.com/open-feature/scenario/flagd-demo).

### 3. Instrument Your Application

Expand All @@ -77,8 +91,10 @@ Your application must now be modified to interact with your chosen flag evaluati
The [Five minutes to feature flags](https://killercoda.com/open-feature/scenario/five-minutes-to-feature-flags) tutorial walks through how to do this.

### 4: Feature Flags on Kubernetes?

Are you Kubernetes-native and want to manage and use feature flags entirely on Kubernetes?

Any open source or vendor tool which offers OpenFeature compliant k8s feature flagging will work.

The [Operator tutorial](https://killercoda.com/open-feature/scenario/openfeature-operator-demo) shows one option, using flagd. Flagd leverages Custom Resources to manage feature flags via GitOps and make feature flags available to your pods via annotations.
The [Operator tutorial](https://killercoda.com/open-feature/scenario/openfeature-operator-demo) shows one option, using flagd.
Flagd leverages Custom Resources to manage feature flags via GitOps and make feature flags available to your pods via annotations.
Loading
Loading