Release Notes: 8.2

We're excited to present DipDup 8.2! This release brings several notable improvements:

  • New: Substrate network event indexing
  • Starknet enhancements
  • uv package manager support
  • Various bug fixes

While this release marks a significant milestone for us, we've kept it as a minor version since it maintains full backward compatibility. You can start working with Substrate data in your existing projects right after updating.

Indexing Substrate events

New to DipDup and ready to dive in? Check out our Substrate Quickstart Guide!

If you're familiar with DipDup, the process will feel familiar - it's similar to working with EVM and Starknet networks. Just run dipdup new for interactive project setup, configure your URLs/variables/addresses (pallets in this case), execute dipdup init, and you're all set.

We now support three Substrate data sources:

  • Squid Network (formerly Subsquid) delivers compressed historical data (fast, but with a delay)
  • Substrate node RPC handles the latest and real-time blocks (slower but immediate)
  • Optional Subscan API connector speeds up project initialization

Starknet improvements

Our Starknet support keeps getting better. Now you can fetch contract ABIs directly from the Starknet node instead of putting them into the project manually (requires starknet.node datasource configured). Plus, all complex Starknet types now parsed correctly.

uv support

Starting thom this release, DipDup defaults to uv for new projects, a powerful and extremely fast package manager for Python.

We're also planning to adopt uv as pipx replacement for standalone installations (installer script and dipdup self commands).

7.5 branch EOL

DipDup 7.5, our previous major release, has reached end-of-life. We recommend upgrading to the latest version to access new features and bug fixes.

Going forward, we'll focus on supporting only the latest major version to reduce maintenance overhead. Any breaking changes will be introduced gradually and can be enabled using the DIPDUP_NEXT environment variable.

Changes since 8.1

Added

  • cli: Rewritten interactive mode for new command.
  • evm.blockvision: Added evm.blockvision datasource to fetch ABIs from Blockvision API.
  • evm.sourcify: Added evm.sourcify datasource to fetch ABIs from Sourcify API.
  • project: Support uv package manager in the default project template.
  • starknet.node: Added methods for fetching contract ABIs for init command.
  • substrate.events: Added subtrate.events index kind to process Substrate events.
  • substrate.node: Added subtrate.node datasource to receive data from Substrate node.
  • substrate.subscan: Added substrate.subscan datasource to fetch ABIs from Subscan.
  • substrate.subsquid: Added substrate.subsquid datasource to fetch historical data from Squid Network.

Fixed

  • cli: Fixed help message on CallbackError reporting batch handler instead of actual one.
  • coinbase: Fixed crash when using coinbase datasource.
  • database: Don't process internal models twice if imported from the project.
  • evm.node: Fixed crash when block range goes out of bounds.
  • evm.subsquid: Fixed event/transaction model deserialization.
  • starknet.node: Fetch missing block timestamp and txn id when synching with node.
  • starknet: Process all data types correctly.
  • substrate.subsquid: Fixed parsing for __kind junctions with multiple keys.
  • substrate.subsquid: Fixed parsing nested structures in response.

Changed

  • env: Database migrations with aerich require DIPDUP_MIGRATIONS variable to be set.
  • evm.etherscan: Datasource has been renamed from abi.etherscan to evm.etherscan for consistency.
  • project: Expose Prometheus and internal API ports in default sqlite environment.
  • project: Set default PostgreSQL password and Hasura secret (both are changeme) for new projects.
  • project: Use PostgreSQL 16 image for new projects.

Deprecated

  • package: DipDup packages are expected to have pyproject.toml and dipdup.yaml files in the root directory. This will become a requirement in 9.0.

Other

  • deps: tortoise-orm updated to 0.24.0.




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