Skip to content

Releases: eqlabs/pathfinder

v0.2.6-alpha

20 Jul 15:53
2b9c6cb
Compare
Choose a tag to compare

The release upgrades cairo-lang used in starknet_call and starknet_estimateFee to the latest version.

Changed

  • fix(sync): write transactions are started as write transactions instead of deferred #454
  • chore(py): upgrade to cairo-lang 0.9.1 #463

Full Changelog: v0.2.5-alpha...v0.2.6-alpha

v0.2.5-alpha

13 Jul 12:14
a4d0daf
Compare
Choose a tag to compare

Release aiming to support upcoming starknet-0.9.1, no external changes. Everyone must upgrade to this version before testnet and mainnet are upgraded in order to not break syncing to latest blocks.

added

  • support for starknet 0.9.1 release #448

changed

  • feat: reduce mainnet poll interval from 15 minutes to 5 minutes #443

fixed

  • fix: wal config in --help suggests wrong options #442

Full Changelog: v0.2.4-alpha...v0.2.5-alpha

v0.2.4-alpha

05 Jul 10:40
a112f11
Compare
Choose a tag to compare

v0.2.4-alpha

added

  • --sqlite-wal option for more concurrent database access #405, #413
    • this improves the RPC throughput for non-cairo-vm queries, and prevents high latency spikes during block update writes
    • option must not be turned on when data is on network filesystem (nfs)
    • option defaults to false, but may become true in a future release
  • verify database matches the given Ethereum network #397
  • verify that the data directory is writeable by pathfinder #421
  • provide a hint with address already in use solutions #427
  • log starknet_call and starknet_estimateFee failures #416
    • these logs can be enabled by adding pathfinder_lib::cairo::ext_py[stderr]=debug to the RUST_LOG environment variable, e.g. RUST_LOG=info,pathfinder_lib::cairo::ext_py[stderr]=debug

changed

  • more informative error messages with hints #423

removed

  • additional debug information for L1 sync issue #435
  • documentation referring to already removed ethereum.user-agent option #414

fixed

  • event ordering #434
    • event's were being ordered by transaction hash instead of index
  • download missing declare-only classes #407, #436
    • the missing classes will be downloaded on startup
  • fix gas_consumed of starknet_estimateFee #429
  • stop retrying when fetching initial L1 chain_id on permission denied #423
  • starknet_getClass and starknet_getClassAt wrong return type #408

v0.2.3-alpha

23 Jun 12:02
266cbf9
Compare
Choose a tag to compare

Big feature release, added new rpc endpoints and configurability.

Added

  • feat(rpc): starknet_estimateFee #388 #400
    • Note: there is a known issue where contracts involving a library_call are currently not supported. This limitation also applies to starknet_call. A fix for this is planned for the next release.
  • feat(sync): Verify block hashes #308
  • feat(rpc): starknet_{call,estimateFee} will now return INVALID_ENTRY_POINT errors #396
  • feat(storage): use a connection pool for RPC queries #347
    • This improves the performance of the RPC server significantly, and should see a large CPU usage reduction when under load.
  • feat(sync): support sequencer url configuration #379
    • This is useful if using a proxy in front of the Starknet Gateway.
  • feat(rpc): starknet_{getClass,getClassHashAt,getClassAt} #350
  • feat(cli): --python-subprocesses <NUM> configuration option #385

Changed

  • feat(sync): accounting for L1 reorg bug tracking #382 related to #381

Full Changelog: v0.2.2-alpha...v0.2.3-alpha

v0.2.2-alpha

13 Jun 14:28
Compare
Choose a tag to compare

Fixes

  • event addresses are stored incorrectly (#349 #351 #357)
    • The database migration for this fix can take a while to run, depending on your hardware. It took 2-7min on our developer machines for 200k blocks.
  • submitting deploy transaction calldata as hex instead of decimal (#370)
  • misleading hex parsing error message (#366)
  • starknet_addDeclareTransaction incorrectly requires abi field (#371)
  • docs: add addDeclareTransaction to readme (#358)

Internal improvements

  • stop relying on unstable rowid as a primary key (#360)
  • fix get_block_xxx using two database transactions (#359)
  • improve docker workflow flexibility (#356)
  • update test fixtures to match 0.9.0 variants (#364)
  • hoist tracing spans into spawn_blocking (#362)

New Contributors

Special thanks to @xJonathanLEI for uncovering bugs and inconsistencies fixed in this release, as well as his own contribution to pathfinder in #366.

Full Changelog: v0.2.1-alpha...v0.2.2-alpha

v0.2.1-alpha

07 Jun 13:40
Compare
Choose a tag to compare

Fixes

  • docker image cannot run without cmd line args (#345)
  • stored event address is using transaction address (#346)
    • Unfortunately this means all event addresses are incorrect; a migration to fix this form part of the next release
  • RPC call method using latest uses sequencer (#348)
    • This now correctly executes against the node's local storage

Internal changes

  • chore: upgrade regex dependency to resolve CVE (#344)
    • A look into our usage reveals this CVE does not impact us; but still good to upgrade regardless. See here for more information on the CVE.
  • chore: improve depedency resolution for jsonrpc (#343)

Full Changelog: v0.2.0-alpha...v0.2.1-alpha

v0.2.0-alpha

06 Jun 20:00
4c7018a
Compare
Choose a tag to compare

The release is mainly an upgrade adding support for cairo-lang 0.9.0 and starknet 0.9.0. We have made breaking changes and so this is a minor version upgrade compared to previous patch level upgrades. Until 1.0.0 version is released we will be bumping the minor version on any breaking changes (rpc api or configuration).

Added

  • starknet_addDeclareTransaction json-rpc method (#318)

Breaking changes

Docker entrypoint

The docker entrypoint now includes the pathfinder binary (#335) which better adheres to the docker best practices.

What this means in practice, is that one no no longer needs to specify the binary path when running pathfinder with docker. For example,

docker run ... eqlabs/pathfinder /usr/local/bin/pathfinder --version

becomes

docker run ... eqlabs/pathfinder --version

RPC API: nulls are now omitted

Optional values in the JSON-RPC API are no longer returned if they are None (#323, #330). Previously these were returned as null.

Other Changes

Removed

  • eth.user-agent configuration option (#325)

Full Changelog: v0.1.11-alpha...v0.2.0-alpha

v0.1.11-alpha

25 May 19:28
3c09523
Compare
Choose a tag to compare

The release is mainly a bugfix release. We suggest everyone upgrades to it as soon as possible. Please see our repository README.md for docker and building from source instructions.

Changed

  • Docker images now use Rust 1.61.0 from 1.59.0 (#289, #302)
    • Cargo.toml requirement is unchanged (1.58.0)
  • Docker images are upgraded to latest system packages before builds (#302)
  • Split the internal pedersen crate into stark_curve and stark_hash crates (#282)

Fixed

  • In starknet_syncing the highest values were lagging current near head of the chain (#296, #298)
    • It is still possible to receive incoherent values from starknet_syncing after detecting a reorg and before continuing over it
  • Reorgs failed and stopped the process when using a snapshot provided by the team (#299)
    • Fix requires a database migration performed during startup, which can take a while
  • README.md and --help disagreed on default rpc server binding address, removed environment variable table, expanded configuration section (#300, #307)
  • --help for --data-directory had wrong format for value (path) (#301)
  • rpc_examples.sh contained a non-functional example for starknet_addInvokeTransaction (#305)

v0.1.10-alpha

12 May 12:20
b3671fe
Compare
Choose a tag to compare

Fixes

  • Sync status highest block number not updating

Full Changelog: v0.1.9-alpha...v0.1.10-alpha

v0.1.9-alpha

11 May 11:01
Compare
Choose a tag to compare

Features

  • Support StarkNet 0.8.2 changes
  • Pathfinder release monitoring
    • Pathfinder actively monitors github for new releases
    • A warning level log will be emitted if a new release is detected
  • Support data directory config item
  • Set user-agent in L1 and L2 queries
    • the Ethereum user-agent config item is now deprecated
  • Add block numbers to sync status API
  • Improve readme documentation
  • Support deploy and invoke transactions via RPC API

Fixes

  • Fix transaction receipts not containing events
  • Dramatically improve RPC performance for block-related queries
  • Improve retry logic for L1 and L2 queries
    • Drastically reduces how much pathfinder nodes spam during transient network events
    • Remove a tight retry-loop for decoding
    • Adhere to rate-limiting
  • Change reorg events severity from warn to info

Full Changelog: v0.1.8-alpha...v0.1.9-alpha