Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,4 @@ replay_pid*.log
# Keystore files — never commit signing keys
*.jks
*.keystore
.idea/
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,17 @@ Date: Late March 2026

- (Work in progress)

---
## v9.6.14
Date: 2026-03-18

### Highlights
- Moved to Kotatsu-Redo parsers thanks to the Kotatsu-Redo dev.
- Fixed SSL errors.
- New website landing page.

### Fixes
- Fixed Reproducible builds issue.

---
## v9.6.13
Expand Down
33 changes: 18 additions & 15 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ android {
minSdk = 23
targetSdk = 36
versionCode project.hasProperty('versionCode') ? project.property('versionCode').toInteger() : 90614
versionName project.hasProperty('versionName') ? project.property('versionName') : '9.6.13'
versionName project.hasProperty('versionName') ? project.property('versionName') : '9.6.14'
generatedDensities = []
testInstrumentationRunner 'io.github.landwarderer.futon.HiltTestRunner'
ksp {
Expand Down Expand Up @@ -210,6 +210,7 @@ dependencies {
implementation libs.kizzyrpc

implementation libs.conscrypt.android
implementation libs.sentry.android

debugImplementation libs.leakcanary.android
nightlyImplementation libs.leakcanary.android
Expand All @@ -233,19 +234,21 @@ dependencies {
kspAndroidTest libs.hilt.android.compiler
}


sentry {
org = "appfuton"
projectName = "android"

// this will upload your source code to Sentry to show it as part of the stack traces
// disable if you don't want to expose your sources
includeSourceContext = true

// Skip all Sentry Gradle plugin tasks (source upload, mapping upload, etc.)
// if SENTRY_AUTH_TOKEN is not provided — avoids build errors in local/dev environments
def sentryAuthToken = System.getenv('SENTRY_AUTH_TOKEN')
includeSourceContext = sentryAuthToken != null && !sentryAuthToken.isEmpty()
autoUploadProguardMapping = sentryAuthToken != null && !sentryAuthToken.isEmpty()
autoUploadSourceContext = sentryAuthToken != null && !sentryAuthToken.isEmpty()
org = "appfuton"
projectName = "android"
authToken = System.getenv('SENTRY_AUTH_TOKEN') ?: ''

// Disable all uploads
includeSourceContext = false
autoUploadProguardMapping = false
autoUploadSourceContext = false

// Disable instrumentation that causes manifest/UUID changes
tracingInstrumentation { enabled = false }
autoInstallation { enabled = false }

// Disable telemetry and dependency reporting that cause non-deterministic builds
includeDependenciesReport = false
telemetry = false
}
4 changes: 2 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
package="io.github.landwarderer.futon"
android:versionCode="90613"
android:versionName="9.6.13"
android:versionCode="90614"
android:versionName="9.6.14"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class AppUpdateRepository @Inject constructor(
val json = JSONObject(response.body?.string() ?: "{}")

val currentVersion = VersionId(BuildConfig.VERSION_NAME)
val releaseVersion = VersionId(json.getString("name").removePrefix("v"))
val releaseVersion = VersionId(json.getString("tag_name").removePrefix("v"))

// Only return update if there's a newer version available
if (releaseVersion <= currentVersion) {
Expand Down
4 changes: 3 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,12 @@ material = "1.14.0-alpha05"
moshi = "1.15.2"
okhttp = "5.2.1"
okio = "3.16.1"
parsers = "e7302508ac"
parsers = "4c0ce00c35"
preference = "1.2.1"
recyclerview = "1.4.0"
room = "2.7.2"
serialization = "1.9.0"
sentry = "8.36.0"
ssiv = "v4.1"
swiperefreshlayout = "1.1.0"
testRules = "1.7.0"
Expand Down Expand Up @@ -112,6 +113,7 @@ okhttp = { module = "com.squareup.okhttp3:okhttp" }
okhttp-dnsoverhttps = { module = "com.squareup.okhttp3:okhttp-dnsoverhttps" }
okhttp-tls = { module = "com.squareup.okhttp3:okhttp-tls" }
okio = { module = "com.squareup.okio:okio", version.ref = "okio" }
sentry-android = { module = "io.sentry:sentry-android", version.ref = "sentry" }
ssiv = { module = "com.github.AppFuton:subsampling-scale-image-view", version.ref = "ssiv" }
workinspector = { module = "com.github.Koitharu:WorkInspector", version.ref = "workinspector" }
androidx-window = { module = "androidx.window:window", version.ref = "window" }
Expand Down
10 changes: 10 additions & 0 deletions metadata/changelogs/90614.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Date: 2026-03-18
Highlights

- Moved to Kotatsu-Redo parsers thanks to the Kotatsu-Redo dev.
- Fixed SSL errors.
- New website landing page.

Fixes

- Fixed Reproducible builds issue.
Loading