Docker 运行需同时映射 8080 和 9000 两个端口,UI 在 8080;GPG 提交签名、merge proposals、Vault 等密钥后端属 Pro 功能,需许可证;v2 与 v1 代码分属不同分支,找 v1 需切到 main 分支
flipt
flipt-io活跃维护基于 Git 原生的特性开关管理方案,把开关配置纳入版本控制,方便团队在持续交付中安全地灰度发布和回滚。
Enterprise-ready, Git native feature management solution
curl -fsSL https://get.flipt.io/v2 | sh
flipt quickstart
flipt serverREADME 未说明硬件要求,只强调单二进制、默认无数据库等外部依赖,可本地或 Docker 运行
把功能开关当代码存进你自己的 Git 仓库,用分支和 CI/CD 管理发布
基于 Git 原生的特性开关管理方案,把开关配置纳入版本控制,方便团队在持续交付中安全地灰度发布和回滚。
核心能力
- 功能开关直接存放在自有 Git 仓库,带完整提交历史与 blame
- 环境可映射到 Git 分支、目录或独立仓库,彼此完全隔离
- 用 SSE 流式 API 实时推送开关变更,客户端无需轮询
- 单二进制零外部依赖,默认不需要数据库
- 提供 REST、gRPC 接口并支持 OpenFeature 标准
容易踩的坑
- v1.62.02026-10-23 · 2026-10-23 23:30 UTC
查看更新说明
Changelog
Features
- da84e52863106bba3ed379444d7f2cadfd1303df: feat(authn): optional audiences for Kubernetes authentication (@markphelps)
- e143baf71586be937dacd3cda6b098bbd94d0764: feat: show which flags use each segment in the UI (#5563) (@aparimeet)
Bug Fixes
- 78c1aab06846beaf8d1f2918b47f1344ad9f5120: fix(analytics): escape request keys in Prometheus queries (@markphelps)
- a853eee3eb318d664410a07210db654083d2c6c9: fix(analytics): record and query blank namespaces as default (@markphelps)
- 1a78c97f0cfd0d3d2d43f3fb4ca3735a6f4d0f38: fix(audit): register OTel stats handler when audit is enabled without tracing (#6280) (@erka)
- 3606bb64cd374596fb58bd957953cd750ebef362: fix(authn): correct struct tag typo jsom -> json for Expiration field (#5907) (@erka)
- 268ee650bf95230413d74f260e52003d1bb9ce9d: fix(authn): use a per-login nonce and PKCE verifier for OIDC (@markphelps)
- 3dece67239d0160ef20a81bd6fda7db3e7bd5e13: fix(authz): authorize analytics requests (@markphelps)
- 07e8dd25f454b52c3d862d780fe67d1b7fd3726c: fix(authz): fail closed when listing namespaces without access (@markphelps)
- bfd1c2e72fcf50fbfa70bdad76d904be07d2641b: fix(build): order release preparation tasks (@markphelps)
- b8a0696c818c611f5b140cc4bc23b0c7531ef479: fix(ci): install quill outside the workspace in v1 releases (@markphelps)
- 4d283cf7bad3de027a799db81ec70979970dda2f: fix(config): correct JSON Schema meta-schema keywords (#6492) (@erka)
- 84f3b124263e725bef2caaa8889af610db647052: fix(deps): update aws-sdk-go-v2 monorepo (#5555) (@renovate[bot])
- ad9b7b72aedae4093de89a06309838ce14499377: fix(deps): update aws-sdk-go-v2 monorepo (#5561) (@renovate[bot])
- cf9530995c4865685103fc13b9495c7a1a09f910: fix(deps): update aws-sdk-go-v2 monorepo (#5625) (@renovate[bot])
- 8bd11e3e8b187a1bc98c3feb2b1a0e1c4f54d0c9: fix(deps): update aws-sdk-go-v2 monorepo (#5748) (@renovate[bot])
- 5f783ba5374c612684ef1163a233f22803f6c54e: fix(deps): update aws-sdk-go-v2 monorepo (#5799) (@renovate[bot])
- a130436ecc085f461001d172f85a2249382f31f2: fix(deps): update aws-sdk-go-v2 monorepo (#5924) (@renovate[bot])
- 6cbe174386c00e8bc4cbb21e8552e08ee9b98e1d: fix(deps): update aws-sdk-go-v2 monorepo (#5931) (@renovate[bot])
- a2973166d515f81d47c2497c7fe02ca8b91c57df: fix(deps): update aws-sdk-go-v2 monorepo (#5941) (@renovate[bot])
- a9ad5ad6341a026fb23af29ee63477e1bcf10e2e: fix(deps): update aws-sdk-go-v2 monorepo (#5965) (@renovate[bot])
- 436469eab84665f4067e5b8b6de23df7d9825036: fix(deps): update aws-sdk-go-v2 monorepo (#5974) (@renovate[bot])
- 841896c8980604d553e2988a7aac5bb7c1995371: fix(deps): update aws-sdk-go-v2 monorepo (#5997) (@renovate[bot])
- a4495b8e0f7b83790d76e5c7570fa911555944d5: fix(deps): update aws-sdk-go-v2 monorepo (#6112) (@renovate[bot])
- 751f953541de1d1881662e92985a574a07f64d19: fix(deps): update aws-sdk-go-v2 monorepo (#6121) (@renovate[bot])
- 6ddacb87fc1a90f77cac8ba903686c9d050687b5: fix(deps): update aws-sdk-go-v2 monorepo (#6150) (@renovate[bot])
- d4eaea423ca52744a8f1f60fbc80523e7f346bb0: fix(deps): update aws-sdk-go-v2 monorepo (#6205) (@renovate[bot])
- 71da20b50b46d19a3edaf2f92997ec10f4074766: fix(deps): update aws-sdk-go-v2 monorepo (#6237) (@renovate[bot])
- 55f87be06afef48088c587622861c156e933f589: fix(deps): update aws-sdk-go-v2 monorepo (#6283) (@renovate[bot])
- 67396cad50e0b88a3cbca446625a353c1b60294c: fix(deps): update aws-sdk-go-v2 monorepo (#6295) (@renovate[bot])
- 328a21d25c8e6134a2d6593c6db0d63fcdeea103: fix(deps): update aws-sdk-go-v2 monorepo (#6308) (@renovate[bot])
- 73a65bf59c4e71c85ac58580230057b778ed047a: fix(deps): update aws-sdk-go-v2 monorepo (#6319) (@renovate[bot])
- e161a9922e0253b4f64b4c60f04e6f40d638f9bd: fix(deps): update aws-sdk-go-v2 monorepo (#6342) (@renovate[bot])
- cb202733d15756b29459162f385b972c88bc73a7: fix(deps): update aws-sdk-go-v2 monorepo (#6369) (@renovate[bot])
- ce0c9449a01dc9c4fb275caa289397b4b74ff835: fix(deps): update aws-sdk-go-v2 monorepo (#6400)
- v2.14.1最新正式版2026-10-23 · 2026-10-23 02:55 UTC
Changelog
Bug Fixes
- 06d15297eedff4690d88cce541941267ae598863: fix(authz): log denials at warn level with request context (#6675) (@erka)
- 1c1660cc4fd0dbe62f128e2e499318ca7ddef5ac: fix: security fixes for v2.14.1 (#6679) (@markphelps)
Other
- 9d8c33de4326858240c7eb6abe092be251f20841: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity (#6684) (@dependabot[bot])
- 32b0cefc448f4f322de57be61db40fdef633a115: chore(deps): bump github.com/go-chi/chi/v5 (#6682) (@dependabot[bot])
- e734e73e06c2ac546b8594a32bf3bca98fe36491: chore(deps): bump the go-minor-patch group across 1 directory with 6 updates (#6685) (@dependabot[bot])
- 33c9959d88a0ce8d5653edd3909917a7bc1aa80b: chore(deps): bump the grpc group across 1 directory with 3 updates (#6681) (@dependabot[bot])
- ac6f26b26c2a11eae72add8c1eeb6e90831822a3: chore(deps): bump the npm-minor-patch group across 1 directory with 6 updates (#6686) (@dependabot[bot])
- 3f7fc18925cfe0aa18a37fba68bfe9dae1d6a161: chore(deps): bump the react group in /ui with 2 updates (#6683) (@dependabot[bot])
- 3f59af5a2755d17c4e65b9a341d0c184135621fa: chore: release v2.14.1 (@markphelps)
Installation
Docker Images :whale:
docker pull docker.flipt.io/flipt/flipt:v2.14.1docker pull ghcr.io/flipt-io/flipt:v2.14.1Thank you!
We hope you :heart: this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.
- v2.14.02026-10-15 · 2026-10-15 19:10 UTC
查看更新说明
Changelog
Features
- cdf71add0ae5dfed39bc2ef7d1e5a90ee82fbdad: feat(authz): enforce opt-in authorization on evaluation APIs (#6661) (@erka)
- 36c1b2f04325c5911db2f8242569232e02020cf7: feat(secrets): require a Pro license for vault, aws, gcp and azure providers (#6645) (@markphelps)
- 71c41c30b202fcb535b0ef983303678bd41e7a9c: feat(webhook): incoming SCM webhooks for instant environment sync (#6643) (@markphelps)
Bug Fixes
- 7f1a8d87dd5e2d1e2458a484b9898b2c09cc0a2f: fix(authz): close list-endpoint scope bypass (#6662) (@erka)
- 15a5e0b71e6c66003fe04f8677b98d56037cc0c8: fix(authz): honor environment scopes defined in data (#6639) (@yousefissa)
- 1314a3e9dd321e173b58247b0dd5407ee093005b: fix(config): make scm.credentials optional in the config schemas (@markphelps)
- 565a6e48fe347fd88c665535013a9c551ffb5309: fix(metrics): stop serving /metrics when metrics are disabled (#6642) (@erka)
- a90da7ebdac6dffd8f0537f2705265fca16b0136: fix(scm): name the credential type in unsupported credential type errors (@markphelps)
- 5c66b77f9e997804c2ec432bec8a8694b192d07b: fix(storage): refetch branch before reporting head revision conflict (#6646) (@markphelps)
- 3b4a2a4fb27405d0836bf1604bdbfcc3db1f3d57: fix: allow empty variant keys and reject duplicates (#6666) (@erka)
Other
- ae042506f77433c1382aee5de5348a6e2f095f7d: Merge pull request #6644 from flipt-io/markphelps/fix-gitlab-scm-no-credentials (@markphelps)
- 034a09b447f11b60dc10945a0aa378b66d9e9011: chore(deps): bump @codemirror/view in /ui in the codemirror group (#6667) (@dependabot[bot])
- ca3341e0733e7d3d78e2b628ddc44c1c35fc96a3: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#6651) (@dependabot[bot])
- 4487687d5801802fb1a32cda92beea096a30faef: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#6671) (@dependabot[bot])
- 841c9e4cb12d1379cf1d0d13790c9ed7aa10ee94: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (#6650) (@dependabot[bot])
- 3c062bdb9cbe1187009197501e0bf476a34a3f42: chore(deps): bump github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus (#6670) (@dependabot[bot])
- 05ccbbb7cb242c5b246de3b1e5e1760e409ee149: chore(deps): bump jdx/mise-action (#6648) (@dependabot[bot])
- 392ea7651ae7485152755b850f9e783a62366295: chore(deps): bump the aws-sdk-go-v2 group with 3 updates (#6669) (@dependabot[bot])
- bb52183cc3b7b166e2edd770072131aa6e911972: chore(deps): bump the go-git group with 2 updates (#6652) (@dependabot[bot])
- 6b4caf531f38fe2a53db9087417a8a01b91db74d: chore(deps): bump the go-minor-patch group across 1 directory with 2 updates (#6653) (@dependabot[bot])
- 5213802457b77a47ec9783194108b0ad3f084845: chore(deps): bump the npm-minor-patch group across 1 directory with 6 updates (#6658) (@dependabot[bot])
- faa11bdbd82e51825b5d108db4c6321981b1d6df: chore(deps): bump the npm-minor-patch group in /ui with 6 updates (#6668) (@dependabot[bot])
- 1522f4c765c3abae2c66f216a7acc9f13216339f: chore(deps): bump the opentelemetry group with 14 updates (#6647) (@dependabot[bot])
- a83707193274b1e7ad9eb28e22cd4f570daf9c30: chore(deps): bump the prometheus group across 1 directory with 2 updates (#6672) (@dependabot[bot])
- cef126669c98e5d2aa5206652a2b720f393bdc70: chore(deps): bump the redis group with 2 updates (#6673) (@dependabot[bot])
- f97a84d4ad9f1ed305212eb15120b059b1f00d7c: chore(deps-dev): bump handlebars (#6660) (@dependabot[bot])
- c218ef4f16570731e14badfb92e3325fd3d185e4: chore(deps-dev): bump smol-toml (#6659) (@dependabot[bot])
- 8154330f8acbb644ae580e2aeb87cb9ce5041ac3: chore: add worktrees to gitignore (@markphelps)
- 94dd98e834ad62f414d487a82e85804d6f0e31ad: chore: release v2.14.0 (#6674) (@markphelps)
- a240e2957de763996b398353797ba87a581e8dfa: chore: trigger ci (@markphelps)
- fdaca8146e948cd05adb7156fc8b4e8eb65bd4f7: ci: add per-workflow result gates for required status checks (#6657) (@markphelps)
- 66fd1f01029f01c6b1d679e892a774cb2c21be15: ci: skip jobs a pull request cannot affect (#6640) (@markphelps)
- v2.13.12026-10-02 · 2026-10-02 16:53 UTC
查看更新说明
Changelog
Bug Fixes
- 24cfe9a0a5f08c89eba1aa36cc105ea7b0c05e85: fix(analytics): store boolean evaluation values as true/false (#6604) (@erka)
- 5e275bb66790ea3f365d6509d76e3b9a88bdb264: fix(authz): harden management authorization (#6567) (@markphelps)
- 5778e6d155aca684bb0f26ededd6288390a96fa9: fix(evaluation): always return flag key for boolean evaluation. (#6622) (@erka)
- ae7ae2f4eb87ba76e7046e23be6e2a30cf5bf360: fix(git): recover from false non-fast-forward push rejections (#6637) (@erka)
- 7157b0e2d8b411784124a6db1d0f75d6bcddff04: fix(snapshot): keep full sha1 digest for multi-doc namespaces (#6593) (@erka)
- 46d0ecbdc381c393cc074289c4ef651909aa9ded: fix(ui): restore deep link after OIDC login in v2 (#6586) (@harshilv17)
- c452a43dadec7862b48477d4606b4bd19ab3279a: fix: address cheap-CI failures (#6603) (@mvanhorn)
- bfd73d81bfe774f8d89488f3aefbd3b932a11943: fix: address lint review feedback (@kojah)
- 3e88e50cf67b913fac60e44c05be84927005fb31: fix: guard branched environments and stale-revision push retries (#6592) (@markphelps)
- 79adc9494c2af5d07370dbe39c2c45cb0ddb9eaa: fix: respect auth exclusion in cross-origin protection (#6608) (@erka)
- 88825ef7bc549e0034a5c429df765a144a7ec54f: fix: return decoded auth data and stop tickers (@kojah)
Other
- f9f561c3886e566fb0990fa6e259e672a9bb2223: Merge pull request #6561 from kojah/fix-gohawk-findings (@mergify[bot])
- 6cb8dc075a147fd3042020f826dc63eaa073e42d: Merge pull request #6563 from flipt-io/rd/v2/github-dep-update (@mergify[bot])
- 983c8b3abe63f343a3e35f1d1035b84139a78386: Merge pull request #6633 from flipt-io/chore/dependabot-groups (@markphelps)
- efc41180d759db5f1016f07919137e9e1ee64870: Merge pull request #6638 from flipt-io/release/v2.13.1 (@markphelps)
- 698f6e7d31cbe1d2211741d98a5a695a3582744e: chore(deps): bump alpine from 3.24.1 to 3.24.2 in /build (#6576) (@dependabot[bot])
- 3e81d51d66c5f59d33b5c6ed13160d3cfe92f001: chore(deps): bump cloud.google.com/go/secretmanager (#6631) (@dependabot[bot])
- cd4e6992acda740355819f558b1048761aec3021: chore(deps): bump github.com/hashicorp/cap from 0.13.0 to 0.14.0 (#6574) (@dependabot[bot])
- 43222f0be2c4fa64bffc98f6ba46262f624449c2: chore(deps): bump github.com/prometheus/common (#6635) (@dependabot[bot])
- 895b8b370ab6f0d34621884af1ca7f51e35235e9: chore(deps): bump go-github to v92 (@erka)
- 81af7016774a3f967c562fff6d376f68ba626278: chore(deps): bump google.golang.org/api from 0.298.0 to 0.299.0 (#6632) (@dependabot[bot])
- 4884d11ee875561ed4f9480f3af9dcbdcdaab3fc: chore(deps): bump google.golang.org/grpc in the grpc group (#6573) (@dependabot[bot])
- 8f956acc915ac625818c6d6ef1a54706f039ec58: chore(deps): bump jdx/mise-action to v4 (#6565) (@erka)
- 5c217041c60bb411eaafeffe703ec989c60aac69: chore(deps): bump the aws-sdk-go-v2 group with 3 updates (#6628) (@dependabot[bot])
- 2284ad567fa8e2918452f8400b8979ff3c271389: chore(deps): bump the codemirror group in /ui with 4 updates (#6623) (@dependabot[bot])
- 573296855f460aae0ad6a0d2d9cb9f68874e3088: chore(deps): bump the go-minor-patch group across 1 directory with 3 updates (#6636) (@dependabot[bot])
- 1e3eceab0b732b91780cb73f63a59b58513a2ffa: chore(deps): bump the grpc group with 3 updates (#6629) (@dependabot[bot])
- ac220600db69ba0e6eb362b893cc5d596628305f: chore(deps-dev): bump @types/node from 24.13.4 to 24.13.6 in /ui (#6578) (@dependabot[bot])
- 154a566db5a6f7dbd3a34828d4599e5eadc5946b: chore(deps-dev): bump @types/node from 24.13.6 to 24.19.0 in /ui (#6627) (@dependabot[bot])
- ef8ac40d0127a18375ff0dee75fff1b3df81382f: chore(deps-dev): bump brace-expansion from 1.1.16 to 1.1.21 in /ui (#6634) (@dependabot[bot])
- 364e9dd43048cd34a2bbe8f5ba90ef25babd3666: chore(deps-dev): bump eslint-plugin-no-relative-import-paths in /ui (#6577) (@dependabot[bot])
- aa19221b4f07a6a48d6e6aff78cd00080e451507: chore(deps-dev): bump jest-environment-jsdom in /ui (#6575) (@dependabot[bot])
- aea203626ff0c49adfc95583842c955f65fe1616: chore(deps-dev): bump prettier from 3.9.6 to 3
- v2.13.02026-09-20 · 2026-09-20 15:09 UTC
查看更新说明
Changelog
Features
- 12aa96eed1dbd7c4bf0be11730a2434ff5073cee: feat(grpc): per-service health readiness for management and evaluation (@erka)
Bug Fixes
- 7194d8f4d6b1d4b47da3b09dcbc7d0668734703f: fix(build): repair the go:modernize task (#6509) (@markphelps)
- 706a2ab6cca88c71a1df9cd0d29fbe1ec266c85b: fix(evaluation): return FLAG_DISABLED for disabled boolean flag with no rollouts (#6515) (@erka)
- 2993990baf1d506b8c7157e31f0a4bd6f5b8e176: fix(license): enforce expiry consistently and harden offline license validation (#6539) (@markphelps)
- d944f421a97b40acdcf0ef6b1e0e2100eab4c670: fix(ui): allow variant delete to be undone by canceling (fixes #6405) (#6435) (@AruneshDwivedi)
- 81e09886e25b64e261d877bbb03d0a8d13640d48: fix(ui): match Combobox options by display name, not only key (#6550) (@harshilv17)
- b96f1e8a6a77a47a5f1d94f35f3219c0d8c4a536: fix: preserve validation of versionless legacy feature files (#6547) (@mvanhorn)
Other
- cd4ccec1968cf0f46835404f327854df77522002: Merge pull request #6559 from flipt-io/rd/v2/readiness (@mergify[bot])
- a149513964d774ca80ef3ef4a737b8f37d30338a: chore(deps): bump github.com/coreos/go-oidc/v3 from 3.20.0 to 3.21.0 (#6555) (@dependabot[bot])
- eda5a95fe9feaa5e689e30940542fa6851544236: chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.5 (#6536) (@dependabot[bot])
- 2ac12fa3fb908e2d38a560e2c0d2b3e757ae5fe5: chore(deps): bump github.com/go-openapi/jsonpointer from 1.0.0 to 1.0.1 (#6556) (@dependabot[bot])
- fc488b35534d72e12dbc27ec355b4f8d2d4232f9: chore(deps): bump github.com/golang-migrate/migrate/v4 (#6537) (@dependabot[bot])
- da71d462a4fcb1306b30a7d22da74d368adbf17e: chore(deps): bump github.com/kubescape/go-git-url from 0.0.32 to 0.0.33 (#6505) (@dependabot[bot])
- 76dfedf26cc2a1245e4654e0cf45ca8bf594a932: chore(deps): bump github.com/open-policy-agent/opa from 1.19.1 to 1.20.2 (#6535) (@dependabot[bot])
- 158b57e15cde9282633258ebcf82a5300a9ad804: chore(deps): bump golang.org/x/crypto from 0.55.0 to 0.56.0 (#6506) (@dependabot[bot])
- 810a156d928e676c2c39a049f5b15c00c69ce26b: chore(deps): bump golang.org/x/oauth2 from 0.36.0 to 0.37.0 (#6504) (@dependabot[bot])
- 11a390ce90fc2a3493f30e4f03ad1b8969a70abd: chore(deps): bump google.golang.org/api from 0.291.0 to 0.298.0 (#6554) (@dependabot[bot])
- 0763a9644a65413b65b327d92a67439dbea001f1: chore(deps): bump google.golang.org/grpc in /rpc/flipt (#6479) (@dependabot[bot])
- bf69efa86222778783f6c5bc34329b9031d50ddd: chore(deps): bump react-router from 8.3.1 to 8.4.0 in /ui (#6552) (@dependabot[bot])
- 49ba160a317b55ae8501f31206bdf22ef0941176: chore(deps): bump the aws-sdk-go-v2 group with 2 updates (#6553) (@dependabot[bot])
- 127e7842fb28552940d26a3c5a894728290948f7: chore(deps): bump the aws-sdk-go-v2 group with 3 updates (#6502) (@dependabot[bot])
- bfd6449e739173125cb621ea3bae947f5920c4aa: chore(deps): bump the aws-sdk-go-v2 group with 3 updates (#6533) (@dependabot[bot])
- 29fc079b71ccab26624bdeb9abdc2b0f69805654: chore(deps): bump the codemirror group across 1 directory with 2 updates (#6551) (@dependabot[bot])
- 45070d8037297182e718be374cfffd2ec85aa166: chore(deps): bump the codemirror group in /ui with 3 updates (#6495) (@dependabot[bot])
- e7ffdfd23cc90fc14d16cf2ea1c0b20c0870831b: chore(deps): bump the prometheus group with 2 updates (#6503) (@dependabot[bot])
- 4ccd9a9fcfdb04b4fd838ae3c23730986b826bf7: chore(deps): bump the react group in /ui with 4 updates (#6526) (@dependabot[bot])
- c91052611e59d781e1e31517ca49150f8655c236: chore(deps): bump tooling and Go module dependencies (#6507) (@erka)
- 6a2e5b24523958c8cc44960d7c9461e49390ffcf: chore(deps-dev): bump @playwright/test from 1.62.1 to 1.63.0 in /ui (#6528) (@dependabot[bot])
- 529d3b2fb3753a921bfb5bc90f08e51acc8d4c6c: chore(deps-dev): bump @types/node from 24.13.3 to 24.13.4 in /ui (#6529) (@dependabot[bot])
- b2624258a558c446e8de1a6e382477d2f89f96c9: chore(deps-dev): bump @types/react-dom in /ui in the react group (#6494) (@dependabot[bot])
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
[!NOTE]
Looking for Flipt v1? You can find the v1 code on themainbranch and documentation at docs.flipt.io.
Why Flipt v2?
Finally, feature flags that work with your existing Git workflow.
Flipt v2 is the first truly Git-native feature management platform that treats your feature flags as code. Store your flags in your own Git repositories, use your existing branching strategy, and deploy flags alongside your code using the tools you already know and trust.
🚀 Git-Native by Design
- Own your data: Store feature flags directly in your Git repositories
- Version control: Full history and blame for every flag change
- Branch and merge: Test flag changes in branches before merging to production
- Deploy together: Feature flags deploy with your code using existing CI/CD pipelines
🌍 Multi-Environment with Git Flexibility
- Environment per branch: Map environments to Git branches for seamless workflows
- Environment per directory: Organize flags by microservice or team within a single repo
- Environment per repository: Separate repos for different products or security domains
- Complete isolation: Each environment has its own namespaces, flags, and configurations
⚡ Developer Experience First
- Zero infrastructure: No databases, no external dependencies by default
- GitOps ready: Works with existing Git-based deployment workflows
- Real-time updates: Server-Sent Events (SSE) streaming API for instant flag propagation to client-side SDKs without polling
- Modern UI: Intuitive interface with full Git integration and dark mode support
🔒 Enterprise Security & Control
- Self-hosted: Keep sensitive flag data within your infrastructure
- Secrets management: Secure storage and retrieval of sensitive configuration data (OSS)
- GPG commit signing: Cryptographically sign all flag changes for enhanced security (Pro feature)
- Merge proposals: Code review workflow for flag changes (Pro feature)
- Audit trails: Complete history of who changed what and when
- OIDC/JWT/OAuth: Enterprise authentication methods supported
Flipt v1 vs v2: What's New?
| Feature | Flipt v1 | ✨ Flipt v2 |
|---|---|---|
| Storage | Database-centric (MySQL, PostgreSQL, SQLite) | Git-native with optional SCM sync (GitHub, GitLab, BitBucket, Azure DevOps, Gitea, etc.) |
| Environments | Single namespace model | Multi-environment with Git flexibility |
| Branching | Not supported | Full Git branching with environment branches |
| Data Ownership | Stored in a database (MySQL, PostgreSQL, SQLite) | Stored in your Git repositories alongside your code |
| GitOps | Read-only Git integration | Full read/write Git integration |
| Deployment | Requires database setup | Zero dependencies - single binary |
| Version Control | Basic audit logs | Full Git history and blame |
| Merge Process | Direct flag changes | Merge proposals with code review |
| Real-time Updates | Polling required | Server-Sent Events (SSE) streaming API for instant updates |
| Multi-tenancy | Manual namespace management | Environment-based isolation |
| Secrets Management | None | File-based providers available in OSS, HashiCorp Vault, cloud secrets management (AWS Secrets Manager, GCP Secret Manager, Azure Key Vault) available in Pro |
Use Cases
Perfect for engineering teams that want to:
- Ship faster with confidence: Deploy flags with your code using existing Git workflows
- Enable trunk-based development: Merge incomplete features behind flags without risk
- Implement proper GitOps: Treat infrastructure and feature flags as code
- Maintain security compliance: Keep sensitive flag data within your infrastructure
- Scale with multiple environments: Manage flags across dev, staging, and production seamlessly
- Enable team collaboration: Use familiar Git workflows for flag reviews and approvals
Quick Start
See our quickstart guide for more details.
Local
# Install Flipt
curl -fsSL https://get.flipt.io/v2 | sh
# Wizard-driven setup to get you started quickly
flipt quickstart
# Run Flipt server
flipt server
Docker
docker run --rm -p 8080:8080 -p 9000:9000 -t docker.flipt.io/flipt/flipt:v2
Flipt UI will be available at http://127.0.0.1:8080/.
Nightly Builds
[!WARNING]
Nightly builds are automatically generated from the latest v2 branch and should not be considered stable for production use.
To run the latest nightly build:
docker run --rm -p 8080:8080 -p 9000:9000 -t docker.flipt.io/flipt/flipt:v2-nightly
Nightly builds include the latest features and bug fixes but may contain untested changes. Use them for testing new features or verifying bug fixes before the next stable release.
Configuration Example
# config.yml - Git-native setup with secrets management
secrets:
providers:
# File-based secrets (OSS)
file:
enabled: true
base_path: "/etc/flipt/secrets"
# HashiCorp Vault (Pro feature)
vault:
enabled: true
address: "https://vault.example.com"
auth_method: "token"
token: "hvs.your_token"
mount: "secret"
storage:
type: git
git:
repository: "https://github.com/your-org/feature-flags.git"
ref: "main"
poll_interval: "30s"
signature:
enabled: true
type: "gpg"
key_ref:
provider: "vault" # Requires Pro license
path: "flipt/signing-key"
key: "private_key"
name: "Flipt Bot"
email: "[email protected]"
environments:
default:
storage: git
staging:
storage: git
directory: "staging"
For more setup options, see our configuration documentation.
Core Values
- 🔒 Security - HTTPS, OIDC, JWT, OAuth, K8s Service Token, and API Token authentication methods supported out of the box
- 🗝️ Secrets Management - Secure storage and retrieval of sensitive data with file-based providers (OSS) and HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, Azure Key Vault (Pro features)
- 🎛️ Control - Your data stays in your Git repositories within your infrastructure
- 🚀 Speed - Co-located with your services, no external API calls required
- ✅ Simplicity - Single binary with no external dependencies by default
- 🔄 GitOps Ready - Native Git integration that works with your existing workflows
- 👍 Compatibility - GRPC, REST, Redis, Prometheus, ClickHouse, OpenTelemetry, and more
Key Features
Git-Native Storage
- Store flags directly in Git repositories alongside your code
- Full version control with Git history, blame, and diff support
- Integrates with your SCM (GitHub, GitLab, BitBucket, Azure DevOps, Gitea, etc.)
- GPG commit signing for cryptographic verification of changes
Multi-Environment Management
- Environment per Git branch, directory, or repository
- Complete environment isolation with independent configurations
- Seamless environment promotion workflows
Secrets Management & Security
- Multi-provider secrets management: File-based providers available in OSS, HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, and Azure Key Vault (Pro features)
- GPG Commit Signing: Cryptographically sign all flag changes with keys from secret providers (Pro feature)
- Secure key storage: Private keys and sensitive data stored securely in Vault or local files
- Multiple auth methods: Token, Kubernetes, and AppRole authentication for Vault
Advanced Flag Management
- Complex targeting rules and user segmentation
- Percentage-based rollouts
- Real-time flag evaluation with Server-Sent Events (SSE) streaming updates for instant synchronization
Developer Experience
- Modern UI with Git integration and dark mode 🌙
- Declarative flag configuration with JSON/YAML schemas
- Comprehensive REST and gRPC APIs
Enterprise & Security Features
- Authentication: OIDC, JWT, OAuth, and more authentication methods supported out of the box
- Observability: OpenTelemetry and Prometheus integration 🔋
- Secrets Management: File-based providers (OSS) with HashiCorp Vault integration available in Pro
- Enterprise Workflows: GPG commit signing, merge proposals, and DevOps integration available in Pro
Ready for enterprise features? Flipt v2 Pro includes advanced workflows, enhanced security, and dedicated support. Get started with a free 14-day trial – no credit card required.
Are we missing a feature that you'd like to see? Let us know by opening an issue!
Integration & SDKs
Check out our integration documentation for comprehensive guides.
Server-Side Evaluation
- REST API - Full HTTP API for any language
- gRPC API - High-performance binary protocol
Client-Side Evaluation
- Local evaluation - Reduce latency with client-side flag evaluation, evaluate flags within your application for extreme speed and reliability.
OpenFeature Integration
Flipt supports the OpenFeature standard for vendor-neutral feature flag evaluation, including the emerging OpenFeature Remote Evaluation Protocol (OFREP) for standardized remote flag evaluation.
Contributing
We would love your help! Before submitting a PR, please read over the Contributing guide.
No contribution is too small, whether it be bug reports/fixes, feature requests, documentation updates, or anything else that can help drive the project forward.
Not sure how to get started? You can:
- Join our Discord, and ask any questions there
- Dive into any of the open issues, here are some examples:
Review the Development documentation for more information on how to contribute to Flipt.
Flipt v2 Pro
Ready to unlock the full potential of Git-native feature management? Flipt v2 Pro adds enterprise-grade features on top of our solid open-source foundation.
What's Included in Pro
- 🔀 Enterprise DevOps Integration - Native GitHub, GitLab, BitBucket, Azure DevOps, and Gitea workflows with merge proposals and automated PR/MR creation
- ✍️ GPG Commit Signing - Cryptographically sign all changes for maximum security and auditability with verified commit badges
- 🔒 Integrated Secrets Management - Built-in secure storage for GPG keys with HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, and Azure Key Vault integration
- 🌐 Air-Gapped Environment Support - Annual licenses work seamlessly in air-gapped environments with offline validation
- 🏢 Dedicated Support Channel - Direct access to our engineering team via dedicated Slack channel for faster issue resolution
- ⚡ Priority Development - Your bug reports and feature requests get prioritized
- 🔧 Enterprise Auth - Advanced authentication providers (🔄 coming soon)
- 📊 Advanced Analytics - Enhanced reporting and insights (🔄 coming soon)
Pricing & Trial
- Free 14-day trial - No credit card required to start, includes all Pro features
- Monthly licenses - $200/month with continuous internet connectivity for validation
- Annual licenses - $2,000/year (save $400) with offline validation using license files for air-gapped environments
- No instance limits on paid plans - run Flipt v2 Pro on as many servers as you need
- Cancel anytime - Prorated billing through our Stripe customer portal
Start Your Free 14-Day Trial →
Trial includes up to 5 instances. Upgrade seamlessly to unlimited instances with a paid subscription.
Community
For help and discussion around Flipt, feature flag best practices, and more, join us on Discord.
Release Cadence
Flipt follows semantic versioning for versioning.
We aim to release a new minor version of Flipt every 2-3 weeks. This allows us to quickly iterate on new features. Bug fixes and security patches (patch versions) will be released as needed.
Development
Development documentation is available for those interested in contributing to Flipt.
We welcome contributions of any kind, including but not limited to bug fixes, feature requests, documentation improvements, and more. Just open an issue or pull request and we'll be happy to help out!
Licensing
There are currently two types of licenses in place for Flipt:
- Client License
- Server License
Client License
All of the code required to generate GRPC clients in other languages as well as the Go SDK are licensed under the MIT License.
This code exists in the rpc/ directory.
The client code is the code that you would integrate into your applications, which is why a more permissive license is used.
Server License
The server code is licensed under the Fair Core License, Version 1.0, MIT Future License.
See our licensing docs and fcl.dev for more information.