Skip to content

v0.9.6 — DB2 discovery cutover (presence + libraries replace swarm.hello)

Choose a tag to compare

@knobcore knobcore released this 27 Jun 04:16
· 39 commits to main since this release

v0.9.6 — DB2 discovery cutover (presence + libraries replace swarm.hello)

Discovery and streaming no longer ride on the ephemeral swarm-index re-announce. A player publishes its library to DB2 once (durable, wallet-signed) and, on connect, sends a tiny signed presence.hello binding its wallet to its live peer id. The node drives Discover straight from DB2 — "say hi, your library appears."

What changed

  • presence.hello"mcprs1" ‖ wallet(20) ‖ ts(8 LE) ‖ peer_id, wallet-signed. The node verifies it and binds wallet → live peer id (self-declared so relayed players bind correctly), evicting on disconnect.
  • songs.list now returns only chain songs that an online wallet's DB2 library currently holds; swarm_size = live DB2 holder count. Metadata is unchanged (it always came from the on-chain registry, never the swarm).
  • stream.open resolves serving peers from DB2 holders ∩ presence.
  • library.delta reply carries unknown[] (your published hashes not yet on chain); the player re-registers those via fingerprint.submit — the old swarm.hello chain-resubmit, re-homed.
  • Removed the swarm.hello family (hello / digest / add / remove / leave) on both node and player; library add/remove now flow through the DB2 versioned snapshot. Presence lifecycle for relayed players is kept via swarm.peer_online/offline.

Heads-up — this is a full cutover

Discovery is now DB2-only. A player must be on v0.9.6 (sends presence.hello) to appear in Discover and be streamable. Older builds won't show up until updated. Install this build; on connect your library republishes to DB2 and reappears in Discover automatically.

Artifacts

  • musicchain-player-v0.9.6-arm64.apk — Android (arm64-v8a, signed)
  • musicchain-player-v0.9.6-windows-x64.zip — Windows desktop player (x64)