Releases: NethermindEth/juno
v0.14.3
This release focuses on RPC stability, accuracy improvements, and full support for JSON-RPC 0.8.1.
Breaking Changes
⚠️ New Versioned Constants Map
Modified custom versioned constants handling: If you use custom versioned constants, you'll need to update your configuration to match the new structure.
Now, instead of needing to specify a version file directly, specify a .json
file which holds each version to override. For example:
{
"0.13.2": "<path to versioned constant file>",
"0.13.2.1": "<path to versioned constant file>"
}
The node will use the default versioned constants for unspecified versions.
⚠️ New RPC v0.8.1
Support for JSON-RPC 0.8.1 introduced an incompatible change: WebSocket subscription_id
s are now strings instead of integers.
Added
- Flexible Feeder Gateway Timeouts: Introduced a new
--gw-timeouts
flag to improve resilience when fetching data from the feeder gateway. It allows fine-grained control over timeout behavior in case of retries:- Single value (e.g.,
5s
): Starts with this timeout and increases it with each retry. - Comma-separated list (e.g.,
5s,10s,20s
): Uses each value in order on subsequent retries. - Trailing comma (e.g.,
5s,
): Reuses the same timeout value for every retry without dynamic backoff.
This makes it easier to tune the node's behavior in high-latency or unstable network conditions.
- Single value (e.g.,
- Enhanced versioned constants:
CUSTOM_VERSIONED_CONSTANTS
now stores a map of custom files, fetching from this map first before falling back toblockifier
for versions not in the map. - JSON-RPC 0.8.1 support (spec link)
Fixed
- Event filtering now correctly handles processed events when starting from a pending state
- Storage proof generation properly returns
BLOCK_NOT_FOUND
in specific edge cases (RPC v0.8.0) - Empty storage keys in
getStorageProof
requests no longer cause errors (RPC v0.8.0) - Improved L1 interaction with more reliable finalized block retrieval
- Fixed a race condition in
starknet_getStorageProof
where new head blocks ingested during execution could lead to incorrect results - Corrected pending header setup to prevent inaccurate fee estimates in
starknet_estimateFee
- Fixed incorrect gas estimation in
starknet_estimateFee
whenresource_bounds.l2_gas
was set (RPC v0.6.0/v0.7.0)
Full Changelog: v0.14.2...v0.14.3
v0.14.3-rc2
This release focuses on RPC accuracy improvements and smarter handling of feeder gateway request timeouts.
Added
- Flexible Feeder Gateway Timeouts: The
--gw-timeouts
flag now offers flexible configuration for request timeouts. You can specify timeouts in three ways:- Single value (e.g., 5s): After each failed request, the timeout will increase dynamically.
- Comma-separated list (e.g., "5s,10s,20s"): Each timeout value in the list will be used sequentially after failures.
- Single value with a trailing comma (e.g., 5s,): A fixed timeout will be used for all requests without dynamic adjustments. (#2691)
Fixed
- Incorrect gas estimation when
l2_gas
is set: Fixed a bug wherestarknet_estimateFee
returned wronggas_consumed
ifresource_bounds.l2_gas
wasn't 0. Affected RPC v6 and v7 (#2703).
Full Changelog: v0.14.3-rc1...v0.14.3-rc2
v0.14.3-rc1
This release includes important RPC bug fixes that improve data consistency and fee estimation.
Fixed
- A race condition in starknet_getStorageProof where a new head block ingested during execution could cause incorrect results
- Incorrect pending header setup causing bad fee estimates in starknet_estimateFee
Full Changelog: v0.14.3-rc0...v0.14.3-rc1
v0.14.3-rc0
This release focuses on RPC stability improvements and bug fixes.
- Modified custom versioned constants handling: If you use custom versioned constants, you'll need to update your configuration to match the new structure.
Changed
- Enhanced versioned constants: CUSTOM_VERSIONED_CONSTANTS now stores a map of custom files, fetching from this map first before falling back to blockifier for versions not in the map.
- Updated to Go 1.24
- HTTP timeout defaults for better connection handling
Fixed
- Event filtering now correctly handles processed events when starting from pending state
- Storage proof generation properly returns BLOCK_NOT_FOUND in specific edge cases (RPC v8)
- Empty storage keys in getStorageProof requests no longer cause errors (RPC v8)
- Improved L1 interaction with more reliable finalized block retrieval
Full Changelog: v0.14.2...v0.14.3-rc0
v0.14.2
This release restores backward compatibility for RPC v0.6 and v0.7 by reverting the change to the revert_error
message in the starknet_call
response when an entry point is not found.
Fixed
- RPC v0.6 / v0.7: Restored the previous error message for missing entry points in
starknet_call
(#2650) by @AnkushinDaniil
Full Changelog: v0.14.1...v0.14.2
v0.14.1
This release addresses an issue with traceBlockTransactions
failing due to class caching issues triggered by specific RPC call sequences.
Fixed
- RPC v0.6: Issue with pending blocks in
TransactionReceiptByHash
method (#2642) by @hudem1 - Tracing: Fixed class cache poisoning causing failures in
traceBlockTransactions
(#2644) by @infrmtcs
Full Changelog: v0.14.0...v0.14.1
v0.14.0
New release to support Starknet v0.13.5.
The changes from the previous release (v0.13.3) to this are small but still very important. We decided to name it v0.14.0 instead of v0.13.4 to give a clear vision that the previous release wouldn't support the latest version of Starknet.
You must upgrade to this release before Starknet 0.13.5 is rolled out on the testnets and mainnet.
Added
- Support for Starknet v0.13.5: Ensuring compatibility with the latest Starknet version.
Fixed
- Transaction status subscription hanging: Resolved an issue where the subscription for the starknet_subscribeTransactionStatus method could get stuck.
Full Changelog: v0.13.3...v0.14.0
v0.13.3
This release includes several important fixes to improve RPC stability and transaction handling.
Fixed
- Fixed fee estimation issues:
- Resolved failures due to absence of L1 data gas
- Corrected VM versioned constants selection for accurate fee calculation
- Fixed extremely large
gas_consumed
values instarknet_estimateFee
andstarknet_simulate
responses
- Fixed transaction trace format to match specifications across all RPC versions
- Resolved JSON marshalling errors in
starknet_call
for RPC v6-7 that caused empty responses - Added proper
ENTRYPOINT_NOT_FOUND
error handling forstarknet_call
Full Changelog: v0.13.2...v0.13.3
v0.13.2
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
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
instarknet_getBlockWithReceipts
for v0_7 compatibility (#2528)
Full Changelog: v0.13.0...v0.13.1