1.50.0 (2026-01-09)
π GO Feature Flag v1.50.0 is bringing a lot of exciting new feature and improvement to enjoy feature flag journey.
This version brings GO Feature Flag one step forward and makes it easier to manage GO Feature Flag at scale, it focuses on operational flexibility (dynamic API keys, config change notifications) and better observability (OpenTelemetry exporter, native histograms). It's a solid update for teams running GO Feature Flag in production! π
β¨ New Features
- π Dynamic API Key Management :
You can now update API keys for flagsets at runtime without restarting the relay proxy.
This is huge for operational flexibility - you can rotate keys, add new ones, or revoke access on the fly. - π OpenTelemetry Exporter:
A brand new exporter that sends feature flag evaluation data directly to OpenTelemetry collectors.
This makes it easier to integrate GO Feature Flag into your existing observability stack. - π Native Prometheus Histograms:
Metrics now support Prometheus native histograms, providing more accurate percentile calculations and better storage efficiency for your monitoring dashboards. - π Shared PostgreSQL Connection Pool:
When using PostgreSQL as a retriever, connections are now pooled and shared.
This reduces database connection overhead and improves performance, especially in high-traffic scenarios.
π Notable Bug Fixes
- πͺ΅ Parquet Export Fix: Fixed compatibility issues with AWS Athena v3 by switching to a maintained fork of the parquet library
- ποΈ X-API-Key Header Support: The relay proxy now properly supports the
X-API-Keyheader format (in addition to the existing formats) - πΊοΈ Helm Chart Fix: The
monitoringPortsetting now works correctly in the new format (server.monitorigPort) and we continue to support the legacy format too.
π§ Under the Hood
- Lots of dependency updates (AWS SDK, Kubernetes client, Echo framework, etc.)
- Code quality improvements following SonarQube recommendations
- Better test reliability with fixes for flaky tests
- Improved CI/CD security with explicit permissions instead of read-all
Details
π New Features
- Allow update flagset apikey during runtime. (#4575) (7fd4333)
- metrics: Enable Native Histograms (#4479) (26df73a)
- otel exporter added with tests (#4549) (1daec9d)
- relay-proxy: add API key dynamically (#4552) (946111f)
- relayproxy: Add mechanism to be notified about configuration changes (#4540) (adb27a8)
- shared pgx-pool (#4393) (f436f26)
π Bug Fixes
- (doc) .NET OpenFeature documentation not up to date (#4550) (17c9911), closes #4543
- ci: replace read-all permissions with explicit permissions (#4580) (715dda5)
- exporter: replace parquet-go with rudderlabs fork to fix Athena v3 compatibility (#4570) (41c3fa1)
- lint: preallocate slices to fix prealloc lint issues (#4581) (b59b904)
- makefile: exit 1 if we have an error in one of the module (#4472) (0981826)
- migrate dockers to dockers_v2 format (#4461) (822bfae), closes #4183
- preserve config file path during reload to prevent validation errors (#4592) (3b773d0)
- relayproxy: fix flaky config loader callback test (#4565) (2155884)
- relayproxy: support X-API-Key header in APIKey helper (#4566) (8d1c5b0)
- remove unused context parameters to resolve SonarQube issues (#4505) (20a5032)
- resolve SonarQube code quality issues (#4501) (7a7fa9c)
- root: fixing tests (#4473) (6ec3ee1)
- support both monitoringPort formats in helm chart (#4457) (8f9d54d)
- sync config file after write to prevent flaky test (#4589) (f2dea86)
- use nil default value in OFREP evaluate and remove explicit type parameters (#4460) (57caa82)
π§ Chores
- add delay to avoid flaky test (#4561) (9b6a690)
- Bump @openfeature/go-feature-flag-provider (#4524) (9304ddc)
- Bump @openfeature/go-feature-flag-provider (#4558) (a3a9460)
- Bump @openfeature/go-feature-flag-provider (#4571) (5927347)
- Bump @openfeature/react-sdk (#4493) (002ef72)
- Bump @openfeature/web-sdk (#4488) (17b40fb)
- Bump @openfeature/web-sdk in /examples/openfeature_web/webapp (#4482) (1da0e29)
- Bump @typescript-eslint/eslint-plugin (#4489) (28dfec0)
- Bump @typescript-eslint/eslint-plugin (#4529) (99d5def)
- Bump @typescript-eslint/eslint-plugin (#4556) (5aae258)
- Bump @typescript-eslint/eslint-plugin (#4572) (8579f9a)
- Bump @typescript-eslint/parser (#4495) (7f0e925)
- Bump @typescript-eslint/parser (#4557) (2b8c6b1)
- Bump @typescript-eslint/parser (#4573) (4f7e71e)
- Bump @vitejs/plugin-react (#4490) (343a1d6)
- Bump actions/cache from 4.3.0 to 5.0.1 (#4497) (e83fb98)
- Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#4496) (5ebaf9a)
- Bump autoprefixer in /examples/openfeature_react/react-app (#4528) (424a312)
- Bump autoprefixer in /examples/openfeature_web/webapp (#4481) (ff42285)
- Bump codecov/codecov-action from 5.5.1 to 5.5.2 (#4499) (64a0c40)
- Bump dev.openfeature:sdk (#4483) (6f2c39e)
- Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (#4536) (46aac0d)
- Bump eslint in /examples/openfeature_react/react-app (#4530) (e2be922)
- Bump eslint in /examples/openfeature_web/webapp (#4480) (2c519b6)
- Bump eslint-plugin-react-refresh (#4487) (47a39e6)
- Bump eslint-plugin-react-refresh (#4533) (56c7263)
- Bump github.com/aws/aws-lambda-go from 1.51.0 to 1.51.1 (#4508) (403d49b)
- Bump github.com/aws/aws-sdk-go-v2/config from 1.32.4 to 1.32.5 (#4452) (b0ba688)
- Bump github.com/aws/aws-sdk-go-v2/credentials (#4510) (ff22361)
- Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager (#4453) (5ff4cdd)
- Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager (#4504) (1c20aa4)
- Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager (#4511) (0a2f40b)
- Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager (#4547) (a4993db)
- Bump github.com/aws/aws-sdk-go-v2/service/kinesis (#4451) (f86b32a)
- Bump github.com/aws/aws-sdk-go-v2/service/s3 (#4503) (b32ad76)
- Bump github.com/aws/aws-sdk-go-v2/service/sqs (#4455) (075985d)
- Bump github.com/BurntSushi/toml from 1.5.0 to 1.6.0 (#4520) (aaec514)
- Bump github.com/jackc/pgx/v5 from 5.7.6 to 5.8.0 (#4554) (6ba6dbc)
- Bump github.com/knadh/koanf/providers/file from 1.2.0 to 1.2.1 (#4523) (0ec8647)
- Bump github.com/labstack/echo/v4 from 4.13.4 to 4.14.0 (#4469) (3a7ca53)
- Bump github.com/labstack/echo/v4 from 4.14.0 to 4.15.0 (#4568) (aecf86a)
- Bump github.com/prometheus/common from 0.67.4 to 0.67.5 (#4574) (4946399)
- Bump github/codeql-action from 4.31.7 to 4.31.8 (#4498) (ce41e62)
- Bump github/codeql-action from 4.31.8 to 4.31.9 (#4534) (12c27b3)
- Bump google.golang.org/api from 0.257.0 to 0.258.0 (#4519) (ebc868d)
- Bump google.golang.org/api from 0.258.0 to 0.259.0 (#4576) (1fef5ff)
- Bump google.golang.org/grpc from 1.77.0 to 1.78.0 (#4546) (c20ffda)
- Bump google.golang.org/protobuf from 1.36.10 to 1.36.11 (#4512) (43a1e00)
- Bump helm charts (a448c5c)
- Bump htmlnano in /examples/openfeature_web/webapp (#4555) (07bf875)
- Bump jest in /openfeature/provider_tests/js-integration-tests (#4518) (88583a8)
- Bump jvm in /examples/openfeature_kotlin_server/kotlin-app (#4527) (299d8db)
- Bump k8s.io/apimachinery from 0.34.2 to 0.34.3 (#4463) (74c4dbc)
- Bump k8s.io/apimachinery from 0.34.3 to 0.35.0 (#4516) (b1530f7)
- Bump k8s.io/client-go from 0.34.2 to 0.34.3 (#4465) (0202f07)
- Bump k8s.io/client-go from 0.34.3 to 0.35.0 (#4515) (715d5be)
- Bump Microsoft.NET.Test.Sdk from 17.13.0 to 18.0.1 (#4537) (ee17f53)
- Bump NUnit3TestAdapter from 5.2.0 to 6.0.0 (#4423) (943f7be)
- Bump NUnit3TestAdapter from 6.0.0 to 6.0.1 (#4538) (31f110a)
- Bump NUnit3TestAdapter from 6.0.1 to 6.1.0 (#4579) (46d912f)
- Bump OpenFeature from 2.10.0 to 2.11.0 (#4521) (2eb1fb3)
- Bump OpenFeature from 2.11.0 to 2.11.1 (#4584) (3f6e3f2)
- Bump org.junit.jupiter:junit-jupiter-engine (#4577) (496eba9)
- Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (#4500) (1c432ff)
- Bump react-dom in /examples/openfeature_react/react-app (#4486) (0b75bff)
- Bump stefanzweifel/git-auto-commit-action from 7.0.0 to 7.1.0 (#4535) (9305332)
- Bump tailwindcss in /examples/openfeature_react/react-app (#4494) (79443e0)
- Bump vite in /examples/openfeature_react/react-app (#4492) (2276544)
- Bump vite in /examples/openfeature_react/react-app (#4531) (09b2da3)
- Bump webpack in /examples/openfeature_web/webapp (#4525) (ea45efc)
- Code cleaning following sonar recommendation - part 2 (#4470) (cee1dd7)
- dependency: Bump module modules/core 0.3.1 (#4588) (50f5e3f)
- dependency: Bump module modules/evaluation 0.2.1 (#4591) (7ca69bf)
- Downgrade jest for the integration tests (#4513) (b46edf0)
- Fix environment variable usage in release workflow (fa71ceb)
- fix some sonar warnings (#4391) (fad894e)
- fix some tests (#4475) (2346f6e)
- integration-tests: Bump dependencies test integrations node (#4514) (10510dd)
- lint: add deprecation warning to lint command (#4477) (d6daec3)
- remove unused code to avoid lint issue (#4559) (8a23804)
- update Prometheus API version to v2 in test configuration (#4507) (6e784fc)