Skip to content

Releases: NethermindEth/juno

v0.6.1

13 Sep 06:13
cb7f30c
Compare
Choose a tag to compare

🌟 Added

  • Monitoring Metrics:

    • latency metrics to the RPC server.
    • failed RPC requests.
    • additional sync metrics added by @Exca-DK
  • Versioned Documentation: Added versioned docs to ensure clarity across different versions.

🔄 Changed

  • Updated Pebble: Adopted the crl-release-23.1 branch of Pebble, resulting in optimized database operations.

  • Go Version: Upgraded the codebase to Go v1.21.

  • Rust Enhancements: Made multiple refinements in the Rust code, including reducing the number of allocations for trace serialization and removing unnecessary casts.

🛠 Fixed

  • Clear Query Bit: Addressed an issue with the clear query bit in deploy account transactions.

  • Enhanced Transaction Handling: Implemented the return of ErrTxnHashNotFound in juno_getTransactionStatus by @aminsato

  • Field Naming Consistency: Corrected the starknet_simulateTransactions wrongly named field, ensuring consistency with the specification by @tomek0123456789.

Full Changelog: v0.6.0...v0.6.1

v0.6.0

22 Aug 14:04
02c0b26
Compare
Choose a tag to compare

🚀 We're thrilled to announce the release of Juno v0.6.0. As we continue to forge ahead on our journey, this release encapsulates further improvements, new features, and optimized support to enhance the Starknet client experience.

🌟 Added

  • New Trace RPC Methods:

    • starknet_traceTransaction
    • starknet_traceBlockTransactions
    • starknet_simulateTransactions
  • Juno RPC Schema: A dedicated schema to streamline RPC interactions for Juno's method.

  • Juno Console Enhancement: Pretty printing of Juno console logs for an enriched user experience.

  • Comprehensive Documentation: Official documentation now hosted on GitHub Pages.

🛠 Fixed

  • RPC Schema Consistency: Revised to ensure our RPC schema is consistent with the Starknet specification.

⚙️ Command-line Switches Update

Command-line switches have been restructured to provide clearer access control:

docker run -d \
  --name juno \
  -p $httpPort:$httpPort \
  -p $metricsPort:$metricsPort \
  -v /root/juno:/var/lib/juno \
  nethermind/juno:v0.6.0 \
  --db-path /var/lib/juno \
  --http \
  --http-port $httpPort \
  --metrics \
  --metrics-port $metricsPort \
  --eth-node <YOUR-ETH-NODE>

(Note: Ensure to adjust the variables like $httpPort, $metricsPort and others as per your configuration.)

🔍 Migration Notes

  • Database Migration: This version introduces database changes due to our work focus on peer-to-peer (p2p) communication. These changes may result in extended migration times. For faster sync, we recommend users to utilize snapshots.

📦 Docker Image

For those utilizing Docker:

docker pull nethermind/juno:v0.6.0

Full Changelog: v0.5.1...v0.6.0


v0.5.1

17 Aug 09:51
Compare
Choose a tag to compare

This release adds support for the Starknet v0.12.2.

Added

  • Support for Starknet v0.12.2

Docker Image

You can pull the Docker image for this release with:

docker pull nethermind/juno:v0.5.1

Full Changelog: v0.5.0...v0.5.1

v0.5.0

07 Aug 16:33
Compare
Choose a tag to compare

This release adds support for the upcoming Starknet v0.12.1 upgrade and includes compatibility with v0.4.0 of the RPC specification.

Added

  • Support for Starknet v0.12.1
  • Compatibility with v0.4.0 of the RPC specification
  • New RPC method: starknet_estimateMessageFee
  • Health Check Endpoint: A GET request to the / endpoint will now return a 200 status code for a healthy Juno node
  • Added Prometheus metrics support: Use --metrics and --metrics-port to enable this feature

Changed

  • Adjusted worker number for sync process, improving performance
  • Updated blockifier for starknet v0.12.1

Fixed

  • Resolved issues causing context cancelled errors in write RPC methods
  • Mapped gateway errors to write API RPC errors, improving error handling

Docker Image

You can pull the Docker image for this release with:

docker pull nethermind/juno:v0.5.0

Full Changelog: v0.4.1...v0.5.0

v0.5.0-rc0

01 Aug 08:32
Compare
Choose a tag to compare

This release adds support for the upcoming Starknet v0.12.1 upgrade and includes compatibility with v0.4.0-rc3 of the RPC specification.

Added

  • Support for Starknet v0.12.1,
  • Compatibility with v0.4.0-rc3 of the RPC specification,
  • New RPC method: starknet_estimateMessageFee.
  • Health Check Endpoint: A GET request to the / endpoint will now return a 200 status code for a healthy Juno node.

Changed

  • Adjusted worker number for sync process, improving performance.

Fixed

  • Resolved issues causing context cancelled errors in write RPC methods.
  • Mapped gateway errors to write API RPC errors, improving error handling.

Full Changelog: v0.4.1...v0.5.0-rc0

v0.4.1

13 Jul 05:29
Compare
Choose a tag to compare

With this release, we have significantly improved our processing speed. The time it takes to sync 90000 blocks on our VM has been reduced from 41 hours to about 24 hours. This marks an impressive 1.7x increase in our syncing efficiency.

Added

  • Log the incoming RPC requests in #907

Changed

  • Update types for 0.12.1 in #895
  • Parallelize per-contract storage updates in #900

Fixed

  • Add missing From field to rpc.MsgToL1 in #908

Full Changelog: v0.4.0...v0.4.1

v0.4.0

10 Jul 08:22
Compare
Choose a tag to compare

We're excited to announce the release of Juno v0.4.0, marking a significant step in the evolution of our Starknet client implementation. This release signifies the completion of Phase 2 of our development roadmap. Here are some of the major enhancements we've implemented in this version.

WARNING: This release has breaking changes and database is not compatible with the previous version.

Added

  • New RPC Methods:
    • starknet_call
    • starknet_estimateFee
    • starknet_addDeclareTransaction
    • starknet_addDeployAccountTransaction
    • starknet_addInvokeTransaction
    • juno_getTransactionStatus
    • juno_version
  • L1 Verifier: Verification of state from Layer 1 has been implemented.
  • Block Reorg Detection and Handling: A feature to detect and handle block reorganizations has been implemented.
  • gRPC Service: To accommodate users requiring direct access to the database, a gRPC service has been exposed.
  • Database Migration: The system has been improved to handle database changes more gracefully. It's no longer necessary to sync from the start when some database changes occur.
  • Starknet v0.12.0 support: includes integration with the Rust VM.

Changed

  • Performance Enhancements: Several adjustments and improvements have been made to increase the performance. These changes have resulted in ~30% reduction in sync time.

Full Changelog: v0.3.1...v0.4.0

v0.3.1

26 May 10:50
92b187c
Compare
Choose a tag to compare

Added

  • Fetch and store compiled classes for each Sierra class (#777).

Changed

  • Updated the behavior of synced nodes, which will now return false to starknet_syncing (#776).

Fixed

  • Resolved issue with NumAsHex(0) being omitted in RPC.
  • Fixed a Goerli sync issue by relaxing decoder max array elements limit (#779).

Full Changelog: v0.3.0...v0.3.1

v0.3.0

19 May 12:43
Compare
Choose a tag to compare

Added

  • Starknet v0.11.2 support
  • History for contracts, nonce, and class hash.
  • Implemented StateSnapshot.
  • New RPC endpoints:
    • starknet_syncing
    • starknet_getNonce
    • starknet_getStorageAt
    • starknet_getClassHashAt
    • starknet_getClass
    • starknet_getClassAt
    • starknet_getEvents

Note: For new RPC endpoints to fully work with data before the new version, the node needs to be resynced

Changed

  • Optimized TransactionStorage encoding and refactored memStorage.
  • Refactored RPC implementation for better organization and maintainability.
  • Parallelized and refactored sync tests for faster execution, improved readability, and maintainability.

Fixed

  • Updated handling of non-existent keys to return a zero value

Full Changelog: v0.2.2...v0.3.0

Juno v0.2.2

25 Apr 09:14
Compare
Choose a tag to compare

This patch release fixes handling of block versioning and ensures compatibility with non-sem-ver compliant Starknet.

Fixed

  • Ignore or add digits to block version string as necessary

Full Changelog: v0.2.1...v0.2.2