What's Changed
Added
- Added
WithServiceNameserver option to allow embedders to override theserviceNamefield used for thegrpc_servicelabel on OpenFGA's package-level Prometheus metrics andtelemetry.RPCInfo.Service. This enables multipleServerinstances in the same process to emit separate metric series. Note it does not rename the standard gRPC server metrics (e.g.grpc_server_handled_total), whose labels are derived from the registered gRPC service. Use stable, low-cardinality names, as the value becomes a metric label. Defaults toopenfgav1.OpenFGAService_ServiceDesc.ServiceNamewhen omitted (backward compatible). #3265
Fixed
- Fixed a deadlock in ListUsers that caused a timeout with partial results when the number of union/intersection operands exceeded
OPENFGA_RESOLVE_NODE_BREADTH_LIMITand the operands each resolved to more than one user. Thank you to @fabianluque for the discovery and detailed report! #3284
Security
- Upgraded go toolchain and images to use go1.26.8 to fix CVE-2026-39821. #3287
- Rebuilt the embedded
grpc-health-probe(bumped tov0.4.57, built with Go 1.26.8) to match the server toolchain and pick upgoogle.golang.org/grpcv1.83.2, which fixes GHSA-vp52-pcj8-j9qc. #3289
Full Changelog: https://github.com/openfga/openfga/compare/v1.19.0...v1.20.0