Skip to content

Releases: NethermindEth/juno

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

v0.8.3

20 Dec 12:19
Compare
Choose a tag to compare

⚠️ Warning: Version 0.8.x is compatible only up to Starknet v0.12.3. ⚠️

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.8.2...v0.8.3

v0.8.2

15 Dec 07:27
Compare
Choose a tag to compare

In this release, Juno introduces updates focusing on metrics enhancement.

Added

  • Feeder Metrics: Introduced new metrics for tracking response statistics from the feeder. This update provides valuable insights into the feeder's performance and interaction dynamics. (@joshklop in #1543)

Full Changelog: v0.8.1...v0.8.2

v0.9.0

13 Dec 13:33
Compare
Choose a tag to compare

In this release, Juno introduces updates focusing on compatibility adjustments.

⚠️ Warning: This release is compatible with Starknet v0.13.0+ only. Do not upgrade your nodes to this version until Starknet is updated to v0.13.0. ⚠️

Changed

  • Blockifier Update and Fee Alignment: Updated blockifier and aligned fees with Starknet 0.13.0, ensuring Juno remains in sync with the latest network standards. (@omerfirmak in #1544)

Full Changelog: v0.8.2...v0.9.0

v0.8.1

11 Dec 11:23
Compare
Choose a tag to compare

This release focuses solely on fixes for the RPC spec, aiming to improve the accuracy of RPC interactions.

Fixed

  • Simulate Transaction Error Handling for RPC v0_5: Addressed an issue where the starknet_simulateTransactions method did not return the correct error upon transaction reversion. (@omerfirmak in #1535)
  • EstimateFee Error Fix for RPC v0_5: Resolved an issue where starknet_estimateFee returned TxnExecutionErr instead of contract error. (@omerfirmak in [#1539]
  • Starknet Spec Version Update for RPC v0_6: Corrected the supported specification version to 0.6.0 in starknet_specVersion. (@wojciechos in #1536)

Full Changelog: v0.8.0...v0.8.1

v0.8.0

07 Dec 16:35
3ec3bce
Compare
Choose a tag to compare

This final release of v0.8.0 is fully compatible with upcoming Starknet 0.13.0 and implements the JSON RPC for v0.6.0, ensuring a smooth and efficient experience.

Key Updates

  • Support for Starknet 0.13.0: Fully integrated new features and updates compatible with Starknet 0.13.0.
  • JSON RPC spec v0.6 Implementation: RPC v0.6 is now available at endpoints /v0_6 and the default /, replacing the previous default of v0.5.
  • Removal of RPC /v0_4: Streamlining our service by supporting only the two most recent RPC versions. RPC /v0_4 is no longer supported.
  • Enhanced Database Cache Configuration: The db-cache-size flag allows for custom configuration of the pebble db cache size, optimizing performance and resource management.

Full Changelog: v0.7.6-patch1...v0.8.0

v0.8.0-rc2

04 Dec 08:44
3248d59
Compare
Choose a tag to compare

This version addresses multiple bug fixes in our Starknet JSON-RPC 0.6.0-rc4 implementation.

Key Updates

Full Changelog: v0.8.0-rc1...v0.8.0-rc2

v0.8.0-rc1

01 Dec 12:50
Compare
Choose a tag to compare

This release introduces significant updates with support for upcoming Starknet 0.13.0 and implements the JSON RPC for v0.6.0-rc4.

Key Updates

  • Support for Starknet 0.13.0: Seamlessly integrated new features and updates compatible with Starknet 0.13.0.
  • JSON RPC spec v0.6 Implementation: Newly added RPC version. v0.6 is now available at endpoints /v0_6 and the default /, replacing the previous default of v0.5.
  • Removal of RPC /v0_4: To maintain a streamlined and efficient service, we support only the two most recent RPC versions. With the introduction of RPC v0.6, we are removing support for the older RPC /v0_4.
  • Enhanced Database Cache Configuration: Added the capability to configure the pebble db cache size. The new db-cache-size flag determines the amount of memory allocated for caching data. This enhancement boosts performance and scalability, allowing for more efficient resource management.

Full Changelog: v0.7.6-patch1...v0.8.0-rc1

v0.7.6-patch1

30 Nov 13:30
Compare
Choose a tag to compare

Fixes

  • Blockifier and Cairo-VM Incompatibility: Resolved a known incompatibility issue between the blockifier and cairo-vm versions greater than 0.8.2.

Details

  • Problem: Incompatibility between blockifier and cairo-vm versions greater than 0.8.2, causing excessive memory usage and resulting in Juno process termination.
  • Resolution: Downgraded cairo-vm to version 0.8.2. This approach follows the solution implemented by eqlabs/pathfinder (See PR #1437).
  • Outcome: Resolved the memory management issue and restored stability to the node.

Full Changelog: v0.7.6...v0.7.6-patch1