Skip to content

Commit

Permalink
Bump version 8.0.0b2 (#1045)
Browse files Browse the repository at this point in the history
  • Loading branch information
droserasprout authored Jun 27, 2024
1 parent 9168948 commit 73d143c
Show file tree
Hide file tree
Showing 111 changed files with 227 additions and 186 deletions.
6 changes: 4 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog], and this project adheres to [Semantic Versioning].

## [Unreleased]
## [8.0.0b2] - 2024-06-27

### Added

- env: Added `DIPDUP_JSON_LOG` environment variable to enable JSON logging.
- cli: Added `--pre` flag to `self` group commands to install pre-release versions.

### Fixed

Expand Down Expand Up @@ -1503,7 +1504,8 @@ This release contains no changes except for the version number.
[semantic versioning]: https://semver.org/spec/v2.0.0.html

<!-- Versions -->
[Unreleased]: https://github.com/dipdup-io/dipdup/compare/8.0.0b1...HEAD
[Unreleased]: https://github.com/dipdup-io/dipdup/compare/8.0.0b2...HEAD
[8.0.0b2]: https://github.com/dipdup-io/dipdup/compare/8.0.0b1...8.0.0b2
[8.0.0b1]: https://github.com/dipdup-io/dipdup/compare/8.0.0a1...8.0.0b1
[7.5.7]: https://github.com/dipdup-io/dipdup/compare/7.5.6...7.5.7
[7.5.6]: https://github.com/dipdup-io/dipdup/compare/7.5.5...7.5.6
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,6 @@ before_release: ## Prepare for a new release after updating version in pyproject
make update
make demos
make test
make docs_build
make docs

##
12 changes: 12 additions & 0 deletions docs/7.references/1.cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,12 @@ Discord: <a class="reference external" href="https://discord.gg/aG
<dd><p>Install DipDup from local path.</p>
</dd></dl>

<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-dipdup-self-install-pre">
<span class="sig-name descname"><span class="pre">--pre</span></span><span class="sig-prename descclassname"></span></dt>
<dd><p>Include pre-release versions.</p>
</dd></dl>

</section>


Expand Down Expand Up @@ -486,6 +492,12 @@ Discord: <a class="reference external" href="https://discord.gg/aG
<dd><p>Force reinstall.</p>
</dd></dl>

<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-dipdup-self-update-pre">
<span class="sig-name descname"><span class="pre">--pre</span></span><span class="sig-prename descclassname"></span></dt>
<dd><p>Include pre-release versions.</p>
</dd></dl>

</section>
</section>
</section>
1 change: 0 additions & 1 deletion docs/7.references/4.models.md
Original file line number Diff line number Diff line change
Expand Up @@ -833,7 +833,6 @@ description: "Models reference"
<dd class="field-odd"><ul class="simple">
<li><p><strong>mainnet</strong> – mainnet</p></li>
<li><p><strong>ghostnet</strong> – ghostnet</p></li>
<li><p><strong>mumbainet</strong> – mumbainet</p></li>
<li><p><strong>nairobinet</strong> – nairobinet</p></li>
<li><p><strong>oxfordnet</strong> – oxfordnet</p></li>
<li><p><strong>parisnet</strong> – parisnet</p></li>
Expand Down
38 changes: 19 additions & 19 deletions docs/8.examples/_demos_table.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
<!-- markdownlint-disable first-line-h1 -->
| name | network | description | source |
|-|-|-|-|
| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_blank) |
| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_evm_events) |
| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_evm_transactions) |
| demo_evm_uniswap | EVM | Uniswap V3 pools, positions, etc. (advanced, uses TimescaleDB) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_evm_uniswap) |
| demo_starknet_events | EVM | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_starknet_events) |
| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_auction) |
| demo_tezos_big_maps | Tezos | Indexing specific big maps | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_big_maps) |
| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_dao) |
| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_dex) |
| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_domains) |
| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_etherlink) |
| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_events) |
| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_factories) |
| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_head) |
| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_nft_marketplace) |
| demo_tezos_raw | Tezos | Process raw operations without filtering and typed payloads | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_raw) |
| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_token) |
| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_token_balances) |
| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b1/src/demo_tezos_token_transfers) |
| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_blank) |
| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_evm_events) |
| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_evm_transactions) |
| demo_evm_uniswap | EVM | Uniswap V3 pools, positions, etc. (advanced, uses TimescaleDB) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_evm_uniswap) |
| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_starknet_events) |
| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_auction) |
| demo_tezos_big_maps | Tezos | Indexing specific big maps | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_big_maps) |
| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_dao) |
| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_dex) |
| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_domains) |
| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_etherlink) |
| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_events) |
| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_factories) |
| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_head) |
| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_nft_marketplace) |
| demo_tezos_raw | Tezos | Process raw operations without filtering and typed payloads | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_raw) |
| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_token) |
| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_token_balances) |
| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0b2/src/demo_tezos_token_transfers) |
16 changes: 8 additions & 8 deletions docs/9.release-notes/1.v8.0.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 8.0.0b1
title: 8.0.0b2
description: DipDup 8.0 release notes
---

Expand All @@ -18,23 +18,23 @@ Welcome to DipDup 8.0 release notes! In this major release, we continue expandin

## GM, Starknet users

[Starknet](https://docs.starknet.io/) is a permissionless zero-knowledge (ZK) rollup that operates on top of Ethereum, enabling dApps to achieve massive computation scale without compromising on Ethereum’s composability and security.
[Starknet](https://docs.starknet.io/) is a permissionless zero-knowledge (ZK) rollup that operates on top of Ethereum, enabling dApps to achieve massive computational scale without compromising on Ethereum’s composability and security.

We welcome Starknet to the big family of DipDup-supported networks! DipDup 8.0 introduces a new index kind `starknet.events` and a new datasource `starknet.subsquid` to work with Starknet events; more data types to come in the future.
We welcome Starknet to the large family of DipDup-supported networks! DipDup 8.0 introduces a new index kind `starknet.events` and a new datasource `starknet.subsquid` to work with Starknet events. More datasources and index kinds will be added soon.

Starknet contracts are written in [Cairo](https://github.com/starkware-libs/cairo), a custom-built and specialized programming language. But as a DipDup user, you don't need to know Cairo to start working with Starknet. Just add the index definition to your project and DipDup will generate Python types and handler stubs for you.
Starknet contracts are written in [Cairo](https://github.com/starkware-libs/cairo), a specialized programming language. It's not EVM-compatible, but many concepts are similar. But as a DipDup user, you don't need to know the difference in detail to start working with Starknet. Just add the index definition to your project, place the contract ABI to `abi/<typename>/cairo_abi.json` and DipDup will generate Python types and handler stubs for you. You can use [Starkscan](https://starkscan.co/contract/0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8#class-code-history) explorer to get the ABI and other information about the contract.

To start creating your indexer, run `dipdup new` and select `demo_starknet_events` project as a template.
To start building your indexer, run `dipdup new` and select the `demo_starknet_events` project as a template.

## Updated Python 3.12 environment

DipDup 8.0 indexers now run on Python 3.12 bringing new language features and performance improvements to the table. Core dependencies were updated to the latest versions. Notable updates include:
One of the DipDup features is a unified Python environment for all projects to simplify project deployment and maintenance. DipDup 8.0 indexers now run on Python 3.12 bringing new language features and performance improvements to the table. Core dependencies have been updated to the latest versions. Notable updates include:

- pydantic 2.7 with significantly faster (de)serialization and powerful validators.
- tortoise-orm 0.21.2 with better Pydantic integration and a bunch of bugfixes and optimizations.
- web3 6.19 with the latest EIP and RPC changes.

See the changelog for the full list. The result is a higher and more consistent indexing throughput. We have no proper benchmarking suite yet (it's hard to define a reliable metric for the indexing framework since performance is highly dependent on the indexer logic itself) but in-vivo tests show 10-20% performance improvement on average.
See the changelog for a full list. One of the side effects of this update is a higher and more consistent indexing throughput. We do not yet have a proper benchmarking suite, but in vivo tests show an average performance improvement of 10-20%. Actual performance depends on the project and the network being indexed. We're still far from the fastest indexers in the competition, but making progress.

## New config specification

Expand Down Expand Up @@ -64,7 +64,7 @@ Existing projects require semi-automatic migration. Please follow the steps belo
<!-- TODO: Remove arguments after dash and subdomain with a stable release -->
1. Make sure you have Python 3.12 installed.
2. Update the current DipDup installation. Run `dipdup self uninstall`, then `curl -Lsf https://dev.dipdup.io/install.py | python3.12 - -f -v 8.0.0b1`.
2. Update the current DipDup installation. Run `dipdup self uninstall`, then `curl -Lsf https://dev.dipdup.io/install.py | python3.12 - --pre`.
3. Enter the project directory, but do not activate the virtual environment. Run the `dipdup migrate` command. It will update your config files and generate a new package structure. Modules requiring manual migration will be moved to `<module>.old` path; leave them as is for now. Review and commit the changes.
4. Run `dipdup init --base --force` command to update pyproject.toml and other metadata files. Recreate and enter the virtual environment. For PDM run `rm -rf .venv pdm.lock && pdm venv create python3.12 && pdm install && $(pdm venv activate)`. For Poetry run `rm -rf .venv poetry.lock && poetry install && poetry shell`. Review and commit the changes.
5. Move the callback function bodies from `<module>.old` to `<module>` files. Review and commit the changes.
Expand Down
1 change: 1 addition & 0 deletions docs/9.release-notes/_8.0_changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

### Added

- cli: Added `--pre` flag to `self` group commands to install pre-release versions.
- cli: Added `--raw` option to `config export` command to dump config preserving the original structure.
- cli: Added `package verify` command to check the package consistency.
- cli: Added full project migration support for 3.0 spec.
Expand Down
2 changes: 1 addition & 1 deletion docs/_curl-spell.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!-- markdownlint-disable first-line-h1 -->
```shell [Terminal]
curl -Lsf https://dev.dipdup.io/install.py | python3.12 -v '8.0.0b1'
curl -Lsf https://dev.dipdup.io/install.py | python3.12 - --pre
```
Loading

0 comments on commit 73d143c

Please sign in to comment.