Release Notes: 7.5

We are happy to announce DipDup 7.5! This release focuses on improving compatibility with various EVM blockchains, performance improvements, and bug fixes.

DipDup has been tested with many EVM networks, both with Subsquid and node datasources. Check out the EVM networks page to see the list of supported networks and their configuration examples.

New config option http.polling_interval allows setting the interval between polling requests. This setting applies only to some datasources in specific cases. For example, when using the evm.subsquid datasource without nodes attached or the evm.node datasource without WebSocket realtime subscriptions.

A bunch of performance improvements have been made in this release. DipDup now indexes EVM chains faster, collects more metrics for memory caches, and is less hungry for resources overall.

The Hasura adapter now supports the bulk request type to apply table customizations faster and organize custom metadata files more conveniently.

Finally, DipDup 6.5, the stable release branch, has reached end-of-life. 6.5.16 is the last release in this branch. Please, follow the 7.0 Migration Guide to upgrade to the latest version.

Changes since 7.4

Added

  • config: Added http.polling_interval option to set the interval between polling requests (some datasources).
  • evm.subsquid: evm.node datasources can be used as index datasources.
  • hasura: Allow bulk request type in custom metadata files.

Fixed

  • abi.etherscan: Raise AbiNotAvailableError when contract is not verified.
  • cli: Fixed incorrect indexer status logging.
  • cli: Improved logging of indexer status.
  • config: Don't raise ConfigurationError from some model validators.
  • config: Fixed crash when database path is relative and nested.
  • config: Fixed issue with from filter being ignored.
  • config: Fixed setting logging levels according to the config.
  • config: Forbid extra arguments in config mappings.
  • deps: Removed pyarrow from dependencies, bumped web3.
  • evm.events: Improve fetching event batches from node.
  • evm.node: Fixed default ratelimit sleep time being too high.
  • evm.node: Fixed memory leak when using realtime subscriptions.
  • evm.node: Fixed processing chain reorgs.
  • evm.node: Fixed updating dipdup_head table when head block is received.
  • evm.node: Respect http.batch_size when fetching block headers.
  • evm.subsquid.events: Fixed matching logs when filtering by topic0.
  • evm.subsquid.transactions: Fixed issue with node_only flag ignored.
  • models: Fixed CachedModel preloading.
  • performance: Fixed estimation indexing speed in levels per second.
  • project: Fixed make image target command.
  • tezos.tzkt.operations: Fixed crash when handler definition contains optional items.
  • tezos.tzkt.operations: Fixed missing operations when handler pattern contains item without entrypoint.

Changed

  • api: /performance endpoint response format has been changed.
  • performance: All time intervals are now measured in seconds.
  • performance: Several metrics have been renamed and new ones have been added.

Performance

  • evm.subsquid: Dynamically adjust the batch size when syncing with node.
  • hasura: Apply table customizations in a single request.
  • performance: Collect hit/miss stats for cached models.
  • performance: Decrease main loop and node polling intervals.
  • performance: Drop caches when all indexes have reached realtime.




See you soon! 👋

DipDup is a free open-source software created by the community and for the community. Join our socials to discuss this release, ask any questions, or participate in development.

Twitter | Discord | GitHub

Help and tips -> Join our Discord
Ideas or suggestions -> Issue Tracker
GraphQL IDE -> Open Playground