这是indexloc提供的服务,不要输入任何密码
Skip to content

Releases: openfga/openfga

v1.9.2

24 Jul 21:18
v1.9.2
3ab5a75
Compare
Choose a tag to compare

Changed

  • Update ReverseExpand to use a LinkedList to track its relation stack for performance. #2542
  • Update ReverseExpand to use a intersection and exclusion handler to fast path check calls. #2543
  • Deduplicate queries more effectively in ReverseExpand. #2567
  • Update go version to 1.24.5 #2577

Fixed

  • Shared iterator race condition and deadlock. #2544
  • Fixed bug in how experimental ReverseExpand is handling Intersection nodes. #2556
  • Migration command now respects logging configuration options. #2541
  • Fixed message in log and slight refactor in list objects intersection/exclusion. #2566
  • Shadow list objects' check resolver should use its own cache. #2574
  • Improve performance for list objects intersection/exclusion with enable-list-objects-optimizations flag. #2569

Full Changelog

  • 04404e7 Fix migrate command logging options (#2565)
  • db65b2a Fix: experimental reverse_expand must traverse all DirectEdges from Intersection (#2556)
  • 5de6f1d Log main and shadow ListObjects query latencies (#2539)
  • 37d5ee1 Update changelog to prep for 1.9.1 release (#2580)
  • 3ab5a75 Update changelog to prep for 1.9.2 release (#2582)
  • dbbb217 Update stack funcs to use values, not pointers (#2555)
  • 5621500 chore(deps): bump the dependencies group with 2 updates (#2546)
  • d4a72c4 chore(deps): bump the dependencies group with 2 updates (#2576)
  • 8b3f0ed chore: add datastore_query_count to shadow list objects logger (#2562)
  • 2c4e7ab chore: shared iterator benchmark cleanup (#2552)
  • 11ac7e4 chore: update go version to 1.24.5 (#2577)
  • 8e38786 feat: add list objects intersection exclusion (#2543)
  • 336306e feat: list objects weighted graph vs non-weighted graph count (#2524)
  • b8c9b63 feat: shadow list objects resolver should use its own cache (#2574)
  • 6a81236 fix data race around wait group in shared iterator (#2561)
  • 741ebe9 fix: Don't run shadow ListObjects query for request weight=∞ (#2572)
  • 5478807 fix: Reduce number of DB queries needed in ReverseExpand (#2567)
  • 0b36242 fix: add shared iterator count decrement when the timer evicts the iterator (#2550)
  • 1301ec1 fix: list objects intersection exclusion improvements (#2566)
  • 12596fc fix: race condition in throttler test (#2545)
  • 29d6dbc fix: shared iterator race and deadlock (#2544)
  • db462b6 fix: update shadow list objects env var config (#2547)
  • 1db4bae fix: use pool per intersection/exclusion so as not to block (#2569)
  • 516be81 perf: create per datastore operation caches for shared iterators (#2549)
  • 791b0f8 perf: improve cloning performance of shared iterator (#2551)
  • 48be31a perf: shared iterator performance refactor (#2553)
  • 8522c0d reduce the time that an await mutex lock is held in the shared iterator (#2557)
  • e6038fd refactor: use a linked list in ReverseExpand instead of copying slices (#2542)
  • e383258 short circuit iteratorsToUserset (#2568)
  • ca1182c validate that shadow mode is executed when main context cancelled (#2548)

v1.9.0

03 Jul 18:13
d45a6e1
Compare
Choose a tag to compare

Added

  • Add separate reverse_expand resolution path utilizing the weighted graph. Gated behind enable-list-objects-optimizations experimental flag. #2529

Changed

  • SQLite based iterators will load tuples only when needed (lazy loading). #2511
  • Shared iterator improvement to reduce lock contention when creating and cloning. #2530
  • Enable experimental list object optimizations in shadow mode using flag enable-list-objects-optimizations. #2509
  • Invalidated iterators will be removed from cache if an invalid entity entry is found allowing for less time to refresh. #2536

Fixed

  • Cache Controller was always completely invalidating. #2522

Full Changelog

  • cefb4ce CICD: skip revive var-naming rule (#2533)
  • 974bb2a Feat/list objects shadow mode (#2509)
  • a6cfee2 Fix quoting for GitHub Actions outputs (#2512)
  • 4131a12 Move SQLite to lazy (#2511)
  • f8ebe21 Revert "fix: restore conditional checks for connection pool timeout settings" (#2505)
  • 3533e1e Update README.md (#2521)
  • d45a6e1 Update changelog to prep for 1.9.0 release (#2540)
  • ebdc157 chore(deps): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#2531)
  • 242e3ad chore(deps): bump sigstore/cosign-installer from 3.9.0 to 3.9.1 in the dependencies group (#2523)
  • 27398f9 chore(deps): bump the dependencies group across 1 directory with 4 updates (#2513)
  • 6587dd9 chore(deps): bump the dependencies group with 2 updates (#2534)
  • 72a17a2 chore: add local check resolver to reverse expand (#2516)
  • 73e5c5d chore: bump grpc-gateway and go-retryablehttp pkgs (#2526)
  • ed0848f chore: bump mysql driver + grpc packages (#2517)
  • b581691 clean: Remove fanin code (#2514)
  • 6300686 docs(v1.8.16): add v1.8.16 release notes to CHANGELOG (#2510)
  • 804a268 feat: ReverseExpand with weighted graph, non-infinite weights (#2529)
  • 0aff359 feat: add GetEdgesForListObjects to typesystem (#2468)
  • 90fdaeb feat: typesystem edges for intersection and exclusion (#2518)
  • 2c3e3af feat: typesystem to return userset for listobject (#2525)
  • 7d9d284 fix-iterator-cache-invalidation (#2536)
  • d5ec30f fix: cache controller invalidation logic (#2522)
  • dbfe47c fix: prevent db connections from prematurely closing (#2508)
  • 4a2dfda fix: restore conditional checks for connection pool timeout settings (#2501)
  • e5ccafb fix: shadow resolver causing infinite loop for list objects (#2532)
  • b8d1263 fix: shared iterator metrics (#2527)
  • e8cd761 perf: further reduce lock contention in shared iterators (#2530)
  • cd8a850 performance: refactored the shared iterator and shared iterator datastore (#2478)
  • dd1d716 skip shadow ListObjects query when main query is slow (#2537)

v1.8.16

17 Jun 10:51
71e4c76
Compare
Choose a tag to compare

1.8.16 - 2025-06-17

Fixed

  • Context cancelation was preventing database connections from being reused. #2508

v1.8.15

11 Jun 19:01
81b262a
Compare
Choose a tag to compare

Changelog

1.8.15 - 2025-06-11

Added

  • Add support for separate read and write datastores for PostgreSQL. #2479

Fixed

  • Improve Check performance for models with recursion and enable-check-optimizations experiment flag is enabled. #2492
  • Reverts the base docker image back to cgr.dev/chainguard/static #2473
  • Fix for picking up env vars for migrate pkg #2493

v1.8.14

10 Jun 19:08
4c3b884
Compare
Choose a tag to compare

Changelog

1.8.14 - 2025-06-10

Fixed

  • Performance improve for SQL based datastore by reducing connection usage during IsReady check. #2483
  • SQL drivers now respect zero value for MaxOpenConns, ConnMaxIdleTime, ConnMaxLifetime. #2484
  • When enable-check-optimizations experiment flag is enabled, incorrect check for model with recursion and user is assigned to more than 100 groups due to iteratorToUserset not handling multiple messages incorrectly. #2491
  • Correlate storage context with caller's context. #2292

v1.8.13

22 May 21:20
e5960d4
Compare
Choose a tag to compare

Changelog

1.8.13 - 2025-05-22

Added

  • New DatastoreThrottle configuration for Check, ListObjects, ListUsers. #2452
  • Added pkg migrate to expose .RunMigrations() for programmatic use. #2442
  • Performance optimization by allowing datastore query iterator to be shared by multiple consumers. This can be enabled via OPENFGA_SHARED_ITERATOR_ENABLED. #2433, #2410 and #2423
  • Upgraded all references of Postgres to v17. #2407

Fixed

  • Ensure fanin.Stop and fanin.Drain are called for all clients which may create blocking goroutines. #2441
  • Prevent throttled Go routines from "leaking" when a request context has been canceled or deadline exceeded. #2450
  • Filter context tuples based on type restrictions for ReadUsersetTuples. CVE-2025-48371

v1.8.12

13 May 00:28
5f72078
Compare
Choose a tag to compare

Changelog

1.8.12 - 2025-05-12

Full changelog

Changed

  • DefaultResolveNodeBreadthLimit changed from 100 to 10 in order to reduce connection contention. #2425
  • PostgreSQL and MySQL based iterators will load tuples only when needed (lazy loading). #2425

Fixed

  • Replace hardcoded Prometheus datasource UID (PBFA97CFB590B2093) with ${DS_PROMETHEUS} in telemetry/grafana/dashboards/openfga.json. This allows the Grafana dashboard to correctly reference the dynamic Prometheus datasource, resolving issues with improper binding. #2287
  • Handle case where iterator is stopped more than once for current_iterator_cache_count. #2409
  • Fix deadlock when number of SQL datastore connections is less than Resolve Max Breadth. #2425
  • Improved panic() handling from go routines: #2379, #2385, #2405, #2428

v1.8.11

30 Apr 13:37
244302e
Compare
Choose a tag to compare

Changed

  • Update go version to 1.24.2 #2404

Fixed

  • Do not save to check query cache when result indicates cycle. CVE-2025-46331

Full changelog

v1.8.10

29 Apr 15:19
0f1cd09
Compare
Choose a tag to compare

Added

  • Added "dispatch_count" attribute to batch-check request logs. #2369
  • Added "dispatch_count" histogram metric to batch-check requests. #2369
  • Added "request.throttled" boolean for check and batch-check request logs. #2369
  • Added "throttled_requests_count" metric to batch-check requests. #2369
  • Surface partial metrics on check resolutions #2371
  • Added "current_iterator_cache_count" gauge metric to current number of iterator cache. #2397
  • Adds cached iterators to ListObjects #2388

Changed

  • The serverconfig was moved from internal to pkg to make it available to external users of this package. #2382

Fixed

  • Add limit to goroutine concurrency when processing iterator #2386
  • Fixes case where cached_datastore.ReadStartingWithUser generated bad cache invalidation keys. #2381

Full changelog

Changelog

  • 9b59744 Reduce fast path batch threshold from 1000 to 100 (#2394)
  • 6183266 Surface partial metrics on check resolutions (#2371)
  • 73dceae adds total dispatch count to context tags for batch check (#2369)
  • 2e1d06e chore(deps): bump the dependencies group across 1 directory with 5 updates (#2367)
  • f1c51ff chore(deps): bump the dependencies group with 2 updates (#2366)
  • b95fe5f chore(deps): bump the dependencies group with 2 updates (#2374)
  • de5f9aa chore(deps): bump the dependencies group with 2 updates (#2390)
  • e976cfa chore(deps): bump the dependencies group with 2 updates (#2401)
  • 3380a71 chore: move cache key logic to separate file (#2393)
  • 0f1cd09 chore: update changelog in prep for v1.8.10 (#2399)
  • 08d576b feat: Add Iterator Cache to ListObjects (#2388)
  • aeafa92 feat: Add processDispatches panic error handling (#2376)
  • b71cf4d feat: Add processUsersets panic error handling (#2378)
  • 580d860 feat: add counters on current number of iterator cache (#2397)
  • c32c2db feat: add exclusion panic error handling (#2384)
  • 5e194ab feat: move serverconfig out of internal (#2382)
  • eb8c657 fix: add goroutine concurrency limit for iterator processing (#2386)
  • 94085ab fix: auth0 fga rebranding (#2402)
  • d3bfad8 fix: cached_datastore.ReadStartingWithUser cache keys (#2381)
  • 07ccbd0 fix: increase discard count on .Next() (#2391)
  • 4e2fd93 refactor: rename files/methods related to iterator cache (#2368)
  • d5ff674 refactor: rename sharedCheckResources -> sharedDatastoreResources (#2387)

v1.8.9

01 Apr 17:48
3d34d74
Compare
Choose a tag to compare

Added

  • Updated grpc logs for the healthcheck service to log at the Debug level instead of at the Info level. #2340
  • Separate out experimental list objects optimization flag (enable-list-objects-optimizations) from experimental check optimization flag (enable-check-optimizations) to allow individual optimization. #2341.

Full changelog

Changelog

  • a24f0fe chore(deps): bump the dependencies group with 3 updates (#2347)
  • 09fb1b7 chore(deps): bump the dependencies group with 5 updates (#2329)
  • ee82979 chore(deps): bump the dependencies group with 5 updates (#2346)
  • 3d34d74 docs(v1.8.9): add v1.8.9 release notes to CHANGELOG (#2348)
  • 3e7e9e5 feat: Downgrade grpc logs for healthcheck service to Debug level (#2340)
  • 3315358 feat: add list object experimental flag (#2341)