Releases: eqlabs/pathfinder
v0.14.5
This is a hotfix release. Please upgrade if you're running Pathfinder <= 0.14.4.
Fixed
- Pathfinder is now compiled with arithmetic overflow checks enabled in release mode to mitigate potential issues.
v0.15.0
This is a major release of Pathfinder with significant changes:
- Significant improvement in sync performance (making re-sync or catching up significantly faster).
- Pathfinder now requires a Websocket connection to an Ethereum node (
wss://URL). - JSON-RPC 0.4.0 and 0.5.0 API support has been removed.
- Preliminary support for the JSON-RPC 0.8.0-rc1 API version has been added. Due to some missing under-the-hood changes not all features are currently supported (for example, L2 gas related fields have invalid values but are present in responses).
Upgrading to 0.15.0 from a previous release will perform a quick database migration. Reverting to Pathfinder <0.15.0 will require a backup of the database before the migration has been completed.
Huge thanks to first-time contributors @odesenfans, @apoorvsadana, @whichqua and @mcdee.
Added
- Pathfinder now fetches data concurrently from the feeder gateway when catching up. The
--gateway.fetch-concurrencyCLI option can be used to limit how many blocks are fetched concurrently (the default is 8). --disable-version-update-checkCLI option has been added to disable the periodic checking for a new version.- Add
pathfinder_getClassProofendpoint to retrieve the Merkle proof of any class hash in the class trie. - add
process_start_time_secondsmetric showing the unix timestamp when the process started. --log-output-jsonCLI option has been added to output the Pathfinder log in line-delimited JSON.- Preliminary support has been added for the new JSON-RPC 0.8.0-rc1 specification.
Changed
- Ethereum RPC API now requires Websocket endpoints (prev. HTTP). If an HTTP url is provided instead, Pathfinder will attempt to connect vía Websocket protocol at that same url.
- JSON-RPC API version 0.4 and 0.5 support have been removed.
- JSON-RPC API version 0.7 is now served by default on the
/path.
Fixed
starknet_getBlockWithTxsworks with empty blocks`
v0.14.4
This is a hotfix release addressing an issue that prevents Pathfinder from syncing Sepolia testnet past block 218483.
❗ ❗ Please upgrade to this release if you're running Pathfinder with the Sepolia testnet. ❗ ❗
Fixed
- Pathfinder stops syncing Sepolia testnet at block 218484 because of a block hash mismatch.
v0.14.3
This is a hotfix release addressing an issue that could cause potential Merkle tree corruption during L2 reorgs.
❗ ❗ Please upgrade to this release if you're running Pathfinder in pruned mode. ❗ ❗
Fixed
- Pathfinder sometimes corrupts its Merkle trie storage during reorgs, leading to later failures with errors like “Node X at height Y is missing” or “Stored node’s hash is missing.
v0.14.2
This is a hotfix release fixing some JSON-RPC API issues and a configuration issue.
Huge thanks to @lambda-0x for reporting and fixing the starknet_getEvents inconsistencies.
Fixed
- Pathfinder sometimes returns an INVALID_CONTINUATION_TOKEN error when requesting events from the pending block and providing a continuation token.
starknet_getEventsincorrectly returns pending events iffrom_blockis greater than latest_block_number + 1.starknet_getEventsincorrectly does not return pending events iffrom_blockispendingandto_blockis missing.
Added
--sync.l1-poll-intervalCLI option has been added to set the poll interval for L1 state. Defaults to 30s.- Support for Starknet 0.13.2.1.
v0.14.1
This is a hotfix release fixing some JSON-RPC API issues and a configuration issue.
Fixed
- Pathfinder does not properly limit the number of concurrent executors when using the
--rpc.execution-concurrencyCLI option. - Pathfinder returns non-conforming
STRUCT_ABI_ENTRYobjects in response tostarknet_getClassrequests. - Pathfinder returns
starknet_getStateUpdateresponses that are non-conformant with the specification if there are replaced classes in the response.
v0.14.0
This release of Pathfinder adds support for Starknet 0.13.2.
Added
- Support for Starknet v0.13.2.
- Pathfinder now creates a new directory if the database path specified does not exist.
- Pathfinder now has a CLI option (
--rpc.custom-versioned-constants-json-path) to allow loading a custom versioned constants JSON file. When specified the contents of the file is then used instead of the latest constants built into the blockifier crate during execution of Cairo code.
Fixed
- Pathfinder exits with an error when detecting a one-block reorg if
--storage.state-triesis set to0. - Pathfinder returns an internal error for
starknet_getTransactionReceiptrequests wherestepswould be zero in COMPUTATION_RESOURCES.
v0.13.2
This is a hotfix release fixing some JSON-RPC API issues.
Fixed
starknet_getTransactionReceiptresponses are missing thepayloadproperty inMSG_TO_L1objects on the JSON-RPC 0.7 interface.starknet_traceTransactionandstarknet_traceBlockTransactionsreturns L2 to L1 messages from inner calls duplicated.
v0.13.1
This release fixes serialization problems with response objects of starknet_getTransactionReceipt calls.
Fixed
starknet_getTransactionReceiptresponses are not compliant with the JSON-RPC specification:- L1 handler receipts throw an internal error
execution_statusandrevert_reasonproperties are missing
v0.13.0
This release adds new features to our Websocket API:
- The
pathfinder_subscribemethod can now be used to subscribe to new events and transaction status updates. For more information on the new subscription types please check our OpenRPC API specifications. - Starknet JSON-RPC API methods are now accessible via Websocket connections. To support multiple versions of the JSON-RPC API we've added new, versioned Websocket API endpoints.
We've also implemented further improvements to how we store transaction data in our storage implementation, leading to requiring approximately 80 GiB less disk space for an up-to-date mainnet database.
Running this release will perform a few database migration steps upon first startup, which may take a significant amount of time (up to multiple hours for a mainnet database, depending on the hardware you're running on). Reverting to pathfinder 0.12.0 will require a backup of the database before the migration has been completed.
Fixed
starknet_getBlockWithTxHashesandstarknet_getBlockWithTxsreturns the pending block with astatusproperty that's not in the JSON-RPC specification. This has been fixed for the JSON-RPC 0.7 API endpoint.starknet_traceBlockTransactionsandstarknet_traceTransactionnow falls back to fetching the trace from the feeder gateway for all blocks before Starknet 0.13.1.1.
Added
/ready/syncedendpoint to check if the JSON RPC API is ready and also check if the node is synced. Useful for Docker nodes which only want to be available after syncing.- Websocket endpoints now serve all JSON-RPC methods, not just
pathfinder_subscribeandpathfinder_unsubscribe. Version-specific endpoints have been added for the 0.6 and 0.7 JSON-RPC API and the Pathfinder extension API. - Websocket endpoint for subscribing to events and transaction status changes.
Changed
- Improved compactness of transaction and nonce data, resulting in noticeable storage savings.