From 02ee493502907baad011ce2f1e35295ed6532ce8 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 17 Jun 2026 11:20:18 -0400 Subject: [PATCH] chore(release): 1.12.1 Bump the app version to 1.12.1 (versionCode 449) in the catalog, which now drives every module. Add the v1.12.01 changelog (Health Connect workouts, share-as-image, immersive system bars, deterministic Tor Active fix) and index it. Refresh the quartz-integration skill's artifact-version references. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/skills/quartz-integration/SKILL.md | 6 +- .../references/gradle-setup.md | 8 +-- docs/changelog/README.md | 1 + docs/changelog/v1.12.01.md | 55 +++++++++++++++++++ gradle/libs.versions.toml | 4 +- 5 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 docs/changelog/v1.12.01.md diff --git a/.claude/skills/quartz-integration/SKILL.md b/.claude/skills/quartz-integration/SKILL.md index dd50e7fc98..3747860330 100644 --- a/.claude/skills/quartz-integration/SKILL.md +++ b/.claude/skills/quartz-integration/SKILL.md @@ -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.0` (Maven Central) +**Published artifact**: `com.vitorpamplona.quartz:quartz:1.12.1` (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.0" +quartz = "1.12.1" [libraries] quartz = { module = "com.vitorpamplona.quartz:quartz", version.ref = "quartz" } @@ -41,7 +41,7 @@ kotlin { ```kotlin dependencies { - implementation("com.vitorpamplona.quartz:quartz:1.12.0") + implementation("com.vitorpamplona.quartz:quartz:1.12.1") } ``` diff --git a/.claude/skills/quartz-integration/references/gradle-setup.md b/.claude/skills/quartz-integration/references/gradle-setup.md index 428096a69f..5283a730f3 100644 --- a/.claude/skills/quartz-integration/references/gradle-setup.md +++ b/.claude/skills/quartz-integration/references/gradle-setup.md @@ -3,7 +3,7 @@ ## Current version ``` -com.vitorpamplona.quartz:quartz:1.12.0 +com.vitorpamplona.quartz:quartz:1.12.1 ``` 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.0" +quartz = "1.12.1" [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.0") + implementation("com.vitorpamplona.quartz:quartz:1.12.1") } ``` @@ -70,7 +70,7 @@ plugins { } dependencies { - implementation("com.vitorpamplona.quartz:quartz:1.12.0") + implementation("com.vitorpamplona.quartz:quartz:1.12.1") // JNA needed for libsodium (NIP-44) on JVM implementation("net.java.dev.jna:jna:5.18.1") } diff --git a/docs/changelog/README.md b/docs/changelog/README.md index 370aa06488..9a03e5721d 100644 --- a/docs/changelog/README.md +++ b/docs/changelog/README.md @@ -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.1 — Health Connect Workouts, Share as Image](v1.12.01.md) - [v1.12.0 — Payments, Private Posts & Workouts](v1.12.00.md) - [v1.11.0 — NIP-52 Calendars, On-Chain Zap Polish](v1.11.00.md) - [v1.10.0 — On-Chain zaps](v1.10.00.md) diff --git a/docs/changelog/v1.12.01.md b/docs/changelog/v1.12.01.md new file mode 100644 index 0000000000..7ea1721545 --- /dev/null +++ b/docs/changelog/v1.12.01.md @@ -0,0 +1,55 @@ +# v1.12.1: Health Connect Workouts, Share as Image + +Highlights: + +- Adds Health Connect: detect recorded workouts and suggest a NIP-101e post. +- Adds Share as Image: turn any note into an uploaded image and share it. +- Adds Immersive scrolling: hide the OS system bars while reading and in full-screen media. + +## New Features + +### Workouts + +- Detects workouts from Health Connect and suggests a kind 1301 post. +- Re-scans Health Connect when the app resumes. +- Adds a recent-workouts carousel to the New Workout composer. +- Moves Health Connect entirely into the New Workout composer. +- Defaults the workout distance unit to the phone's measurement system. +- Renders workout notes through the kind-1 text pipeline. +- Shows workout metrics in the viewer's own units. +- Records the source app or device name from Health Connect. +- Aligns Health Connect import with RUNSTR (active calories and title). +- Adds a Compose setting to disable workout suggestions. +- Limits the feed workout banner to today's workouts. + +### Sharing + +- Shares any note as an uploaded image. +- Adds a share-as-image screen with an image preview. + +### Reading + +- Hides the OS status bar during scroll immersive mode. +- Hides the OS system bars during full-screen media. + +## Improvements and Bug fixes + +- Modernizes the New Workout composer. +- Tightens the New Workout composer vertical spacing. +- Centers the activity type chips in the New Workout composer. +- Uses the Add icon on the New Workout FAB for consistency. +- Stops the connect card from flashing on every screen open. +- Keeps Health Connect prefs off the main thread (StrictMode). +- Adds the Android 14+ Health Connect permission rationale activity-alias. +- Polishes the share-as-image screen. +- Fixes a Tor race: sets Active deterministically so the bootstrap callback can't race it. + +## Desktop + +- Ships a consistent macOS .icns and multi-size Windows .ico. +- Excludes leaked kotlinx-coroutines-test from the release dmg. + +## Translations + +- Promotes Kenyan Swahili to the base resource qualifier. +- New Crowdin translations. diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 225e6b1583..a6fc33aa3b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -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.0" -appCode = "448" +app = "1.12.1" +appCode = "449" accompanistAdaptive = "0.37.3" cachemapVersion = "0.2.4" composeMultiplatform = "1.11.1"