This update is backwards compatible. It is optional, but encouraged. The patch includes bug fixes, updated uptime monitoring, and performance improvements.
- Fixed benched message handling that could cause a node to be unable to progress during bootstrapping. This was typically experienced when the node would fail to transition to normal execution as it was finishing bootstrapping.
- Fixed a non-deterministic bug in the C-Chain codebase that could cause nodes that receive a lot of transaction broadcast requests to temporarily stop producing blocks until they processes a block produced by another node.
- Restricted the number of version messages to be sent to a peer to one.
- Removed legacy handshake messages that were deprecated in Apricot Phase 2.
- Marked nodes that have been benched as being offline for uptime calculations.
- Updated the validator set to be more performant during validator set changes.
- Updated the networking to only attempt to re-connect to a peer on disconnect if they are currently a validator.