Releases: sergiught/go-openfga
Releases · sergiught/go-openfga
Release list
v0.110.0
0.110.0 (2026-07-12)
⚠ BREAKING CHANGES
- openfga: service methods return (result, error) instead of (result, *Response, error); use OnResponse for raw response access.
- models: add strongly-typed model schema and DSL-aligned builders
- config: load FGA_* via os.Getenv, dropping caarlos0/env
- models: ReadModelsOptions and ReadAuthorizationModelsResponse are renamed to ListModelsOptions and ListAuthorizationModelsResponse.
Features
- add chunking/parallelism request options and bounded worker helper (3265164)
- add WithDefaultConsistency client option (f6261b2)
- API-token and OAuth2 client-credentials auth (2f2144e)
- AssertionsService (write/read) (815e137)
- AuthorizationModelsService (write/list/get/read-latest) (c2027dc)
- auto-paginating iterators (Go 1.23 range-over-func) (c202b57)
- Client constructor, options, and service wiring (1f2accc)
- client: composable transport, custom token source, and observer (3632ded)
- client: ergonomic helpers, typed responses, and error context (3b7d88e)
- client: make env loading opt-in via NewClientFromEnv/EnvOptions (87b2179)
- client: seed NewClient from FGA_* environment via config.Load (373e940)
- client: validate merged config once in NewClient (f5785e1)
- client: version the default User-Agent and add default setters/getters (f79f3f3)
- config: add internal/config with env-decoding Load (4878dff)
- config: load FGA_* via os.Getenv, dropping caarlos0/env (ee2e6a3)
- config: normalize token issuer into an OAuth2 token URL (1120f5a)
- Do and BareDo request execution (5ce2d04)
- dsl: add DSL<->JSON model transformer as a nested module (7a8051e)
- expose Client.BaseURL (3334017)
- models: add strongly-typed model schema and DSL-aligned builders (87b8e3a)
- openfga: return (result, error) and add OnResponse (6307e4c)
- private-key JWT (RFC 7523) auth (6e8c1b2)
- relationships: add client-side BatchCheckAll chunking helper (2f06def)
- relationships: add ListRelations built on BatchCheckAll (d37f773)
- relationships: return partial results from BatchCheckAll on failure (f905023)
- RelationshipsService (check/batch-check/expand/list-objects/list-users) (486506d)
- request core (NewRequest, Response, request options) (4f4c57f)
- response: add QueryDuration and time-boxed fuzzing (c6b1387)
- retry transport (429 default, backoff, Retry-After) (d8090f0)
- static-header transport (86d67a2)
- StoresService (create/list/get/delete) (c881264)
- stores: support the name filter in ListStores (73ce293)
- StreamedListObjects NDJSON iterator (e6feb6a)
- tuples: add bulk WriteTuples/DeleteTuples with per-tuple results (4e1f425)
- tuples: add on_duplicate/on_missing write-conflict options (63f035f)
- tuples: report bulk partial failures via Failed and FirstError (7cc9bb2)
- TuplesService (write/read/changes) (259e669)
- typed API errors and response classifier (4906a67)
Bug fixes
- address foundation code-review (errors.As Unwrap, JWT status check, retry request clone, gofmt, tests) (6d7321e)
- avoid mutating caller request structs in TuplesService; test start_time (ec8a798)
- cancellable retry backoff, WithHTTPClient docs, godoc examples (7a0ccbc)
- client: drain nil-body responses so connections can be reused (16e90bf)
- client: harden retry and header transports (0a7ffa3)
- encode FGAObjectRelation as OpenFGA's structured object (f162cce)
- errors: guard Retry-After against negative and overflowing values (bbaf5d4)
- relationships: use valid correlation IDs in ListRelations (ec37fc3)
- stop ChangesAll once the changes feed is drained (833ee9f)
Refactors
- auth: store credential specs and build transport in NewClient (4fc1f56)
- client: layer env as options and extract NewClient assembly phases (3c0642b)
- client: split validate into URL, ID, and retry checks (1cf3cf6)
- models: rename Read* model types to the List* convention (f874dc7)
Tests
- add Expand and ListUsers runtime tests (014f06b)
- cover AuthorizationModels.All and Tuples.ChangesAll iterators (ed7ab92)
- godog check scenarios against live OpenFGA (119d8be)
- implement OPENFGA_IMAGE override and drop dead suite state (0c1f23d)
- integration module scaffold with testcontainers OpenFGA (3ace3fd)
- integration: add shared harness scaffolding and migrate check scenarios (77d329a)
- integration: cover assertions write and read round-trip (2f267ff)
- integration: cover authorization model write, get, read-latest, list, validation (1f507eb)
- integration: cover batch-check, e...