Skip to content

Releases: NethermindEth/juno

v0.11.2

25 Mar 16:11
8b790ec
Compare
Choose a tag to compare

This release primarily focuses on fixes. Here are the key changes:

Fixed:

  • RPC Call Step Limit Issue: Fixed the rpc-call-max-steps flag issue, ensuring it correctly limits RPC call steps.
  • Declare Transaction for Cairo 2.6.0 & Sierra 1.5.0: Resolved a bug affecting the estimation or simulation of declare transactions for Cairo 2.6.0 and Sierra 1.5.0 contracts.

Full Changelog: v0.11.1...v0.11.2

v0.11.1

15 Mar 09:46
6317b0d
Compare
Choose a tag to compare

Key Updates

  • Transaction Simulation Improvement: Fixed a bug to ensure fee estimation during transaction simulation is accurate, when the SKIP_FEE_CHARGE_FLAG is not set.

Full Changelog: v0.11.0...v0.11.1

v0.11.0

12 Mar 15:17
e7469e9
Compare
Choose a tag to compare

Key Updates

  • Critical Fee Estimation Fix: Resolved an issue where fee estimation was incorrect for RPC v0.6 when blobs were enabled.

Full Changelog: v0.11.0-rc1...v0.11.0

v0.11.0-rc1

05 Mar 18:33
1f856a7
Compare
Choose a tag to compare

This release introduces support for the JSON RPC v0.7.0-rc2.

Key Updates

  • Compatibility with JSON RPC v0.7.0-rc2: Juno now supports JSON RPC v0.7.0-rc2, available at endpoints /v0_7, rpc/v0_7 and the default /.
  • Deprecation of RPC v0.5: Streamlining our service by supporting only the two most recent RPC versions. RPC /v0_5 is no longer supported.
  • Ongoing Support for RPC v0.6: To ensure a seamless transition and maintain a reliable service, RPC v0.6 will continue to be supported, available at its dedicated endpoint /v0_6.

Full Changelog: v0.11.0-rc0...v0.11.0-rc1

v0.11.0-rc0

28 Feb 20:16
6499f7f
Compare
Choose a tag to compare

This release provides compatibility with Starknet 0.13.1, including the latest blockifier version and ensuring RPCv0.6 stability.

⚠️ This release does not yet support RPCv0.7 ⚠️

Changed

  • Updated Starknet core components: Updated Cairo compiler and Blockifier versions.
  • Adjusted Starknet Feeder Gateway interface: Adjusting Juno's Starknet Feeder Gateway interface to adapt to new request/response formats.

Fixed

  • P2P Sync Panic: Fix panic at Sepolia block number 34980.

v0.10.0

23 Feb 13:26
Compare
Choose a tag to compare

We're pleased to announce the release of Juno v0.10.0. This update introduces experimental support for peer-to-peer (P2P) syncing on the Sepolia test network. The P2P feature is a significant step towards a decentralized network, allowing nodes to directly sync with each other.

Added:

  • Experimental P2P Syncing: Initial implementation for P2P syncing, currently available on the Sepolia test network. This feature allows Juno nodes to connect and sync directly with each other, aiming to reduce reliance on centralized infrastructure.
  • Configurable Gateway Timeout: Users can now adjust gateway timeouts, offering better control over network interactions.
  • CORS Support Toggle: Introduced the ability to enable or disable CORS support, enhancing security and cross-origin resource sharing capabilities.

To join our experimental Sepolia network, use the following command:

docker run -d \
  --name juno_p2p \
  -p 6060:6060 \
  -p 7777:7777 \
  -v $HOME/juno_p2p:/var/lib/juno \
  nethermind/juno:v0.10.0 \
  --db-path "/var/lib/juno" \
  --network "sepolia" \
  --log-level "debug" \
  --http \
  --http-host "0.0.0.0" \
  --http-port "6060" \
  --p2p \
  --p2p-addr /ip4/0.0.0.0/tcp/7777 \
  --p2p-peers=/ip4/34.138.100.215/tcp/7777/p2p/12D3KooWR8ikUDiinyE5wgdYiqsdLfJRsBDYKGii6L3oyoipVEaV

More information: Juno's experimental peer-to-peer launch (Medium)

v0.9.4

19 Feb 09:55
Compare
Choose a tag to compare

This release focuses on significant performance improvements and enhanced monitoring capabilities to provide better insights and efficiency.

Added

  • jemalloc Memory Management: Dramatic reduction in CPU usage, nearly 2x improvement under the same RPC load.
  • New Metrics: Introduced metrics for Pebble Cache, VM Running Jobs, and VM Queue Length for enhanced system monitoring.

Changed

  • Dependencies Updated: updated blockifier to 0.4.1-rc.0 along with version bumps for Cairo language and Rust dependencies.
  • VM busy error message: changed error message for resource busy to VM throughput limit reached

Full Changelog: v0.9.3...v0.9.4

v0.9.3

23 Jan 14:06
Compare
Choose a tag to compare

This release marks a significant step towards enhancing Juno's adaptability and generic capabilities. Additionally, it addresses a crucial issue related to the delayed receipt of declare transactions in pending blocks.

Added

  • Custom Network Configuration Flags: Introduced new flags to Juno (cn-name, cn-feeder-url, cn-gateway-url, cn-l1-chain-id, cn-l2-chain-id, cn-core-contract-address) that enable running Juno on custom networks. This enhancement allows for the configuration of custom feeder endpoints and contract addresses, offering greater flexibility in network setup and operations. (@rianhughes in #1639)
  • Custom Network Unverifiable Range: Added the cn-unverifiable-range flag to specify a range of blocks in custom networks where hash verifications and transactions are skipped, enhancing flexibility. (@rianhughes in #1659)
  • Configurable Max Steps for starknet_call: Allow users to configure the maximum number of steps to be executed for starknet_call(rpc-call-max-steps flag), enhancing control over contract interactions. (@omerfirmak in #1680)

Changed

  • Pebble Upgrade to 1.0.0: Upgraded the underlying Pebble DB to version 1.0.0 for improved stability. (@joshklop in #1635)

Fixed

  • Query Class Definitions on Pending State: Resolved an issue where Juno was unable to retrieve class definitions from pending blocks from the feeder. This fix enhances the efficiency of accessing declare transaction receipts shortly after their addition, streamlining the transaction handling process. (@omerfirmak in #1677)

Full Changelog: v0.9.2...v0.9.3

v0.9.2

11 Jan 07:51
bd53567
Compare
Choose a tag to compare

⚠️ Warning ⚠️

DB Migration: Upgrading to this version requires a database migration, which is expected to take approximately 20-40 minutes. You can skip it by using the pre-migrated database snapshot from our docs.

Added

  • GatewayMetrics: Added new metrics for the gateway client, enhancing monitoring and performance analysis.

Changed

  • Optimized Traces: Used pre-compiled classes for optimized trace performance, significantly reducing the need for on-the-fly compilation.
  • Placeholder Nonce for L1 Handlers: Introduced a placeholder nonce (0x0) for serving L1 handlers over RPC, addressing spec requirements for nonces.
  • Increased gRPC Message Size Limit: The gRPC message size limit has been significantly raised to accommodate very large classes (over 10MB), ensuring that size constraints won't be a limiting factor in the future.
  • VM Errors as RPC Errors: Internal VM errors are now treated as internal RPC errors, streamlining error categorization and handling.
  • Fallback for 0.12.3 Blocks: Implemented a fallback to the feeder gateway for traces of 0.12.3 blocks, improving compatibility and trace handling.

Fixed

  • Write Transaction Timeout Fix: Resolved an issue where write transactions were being cut off after 5 seconds, ensuring better transaction handling.
  • Fix in LegacySimulateTransactions: Corrected an issue where LegacySimulateTransactions was not returning the correct error for reverted transactions, improving error accuracy.

Full Changelog: v0.9.1...v0.9.2

v0.9.1

20 Dec 12:20
Compare
Choose a tag to compare

⚠️ Warning: Version v0.9.x+ is only compatible with Starknet v0.13.0 and above. ⚠️

Added

  • API Key Support for Feeder/Gateway: Added support for configuring an API key to bypass feeder/gateway throttling. Use the --gw-api-key flag when running Juno to specify the API key. (@omerfirmak in #1579)

  • Flag --db-max-handles: We've introduced a new flag, enabling users to adjust the MaxOpenFiles setting in Pebble. This improvement is aimed at enhancing Juno's ability to manage a higher volume of RPC requests efficiently. (@omerfirmak in #1587)

Changed

  • Error Metrics: Revised error metrics to only count internal errors as failed requests. This change addresses the issue where request relatd errors were inaccurately classified as failures in metrics, leading to misleading data. Now, only errors that signify server-level issues contribute to the failure rate. (@omerfirmak in #1566)

  • Request Logging: Altered the RPC request logging approach to only log failed requests. Previously, logging all RPC requests resulted in excessive data, making it challenging to pinpoint issues. This update streamlines the process, focusing on capturing only those requests that fail, thereby facilitating easier troubleshooting. (@omerfirmak in #1572)

Fixed

  • Class Cache Issue: Addressed an issue where the class cache was serving non-declared classes in certain edge cases. (@omerfirmak in #1571)

Full Changelog: v0.9.0...v0.9.1