Notable Changes
Removing support for NodeJS v16; adding support for NodeJS v20 and beyond. The node now requires a minimum version of NodeJS v18 instead of only NodeJS v18, so we can more easily support new NodeJS versions as they are released.
Block syncing speed should be improved. The node will regularly measure the connection of some peers to try to find a faster peer to sync from. The first time this occurs is 2 minutes after the node starts syncing, then 4, 8, 16.. up to a maximum of once per 60 minutes.
Nodes should be able to find peers faster and more consistently.
- The default
targetPeer
value is now 45. This means that nodes will attempt to connect to new nodes until it has reached 45 peers. After 45, it will allow incoming connections up to themaxPeer
value, which has a default of 50. This will allow other nodes to find peers faster since nodes will no longer be trying to actively reach the maximum. - Nodes track peers that it successfully connects to via websocket connection and saves these peers to disk. The next time the node starts, it will attempt connections to these peers first, leading to faster initial startup connections.
- Nodes now only count peers that are fully connected when checking if it should open new connections or allow incoming connections, instead of peers that were in connected or connecting states.
Added akeepOpenPeerSlot
config option (default false). When set to true, a node will disconnect from a peer if it is atmaxPeers
, so that the node will always allow an incoming connection instead of reaching the maximum number of peers and rejecting incoming connections.
Breaking Changes
Moved PriorityQueue
out of mempool #4380
Changed the return type of Note.memo()
to Buffer
. Use BufferUtils.toHuman(note.memo())
to produce the same human-readable value #4384
Removed support for NodeJS v16. Supported versions of NodeJS are now v18 or higher. #4395
Full Changelog: v1.11.0...v1.12.0