Spring v1.0.1
This release introduces the V8 Snapshot format, which contains data missing from the V7 Snapshot format that may be needed to ensure continued syncing in some edge cases. Other changes include improvements to block production, replay, peer syncing, and deep-mind logging.
Note
Spring v1.0.1 cannot be loaded from V7 snapshots (created by Spring v1.0.0). It can load snapshot versions V6 and prior, as well as the new V8 snapshots. To upgrade a 1.0.0 node restarting from a compatible snapshot is required.
Notable Changes
- Introduced V8 Snapshots to fix potential loss of ability to sync in some edge cases due to missing data in V7 Snapshots
- Fixed bug in which block production could briefly pause after prior block producer missed their round
- Replay with
--force-all-checks
now validates quorum certificates (QCs) in the block extension - P2P improvements to prevent unnecessary timeouts and redundant block requests
- Improved deep-mind logging
Complete Change Log
Bug Fixes
P2P Improvements
Deep-mind
Tests
- Test cases to validate edge cases related to missing V7 Snapshot data
- Rewrite P2P sync throttle test
- Improve test stability by preparing blocks for tests appropriately
- Add better test coverage of replay with --force-all-checks
- Correct reference fsi file used in tests
- Tests to verify expected behavior of replay of blocks with bad QC data
Other
- Verify block signature as soon as possible prior to any further block validation
- Consistent exception type on block extension validation
- Add earlier and more specific (yet backwards compatible) checks when applying policy diffs
- Cleanup error messages when upgrading from Spring v1.0.0
- Logging improvements for received blocks
- Utilize compiler to ensure blocks are treated as immutable after construction within implementation
Full Changelog: v1.0.0...v1.0.1
Contributors
Special thanks to the contributors that submitted patches for this release: