Added
- Added
start_time
parameter toReadChanges
API to allow filtering by specific time #2020 - Added support for Contextual Tuples in the
Expand
API. #2045 - Added a flag
OPENFGA_CONTEXT_PROPAGATION_TO_DATASTORE
to control propagation of a request's context to the datastore. #1838 - Added OTEL measurement for access control store check latency and write latency due to authorization #2069
- Added
BatchCheck
API which allows multiple check operations to be performed in a single request.
It requires a uniquecorrelation_id
associated with each individual check to map each result to its associated tuple.
For more details, see batch check docs #2039.
Performance
- Improve
Check
performance in the case that the query involves resolving nested userset with type bound public access. Enable via experimental flagenable-check-optimizations
. #2063
Breaking changes
-
The storage adapter
ReadChanges
's parameter ReadChangesOptions allows filtering byStartTime
#2020.
As a part of the implementation, a new server setting calledWithContinuationTokenSerializer
was introduced.
If you are using OpenFGA as a library, you will need to pass in eitherStringContinuationTokenSerializer
, orSQLContinuationTokenSerializer
, or implement your own (if you also have your own storage adapter) -
The storage adapter
ReadPage
return parameters changed from([]*openfgav1.Tuple, []byte, error)
to([]*openfgav1.Tuple, string, error)
#2064
If you are using a custom storage adapter or consumeReadPage
func in your code, you will need to update the return type and/or handling of theReadPage
function. -
ErrMismatchObjectType
error type removed fromopenfga
package #2064 as storage is not validating this anymore.
Validation moved toReadChangesQuery
implementation. -
086a621 chore(deps): bump anchore/sbom-action from 0.17.5 to 0.17.6 in the dependencies group (#2068)
-
c3a39a6 chore(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.22.0 to 2.23.0 in the dependencies group (#2067)
-
f1f1b54 chore: add GCI linter to group import statements (#2074)
-
dd782e8 chore: move check directly assignable function out to its own function (#2060)
-
fc28fa3 don't generate continuation token for empty result (#2081)
-
f665bc2 feat: configurable request context propagation to datastore (#1838)
-
e14e957 feat: measurement on root store check + write latency due to authz (#2069)
-
3fc5165 perf: enable optimization for nested userset with public wildcard (#2063)
-
ba9e25d refactor(!): remove token serialization from datastore (#2064)
-
c604bda refactor: break server.go into operation-specific-files (#2071)
-
8307264 refactor: track datastore query count in a new datastore wrapper (#2022)