@blinklabs/dingo 0.35.3 → 0.36.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/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,38 @@
1
1
  # Release Notes
2
2
 
3
3
 
4
+ ## v0.35.3 (April 19, 2026)
5
+
6
+ **Title:** Improve peer sharing compatibility
7
+
8
+ **Date:** April 19, 2026
9
+
10
+ **Version:** v0.35.3
11
+
12
+ Hi folks! Here’s what we shipped in v0.35.3.
13
+
14
+ ### ✨ What's New
15
+
16
+ * Noted **no new features:** This patch focuses on improvements and fixes.
17
+
18
+ ### 💪 Improvements
19
+
20
+ * Refined **release history continuity:** RELEASE_NOTES.md now stays up to date, so recent changes are easier to scan in one place.
21
+
22
+ ### 🔧 Fixes
23
+
24
+ * 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.
25
+
26
+ ### 📋 What You Need to Know
27
+
28
+ * 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.
29
+
30
+ ### 🙏 Thank You
31
+
32
+ Thank you for trying!
33
+
34
+ ---
35
+
4
36
  ## v0.35.2 (April 18, 2026)
5
37
 
6
38
  **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.0",
4
4
  "description": "Dingo is a Cardano blockchain data node",
5
5
  "main": "index.js",
6
6
  "bin": {