Releases: NethermindEth/juno
v0.12.4
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
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
andtransactionCommitmentPoseidon
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 tov1.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
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 withdeclare class
and ensuring compatibility with Starknetv0.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
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 returns200
if the system is synced within the last six blocks and ready; otherwise, it returns503
. 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 instarknet_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 to0.8.0-rc.2
starknet_api
updated to0.13.0-rc.1
cairo-vm
updated to1.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
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
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
v0.11.8
Key Updates:
- Trace Log Level: Added a "trace" log level to capture all incoming RPC requests, providing more detailed logging than the debug level. (by @KananGiovanni, @LordGhostX in #1822 and #1868)
- P2P Message Size Increase: Increased the possible size of P2P messages, fixing a sync issue on Sepolia at block 57928. (by @kirugan in #1869)
- Update zstd version: Resolved memory management issues, allowing the use of zstd compression. (by @ashu26jha in #1862)
- Deprecated Code Removal: Partially removed deprecated code related to Goerli and Goerli2 networks. (by @stefanalfbo, @pnowosie in #1791, #1808, and #1861)
- Trie Proof Implementation: Implemented
getProof
andverifyProof
methods on the trie. (by @rianhughes in #1852)
Full Changelog: v0.11.7...v0.11.8
v0.11.7
v0.11.6
This release focuses on implementing key fixes and enhancements to streamline functionality.
What's Changed
- Fallback to Feeder Gateway for Traces: Juno can now configure which blocks to fallback to feeder for traces, avoiding issues with tracing buggy blocks. (PR #1823 by @kirugan)
- Default Pending-Poll-Interval: Pending poll is now enabled by default and set to 5s. (PR #1830 by @IronGauntlets)
- Fixed Trace Handling for Pending Transactions: Fixed an issue where tracing pending transactions wasn't possible before. (PR #1833 by @kirugan)
- Refactor RPC Handlers and Tests: Major updates to RPC handlers and RPC tests. (PR #1768 by @pnowosie)
Full Changelog: v0.11.5...v0.11.6
v0.11.5
What's Changed
- Update blockifier to 0.6.0-rc.2: Fixes execution issues for some transactions, significantly improving reliability. PR #1817
- Update pebbledb to 1.1.0: Enhances overall performance. PR #1769
- Fix error message when wrong network flag is provided: Now provides a more helpful error message. PR #1776
- Update starknet_specVersion response for 0.7 handlers: Improves compatibility. PR #1800
Full Changelog: v0.11.4...v0.11.5