@blinklabs/dingo 0.35.3 → 0.36.1

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/CLAUDE.md ADDED
@@ -0,0 +1,33 @@
1
+ # CLAUDE.md
2
+
3
+ Go-based Cardano node implementing Ouroboros. Most of what you need is derivable from code (`Makefile`, `go.mod`, `node.go`, `dingo.yaml.example`). Below is what isn't.
4
+
5
+ ## Testing rules
6
+
7
+ - **Never use `time.Sleep()` for synchronization.** Use helpers in `internal/test/testutil/`:
8
+ - `WaitForCondition` / `require.Eventually` for polling (2–5s timeout, 5–10ms interval, lock shared state inside the condition fn)
9
+ - `RequireReceive` / `RequireNoReceive` for channel assertions
10
+ - `context.WithTimeout` for graceful shutdown — not sleep
11
+ - Race detection is on by default in `make test`.
12
+ - Integration tests in `internal/integration/` load real blocks from `database/immutable/testdata/`.
13
+
14
+ ## Before committing
15
+
16
+ ```bash
17
+ golangci-lint run ./... # .golangci.yml configured
18
+ nilaway ./...
19
+ modernize ./... # --fix to auto-apply
20
+ ```
21
+
22
+ ## Non-obvious architecture
23
+
24
+ - **CBOR offset storage**: UTxOs/txs store 52-byte `CborOffset` refs (magic `"DOFF"`, slot, hash, offset, length), not full CBOR. Resolved via `TieredCborCache` (hot → block LRU → cold extract from blob store). See `database/cbor_offset.go`, `database/cbor_cache.go`, `database/block_indexer.go`.
25
+ - **Plugins** (`database/plugin/`): blob = `badger` (default) / `gcs` / `s3`; metadata = `sqlite` (default) / `mysql` / `postgres`.
26
+ - **Event bus**: components communicate via `event.EventBus.SubscribeFunc()`, not direct calls.
27
+
28
+ ## Profiling
29
+
30
+ ```bash
31
+ ./dingo --cpuprofile=cpu.prof --memprofile=mem.prof load database/immutable/testdata
32
+ go tool pprof cpu.prof
33
+ ```
package/RELEASE_NOTES.md CHANGED
@@ -1,6 +1,83 @@
1
1
  # Release Notes
2
2
 
3
3
 
4
+ ## v0.36.0 (April 20, 2026)
5
+
6
+ **Title:** Asset endpoints and steadier chain operations
7
+
8
+ **Date:** April 20, 2026
9
+
10
+ **Version:** v0.36.0
11
+
12
+ Hi folks! Here’s what we shipped in v0.36.0.
13
+
14
+ ### ✨ What's New
15
+
16
+ * Added **asset queries for Blockfrost API users:** Blockfrost API users can now query native assets through `/api/v0/assets/{asset}` with the combined asset identifier format.
17
+ * Expanded **era transition visibility:** Era history now shows confirmed upcoming change points more clearly, so slot and time forecasts stay aligned with known transitions.
18
+ * Clarified **safe epoch boundaries:** Era history now reports when an era change cannot happen in the current epoch, which makes forecast results steadier near the epoch boundary.
19
+
20
+ ### 💪 Improvements
21
+
22
+ * Improved **contributor setup guidance:** Development work is easier to follow because the project now includes clearer guidance for testing, architecture, and profiling.
23
+ * Refreshed **build cache stability:** Automation now uses a newer cache action release for steadier build runs.
24
+ * Updated **protocol support alignment:** Network compatibility stays current with newer upstream protocol updates.
25
+ * Modernized **operator tooling support:** Operational workflows stay aligned with newer Cardano command line tooling.
26
+ * Streamlined **era rollover handling:** Era changes now follow one transition path, which makes chain operations more consistent during rollovers.
27
+ * Restored **release history continuity:** Recent changes stay easier to scan in one place through the updated release notes.
28
+
29
+ ### 🔧 Fixes
30
+
31
+ * Fixed **single relay sync stalls:** Single-relay block producers now keep chain progress steadier when the relay reconnects first after an interruption.
32
+ * Hardened **ledger startup safeguards:** Startup and rollback related paths now stop immediately when the Ouroboros security parameter K is missing or zero.
33
+ * Corrected **fork recovery error reporting:** Fork recovery now returns ancestor lookup failures directly, which makes recovery issues easier to detect.
34
+ * Prevented **Blockfrost startup crashes:** Blockfrost startup now returns a clear error when ledger state is missing instead of crashing.
35
+ * Set **forged block version markers:** Forged blocks now carry the expected minor protocol version for steadier interoperability.
36
+
37
+ ### 📋 What You Need to Know
38
+
39
+ * Blockfrost API users can now query native assets through /api/v0/assets/{asset} using the concatenated {policy_id}{asset_name_hex} identifier format.
40
+ * Operators should ensure ledger initialization provides a positive Ouroboros security parameter K, because startup and rollback-related paths now fail fast when K is unset or zero.
41
+ * Most users can upgrade normally to v0.36.0; single-relay block producers should see steadier sync behavior, and Blockfrost startup now reports missing ledger state as an error instead of panicking.
42
+
43
+ ### 🙏 Thank You
44
+
45
+ Thank you for trying!
46
+
47
+ ---
48
+
49
+ ## v0.35.3 (April 19, 2026)
50
+
51
+ **Title:** Improve peer sharing compatibility
52
+
53
+ **Date:** April 19, 2026
54
+
55
+ **Version:** v0.35.3
56
+
57
+ Hi folks! Here’s what we shipped in v0.35.3.
58
+
59
+ ### ✨ What's New
60
+
61
+ * Noted **no new features:** This patch focuses on improvements and fixes.
62
+
63
+ ### 💪 Improvements
64
+
65
+ * Refined **release history continuity:** RELEASE_NOTES.md now stays up to date, so recent changes are easier to scan in one place.
66
+
67
+ ### 🔧 Fixes
68
+
69
+ * Corrected **safer peer sharing behavior:** Dingo now avoids asking peers to share more peers when they do not offer that capability, so connections stay steadier and compatibility is smoother across mixed peer setups.
70
+
71
+ ### 📋 What You Need to Know
72
+
73
+ * Simplified **upgrade guidance:** Most users only need to upgrade to v0.35.3, and peer sharing now behaves more safely with peers that do not advertise sharing.
74
+
75
+ ### 🙏 Thank You
76
+
77
+ Thank you for trying!
78
+
79
+ ---
80
+
4
81
  ## v0.35.2 (April 18, 2026)
5
82
 
6
83
  **Title:** Safer era forecasts and refreshed dependencies
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blinklabs/dingo",
3
- "version": "0.35.3",
3
+ "version": "0.36.1",
4
4
  "description": "Dingo is a Cardano blockchain data node",
5
5
  "main": "index.js",
6
6
  "bin": {