Skip to content

Releases: NethermindEth/juno

v0.13.2

27 Feb 07:42
e354149
Compare
Choose a tag to compare

This hot fix release focuses on resolving issues with starknet_getBlockWithTxs in RPC v0.7 and v0.6, where some transactions returned an empty response.

Fixed

  • RPC v6 and v7: Fixed an issue where starknet_getBlockWithTxs sometimes returned an empty response for certain transactions, causing errors.
    by @hudem1 in #2575
  • RPC v0.8: No longer support adding transactions with versions lower than v3.
    by @AnkushinDaniil in #2544

Full Changelog: v0.13.1...v0.13.2

v0.13.1

25 Feb 15:05
7239e37
Compare
Choose a tag to compare

This release restores backward compatibility for RPC v0.7 by reintroducing transaction_hash in starknet_getBlockWithReceipts, along with several minor improvements.

Fixed

  • Restored transaction_hash in starknet_getBlockWithReceipts for v0_7 compatibility (#2528)

Full Changelog: v0.13.0...v0.13.1

v0.13.0

19 Feb 17:03
6f86472
Compare
Choose a tag to compare

This release focuses on RPC v0.8 support and compatibility with upcoming Starknet v0.13.4.

⚠️ Important Upgrade Notice ⚠️

  • Users must upgrade before Starknet v0.13.4 deployment to maintain sync capability
  • Database migration:
    • Backup your database before upgrading
    • Migration may take several minutes or more depending on hardware
    • WARNING: Interrupting the migration may corrupt the entire database

Breaking Changes

  • The --eth-node flag is now mandatory (use --disable-l1-verification if L1 verification is not needed)

Added

  • RPC v0.8.0-rc3 as the default version under / and /rpc/v0_8
    • RPC v0.7 remains available for compatibility - /rpc/v0_7
    • RPC v0.6 remains available for compatibility - /rpc/v0_6
  • WebSocket subscription support
  • Dynamic runtime log level control via HTTP
  • Small DB improvements by adding a dedicated Key type
  • Support for the latest Blockifier version

Changed

  • Deprecated juno_subscribeNewHeads, juno_unsubscribe, juno_getProof in favor of starknet_ prefixed methods

Fixed

  • Removed transaction_hash from the getBlockWithReceipts response (still available in the receipt) as it was not compliant with the spec.

Full Changelog: v0.12.5...v0.13.0

v0.12.5

02 Dec 15:15
Compare
Choose a tag to compare

This release focuses on improving performance and ensuring stability across key functionalities.

Added

  • Optimized Sync and RPC Performance: Increased the default db-cache-size to 1GiB, significantly improving synchronization speed and reducing response times for key operations. (#2244)

Changed

  • Dependency Alignment: Updated internal dependencies to maintain compatibility and streamline the build process. (#2293)

Fixed

  • Enhanced Compilation Error Handling: Improved handling of certain edge cases during contract compilation to ensure better system reliability. (#2297)

Full Changelog: v0.12.4...v0.12.5

v0.12.4

11 Nov 09:30
Compare
Choose a tag to compare

This release focuses on supporting Starknet 0.13.3.

⚠️ Important Upgrade Notice ⚠️

You must upgrade to this release before Starknet 0.13.3 is rolled out on the testnet and mainnet. Failing to do so will result in the inability to sync new (Starknet 0.13.3) blocks.

To get the schedule for upcoming Starknet updates, follow this thread: Starknet Roadmap Updates.

Added

  • Support for Starknet v0.13.3: Ensuring compatibility with the latest Starknet version.

Full Changelog: v0.12.3...v0.12.4

v0.12.3

18 Oct 07:54
7faba7c
Compare
Choose a tag to compare

This release focuses on enhancing performance, optimizing synchronization, and updating dependencies to ensure compatibility and reliability.

Added

  • L1 Metrics: Introduced metrics for monitoring L1 activities, providing more insight into L1 interactions. (#1678)
  • Support Plugins: Added support for plugins to extend Juno's capabilities. (#2051)
  • Add DB Revert Command: Added a command to revert the database to a previous state, enabling easy debugging and state rollback in case of issues. This includes the ability to specify a target block to revert to, making it highly useful for testing. (#2216)

Changed

  • Optimized State Reading: Improved reading efficiency for felts from the state, reducing overhead and boosting performance. (#1713)
  • Parallel Processing for Commitments: Enhanced receiptCommitment and transactionCommitmentPoseidon functions to utilize parallel processing, optimizing data handling and improving speed. (#2165)
  • Dependency Updates: Upgraded key dependencies (libp2p, prometheus/client_golang, go-ethereum) and updated Go version to v1.23.1 for better performance and security. (#2172, #2190, #2128)

Fixed

  • P2P Sync for v0.13.2 Blocks: Fixed an issue preventing synchronization with blocks from Starknet v0.13.2, ensuring smoother integration between nodes. (#2146)
  • Nil Interface Check: Fixed an issue where an interface was incorrectly identified as nil, leading to potential crashes. This improvement enhances the stability of the sync process. (#2161)
  • Traces Fixes: Addressed issues with traces, including handling of fees, state diffs, and events, ensuring more accurate data representation. (#2118)
  • Add Missing Execution Resources to Fetched Traces: Fixed missing execution resources in the fetched traces to ensure completeness of the trace data. (#2222)

Full Changelog: v0.12.2...v0.12.3

v0.12.2

03 Sep 13:36
1862240
Compare
Choose a tag to compare

This release adds support for Starknet v0.13.2.1, resolving issues with overestimating declare transactions.

Changed

  • Blockifier Update: Upgraded to 0.8.0-rc.3, addressing overestimation issues with declare class and ensuring compatibility with Starknet v0.13.2.1. (@kirugan)
  • Improved Trace Logging: Enhanced trace logging for better visibility. (@kirugan)

Fixed

  • Discovery P2P Mechanism: Removed extra "kad" substring from the discovery process. (@weiihann)

Full Changelog: v0.12.1...v0.12.2

v0.12.1

29 Aug 09:09
90d04be
Compare
Choose a tag to compare

This release introduces key features for improved monitoring and P2P communication, along with bug fixes and updates to maintain compatibility with the latest specifications.

Added

  • New /ready/sync Endpoint: Added the /ready/sync endpoint to check readiness and synchronization status. This endpoint returns 200 if the system is synced within the last six blocks and ready; otherwise, it returns 503. For more details, see #2060.
  • P2P Public Address Support: Implemented support for nodes to gossip their public IP address using the p2p-public-addr flag, enabling P2P communication over public networks. (#2011)
  • New Execution Step Count Header: Added the X-Cairo-Steps header to track execution steps, providing better monitoring and debugging capabilities. (#1989)

Changed

  • Makefile Update for Parallel Build Process: Updated the Makefile to parallelize the build process using all available CPU cores, resulting in faster builds.
  • DB Command Replacement: Introduced a new db command (juno db) for database-related operations, replacing the previous approach. It includes subcommands like:
    • juno db info: Displays blockchain information stored in the database.
    • juno db size: Shows storage information for each bucket in the database.

Fixed

  • Conformity with Specification 0.7.1: Fixed the missing execution_resources.data_availability field in starknet_getTransactionReceipt responses, ensuring compliance with spec 0.7.1. (#2078)

Updated

  • Dependency Updates: Upgraded key dependencies to the latest versions for enhanced security and functionality:
    • blockifier updated to 0.8.0-rc.2
    • starknet_api updated to 0.13.0-rc.1
    • cairo-vm updated to 1.0.1
  • Go Version Update: The Go version has been updated to v1.23.0, improving overall performance and access to new language features. (#2058)

Full Changelog: v0.12.0...v0.12.1

v0.12.0

09 Aug 13:04
Compare
Choose a tag to compare

This release focuses on supporting Starknet 0.13.2.

⚠️ Important Upgrade Notice ⚠️

You must upgrade to this release before Starknet 0.13.2 is rolled out on the testnet and mainnet. Failing to do so will result in the inability to sync new (Starknet 0.13.2) blocks.

Added

  • Support for Starknet v0.13.2: Ensuring compatibility and enhanced performance with the latest version.
  • New Flag: Introduced the --versioned-constants-file flag to load a custom versioned constants JSON file.
  • DB Size Subcommand: Added the db-size subcommand to the Juno command, allowing users to check the database size.
  • P2P Peers Storage: We now store P2P peers in a database for quick startup in P2P sync.
  • Interruptible Migrations: Heavy migrations can be interrupted by sending SIGINT (Ctrl-C).

Fixed

  • L1 RPC Subscription: Fixed the issue to avoid spam calls to the L1 RPC subscription.

Full Changelog: v0.11.9...v0.12.0

v0.11.9

05 Jun 06:34
03c1985
Compare
Choose a tag to compare

What's Changed

  • Fallback Traces for 0.13.1 Blocks: Updated the fallback to the feeder gateway for traces of <= 0.13.1 blocks, improving the consistency of older transaction traces.

Full Changelog: v0.11.8...v0.11.9