diff --git a/docs/changelog/v1.13.00.md b/docs/changelog/v1.13.00.md index fafdcab6ee..57beedf5bd 100644 --- a/docs/changelog/v1.13.00.md +++ b/docs/changelog/v1.13.00.md @@ -36,6 +36,9 @@ Highlights: confirm-then-pay for paid servers. - Adds **Podcasting 2.0**: shows, episodes, chapters, transcripts, person credits, and per-minute value-for-value Lightning splits. +- Adds **BOLT12 payments and zaps (NIP-B1)**. Pay a profile's published BOLT12 + offer. Send self-verifying zaps through a compatible NWC wallet, counted and + shown alongside Lightning zaps. - Repaints the app around **your chosen accent color**, with font and size options that flow through buttons, badges, and highlights. - Adds **proof-of-work (NIP-13)** publishing and **negentropy (NIP-77)** sync. @@ -106,6 +109,9 @@ Highlights: channel. - Surfaces Concord replies and reactions on the Notifications tab with a community pill. +- Lets authors edit their own channel messages (kind 3302). Latest edit wins, + and it is non-destructive, so reactions and replies stay attached. Only the + original author's edits take effect. ### Git Collaboration (NIP-34) @@ -170,6 +176,20 @@ Highlights: - Discovers workspaces and DMs via the relay's own kinds, imports workspace channels from a relay in "Find groups", and routes Tor workspaces to clearnet when needed. +- Adds a shared **Agent Work board**. Any channel member files a task, upvotes + to reprioritize it, and watches the workspace's agent carry it to a pull + request. Jobs that ship directly and gated workflow runs fold into one board, + grouped by Needs approval / Working / Up next / Shipped. +- Approves or denies a gated run in place. The "Approve & open PR" step + authorizes a push and PR, but never merges or deploys. Adds a confirm step, an + approver and workflow-definition picker, and Buzz Agent Persona editors for + model, provider, and runtime. +- Asks before adding you to a channel someone else put you in (Accept / Ignore / + Leave). Narrates channel changes as plain-language system lines: "Bob added + Alice", topic, visibility, and TTL changes, and more. +- Notifies the requester when their agent job finishes or fails. Lets a + self-hosted geode relay be the private Buzz workspace via a member-and-agent + membership policy. ### Notifications @@ -228,13 +248,39 @@ Highlights: - Adds per-episode reactions and NIP-22 comments, a Podcast Bookmarks screen, and value-for-value Lightning splits paid per-minute during real playback. +### BOLT12 Payments & Zaps (NIP-B1) + +- Adds BOLT12 zaps: self-verifying kind-9736 events that prove a real BOLT12 + Lightning payment. They carry a settlement proof instead of relying on an + LNURL receipt. They fold into the same zap total and reactions row as Lightning + zaps, with anonymous and receiptless (pay-only) variants. Only cryptographically + verified proofs count toward the total. +- Publishes and edits your own BOLT12 offer list (kind 10058) from an in-app + editor. The list is cached, kept live, and restored across restarts. +- Pays a recipient's published offer. Hand it to an external wallet as a + `bitcoin:?lno=` (BIP21) intent, or pay in-app over a NWC wallet that supports + it. +- Sends zaps over NWC, using the new `pay`/`receive` methods + (nostr-wallet-connect/nwc#2). Prefers BOLT12 over Lightning when the recipient + offers it and the wallet supports it, and falls back to a Lightning zap + otherwise. +- Verifies payer proofs cryptographically: payment-hash preimage, invoice and + proof signatures, and BOLT12 merkle reconstruction of selectively disclosed + fields. Dims and does not count a proof that can't be bound to the offer. + ### Wallet & Payments - Adds a Cashu wallet setup wizard: find-or-create with cross-relay discovery, mint suggestions, and a CashuMints screen; the wallet auto-publishes on mint add/remove. +- Claims P2PK-locked Cashu tokens (NUT-11). Matches the lock against your wallet + or identity key, and redeems all-or-nothing. Gives a clear error when a token + is locked to a key this wallet can't sign for. - Adds a setting to hide the on-chain (Bitcoin) wallet, including from zap buttons. +- Prefers NIP-44 encryption for NWC when the wallet advertises it. Adds a NWC-07 + deep-link pairing helper. Posts a tray notification for incoming non-zap + Lightning payments. - Adds a data-usage screen with stat tiles, a trend chart, proportion bars, and a live memory card. @@ -249,6 +295,10 @@ Highlights: - Adds a Blossom media file manager: browse and manage stored blobs with per-file controls, mirror and `/media` toggles, an app-level "Sync all" with progress, and BUD-07 confirm-then-pay mirroring for paid servers. +- Extends the Blossom manager with a gallery grid (video thumbnails and a + full-screen zoomable viewer) and a per-file detail sheet. Adds an importer that + copies blobs from other Blossom servers into yours. Falls back to a verified + download-and-reupload when a target has no `/mirror`. - Redesigns the Media Servers screen as a single auto-saving canvas with a reorderable priority list and cached health probes. - Redesigns the bottom-bar setup with a live preview, drag-to-reorder, and real @@ -335,6 +385,14 @@ Highlights: atoms/splits, relay discovery, code snippet, ecash mint, activity, Git diff/status, and more) into shared commons so Desktop and Android render identically. +- Sends pictures in minichat thread replies (encrypted in Concord, plaintext in + public chats). Resolves @-mentions in the minichat composer and tray + quick-replies. Adds `p` tags for people cited in kind 9/11/1111 and Buzz stream + messages, so mentions notify and resolve. +- Stops the inline audio player from painting over the note below it. Marks + every room type read from the Messages "mark as read" action. +- Fixes numeric HTML entities in link-preview meta tags. Routes kind-39005 by tag + shape, so Buzz thread summaries no longer parse as NIP-29 pin lists. - Shortens over-long translated strings across 23 locales and fixes duplicate and CDATA translation issues. @@ -379,6 +437,12 @@ Highlights: the working tree, and `grasp list`/`set` (GRASP server list, kind 10317). - Adds `amy buzz` for block/buzz workspaces (channels, DMs, invite-link redemption), verified against a live Buzz relay. +- Turns `amy` into the Buzz workflow/agent runner. `buzz agent serve`/`up`/ + `doctor` run gated or parallel-backlog agents in isolated git worktrees that + open PRs. `buzz workflow trigger`/`run`/`approve`/`deny` drive the human + approval gate. +- Adds `amy bolt12` (NIP-B1): decode offers and payer proofs, verify a zap, + get/set a kind-10058 offer list, and a two-step intent → zap send. - Adds the `amy cashu` wallet (NIP-60/61): wallet lifecycle, balance, mint, receive/send (LN / token / nutzap), and maintenance. - Adds `amy admin` (NIP-86 relay moderation) and `amy serve` (run a relay by @@ -420,6 +484,12 @@ Highlights: attestation, NIP-AM agent turn metrics, personas/teams/managed agents, streams, DMs, forums, presence, and moderation), verified against vectors generated by Buzz's own Rust reference. +- Adds the BOLT12 zaps protocol layer (NIP-B1): kind-9736 zaps, kind-9737 zap + intents, kind-10058 offer lists, full spec validation, and a payer-proof + verifier with BOLT12 merkle reconstruction. NWC gains `pay`/`receive` methods. +- Widens NIP-50 search indexing to more event kinds and tag-borne text. Indexes + only the public petname and summary on contact cards (kind 30382), never the + encrypted fields. ## Geode (standalone relay) @@ -440,6 +510,11 @@ Highlights: - Enables a combined tag+kind+pubkey index, a cost-based filesystem-driver pick, and runtime index materialization, with new tag∩author and driver-selection relayBench shapes. +- Ships a release pipeline: a GHCR Docker image, `.deb`/`.rpm` packages with a + bundled JRE and systemd unit, a portable jlink'd tarball, and a Homebrew + formula. Adds `--version`/`--help` and a boot smoke test in CI. +- Lets operators pick any Quartz `IEventStore` backend via `[database].backend`: + SQLite (default), filesystem, or a custom store loaded by class name. ## Build & Documentation @@ -463,6 +538,7 @@ Highlights: - @npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5 - roguehashrate - LubuSeb +- dergigi ## Translations