Skip to content
This repository was archived by the owner on Nov 7, 2025. It is now read-only.

v1.2.0

Choose a tag to compare

@evansims evansims released this 02 Jun 07:13
· 239 commits to main since this release
67ad6e8

Streaming objects flow,
Batched checks in one swift go,
Watch your limits grow.

Added

  • Larger result sets with StreamedListObjects
    While ListObjects has a limit of 1000 results, the StreamedListObjects endpoint 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 httpMaxRetries parameter (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
  • 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 telemetry Client 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.