pub const EVENTS_PROTOCOL_VERSION: u32 = 4;Expand description
Bump whenever the request or response frame shape changes incompatibly. The server rejects frames whose version it does not speak, so a skewed client gets a typed refusal instead of a deserialization panic.
Version 2 was the first version any release shipped: version 1 carried a
side_effects_unknown error field that was replaced by the
writer_task_state carrier before this module reached any released ref,
so v1 speakers existed only on unreleased development heads. The bump
exists so that even such a process gets the version refusal above rather
than having its retryable writer states silently mapped to terminal
InvalidInput. Version 3 replaces that state-only carrier with a failure
disposition so a proven rollback can cross the socket without falsely
claiming the remote writer task terminated. Version 4 adds exact event-target
filtering and the refusal kind. Older readers would ignore the new filter
field, silently broadening a query, so both peers must speak version 4.