Spring v1.0.0-rc3
Pre-releaseAntelope Spring is the successor to Leap as the C++ implementation of node software for blockchain networks based on the Antelope Protocol.
Spring v1.0.0 introduces Savanna consensus, which reduces time to finality from 3 minutes to 1 second under typical network conditions.
Also featured in Spring 1.0.0 is a significant reworking of the State History Plugin to improve performance, reliability, and support cross block chain consensus leveraging the faster finality of Savanna.
Note
To maintain IBC compatibility with EOS after it transitions to Savanna consensus, other Antelope chains will need to upgrade to a Savanna compatible IBC contract which depends on the activation of the BLS protocol feature that was first introduced in Leap v5.0.0.
Important Links
- Instructions to upgrade a node to Spring 1.0.0
- Instructions to transition a network to Savanna Consensus
- Recommendations for managing finalizer keys
New License Terms
Antelope Spring is made available under the terms of a Business Source License which is automatically granted for all usages which are Directly in Service of or Materially Dependent on the EOS Blockchain Network. Full details of the license terms may be found in the LICENSE file. Parties seeking a License for other usages may inquire by contacting [email protected].
Release Notes
Notable Changes
Spring v1.0.0-rc3 fixes several defects reported against Spring v1.0.0-rc2. The most notable changes include:
- Improved liveness properties of consensus by modifying the rules that finalizers use to decide between voting strong vs weak
- Updated safety.dat format to include checksum to detect possible corruption on startup
- Modified behavior of max-reversible-blocks option to only pause production rather than shutdown
- Fixed regression in v1.0.0-rc2 that allowed the node to sync too far ahead
- Fixed crash when running SHiP during replay
- Additional improvements to logging and tests
Complete Change Log
Changes in Spring v1.0.0-rc3
Stability
- add
BOOST_TEST_DEFAULTS_TO_CORE_DUMP
to libtester users - FSI serialization: support dynamically sized data and verify checksum
- Use other_branch_latest_time for liveness
- P2P: Prevent node from syncing too far ahead
- Pause production when max-reversible-blocks reached
- SHiP: Fix SHiP replay over savanna transition blocks
- Improve finalizer safety file exception handling
Tests
- Test verifying that proposer policy does not become active when finality has stalled
- Simplify disaster_recovery_2 test and verify correct LIB
- Test to demonstrate weak masking issue
- Improve restart production integration test
- Test validating new fsi design
- Fix liveness integration test flakiness
- Add integration tests for production-pause-vote-timeout
Maintainance
Logging
Full Changelog: v1.0.0-rc2...v1.0.0-rc3
Contributors
Special thanks to the contributors that submitted patches for this release: