diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 439d902..f889ddf 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -21,8 +21,8 @@ android { applicationId = "com.ninelivesaudio.app" minSdk = 30 targetSdk = 36 - versionCode = 214 - versionName = "2.1.4" + versionCode = 215 + versionName = "2.1.5" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/com/ninelivesaudio/app/ui/changelog/ChangelogData.kt b/app/src/main/java/com/ninelivesaudio/app/ui/changelog/ChangelogData.kt index ae1500d..7345976 100644 --- a/app/src/main/java/com/ninelivesaudio/app/ui/changelog/ChangelogData.kt +++ b/app/src/main/java/com/ninelivesaudio/app/ui/changelog/ChangelogData.kt @@ -16,8 +16,27 @@ object ChangelogData { val releases = listOf( ChangelogRelease( - version = "2.1.4", + version = "2.1.5", dateLabel = "Current", + sections = listOf( + ChangelogSection( + header = "Fixed", + entries = listOf( + "Your library catches up by itself when your server comes back.", + "Starting offline shows your saved books instead of a long spinner.", + "Downloaded books start right away when your server is unreachable.", + "Switching books no longer hangs while your server is down.", + "Play right after a download uses the downloaded copy.", + "A deleted download can be downloaded again.", + "Pause, cancel, and delete stick while a book is downloading.", + "The self-signed certificate setting works without a restart.", + ), + ), + ), + ), + ChangelogRelease( + version = "2.1.4", + dateLabel = "September 29, 2026", sections = listOf( ChangelogSection( header = "New", diff --git a/app/src/test/java/com/ninelivesaudio/app/ui/changelog/ChangelogDataTest.kt b/app/src/test/java/com/ninelivesaudio/app/ui/changelog/ChangelogDataTest.kt index f22293d..3f24b43 100644 --- a/app/src/test/java/com/ninelivesaudio/app/ui/changelog/ChangelogDataTest.kt +++ b/app/src/test/java/com/ninelivesaudio/app/ui/changelog/ChangelogDataTest.kt @@ -54,7 +54,7 @@ class ChangelogDataTest { @Test fun `releases are newest first and omit the unshipped version`() { assertEquals( - listOf("2.1.4", "2.0.1", "2.0.0", "1.0.1", "1.0", "0.95", "0.9", "0.6"), + listOf("2.1.5", "2.1.4", "2.0.1", "2.0.0", "1.0.1", "1.0", "0.95", "0.9", "0.6"), ChangelogData.releases.map { it.version }, ) } diff --git a/store-listing.md b/store-listing.md index fc696d2..3e76246 100644 --- a/store-listing.md +++ b/store-listing.md @@ -78,6 +78,10 @@ Android 11+ (API 30). ## What's New (Release Notes) +v2.1.5 + +Bug fixes for spotty servers. When your Audiobookshelf server drops and comes back, your library now catches up on its own. Starting offline shows your saved books fast, and downloaded books play right away even when the server is unreachable. Switching books no longer hangs on a dead server. Download pause, cancel, and delete now stick, a deleted download can be downloaded again, and the self-signed certificate setting works. + v2.1.4 Nine Lives is now free. Point it at a folder of audiobooks or your Audiobookshelf server and start listening. One optional unlock opens every speed, unlimited offline books, and the full sleep timer. Paid-app owners are grandfathered. New: silence skipping.