Skip to content

Gorums v0.13.0

Latest

Choose a tag to compare

@meling meling released this 07 Nov 13:43
542fb83

API changes reported by gorelease:

# github.com/relab/gorums
## incompatible changes
(*ServerContext).SendMessage: removed
ConfigContext: removed
Handler: changed from func(ServerContext, *Message) (*Message, error) to func(ServerContext, *Message, func(google.golang.org/protobuf/proto.Message)) error
NewResponseMessage: removed
NodeContext: removed
ServerInterceptor: changed from func(ServerContext, *Message, Handler) (*Message, error) to func(ServerContext, *Message, func(google.golang.org/protobuf/proto.Message), Handler) error
WithSendBufferSize: removed
## compatible changes
DefaultRecvBufferSize: added
ErrEmptyConfig: added
ErrNoNode: added
WithDialBufferSizes: added
WithServerLogger: added
WithTransportCredentials: added

# github.com/relab/gorums/cmd/protoc-gen-gorums/dev
## incompatible changes
ConfigContext: removed
CorrectableEmpty: removed
CorrectableResponse: removed
GRPCCall: removed
Multicast2: removed
Multicast3: removed
Multicast4: removed
Multicast: removed
NodeContext: removed
QuorumCall: removed
QuorumCallEmpty2: removed
QuorumCallEmpty: removed
QuorumCallStream: removed
QuorumCallStreamWithEmpty2: removed
QuorumCallStreamWithEmpty: removed
Unicast2: removed
Unicast: removed
ZorumsServiceServer.GRPCCall: removed
ZorumsServiceServer.Multicast2: removed
ZorumsServiceServer.Multicast3: removed
ZorumsServiceServer.Multicast4: removed
ZorumsServiceServer.Multicast: removed
ZorumsServiceServer.MulticastSecondMethod: added
ZorumsServiceServer.MulticastWithEmptyRequestAndResponse: added
ZorumsServiceServer.MulticastWithEmptyResponse: added
ZorumsServiceServer.QuorumCallEmpty2: removed
ZorumsServiceServer.QuorumCallEmpty: removed
ZorumsServiceServer.QuorumCallStreamWithEmpty2: removed
ZorumsServiceServer.QuorumCallStreamWithEmpty: removed
ZorumsServiceServer.QuorumCallStreamWithEmptyRequest: added
ZorumsServiceServer.QuorumCallStreamWithEmptyResponse: added
ZorumsServiceServer.QuorumCallWithEmptyRequest: added
ZorumsServiceServer.QuorumCallWithEmptyResponse: added
ZorumsServiceServer.RemoteCall: added
ZorumsServiceServer.Unicast2: removed
## compatible changes
Correctable: added
NewZorumsServiceClient: added
NewZorumsServiceNodeClient: added
ZorumsServiceClient: added
ZorumsServiceNodeClient: added

# github.com/relab/gorums/cmd/protoc-gen-gorums/gengorums
## incompatible changes
GenerateDevFiles: removed
GenerateFile: removed
## compatible changes
Generate: added

# github.com/relab/gorums/gorumstest
## compatible changes
ServerContext: added
ServerLogger: added

# github.com/relab/gorums/runtime/gorumsimpl
## incompatible changes
GenVersion: value changed from 12 to 13
MaxVersion: value changed from 12 to 13
MinVersion: value changed from 12 to 13
Multicast: changed from func(*github.com/relab/gorums.ConfigContext, Req, string) *github.com/relab/gorums.OnewayCall[Req] to func(context.Context, github.com/relab/gorums.Config, Req, string) *github.com/relab/gorums.OnewayCall[Req]
QuorumCall: changed from func(*github.com/relab/gorums.ConfigContext, Req, string) *github.com/relab/gorums.Call[Req, Resp] to func(context.Context, github.com/relab/gorums.Config, Req, string) *github.com/relab/gorums.Call[Req, Resp]
QuorumCallStream: changed from func(*github.com/relab/gorums.ConfigContext, Req, string) *github.com/relab/gorums.Call[Req, Resp] to func(context.Context, github.com/relab/gorums.Config, Req, string) *github.com/relab/gorums.Call[Req, Resp]
RemoteCall: changed from func(*github.com/relab/gorums.NodeContext, Req, string) (Resp, error) to func(context.Context, *github.com/relab/gorums.Node, Req, string) (Resp, error)
Unicast: changed from func(*github.com/relab/gorums.NodeContext, Req, string) *github.com/relab/gorums.OnewayCall[Req] to func(context.Context, *github.com/relab/gorums.Node, Req, string) *github.com/relab/gorums.OnewayCall[Req]

# summary
Inferred base version: v0.12.1
v0.13.0 is a valid semantic version for this release.

What's Changed

  • gengorums: generate service clients by @meling in #379
  • gengorums: support several services per proto file and Go package by @meling in #380
  • gorums: return ErrEmptyConfig instead of panicking on an empty config by @meling in #400
  • stream: fail calls on a stream that ends with ResourceExhausted by @meling in #406
  • buf lint, RemoteCall rename, and proto cleanup by @meling in #405
  • gengorums: restructure the generator for clarity by @meling in #404
  • gengorums: require Empty responses for one-way calls by @meling in #410
  • gorums: add WithDialBufferSizes dial option by @meling in #409
  • benchkit: record corrected multicast latency time series by @meling in #411
  • benchkit: read the sender ID from ServerContext, not from messages by @meling in #413
  • benchkit/sweep: replace -driver with -detach [hostname] by @meling in #417
  • benchkit/sweep: reject coordinator benchmarks before launch by @meling in #429
  • benchkit/sweep: make detached output easier to read by @meling in #428
  • gorums: check dialed peer identities in the TLS handshake by @meling in #418
  • stream: count a stream as up only after the server accepts it by @meling in #419
  • gorumsimpl: correct exported call API contracts by @meling in #430
  • gorums: reduce generated-code hooks in server API by @meling in #431
  • gorums: align call and generator documentation with behavior by @meling in #433
  • doc: fix stale examples and behavior claims in the user guide by @meling in #436
  • doc: align the dev guide and comments with the generator and stream by @meling in #437
  • doc: present one-way Send and Async as the quorum call pattern by @meling in #438
  • all: use short doc links and rewrap comment lines over 95 columns by @meling in #439
  • gorums: call WithPeerChange once during NewServer by @meling in #442
  • gorums: count and log unmatched error replies on the caller side by @meling in #445
  • ci: pin protoc 36.2, the version of the committed generated code by @meling in #452
  • ordering: bound outstanding calls in the async ordering test by @meling in #453
  • sweep: add smoke-check support (verify, wait, strict, GOARCH) by @meling in #446
  • ci: add a Docker smoke test and the release-smoke workflow by @meling in #447
  • gorums: deliver every handler response through send by @meling in #454
  • doc: add v0.11 to v0.13 migration guide by @meling in #455
  • gorums: release v0.13.0 by @meling in #456

Full Changelog: v0.12.1...v0.13.0