github eqlabs/pathfinder v0.17.0

latest releases: v0.20.3, v0.20.2, v0.20.1...
2 months ago

Pathfinder 0.17.0 - Release Notes

This release consolidates all changes from the 0.17.0 beta versions. For detailed information about each version, see the full changelog.

Release Highlights

Testnet Upgrade Deadline

The Starknet testnet will be upgraded to Starknet 0.14.0 on Tuesday, July 7th. Nodes will stop syncing unless upgraded to Pathfinder 0.17.0.

New Major Features

  • Starknet 0.14.0 Support: Initial support for syncing from Starknet 0.14.0 (execution and compilation of new classes may still fail until further upgrades)
  • JSON-RPC 0.8.1 Support: Full support for the latest JSON-RPC specification
  • Pruned Mode: New blockchain history storage option to reduce disk space usage
  • Cairo Native: Enhanced execution engine with improved performance

Experimental Features

⚠️ Pruning is considered experimental and not recommended for production use yet. While it can significantly reduce disk space usage (~75% reduction), it's still being tested and may have edge cases.

What's New in 0.17.0

Added

  • Starknet 0.14.0 Support: Pathfinder now supports syncing from Starknet 0.14.0 (support is still incomplete, execution and compilation of new classes will likely fail for new classes until a further upgrade)
  • Blockchain History Storage: New --storage.blockchain-history CLI option to store only the latest state of the blockchain history
    • "archive" (default) – Full history of the blockchain is stored
    • "N" – An integer specifying the number of historical blocks to store, in addition to the latest block (N + 1 blocks will be stored)
    • Affects 18 JSON-RPC methods including starknet_call, starknet_estimateFee, starknet_getEvents, etc.
    • With pruning enabled, affected JSON-RPC method requests will only succeed if the requested block is within the last N + 1 blocks
    • The choice between archive and pruned mode is made once, when creating the database
  • Enhanced Transaction Status: starknet_getTransactionStatus now returns RECEIVED even when the gateway cannot find the transaction, provided the transaction was successfully sent by the responding node within the last 5 minutes
  • Websocket Historical Messages: New --rpc.websocket.max-history CLI option to configure the number of historical messages to be streamed via the websocket API
    • "unlimited" - All historical messages will be streamed
    • "N" - An integer specifying the number of historical messages to be streamed
    • Defaults to N = 1024 if not specified

Fixed

  • Subscription Issues:
    • starknet_unsubscribe now properly accepts subscription IDs as strings
  • Transaction Processing:
    • starknet_estimateFee failing for Braavos DEPLOY_ACCOUNT transactions involving a new Sierra 1.7.0 class
    • starknet_estimateFee method call fails if the account balance is zero (JSON-RPC v0.8.1)
  • Tracing and Execution:
    • starknet_traceBlockTransactions fails for blocks <= 2687

Changed

  • CLI Options:
    • --rpc.get-events-max-uncached-event-filters-to-load CLI option has been replaced with rpc.get-events-event-filter-block-range-limit for clearer intent
    • The default value of the --sync.poll-interval configuration parameter has been changed to 1 seconds
  • Blockifier Upgrade: blockifier has been upgraded to version 0.15.0-rc.1, adding initial support for Starknet 0.14.0 execution

Removed

  • Deprecated APIs: pathfinder_getProof, pathfinder_getClassProof and pathfinder_getTransactionStatus have been removed (obsoleted by standardized starknet_* APIs)

Breaking Changes

  • Database Schema: The blockchain history storage option requires a new database when switching between archive and pruned modes
  • CLI Options:
    • --rpc.get-events-max-uncached-event-filters-to-load has been renamed to rpc.get-events-event-filter-block-range-limit
    • --rpc.websocket.enabled is now required to enable Websockets
  • Removed Methods: Pathfinder-specific proof and transaction status methods have been removed in favor of standardized APIs

Migration Notes

  • ⚠️ Database Migration: This release requires a database migration that can take several hours on mainnet. Plan your upgrade accordingly.
  • The blockchain history storage mode choice is permanent for a database - it cannot be changed without creating a new database
  • Update any code that uses the removed pathfinder-specific methods to use the standardized starknet_* APIs instead

Performance Improvements

  • Default sync polling interval reduced to 1 second for faster block updates
  • Improved websocket message handling with configurable history limits
  • Enhanced transaction status reporting with better gateway integration
  • Cairo Native execution engine for improved performance

Compatibility

  • Starknet Versions: Supports syncing from Starknet 0.14.0 (incomplete), 0.13.5, 0.13.4
  • JSON-RPC: Full support for JSON-RPC 0.8.1, 0.8.0, 0.7.0 specifications
  • Database: Requires migration for existing databases when using new blockchain history storage features

Don't miss a new pathfinder release

NewReleases is sending notifications on new releases.