4.0.0-rc1
Pre-release
Pre-release
4.0.0-rc1 - 2021-12-02
⚠ Migration
- Run
dipdup schema approvecommand on every database you want to use with 4.0.0-rc1. Runningdipdup migrateis not necessary sincespec_versionhasn't changed in this release.
Added
- cli: Added
run --early-realtimeflag to establish a realtime connection before all indexes are synchronized. - cli: Added
run --merge-subscriptionsflag to subscribe to all operations/big map diffs during realtime indexing. This flag helps to avoid reaching TzKT subscriptions limit (currently 10000 channels). - cli: Added
statuscommand to print the current status of indexes from the database. - cli: Added
config export [--unsafe]command to print config after resolving all links and variables. Add--unsafeoption to substitute environment variables. - cli: Added
cache showcommand to get information about file caches used by DipDup. - config: Added
first_levelandlast_leveloptional fields toTemplateIndexConfig. These limits are applied after ones from the template itself. - config: Added
daemonboolean field toJobConfigto run a single callback indefinitely. Conflicts withcrontabandintervalfields. - config: Added
advancedtop-level section with following fields:
advanced:
early_realtime: False
merge_subscriptions: False
oneshot: False
postpone_jobs: False
reindex:
manual: exception
migration: wipe
rollback: ignore
config_modified: exception
schema_modified: wipeReindexingRequiredError exception is raised by default when reindexing is triggered. CLI flags have priority over self-titled AdvancedConfig fields.
Fixed
- cli: Fixed crashes and output inconsistency when piping DipDup commands.
- cli: Fixed
schema wipe --immuneflag being ignored. - codegen: Fixed missing imports in handlers generated during init.
- coinbase: Fixed possible data inconsistency caused by caching enabled for method
get_candles. - hasura: Fixed unnecessary reconfiguration in restart.
- http: Fixed increasing sleep time between failed request attempts.
- index: Fixed invocation of head index callback.
- index: Fixed
CallbackErrorraised instead ofReindexingRequiredErrorin some cases. - tzkt: Fixed resubscribing when realtime connectivity is lost for a long time.
- tzkt: Fixed sending useless subscription requests when adding indexes in runtime.
- tzkt: Fixed
get_originated_contractsandget_similar_contractsmethods whose output was limited toHTTPConfig.batch_sizefield. - tzkt: Fixed lots of SignalR bugs by replacing
aiosignalrcorelibrary withpysignalr.
Changed
- cli:
schema wipecommand now requires confirmation when invoked in the interactive shell. - cli:
schema approvecommand now also causes a recalculation of schema and index config hashes. - index: DipDup will recalculate respective hashes if reindexing is triggered with
config_modified: ignoreorschema_modified: ignorein advanced config.
Deprecated
- cli:
run --oneshotoption is deprecated and will be removed in the next major release. The oneshot mode applies automatically whenlast_levelfield is set in the index config. - cli:
clear-cachecommand is deprecated and will be removed in the next major release. Usecache clearcommand instead.
Performance
- config: Configuration files are loaded 10x times faster.
- index: Number of operations processed by matcher reduced by 40%-95% depending on the number of addresses and entrypoints used.
- tzkt: Rate limit was increased. Try to set
connection_timeoutto a higher value if requests fail withConnectionTimeoutexception. - tzkt: Improved performance of response deserialization.