Leap v4.0.3 is a patch release, Leap v4.0.3 resolves an issue that could cause premature closure of idle connections in some scenarios (details provided below).
... and of course it builds on the great optimizations introduced in v4.0.0: https://github.com/AntelopeIO/leap/releases/tag/v4.0.0
... and also builds on the stability improvements in prior v4.x.x patch release:
- Leap v4.0.1: https://github.com/AntelopeIO/leap/releases/tag/v4.0.1
- Leap v4.0.2: https://github.com/AntelopeIO/leap/releases/tag/v4.0.2
Leap v4.0.3 Release Notes
Bug Fixes
There is only one significant change in this release:
Use magnitude safe time types
Issue:
Some node operators running leap 4.0.2 reported an issue where p2p connections were constantly disconnecting. The culprit was inaccurate timing of heartbeat calculations which could cause premature closure of idle connections.
Impact:
Constant p2p connection interruptions creates the potential for network instability. The issue was observed and addressed before any issues could propogate to any Antelope main net.
Due to variations in clock tick time precision across different hardware/OS environments, this issue only affected some nodes. Notably, this issue did NOT affect nodes running on Ubuntu 20.
Resolution:
PR #1321 addressed the issue by introducing magnitude safe time types. The problematic "tstamp" type was completely removed and replaced with std::chrono types to ensure accurate and consistent time calculations. The use of magnitude safe time types helps maintain the correct timing for heartbeat calculations and prevents premature closure of idle connections.
The following changes were made:
- Use magnitude safe time types
- Reset latest_msg_time and latest_blk_time
- Completely remove problematic tstamp type
Further details
Contributors
Special thanks to the contributors that submitted patches for this release:
Full list of changes since last release
PR
Full Changelog: v4.0.2...v4.0.3