diff --git a/.claude/skills/android-expert/SKILL.md b/.claude/skills/android-expert/SKILL.md index 826d3e727..6b0ee1577 100644 --- a/.claude/skills/android-expert/SKILL.md +++ b/.claude/skills/android-expert/SKILL.md @@ -745,8 +745,8 @@ android { applicationId = "com.vitorpamplona.amethyst" minSdk = 26 // Android 8.0 (Oreo) targetSdk = 36 // Android 15 - versionCode = 442 - versionName = "1.09.1" + versionCode = 444 + versionName = "1.09.2" vectorDrawables { useSupportLibrary = true diff --git a/.claude/skills/quartz-integration/SKILL.md b/.claude/skills/quartz-integration/SKILL.md index 6bbbfa039..c80d5bd8b 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.09.1` (Maven Central) +**Published artifact**: `com.vitorpamplona.quartz:quartz:1.09.2` (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.09.1" +quartz = "1.09.2" [libraries] quartz = { module = "com.vitorpamplona.quartz:quartz", version.ref = "quartz" } @@ -41,7 +41,7 @@ kotlin { ```kotlin dependencies { - implementation("com.vitorpamplona.quartz:quartz:1.09.1") + implementation("com.vitorpamplona.quartz:quartz:1.09.2") } ``` diff --git a/.claude/skills/quartz-integration/references/gradle-setup.md b/.claude/skills/quartz-integration/references/gradle-setup.md index 65e8083fe..3b80e9690 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.09.1 +com.vitorpamplona.quartz:quartz:1.09.2 ``` 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.09.1" +quartz = "1.09.2" [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.09.1") + implementation("com.vitorpamplona.quartz:quartz:1.09.2") } ``` @@ -70,7 +70,7 @@ plugins { } dependencies { - implementation("com.vitorpamplona.quartz:quartz:1.09.1") + implementation("com.vitorpamplona.quartz:quartz:1.09.2") // JNA needed for libsodium (NIP-44) on JVM implementation("net.java.dev.jna:jna:5.18.1") } diff --git a/.claude/skills/quartz-kmp.md b/.claude/skills/quartz-kmp.md index 22b7b3298..be864ab05 100644 --- a/.claude/skills/quartz-kmp.md +++ b/.claude/skills/quartz-kmp.md @@ -17,7 +17,7 @@ The Quartz library was successfully converted from Android-only to full KMP supp ## Current artifact ``` -com.vitorpamplona.quartz:quartz:1.09.1 +com.vitorpamplona.quartz:quartz:1.09.2 ``` See `.claude/skills/quartz-integration/SKILL.md` for full integration guide. \ No newline at end of file diff --git a/BUILDING.md b/BUILDING.md index 90144abf5..4261fb0e7 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -107,11 +107,11 @@ amethyst-desktop---. Where: -| Field | Values | -|---|---| -| `` | Tag stripped of leading `v` (e.g. `1.09.1`) | -| `` | `macos`, `windows`, `linux` | -| `` | `x64`, `arm64` | +| Field | Values | +|---|---------------------------------------------------------| +| `` | Tag stripped of leading `v` (e.g. `1.09.2`) | +| `` | `macos`, `windows`, `linux` | +| `` | `x64`, `arm64` | | `` | `dmg`, `msi`, `zip`, `deb`, `rpm`, `AppImage`, `tar.gz` | Single source of truth: [`scripts/asset-name.sh`](scripts/asset-name.sh). @@ -120,10 +120,10 @@ any change is a breaking contract. Examples: -- `amethyst-desktop-1.09.1-macos-x64.dmg` -- `amethyst-desktop-1.09.1-macos-arm64.dmg` -- `amethyst-desktop-1.09.1-windows-x64.msi` -- `amethyst-desktop-1.09.1-linux-x64.AppImage` +- `amethyst-desktop-1.09.2-macos-x64.dmg` +- `amethyst-desktop-1.09.2-macos-arm64.dmg` +- `amethyst-desktop-1.09.2-windows-x64.msi` +- `amethyst-desktop-1.09.2-linux-x64.AppImage` --- @@ -219,8 +219,8 @@ or equivalent issue tracker. On rotation, paste new token and run ```bash brew bump-cask-pr amethyst-nostr \ - --version 1.09.1 \ - --url "https://github.com/vitorpamplona/amethyst/releases/download/v1.09.1/amethyst-desktop-1.09.1-macos-arm64.dmg" + --version 1.09.2 \ + --url "https://github.com/vitorpamplona/amethyst/releases/download/v1.09.2/amethyst-desktop-1.09.2-macos-arm64.dmg" ``` The cask filename is `amethyst-nostr` (not `amethyst` — that's taken by a @@ -231,7 +231,7 @@ auto-submits new version bumps on each stable release. ```bash wingetcreate new \ - https://github.com/vitorpamplona/amethyst/releases/download/v1.09.1/amethyst-desktop-1.09.1-windows-x64.msi + https://github.com/vitorpamplona/amethyst/releases/download/v1.09.2/amethyst-desktop-1.09.2-windows-x64.msi ``` Set `PackageIdentifier = VitorPamplona.Amethyst`. After the first manifest is diff --git a/CHANGELOG.md b/CHANGELOG.md index d841cbb6f..fad3dd0fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ + Fixes + +- Fix Blossom blob detection to reject non-compliant filenames by @greenart7c3 in #2919 +- fix(desktop): add ProGuard keep rules so desktop builds actually launch by @mstrofnone in #2921 +- fix(desktop): mirror Android ProGuard strategy for release builds by @mstrofnone in #2922 +- fix(video): pause playback when app goes to background by @vitorpamplona in #2925 +- feat(desktop): wire NamecoinSettingsSection into Settings screen by @mstrofnone in #2923 +- feat(desktop): wire Import Follow List dialog into UI by @mstrofnone in #2924 +- Fix crash when toggling home tabs with persisted pager state by @vitorpamplona in #2930 +- Dedupe public channels in known chat list by channel id by @vitorpamplona in #2932 +- Route NIP-43 relay join/leave through launchSigner by @vitorpamplona in #2933 +- Migrate DNS cache from SharedPreferences to cacheDir by @vitorpamplona in #2935 +- Filter DNS poison (loopback / any-local) from non-loopback hosts by @vitorpamplona in #2936 +- perf(dns-cache): hand-rolled binary persistence format for SurgeDnsStore by @vitorpamplona in #2937 +- Ignore duplicated hashtags in different char cases when processing hashtag spam by @vitorpamplona +- New Crowdin translations + + Activates Nest, Git Screens and Fixes + +- Activates Nest option in the Left Drawer +- Rename onRefresh callback to avoid shadowing parameter by @vitorpamplona in #2912 +- Fix desktop app ProGuard build with Compose 1.11.0 by @vitorpamplona in #2914 +- Fix pull-to-refresh indicator positioning in DisappearingScaffold by @vitorpamplona in #2916 +- Remove collectAsStateWithLifecycle from BottomBarSettingsContent by @vitorpamplona in #2918 +- Add Git repository detail screen with issues/patches tabs by @vitorpamplona in #2917 + # [Release v1.09.0: We are going crazy](https://github.com/vitorpamplona/amethyst/releases/tag/v1.09.0) - 2026-05-14 diff --git a/amethyst/build.gradle b/amethyst/build.gradle index 05ac66762..007d3d387 100644 --- a/amethyst/build.gradle +++ b/amethyst/build.gradle @@ -54,7 +54,7 @@ android { applicationId = "com.vitorpamplona.amethyst" minSdk = libs.versions.android.minSdk.get().toInteger() targetSdk = libs.versions.android.targetSdk.get().toInteger() - versionCode = 444 + versionCode = 445 versionName = generateVersionName(libs.versions.app.get()) buildConfigField "String", "RELEASE_NOTES_ID", "\"b1b91d7ee0c5da9d081d1a53470248ee4585b058b11aa34fe28c0e3e07ac1e0a\"" diff --git a/docs/plans/2026-04-28-multi-account-testing-sheet.md b/docs/plans/2026-04-28-multi-account-testing-sheet.md index 1e03430c7..198774e99 100644 --- a/docs/plans/2026-04-28-multi-account-testing-sheet.md +++ b/docs/plans/2026-04-28-multi-account-testing-sheet.md @@ -103,4 +103,4 @@ ## Test Environment - OS: - JDK version: -- Amethyst version: 1.09.1 (feat/desktop-multi-account) +- Amethyst version: 1.09.2 (feat/desktop-multi-account) diff --git a/geode/src/main/kotlin/com/vitorpamplona/geode/RelayInfo.kt b/geode/src/main/kotlin/com/vitorpamplona/geode/RelayInfo.kt index a25f2c806..da0b54c10 100644 --- a/geode/src/main/kotlin/com/vitorpamplona/geode/RelayInfo.kt +++ b/geode/src/main/kotlin/com/vitorpamplona/geode/RelayInfo.kt @@ -41,7 +41,7 @@ data class RelayInfo( const val NAME = "geode" const val DESCRIPTION = "Embedded Nostr relay from the Amethyst quartz library." const val SOFTWARE = "https://github.com/vitorpamplona/amethyst/tree/main/geode" - const val VERSION = "1.09.1" + const val VERSION = "1.09.2" /** * NIPs this relay implements out of the box. Single source of diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dbec90a7b..8bf31c382 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ # Amethyst app version — single source of truth consumed by both Android (amethyst/) # and Desktop (desktopApp/). Android versionCode is bumped independently in # amethyst/build.gradle because it must be a monotonic integer. -app = "1.09.1" +app = "1.09.2" accompanistAdaptive = "0.37.3" cachemapVersion = "0.2.4" composeMultiplatform = "1.11.0" diff --git a/quartz/build.gradle.kts b/quartz/build.gradle.kts index e30afeecc..e2388b831 100644 --- a/quartz/build.gradle.kts +++ b/quartz/build.gradle.kts @@ -370,7 +370,7 @@ mavenPublishing { coordinates( groupId = "com.vitorpamplona.quartz", artifactId = "quartz", - version = "1.09.1", + version = "1.09.2", ) // Configure publishing to Maven Central