From 26eea1d1839006b2fe9df9875dd5ce61d104274a Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 13 Jun 2026 22:54:43 +0000 Subject: [PATCH] docs: split remaining multi-sentence items into sub-lists in v1.12.0 changelog https://claude.ai/code/session_01Y8cDkDRV48GYdQd3CR4kuV --- docs/changelog/v1.12.00.md | 128 ++++++++++++++++++++++++++----------- 1 file changed, 90 insertions(+), 38 deletions(-) diff --git a/docs/changelog/v1.12.00.md b/docs/changelog/v1.12.00.md index 452f66725c..6090703abf 100644 --- a/docs/changelog/v1.12.00.md +++ b/docs/changelog/v1.12.00.md @@ -2,14 +2,14 @@ Highlights: -- **CLINK payments.** A new Lightning rail built on Offers and Debits. Includes spending budgets, NIP-05 offer discovery, and a unified Send Payment screen. -- **Private posts & reactions.** Post, reply, react, and zap privately. Everything is end-to-end encrypted via NIP-17 gift wraps. -- **Workouts.** Record and browse NIP-101e workout records (kind 1301) in a dedicated feed. -- **Math in notes.** Write inline and block LaTeX. It renders right in the timeline. -- **Activity cards.** Likes, zaps, and nutzaps now render as rich gradient cards. Each card embeds the post it reacted to and taps through to the thread. -- **App recommendations.** Editable NIP-89 recommendations on your profile, with richer cards, screenshots, and author names. -- **Pinned DMs.** Pin important conversations to the top of the chat list. The pins sync across your devices. -- **Desktop.** Image compression on upload, a new media player, group-DM parity, a Replies tab, and a refreshed feed. +- **CLINK payments** — a new Lightning rail with spending budgets, NIP-05 offer discovery, and a unified Send Payment screen. +- **Private posts & reactions** — post, reply, react, and zap privately, all end-to-end encrypted via NIP-17 gift wraps. +- **Workouts** — record and browse NIP-101e workout records (kind 1301) in a dedicated feed. +- **Math in notes** — write inline and block LaTeX that renders right in the timeline. +- **Activity cards** — likes, zaps, and nutzaps render as rich gradient cards that tap through to the thread. +- **App recommendations** — editable NIP-89 recommendations on your profile, with richer cards and screenshots. +- **Pinned DMs** — pin important conversations to the top of the chat list, synced across devices. +- **Desktop** — image compression on upload, a new media player, group-DM parity, a Replies tab, and a refreshed feed. ## New Features @@ -18,13 +18,18 @@ Highlights: - **CLINK — a new Lightning payment rail.** Pay and get paid through CLINK Offers and Debits, an interoperable Lightning-over-Nostr scheme. - Profiles can show a tappable CLINK Offer chip. - You can pay a contact directly from their profile. -- **Spending budgets for CLINK debits.** Set one-time or recurring limits. A debit connection can then pull funds up to the cap you set. +- **Spending budgets for CLINK debits.** + - Set one-time or recurring limits. + - A debit connection pulls funds only up to the cap you set. - **Discover offers by NIP-05.** Resolve a person's payment offer straight from their `name@domain` address. - **Unified Send Payment screen.** Reach every rail from one place: - Lightning, CLINK, on-chain Bitcoin, and Cashu/nutzaps. - A "Pay from" selector chooses which wallet the money leaves. -- **On-chain payments.** Pay Bitcoin payment targets from the in-app on-chain wallet. You can also pay a contact's on-chain "Bit" recipient directly. -- **Unified payment-rail chips** on the profile header. Long-press any chip to copy that destination. +- **On-chain payments.** + - Pay Bitcoin payment targets from the in-app on-chain wallet. + - Pay a contact's on-chain "Bit" recipient directly. +- **Unified payment-rail chips** on the profile header. + - Long-press any chip to copy that destination. - **Cashu improvements.** - A send progress bar that matches the Lightning experience. - A new mint top-up screen. @@ -32,9 +37,15 @@ Highlights: ### Posting & Privacy -- **Private posts and replies.** Composed and delivered as NIP-17 gift wraps. An editable "Notify" block lets you choose exactly who can read a private post. -- **Private reactions.** React and un-react privately. Safeguards prevent private content from leaking publicly. -- **Private zaps.** Zaps on private notes are forced private. Replies to a private zap route into the sender's DM room. +- **Private posts and replies.** + - Composed and delivered as NIP-17 gift wraps. + - An editable "Notify" block lets you choose exactly who can read a private post. +- **Private reactions.** + - React and un-react privately. + - Safeguards prevent private content from leaking publicly. +- **Private zaps.** + - Zaps on private notes are forced private. + - Replies to a private zap route into the sender's DM room. - **NIP-32 hashtag labels.** Add first-class hashtag labels to posts. - Follow-hashtag labels publish through your outbox relays. - They surface in the hashtag feed. @@ -45,19 +56,26 @@ Highlights: ### Chat & DMs -- **Pin DM conversations** to the top of your chat list. Pins sync across devices via a NIP-78 app-data event. +- **Pin DM conversations** to the top of your chat list. + - Pins sync across devices via a NIP-78 app-data event. - **@-mention search in Marmot (MLS) group chats.** Search and tag users in the group composer. - Conversation participants rank first. - They are marked with an "In this chat" chip. -- **Quoted chat messages** now render inside chat bubbles with the proper chat-reply design. The redundant reply row is skipped when the message is already quoted inline. +- **Quoted chat messages** now render inside chat bubbles with the proper chat-reply design. + - The redundant reply row is skipped when the message is already quoted inline. - **MLS reliability.** - Unread state now persists across app restarts. - The kind:445 backlog is no longer refetched on every launch. ### Reading & Feeds -- **Render LaTeX math** in notes. Use `$...$` for inline and `$$...$$` for block equations. -- **Activity cards.** Reactions, zaps, likes, and nutzaps render as gradient cards that embed the post they're about. A single tap on a like/zap chip opens that event's thread. +- **Render LaTeX math** in notes. + - Use `$...$` for inline equations. + - Use `$$...$$` for block equations. +- **Activity cards.** + - Reactions, zaps, likes, and nutzaps render as gradient cards. + - Each card embeds the post it's about. + - A single tap on a like/zap chip opens that event's thread. - **Workouts feed.** A dedicated feed for NIP-101e workout records (kind 1301). - **App recommendations.** Editable NIP-89 recommendations on your profile. - Screenshots show in app feed cards. @@ -66,18 +84,24 @@ Highlights: - **New community renderers.** - Birdex species collections (kind 12473). - Agora fundraiser campaigns (kind 33863). -- **Cleaner feeds.** Reactions and zaps anchor their own thread view. Reposts whose boosted kind isn't supported are now hidden instead of showing blank cards. -- **Media.** Swipe for brightness and volume in fullscreen video. Tap a podcast to open a show screen listing all its episodes. +- **Cleaner feeds.** + - Reactions and zaps anchor their own thread view. + - Reposts whose boosted kind isn't supported are hidden instead of showing blank cards. +- **Media.** + - Swipe for brightness and volume in fullscreen video. + - Tap a podcast to open a show screen listing all its episodes. ### Settings -- **Searchable settings.** A search box filters rows by title and curated keywords. Supports prefix matching and an empty-state. +- **Searchable settings.** + - A search box filters rows by title and curated keywords. + - Supports prefix matching and an empty-state. ## Performance -- Pinned-DM state reads are deferred to the row and menu. The chat list stays smooth. +- Pinned-DM state reads are deferred to the row and menu, keeping the chat list smooth. - Parsed CLINK offers are cached for NIP-05 lookups, using case-insensitive keys. -- The "fix missing spaces" rich-text pass indexes URLs by their first character. This avoids repeated scans. +- The "fix missing spaces" pass indexes URLs by their first character to avoid repeated scans. ## Improvements and Bug fixes @@ -85,7 +109,9 @@ Highlights: - Replies to likes/zaps now reach the "Curated" feed. - The legacy "Global" filter migrates once to "Curated". - A reply to a like/zap no longer drags in the original post's whole thread. -- **Note search.** Searches no longer match on `p`, `e`, `a`, `alt`, or `client` tags. Results are cleaner. +- **Note search.** + - No longer matches on `p`, `e`, `a`, `alt`, or `client` tags. + - Results are cleaner. - **Anonymous posting.** - Profile zaps that should be anonymous are no longer encrypted as private zaps. - Media uploads in anonymous posts use an ephemeral signer. @@ -93,15 +119,24 @@ Highlights: - The Cashu wallet row now shows the Cashu logo instead of a generic icon. - Own on-chain zaps highlight the bolt and show as pending in the counter. - Tidied the wallet screen layout. -- **Zap settings.** Preset amounts are de-duplicated so drag-to-reorder keeps working. The chip-drag interaction was fixed. -- **Cashu top-up** is now crash-safe on retry. Funds are checkpointed the instant they leave the wallet and never re-moved. +- **Zap settings.** + - Preset amounts are de-duplicated, so drag-to-reorder keeps working. + - Fixed the chip-drag interaction. +- **Cashu top-up** is now crash-safe on retry. + - Funds are checkpointed the instant they leave the wallet. + - They are never re-moved on a retry. - **Tor.** - Relay backoff is honored during Tor bootstrap. - A new "money operations" relay category keeps payment traffic on the right transport. - **Metadata.** A non-spec birthday value can no longer drop an entire profile. -- **Deletions (NIP-09).** Deleting a note now severs child back-references. It also detaches on-chain-zap, nutzap, and channel sources from the cache. -- **Hardening.** Many audit fixes across the private-posts, CLINK, and MLS paths. Covers off-main-thread crypto, leak prevention, and hiding share/bookmark on private notes. -- Reduced runtime log noise and fixed several edge-case crashes. +- **Deletions (NIP-09).** + - Deleting a note now severs child back-references. + - It detaches on-chain-zap, nutzap, and channel sources from the cache. +- **Hardening.** + - Many audit fixes across the private-posts, CLINK, and MLS paths. + - Covers off-main-thread crypto, leak prevention, and hiding share/bookmark on private notes. +- Reduced runtime log noise. +- Fixed several edge-case crashes. ## Desktop @@ -113,7 +148,8 @@ Highlights: - A fail-loud dialog if compression fails. - **New media player.** Replaced vlcj with kdroidFilter's ComposeMediaPlayer (JCodec/FFmpeg backend). - **Group DM parity with Android.** Desktop now handles group direct messages the same way. -- **Replies tab** on the user profile. Feeds also show reply context (parent embed plus label) inline. +- **Replies tab** on the user profile. + - Feeds also show reply context (parent embed plus label) inline. - **Feed refresh.** - Inline card expansion. - A "New posts" chip that slides in from the top. @@ -133,7 +169,8 @@ Highlights: - `amy debit` — CLINK debit info, pay, and budget. - `amy zap --with ` — settle a zap invoice via a CLINK debit. - `amy offer discover ` — resolve a profile's offer through NIP-05. -- Closed CLINK parity gaps (profile offer, follow, offer pay, GFY detail). Added a clink-headless interop harness. +- Closed CLINK parity gaps (profile offer, follow, offer pay, GFY detail). +- Added a clink-headless interop harness. ## Quartz @@ -143,18 +180,33 @@ Highlights: - Suspendable auth hooks. - Split engine/backend/policy packages. - **NIP-45 approximate COUNT** via HyperLogLog construction, with wire support. -- **NIP-11.** Added the missing `banner` field. Relay limits are now a single source of truth served over NIP-11. -- **Connection observability.** Stable per-connection ids and a per-connection `RequestContext` threaded into the event source. Auth identity moved from policy into connection scope. +- **NIP-11.** + - Added the missing `banner` field. + - Relay limits are now a single source of truth served over NIP-11. +- **Connection observability.** + - Stable per-connection ids. + - A per-connection `RequestContext` threaded into the event source. + - Auth identity moved from policy into connection scope. - **NIP-46.** Fixed a bunker double-resume and retry id-reuse race. -- Fixed `q` (quote) tags being dropped by an inverted guard. Registered `CommunityRulesEvent` and CLINK DTO serializers (including Kotlin/Native targets). +- Fixed `q` (quote) tags being dropped by an inverted guard. +- Registered `CommunityRulesEvent` and CLINK DTO serializers (including Kotlin/Native targets). ## Build & Documentation -- **Dependency updates.** Bumped Kotlin, Compose Multiplatform 1.11.1, Coil 5, OkHttp 5, Jackson, AndroidX, Firebase, and more. The Blossom interceptor test was adapted to OkHttp 5's `Interceptor.Chain`. -- **iOS CI.** `commons` `commonTest` now compiles and runs on iOS targets. CI runs the shared `commonTest` on iOS for `:commons`. +- **Dependency updates.** + - Bumped Kotlin, Compose Multiplatform 1.11.1, Coil 5, OkHttp 5, Jackson, AndroidX, Firebase, and more. + - The Blossom interceptor test was adapted to OkHttp 5's `Interceptor.Chain`. +- **iOS CI.** + - `commons` `commonTest` now compiles and runs on iOS targets. + - CI runs the shared `commonTest` on iOS for `:commons`. - Split the monolithic CHANGELOG into per-version files under `docs/changelog/`. -- A large SonarQube cleanup pass (S1871) merged duplicate `when`/`if` arms. Also migrated `Log` calls to the lambda overload. -- Documented an Amethyst→commons migration plan and target package hierarchy. Refreshed several Claude skills and the Namecoin design doc. Added a rule requiring a license check when adding any new dependency. +- **SonarQube cleanup (S1871).** + - Merged duplicate `when`/`if` arms across the codebase. + - Migrated `Log` calls to the lambda overload. +- **Documentation.** + - Documented an Amethyst→commons migration plan and target package hierarchy. + - Refreshed several Claude skills and the Namecoin design doc. + - Added a rule requiring a license check when adding any new dependency. - `versionName` branch detection now sets the git cwd, so it works inside git worktrees. ## Contributors