Releases: knzeng-e/dotify
Release list
1.2.0
What's Changed
- design: Constellation phase C - micro-moments by @knzeng-e in #66
- design: Constellation phase B - The Sky of rooms by @knzeng-e in #65
- design: Constellation direction + phase A prototype (The Stage) by @knzeng-e in #64
- feat: generate frontend ABI bindings from Hardhat artifacts (ticket 09) by @knzeng-e in #63
- feat(web): room social layer - broadcast reactions + in-room chat by @knzeng-e in #67
- design(web): Living Interface - the room replaces the dashboard by @knzeng-e in #71
- feat: production preview assets for server-keyed protected tracks (ticket 18) by @knzeng-e in #70
- feat(web): room collaborative request queue with host veto by @knzeng-e in #68
- fix(web): room stream propagation and track-switch sync by @knzeng-e in #72
- feat(web): remember a room pseudonym per wallet (identity Layer 1) by @knzeng-e in #73
- docs(design): Dotify v2 - access model, chunked streaming, Polkadot App stack by @knzeng-e in #75
- feat(api,web): access model v2 P2 - sign once, listen freely by @knzeng-e in #78
- feat(web,api): access model v2 P1b - free mode UI, preview machinery deleted by @knzeng-e in #77
- feat(contracts,api): access model v2 P1a - Free mode, artist mode changes, free keys by @knzeng-e in #76
- chore: update deploys by @knzeng-e in #79
- fix(web): remember guest names for room link joins by @knzeng-e in #74
- feat(web): improve room track switching and guest joins by @knzeng-e in #80
- fix: reduce smart runtime deployment weight by @knzeng-e in #83
- Add Dotify audio v2 chunked streaming by @knzeng-e in #82
- feat: harden production readiness and rebuild Dotify UX by @knzeng-e in #92
- docs: align roadmap with Product SDK by @knzeng-e in #93
- ci: guard optional GitHub Pages deploys by @knzeng-e in #94
- ci: separate pages workflow concurrency by @knzeng-e in #95
Full Changelog: v1.1.0...1.2.0
v1.1.0 - production spine + frontend architecture
Pre-release checkpoint. This captures the production-spine and frontend-architecture work landed since v1.0.0 (226 commits). It is not production-ready: client-side protection is demo-grade, proof-of-personhood is mocked, and public rooms rely on hosted Socket.IO signaling. See the security notes below.
Production spine (Sprint 0)
- Backend key service (
services/api): Fastify service for health, uploads, nonces, and wallet-signed content-key delivery. - Server-side Pinata/IPFS uploads, moving the JWT off the browser bundle.
- Wallet-signed content-key requests for both individual playback and host playback: the backend verifies the signature, rejects nonce replay, resolves the artist runtime, and checks access before releasing a per-track key.
- Hosted signaling and one-link rooms: Socket.IO room discovery + SDP/ICE exchange, join-by-link with no wallet or signature, and host-based room access (only the host must satisfy the track policy; guests receive only the ephemeral WebRTC stream, never keys or source files).
Stabilization and tests (Sprint 1)
- Deterministic Playwright end-to-end coverage for the three critical flows: classic paid unlock, artist publish, and room join / host-access playback (10 specs).
- Vitest unit coverage for the extracted pure domain modules.
Frontend architecture (ticket 08)
- Pure, tested feature modules under
web/src/features/*: access policy, room state, catalog track model, player playback status, wallet network, uploads, runtime access encoding, artist-studio release form. - A React context/provider stack under
web/src/app/providers/: UI feedback, wallet identity, navigation, release form, catalog, session, artist studio, and playback, each failing closed outside its provider. - Shell split:
ListenerShellandArtistShellown their render trees and consume context directly; the heaviest views (PlayerView,ArtistConsole,ArtistOnboarding) read context instead of large prop lists. shared/tree (ui,config,utils,types) and app routing/navigation modules.- Net effect:
App.tsxwent from ~990 lines to a 69-line shell switch that owns no feature hooks and no business state.
Living Light design
- Album-aura engine, presence avatars, persistent player dock, one-link room-create sheet, immersive room presence, connected-wallet identity card, and artist studio parity.
Fixes
- Browser-compatible Asset Hub RPC for catalog reads.
- Cleared npm audit vulnerabilities in the web workspace.
Security notes (unchanged from the project posture)
- Client-side content protection is best-effort and demo-grade; it does not claim absolute DRM and does not prevent recording of an authorized WebRTC stream.
- Proof of Personhood (human-free access) is mocked via a dev-only admin call; real Individuality integration is not yet wired.
- Public rooms depend on hosted Socket.IO signaling (a centralized coordination point).
- Production content-key delivery relies on a backend-held master secret.
Canonical contract addresses are in deployments.json (Paseo Asset Hub, chainId 420420417).
v1.0.0
v0.0.1
Full Changelog: https://github.com/knzeng-e/dotify/commits/v0.0.1
Dotify Initial prototype release-candidate
Release commit: 00d479f
Included history: a75f02d -> 00d479f
Date: April 23, 2026
This pre-release delivers the first end-to-end Dotify prototype: a decentralized shared-listening web app, an EVM rights registry contract, deployment tooling, and the first live contract deployment on Paseo AssetHub.
Dotify combines real-time music sessions with artist-managed rights metadata and onchain registration. Hosts can open listening rooms and stream audio to listeners over WebRTC, while artists can prepare track metadata, attach rights assets, publish a compact manifest to Bulletin Chain, and register rights through the EVM contract layer.
Highlights
Web application
- Introduced the first Dotify frontend built with React + Vite
- Added artist-grouped music discovery and playback surfaces
- Added room discovery, room creation, and manual room-code joining
- Added Socket.IO signaling for WebRTC session setup
- Added real-time audio sharing between host and listeners
- Added Artist Studio workflows for:
- audio upload
- cover image upload
- artist contract PDF upload
- rights metadata entry
- access mode selection
- Bulletin Chain manifest publication
- contract registration
Onchain rights layer
- Introduced the
MusicRightsRegistryEVM contract - Added NFT-backed track registration tied to audio content hashes
- Added support for track metadata and rights references:
- audio asset reference
- cover image reference
- artist contract PDF reference
- Bulletin JSON manifest reference
- Added royalty recipient configuration and basis-point splits
- Added access modes for:
Human freeClassic
- Added Proof of Personhood-style gating for Human free tracks
- Added native-token payment handling and royalty distribution for Classic tracks
Tooling and deployment
- Added Hardhat-based EVM contract workspace and test coverage
- Added deployment scripts and deployment tracking via
deployments.json - Added contract-specific documentation under
contracts/README.md - Patched Hardhat + viem deployment flow to handle the target testnet chain correctly
- Wired the frontend to use the deployed contract address by default
Deployed contract
- MusicRightsRegistry:
0x17623c6df0e9cb06bf64364588ebb057b0ea43c6 - Network: Paseo AssetHub (EVM)
Why this release matters
This is the first pre-release where Dotify exists as a working vertical slice rather than separate ideas or isolated modules. The web app, realtime listening flow, rights-management model, and EVM deployment path are now connected in one prototype.
Current scope
This pre-release is a prototype foundation. It establishes:
- real-time shared listening
- artist-managed rights metadata
- Bulletin manifest publication
- EVM registration and royalty logic
- a live deployed contract target for integration
- pre setup for IPFS publication