## authzed/spicedb — v1.53.0…v1.54.0

_49 commits._

### Features
- **feat(datalayer): switch to optimistic schema hash in writes** (5b17707)
- **feat(datalayer): schema caching for write transactions** (38ec962)
- **feat: use serialized plans in dispatch (#3130)** (6e67492)
- **feat: introduce a hand-written serialize/deserialize for iterators (#3122)** (11a0b91)
- **testing: add benchmarking to compare LocalExecutor vs DispatchExecutor (#3117)** (11653b9)
- **feat: registry for the iterators (#3118)** (9858419)
- **feat: add prometheus metrics for DispatchQueryPlan (#3109)** (b084074)

### Fixes
- **fix(lsp): resolve hover on the right side of arrow expressions (#3157)** (bf26deb)
- **fix: #3179 (#3181)** (a9dd7c7)
- **fix: set library-friendly defaults on server Config (#3156)** (87482ed)
- **fix(mysql): store identifiers with a case-sensitive (binary) collation (#3161)** (0de3027)
- **fix: three correctness bugs surfaced by GRPC consistency cross-check (#3140)** (78c7e1c)
- **fix(query): respect wildcard ExcludedSubjects in LookupSubjects intersection (#3136)** (4d375df)
- **fix(schemacache): supervisor recovers from transient watch errors (#3134)** (49ef12e)
- **fix: mysql migrations (#3129)** (6cbb845)
- **fix: postgres implementation of HeadRevision (#3127)** (f975ad1)
- **fix: route query plan dispatch checks through singleflight (#3119)** (d208d37)
- **fix(QP): short-circuit unions where applicable (#3121)** (b1df37e)
- **fix: Watch checkpointing in memdb and mysql (#3114)** (f7fda69)

### Backend
- **Merge commit from fork** (ccde792)
- **Merge commit from fork** (44a1c9f)
- **otel: replace cobraotel with native lifecycle management (#3108)** (af55756)

### Tests
- **test(datalayer): add tests that call readschema via datalayer** (7942b74)
- **test(certtest): make TestCertRotation actually verify hot cert reload (#3169)** (fd5d8a7)
- **test: add more goleak checks (#3175)** (25f4e68)
- **test: flaky TestLookupResources (#3171)** (f1ae3b8)
- **test: Improve code coverage of tests (#3063)** (9a71382)
- **test: include migration scripts for coverage (#3128)** (bf407bf)

### Docs
- **docs(cache): clarify Cache interface semantics (#3152)** (221681b)
- **docs: fix changelog (#3113)** (0bfc6a7)

### Chore
- **chore: fix changelog** (3647a6e)
- **chore: update changelog** (1984e71)
- **refactor: create a new prometheus registry for every server (#3170)** (50b2c8c)
- **chore: make crdb.Pool code unit-testable (#3180)** (7a1e5cc)
- **chore: Changed AuthZed Cloud Link in readme (#3177)** (1d5d2c8)
- **chore: address flake in xid test (#3163)** (15e8dc2)
- **chore: add buffnet authority to connection (#3168)** (8908ebe)
- **refactor: now, the server object owns the caches (#3167)** (a8858d8)
- **chore: rework handles for gRPC tests (#3147)** (9552207)
- **chore: more spans in datastore proxies (#3154)** (e9bcb1d)
- **refactor: schema watching cache (#3144)** (fa4273c)
- **chore(deps): bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 in /magefiles (#3153)** (024601e)
- **chore: use StopAllGoroutines for otter (#3145)** (37b9f3c)
- **refactor(schemacache): post-#3134 cleanup and race fix (#3138)** (2c3f284)
- **chore: bump go packages for cve (#3132)** (a3d56d3)
- **refactor: carry schema hash inside ZedTokens (#3125)** (6f3a955)
- **chore: clarify --termination-log-path flag description (#3126)** (7a6528b)
- **chore: use otter as the primary cache implementation and get rid of alternative implementations (#3112)** (8a01e69)
- **chore: bump grpc-health-probe (#3111)** (3e8337d)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/authzed/spicedb?utm_source=github-action)._