Skip to content

Commit 23b7171

Browse files
chore: Update CHANGELOG.md
Co-authored-by: Maria Ines Parnisari <maria.ines.parnisari@authzed.com>
1 parent 9c7cf52 commit 23b7171

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
2222
- Upgraded the spanner client, which changed the internal implementation to not use a session pool. This means that the `--datastore-spanner-max-sessions` and `--datastore-spanner-min-sessions` flags are now deprecated and no-op. We also strongly recommend using [Application Default Credentials](https://docs.cloud.google.com/docs/authentication/client-libraries#adc) in favor of a credentials file. (https://github.com/authzed/spicedb/pull/3038)
2323
- Query Planner: error `"ERROR: index \"pk_relation_tuple\" cannot be used for this query (SQLSTATE 42809)"` returned when using wildcards (https://github.com/authzed/spicedb/pull/3039)
2424
- Providing one of (`--grpc-tls-cert-path`, `--grpc-tls-key-path`) but not the other is now considered an error state, as both are necessary if you want to use TLS.
25-
- In a caveat context that uses nested lists of lists, the hashes generated for cache keys could collide because of an issue with the serialization logic. The serialization now uses deterministic protobuf serialization which avoids this issue.
25+
- In a caveat context that uses nested lists of lists, the hashes generated for cache keys could collide because of an issue with the serialization logic. The serialization now uses deterministic protobuf serialization which avoids this issue (https://github.com/authzed/spicedb/pull/3065)
2626

2727
## [1.51.1] - 2026-04-14
2828
### Fixed

internal/services/v1/permissions_test.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2472,40 +2472,40 @@ func TestBulkCheckCaveatContextCollision(t *testing.T) {
24722472
goodStruct, err := structpb.NewStruct(map[string]any{"x": []any{[]any{"a"}, "b"}})
24732473
require.NoError(t, err)
24742474
good := &v1.CheckBulkPermissionsRequestItem{
2475-
Resource: &v1.ObjectReference{ObjectType: "document", ObjectId: "doc"},
2475+
Resource: &v1.ObjectReference{ObjectType: "document", ObjectId: "doc"},
24762476
Permission: "view",
2477-
Subject: &v1.SubjectReference{Object: &v1.ObjectReference{ObjectType: "user", ObjectId: "alice"}},
2478-
Context: goodStruct,
2477+
Subject: &v1.SubjectReference{Object: &v1.ObjectReference{ObjectType: "user", ObjectId: "alice"}},
2478+
Context: goodStruct,
24792479
}
24802480

24812481
badStruct, err := structpb.NewStruct(map[string]any{"x": []any{"a", []any{}, "b"}})
24822482
require.NoError(t, err)
24832483
bad := &v1.CheckBulkPermissionsRequestItem{
2484-
Resource: &v1.ObjectReference{ObjectType: "document", ObjectId: "doc"},
2484+
Resource: &v1.ObjectReference{ObjectType: "document", ObjectId: "doc"},
24852485
Permission: "view",
2486-
Subject: &v1.SubjectReference{Object: &v1.ObjectReference{ObjectType: "user", ObjectId: "alice"}},
2487-
Context: badStruct,
2486+
Subject: &v1.SubjectReference{Object: &v1.ObjectReference{ObjectType: "user", ObjectId: "alice"}},
2487+
Context: badStruct,
24882488
}
24892489

24902490
singleBad, err := client.CheckPermission(t.Context(), &v1.CheckPermissionRequest{
2491-
Resource: bad.Resource,
2492-
Permission: bad.Permission,
2493-
Subject: bad.Subject,
2494-
Context: bad.Context,
2491+
Resource: bad.Resource,
2492+
Permission: bad.Permission,
2493+
Subject: bad.Subject,
2494+
Context: bad.Context,
24952495
Consistency: &v1.Consistency{Requirement: &v1.Consistency_FullyConsistent{FullyConsistent: true}},
24962496
})
24972497
require.NoError(t, err)
24982498
require.Equal(t, v1.CheckPermissionResponse_PERMISSIONSHIP_NO_PERMISSION, singleBad.Permissionship)
24992499

25002500
bulk, err := client.CheckBulkPermissions(t.Context(), &v1.CheckBulkPermissionsRequest{
25012501
Consistency: &v1.Consistency{Requirement: &v1.Consistency_FullyConsistent{FullyConsistent: true}},
2502-
Items: []*v1.CheckBulkPermissionsRequestItem{good, bad},
2502+
Items: []*v1.CheckBulkPermissionsRequestItem{good, bad},
25032503
})
25042504
require.NoError(t, err)
25052505

25062506
require.Equal(t, v1.CheckPermissionResponse_PERMISSIONSHIP_HAS_PERMISSION, bulk.Pairs[0].GetItem().Permissionship)
25072507
require.Equal(
2508-
t,
2508+
t,
25092509
v1.CheckPermissionResponse_PERMISSIONSHIP_NO_PERMISSION,
25102510
bulk.Pairs[1].GetItem().Permissionship,
25112511
"the bad request should have a no permission result",

0 commit comments

Comments
 (0)