Releases: NethermindEth/juno
v0.9.3
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
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
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
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
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
In this release, Juno introduces updates focusing on compatibility adjustments.
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
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
returnedTxnExecutionErr
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
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
This version addresses multiple bug fixes in our Starknet JSON-RPC 0.6.0-rc4 implementation.
Key Updates
- Increase Gateway timeout by @omerfirmak in #1504
- Remove juno_getTransactionStatus from Juno RPC spec by @omerfirmak in #1505
- Fix potential nil panic in LegacyTraceTransaction by @omerfirmak in #1506
- Return all execution resources in rpc v0.5 by @joshklop in #1507
- Discard fee unit in legacy estimate message fee by @joshklop in #1509
Full Changelog: v0.8.0-rc1...v0.8.0-rc2
v0.8.0-rc1
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