feat: release v1.1.0 — Nostr signing, file sharing, DWN sync, Tor rotation
Bump version to 1.1.0 in Cargo.toml and package.json. Add comprehensive CHANGELOG.md entry covering all v1.1.0 features: NIP-07 iframe signing, file sharing across nodes, DWN multi-node sync, node visualization map, Tor address rotation, boot container recovery, and full monitoring/testing suite. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
12f951ada4
commit
ac7bf8c62b
@@ -7,6 +7,74 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.1.0] - 2026-03-13
|
||||
|
||||
### Added
|
||||
|
||||
#### Nostr Identity in Onboarding
|
||||
- Auto-generate secp256k1 Nostr keypair during identity creation
|
||||
- Onboarding shows both DID (`did:key:z...`) and Nostr ID (`npub1...`) with copy buttons
|
||||
- Real Ed25519 signature verification in onboarding verify step
|
||||
- Real encrypted backup creation in onboarding backup step
|
||||
|
||||
#### NIP-07 Iframe Signing
|
||||
- `nostr-provider.js` injected into all proxied iframe apps via nginx `sub_filter`
|
||||
- `window.nostr` interface: `getPublicKey()`, `signEvent()`, `getRelays()`
|
||||
- Signing consent modal with "Remember for this app" option
|
||||
- `node.nostr-sign` RPC endpoint — signs events with node-level Nostr key
|
||||
- NIP-04 and NIP-44 encrypt/decrypt RPC endpoints for iframe apps
|
||||
- noStrudel Nostr client added to marketplace as iframe app
|
||||
|
||||
#### File Sharing Across Nodes
|
||||
- Content catalog with add/remove/browse over Tor
|
||||
- Three access modes: `free`, `peers_only` (DID-authenticated), `paid` (cashu tokens)
|
||||
- Availability controls: `AllPeers`, `Nobody`, `Specific` (DID allowlist)
|
||||
- Peer Files view in Cloud page for browsing federated peers' shared content
|
||||
- Content download from peers via Tor SOCKS proxy
|
||||
|
||||
#### DWN Multi-Node Sync
|
||||
- Bidirectional DWN message replication over Tor between federated nodes
|
||||
- Protocol and message sync via `/dwn` HTTP endpoint
|
||||
- DWN sync status in Federation dashboard with "Sync Now" button
|
||||
- DWN management section in Web5 page (protocols, messages, sync targets)
|
||||
|
||||
#### Node Visualization Map
|
||||
- D3.js force-directed network topology graph
|
||||
- Nodes colored by trust level (green/amber/red), opacity by online status
|
||||
- Self node centered, draggable peer nodes with tooltips
|
||||
- List/Map tab switcher in Federation page with localStorage persistence
|
||||
|
||||
#### Tor Address Rotation
|
||||
- `tor.rotate-service` RPC: generates new .onion address with 24h transition
|
||||
- Automatic propagation to Nostr relays and federation peers
|
||||
- `tor.cleanup-rotated` for expired transition directories
|
||||
- Per-app Tor toggle (`tor.toggle-app`) to enable/disable Tor per service
|
||||
- Tor management UI in Settings with rotate button and per-app toggles
|
||||
|
||||
#### Boot Container Recovery
|
||||
- All stopped containers automatically started on backend boot
|
||||
- Fixes clean reboot scenario where PID marker was removed by systemd
|
||||
|
||||
#### Monitoring & Testing
|
||||
- Federation health check script (cron every 5min, CSV + JSON output)
|
||||
- Uptime monitor with authenticated RPC access
|
||||
- `test-first-install.sh` — 8-check post-install verification
|
||||
- `test-nip07.sh` — 11-check NIP-07 signing validation
|
||||
- `test-tor-rotation.sh` — 10-check Tor rotation lifecycle
|
||||
- `test-integration-full.sh` — 23-check full integration test
|
||||
- `test-failure-recovery.sh` — 5-scenario failure injection + recovery
|
||||
|
||||
### Fixed
|
||||
- Health monitor webhook gate no longer blocks auto-restart and notifications
|
||||
- Monitoring alerts now trigger webhook delivery (DiskWarning, ContainerCrash)
|
||||
- Tor hostname reading with `tor-hostnames` readable cache (0700 system Tor dirs)
|
||||
- Tor rotation clears hostname cache before reading new address
|
||||
- Rotation restarts system Tor (not just archy-tor container)
|
||||
- NIP-07 signing uses node-level key (matches `getPublicKey()`)
|
||||
- DWN sync URL uses port 80 (nginx/Tor) instead of 5678
|
||||
- DWN `/dwn` POST endpoint allows unauthenticated peer sync
|
||||
- DWN message handler supports both single and batch message formats
|
||||
|
||||
## [0.8.0-rc1] - 2026-03-11
|
||||
|
||||
### Added
|
||||
|
||||
Reference in New Issue
Block a user