Releases: eqlabs/pathfinder
v0.16.1
v0.16.0
This is a major release of Pathfinder with significant changes -- the most prominent being adding support for Starknet 0.13.4 and JSON-RPC 0.8.0-rc3.
Our documentation has moved from the README to https://eqlabs.github.io/pathfinder.
Huge thanks to @TropicolX for contributing our new documentation site.
Added
- Support for Starknet 0.13.4.
- Support for the JSON-RPC 0.8.0-rc3 API, including Websocket subscriptions.
- Graceful shutdown upon SIGINT and SIGTERM with a default grace period of 10 seconds, configurable via
--shutdown.grace-period
.
Removed
storage_commitment
andclass_commitment
fields from thepathfinder_subscribe_newHeads
method response.
Fixed
pathfinder_getProof
,pathfinder_getClassProof
returnProofMissing
(10001) when Pathfinder is inarchive
mode and queried block's tries are empty.starknet_syncing
returnsu64::MAX
as the starting block number when starting from scratch.
Changed
- Use aggregate Bloom filters for
starknet_getEvents
to improve performance.
v0.15.3
This is a minor bugfix release. We suggest upgrading if you're running Pathfinder <= 0.15.2.
Changed
- Cairo 0 class definition size is now capped at 4 MiB.
v0.15.2
This is a hotfix release that fixes a serious issue in how Pathfinder 0.15.1 handles L2 reorgs. Please upgrade if you're running Pathfinder 0.15.1. Pathfinder v0.14.x are not affected by the reorg issue.
Fixed
- Pathfinder fails to properly do a reorg due to a SQL statement referring a table that does not exist.
--rpc.get-events-max-uncached-bloom-filters-to-load
setting is ineffective.
v0.15.1
This is a hotfix release. Please upgrade if you're running Pathfinder 0.15.0.
Huge thanks to @xJonathanLEI for fixing the JSON-RPC 0.7 issue introduced in 0.15.0.
Fixed
starknet_getBlockWithReceipts
returnstransaction_hash
within thetransaction
object making the response not strictly spec compliant. Fixed on the JSON-RPC 0.8 interface.- JSON-RPC 0.7 methods returning block headers are including the
l2_gas
property.
Changed
- Pathfinder is now compiled with arithmetic overflow checks enabled in release mode to mitigate potential issues.
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-concurrency
CLI option can be used to limit how many blocks are fetched concurrently (the default is 8). --disable-version-update-check
CLI option has been added to disable the periodic checking for a new version.- Add
pathfinder_getClassProof
endpoint to retrieve the Merkle proof of any class hash in the class trie. - add
process_start_time_seconds
metric showing the unix timestamp when the process started. --log-output-json
CLI 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_getBlockWithTxs
works 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_getEvents
incorrectly returns pending events iffrom_block
is greater than latest_block_number + 1.starknet_getEvents
incorrectly does not return pending events iffrom_block
ispending
andto_block
is missing.
Added
--sync.l1-poll-interval
CLI option has been added to set the poll interval for L1 state. Defaults to 30s.- Support for Starknet 0.13.2.1.