Releases: flipt-io/flipt
v2.7.0
Changelog
Features
- f238264: feat(oidc): optionally merge userinfo claims into auth session (#5364) (@gzxu)
- c4446a8: feat(oidc): support configurable token signing algorithms (#5362) (@gzxu)
- 6b4811e: feat: Support SigV4 for analytics Prometheus storage (#5388) (@markphelps)
- 492ce41: feat: add GitHub App authentication support (#5327) (@erka)
Bug Fixes
- 8ac6346: fix(git): complete ref update after fetch for both bare and normal repositories (#5144) (@erka)
- aa2e232: fix: handle annual license key format in activation wizard (#5335) (@markphelps)
- d1704d4: fix: improve GitHub auth error message for security requirements (#5331) (@erka)
- 2470bbe: fix: replace default git commit email (#5383) (@erka)
- da550d9: fix: support ssh URLs with non-standard ports in git (#5298) (@erka)
Other
- b6f833c: Add Open Collective funding option (@markphelps)
- b626729: chore(deps): bump @codemirror/lint from 6.9.1 to 6.9.2 in /ui (#5313) (@dependabot[bot])
- 65ab2d5: chore(deps): bump @codemirror/lint from 6.9.2 to 6.9.4 in /ui (#5395) (@dependabot[bot])
- 2240bc8: chore(deps): bump @codemirror/search from 6.5.11 to 6.6.0 in /ui (#5375) (@dependabot[bot])
- da05848: chore(deps): bump @codemirror/state from 6.5.2 to 6.5.3 in /ui (#5260) (@dependabot[bot])
- c3aff3b: chore(deps): bump @codemirror/state from 6.5.3 to 6.5.4 in /ui (#5320) (@dependabot[bot])
- a701328: chore(deps): bump @codemirror/view from 6.38.1 to 6.39.9 in /ui (#5259) (@dependabot[bot])
- a7bb107: chore(deps): bump @codemirror/view from 6.39.9 to 6.39.11 in /ui (#5315) (@dependabot[bot])
- e3327b3: chore(deps): bump @mui/material from 7.3.6 to 7.3.7 in /ui (#5258) (@dependabot[bot])
- 2ed073a: chore(deps): bump @mui/material from 7.3.7 to 7.3.8 in /ui (#5394) (@dependabot[bot])
- 3637ba6: chore(deps): bump @mui/x-charts from 8.23.0 to 8.25.0 in /ui (#5291) (@dependabot[bot])
- 17ed13d: chore(deps): bump @mui/x-charts from 8.25.0 to 8.26.0 in /ui (#5341) (@dependabot[bot])
- 50ab7fd: chore(deps): bump @reduxjs/toolkit from 2.9.1 to 2.11.2 in /ui (#5261) (@dependabot[bot])
- 1c11f33: chore(deps): bump @uiw/codemirror-theme-tokyo-night in /ui (#5294) (@dependabot[bot])
- aa5259f: chore(deps): bump @uiw/react-codemirror from 4.25.2 to 4.25.4 in /ui (#5319) (@dependabot[bot])
- 48770d4: chore(deps): bump alpine from 3.23.2 to 3.23.3 in /build (#5339) (@dependabot[bot])
- ee37ee5: chore(deps): bump code.gitea.io/sdk/gitea from 0.22.1 to 0.23.2 (#5378) (@dependabot[bot])
- 8767f6c: chore(deps): bump cuelang.org/go from 0.15.3 to 0.15.4 (#5340) (@dependabot[bot])
- 1d0fb90: chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#5343) (@dependabot[bot])
- 8655e10: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (#5263) (@dependabot[bot])
- fd0033e: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (#5396) (@dependabot[bot])
- 9630cf5: chore(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 (#5288) (@dependabot[bot])
- 2607368: chore(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 (#5379) (@dependabot[bot])
- 14c4da0: chore(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#5316) (@dependabot[bot])
- cd755ec: chore(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#5345) (@dependabot[bot])
- 9d850f6: chore(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#5390) (@dependabot[bot])
- ecc1e6d: chore(deps): bump github.com/jferrl/go-githubauth from 1.5.0 to 1.5.1 (#5398) (@dependabot[bot])
- 0ca48ec: chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.88 to 0.9.89 (#5376) (@dependabot[bot])
- e88dcfd: chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.89 to 0.9.91 (#5397) (@dependabot[bot])
- dab1426: chore(deps): bump github.com/open-policy-agent/opa from 1.12.1 to 1.12.2 (#5265) (@dependabot[bot])
- bb85b0d: chore(deps): bump github.com/open-policy-agent/opa from 1.12.2 to 1.12.3 (#5292) (@dependabot[bot])
- 84028d0: chore(deps): bump github.com/open-policy-agent/opa from 1.12.3 to 1.13.1 (#5342) (@dependabot[bot])
- fbd713e: chore(deps): bump github.com/prometheus/common from 0.67.4 to 0.67.5 (#5257) (@dependabot[bot])
- 0cfb239: chore(deps): bump github.com/redis/go-redis/extra/redisotel/v9 (#5317) (@dependabot[bot])
- e6c93a2: chore(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 (#5290) (@dependabot[bot])
- f40683f: chore(deps): bump golang.org/x/oauth2 from 0.34.0 to 0.35.0 (#5377) (@dependabot[bot])
- a81d95c: chore(deps): bump golang.org/x/term from 0.38.0 to 0.39.0 (#5264) (@dependabot[bot])
- 6dd5b82: chore(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.1 (#5399) (@dependabot[bot])
- 4038bbd: chore(deps): bump lodash from 4.17.21 to 4.17.23 in /ui (#5302) (@dependabot[bot])
- b7d3695: chore(deps): bump lodash-es from 4.17.21 to 4.17.23 in /ui (#5301) (@dependabot[bot])
- 7072840: chore(deps): bump lucide-react from 0.542.0 to 0.562.0 in /ui (#5295) (@dependabot[bot])
- 2f6b80c: chore(deps): bump lucide-react from 0.563.0 to 0.564.0 in /ui (#5392) (@dependabot[bot])
- c35c855: chore(deps): bump react-chartjs-2 from 5.3.0 to 5.3.1 in /ui (#5262) (@dependabot[bot])
- 0921bae: chore(deps): bump react-dom from 19.2.3 to 19.2.4 in /ui (#5344) (@dependabot[bot])
- 584bf2d: chore(deps): bump react-router from 7.12.0 to 7.13.0 in /ui (#5391) (@dependabot[bot])
- d9594f6: chore(deps): bump suzuki-shunsuke/github-action-renovate-config-validator from 1.1.1 to 2.0.0 (#5286) (@dependabot[bot])
- fcc79ea: chore(deps): bump tailwind-merge from 2.6.0 to 2.6.1 in /ui (#5370) (@dependabot[bot])
- e83278e: chore(deps): bump the opentelemetry group with 14 updates (#5374) (@dependabot[bot])
- 9be627b: chore(deps-dev): bump @playwright/test from 1.57.0 to 1.58.2 in /ui (#5373) (@dependabot[bot])
- 13d1ead: chore(deps-dev): bump @types/react from 19.2.7 to 19.2.14 in /ui (#5393) (@dependabot[bot])
- 191ca6d: chore(deps-dev): bump @types/react-dom from 19.2.2 to 19.2.3 in /ui (#5289) (@dependabot[bot])
- ab5d2a2: chore(deps-dev): bump eslint-plugin-prettier from 5.5.4 to 5.5.5 in /ui (#5371) (@dependabot[bot])
- bf88830: chore(deps-dev): bump knip from 5.68.0 to 5.82.0 in /ui (#5293) (@dependabot[bot])
- c9d58f8: chore(deps-dev): bump knip from 5.82.0 to 5.82.1 in /ui (#5318) (@dependabot[bot])
- 59799a3: chore(deps-dev): bump knip from 5.82.1 to 5.83.1 in /ui (#5372) (@dependabot[bot])
- e4707a9: chore(deps-dev): bump playwright from 1.57.0 to 1.58.1 in /ui (#5348) (@dependabot[bot])
- 6660103: chore(deps-dev): bump prettier from 3.6.2 to 3.8.1 in /ui (#5347) (@dependabot[bot])
- f65f27f: chore: add Claude Code release and changelog commands (#5401) (@markphelps)
- 521f9d3: chore: add deepwiki badge (@markphelps)
- 3621616: chore: bump devenv to v 1.11.2 (#5300) (@erka)
- 7a6abee: chore: bump go to 1.26.0 (#5386) (@erka)
- 97e47bd: chore: bump go-git to v6.0.0-20260216160506-e6a3f881772f (#5381) (@erka)
- 97186d0: chore: release v2.7.0 (#5402) (@markphelps)
- 031c18c: chore: ui fmt (@markphelps)
- 00744df: chore: update changelog for 2.6 (#5367) (@markphelps)
- 32fa455: refactor: migrate from go-grpc-prometheus to go-grpc-middleware/providers/prometheus (#5272) (@erka)
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.7.0 docker pull ghcr.io/flipt-io/flipt:v2.7.0Thank you!
We hope you ❤️ this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.
- Discord
- [Github Discussions](https://github....
v2.6.0
Changelog
Features
- f238264: feat(oidc): optionally merge userinfo claims into auth session (#5364) (@gzxu)
- c4446a8: feat(oidc): support configurable token signing algorithms (#5362) (@gzxu)
- 492ce41: feat: add GitHub App authentication support (#5327) (@erka)
Bug Fixes
- 8ac6346: fix(git): complete ref update after fetch for both bare and normal repositories (#5144) (@erka)
- aa2e232: fix: handle annual license key format in activation wizard (#5335) (@markphelps)
- d1704d4: fix: improve GitHub auth error message for security requirements (#5331) (@erka)
- da550d9: fix: support ssh URLs with non-standard ports in git (#5298) (@erka)
Other
- b6f833c: Add Open Collective funding option (@markphelps)
- b626729: chore(deps): bump @codemirror/lint from 6.9.1 to 6.9.2 in /ui (#5313) (@dependabot[bot])
- da05848: chore(deps): bump @codemirror/state from 6.5.2 to 6.5.3 in /ui (#5260) (@dependabot[bot])
- c3aff3b: chore(deps): bump @codemirror/state from 6.5.3 to 6.5.4 in /ui (#5320) (@dependabot[bot])
- a701328: chore(deps): bump @codemirror/view from 6.38.1 to 6.39.9 in /ui (#5259) (@dependabot[bot])
- a7bb107: chore(deps): bump @codemirror/view from 6.39.9 to 6.39.11 in /ui (#5315) (@dependabot[bot])
- e3327b3: chore(deps): bump @mui/material from 7.3.6 to 7.3.7 in /ui (#5258) (@dependabot[bot])
- 3637ba6: chore(deps): bump @mui/x-charts from 8.23.0 to 8.25.0 in /ui (#5291) (@dependabot[bot])
- 17ed13d: chore(deps): bump @mui/x-charts from 8.25.0 to 8.26.0 in /ui (#5341) (@dependabot[bot])
- 50ab7fd: chore(deps): bump @reduxjs/toolkit from 2.9.1 to 2.11.2 in /ui (#5261) (@dependabot[bot])
- 1c11f33: chore(deps): bump @uiw/codemirror-theme-tokyo-night in /ui (#5294) (@dependabot[bot])
- aa5259f: chore(deps): bump @uiw/react-codemirror from 4.25.2 to 4.25.4 in /ui (#5319) (@dependabot[bot])
- 48770d4: chore(deps): bump alpine from 3.23.2 to 3.23.3 in /build (#5339) (@dependabot[bot])
- 8767f6c: chore(deps): bump cuelang.org/go from 0.15.3 to 0.15.4 (#5340) (@dependabot[bot])
- 1d0fb90: chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#5343) (@dependabot[bot])
- 8655e10: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (#5263) (@dependabot[bot])
- 9630cf5: chore(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 (#5288) (@dependabot[bot])
- 14c4da0: chore(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#5316) (@dependabot[bot])
- cd755ec: chore(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#5345) (@dependabot[bot])
- dab1426: chore(deps): bump github.com/open-policy-agent/opa from 1.12.1 to 1.12.2 (#5265) (@dependabot[bot])
- bb85b0d: chore(deps): bump github.com/open-policy-agent/opa from 1.12.2 to 1.12.3 (#5292) (@dependabot[bot])
- 84028d0: chore(deps): bump github.com/open-policy-agent/opa from 1.12.3 to 1.13.1 (#5342) (@dependabot[bot])
- fbd713e: chore(deps): bump github.com/prometheus/common from 0.67.4 to 0.67.5 (#5257) (@dependabot[bot])
- 0cfb239: chore(deps): bump github.com/redis/go-redis/extra/redisotel/v9 (#5317) (@dependabot[bot])
- e6c93a2: chore(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 (#5290) (@dependabot[bot])
- a81d95c: chore(deps): bump golang.org/x/term from 0.38.0 to 0.39.0 (#5264) (@dependabot[bot])
- 4038bbd: chore(deps): bump lodash from 4.17.21 to 4.17.23 in /ui (#5302) (@dependabot[bot])
- b7d3695: chore(deps): bump lodash-es from 4.17.21 to 4.17.23 in /ui (#5301) (@dependabot[bot])
- 7072840: chore(deps): bump lucide-react from 0.542.0 to 0.562.0 in /ui (#5295) (@dependabot[bot])
- c35c855: chore(deps): bump react-chartjs-2 from 5.3.0 to 5.3.1 in /ui (#5262) (@dependabot[bot])
- 0921bae: chore(deps): bump react-dom from 19.2.3 to 19.2.4 in /ui (#5344) (@dependabot[bot])
- d9594f6: chore(deps): bump suzuki-shunsuke/github-action-renovate-config-validator from 1.1.1 to 2.0.0 (#5286) (@dependabot[bot])
- 191ca6d: chore(deps-dev): bump @types/react-dom from 19.2.2 to 19.2.3 in /ui (#5289) (@dependabot[bot])
- bf88830: chore(deps-dev): bump knip from 5.68.0 to 5.82.0 in /ui (#5293) (@dependabot[bot])
- c9d58f8: chore(deps-dev): bump knip from 5.82.0 to 5.82.1 in /ui (#5318) (@dependabot[bot])
- e4707a9: chore(deps-dev): bump playwright from 1.57.0 to 1.58.1 in /ui (#5348) (@dependabot[bot])
- 6660103: chore(deps-dev): bump prettier from 3.6.2 to 3.8.1 in /ui (#5347) (@dependabot[bot])
- 521f9d3: chore: add deepwiki badge (@markphelps)
- 3621616: chore: bump devenv to v 1.11.2 (#5300) (@erka)
- 031c18c: chore: ui fmt (@markphelps)
- 7d099d5: chore: update changelog for 2.6 (@markphelps)
- 32fa455: refactor: migrate from go-grpc-prometheus to go-grpc-middleware/providers/prometheus (#5272) (@erka)
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.6.0 docker pull ghcr.io/flipt-io/flipt:v2.6.0Thank you!
We hope you ❤️ this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.
v2.5.0
Changelog
Features
- c15f032: feat(server): add configurable flag metadata in ListFlags responses (#4934) (@erka)
- 485b5d3: feat(authn): add fallback name and email for GitHub auth (#5154) (@erka)
- 3226e78: feat(ci): add automated DCO check comment workflow (@markphelps)
- 214ab5e: feat(ci): add thank you message to DCO comment (@markphelps)
- f2f0cdf: feat(ci): skip DCO comment for bot-authored PRs (@markphelps)
- 6126a45: feat(credentials): normalize SSH remote URLs with SSH credentials (#5130) (@markphelps)
- 24e9764: feat(storage): add fetch_policy configuration option (#4920) (@erka)
- da0eb5c: feat: add custom commit and PR templates in server config (#5091) (@markphelps)
- 8d43e59: feat: add flipt license CLI command for Pro license management (@markphelps)
- c540c46: feat: allow purchasing license (open browser) (@markphelps)
- 0d67a97: feat: migrate otelgrpc to stats handlers and update dependencies (#4895) (@erka)
- aa14d8c: feat: redo quickstart look and feel; fix resizability in TUI; add license subcommands (@markphelps)
- 2c4b3fe: feat: return error from GetFromContext when environment not found (#4745) (@markphelps)
Bug Fixes
- 9d5ed92: fix(analytics): return all batch data for requested flags (#4756) (@erka)
- fc1e873: fix(auth): allow to exclude auth for ofrep endpoint (#4753) (@erka)
- 0488bfe: fix(build): move ARG declaration after FROM in Dockerfile (#4772) (@markphelps)
- dc81622: fix(build): update Dagger build to work without go.work files (#4817) (@markphelps)
- de35d38: fix(ci): correct YAML indentation in comment body (@markphelps)
- 7121560: fix(ci): find PRs from forks using commit-based lookup in contributor workflow (@Copilot)
- 14e14eb: fix(ci): use context.payload instead of github.event (@markphelps)
- 6b788df: fix(ci): use workflow_run trigger for fork PR support (@markphelps)
- cdce547: fix(config): set schema default Redis mode to "single" instead of empty string (#4926) (@erka)
- 571dd72: fix(config): use snake_case for fetch policy in json schema (#4957) (@erka)
- ea44e44: fix(deps): update golang.org/x/exp digest to df92998 (#4727) (@renovate[bot])
- 7eb5367: fix(deps): update module github.com/99designs/gqlgen to v0.17.79 (#4735) (@renovate[bot])
- 8e47e96: fix(deps): update module github.com/charmbracelet/bubbletea to v1.3.9 (#4736) (@renovate[bot])
- 238dacc: fix(deps): update module github.com/go-git/go-billy/v6 to v6.0.0-20250906064328-0118fd22f1d9 (#4737) (@renovate[bot])
- 4abf916: fix(deps): update module github.com/go-jose/go-jose/v4 to v4.1.2 (#4739) (@renovate[bot])
- be4965a: fix(deps): update module github.com/google/gnostic to v0.7.1 (#4740) (@renovate[bot])
- 54e6900: fix(deps): update module github.com/ktrysmt/go-bitbucket to v0.9.87 (#4741) (@renovate[bot])
- d50c115: fix(deps): update module github.com/open-feature/go-sdk-contrib/providers/ofrep to v0.1.6 (#4742) (@renovate[bot])
- b928b68: fix(environments): remove deleted branches from UI when synced from Git (#4770) (@markphelps)
- cfe5926: fix(evaluation): add segments to the boolean evaluation response (#4766) (@erka)
- d9236db: fix(evaluation): extract environment fallback logic to helper method (#4959) (@erka)
- 4ab9d6b: fix(otel): add missing otel events for batch evaluation (#4875) (@erka)
- cda230e: fix(proto): generate openapi for v2 api with gnostic (#4847) (@erka)
- 1c942c2: fix(storage): handle DNS and IO resolution errors in git repository connection checks (#4965) (@erka)
- 1150cec: fix(storage): prevent deletion of segments in use by flags (#4879) (@erka)
- dfd9704: fix(storage): sync git remote URLs with Flipt config (#4975) (@erka)
- eb1ee16: fix(streaming): accept http/2 connections (#4715) (@causton81)
- bed13b0: fix(ui): prevent Enter key from submitting form in Tags component (#4896) (@markphelps)
- ac46bc1: fix(ui): refetch environments when window regains focus or reconnects (#4774) (@markphelps)
- 96c9e8b: fix(v2): validate segment references when creating flags (#4749) (@markphelps)
- 155c7eb: fix: add replace directive for stdoutlog to force v0.14.0 (@markphelps)
- f38a33b: fix: add replace directives for stdout OpenTelemetry exporters (@markphelps)
- 351a794: fix: apply tracing stats handler to both gRPC server and in-process channel (#4971) (@erka)
- 0fb62f6: fix: correct license activation TUI success screen spacing (@markphelps)
- 10843cb: fix: correct license activation TUI to use form layout pattern (@markphelps)
- e425ef8: fix: enable submit button based on form state in NamespaceForm (#4991) (@Yashh56)
- f0617b1: fix: ensure compatibility with SDKs with default environment (#4857) (@erka)
- 4d02b95: fix: get environment key from streaming subscribe request (#4733) (@markphelps)
- 065b120: fix: pass correct server parameter to skipped() in EmailMatchingUnaryInterceptor (@markphelps)
- 63e2ff8: fix: prevent install script failure with TERM=dumb in minimal terminals (#4928) (@Copilot)
- cc0402b: fix: read CHANGELOG.md from tagged commit during release (@markphelps)
- fc3ed3d: fix: reduce excessive vertical spacing in TUI content sections (@markphelps)
- 5b43a4a: fix: reduce memory usage with otel and clickhouse (#4755) (@erka)
- 794dc82: fix: remove conflicting dag import in build/main.go (@markphelps)
- de6527c: fix: remove direct Keygen references from user messages (@markphelps)
- 19822af: fix: remove duplicate error messages in license commands (@markphelps)
- 0f104cb: fix: replace panic with proper error handling in EmailMatchingUnaryInterceptor (#4744) (@markphelps)
- 7e5bc49: fix: resolve secrets in OIDC provider configuration (#5153) (@markphelps)
- d4d93da: fix: simplify Pro feature descriptions (@markphelps)
- 118be4c: fix: simplify license activation to preserve entire config (@markphelps)
- c64ec18: fix: update OpenTelemetry stdout exporters to compatible versions (@markphelps)
- 2a4a954: fix: update Pro feature descriptions to match documentation (@markphelps)
- 4352158: fix: update release prompt to extract changelog from CHANGELOG.md (@markphelps)
- fa65947: fix: update semconv to v1.37.0 to resolve schema URL conflict (@markphelps)
- 4b574a6: fix: use static v2-nightly version for nightly builds (@markphelps)
Other
- 939e256: Add health checks for Gitea and Flipt services to resolve flaky tests (@Copilot)
- 0ee3d84: Add initial sleep before polling service readiness (@Copilot)
- 7d61b1f: Add metadata to the flags list API. (#4848) (@erfantarighi)
- c3b44b4: Added UT for test coverage (@ptejasvini)
- 9e41bea: Fixed UT failures (@ptejasvini)
- 54346b8: Initial plan (@Copilot)
- ca55faa: Initial plan (@Copilot)
- 1e4d866: Merge branch 'v2' into copilot/fix-97e228f2-b06c-403b-9d34-3a60f125f6e8 (@markphelps)
- 21288de: Merge branch 'v2' into license-cli-command (@markphelps)
- e05d00d: Merge branch 'v2' into markphelps/dco-yaml-fix (@markphelps)
- 887daa1: Merge branch 'v2' into markphelps/dco-yaml-fix (@markphelps)
- b33a877: Merge pull request #4683 from flipt-io/release/2.1 (@markphelps)
- 6cfab3b: Merge pull request #4764 from flipt-io/fix-changelog-from-tag (@markphelps)
- 89bb754: Merge pull request #4767 from flipt-io/license-cli-command (@markphelps)
- b098687: Merge pull request #4775 from ptejasvini/ptejasvini1_flipt (@markphelps)
- ce4ed8c...
v2.4.0
Added
- OpenTelemetry modernization: Migrate from deprecated gRPC interceptors to modern stats handler API for improved tracing instrumentation (#4895)
Fixed
- Git remote synchronization: Automatically sync git remote URLs with Flipt configuration to ensure repository connections stay current (#4975)
- Git connection error handling: Properly detect and handle DNS resolution errors and I/O timeouts when checking git repository connections, allowing lenient fetch policy to work correctly when remotes are temporarily unreachable (#4965)
- Distributed tracing coverage: Apply OpenTelemetry stats handler to both the main gRPC server and in-process channel for complete tracing coverage (#4971)
- UI form submission: Enable namespace form submit button based on form validation state for better user experience (#4991)
Dependencies
- Updated various dependencies including OpenTelemetry, AWS SDK, gRPC ecosystem, and UI libraries
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.4.0 docker pull ghcr.io/flipt-io/flipt:v2.4.0Thank you!
We hope you ❤️ this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.
v2.3.1
Changelog
Bug Fixes
- 571dd72: fix(config): use snake_case for fetch policy in json schema (#4957) (@erka)
- d9236db: fix(evaluation): extract environment fallback logic to helper method (#4959) (@erka)
Other
- 0f05cb9: Merge branch 'v2' into release/2.3 (@markphelps)
- b9d7140: chore: prep for v2.3.0 release (#4956) (@markphelps)
- 89759fe: chore: update changelog (@markphelps)
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.3.1 docker pull ghcr.io/flipt-io/flipt:v2.3.1Thank you!
We hope you ❤️ this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.
v2.3.0
Added
- Configurable flag metadata in ListFlags: New server configuration option to control whether flag metadata is included in ListFlags API responses, allowing operators to expose metadata publicly when needed (#4934, #4848)
- Git fetch policy configuration: Add
fetch_policyconfiguration option to control behavior when remote git fetch fails during startup, allowing Flipt to continue operating with stale local data (#4920)
Fixed
- Install script compatibility: Prevent install script failure in minimal terminals (TERM=dumb) by adding tput capability check before setting color variables (#4928)
- Segment deletion validation: Prevent deletion of segments that are referenced by flag rules or rollouts to ensure data integrity (#4879)
- SDK default environment compatibility: Ensure proper compatibility with SDKs using default environment (#4857)
- OpenTelemetry batch evaluation: Add missing OpenTelemetry event tracking to batch evaluation endpoint for consistent observability (#4875)
- UI form submission: Prevent Enter key from submitting form when adding tags in constraint values, now properly adds tag instead (#4896)
- Redis configuration schema: Set default Redis mode to "single" instead of empty string for more explicit configuration (#4926)
- OpenAPI generation: Generate OpenAPI specs for v2 API using gnostic (#4847)
Changed
- Authentication error handling: Improve code style and error handling in authentication method utilities (#4775)
- GitHub API: Update to go-github/v75 for latest GitHub API features (#4866)
- Contributor workflow: Optimize contributor workflow to use check_suite pattern (#4819)
- OpenTelemetry dependencies: Group OpenTelemetry dependency updates for better management (#4820)
Dependencies
- Updated various dependencies including OpenTelemetry group, grpc-ecosystem middleware, ClickHouse client, OPA, and cloud storage libraries
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.3.0 docker pull ghcr.io/flipt-io/flipt:v2.3.0Thank you!
We hope you ❤️ this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.
v2.2.0
Added
- CLI license management: New
flipt licensecommand with interactive TUI wizard for managing Flipt Pro licenses (#4767) - Boolean evaluation: Include segments in boolean flag evaluation response for consistency (#4767)
Fixed
- UI environment sync: Refetch environments when window regains focus or network reconnects to ensure UI stays in sync (#4774)
- Git branch cleanup: Remove deleted branches from UI when synced from Git repositories (#4770)
- Docker build: Correct ARG declaration placement in Dockerfile to resolve build issues (#4772)
- OpenTelemetry compatibility: Resolve schema URL conflicts and update to compatible exporter versions
Changed
- OpenTelemetry conventions: Align event and attribute names with OpenTelemetry semantic conventions specification (#4769)
Dependencies
- Updated various UI dependencies including @mui/material, @mui/x-charts, and development tools
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.2.0 docker pull ghcr.io/flipt-io/flipt:v2.2.0Thank you!
We hope you ❤️ this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.
v1.61.0
Changelog
Features
- 3fef0d1: feat(metrics): add Git sync observability metrics to feature flag backend (#4673) (@rohitnarayan)
Bug Fixes
- 3a77d15: fix(evaluation): add segments to the boolean evaluation response (#4765) (@erka)
- 70bee0f: fix(deps): update dependency @codemirror/view to v6.38.1 (#4616) (@renovate[bot])
- 5a378de: fix(deps): update dependency @codemirror/view to v6.38.2 (#4690) (@renovate[bot])
- 1242db2: fix(deps): update dependency @fortawesome/react-fontawesome to v0.2.6 (#4617) (@renovate[bot])
- cdc2bfd: fix(deps): update dependency @reduxjs/toolkit to v2.9.0 (#4691) (@renovate[bot])
- c0c7085: fix(deps): update dependency @uiw/codemirror-theme-tokyo-night to v4.25.1 (#4647) (@renovate[bot])
- c8eb40d: fix(deps): update dependency @uiw/react-codemirror to v4.25.1 (#4648) (@renovate[bot])
- a7677c5: fix(deps): update dependency lucide-react to ^0.542.0 (#4649) (@renovate[bot])
- 6790974: fix(deps): update dependency lucide-react to ^0.543.0 (#4718) (@renovate[bot])
- 14c206d: fix(deps): update dependency react-router to v7.8.2 (#4650) (@renovate[bot])
- 2384907: fix(deps): update dependency yup to v1.7.0 (#4651) (@renovate[bot])
- e378544: fix(deps): update dependency zod to v3.25.76 (#4625) (@renovate[bot])
- 72f2dbf: fix(deps): update github.com/open-policy-agent/contrib/logging/plugins/ozap digest to 0449b9c (#4642) (@renovate[bot])
- 563759a: fix(deps): update github.com/open-policy-agent/contrib/logging/plugins/ozap digest to 0f81d9a (#4685) (@renovate[bot])
- 7732ca9: fix(deps): update github.com/open-policy-agent/contrib/logging/plugins/ozap digest to 7262287 (#4624) (@renovate[bot])
- 85b1ee5: fix(deps): update golang.org/x/exp digest to df92998 (#4794) (@renovate[bot])
- 15ce417: fix(deps): update google.golang.org/genproto/googleapis/api digest to 57b25ae (#4795) (@renovate[bot])
- 380e6c5: fix(deps): update google.golang.org/genproto/googleapis/api digest to 9702482 (#4709) (@renovate[bot])
- 9952c3e: fix(deps): update module cloud.google.com/go/storage to v1.56.1 (#4652) (@renovate[bot])
- a53a3ff: fix(deps): update module code.gitea.io/sdk/gitea to v0.22.0 (#4654) (@renovate[bot])
- c61a894: fix(deps): update module cuelang.org/go to v0.14.1 (#4655) (@renovate[bot])
- afa157c: fix(deps): update module dagger.io/dagger to v0.18.17 (#4656) (@renovate[bot])
- 2382d01: fix(deps): update module github.com/99designs/gqlgen to v0.17.78 (#4626) (@renovate[bot])
- 81bd7ed: fix(deps): update module github.com/99designs/gqlgen to v0.17.81 (#4805) (@renovate[bot])
- a07c246: fix(deps): update module github.com/azure/azure-sdk-for-go/sdk/storage/azblob to v1.6.2 (#4627) (@renovate[bot])
- b1a567b: fix(deps): update module github.com/bufbuild/buf to v1.57.0 (#4657) (@renovate[bot])
- f06c029: fix(deps): update module github.com/clickhouse/clickhouse-go/v2 to v2.40.1 (#4658) (@renovate[bot])
- a87b95f: fix(deps): update module github.com/clickhouse/clickhouse-go/v2 to v2.40.3 (#4807) (@renovate[bot])
- b26e6e2: fix(deps): update module github.com/coreos/go-oidc/v3 to v3.15.0 (#4659) (@renovate[bot])
- e006b3e: fix(deps): update module github.com/docker/docker to v28.3.3+incompatible (#4668) (@renovate[bot])
- a575c59: fix(deps): update module github.com/docker/docker to v28.4.0+incompatible (#4692) (@renovate[bot])
- 8e2e337: fix(deps): update module github.com/go-chi/chi/v5 to v5.2.3 (#4628) (@renovate[bot])
- f072b09: fix(deps): update module github.com/go-git/go-git/v5 to v5.16.2 (#4670) (@renovate[bot])
- db0f6fe: fix(deps): update module github.com/golang-migrate/migrate/v4 to v4.19.0 (#4671) (@renovate[bot])
- 588453b: fix(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.27.2 (#4629) (@renovate[bot])
- 6794e47: fix(deps): update module github.com/hamba/avro/v2 to v2.29.0 (#4693) (@renovate[bot])
- 4f36cb3: fix(deps): update module github.com/hamba/avro/v2 to v2.30.0 (#4719) (@renovate[bot])
- cf88846: fix(deps): update module github.com/hashicorp/cap to v0.10.0 (#4694) (@renovate[bot])
- 42dabf5: fix(deps): update module github.com/hashicorp/go-retryablehttp to v0.7.8 (#4630) (@renovate[bot])
- 54ceacd: fix(deps): update module github.com/jackc/pgx/v5 to v5.7.6 (#4712) (@renovate[bot])
- aad112a: fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.32 (#4631) (@renovate[bot])
- a0064bd: fix(deps): update module github.com/open-feature/go-sdk to v1.15.1 (#4695) (@renovate[bot])
- 9401d9d: fix(deps): update module github.com/open-feature/go-sdk-contrib/providers/ofrep to v0.1.6 (#4632) (@renovate[bot])
- a96d8a5: fix(deps): update module github.com/open-policy-agent/opa to v1.8.0 (#4696) (@renovate[bot])
- 34e0270: fix(deps): update module github.com/prometheus/client_golang to v1.23.2 (#4697) (@renovate[bot])
- 44f9104: fix(deps): update module github.com/redis/go-redis/extra/redisotel/v9 to v9.13.0 (#4699) (@renovate[bot])
- 903e8cd: fix(deps): update module github.com/redis/go-redis/extra/redisotel/v9 to v9.14.0 (#4725) (@renovate[bot])
- f7fed6c: fix(deps): update module github.com/spf13/cobra to v1.10.1 (#4700) (@renovate[bot])
- 0d1391e: fix(deps): update module github.com/spf13/viper to v1.21.0 (#4714) (@renovate[bot])
- 4cb3362: fix(deps): update module github.com/stretchr/testify to v1.11.1 (#4701) (@renovate[bot])
- 0ad8306: fix(deps): update module github.com/testcontainers/testcontainers-go to v0.38.0 (#4702) (@renovate[bot])
- dc7a898: fix(deps): update module github.com/twmb/franz-go to v1.19.5 (#4643) (@renovate[bot])
- 8fe8f40: fix(deps): update module github.com/twmb/franz-go/pkg/kadm to v1.16.1 (#4633) (@renovate[bot])
- d1da231: fix(deps): update module github.com/twmb/franz-go/pkg/sr to v1.5.0 (#4703) (@renovate[bot])
- ef83cae: fix(deps): update module github.com/vektah/gqlparser/v2 to v2.5.30 (#4634) (@renovate[bot])
- d3e0e50: fix(deps): update module gocloud.dev to v0.43.0 (#4704) (@renovate[bot])
- 268f41b: fix(deps): update module golang.org/x/crypto to v0.42.0 (#4726) (@renovate[bot])
- fc9278e: fix(deps): update module golang.org/x/mod to v0.27.0 (#4705) (@renovate[bot])
- 2a89ca5: fix(deps): update module google.golang.org/grpc to v1.75.0 (#4706) (@renovate[bot])
- 7f908a0: fix(deps): update module google.golang.org/grpc to v1.75.1 (#4724) (@renovate[bot])
- d5b8aac: fix(deps): update module google.golang.org/protobuf to v1.36.8 (@renovate[bot])
- fab46fc: fix(deps): update module google.golang.org/protobuf to v1.36.9 (main) (#4717) (@renovate[bot])
- 56f2b5c: fix(deps): update radix-ui-primitives monorepo (#4636) (@renovate[bot])
Other
- 7c806f4: Merge branch 'main' into renovate/main-google.golang.org-protobuf-1.x (@markphelps)
- 2ad3bff: Merge branch 'main' into renovate/main-google.golang.org-protobuf-1.x (@markphelps)
- 1cadc2f: Merge branch 'main' into renovate/main-node-18.x-lockfile (@kodiakhq[bot])
- f6e0203: Merge branch 'main' into renovate/main-node-18.x-lockfile (@kodiakhq[bot])
- 183ab1c: Merge branch 'main' into renovate/main-node-18.x-lockfile (@kodiakhq[bot])
- d05f559: Merge branch 'main' into renovate/main-node-18.x-lockfile (@kodiakhq[bot])
- 2740a34: Merge branch 'main' into renovate/main-node-18.x-lockfile (@kodiakhq[bot])
- abeb403: Merge branch 'main' into renovate/main-node-18.x-lockfile (@kodiakhq[bot])
- bd0966d: Merge branch 'main' into renovate/main-node-18.x-lockfile (@kodiakhq[bot])
- cbfb4e0: Merge branch 'main' into renovate/main-node-18.x-lockfile (@kodiakhq[bot])
- 3f3c601: Merge pull request #4608 from flipt-io/renovate/main-node-18.x-lockfile (@ma...
v2.1.3
Fixed
- Analytics batch processing: Return all batch data for requested flags to prevent incomplete analytics results (#4756)
- Memory optimization: Reduce memory usage with OpenTelemetry and ClickHouse integrations (#4755)
- Authentication middleware: Pass correct server parameter to skipped() method in EmailMatchingUnaryInterceptor
- Nightly builds: Use static v2-nightly version for consistent nightly build versioning
Changed
- Documentation: Added nightly build Docker instructions to README for improved developer experience
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.1.3 docker pull ghcr.io/flipt-io/flipt:v2.1.3Thank you!
We hope you ❤️ this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.
v2.1.2
Release v2.1.2
This release includes bug fixes and dependency updates, with notable improvements to error handling and streaming functionality.
Highlights
- Improved error handling in authentication and environment contexts
- Fixed HTTP/2 connection acceptance in streaming
Bug Fixes
- Allow excluding auth for ofrep endpoint
- Validate segment references when creating flags
Dependency Updates
- Multiple Go module updates, including gqlgen, bubbletea, and go-jose
- Security update for Vite to v6.3.6
For a complete list of changes, please refer to the full changelog.
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.1.2 docker pull ghcr.io/flipt-io/flipt:v2.1.2Thank you!
We hope you ❤️ this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.