@blinklabs/dingo 0.25.1 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/RELEASE_NOTES.md CHANGED
@@ -1,6 +1,76 @@
1
1
  # Release Notes
2
2
 
3
3
 
4
+ ## v0.26.0 (March 14, 2026)
5
+
6
+ **Title:** Trusted Mithril downloads and tuned peers
7
+
8
+ **Date:** March 14, 2026
9
+
10
+ **Version:** v0.26.0
11
+
12
+ Hi folks! Here’s what we shipped in v0.26.0.
13
+
14
+ ### ✨ What's New
15
+
16
+ - **End-to-end Mithril verification:** Mithril downloads are more rock-solid because Dingo now verifies the full certificate chain and signatures using genesis keys from your Cardano configuration.
17
+
18
+ ### 💪 Improvements
19
+
20
+ - **Peer governor tuning:** Peer connectivity is easier to tune because you can now adjust peer-governor settings, including hot-peer promotion behavior and its defaults.
21
+
22
+ ### 🔧 Fixes
23
+
24
+ - **No fixes:** No user-facing fixes shipped in this release.
25
+
26
+ ### 📋 What You Need to Know
27
+
28
+ - **Release notes:** Release notes are easier to scan because `RELEASE_NOTES.md` now includes an entry for v0.25.1.
29
+
30
+ ### 🙏 Thank You
31
+
32
+ Thank you for trying!
33
+
34
+ ---
35
+
36
+ ## v0.25.1 (March 13, 2026)
37
+
38
+ **Title:** Configurable storage and smoother sync
39
+
40
+ **Date:** March 13, 2026
41
+
42
+ **Version:** v0.25.1
43
+
44
+ Hi folks! Here’s what we shipped in v0.25.1.
45
+
46
+ ### ✨ What's New
47
+
48
+ - **Configurable data directory:** Running in different environments is easier because you can now choose where the node stores its data on disk with `--data-dir`.
49
+ - **Built-in Mithril bootstrap:** Containerized bootstrapping is simpler because Dingo can now spin up Mithril sync without an external client.
50
+ - **Expanded architecture docs:** Understanding the system is easier because `ARCHITECTURE.md` now includes clearer diagrams and explanations.
51
+
52
+ ### 💪 Improvements
53
+
54
+ - **Idle connection stability:** Long-running connections are more rock-solid because idle sessions are less likely to be dropped unexpectedly.
55
+ - **Resilient sync across reconnections:** Sync is more rock-solid because chainsync and blockfetch handle connection switches more reliably.
56
+ - **Blockfetch overhead:** Observability is sleeker because blockfetch avoids extra work when no one is listening for events.
57
+ - **Dependencies:** Builds are more solid because dependencies were refreshed for consistency.
58
+
59
+ ### 🔧 Fixes
60
+
61
+ - **Release notes alignment:** Tracking changes is easier because release documentation now matches shipped content.
62
+
63
+ ### 📋 What You Need to Know
64
+
65
+ - **Upgrade:** You’re all set—no required configuration changes for this release.
66
+ - **Custom storage path:** If you want to store node data somewhere else, pass `--data-dir <path>` at startup.
67
+
68
+ ### 🙏 Thank You
69
+
70
+ Thank you for trying!
71
+
72
+ ---
73
+
4
74
  ## v0.25.0 (March 12, 2026)
5
75
 
6
76
  **Title:** Trusted replay verification and peer counts
@@ -1,15 +1,15 @@
1
- # Dingo Targeted Performance Baseline
1
+ # Targeted Runtime Baseline
2
2
 
3
3
  ## Latest Results
4
4
 
5
5
  ### Test Environment
6
- - **Date**: March 10, 2026
6
+ - **Date**: March 14, 2026
7
7
  - **Go Version**: 1.25.8
8
8
  - **OS**: Linux
9
9
  - **Architecture**: aarch64
10
10
  - **CPU Cores**: 128
11
- - **Data Source**: Real immutable testdata blocks from database/immutable/testdata
12
- - **Scope**: Current optimization baseline for core/api ingest, block processing, and batched load paths
11
+ - **Data Source**: database/immutable/testdata
12
+ - **Scope**: BP runtime path
13
13
 
14
14
  ### Benchmark Results
15
15
 
@@ -17,47 +17,51 @@ All benchmarks run with `-benchmem` flag. Iterations are Go benchmark iteration
17
17
 
18
18
  | Benchmark | Iterations | Time/op | Extra Metrics | Memory/op | Allocs/op |
19
19
  |-----------|------------|---------|---------------|-----------|-----------|
20
- | Block Batch Processing Throughput | 3 | 592689ns | 84361 blocks/sec | 91KB | 2088 |
21
- | Block Processing Throughput | 3 | 214857ns | 4654 blocks/sec | 26KB | 137 |
22
- | Block Processing Throughput Predecoded | 3 | 60121ns | 16633 blocks/sec | 2KB | 58 |
23
- | Raw Block Batch Processing Throughput | 3 | 515408ns | 97011 blocks/sec | 81KB | 1938 |
24
- | Storage Mode Ingest Steady State/api | 3 | 375174723ns | 479.8 blocks_ingested/sec, 533.1 txs_ingested/sec | 15761KB | 186666 |
25
- | Storage Mode Ingest Steady State/core | 3 | 152858484ns | 1178 blocks_ingested/sec, 1308 txs_ingested/sec | 7234KB | 94403 |
26
- | Storage Mode Ingest/api | 3 | 362809147ns | 496.1 blocks_ingested/sec, 551.3 txs_ingested/sec | 15935KB | 193665 |
27
- | Storage Mode Ingest/core | 3 | 235819272ns | 763.3 blocks_ingested/sec, 848.1 txs_ingested/sec | 7514KB | 101522 |
20
+ | ledger:Block Processing Throughput | 13000 | 96796ns | 10331 blocks/sec | 25KB | 133 |
21
+ | ledger:Block Processing Throughput Predecoded | 27357 | 41209ns | 24267 blocks/sec | 2KB | 52 |
22
+ | ledger:Blockfetch Near Tip Queued Header Predecoded | 29880 | 39553ns | 25283 blocks/sec | 2KB | 52 |
23
+ | ledger:Blockfetch Near Tip Throughput | 14515 | 86009ns | 11627 blocks/sec | 25KB | 128 |
24
+ | ledger:Blockfetch Near Tip Throughput Predecoded | 33068 | 38485ns | 25984 blocks/sec | 2KB | 50 |
25
+ | ledger:Blockfetch Verified Header Dispatch | 31767780 | 37.72ns | - | 0B | 0 |
26
+ | ledger:Storage Mode Ingest/api | 3 | 337822776ns | 532.8 blocks_ingested/sec, 592.0 txs_ingested/sec | 15884KB | 192682 |
27
+ | ledger:Storage Mode Ingest/core | 5 | 240989770ns | 746.9 blocks_ingested/sec, 829.9 txs_ingested/sec | 7550KB | 100660 |
28
+ | ledger:Verify Block Header/direct | 1122 | 1047255ns | - | 2KB | 29 |
29
+ | ledger:Verify Block Header/ledger_state | 1122 | 1047068ns | - | 2KB | 29 |
28
30
  ## Performance Changes
29
31
 
30
- Changes since **March 10, 2026** (initial baseline):
32
+ Changes since **March 13, 2026**:
31
33
 
32
34
  ### Summary
33
- - **Faster benchmarks**: 4
34
- - Block Batch Processing Throughput (+32%)
35
- - Block Processing Throughput Predecoded (+91%)
36
- - Storage Mode Ingest Steady State/api (+8%)
37
- - Storage Mode Ingest Steady State/core (+55%)
38
- - **Slower benchmarks**: 4
39
- - Block Processing Throughput (-56%)
40
- - Raw Block Batch Processing Throughput (-17%)
41
- - Storage Mode Ingest/api (-18%)
42
- - Storage Mode Ingest/core (-37%)
35
+ - **Faster benchmarks**: 6
36
+ - **Slower benchmarks**: 2
43
37
  - **New benchmarks**: 0
44
38
  - **Removed benchmarks**: 0
45
39
 
46
- > **Note**: These are two runs from the same session establishing the baseline.
47
- > Variance is expected; treat this as a single baseline snapshot, not a regression.
40
+ ### Top Improvements
41
+ - ledger:Verify Block Header/ledger_state (+1%)
42
+ - ledger:Blockfetch Verified Header Dispatch (+21%)
43
+ - ledger:Blockfetch Near Tip Throughput Predecoded (+8%)
44
+ - ledger:Blockfetch Near Tip Throughput (+2%)
45
+ - ledger:Block Processing Throughput Predecoded (+0%)
46
+
47
+ ### Performance Regressions
48
+ - ledger:Blockfetch Near Tip Queued Header Predecoded (-1%)
49
+ - ledger:Verify Block Header/direct (-2%)
48
50
 
49
51
 
50
52
  ## Historical Results
51
53
 
52
- ### March 10, 2026
54
+ ### March 13, 2026
53
55
 
54
56
  | Benchmark | Iterations | Time/op | Extra Metrics | Memory/op | Allocs/op |
55
57
  |-----------|------------|---------|---------------|-----------|-----------|
56
- | Block Batch Processing Throughput | 3 | 781159ns | 64007 blocks/sec | 99KB | 2138 |
57
- | Block Processing Throughput | 3 | 93495ns | 10696 blocks/sec | 26KB | 138 |
58
- | Block Processing Throughput Predecoded | 3 | 114562ns | 8729 blocks/sec | 2KB | 60 |
59
- | Raw Block Batch Processing Throughput | 3 | 427847ns | 116864 blocks/sec | 81KB | 1938 |
60
- | Storage Mode Ingest Steady State/api | 3 | 406074114ns | 443.3 blocks_ingested/sec, 492.5 txs_ingested/sec | 15743KB | 186725 |
61
- | Storage Mode Ingest Steady State/core | 3 | 236358805ns | 761.6 blocks_ingested/sec, 846.2 txs_ingested/sec | 7245KB | 94503 |
62
- | Storage Mode Ingest/api | 3 | 298992974ns | 602.0 blocks_ingested/sec, 668.9 txs_ingested/sec | 15861KB | 193541 |
63
- | Storage Mode Ingest/core | 3 | 148714628ns | 1210 blocks_ingested/sec, 1345 txs_ingested/sec | 7449KB | 101364 |
58
+ | ledger:Block Processing Throughput | 11126 | 108824ns | 9189 blocks/sec | 25KB | 133 |
59
+ | ledger:Block Processing Throughput Predecoded | 27195 | 41884ns | 23876 blocks/sec | 2KB | 52 |
60
+ | ledger:Blockfetch Near Tip Queued Header Predecoded | 30206 | 38792ns | 25779 blocks/sec | 2KB | 51 |
61
+ | ledger:Blockfetch Near Tip Throughput | 14179 | 88029ns | 11360 blocks/sec | 25KB | 128 |
62
+ | ledger:Blockfetch Near Tip Throughput Predecoded | 30481 | 39802ns | 25125 blocks/sec | 2KB | 50 |
63
+ | ledger:Blockfetch Verified Header Dispatch | 26182030 | 45.85ns | - | 0B | 0 |
64
+ | ledger:Storage Mode Ingest/api | 3 | 367883050ns | 489.3 blocks_ingested/sec, 543.7 txs_ingested/sec | 15919KB | 192784 |
65
+ | ledger:Storage Mode Ingest/core | 5 | 204910867ns | 878.4 blocks_ingested/sec, 976.0 txs_ingested/sec | 7505KB | 100573 |
66
+ | ledger:Verify Block Header/direct | 1154 | 1028815ns | - | 2KB | 29 |
67
+ | ledger:Verify Block Header/ledger_state | 1110 | 1052555ns | - | 2KB | 29 |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blinklabs/dingo",
3
- "version": "0.25.1",
3
+ "version": "0.27.0",
4
4
  "description": "Dingo is a Cardano blockchain data node",
5
5
  "main": "index.js",
6
6
  "bin": {