Skip to content

Releases: sergiught/go-openfga

v0.110.0

Choose a tag to compare

@sergiught sergiught released this 12 Jul 17:06
cde33bd

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...
Read more

dsl: v0.110.0

Choose a tag to compare

@sergiught sergiught released this 12 Jul 18:04
207408b

0.110.0 (2026-07-12)

Features

  • add DSL<->JSON model transformer as a nested module (7a8051e)