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.