From d37ef92a1a78c0502aa25765663cce9305cd9d08 Mon Sep 17 00:00:00 2001 From: Hein Meling Date: Sun, 4 Jan 2026 20:03:35 +0100 Subject: [PATCH 1/7] refactor(proto): field naming conventions and add doc comments --- examples/storage/proto/storage.pb.go | 78 +++++++++++---------- examples/storage/proto/storage.proto | 3 +- examples/storage/proto/storage_gorums.pb.go | 38 +++++----- 3 files changed, 63 insertions(+), 56 deletions(-) diff --git a/examples/storage/proto/storage.pb.go b/examples/storage/proto/storage.pb.go index e4d5f7f9..8ad5a8d7 100644 --- a/examples/storage/proto/storage.pb.go +++ b/examples/storage/proto/storage.pb.go @@ -23,9 +23,10 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// ReadRequest is the request message for Read RPCs and Read quorum calls. type ReadRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` - xxx_hidden_Key string `protobuf:"bytes,1,opt,name=Key"` + xxx_hidden_Key string `protobuf:"bytes,1,opt,name=key"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -80,11 +81,12 @@ func (b0 ReadRequest_builder) Build() *ReadRequest { return m0 } +// ReadResponse is the response message for Read RPCs and Read quorum calls. type ReadResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_OK bool `protobuf:"varint,1,opt,name=OK"` - xxx_hidden_Value string `protobuf:"bytes,2,opt,name=Value"` - xxx_hidden_Time *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=Time"` + xxx_hidden_Value string `protobuf:"bytes,2,opt,name=value"` + xxx_hidden_Time *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=time"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -176,11 +178,12 @@ func (b0 ReadResponse_builder) Build() *ReadResponse { return m0 } +// WriteRequest is the request message for Write RPCs, Write quorum calls, and Write multicast calls. type WriteRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` - xxx_hidden_Key string `protobuf:"bytes,1,opt,name=Key"` - xxx_hidden_Value string `protobuf:"bytes,2,opt,name=Value"` - xxx_hidden_Time *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=Time"` + xxx_hidden_Key string `protobuf:"bytes,1,opt,name=key"` + xxx_hidden_Value string `protobuf:"bytes,2,opt,name=value"` + xxx_hidden_Time *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=time"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -272,9 +275,10 @@ func (b0 WriteRequest_builder) Build() *WriteRequest { return m0 } +// WriteResponse is the response message for Write RPCs and Write quorum calls. type WriteResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` - xxx_hidden_New bool `protobuf:"varint,1,opt,name=New"` + xxx_hidden_New bool `protobuf:"varint,1,opt,name=new"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -333,48 +337,48 @@ var File_storage_proto_storage_proto protoreflect.FileDescriptor const file_storage_proto_storage_proto_rawDesc = "" + "\n" + - "\x1bstorage/proto/storage.proto\x12\astorage\x1a\fgorums.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1f\n" + + "\x1bstorage/proto/storage.proto\x12\x05proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\fgorums.proto\"\x1f\n" + "\vReadRequest\x12\x10\n" + - "\x03Key\x18\x01 \x01(\tR\x03Key\"d\n" + + "\x03key\x18\x01 \x01(\tR\x03key\"d\n" + "\fReadResponse\x12\x0e\n" + "\x02OK\x18\x01 \x01(\bR\x02OK\x12\x14\n" + - "\x05Value\x18\x02 \x01(\tR\x05Value\x12.\n" + - "\x04Time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x04Time\"f\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12.\n" + + "\x04time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\"f\n" + "\fWriteRequest\x12\x10\n" + - "\x03Key\x18\x01 \x01(\tR\x03Key\x12\x14\n" + - "\x05Value\x18\x02 \x01(\tR\x05Value\x12.\n" + - "\x04Time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x04Time\"!\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12.\n" + + "\x04time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\"!\n" + "\rWriteResponse\x12\x10\n" + - "\x03New\x18\x01 \x01(\bR\x03New2\xc4\x02\n" + - "\aStorage\x128\n" + - "\aReadRPC\x12\x14.storage.ReadRequest\x1a\x15.storage.ReadResponse\"\x00\x12;\n" + - "\bWriteRPC\x12\x15.storage.WriteRequest\x1a\x16.storage.WriteResponse\"\x00\x12;\n" + - "\x06ReadQC\x12\x14.storage.ReadRequest\x1a\x15.storage.ReadResponse\"\x04\xa0\xb5\x18\x01\x12>\n" + - "\aWriteQC\x12\x15.storage.WriteRequest\x1a\x16.storage.WriteResponse\"\x04\xa0\xb5\x18\x01\x12E\n" + - "\x0eWriteMulticast\x12\x15.storage.WriteRequest\x1a\x16.google.protobuf.Empty\"\x04\x98\xb5\x18\x01B5Z.github.com/relab/gorums/examples/storage/proto\x92\x03\x02\b\x02b\beditionsp\xe8\a" + "\x03new\x18\x01 \x01(\bR\x03new2\xb2\x02\n" + + "\aStorage\x124\n" + + "\aReadRPC\x12\x12.proto.ReadRequest\x1a\x13.proto.ReadResponse\"\x00\x127\n" + + "\bWriteRPC\x12\x13.proto.WriteRequest\x1a\x14.proto.WriteResponse\"\x00\x127\n" + + "\x06ReadQC\x12\x12.proto.ReadRequest\x1a\x13.proto.ReadResponse\"\x04\xa0\xb5\x18\x01\x12:\n" + + "\aWriteQC\x12\x13.proto.WriteRequest\x1a\x14.proto.WriteResponse\"\x04\xa0\xb5\x18\x01\x12C\n" + + "\x0eWriteMulticast\x12\x13.proto.WriteRequest\x1a\x16.google.protobuf.Empty\"\x04\x98\xb5\x18\x01B5Z.github.com/relab/gorums/examples/storage/proto\x92\x03\x02\b\x02b\beditionsp\xe9\a" var file_storage_proto_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_storage_proto_storage_proto_goTypes = []any{ - (*ReadRequest)(nil), // 0: storage.ReadRequest - (*ReadResponse)(nil), // 1: storage.ReadResponse - (*WriteRequest)(nil), // 2: storage.WriteRequest - (*WriteResponse)(nil), // 3: storage.WriteResponse + (*ReadRequest)(nil), // 0: proto.ReadRequest + (*ReadResponse)(nil), // 1: proto.ReadResponse + (*WriteRequest)(nil), // 2: proto.WriteRequest + (*WriteResponse)(nil), // 3: proto.WriteResponse (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp (*emptypb.Empty)(nil), // 5: google.protobuf.Empty } var file_storage_proto_storage_proto_depIdxs = []int32{ - 4, // 0: storage.ReadResponse.Time:type_name -> google.protobuf.Timestamp - 4, // 1: storage.WriteRequest.Time:type_name -> google.protobuf.Timestamp - 0, // 2: storage.Storage.ReadRPC:input_type -> storage.ReadRequest - 2, // 3: storage.Storage.WriteRPC:input_type -> storage.WriteRequest - 0, // 4: storage.Storage.ReadQC:input_type -> storage.ReadRequest - 2, // 5: storage.Storage.WriteQC:input_type -> storage.WriteRequest - 2, // 6: storage.Storage.WriteMulticast:input_type -> storage.WriteRequest - 1, // 7: storage.Storage.ReadRPC:output_type -> storage.ReadResponse - 3, // 8: storage.Storage.WriteRPC:output_type -> storage.WriteResponse - 1, // 9: storage.Storage.ReadQC:output_type -> storage.ReadResponse - 3, // 10: storage.Storage.WriteQC:output_type -> storage.WriteResponse - 5, // 11: storage.Storage.WriteMulticast:output_type -> google.protobuf.Empty + 4, // 0: proto.ReadResponse.time:type_name -> google.protobuf.Timestamp + 4, // 1: proto.WriteRequest.time:type_name -> google.protobuf.Timestamp + 0, // 2: proto.Storage.ReadRPC:input_type -> proto.ReadRequest + 2, // 3: proto.Storage.WriteRPC:input_type -> proto.WriteRequest + 0, // 4: proto.Storage.ReadQC:input_type -> proto.ReadRequest + 2, // 5: proto.Storage.WriteQC:input_type -> proto.WriteRequest + 2, // 6: proto.Storage.WriteMulticast:input_type -> proto.WriteRequest + 1, // 7: proto.Storage.ReadRPC:output_type -> proto.ReadResponse + 3, // 8: proto.Storage.WriteRPC:output_type -> proto.WriteResponse + 1, // 9: proto.Storage.ReadQC:output_type -> proto.ReadResponse + 3, // 10: proto.Storage.WriteQC:output_type -> proto.WriteResponse + 5, // 11: proto.Storage.WriteMulticast:output_type -> google.protobuf.Empty 7, // [7:12] is the sub-list for method output_type 2, // [2:7] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name diff --git a/examples/storage/proto/storage.proto b/examples/storage/proto/storage.proto index 16e2c5bd..8473b31f 100644 --- a/examples/storage/proto/storage.proto +++ b/examples/storage/proto/storage.proto @@ -3,6 +3,7 @@ edition = "2024"; package proto; option go_package = "github.com/relab/gorums/examples/storage/proto"; option features.field_presence = IMPLICIT; +option features.enforce_naming_style = STYLE_LEGACY; import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; @@ -45,7 +46,7 @@ message ReadRequest { // ReadResponse is the response message for Read RPCs and Read quorum calls. message ReadResponse { - bool ok = 1; + bool OK = 1; string value = 2; google.protobuf.Timestamp time = 3; } diff --git a/examples/storage/proto/storage_gorums.pb.go b/examples/storage/proto/storage_gorums.pb.go index fa46f997..a6b43fca 100644 --- a/examples/storage/proto/storage_gorums.pb.go +++ b/examples/storage/proto/storage_gorums.pb.go @@ -84,46 +84,48 @@ type CorrectableWriteResponse = *gorums.Correctable[*WriteResponse] // Reference imports to suppress errors if they are not otherwise used. var _ emptypb.Empty -// ReadRPC executes the Read RPC on a single Node +// ReadRPC executes a Read RPC on a single node and +// returns the value for the provided key. func ReadRPC(ctx *gorums.NodeContext, in *ReadRequest) (resp *ReadResponse, err error) { - res, err := gorums.RPCCall(ctx, in, "storage.Storage.ReadRPC") + res, err := gorums.RPCCall(ctx, in, "proto.Storage.ReadRPC") if err != nil { return nil, err } return res.(*ReadResponse), err } -// WriteRPC executes the Write RPC on a single Node +// WriteRPC executes a Write RPC on a single node and +// returns true if the value was updated. func WriteRPC(ctx *gorums.NodeContext, in *WriteRequest) (resp *WriteResponse, err error) { - res, err := gorums.RPCCall(ctx, in, "storage.Storage.WriteRPC") + res, err := gorums.RPCCall(ctx, in, "proto.Storage.WriteRPC") if err != nil { return nil, err } return res.(*WriteResponse), err } -// ReadQC executes the Read Quorum Call on a configuration -// of Nodes and returns the most recent value. +// ReadQC executes a Read quorum call on a configuration of nodes and +// returns the most recent value. func ReadQC(ctx *gorums.ConfigContext, in *ReadRequest, opts ...gorums.CallOption) *gorums.Responses[*ReadResponse] { return gorums.QuorumCall[*ReadRequest, *ReadResponse]( - ctx, in, "storage.Storage.ReadQC", + ctx, in, "proto.Storage.ReadQC", opts..., ) } -// WriteQC executes the Write Quorum Call on a configuration -// of Nodes and returns true if a majority of Nodes were updated. +// WriteQC executes a Write quorum call on a configuration of nodes and +// returns true if a majority of nodes were updated. func WriteQC(ctx *gorums.ConfigContext, in *WriteRequest, opts ...gorums.CallOption) *gorums.Responses[*WriteResponse] { return gorums.QuorumCall[*WriteRequest, *WriteResponse]( - ctx, in, "storage.Storage.WriteQC", + ctx, in, "proto.Storage.WriteQC", opts..., ) } -// WriteMulticast is a multicast call invoked on all nodes in the configuration in ctx. -// Use gorums.MapRequest to send different messages to each node. No replies are collected. +// WriteMulticast executes a Write multicast call on a configuration of nodes. +// It does not wait for any responses. func WriteMulticast(ctx *gorums.ConfigContext, in *WriteRequest, opts ...gorums.CallOption) error { - return gorums.Multicast(ctx, in, "storage.Storage.WriteMulticast", opts...) + return gorums.Multicast(ctx, in, "proto.Storage.WriteMulticast", opts...) } // Storage is the server-side API for the Storage Service @@ -136,27 +138,27 @@ type StorageServer interface { } func RegisterStorageServer(srv *gorums.Server, impl StorageServer) { - srv.RegisterHandler("storage.Storage.ReadRPC", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { + srv.RegisterHandler("proto.Storage.ReadRPC", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { req := gorums.AsProto[*ReadRequest](in) resp, err := impl.ReadRPC(ctx, req) return gorums.NewResponseMessage(in.GetMetadata(), resp), err }) - srv.RegisterHandler("storage.Storage.WriteRPC", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { + srv.RegisterHandler("proto.Storage.WriteRPC", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { req := gorums.AsProto[*WriteRequest](in) resp, err := impl.WriteRPC(ctx, req) return gorums.NewResponseMessage(in.GetMetadata(), resp), err }) - srv.RegisterHandler("storage.Storage.ReadQC", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { + srv.RegisterHandler("proto.Storage.ReadQC", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { req := gorums.AsProto[*ReadRequest](in) resp, err := impl.ReadQC(ctx, req) return gorums.NewResponseMessage(in.GetMetadata(), resp), err }) - srv.RegisterHandler("storage.Storage.WriteQC", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { + srv.RegisterHandler("proto.Storage.WriteQC", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { req := gorums.AsProto[*WriteRequest](in) resp, err := impl.WriteQC(ctx, req) return gorums.NewResponseMessage(in.GetMetadata(), resp), err }) - srv.RegisterHandler("storage.Storage.WriteMulticast", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { + srv.RegisterHandler("proto.Storage.WriteMulticast", func(ctx gorums.ServerCtx, in *gorums.Message) (*gorums.Message, error) { req := gorums.AsProto[*WriteRequest](in) impl.WriteMulticast(ctx, req) return nil, nil From 571dffa3df9e6a35dce783fbc302cf571133c562 Mon Sep 17 00:00:00 2001 From: Hein Meling Date: Sun, 4 Jan 2026 20:07:45 +0100 Subject: [PATCH 2/7] chore: update grpc dependency --- examples/go.mod | 4 ++-- examples/go.sum | 8 ++++---- go.mod | 4 ++-- go.sum | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/go.mod b/examples/go.mod index ea1e71cd..5d1ab050 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -6,7 +6,7 @@ require ( github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 github.com/relab/gorums v0.10.0 golang.org/x/term v0.38.0 - google.golang.org/grpc v1.77.0 + google.golang.org/grpc v1.78.0 google.golang.org/protobuf v1.36.11 ) @@ -15,7 +15,7 @@ require ( golang.org/x/net v0.48.0 // indirect golang.org/x/sys v0.39.0 // indirect golang.org/x/text v0.32.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b // indirect google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0 // indirect ) diff --git a/examples/go.sum b/examples/go.sum index 0d85c862..d298267c 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -40,10 +40,10 @@ golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 h1:2I6GHUeJ/4shcDpoUlLs/2WPnhg7yJwvXtqcMJt9liA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= -google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= -google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b h1:Mv8VFug0MP9e5vUxfBcE3vUkV6CImK3cMNMIDFjmzxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/grpc v1.78.0 h1:K1XZG/yGDJnzMdd/uZHAkVqJE+xIDOcmdSFZkBUicNc= +google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0 h1:6Al3kEFFP9VJhRz3DID6quisgPnTeZVr4lep9kkxdPA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0/go.mod h1:QLvsjh0OIR0TYBeiu2bkWGTJBUNQ64st52iWj/yA93I= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= diff --git a/go.mod b/go.mod index bafe0da3..17914aa1 100644 --- a/go.mod +++ b/go.mod @@ -7,8 +7,8 @@ require ( go.uber.org/goleak v1.3.0 golang.org/x/sync v0.19.0 golang.org/x/tools v0.40.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 - google.golang.org/grpc v1.77.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b + google.golang.org/grpc v1.78.0 google.golang.org/protobuf v1.36.11 ) diff --git a/go.sum b/go.sum index a53624ec..91d25bc7 100644 --- a/go.sum +++ b/go.sum @@ -48,10 +48,10 @@ golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTF golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 h1:2I6GHUeJ/4shcDpoUlLs/2WPnhg7yJwvXtqcMJt9liA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= -google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= -google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b h1:Mv8VFug0MP9e5vUxfBcE3vUkV6CImK3cMNMIDFjmzxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/grpc v1.78.0 h1:K1XZG/yGDJnzMdd/uZHAkVqJE+xIDOcmdSFZkBUicNc= +google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0 h1:6Al3kEFFP9VJhRz3DID6quisgPnTeZVr4lep9kkxdPA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0/go.mod h1:QLvsjh0OIR0TYBeiu2bkWGTJBUNQ64st52iWj/yA93I= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= From 47db9e4c6146999e5e1f9d2d03ec9a51d877bf82 Mon Sep 17 00:00:00 2001 From: Hein Meling Date: Sun, 4 Jan 2026 20:13:03 +0100 Subject: [PATCH 3/7] chore: bump version numbers to 11 --- internal/version/version.go | 2 +- version.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/version/version.go b/internal/version/version.go index abb9b3de..c904b001 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -10,7 +10,7 @@ import ( // Steps for cutting a new release is described in doc/release-guide.md. const ( Major = 0 - Minor = 10 + Minor = 11 Patch = 0 PreRelease = "devel" ) diff --git a/version.go b/version.go index 36908b63..3a8a866e 100644 --- a/version.go +++ b/version.go @@ -10,11 +10,11 @@ const ( // GenVersion is the runtime version required by generated .pb.go files. // This is incremented when generated code relies on new functionality // in the runtime. - GenVersion = 10 + GenVersion = 11 // MinVersion is the minimum supported version for generated .pb.go files. // This is incremented when the runtime drops support for old code. - MinVersion = 10 + MinVersion = 11 ) // EnforceVersion is used by code generated by protoc-gen-gorums From 29d9de1950a6839ef59389bd2d2647d48444aab9 Mon Sep 17 00:00:00 2001 From: Hein Meling Date: Sun, 4 Jan 2026 20:13:45 +0100 Subject: [PATCH 4/7] chore: update protoc-gen-gorums version to v0.11.0 --- benchmark/benchmark_gorums.pb.go | 6 +++--- cmd/protoc-gen-gorums/dev/zorums_multicast_gorums.pb.go | 6 +++--- cmd/protoc-gen-gorums/dev/zorums_quorumcall_gorums.pb.go | 6 +++--- cmd/protoc-gen-gorums/dev/zorums_rpc_gorums.pb.go | 6 +++--- cmd/protoc-gen-gorums/dev/zorums_server_gorums.pb.go | 6 +++--- cmd/protoc-gen-gorums/dev/zorums_types_gorums.pb.go | 6 +++--- cmd/protoc-gen-gorums/dev/zorums_unicast_gorums.pb.go | 6 +++--- examples/storage/proto/storage_gorums.pb.go | 6 +++--- internal/tests/config/config_gorums.pb.go | 6 +++--- internal/tests/correctable/correctable_gorums.pb.go | 6 +++--- internal/tests/metadata/metadata_gorums.pb.go | 6 +++--- internal/tests/oneway/oneway_gorums.pb.go | 6 +++--- internal/tests/ordering/order_gorums.pb.go | 6 +++--- internal/tests/tls/tls_gorums.pb.go | 6 +++--- internal/tests/unresponsive/unresponsive_gorums.pb.go | 6 +++--- 15 files changed, 45 insertions(+), 45 deletions(-) diff --git a/benchmark/benchmark_gorums.pb.go b/benchmark/benchmark_gorums.pb.go index 44da7918..494703ce 100644 --- a/benchmark/benchmark_gorums.pb.go +++ b/benchmark/benchmark_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: benchmark/benchmark.proto @@ -13,9 +13,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible diff --git a/cmd/protoc-gen-gorums/dev/zorums_multicast_gorums.pb.go b/cmd/protoc-gen-gorums/dev/zorums_multicast_gorums.pb.go index fd9d5507..d2fe8694 100644 --- a/cmd/protoc-gen-gorums/dev/zorums_multicast_gorums.pb.go +++ b/cmd/protoc-gen-gorums/dev/zorums_multicast_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: zorums.proto @@ -13,9 +13,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/cmd/protoc-gen-gorums/dev/zorums_quorumcall_gorums.pb.go b/cmd/protoc-gen-gorums/dev/zorums_quorumcall_gorums.pb.go index 50109479..9e47a638 100644 --- a/cmd/protoc-gen-gorums/dev/zorums_quorumcall_gorums.pb.go +++ b/cmd/protoc-gen-gorums/dev/zorums_quorumcall_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: zorums.proto @@ -13,9 +13,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // QuorumCall plain. diff --git a/cmd/protoc-gen-gorums/dev/zorums_rpc_gorums.pb.go b/cmd/protoc-gen-gorums/dev/zorums_rpc_gorums.pb.go index 7ba99a06..07c6df7a 100644 --- a/cmd/protoc-gen-gorums/dev/zorums_rpc_gorums.pb.go +++ b/cmd/protoc-gen-gorums/dev/zorums_rpc_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: zorums.proto @@ -12,9 +12,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // GRPCCall plain gRPC call; testing that Gorums can ignore these, but that diff --git a/cmd/protoc-gen-gorums/dev/zorums_server_gorums.pb.go b/cmd/protoc-gen-gorums/dev/zorums_server_gorums.pb.go index 1711da4c..6d5e0740 100644 --- a/cmd/protoc-gen-gorums/dev/zorums_server_gorums.pb.go +++ b/cmd/protoc-gen-gorums/dev/zorums_server_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: zorums.proto @@ -14,9 +14,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // ZorumsService is the server-side API for the ZorumsService Service diff --git a/cmd/protoc-gen-gorums/dev/zorums_types_gorums.pb.go b/cmd/protoc-gen-gorums/dev/zorums_types_gorums.pb.go index 14ff8c46..f191b836 100644 --- a/cmd/protoc-gen-gorums/dev/zorums_types_gorums.pb.go +++ b/cmd/protoc-gen-gorums/dev/zorums_types_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: zorums.proto @@ -13,9 +13,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // AsyncEmpty is a future for async quorum calls returning *emptypb.Empty. diff --git a/cmd/protoc-gen-gorums/dev/zorums_unicast_gorums.pb.go b/cmd/protoc-gen-gorums/dev/zorums_unicast_gorums.pb.go index 56376985..37c4f1c9 100644 --- a/cmd/protoc-gen-gorums/dev/zorums_unicast_gorums.pb.go +++ b/cmd/protoc-gen-gorums/dev/zorums_unicast_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: zorums.proto @@ -13,9 +13,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/examples/storage/proto/storage_gorums.pb.go b/examples/storage/proto/storage_gorums.pb.go index a6b43fca..4c8239a8 100644 --- a/examples/storage/proto/storage_gorums.pb.go +++ b/examples/storage/proto/storage_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: storage/proto/storage.proto @@ -13,9 +13,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible diff --git a/internal/tests/config/config_gorums.pb.go b/internal/tests/config/config_gorums.pb.go index 36c8cfc6..ecf3e1b2 100644 --- a/internal/tests/config/config_gorums.pb.go +++ b/internal/tests/config/config_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: config/config.proto @@ -12,9 +12,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible diff --git a/internal/tests/correctable/correctable_gorums.pb.go b/internal/tests/correctable/correctable_gorums.pb.go index 3e0e7ad7..95171059 100644 --- a/internal/tests/correctable/correctable_gorums.pb.go +++ b/internal/tests/correctable/correctable_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: correctable/correctable.proto @@ -13,9 +13,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible diff --git a/internal/tests/metadata/metadata_gorums.pb.go b/internal/tests/metadata/metadata_gorums.pb.go index a3bfd137..f819ff04 100644 --- a/internal/tests/metadata/metadata_gorums.pb.go +++ b/internal/tests/metadata/metadata_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: metadata/metadata.proto @@ -13,9 +13,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible diff --git a/internal/tests/oneway/oneway_gorums.pb.go b/internal/tests/oneway/oneway_gorums.pb.go index 0bf1cf08..9550704b 100644 --- a/internal/tests/oneway/oneway_gorums.pb.go +++ b/internal/tests/oneway/oneway_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: oneway/oneway.proto @@ -12,9 +12,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible diff --git a/internal/tests/ordering/order_gorums.pb.go b/internal/tests/ordering/order_gorums.pb.go index 9b4f25e1..57d4f5cf 100644 --- a/internal/tests/ordering/order_gorums.pb.go +++ b/internal/tests/ordering/order_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: ordering/order.proto @@ -12,9 +12,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible diff --git a/internal/tests/tls/tls_gorums.pb.go b/internal/tests/tls/tls_gorums.pb.go index f0761df1..9285b8e0 100644 --- a/internal/tests/tls/tls_gorums.pb.go +++ b/internal/tests/tls/tls_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: tls/tls.proto @@ -12,9 +12,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible diff --git a/internal/tests/unresponsive/unresponsive_gorums.pb.go b/internal/tests/unresponsive/unresponsive_gorums.pb.go index 0b12df89..fa40190f 100644 --- a/internal/tests/unresponsive/unresponsive_gorums.pb.go +++ b/internal/tests/unresponsive/unresponsive_gorums.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-gorums. DO NOT EDIT. // versions: -// protoc-gen-gorums v0.10.0-devel +// protoc-gen-gorums v0.11.0-devel // protoc v6.33.2 // source: unresponsive/unresponsive.proto @@ -12,9 +12,9 @@ import ( const ( // Verify that this generated code is sufficiently up-to-date. - _ = gorums.EnforceVersion(10 - gorums.MinVersion) + _ = gorums.EnforceVersion(11 - gorums.MinVersion) // Verify that the gorums runtime is sufficiently up-to-date. - _ = gorums.EnforceVersion(gorums.MaxVersion - 10) + _ = gorums.EnforceVersion(gorums.MaxVersion - 11) ) // Type aliases for important Gorums types to make them more accessible From 2e3e62c1e3741760389a2deddbf1487f9d46496c Mon Sep 17 00:00:00 2001 From: Hein Meling Date: Sun, 4 Jan 2026 20:15:02 +0100 Subject: [PATCH 5/7] chore(examples): update gorums to v0.11.0 --- examples/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/go.mod b/examples/go.mod index 5d1ab050..13cbcd8d 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -4,7 +4,7 @@ go 1.25.5 require ( github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 - github.com/relab/gorums v0.10.0 + github.com/relab/gorums v0.11.0 golang.org/x/term v0.38.0 google.golang.org/grpc v1.78.0 google.golang.org/protobuf v1.36.11 From 14f09d188cf9e94674d03639f84e98e61d2d5715 Mon Sep 17 00:00:00 2001 From: Hein Meling Date: Sun, 4 Jan 2026 20:15:28 +0100 Subject: [PATCH 6/7] # github.com/relab/gorums ## incompatible changes (*RawNode).RPCCall: removed (*RawNode).Unicast: removed Async: changed from Async to Async[Resp any] CallData: removed ConfigOption: removed Correctable: changed from Correctable to Correctable[Resp any] CorrectableCallData: removed E_Async: removed E_Correctable: removed E_CustomReturnType: removed E_PerNodeArg: removed Incomplete: removed NewRawConfiguration: removed NewRawManager: removed NewRawNode: removed NewRawNodeWithID: removed QuorumCallData: removed RawConfiguration: removed RawManager: removed RawNode: removed TestSetup: removed WithGrpcDialOptions: removed WithNoConnect: removed WithNoSendWaiting: removed callOptions: old is comparable, new is not ## compatible changes (*Node).Context: added ClientCtx: added Closer: added ConfigContext: added Configuration: added EchoServerFn: added ErrIncomplete: added ErrSendFailure: added ErrTypeMismatch: added IgnoreErrors: added InsecureDialOptions: added Interceptors: added Manager: added MapRequest: added MapResponse: added Multicast: added NewConfig: added NewConfiguration: added NewCorrectable: added NewManager: added NewRequestMessage: added NewResponses: added NewSystem: added Node: added NodeContext: added NodeResponse: added Option: added QuorumCall: added QuorumCallError.Cause: added QuorumCallError.NodeErrors: added QuorumCallError.Unwrap: added QuorumCallStream: added QuorumInterceptor: added RPCCall: added Range: added ResponseSeq: added Responses: added StreamBenchmarkServerFn: added StreamServerFn: added System: added TestConfiguration: added TestContext: added TestNode: added TestOption: added TestQuorumCallError: added TestServers: added Unicast: added WithDialOptions: added WithManager: added WithPreConnect: added WithStopFunc: added # github.com/relab/gorums/benchmark ## incompatible changes AsyncEcho: changed from AsyncEcho to *github.com/relab/gorums.Async[*Echo] BenchmarkClient: removed BenchmarkServer.AsyncQuorumCall: removed Configuration: changed from Configuration to github.com/relab/gorums.Configuration ConfigurationFromRaw: removed GetBenchmarks: changed from func(*Configuration) []Bench to func(Configuration) []Bench Manager: changed from Manager to github.com/relab/gorums.Manager MemoryStatList: removed MemoryStatList_builder: removed NewManager: changed from func(...github.com/relab/gorums.ManagerOption) *Manager to func(...github.com/relab/gorums.ManagerOption) *Manager Node: changed from Node to github.com/relab/gorums.Node QSpec: removed QuorumSpec: removed RunBenchmarks: changed from func(*regexp.Regexp, Options, *Configuration) ([]*Result, error) to func(*regexp.Regexp, Options, Configuration) ([]*Result, error) ## compatible changes AsyncMemoryStat: added AsyncResult: added AsyncStartResponse: added CorrectableEcho: added CorrectableMemoryStat: added CorrectableResult: added CorrectableStartResponse: added Multicast: added NewConfig: added NewConfiguration: added QuorumCall: added SlowServer: added StartBenchmark: added StartServerBenchmark: added StopBenchmark: added StopServerBenchmark: added StopServerBenchmarkQF: added # github.com/relab/gorums/cmd/protoc-gen-gorums/dev ## incompatible changes AsyncEmpty: changed from AsyncEmpty to *github.com/relab/gorums.Async[*google.golang.org/protobuf/types/known/emptypb.Empty] AsyncMyResponse: removed AsyncResponse: changed from AsyncResponse to *github.com/relab/gorums.Async[*Response] Configuration: changed from Configuration to github.com/relab/gorums.Configuration ConfigurationFromRaw: removed CorrectableEmpty: changed from CorrectableEmpty to *github.com/relab/gorums.Correctable[*google.golang.org/protobuf/types/known/emptypb.Empty] CorrectableMyResponse: removed CorrectableResponse: changed from CorrectableResponse to *github.com/relab/gorums.Correctable[*Response] CorrectableStreamEmpty: removed CorrectableStreamMyResponse: removed CorrectableStreamResponse: removed Manager: changed from Manager to github.com/relab/gorums.Manager NewManager: changed from func(...github.com/relab/gorums.ManagerOption) *Manager to func(...github.com/relab/gorums.ManagerOption) *Manager Node: changed from Node to github.com/relab/gorums.Node QuorumSpec: removed ZorumsServiceClient: removed ZorumsServiceNodeClient: removed ZorumsServiceServer.Correctable: removed ZorumsServiceServer.CorrectableCombo: removed ZorumsServiceServer.CorrectableCustomReturnType: removed ZorumsServiceServer.CorrectableEmpty2: removed ZorumsServiceServer.CorrectableEmpty: removed ZorumsServiceServer.CorrectablePerNodeArg: removed ZorumsServiceServer.CorrectableStream: removed ZorumsServiceServer.CorrectableStreamCombo: removed ZorumsServiceServer.CorrectableStreamCustomReturnType: removed ZorumsServiceServer.CorrectableStreamEmpty2: removed ZorumsServiceServer.CorrectableStreamEmpty: removed ZorumsServiceServer.CorrectableStreamPerNodeArg: removed ZorumsServiceServer.MulticastPerNodeArg: removed ZorumsServiceServer.QuorumCallAsync2: removed ZorumsServiceServer.QuorumCallAsync: removed ZorumsServiceServer.QuorumCallAsyncCombo: removed ZorumsServiceServer.QuorumCallAsyncCustomReturnType: removed ZorumsServiceServer.QuorumCallAsyncEmpty2: removed ZorumsServiceServer.QuorumCallAsyncEmpty: removed ZorumsServiceServer.QuorumCallAsyncPerNodeArg: removed ZorumsServiceServer.QuorumCallCombo: removed ZorumsServiceServer.QuorumCallCustomReturnType: removed ZorumsServiceServer.QuorumCallPerNodeArg: removed ZorumsServiceServer.QuorumCallStream: added ZorumsServiceServer.QuorumCallStreamWithEmpty2: added ZorumsServiceServer.QuorumCallStreamWithEmpty: added ## compatible changes GRPCCall: added Multicast2: added Multicast3: added Multicast4: added Multicast: added NewConfig: added NewConfiguration: added QuorumCall: added QuorumCallEmpty2: added QuorumCallEmpty: added QuorumCallStream: added QuorumCallStreamWithEmpty2: added QuorumCallStreamWithEmpty: added Unicast2: added Unicast: added # github.com/relab/gorums/ordering ## incompatible changes (*Metadata).GetMessageID: removed (*Metadata).SetMessageID: removed Metadata_builder.MessageID: removed ## compatible changes (*Metadata).GetMessageSeqNo: added (*Metadata).SetMessageSeqNo: added Metadata_builder.MessageSeqNo: added # github.com/relab/gorums/tests/config ## incompatible changes package removed # github.com/relab/gorums/tests/correctable ## incompatible changes package removed # github.com/relab/gorums/tests/dummy ## incompatible changes package removed # github.com/relab/gorums/tests/metadata ## incompatible changes package removed # github.com/relab/gorums/tests/mock ## incompatible changes package removed # github.com/relab/gorums/tests/oneway ## incompatible changes package removed # github.com/relab/gorums/tests/ordering ## incompatible changes package removed # github.com/relab/gorums/tests/qf ## incompatible changes package removed # github.com/relab/gorums/tests/tls ## incompatible changes package removed # github.com/relab/gorums/tests/unresponsive ## incompatible changes package removed # summary Inferred base version: v0.10.0 Suggested version: v0.11.0 From 983d7f0b5758ca8a68d45d39f0dd13ca1774ec0c Mon Sep 17 00:00:00 2001 From: Hein Meling Date: Sun, 4 Jan 2026 20:16:35 +0100 Subject: [PATCH 7/7] Gorums release v0.11.0 --- release-notes.txt | 230 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 release-notes.txt diff --git a/release-notes.txt b/release-notes.txt new file mode 100644 index 00000000..1a7c8222 --- /dev/null +++ b/release-notes.txt @@ -0,0 +1,230 @@ +# github.com/relab/gorums +## incompatible changes +(*RawNode).RPCCall: removed +(*RawNode).Unicast: removed +Async: changed from Async to Async[Resp any] +CallData: removed +ConfigOption: removed +Correctable: changed from Correctable to Correctable[Resp any] +CorrectableCallData: removed +E_Async: removed +E_Correctable: removed +E_CustomReturnType: removed +E_PerNodeArg: removed +Incomplete: removed +NewRawConfiguration: removed +NewRawManager: removed +NewRawNode: removed +NewRawNodeWithID: removed +QuorumCallData: removed +RawConfiguration: removed +RawManager: removed +RawNode: removed +TestSetup: removed +WithGrpcDialOptions: removed +WithNoConnect: removed +WithNoSendWaiting: removed +callOptions: old is comparable, new is not +## compatible changes +(*Node).Context: added +ClientCtx: added +Closer: added +ConfigContext: added +Configuration: added +EchoServerFn: added +ErrIncomplete: added +ErrSendFailure: added +ErrTypeMismatch: added +IgnoreErrors: added +InsecureDialOptions: added +Interceptors: added +Manager: added +MapRequest: added +MapResponse: added +Multicast: added +NewConfig: added +NewConfiguration: added +NewCorrectable: added +NewManager: added +NewRequestMessage: added +NewResponses: added +NewSystem: added +Node: added +NodeContext: added +NodeResponse: added +Option: added +QuorumCall: added +QuorumCallError.Cause: added +QuorumCallError.NodeErrors: added +QuorumCallError.Unwrap: added +QuorumCallStream: added +QuorumInterceptor: added +RPCCall: added +Range: added +ResponseSeq: added +Responses: added +StreamBenchmarkServerFn: added +StreamServerFn: added +System: added +TestConfiguration: added +TestContext: added +TestNode: added +TestOption: added +TestQuorumCallError: added +TestServers: added +Unicast: added +WithDialOptions: added +WithManager: added +WithPreConnect: added +WithStopFunc: added + +# github.com/relab/gorums/benchmark +## incompatible changes +AsyncEcho: changed from AsyncEcho to *github.com/relab/gorums.Async[*Echo] +BenchmarkClient: removed +BenchmarkServer.AsyncQuorumCall: removed +Configuration: changed from Configuration to github.com/relab/gorums.Configuration +ConfigurationFromRaw: removed +GetBenchmarks: changed from func(*Configuration) []Bench to func(Configuration) []Bench +Manager: changed from Manager to github.com/relab/gorums.Manager +MemoryStatList: removed +MemoryStatList_builder: removed +NewManager: changed from func(...github.com/relab/gorums.ManagerOption) *Manager to func(...github.com/relab/gorums.ManagerOption) *Manager +Node: changed from Node to github.com/relab/gorums.Node +QSpec: removed +QuorumSpec: removed +RunBenchmarks: changed from func(*regexp.Regexp, Options, *Configuration) ([]*Result, error) to func(*regexp.Regexp, Options, Configuration) ([]*Result, error) +## compatible changes +AsyncMemoryStat: added +AsyncResult: added +AsyncStartResponse: added +CorrectableEcho: added +CorrectableMemoryStat: added +CorrectableResult: added +CorrectableStartResponse: added +Multicast: added +NewConfig: added +NewConfiguration: added +QuorumCall: added +SlowServer: added +StartBenchmark: added +StartServerBenchmark: added +StopBenchmark: added +StopServerBenchmark: added +StopServerBenchmarkQF: added + +# github.com/relab/gorums/cmd/protoc-gen-gorums/dev +## incompatible changes +AsyncEmpty: changed from AsyncEmpty to *github.com/relab/gorums.Async[*google.golang.org/protobuf/types/known/emptypb.Empty] +AsyncMyResponse: removed +AsyncResponse: changed from AsyncResponse to *github.com/relab/gorums.Async[*Response] +Configuration: changed from Configuration to github.com/relab/gorums.Configuration +ConfigurationFromRaw: removed +CorrectableEmpty: changed from CorrectableEmpty to *github.com/relab/gorums.Correctable[*google.golang.org/protobuf/types/known/emptypb.Empty] +CorrectableMyResponse: removed +CorrectableResponse: changed from CorrectableResponse to *github.com/relab/gorums.Correctable[*Response] +CorrectableStreamEmpty: removed +CorrectableStreamMyResponse: removed +CorrectableStreamResponse: removed +Manager: changed from Manager to github.com/relab/gorums.Manager +NewManager: changed from func(...github.com/relab/gorums.ManagerOption) *Manager to func(...github.com/relab/gorums.ManagerOption) *Manager +Node: changed from Node to github.com/relab/gorums.Node +QuorumSpec: removed +ZorumsServiceClient: removed +ZorumsServiceNodeClient: removed +ZorumsServiceServer.Correctable: removed +ZorumsServiceServer.CorrectableCombo: removed +ZorumsServiceServer.CorrectableCustomReturnType: removed +ZorumsServiceServer.CorrectableEmpty2: removed +ZorumsServiceServer.CorrectableEmpty: removed +ZorumsServiceServer.CorrectablePerNodeArg: removed +ZorumsServiceServer.CorrectableStream: removed +ZorumsServiceServer.CorrectableStreamCombo: removed +ZorumsServiceServer.CorrectableStreamCustomReturnType: removed +ZorumsServiceServer.CorrectableStreamEmpty2: removed +ZorumsServiceServer.CorrectableStreamEmpty: removed +ZorumsServiceServer.CorrectableStreamPerNodeArg: removed +ZorumsServiceServer.MulticastPerNodeArg: removed +ZorumsServiceServer.QuorumCallAsync2: removed +ZorumsServiceServer.QuorumCallAsync: removed +ZorumsServiceServer.QuorumCallAsyncCombo: removed +ZorumsServiceServer.QuorumCallAsyncCustomReturnType: removed +ZorumsServiceServer.QuorumCallAsyncEmpty2: removed +ZorumsServiceServer.QuorumCallAsyncEmpty: removed +ZorumsServiceServer.QuorumCallAsyncPerNodeArg: removed +ZorumsServiceServer.QuorumCallCombo: removed +ZorumsServiceServer.QuorumCallCustomReturnType: removed +ZorumsServiceServer.QuorumCallPerNodeArg: removed +ZorumsServiceServer.QuorumCallStream: added +ZorumsServiceServer.QuorumCallStreamWithEmpty2: added +ZorumsServiceServer.QuorumCallStreamWithEmpty: added +## compatible changes +GRPCCall: added +Multicast2: added +Multicast3: added +Multicast4: added +Multicast: added +NewConfig: added +NewConfiguration: added +QuorumCall: added +QuorumCallEmpty2: added +QuorumCallEmpty: added +QuorumCallStream: added +QuorumCallStreamWithEmpty2: added +QuorumCallStreamWithEmpty: added +Unicast2: added +Unicast: added + +# github.com/relab/gorums/ordering +## incompatible changes +(*Metadata).GetMessageID: removed +(*Metadata).SetMessageID: removed +Metadata_builder.MessageID: removed +## compatible changes +(*Metadata).GetMessageSeqNo: added +(*Metadata).SetMessageSeqNo: added +Metadata_builder.MessageSeqNo: added + +# github.com/relab/gorums/tests/config +## incompatible changes +package removed + +# github.com/relab/gorums/tests/correctable +## incompatible changes +package removed + +# github.com/relab/gorums/tests/dummy +## incompatible changes +package removed + +# github.com/relab/gorums/tests/metadata +## incompatible changes +package removed + +# github.com/relab/gorums/tests/mock +## incompatible changes +package removed + +# github.com/relab/gorums/tests/oneway +## incompatible changes +package removed + +# github.com/relab/gorums/tests/ordering +## incompatible changes +package removed + +# github.com/relab/gorums/tests/qf +## incompatible changes +package removed + +# github.com/relab/gorums/tests/tls +## incompatible changes +package removed + +# github.com/relab/gorums/tests/unresponsive +## incompatible changes +package removed + +# summary +Inferred base version: v0.10.0 +Suggested version: v0.11.0