Added
- ListUsers API which answers the question "what users are related to a specific object?". This feature is experimental and can be enabled by configuring
OPENFGA_EXPERIMENTALS=enable-list-users
. Also see Performing a ListUsers call and ListUsers API docs. Known Limitation: Child usersets that are negated from their parent are currently not returned asexcluded_users
#1433 - ListObjects throttling to manage resource usage of expensive queries. Throttling improves overall query performance by limiting the number of dispatches, which are the recursive sub-operations of a ListObjects query #1571
- Per-request dispatch throttling threshold configuration via context #1546
- Self-defining usersets for Check, ListObjects and ListUsers. These are implicit tuples that exist by virtue of set theory. For example, the userset
document:1#viewer
implicitly possess theviewer
relation fordocument:1
#1521 - Panic recovery handling for all APIs #1557
- Logging of non-sensitive server configuration on startup #1609
- Appropriate error codes for throttled requests indicating if a request should be retried #1552
- Minor performance improvements in Check API by reducing quantity of spans created #1550, #1589
Fixed
- Goroutine leak occurring during initial server validation #1617
- Stricter filtering of invalid tuples with ListObjects #1563
- Panic on server close if caching is enabled #1568
- Prevent calling datastore if context has error #1593
Changed
request_id
is now same astrace_id
(e.g.1e20da43269fe07e3d2ac018c0aad2d1
) if tracing is enabled. Otherwise, remains an UUID (e.g.38fee7ac-4bfe-4cf6-baa2-8b5ec296b485
) #1576 - thank you, @00chorch
Removed
request_duration_by_query_count_ms
metric #1579