Releases: openmina/openmina
Releases · openmina/openmina
Release v0.4.0
Fixed
- Interactions with the ledger service are now async. This fixes situations in which expensive ledger operations could starve the state machine loop.
- Ledger synchronization issue that happens when synchronizing the node during the second epoch.
- Correctly handle the situation in which the best tip changes during staged ledger reconstruction, causing the reconstruct to produce a stale result.
- Various edge cases in p2p layer (error propagation, disconnection, self-connection).
Added
- Support for
identify
protocol. - P2P layer testing framework.
- Frontend: Block production page.
Removed
- Removed rust-libp2p based code, in favor of our own libp2p implementation.
Release v0.3.1
Changed
- Internal improvements to the actions logging mechanism.
Fixed
- Corrected sync stats for accounts fetching during ledger sync.
- Pruning of kademlia streams and requests.
Added
- Docker images tagged for each new release.
- Bootstrap process testing on CI.
Release v0.3.0
Changes
- Rust Toolchain: Updated the minimum required Rust toolchain to version 1.77.
- Networking:
- Libp2p Replacement: Transitioned from libp2p to a custom internal networking implementation. The transition will be finalized in the next release, completely removing the libp2p dependency.
- Gossipsub: Pending support. Current version of the node performs initial bootstrapping but cannot stay synchronized with network broadcasts.
- Kademlia: Partial implementation includes bootstrapping and FIND_NODE server/client functionalities.
- Identify Protocol: Absent in this release, rendering the node unusable as a seed node.
- Libp2p Replacement: Transitioned from libp2p to a custom internal networking implementation. The transition will be finalized in the next release, completely removing the libp2p dependency.
- Frontend:
- Mobile Compatibility: Enhanced support for mobile platforms, improving user experience across various devices.
Fixes
- Staged Ledger: Resolved an issue where the ledger reconstruct step would block the state machine.
- Node Communication: Fixed a bug where nodes did not respond to ledger queries from bootstrapping peers, enhancing network cooperation.
- Frontend:
- Test Stability: Addressed and fixed previously failing tests.
- Backend:
- HTTP RPC: Corrected an error triggered when querying the
/state
endpoint.
- HTTP RPC: Corrected an error triggered when querying the
Additions
- Bootstrap Efficiency:
- Ledger Synchronization: Optimized the snarked ledger synchronization process during bootstrap, significantly reducing the time required.
- Genesis Ledger Loading: Enhanced the loading mechanism for the genesis ledger, achieving much faster startup times.
- Frontend Enhancements:
- Network Node DHT view.
- Network Bootstrap Stats for real-time monitoring of network bootstrap statistics.
- Main Dashboard view.
- Backend Improvements:
- JsonPath Support: Enhanced the
/state
HTTP RPC endpoint with JsonPath support, offering more flexible state querying capabilities.
- JsonPath Support: Enhanced the
Release v0.2.0
Changed
- Default Rust toolchain switched to stable channel (as of 1.75).
- Internal refactoring to how leaf actions in the state machine are organized.
Fixed
- Node can now connect to the current berkeleynet after updates to:
- Wire type definitions.
- Verification, proving and circuits.
- Ledger and transaction application logic.
Added
- Ledger tests on CI.
Release v0.1.0
Fixed
- Optimized scan state to reduce memory usage by avoiding duplication of data.
- Updated proof verification to be compatible with the current berkeleynet (rampup4).
Added
- Introduced support for producing proofs (blocks, payments, zkApp transactions, and merge proofs) compatible with the current berkeleynet (rampup4), with pending support for generating circuits.
- Added the ability to produce blocks (excluding user transactions) for testing purposes.
- Implemented pruning of inferior blocks post synchronization with the best tip.
- Enhanced the testing framework and debugging support as follows:
- Improved compatibility with the OCaml node within the testing framework.
- Introduced declarations for essential invariants to be verified by the test framework, simulator, and replayer.
- Integrated SNARK worker into the simulator for SNARK production.
- Added functionality to store dumps of blocks and staged ledgers for inspection upon block application failure due to mismatches.
Release v0.0.1
First public release.
Added
- Alpha version of the node which can connect and syncup to the berkeleynet network, and keep applying new blocks to maintain consensus state and ledger up to date.
- Web-based frontend for the node.