|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -## 4.0.0 - [unreleased] |
| 3 | +Please use [this](https://docs.gitlab.com/ee/development/changelog.html) document as guidelines to keep a changelog. |
4 | 4 |
|
5 | | -### Fixed |
| 5 | +## 4.0.0-rc1 - [unreleased] |
6 | 6 |
|
7 | | -* tzkt: Realtime connection watchdog is no longer triggered after TzKT outtage. |
8 | | -* tzkt: Adding many indexes in runtime no longer leads to sending useless subscription requests. |
9 | | -* tzkt: Fixed `get_originated_contracts` and `get_similar_contracts` methods whose output was limited to `batch_size` tunable. |
10 | | -* index: Fixed head index callback invocation. |
11 | | -* coinbase: Candles caching disabled. |
| 7 | +### ⚠ Migration |
12 | 8 |
|
13 | | -### Changed |
| 9 | +* Run `dipdup schema approve --hashes` command on every database you want to use with 4.0.0-rc1. |
| 10 | + |
| 11 | +### Added |
| 12 | + |
| 13 | +* cli: Added `dipdup run --skip-hasura` flag to skip updating Hasura metadata. |
| 14 | +* cli: Added `dipdip run --early-realtime` flag to establish a realtime connection before all indexes are synchronized. |
| 15 | +* cli: Added`dipdup run --merge-subscriptions` flag to subscribe to all operations/big map diffs during realtime indexing. This flag helps to avoid reaching TzKT subscriptions limit (currently 10000 channels). |
| 16 | +* cli: Added `dipdup status` command to print the current status of indexes from database |
| 17 | +* cli: Added `dipdup config export [--unsafe]` command to print config after resolving all links and variables. Add `--unsafe` option to substitute environment variables. |
| 18 | +* cli: Added `dipdup cache show` command to get information about file caches used by DipDup. |
| 19 | +* cli: Added `dipdup schema approve --hashes` flag to recalculate schema and index config hashes on the next run. |
| 20 | +* config: Added `first_level` and `last_level` optional fields to `TemplateIndexConfig`. These limits are applied after ones from the template itself. |
| 21 | +* config: Added `daemon` boolean field to `JobConfig` to run a single callback indefinitely. Conflicts with `crontab` and `interval` fields. |
| 22 | +* config: Added `advanced` top-level section with following fields: |
| 23 | + |
| 24 | +```yaml |
| 25 | +advanced: |
| 26 | + early_realtime: False |
| 27 | + merge_subscriptions: False |
| 28 | + oneshot: False |
| 29 | + postpone_jobs: False |
| 30 | + reindex: |
| 31 | + manual: exception |
| 32 | + migration: wipe |
| 33 | + rollback: ignore |
| 34 | + config_modified: exception |
| 35 | + schema_modified: wipe |
| 36 | + skip_hasura: False |
| 37 | +``` |
| 38 | +
|
| 39 | +`ReindexingRequiredError` exception raised by default when reindexing is triggered. CLI flags have priority over self-titled `AdvancedConfig` fields. |
14 | 40 |
|
15 | | -* cli: `run --oneshot` option is deprecated and will be removed in the next major release. Oneshot mode applied automatically when `first_level` and `last_level` fields are set in index config. |
| 41 | +### Fixed |
| 42 | + |
| 43 | +* cli: Fixed crashes and output inconsistency when piping DipDup commands. |
16 | 44 | * codegen: Fixed missing imports in handlers generated during init. |
| 45 | +* coinbase: Fixed possible data inconsistency caused by caching enabled for method `get_candles`. |
| 46 | +* http: Fixed increasing sleep time between failed request attempts. |
| 47 | +* index: Fixed invocation of head index callback. |
| 48 | +* index: Fixed `CallbackError` raised instead of `ReindexingRequiredError` in some cases. |
| 49 | +* tzkt: Fixed resubscribing when realtime connectivity is lost for a long time. |
| 50 | +* tzkt: Fixed sending useless subscription requests when adding indexes in runtime. |
| 51 | +* tzkt: Fixed `get_originated_contracts` and `get_similar_contracts` methods whose output was limited to `HTTPConfig.batch_size` field. |
| 52 | +* tzkt: Fixed lots of SignalR bugs by replacing `aiosignalrcore` library with `pysignalr`. |
17 | 53 |
|
18 | | -### Added |
| 54 | +### Deprecated |
19 | 55 |
|
20 | | -* cli: New flag `dipdip run --early-realtime` to establish a real-time connection before all indexes are synchronized. |
21 | | -* cli: New flag `dipdup run --skip-hasura` to skip updating Hasura metadata. |
22 | | -* cli: New command `dipdup status` to print the current status of indexes from database |
23 | | -* cli: New command `dipdup config` to print config after resolving all links and variables |
24 | | -* config: Added optional fields `first_level` and `last_level` to `TemplateIndexConfig`. These limits are applied after ones from the template itself. |
| 56 | +* cli: `run --oneshot` option is deprecated and will be removed in the next major release. The oneshot mode applies automatically when `last_level` field is set in the index config. |
| 57 | +* cli: `clear-cache` command is deprecated and will be removed in the next major release. Use `cache clear` command instead. |
25 | 58 |
|
26 | | -### Improved |
| 59 | +### Performance |
27 | 60 |
|
28 | | -* index: Time required to initialize indexes presented in database reduced by ~25%. |
29 | | -* tzkt: Replaced `aiosignalrcore` library with `pysignalr`. |
| 61 | +* config: Configuration files are loaded 10x times faster. |
| 62 | +* index: Number of operations processed by matcher reduced by 40%-95% depending on number of addresses and entrypoints used. |
| 63 | +* tzkt: Rate limit was increased. Try to set `connection_timeout` to a higher value if requests fail with `ConnectionTimeout` exception. |
| 64 | +* tzkt: Improved performance of response deserialization. |
30 | 65 |
|
31 | 66 | ## 3.1.3 - 2021-11-15 |
32 | 67 |
|
|
45 | 80 |
|
46 | 81 | ### Fixed |
47 | 82 |
|
48 | | -* Fixed loss of real-time subscriptions occurred after TzKT API outage. |
| 83 | +* Fixed loss of realtime subscriptions occurred after TzKT API outage. |
49 | 84 | * Fixed updating schema hash in `schema approve` command. |
50 | 85 | * Fixed possible crash occurred while Hasura is not ready. |
51 | 86 |
|
|
86 | 121 |
|
87 | 122 | * Fixed unexpected reindexing caused by the bug in processing zero- and single-level rollbacks. |
88 | 123 | * Removed unnecessary file IO calls that could cause `PermissionError` exception in Docker environments. |
89 | | -* Fixed possible violation of block-level atomicity during real-time indexing. |
| 124 | +* Fixed possible violation of block-level atomicity during realtime indexing. |
90 | 125 |
|
91 | 126 | ### Changes |
92 | 127 |
|
|
0 commit comments