Release Notes - v0.208.3
v0.208.3
Section titled “v0.208.3”Title: Fix ChainSync peer pipelining and asynchronous replies
Version: v0.208.3
This release corrects peer pipelined message handling during ChainSync agency transitions and clarifies asynchronous server reply behavior. Servers can use AwaitReply with pipelined requests while preserving request order and protocol state transitions.
Bug Fixes
Section titled “Bug Fixes”- Fixed peer pipelined messages by deferring them until peer agency becomes active, so the protocol processes them only when its state permits.
- Removed the separate early handling path and transition marker for peer pipelined messages so state transitions follow the regular protocol flow.
- Clarified pipelined message state semantics so state checks reflect whether the protocol can handle a pipelined message at that point.
- Corrected ChainSync
MustReplyadmission to accept pipelinedMsgRequestNextmessages for both NtN and NtC, including when theCanAwaitview still lags behind the permitted state.
Additional Changes
Section titled “Additional Changes”- Enabled
RequestNextFunccallbacks to send replies before the callback returns, after it returns, or from another goroutine, supporting asynchronous ChainSync server replies withAwaitReplyand pipelined requests. - Ensured the server dispatches a pipelined
RequestNextonly after the previous request receives its reply and the server returns toIdle, preserving request sequencing for asynchronous replies.
Release: v0.208.3
Compare: v0.208.2…v0.208.3
Docs authored by Doc Holiday