VeilRoot v0.26.2.0
This release focuses on security hardening, multi-relay domain support, and LMDB write-path stability.
Security & correctness
- Fixed Nostr event ID verification by computing IDs with SHA-256, matching the signer and eliminating heartbeat/descriptor mismatches.
- Hardened Nostr event verification to require BIP340 Schnorr signature verification against the registrant public key.
- Rejected mismatched or stale heartbeat and service descriptor events.
Multi-relay domains
- VNS domain records now support up to three Nostr relays.
- Registration and update transactions accept multiple relay endpoints.
- Legacy single-relay records are automatically migrated to the first relay slot on read.
- Added handling for legacy single-relay domain update tag
0x03.
LMDB write-path stability
-
Replaced shared write cursor usage with transaction-local cursors across:
- block/tx/output writes
- txpool and VNS writes
- alt blocks and VNS domain removal
- governance and vote writes
- policy write paths
- proposal execution records
-
Fixed a crash on ARM builds caused by concurrent LMDB write transactions from the background Nostr heartbeat fetcher and block sync thread.
-
Nostr heartbeat results are now queued and applied only by the blockchain-state owner thread after block processing.
Other fixes
- Domain fee burning validation for RingCT registrations.
- Bulletproof+ generation adjustment for burn/treasury outputs.
- macOS release workflow Homebrew fix.
- Various governance, vote, txpool, and alt block cursor lifetime fixes.
Verify
Use the provided SHA256 checksums to verify the release archives.
No pre-mine. No VC. No central organization.