Changed
- Schema compilation: reduce memory usage when caveats are involved (#3266)
Fixed
- Postgres: read replicas no longer intermittently return
object definition not foundunder load. The strict read-replica guard now verifies that the replica's snapshot has caught up to the revision being read (snapshot domination) instead of checking a single transaction id, and raises from within the read itself rather than from a trailing assertion, so a replica that catches up mid-query can no longer let an incomplete read through. In both cases the read correctly falls back to the primary. (#3243) - Prevent ReadRelationships from doing work that's immediately discarded when the
optional_limitparameter is used (#3253) - MemDB: overlapping write transactions could violate every snapshot-consistency invariant of the datastore — a committed write could be invisible at its own returned revision (breaking read-your-writes, e.g. an at-exact-snapshot
Checkright afterWriteRelationships), a later commit could leak into reads at an earlier revision, a write visible at one revision could be missing at a later one (including head), and two concurrent transactions could be assigned the same revision. Revisions are now assigned at write-transaction acquisition, where writer serialization makes the two orders identical. (#3239) - All datastores now answer Ready (or not) within a bounded time (#3262)
What's Changed
- chore: fix CVEs by @tstirrat15 in #3254
- fix: ReadRels doing useless work after hitting the page size by @tstirrat15 in #3253
- fix: Handle concurrent MemDB writes by @Naganathan05 in #3239
- test: refactor revision tests by @miparnisari in #3256
- chore: bump grpc_health_probe version by @tstirrat15 in #3263
- test: add test for cache's ttl behavior by @tstirrat15 in #3218
- chore: downgrade cel-go by @tstirrat15 in #3264
- chore: refactor migration code and tests by @miparnisari in #3222
- fix(postgres): guard strict reads against replica revision gaps by @josephschorr in #3243
- fix(datastores): ReadyState respects context cancellation/deadline by @miparnisari in #3262
- perf: reduce memory usage in schema compilation with caveats by @miparnisari in #3266
- chore: remove unnecessary indirection in code by @miparnisari in #3268
- chore: remove dead code (#1719) by @ivanauth in #3186
- chore: embed consistency test files by @miparnisari in #3275
- chore: bump deps by @miparnisari in #3269
New Contributors
- @Naganathan05 made their first contribution in #3239
Full Changelog: v1.56.0...v1.56.1
Docker Images
This release is available at authzed/spicedb:v1.56.1, quay.io/authzed/spicedb:v1.56.1, ghcr.io/authzed/spicedb:v1.56.1