Skip to content

Releases: openmina/openmina

Release v0.4.0

30 Apr 15:26
44b3cfe
Compare
Choose a tag to compare

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

05 Apr 19:28
6915ab3
Compare
Choose a tag to compare

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

29 Mar 15:59
68dd2bb
Compare
Choose a tag to compare

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.
  • 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.

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.

Release v0.2.0

29 Feb 17:42
4507784
Compare
Choose a tag to compare

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

02 Feb 15:12
0ea02cf
Compare
Choose a tag to compare

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

22 Dec 16:29
9f8b151
Compare
Choose a tag to compare

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.