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
uv
supportStarting 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
reportingbatch
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
toevm.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
anddipdup.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.