v1.2.0
Streaming objects flow,
Batched checks in one swift go,
Watch your limits grow.
Added
-
Larger result sets with
StreamedListObjects
WhileListObjectshas a limit of 1000 results, theStreamedListObjectsendpoint has no specific
result limits. When using this API, a network connection will remain open until the server has no
more results to return, or after a timeout of 3 seconds, whichever occurs first. -
Batched authorization checks with
BatchCheck
This endpoint allows you to perform up to 50 authorization checks at once in a single request. -
Automatic retry with smart backoff
Network hiccups happen. The SDK now automatically retries failed requests using exponential
backoff with jitter, preventing thundering herd problems while ensuring your requests
eventually succeed.- Configure retry attempts with the
httpMaxRetriesparameter (default: 3, max: 15) - Set to 0 if you prefer to handle retries yourself
- The backoff algorithm spaces out retries intelligently to avoid overwhelming your FGA instance
- Configure retry attempts with the
-
Observability support
Understanding what's happening in production just got easier. The SDK now supports OpenTelemetry
for metrics, tracing, and logging out of the box.- Track authorization latencies, error rates, and throughput
- Trace requests across your entire stack
- Debug issues faster with correlated logs
- Configure with the
telemetryClient constructor parameter - See the observability example for a complete setup guide
-
Internationalization
Error messages can now be displayed in your users' languages, making debugging easier for
global teams.- Configure with the language parameter (defaults to English)
- Currently supports Spanish and English
Changed
-
Cleaner imports for helper functions
We've streamlined how you import helper functions. Instead of multiple import statements, you can
now grab everything you need in one line:use function OpenFGA\{allowed, dsl, model, store, tuple, write, ...};
To avoid confusion, previous release notes have been updated to reflect this change.
-
Centralized exception handling
All exception messages now come from a single source, making them more consistent and easier to
maintain. This sets the foundation for better error messages in future releases.