mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
v.1.12.6
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
19b1797f2d
commit
805f7e8e84
@@ -7,7 +7,7 @@ description: Integration guide for using the Quartz Nostr KMP library in externa
|
||||
|
||||
Reference for integrating `com.vitorpamplona.quartz:quartz` into external Nostr KMP projects.
|
||||
|
||||
**Published artifact**: `com.vitorpamplona.quartz:quartz:1.12.5` (Maven Central)
|
||||
**Published artifact**: `com.vitorpamplona.quartz:quartz:1.12.6` (Maven Central)
|
||||
**Targets**: JVM 21+, Android (minSdk 21+), iOS (XCFramework `quartz-kmpKit`)
|
||||
**License**: MIT
|
||||
|
||||
@@ -19,7 +19,7 @@ Reference for integrating `com.vitorpamplona.quartz:quartz` into external Nostr
|
||||
|
||||
```toml
|
||||
[versions]
|
||||
quartz = "1.12.5"
|
||||
quartz = "1.12.6"
|
||||
|
||||
[libraries]
|
||||
quartz = { module = "com.vitorpamplona.quartz:quartz", version.ref = "quartz" }
|
||||
@@ -41,7 +41,7 @@ kotlin {
|
||||
|
||||
```kotlin
|
||||
dependencies {
|
||||
implementation("com.vitorpamplona.quartz:quartz:1.12.5")
|
||||
implementation("com.vitorpamplona.quartz:quartz:1.12.6")
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## Current version
|
||||
|
||||
```
|
||||
com.vitorpamplona.quartz:quartz:1.12.5
|
||||
com.vitorpamplona.quartz:quartz:1.12.6
|
||||
```
|
||||
|
||||
Check latest: https://central.sonatype.com/artifact/com.vitorpamplona.quartz/quartz
|
||||
@@ -16,7 +16,7 @@ Check latest: https://central.sonatype.com/artifact/com.vitorpamplona.quartz/qua
|
||||
|
||||
```toml
|
||||
[versions]
|
||||
quartz = "1.12.5"
|
||||
quartz = "1.12.6"
|
||||
|
||||
[libraries]
|
||||
quartz = { module = "com.vitorpamplona.quartz:quartz", version.ref = "quartz" }
|
||||
@@ -55,7 +55,7 @@ kotlin {
|
||||
```kotlin
|
||||
// build.gradle.kts (app module)
|
||||
dependencies {
|
||||
implementation("com.vitorpamplona.quartz:quartz:1.12.5")
|
||||
implementation("com.vitorpamplona.quartz:quartz:1.12.6")
|
||||
}
|
||||
```
|
||||
|
||||
@@ -70,7 +70,7 @@ plugins {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation("com.vitorpamplona.quartz:quartz:1.12.5")
|
||||
implementation("com.vitorpamplona.quartz:quartz:1.12.6")
|
||||
// JNA needed for libsodium (NIP-44) on JVM
|
||||
implementation("net.java.dev.jna:jna:5.18.1")
|
||||
}
|
||||
|
||||
@@ -297,16 +297,16 @@ repositories {
|
||||
Add the following line to your `commonMain` dependencies:
|
||||
|
||||
```gradle
|
||||
implementation('com.vitorpamplona.quartz:quartz:1.12.5')
|
||||
implementation('com.vitorpamplona.quartz:quartz:1.12.6')
|
||||
```
|
||||
|
||||
Variations to each platform are also available:
|
||||
|
||||
```gradle
|
||||
implementation('com.vitorpamplona.quartz:quartz-android:1.12.5')
|
||||
implementation('com.vitorpamplona.quartz:quartz-jvm:1.12.5')
|
||||
implementation('com.vitorpamplona.quartz:quartz-iosarm64:1.12.5')
|
||||
implementation('com.vitorpamplona.quartz:quartz-iossimulatorarm64:1.12.5')
|
||||
implementation('com.vitorpamplona.quartz:quartz-android:1.12.6')
|
||||
implementation('com.vitorpamplona.quartz:quartz-jvm:1.12.6')
|
||||
implementation('com.vitorpamplona.quartz:quartz-iosarm64:1.12.6')
|
||||
implementation('com.vitorpamplona.quartz:quartz-iossimulatorarm64:1.12.6')
|
||||
```
|
||||
|
||||
Check versions on [MavenCentral](https://central.sonatype.com/search?q=com.vitorpamplona.quartz)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
Release notes for Amethyst, one file per version. Files are named with zero-padded version numbers so they sort correctly in any file browser. Use [`TEMPLATE.md`](TEMPLATE.md) as the starting point for the next release.
|
||||
|
||||
- [v1.12.6 — Napplets, Static Sites & Cashu Multi-Mint](v1.12.06.md)
|
||||
- [v1.12.5 — macOS Desktop Signing Fix (cont.)](v1.12.05.md)
|
||||
- [v1.12.4 — macOS Desktop Signing Fix](v1.12.04.md)
|
||||
- [v1.12.3 — Relay Latency Health & a macOS Notarization Fix](v1.12.03.md)
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
# 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._
|
||||
@@ -2,8 +2,8 @@
|
||||
# Amethyst app version — single source of truth consumed by both Android (amethyst/)
|
||||
# and Desktop (desktopApp/). `appCode` is the Android versionCode: a monotonic
|
||||
# integer that must increment on every release, even when `app` is unchanged.
|
||||
app = "1.12.5"
|
||||
appCode = "453"
|
||||
app = "1.12.6"
|
||||
appCode = "454"
|
||||
accompanistAdaptive = "0.37.3"
|
||||
cachemapVersion = "0.2.4"
|
||||
composeMultiplatform = "1.11.1"
|
||||
|
||||
Reference in New Issue
Block a user