Highlights
🔊 New foundation in Datastore Watch API now streams checkpoint revisions and schema changes
🥽 Postgres datastore now supports new experimental Schema Cache
⏰ Watch API now supports write timeouts
What's Changed
- bulk import: reduce allocations by allocation a value buffer by @vroldanbet in #1658
- Don't call ObserveDuration more than one in the observable proxy by @josephschorr in #1666
- Fix garbage collector interval and backoff resets by @chriskdon in #1663
- crdb: don't allow relationship counters to go negative by @ecordell in #1657
- Fix handling of NULL caveats in Postgres watch by @josephschorr in #1668
- make datastore metrics more representative of the actual underlying datastore by @vroldanbet in #1669
- CRDB: adds missing observability for Watch API by @vroldanbet in #1656
- Bump cloud.google.com/go/spanner from 1.51.0 to 1.53.0 by @dependabot in #1670
- Bump go.opentelemetry.io/otel/trace from 1.20.0 to 1.21.0 by @dependabot in #1671
- Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in #1674
- Bump google.golang.org/api from 0.149.0 to 0.152.0 by @dependabot in #1673
- Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.46.0 to 0.46.1 by @dependabot in #1672
- Bump golang from 1.21.3-alpine3.18 to 1.21.4-alpine3.18 by @dependabot in #1675
- Move the diff library into pkg for use by external tooling by @josephschorr in #1677
- schemadsl/compiler: optionally skip validation by @jzelinskie in #1679
- Make sure to clone metadata in LR before changing by @josephschorr in #1680
- decorate check dispatch spans with caching and singleflight attributes by @vroldanbet in #1678
- fixes datastore command not using the
spicedb
prefix for ENV by @vroldanbet in #1682 - fixes regression in Schema Watch led schema caching by @vroldanbet in #1684
- fixes regression in compiler.Compile() contract by @vroldanbet in #1683
- Add an integration test for schema watch by @josephschorr in #1685
- Use logger from context in RedactAndLogSensitiveConnString by @bison in #1686
- Watch improvements in datastore by @josephschorr in #1681
- Move to Go 1.21.5 for external vuln fixed in crypto lib by @josephschorr in #1690
- authenticate with docker to raise rate-limits by @vroldanbet in #1691
- Ignore the source position when diffing permission expressions by @josephschorr in #1689
- fixes WriteRelationships/BulkImport GRPC error codes on conflicts and retryable errors by @vroldanbet in #1688
- .github: use public-read-only docker account by @jzelinskie in #1694
- pkg/proto: upgrade vtprotobuf to support WKTs by @jzelinskie in #1693
- Major cleanup and improvements around revision handling in the datastores by @josephschorr in #1695
- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.46.0 to 0.46.1 by @dependabot in #1697
- Bump github.com/jzelinskie/stringz from 0.0.2 to 0.0.3 by @dependabot in #1700
- Bump github.com/google/uuid from 1.4.0 to 1.5.0 by @dependabot in #1699
- Bump golang.org/x/mod from 0.13.0 to 0.14.0 by @dependabot in #1698
- Fix flakiness of HLC changes test by @josephschorr in #1701
- Bump github.com/samber/lo from 1.38.1 to 1.39.0 by @dependabot in #1696
- Small micro-optimizations around set performance by @josephschorr in #1702
- Add Union and Merge to Set by @josephschorr in #1704
- expose revision parsing function for tests by @vroldanbet in #1705
- Watch revision checkpoints using memdb datastore by @alecmerdler in #1706
- Add timeout to watch buffers by @josephschorr in #1707
- Switch HLC timestamps to be stored as an array of two int64s by @josephschorr in #1709
- makes less verbose CRDB connection balacer by @vroldanbet in #1708
- compiler: adds a helper method to require any object type prefix by @vroldanbet in #1710
- Have spiceerrors.MustBugf contain the full stack trace of the bug by @josephschorr in #1711
New Contributors
- @chriskdon made their first contribution in #1663
- @bison made their first contribution in #1686
- @alecmerdler made their first contribution in #1706
Full Changelog: v1.28.0...v1.29.0
Docker Images
This release is available at authzed/spicedb:v1.29.0
, quay.io/authzed/spicedb:v1.29.0
, ghcr.io/authzed/spicedb:v1.29.0