Skip to content

Commit a130019

Browse files
8.4 release notes, http URL and config fixes (#1259)
1 parent adb2d0e commit a130019

File tree

26 files changed

+246
-85
lines changed

26 files changed

+246
-85
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic
66

77
Releases prior to 7.0 has been removed from this file to declutter search results; see the [archived copy](https://github.com/dipdup-io/dipdup/blob/8.0.0b5/CHANGELOG.md) for the full list.
88

9-
## [8.4.0] - 2025-05-19
9+
## [8.4.0] - 2025-05-20
1010

1111
### Added
1212

@@ -22,6 +22,7 @@ Releases prior to 7.0 has been removed from this file to declutter search result
2222
- cli: Fixed printing help message when running commands without arguments.
2323
- codegen: Fixed loading ABIs from the project with no ABI datasources configured.
2424
- env: Skip detection of some variables if set explicitly.
25+
- http: Fixed merging request URL with base path.
2526
- project: Fixed `make image` command and default workdir.
2627
- project: Fixed missing codegen headers in project base.
2728
- substrate.node: Fixed event index field.

docs/5.advanced/2.environment-variables.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ You can also access these values as `dipdup.env` module attributes.
4343
You can also create a `dipdup.env` file in the current working directory. This file will be loaded automatically when you run DipDup and take precedence over other sources. This is mostly useful for internal variables.
4444

4545
```shell
46-
## Always run in debug mode
47-
touch dipdup.env
46+
## Enable debug mode for every `dipdup` command from cwd
4847
echo "DIPDUP_DEBUG=1" >> dipdup.env
4948
```
5049

docs/5.advanced/6.sqd-cloud.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ deploy:
3131
postgres:
3232
hasura:
3333
processor:
34-
cmd: ["dipdup", "-c", "squid-cloud", "run"]
34+
cmd: ["dipdup", "-C", "squid-cloud", "run"]
3535
init:
3636
cmd: ["echo", "dipdup"]
3737
```

docs/7.references/2.config.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,6 +1345,24 @@ description: "Config file reference"
13451345

13461346
<dl class="py class">
13471347

1348+
## dipdup.config.WatchdogConfig
1349+
1350+
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">dipdup.config.</span></span><span class="sig-name descname"><span class="pre">WatchdogConfig</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span></dt>
1351+
<dd><p>Config for the watchdog</p>
1352+
<dl class="field-list simple">
1353+
<dt class="field-odd" style="color: var(--txt-primary);">Parameters<span class="colon">:</span></dt>
1354+
<dd class="field-odd"><ul class="simple">
1355+
<li><p><strong>action</strong> – Action to perform when watchdog timeout is reached</p></li>
1356+
<li><p><strong>timeout</strong> – Watchdog timeout in seconds</p></li>
1357+
1358+
<li><p><strong>kwargs</strong> (<em>Any</em>)</p></li>
1359+
</ul>
1360+
</dd>
1361+
</dl>
1362+
</dd></dl>
1363+
1364+
<dl class="py class">
1365+
13481366
## dipdup.config.evm_blockvision.EvmBlockvisionDatasourceConfig
13491367

13501368
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">dipdup.config.evm_blockvision.</span></span><span class="sig-name descname"><span class="pre">EvmBlockvisionDatasourceConfig</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em><span class="sig-paren">)</span></dt>

docs/9.release-notes/1.v8.4.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: "8.4"
3+
description: DipDup 8.4 release notes
4+
---
5+
6+
<!-- markdownlint-disable no-inline-html -->
7+
8+
# Release Notes: 8.4
9+
10+
DipDup 8.4 introduces improvements to environment variable management, a new watchdog service for enhanced reliability, and numerous stability fixes.
11+
12+
## Watchdog service
13+
14+
A new watchdog service has been added to help detect and handle situations where the indexer may become unresponsive. Common causes for the indexer hanging include:
15+
16+
- Long-running callback functions. Possible causes include infinite loops, heavy computations, or blocking I/O operations.
17+
- Stalled SQL transactions, which can occur due to deadlocks or long-running queries.
18+
- Unresponsive Websocket connections (ping-pong successful but no data received).
19+
20+
The watchdog monitors these triggers and take action if they exceed a specified timeout. Actions can be set to `warning`, `exception`, or `ignore` for each type.
21+
22+
Example configuration with default values:
23+
24+
```yaml
25+
advanced:
26+
watchdog:
27+
callback:
28+
action: warning
29+
timeout: 10
30+
transaction:
31+
action: warning
32+
timeout: 10
33+
websocket:
34+
action: warning
35+
timeout: 60
36+
```
37+
38+
## Managing env variables
39+
40+
### Envvfile generation
41+
42+
Before this release, DipDup used `.env.default` files to help users manage environment variables. These files were automatically generated on every `init` call and included in the project package. When setting up new environments, users were expected to copy the `.env.default` file to `.env` and modify it as needed. This approach had several drawbacks:
43+
44+
- `.env.default` stubs could easily become outdated, leading to potential misconfiguration.
45+
- Including any envfile-alike files in the project package increased the risk of accidentally committing secrets to git.
46+
47+
In this release, `.env.default` files have been removed. Instead, use the `config env` command to manage environment variables in a more robust and flexible way. It ensures that your environment is always up to date, allows you to resolve the current environment, chain configuration files as needed, and add internal `DIPDUP_` variables.
48+
49+
```shell [Terminal]
50+
# Show variables used in the root config
51+
dipdup config env
52+
53+
# Create a new envfile for `compose` environment
54+
dipdup -C compose config env -o .env
55+
56+
# Add another config to the chain and include internal variables
57+
dipdup -C compose -C dev config env -o .env --internal
58+
```
59+
60+
### `dipdup.env` file
61+
62+
Now you can create a `dipdup.env` file in the current working directory. It will be loaded automatically when you run DipDup and take precedence over other sources. This is mostly useful for internal variables.
63+
64+
```shell
65+
## Enable debug mode for every `dipdup` command from cwd
66+
echo "DIPDUP_DEBUG=1" >> dipdup.env
67+
```
68+
69+
{{ #include 9.release-notes/_8.4_changelog.md }}
70+
{{ #include 9.release-notes/_footer.md }}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)