diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml
index 966f166c68..6ea146ff52 100644
--- a/.github/workflows/debug.yml
+++ b/.github/workflows/debug.yml
@@ -31,7 +31,7 @@ jobs:
- name: Build debug APK
env:
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
- run: ./gradlew assembleDebug --stacktrace --info
+ run: ./gradlew assembleDebug --stacktrace --info --no-build-cache --no-configuration-cache
- name: Upload debug APK
uses: actions/upload-artifact@v4
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index f91f47cdaa..d64bf0d78d 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -76,7 +76,7 @@ jobs:
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- run: ./gradlew assembleNightly
+ run: ./gradlew assembleNightly --no-build-cache --no-configuration-cache
- name: Get version
id: version
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c4d93ef63e..490d766726 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -141,7 +141,8 @@ jobs:
run: |
./gradlew assembleRelease \
-PversionName=${{ steps.version.outputs.version }} \
- -PversionCode=${{ steps.version.outputs.version_code }}
+ -PversionCode=${{ steps.version.outputs.version_code }} \
+ --no-build-cache --no-configuration-cache
- name: Notify Discord - APK Build Complete
env:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aa49ecbd6f..54cd1f43b6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,12 +6,21 @@ The format is based on "Keep a Changelog" and follows semantic versioning where
## [Unreleased]
## 9.7
-Date: Late March 2026
+Date: 2026-04-27
### Highlights
-- UI reworks and new features.
+- Added Tachiyomi keiyoushi extension compatibility!
+- Updated adaptive icon with new monochrome layer and fixed transparency
+- New Futon splash icon
+- Recent manga can now be shown in the shelf widget
+- Added extension downloader activity with search functionality
+- Small UI changes (hide navigation bar labels by default, manga details panel background)
-- (Work in progress)
+### Fixes
+- Fixed adaptive icon and splash screen
+
+### Maintenance
+- Updated parsers
---
## v9.6.14
diff --git a/README.md b/README.md
index b9ec5196c7..e51ae7dd13 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,7 @@
* Online [manga catalogues](https://github.com/Kotatsu-Redo/kotatsu-parsers-redo) (with 1200+ manga sources)
+* Support for [Tachiyomi keiyoushi](https://github.com/keiyoushi/extensions) extensions
* Search manga by name, genres and more filters
* Favorites organized by user-defined categories
* Reading history, bookmarks and incognito mode support
@@ -171,6 +172,8 @@ We are deeply grateful to:
* **The Kotatsu community** for their contributions, testing, and support
* **All translators** who helped localize Kotatsu through [Weblate](https://hosted.weblate.org/engage/kotatsu/)
* **Parser contributors** who maintain the extensive library of [manga sources](https://github.com/Kotatsu-Redo/kotatsu-parsers-redo)
+* **[Kotatsu-Redo](https://github.com/Kotatsu-Redo/kotatsu-parsers-redo)** for continuing parser development and maintenance
+* **[Kototoro](https://github.com/Kototoro-app/Kototoro)** for the Tachiyomi extension integration guide
This project stands on the shoulders of giants. The Kotatsu team's dedication to creating a feature-rich, user-friendly manga reader has provided an incredible foundation for Futon to build upon.
diff --git a/app/build.gradle b/app/build.gradle
index e91724d544..f6a008bd60 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -30,8 +30,8 @@ android {
applicationId 'io.github.landwarderer.futon'
minSdk = 23
targetSdk = 36
- versionCode project.hasProperty('versionCode') ? project.property('versionCode').toInteger() : 90614
- versionName project.hasProperty('versionName') ? project.property('versionName') : '9.6.14'
+ versionCode project.hasProperty('versionCode') ? project.property('versionCode').toInteger() : 90700
+ versionName project.hasProperty('versionName') ? project.property('versionName') : '9.7'
generatedDensities = []
testInstrumentationRunner 'io.github.landwarderer.futon.HiltTestRunner'
ksp {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7651f0d9c6..d66f8a0578 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,8 +1,8 @@
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 23b60e8d73..b7013a404c 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -34,7 +34,7 @@ material = "1.14.0-alpha05"
moshi = "1.15.2"
okhttp = "5.2.1"
okio = "3.16.1"
-parsers = "4c0ce00c35"
+parsers = "59c033ecfd"
preference = "1.2.1"
quickjsKt = "1.0.5"
recyclerview = "1.4.0"
diff --git a/metadata/changelogs/90700.txt b/metadata/changelogs/90700.txt
new file mode 100644
index 0000000000..59bc289f9e
--- /dev/null
+++ b/metadata/changelogs/90700.txt
@@ -0,0 +1,17 @@
+Date: 2026-04-27
+Highlights
+
+- Added Tachiyomi keiyoushi extension compatibility!
+- Updated adaptive icon with new monochrome layer and fixed transparency
+- New Futon splash icon
+- Recent manga can now be shown in the shelf widget
+- Added extension downloader activity with search functionality
+- Small UI changes (hide navigation bar labels by default, manga details panel background)
+
+Fixes
+
+- Fixed adaptive icon and splash screen
+
+Maintenance
+
+- Updated parsers
diff --git a/metadata/en-US/full_description.txt b/metadata/en-US/full_description.txt
index 9d746f40b0..e251a33d2c 100644
--- a/metadata/en-US/full_description.txt
+++ b/metadata/en-US/full_description.txt
@@ -6,6 +6,7 @@ Note: Futon is an unofficial fork of Kotatsu
- Online manga catalogs (with 1100+ manga sources)
+- Support for Tachiyomi keiyoushi extensions
- Search manga by name, genres, and more filters
- Favorites organized by user-defined categories
- Reading history, bookmarks, and incognito mode support