Files
amethyst/docs/changelog/v1.12.06.md
T
Vitor PamplonaandClaude Opus 4.8 805f7e8e84 v.1.12.6
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 19:01:59 -04:00

75 lines
3.2 KiB
Markdown

# v1.12.6: Napplets, Static Sites & Cashu Multi-Mint
Highlights:
- New protocol support for **Nostr Web Applets (NIP-5D)** and **static websites
(NIP-5A)**, resolved straight from signed manifests over Blossom.
- Cashu tokens that span **multiple mints** now redeem in full, and both Base64
alphabets are accepted.
- A batch of stability fixes across notifications, playback, feeds, and the
emoji pack screens.
## New Features
- Add support for **Nostr Web Applets (NIP-5D)** and **static websites
(NIP-5A)**. Napplet manifests (snapshot/root/named kinds) and the NIP-5A
aggregate-hash layer land in Quartz, with a resolver that downloads each
listed Blossom server in order and accepts only the blob whose recomputed
SHA-256 matches the signed manifest — a substituted or corrupted blob fails
verification and is skipped.
## Performance
- Cashu token-prefix dispatch now compares against precomputed `DualCase`
prefixes instead of case-folding the cashuA/cashuB markers on every call.
## Improvements and Bug fixes
- Cashu: redeeming a pasted token now redeems **every mint/keyset group** in it
(previously only the first), validating all mints are in the wallet up front
and summing the redeemed amounts. The parser also tolerates both standard and
url-safe Base64 and mixed-case `cashuA`/`cashuB` prefixes.
- Stop the `DisappearingScaffold` top/bottom bars from overshooting their
resting edge during the show/hide animation.
- Dedupe emoji shortcodes in the Emoji Pack screen to prevent a `LazyGrid`
crash, and dedupe emoji pack addresses in the My Emoji List grid.
- Cap media-session artwork to the platform bitmap limit so large covers no
longer crash playback.
- Handle a missing camera app gracefully when taking photos or videos.
- Snapshot live-stream status order before sorting, and snapshot feed filters
too, to avoid `TimSort` "contract violation" crashes.
- Notifications: call `startForeground` on every start command and always
`stopSelf` when foreground promotion fails.
- Guard the Health Connect permission check against service-bind failures.
- Add a descriptive message to the media-download HTTP check.
## Cli
- `amy napplet fetch` resolves and fetches a NIP-5D napplet.
- `amy nsite fetch` resolves and verifies a NIP-5A static site / napplet.
## Quartz
- Implement NIP-5D napplets and the NIP-5A static-site resolver (manifest model,
path lookup, hash verification, Blossom candidate assembly) in `commonMain`,
with HTTP injected so Quartz keeps no networking dependency.
- Move the out-of-band Cashu token parser, the `cashuB` (v4) encoder, and the
token container model into Quartz, so Desktop's rich-text viewer can now parse
received Cashu tokens. Adds `kotlinx-serialization-cbor` (Apache-2.0).
- Centralize Blossom protocol strings in Quartz.
- Never let signer timeouts crash from auto-signing launches.
## Build & Documentation
- Generate the changelog translator credits offline from a committed
`translators.json`, track a rolling "since last tag" contributor list, and
seed it from Crowdin on every sync without rewriting the timestamp each run.
## Contributors
- @npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z
## Translations
- _None this release._