Changelog
Features
- 1bb4f9b: feat(constraints): add bulk edit mode for constraints (#6017) (@jgaul3)
- 2917a74: feat(license): support configurable machine fingerprint for containers (#5427) (@markphelps)
- 7507f24: feat(secrets): add AWS Secrets Manager provider (#5411) (@markphelps)
- 0d039fd: feat(secrets): add Azure Key Vault provider (#5428) (@markphelps)
- 0b24646: feat(secrets): add GCP Secret Manager provider (#5404) (@markphelps)
- 95b8f4d: feat(stream): skip sending snapshot when client digest matches (#5909) (@erka)
- 78d53c3: feat: add devcontainer setup for Flipt v2 development (#5542) (@markphelps)
- 0f8b6d0: feat: implement SSE for real-time UI and ofrep evaluation updates (#5617) (@erka)
- dd02c14: feat: normalize rollout distribution buckets (#5581) (@erka)
- eddfb54: feat: publish v2 protobufs to buf.io/v2 (#5589) (@markphelps)
Bug Fixes
- 3462b64: fix(authn): add HttpOnly and Secure attrs when clearing auth cookies (#5655) (@erka)
- a67ffbe: fix(authn): fix JSON struct tag typo in kubernetes auth claims (#5908) (@erka)
- 787fb07: fix(authn): forward state and token cookies to distinct metadata keys (#5479) (@erka)
- a146a1c: fix(authn): oauth pcke challenge for github and a correct oidc nonce (#5647) (@erka)
- 5f76d22: fix(authn): use UserInfo claims as fallback for missing OIDC fields (#5692) (@erka)
- 2b10714: fix(ci): bump Go version to 1.26 in nightly release workflow (#5407) (@markphelps)
- 5501904: fix(config): disable profiling diagnostics by default (#5991) (@erka)
- 2048b01: fix(config): relax schema to allow installation_id from environment vars (#5425) (@erka)
- 9ebef94: fix(credentials): preserve non-default SSH ports in remote URLs (#5945) (@immanuwell)
- 7478088: fix(evaluation): refactor number constraint evaluation to use nil checks consistently (#6018) (@erka)
- dba660d: fix(ofrep): new SSE event stream endpoint and conditional request support (#5957) (@erka)
- 61aa322: fix(ofrep): use correct EventStream.endpoint struct + etag for bulk (#5669) (@erka)
- 3790369: fix(openapi): improve openapi generation (#5823) (@erka)
- 4403ac4: fix(sdk): add Content-Type header and improve error messages in generated HTTP client (#5560) (@erka)
- 466e094: fix(stream): don't suppress digest reverts in snapshot stream (#5923) (@immanuwell)
- f5bf5e9: fix(streaming): deprecate name and description in evaluation snapshot (#5990) (@erka)
- ac78eea: fix(ui): Toggle remove bg-brand class for unchecked state (#5430) (@naftali100)
- 660efb9: fix(ui): sanitize generated keys and show key validation errors on first edit (#5434) (@erka)
- 1dbb161: fix(ui): skip API environments calls and SSE stream when user is not authenticated (#5670) (@erka)
- 2a8dc05: fix(ui): use 0 as default threshold percentage in quick edit form (#5408) (@erka)
- 8e94ba0: fix(v2): openapi inject missing schemas into gnostic generator (#5825) (@erka)
- 047693e: fix: address CodeQL warning about insecure TLS configuration (#5614) (@erka)
- fc7fec7: fix: bump node version from 18 to 20 in CI workflows (#5501) (@markphelps)
- 2e76ab2: fix: correct typos in error type and authentication config comments (#5937) (@immanuwell)
- c970ef1: fix: preserve trailing separators in key generation (#5594) (@markphelps)
- 04a99ca: fix: set EnvironmentKey on evaluation requests in environment integration tests (#5499) (@markphelps)
- c185679: fix: snapshot publisher subs and correct constraint short-circuiting (#5565) (@erka)
Other
- 527a520: Allow camel cases in flag keys in the UI (#5917) (@keshane)
- 5815648: Fix CUE validation for boolean rollouts and null descriptions (#5385) (@markphelps)
- c4dd764: Revise pricing for licenses in README (@markphelps)
- aecd740: build: update goreleaser to v2.14 and fix quill/dockerfile paths (#5588) (@erka)
- ee21988: chore(deps): bump @codemirror/lint from 6.9.4 to 6.9.5 in /ui (#5607) (@dependabot[bot])
- 28b9a38: chore(deps): bump @codemirror/lint from 6.9.5 to 6.9.6 in /ui (#5949) (@dependabot[bot])
- 5d0602e: chore(deps): bump @codemirror/search from 6.6.0 to 6.7.0 in /ui (#5788) (@dependabot[bot])
- 09fa42b: chore(deps): bump @codemirror/view from 6.39.11 to 6.39.15 in /ui (#5417) (@dependabot[bot])
- a0f07da: chore(deps): bump @codemirror/view from 6.39.15 to 6.39.16 in /ui (#5532) (@dependabot[bot])
- d57ef45: chore(deps): bump @codemirror/view from 6.39.16 to 6.40.0 in /ui (#5574) (@dependabot[bot])
- dcac005: chore(deps): bump @codemirror/view from 6.40.0 to 6.41.0 in /ui (#5680) (@dependabot[bot])
- 2aa34b3: chore(deps): bump @codemirror/view from 6.41.0 to 6.41.1 in /ui (#5757) (@dependabot[bot])
- 6607e40: chore(deps): bump @codemirror/view from 6.41.1 to 6.42.1 in /ui (#5843) (@dependabot[bot])
- 53db85c: chore(deps): bump @codemirror/view from 6.42.1 to 6.43.0 in /ui (#5878) (@dependabot[bot])
- e8b746f: chore(deps): bump @mui/material from 7.3.8 to 7.3.9 in /ui (#5525) (@dependabot[bot])
- b22c35f: chore(deps): bump @mui/x-charts from 8.27.0 to 8.27.4 in /ui (#5526) (@dependabot[bot])
- 650f89e: chore(deps): bump @mui/x-charts from 8.27.4 to 8.27.5 in /ui (#5572) (@dependabot[bot])
- 4a5dcaf: chore(deps): bump @mui/x-charts from 8.27.5 to 8.28.0 in /ui (#5606) (@dependabot[bot])
- c2c288b: chore(deps): bump @mui/x-charts from 8.28.0 to 8.28.2 in /ui (#5681) (@dependabot[bot])
- d3c0e7c: chore(deps): bump @radix-ui/react-avatar from 1.1.11 to 1.1.12 in /ui (#5982) (@dependabot[bot])
- 2e19dea: chore(deps): bump @radix-ui/react-popover from 1.1.15 to 1.1.16 in /ui (#5984) (@dependabot[bot])
- d7815ee: chore(deps): bump @radix-ui/react-separator from 1.1.8 to 1.1.9 in /ui (#5981) (@dependabot[bot])
- 8cc2ae6: chore(deps): bump @radix-ui/react-switch from 1.2.6 to 1.3.0 in /ui (#5985) (@dependabot[bot])
- aaf93fd: chore(deps): bump @reduxjs/toolkit from 2.11.2 to 2.12.0 in /ui (#5903) (@dependabot[bot])
- 99d6101: chore(deps): bump @tootallnate/once and jest-environment-jsdom in /ui (#5478) (@dependabot[bot])
- 6fec5f3: chore(deps): bump @uiw/codemirror-theme-tokyo-night in /ui (#5470) (@dependabot[bot])
- 792e85a: chore(deps): bump @uiw/codemirror-theme-tokyo-night in /ui (#5571) (@dependabot[bot])
- 2e0e3ed: chore(deps): bump @uiw/codemirror-theme-tokyo-night in /ui (#5636) (@dependabot[bot])
- 875e560: chore(deps): bump @uiw/codemirror-theme-tokyo-night in /ui (#5948) (@dependabot[bot])
- 538d8a7: chore(deps): bump @uiw/react-codemirror from 4.25.4 to 4.25.5 in /ui (#5469) (@dependabot[bot])
- d3cdea1: chore(deps): bump @uiw/react-codemirror from 4.25.5 to 4.25.8 in /ui (#5573) (@dependabot[bot])
- 0aea5d5: chore(deps): bump @uiw/react-codemirror from 4.25.8 to 4.25.9 in /ui (#5634) (@dependabot[bot])
- d5466a8: chore(deps): bump @uiw/react-codemirror from 4.25.9 to 4.25.10 in /ui (#5899) (@dependabot[bot])
- a5856b2: chore(deps): bump actions/checkout from 4 to 6 (#5947) (@dependabot[bot])
- 29442dc: chore(deps): bump actions/create-github-app-token from 2 to 3 (#5566) (@dependabot[bot])
- 35dbdb6: chore(deps): bump actions/download-artifact from 7 to 8 (#5463) (@dependabot[bot])
- 6211058: chore(deps): bump actions/github-script from 8 to 9 (#5720) (@dependabot[bot])
- e592577: chore(deps): bump actions/upload-artifact from 6 to 7 (#5462) (@dependabot[bot])
- c7e04e6: chore(deps): bump alpine from 3.23.3 to 3.23.4 in /build (#5751) (@dependabot[bot])
- eb0cb71: chore(deps): bump cloud.google.com/go/secretmanager (#5677) (@dependabot[bot])
- 3c9d398: chore(deps): bump cloud.google.com/go/secretmanager (#5814) (@dependabot[bot])
- f77c7d0: chore(deps): bump code.gitea.io/sdk/gitea from 0.23.2 to 0.24.1 (#5630) (@dependabot[bot])
- 45d98a5: chore(deps): bump codecov/codecov-action from 5 to 6 (#5628) (@dependabot[bot])
- 1ac9867: chore(deps): bump codecov/codecov-action from 6 to 7 (#5980) (@dependabot[bot])
- 4c55040: chore(deps): bump cuelang.org/go from 0.15.4 to 0.16.0 (#5530) (@dependabot[bot])
- db200c7: chore(deps): bump cuelang.org/go from 0.16.0 to 0.16.1 (#5726) (@dependabot[bot])
- 2ebdf22: chore(deps): bump docker/login-action from 3 to 4 (#5522) (@dependabot[bot])
- a07b735: chore(deps): bump docker/setup-buildx-action from 3 to 4 (#5521) (@dependabot[bot])
- 847e33d: chore(deps): bump docker/setup-qemu-action from 3 to 4 (#5523) (@dependabot[bot])
- f4b8694: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#5467) (@dependabot[bot])
- 831b5ac: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#5758) (@dependabot[bot])
- e930076: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#5987) (@dependabot[bot])
- 287324e: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azsecrets from 1.4.0 to 1.5.0 (#5951) (@dependabot[bot])
- 0c94acd: chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#5782) (@dependabot[bot])
- 4df0cd9: chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#5872) (@dependabot[bot])
- 69cf928: chore(deps): bump github.com/ProtonMail/go-crypto from 1.3.0 to 1.4.0 (#5465) (@dependabot[bot])
- 54c0736: chore(deps): bump github.com/ProtonMail/go-crypto from 1.4.0 to 1.4.1 (#5629) (@dependabot[bot])
- d940f16: chore(deps): bump github.com/aws/aws-sdk-go-v2 from 1.41.3 to 1.41.4 (#5575) (@dependabot[bot])
- eb52813: chore(deps): bump github.com/aws/aws-sdk-go-v2 from 1.41.5 to 1.41.6 (#5791) (@dependabot[bot])
- cfbfb36: chore(deps): bump github.com/aws/aws-sdk-go-v2 from 1.41.6 to 1.41.7 (#5813) (@dependabot[bot])
- 0d004b9: chore(deps): bump github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream (#5694) (@dependabot[bot])
- 9560dd3: chore(deps): bump github.com/aws/aws-sdk-go-v2/config (#5466) (@dependabot[bot])
- 4c1a19c: chore(deps): bump github.com/aws/aws-sdk-go-v2/config (#5610) (@dependabot[bot])
- b1280c9: chore(deps): bump github.com/aws/aws-sdk-go-v2/config (#5637) (@dependabot[bot])
- 6f06360: chore(deps): bump github.com/aws/aws-sdk-go-v2/config (#5847) (@dependabot[bot])
- 1e5d714: chore(deps): bump github.com/aws/aws-sdk-go-v2/config (#5904) (@dependabot[bot])
- dcc8395: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (#5533) (@dependabot[bot])
- ffac1f9: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (#5701) (@dependabot[bot])
- cdf33fd: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (#5851) (@dependabot[bot])
- b490116: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager (#5464) (@dependabot[bot])
- b3f8946: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager (#5879) (@dependabot[bot])
- 3673743: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager (#5986) (@dependabot[bot])
- b97da9d: chore(deps): bump github.com/coreos/go-oidc/v3 from 3.17.0 to 3.18.0 (#5752) (@dependabot[bot])
- 25005a8: chore(deps): bump github.com/docker/cli (#5481) (@dependabot[bot])
- a46c7eb: chore(deps): bump github.com/docker/go-connections from 0.6.0 to 0.7.0 (#5756) (@dependabot[bot])
- 1c199c1: chore(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 (#5611) (@dependabot[bot])
- 7b94d80: chore(deps): bump github.com/go-chi/chi/v5 from 5.2.5 to 5.3.0 (#5953) (@dependabot[bot])
- 0def52e: chore(deps): bump github.com/go-git/go-billy/v6 in /core (#5862) (@dependabot[bot])
- 838efea: chore(deps): bump github.com/go-git/go-git/v6 from 6.0.0-20260216160506-e6a3f881772f to 6.0.0-alpha.1 (#5675) (@dependabot[bot])
- ee47d2f: chore(deps): bump github.com/go-git/go-git/v6 from 6.0.0-alpha.1 to 6.0.0-alpha.2 (#5746) (@dependabot[bot])
- f473e49: chore(deps): bump github.com/go-git/go-git/v6 from 6.0.0-alpha.2 to 6.0.0-alpha.4 (#5885) (@dependabot[bot])
- ac4c478: chore(deps): bump github.com/go-jose/go-jose/v3 from 3.0.4 to 3.0.5 (#5657) (@dependabot[bot])
- f783b94: chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 (#5662) (@dependabot[bot])
- b03870e: chore(deps): bump github.com/go-openapi/jsonpointer (#5529) (@dependabot[bot])
- 88f40b4: chore(deps): bump github.com/go-openapi/jsonpointer (#5785) (@dependabot[bot])
- ca340bf: chore(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#5422) (@dependabot[bot])
- 11f2189: chore(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#5755) (@dependabot[bot])
- a0f9803: chore(deps): bump github.com/hashicorp/cap from 0.12.0 to 0.13.0 (#5815) (@dependabot[bot])
- d28e1bc: chore(deps): bump github.com/hashicorp/vault/api from 1.22.0 to 1.23.0 (#5753) (@dependabot[bot])
- 88c1197: chore(deps): bump github.com/jferrl/go-githubauth from 1.5.1 to 1.6.0 (#5786) (@dependabot[bot])
- 22bf024: chore(deps): bump github.com/keygen-sh/machineid from 1.1.2 to 1.1.3 (#5678) (@dependabot[bot])
- 602d823: chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.91 to 0.9.93 (#5419) (@dependabot[bot])
- cafe15b: chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.93 to 0.9.94 (#5461) (@dependabot[bot])
- 5abf6d1: chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.94 to 0.9.95 (#5679) (@dependabot[bot])
- 2a94313: chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.95 to 0.9.100 (#5809) (@dependabot[bot])
- 9041f9f: chore(deps): bump github.com/mattn/go-isatty from 0.0.20 to 0.0.21 (#5728) (@dependabot[bot])
- 003d1b0: chore(deps): bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 (#5849) (@dependabot[bot])
- 4dde011: chore(deps): bump github.com/open-policy-agent/opa from 1.13.1 to 1.13.2 (#5415) (@dependabot[bot])
- 386ab0f: chore(deps): bump github.com/open-policy-agent/opa from 1.13.2 to 1.14.1 (#5568) (@dependabot[bot])
- 129add5: chore(deps): bump github.com/redis/go-redis/extra/redisotel/v9 (#5421) (@dependabot[bot])
- b8a9cc8: chore(deps): bump github.com/redis/go-redis/extra/redisotel/v9 (#5988) (@dependabot[bot])
- 4405de7: chore(deps): bump github.com/redis/go-redis/v9 from 9.17.3 to 9.18.0 (#5418) (@dependabot[bot])
- 5cd4f48: chore(deps): bump github.com/redis/go-redis/v9 from 9.18.0 to 9.19.0 (#5848) (@dependabot[bot])
- f956590: chore(deps): bump github.com/samber/lo from 1.52.0 to 1.53.0 (#5577) (@dependabot[bot])
- 1e20943: chore(deps): bump github.com/testcontainers/testcontainers-go (#5569) (@dependabot[bot])
- 503a701: chore(deps): bump github.com/testcontainers/testcontainers-go from 0.41.0 to 0.42.0 (#5784) (@dependabot[bot])
- 0b6c25e: chore(deps): bump go.opentelemetry.io/otel in /sdk/go (#5777) (@dependabot[bot])
- d883b1a: chore(deps): bump go.opentelemetry.io/otel in /sdk/go/v2 (#5776) (@dependabot[bot])
- f2f5598: chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp (#5702) (@dependabot[bot])
- a7eed94: chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp (#5703) (@dependabot[bot])
- 19725ff: chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp (#5704) (@dependabot[bot])
- eac1bb0: chore(deps): bump go.opentelemetry.io/otel/sdk from 1.37.0 to 1.40.0 in /sdk/go/v2 (#5436) (@dependabot[bot])
- d52a9d0: chore(deps): bump gocloud.dev from 0.44.0 to 0.45.0 (#5602) (@dependabot[bot])
- d9bbb2b: chore(deps): bump golang.org/x/crypto from 0.48.0 to 0.49.0 (#5576) (@dependabot[bot])
- 02616c4: chore(deps): bump golang.org/x/crypto from 0.50.0 to 0.52.0 (#5898) (@dependabot[bot])
- 86632ae: chore(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 (#5905) (@dependabot[bot])
- 10b978b: chore(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0 (#5604) (@dependabot[bot])
- d0e223e: chore(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 (#5534) (@dependabot[bot])
- dfcdbac: chore(deps): bump golang.org/x/term from 0.41.0 to 0.42.0 (#5724) (@dependabot[bot])
- 53e4cce: chore(deps): bump golang.org/x/term from 0.42.0 to 0.43.0 (#5873) (@dependabot[bot])
- 3d45e87: chore(deps): bump google.golang.org/api from 0.267.0 to 0.272.0 (#5603) (@dependabot[bot])
- 9061181: chore(deps): bump google.golang.org/api from 0.272.0 to 0.273.0 (#5631) (@dependabot[bot])
- 3e3a3b6: chore(deps): bump google.golang.org/api from 0.273.1 to 0.275.0 (#5725) (@dependabot[bot])
- dde228e: chore(deps): bump google.golang.org/grpc from 1.73.0 to 1.79.3 in /rpc/flipt (#5585) (@dependabot[bot])
- 894551c: chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 (#5587) (@dependabot[bot])
- a36adde: chore(deps): bump google.golang.org/grpc from 1.80.0 to 1.81.0 (#5850) (@dependabot[bot])
- 5d358d2: chore(deps): bump google.golang.org/grpc in /rpc/v2/environments (#5583) (@dependabot[bot])
- da00ee1: chore(deps): bump google.golang.org/grpc in /rpc/v2/evaluation (#5592) (@dependabot[bot])
- ffb4a67: chore(deps): bump google.golang.org/protobuf v1.36.9 to v1.36.11 (#5412) (@erka)
- 927e347: chore(deps): bump goreleaser/goreleaser-action from 6 to 7 (#5414) (@dependabot[bot])
- 1174755: chore(deps): bump jdx/mise-action from 2 to 3 (#5520) (@dependabot[bot])
- bcd86a3: chore(deps): bump jdx/mise-action from 3 to 4 (#5567) (@dependabot[bot])
- f67ee5f: chore(deps): bump lodash from 4.17.23 to 4.18.1 in /ui (#5654) (@dependabot[bot])
- 604bd4f: chore(deps): bump lodash-es from 4.17.23 to 4.18.1 in /ui (#5653) (@dependabot[bot])
- 0f1741a: chore(deps): bump lucide-react from 0.564.0 to 0.575.0 in /ui (#5416) (@dependabot[bot])
- 41b6f19: chore(deps): bump lucide-react from 0.575.0 to 0.577.0 in /ui (#5609) (@dependabot[bot])
- 80943ec: chore(deps): bump picomatch in /ui (#5620) (@dependabot[bot])
- 1afaaf2: chore(deps): bump react-dom from 19.2.4 to 19.2.5 in /ui (#5729) (@dependabot[bot])
- d184f76: chore(deps): bump react-dom from 19.2.5 to 19.2.6 in /ui (#5874) (@dependabot[bot])
- 01c058c: chore(deps): bump react-redux from 9.2.0 to 9.3.0 in /ui (#5876) (@dependabot[bot])
- d6db2df: chore(deps): bump react-router from 7.13.0 to 7.13.1 in /ui (#5471) (@dependabot[bot])
- 7f43cf4: chore(deps): bump react-router from 7.13.1 to 7.13.2 in /ui (#5632) (@dependabot[bot])
- 783a9a0: chore(deps): bump react-router from 7.13.2 to 7.14.0 in /ui (#5723) (@dependabot[bot])
- e72f188: chore(deps): bump react-router from 7.14.0 to 7.14.1 in /ui (#5760) (@dependabot[bot])
- b4aa14b: chore(deps): bump react-router from 7.14.1 to 7.14.2 in /ui (#5810) (@dependabot[bot])
- c1c79d3: chore(deps): bump react-router from 7.14.2 to 7.16.0 in /ui (#5954) (@dependabot[bot])
- b8eca57: chore(deps): bump react-router from 7.16.0 to 7.17.0 in /ui (#5983) (@dependabot[bot])
- 4fc0b65: chore(deps): bump rollup from 4.41.1 to 4.59.0 in /ui (#5431) (@dependabot[bot])
- dd0f629: chore(deps): bump the opentelemetry group with 14 updates (#5527) (@dependabot[bot])
- 43026c5: chore(deps): bump the opentelemetry group with 14 updates (#5950) (@dependabot[bot])
- e181d8a: chore(deps): bump the opentelemetry group with 6 updates (#5722) (@dependabot[bot])
- fcc0d41: chore(deps): bump the opentelemetry group with 8 updates (#5673) (@dependabot[bot])
- dca6d04: chore(deps): bump yaml in /ui (#5619) (@dependabot[bot])
- cbb5543: chore(deps): security updates in build/go and sdk/go modules (#5438) (@erka)
- a41e05a: chore(deps-dev): bump @babel/plugin-transform-modules-systemjs in /ui (#5826) (@dependabot[bot])
- 95fc9c6: chore(deps-dev): bump @babel/preset-typescript in /ui (#5955) (@dependabot[bot])
- dd4f59d: chore(deps-dev): bump @playwright/test from 1.58.2 to 1.59.1 in /ui (#5674) (@dependabot[bot])
- be415a4: chore(deps-dev): bump @playwright/test from 1.59.1 to 1.60.0 in /ui (#5875) (@dependabot[bot])
- 30d966b: chore(deps-dev): bump @tailwindcss/vite from 4.1.18 to 4.2.0 in /ui (#5424) (@dependabot[bot])
- 8839e1a: chore(deps-dev): bump @tailwindcss/vite from 4.2.1 to 4.2.2 in /ui (#5633) (@dependabot[bot])
- 2499ead: chore(deps-dev): bump @tailwindcss/vite from 4.2.2 to 4.2.4 in /ui (#5790) (@dependabot[bot])
- a75ea44: chore(deps-dev): bump @tailwindcss/vite from 4.2.4 to 4.3.0 in /ui (#5844) (@dependabot[bot])
- 0f17ccf: chore(deps-dev): bump @types/react from 19.2.14 to 19.2.15 in /ui (#5900) (@dependabot[bot])
- c7d6fb3: chore(deps-dev): bump eslint-plugin-prettier from 5.5.5 to 5.5.6 in /ui (#5952) (@dependabot[bot])
- 88e0463: chore(deps-dev): bump flatted from 3.3.2 to 3.4.2 in /ui (#5593) (@dependabot[bot])
- 556cdbe: chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9 in /ui (#5623) (@dependabot[bot])
- e71cbb3: chore(deps-dev): bump jest-environment-jsdom in /ui (#5570) (@dependabot[bot])
- b879fd2: chore(deps-dev): bump jest-environment-jsdom in /ui (#5845) (@dependabot[bot])
- 687a358: chore(deps-dev): bump knip from 5.83.1 to 5.85.0 in /ui (#5423) (@dependabot[bot])
- 212fd41: chore(deps-dev): bump knip from 5.85.0 to 5.86.0 in /ui (#5524) (@dependabot[bot])
- f223f17: chore(deps-dev): bump knip from 5.86.0 to 5.88.1 in /ui (#5605) (@dependabot[bot])
- b6de905: chore(deps-dev): bump minimatch from 3.1.2 to 3.1.5 in /ui (#5437) (@dependabot[bot])
- ec02333: chore(deps-dev): bump playwright from 1.58.2 to 1.59.1 in /ui (#5676) (@dependabot[bot])
- 0a8eced: chore(deps-dev): bump postcss from 8.5.10 to 8.5.12 in /ui (#5787) (@dependabot[bot])
- 0ca3031: chore(deps-dev): bump postcss from 8.5.12 to 8.5.13 in /ui (#5812) (@dependabot[bot])
- 4a85b2c: chore(deps-dev): bump postcss from 8.5.13 to 8.5.14 in /ui (#5846) (@dependabot[bot])
- 32185eb: chore(deps-dev): bump postcss from 8.5.14 to 8.5.15 in /ui (#5902) (@dependabot[bot])
- 9b15e31: chore(deps-dev): bump postcss from 8.5.6 to 8.5.8 in /ui (#5528) (@dependabot[bot])
- 1eda8d9: chore(deps-dev): bump postcss from 8.5.8 to 8.5.9 in /ui (#5730) (@dependabot[bot])
- 0365d4a: chore(deps-dev): bump postcss from 8.5.9 to 8.5.10 in /ui (#5759) (@dependabot[bot])
- b6abdc8: chore(deps-dev): bump prettier from 3.8.1 to 3.8.2 in /ui (#5721) (@dependabot[bot])
- bd26066: chore(deps-dev): bump prettier from 3.8.2 to 3.8.3 in /ui (#5754) (@dependabot[bot])
- dc799c0: chore(deps-dev): bump prettier-plugin-tailwindcss in /ui (#5789) (@dependabot[bot])
- ff890fe: chore(deps-dev): bump prettier-plugin-tailwindcss in /ui (#5811) (@dependabot[bot])
- 83ff56c: chore(deps-dev): bump tailwindcss from 4.1.18 to 4.2.0 in /ui (#5420) (@dependabot[bot])
- f276cdc: chore(deps-dev): bump tailwindcss from 4.2.1 to 4.2.2 in /ui (#5608) (@dependabot[bot])
- 260c67a: chore(deps-dev): bump tailwindcss from 4.2.2 to 4.2.4 in /ui (#5783) (@dependabot[bot])
- cfde662: chore(deps-dev): bump tailwindcss from 4.2.4 to 4.3.0 in /ui (#5842) (@dependabot[bot])
- e0df542: chore(deps-dev): bump ts-jest from 29.4.6 to 29.4.9 in /ui (#5672) (@dependabot[bot])
- 083cb46: chore(deps-dev): bump ts-jest from 29.4.9 to 29.4.11 in /ui (#5901) (@dependabot[bot])
- 383277e: chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /ui (#5684) (@dependabot[bot])
- 641754c: chore(ui): migrate to React.ComponentRef and cleanup (#5435) (@erka)
- 65bd6da: chore: fix missing part with new mise action (#5537) (@erka)
- 2464e87: chore: gitignore beads (@markphelps)
- 20d0a0a: chore: migrate CI workflows from mage to mise (#5519) (@markphelps)
- 2152073: chore: migrate build tooling from mage to mise (#5504) (@markphelps)
- af4f40e: chore: migrate goreleaser configs to dockers_v2 and homebrew_casks (#5508) (@costajohnt)
- 581430e: chore: refresh tooling and regenerated mocks (#5535) (@erka)
- ed86674: chore: release v2.10.0 (#6019) (@markphelps)
- fd02462: chore: release v2.8.0 (#5497) (@markphelps)
- 1f27f0f: chore: release v2.9.0 (#5770) (@markphelps)
- bcccf15: chore: simplify devcontainer setup by removing Dockerfile (#5558) (@markphelps)
- 3b54c70: chore: upgrade dagger to v0.21.0 (#5926) (@erka)
- e7645db: ci: add PR review agent for PRs targeting v2 (#5922) (@markphelps)
- 8b34486: ci: add minimal permissions to proto-push workflow (#5613) (@erka)
- e5c0a87: ci: add permissions to workflows (#5595) (@erka)
- 5e89df6: ci: pin keyvault/azsecrets to v1.4.0 (#5925) (@erka)
- ead29a1: ci: preserve UI assets during release builds (@markphelps)
- 8f286b1: ci: switch PR Review to Kimi K2.6 on Cloudflare Workers AI (#5927) (@markphelps)
- 9b9757f: ci: use golangci-lint to format the code (#5693) (@erka)
- 25bdc7c: docs(sdk): fix Go SDK package examples (#5824) (@immanuwell)
- 0c936d1: docs: migrate agent commands to .agents (@markphelps)
- e93418b: docs: tighten AGENTS.md files and add reviewer personas (#5938) (@markphelps)
- 44c80ce: refactor(ui): optimize bundle size and remove heavy dependencies (#5682) (@erka)
- bb25754: refactor: migrate grpc-middleware from v1 to v2 (#5668) (@erka)
Installation
Docker Images 🐳
docker pull docker.flipt.io/flipt/flipt:v2.10.0 docker pull ghcr.io/flipt-io/flipt:v2.10.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.