Releases: equilibriumco/pathfinder
v0.22.2
Release Highlights
Pathfinder 0.22.2 upgrades the blockifier and related dependencies to the latest version.
Changed
- The
blockifierandstarknet_apicrates have been upgraded to 0.18.0-rc.1.
Added
- Blockifier libfunc list used for compilation verification is now defaulting to
auditedand configurable with the new--blockifier.libfunc-listCLI option.
v0.22.1
Release Highlights
Pathfinder 0.22.1 adds support for JSON-RPC 0.10.2 and compressed gateway requests.
Fixed
- The running Bloom filter for block events is now correctly rebuilt after unexpected shutdowns when blockchain pruning is enabled.
- Preconfirmed classes are not downloaded because
get_class_by_hashforpendingis now mapped tolatest.
Changed
- The
prooffield in broadcasted invoke v3 transactions is now a base64-encoded byte blob (Vec<u8>) instead of base64-encoded packedu32values (Vec<u32>). This reflects the upstream change to use compressed proofs. - The
blockifiercrate has been upgraded to 0.18.0-rc.1 (and its dependencies to match that). - HTTP request bodies for
add_invoke_transactionare compressed withgzipif the transaction contains a nonempty proof. Compression can be disabled in custom networks using thegateway.compress-requestsCLI flag.
v0.22.0
Release Highlights
Pathfinder 0.22.0 adds support for Starknet 0.14.2 and JSON-RPC 0.10.1.
Fixed
- The pre-latest block (introduced in Starknet 0.14.0) is now reported with
PRE_CONFIRMEDfinality
status instead ofACCEPTED_ON_L2. This aligns with the changes to block hash and commitment
calculation in Starknet 0.14.2, where the pre-latest block can no longer be treated as fully
accepted on L2. Affected RPC methods:starknet_getTransactionReceiptstarknet_getTransactionStatusstarknet_subscribeEventsstarknet_subscribeNewTransactionReceiptsstarknet_subscribeNewTransactionsstarknet_subscribeTransactionStatus
Changed
- The v10 JSON-RPC endpoint now supports final JSON-RPC v0.10.1 spec.
blockifierhas been upgraded to 0.18.0-dev.1, ensuring correctness of execution results on Starknet 0.14.2.- Pathfinder requires a Websocket connection to an Ethereum node. Previously we've converted http:// URLs to ws:// - this conversion has been removed, so anyone still using HTTP URLs to their Ethereum node should change it in their configuration.
v0.22.0-beta.3
Release highlights
This is a pre-release version of Pathfinder adding JSON-RPC version 0.10.1-rc.3 support.
Fixed
starknet_traceBlockTransactionsparametertrace_flagsis not optional (as required by the spec).- Starknet 0.14.2 blocks are now using the correct versioned constants.
Changed
- The
--ethereum.urloption now requires a WebSocket URL (ws://orwss://). HTTP/HTTPS URLs are no longer automatically converted to WebSocket and will result in an error. - The Pathfinder binary now has two subcommands:
node- runs the Pathfinder node as before, serving JSON-RPC and syncing with the network.
This is the default subcommand and will run if no subcommand is passed.compile- compile a Sierra class (passed viastdin) to CASM (output tostdout).
Added
- Forwarding gateway HTTP error 413 when handling
starknet_addDeclareTransaction,starknet_addDeployAccountTransactionandstarknet_addInvokeTransaction. - Two new CLI options for the
nodesubcommand:compiler.max-memory-usage-mib- maximum memory usage for the compiler process, in MiB.compiler.max-cpu-time-secs- maximum (active) CPU time for the compiler process, in seconds.
- Pathfinder is now polling for DNS changes for the feeder gateway and gateway host name. By default the host names are resolved every 60s and the HTTP client connection pool is re-created to force reconnecting to the new address. The interval is configurable with the new
--gateway.check-for-dns-updates-intervalCLI option. starknet_getStorageAtnow returns the last update block (in addition to storage value) if theINCLUDE_LAST_UPDATE_BLOCKflag was set in its input.starknet_getStateUpdatenow supports an address filter.
v0.22.0-beta.2
Release highlights
This is a pre-release version of Pathfinder fixing some JSON-RPC version 0.10.1-rc.2 incompatibilities.
Fixed
- JSON-RPC serialization of
INITIAL_READSis not compliant with the specification. Pathfinder returnsstorage_keyproperties for storage reads instead of thekeyproperty required by the spec. starknet_addInvokeTransactionis not forwardingproof_factsproperty to the Starknet gateway.
v0.22.0-beta.1
Release highlights
This is a pre-release version of Pathfinder adding preliminary support for JSON-RPC version 0.10.1-rc.2 and client-side proofs.
❗ This release includes a database migration. ❗ The migration step is pretty much instantaneous, but will prevent older Pathfinder releases from starting up with the upgraded database. If you expect to roll back to a previous version, consider backing up your database before upgrading.
Added
-
Added support for the "return initial reads" feature introduced in JSON-RPC version 0.10.1:
- Added
RETURN_INITIAL_READSflag tostarknet_simulateTransactionsinput simulation flags.
Only supported if JSON-RPC version is 0.10.0 or higher. - Added a
trace_flagsfield tostarknet_traceBlockTransactionsinput. Currently the only available flag isRETURN_INITIAL_READS.
Only supported if JSON-RPC version is V10 or higher.
- Added
-
Preliminary support for JSON-RPC 0.10.1
proof_factsandprooftransaction properties.
Changed
-
starknet_simulateTransactionsnow has a different response format based on whether or not theRETURN_INITIAL_READSflag was set in the input:- If the flag was not set, the response is identical to previous RPC versions (an array of transaction simulations).
- If the flag was set, the response is an object with two fields:
- "simulated_transactions" - an array of transaction simulations (previous RPC version output).
- "initial_reads" - an
INITIAL_READSobject, containing an aggregate of all initial reads for the simulated transactions.
-
starknet_traceBlockTransactionsnow has a different response format based on whether or not theRETURN_INITIAL_READSflag was set in the input:- If the flag was not set, the response is identical to previous RPC versions (an array of transaction traces).
- If the flag was set, the response is an object with two fields:
- "traces" - an array of transaction traces (previous RPC version output).
- "initial_reads" - an
INITIAL_READSobject, containing an aggregate of all initial reads for the traced transactions.
-
starknet_getEventsandstarknet_subscribeEventsnow supports having multiple addresses (represented as an array) in the filter.
v0.21.5
Release highlights
This is a hotfix release that fixes a bug in our HTTP client that has been triggered when gzip compression was enabled on the feeder gateway.
Added
- Support for
deflate-compressed responses from the feeder gateway.
Fixed
- Pathfinder stops syncing on networks where response compression has been enabled on the feeder gateway.
v0.21.4
Release highlights
This is a hotfix release with some execution fixes (to fix the exact same issue Starknet mainnet was experiencing) and adding support for gzip-compressed HTTP responses to the feeder gateway client.
Added
- Support for gzip-compressed responses from the feeder gateway.
- The new
--rpc.native-execution-force-use-for-incompatible-classesCLI option can be used to force use of native execution even for pre-1.7.0 Sierra classes (where fee calculation is known to be inaccurate). Use this flag at your own risk.
Changed
blockifierhas been upgraded to 0.16.0-rc.3.
v0.21.3
Release highlights
This is a hotfix release with some execution fixes, a new JSON-RPC call metric to measure latencies, and JSON-RPC bug fixes.
Added
- The new histogram metric
rpc_method_calls_duration_millisecondshas been added to expose JSON-RPC method call latency data.
Changed
blockifierhas been upgraded to 0.16.0-rc.2.- Pathfinder no longer returns
event_commitmentandtransaction_commitmentvalues for Starknet blocks older than Starknet version 0.13.2.
Fixed
starknet_traceTransactiontimes out for some transactions because fetching transaction traces from the feeder gateway fails due to some unknown fields in the response.
v0.21.2
Release Highlights
This is a hotfix release adding support for the final JSON-RPC 0.10.0 specification.
Changed
- Pathfinder now serves the JSON-RPC 0.10.0 API on the
v0_10routes. - The size of the block trace cache is now configurable by the new
--rpc.block-trace-cache-sizeCLI argument.