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
andpruned
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 classstarknet_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 withrpc.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
andpathfinder_getTransactionStatus
have been removed (obsoleted by standardizedstarknet_*
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 torpc.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