All notable changes to this project will be documented in this file.
The format is a modified version of Keep a Changelog, and this project adheres to Semantic Versioning.
Added
- for new features.Changed
- for changes in existing functionality.Improved
- for enhancement or optimization in existing functionality.Removed
- for now removed features.Fixed
- for any bug fixes.Other
- for technical stuff.
- Bump default user agent
- Fixed "currentTab was used multiple times"
- Fixed a rare crash when invoking "Mark previous as read" action
- Fixed long strip images not loading in some old devices
- Bangumi search now shows the score and summary of a search result (@MajorTanya) (#1396)
- Extension repo URLs are now auto-formatted (@AntsyLich, @MajorTanya)
v0.17.0 - 2024-10-26
- Option to disable reader zoom out (@Splintorien) (#302)
- Source name and tracker urls to app generated
ComicInfo.xml
file (@Shamicen) (#459) - Option to migrate in Duplicate entry dialog (@sirlag) (#492)
- Upcoming screen to visualize expected update dates (@sirlag) (#420)
- Only show upcoming updates in the future (@sirlag) (#606)
- Add Quantity Badge to Upcoming Screen (@Animeboynz, @AntsyLich) (#1250)
- Crash screen error message to the top of the crash log generated from that screen (@FooIbar) (#742)
- Support for 7Zip and RAR5 archives (@FooIbar) (#949)
- Extra configuration options to e-ink page flashes (@sirlag) (#625)
- 8-bit+ AVIF image support (@WerctFourth) (#971)
- Smart update dialog message when no predicted released date exists (@Animeboynz) (#977)
- Option to copy reader panel to clipboard (@Animeboynz) (#1003)
- Copy Tracker URL option to tracker sheet (@mm12) (#1101)
- A button to exclude all scanlators in exclude scanlators dialog (@AntsyLich) (
84b2164
) - Open in browser option to reader menu (@mm12) (#1110)
- Reorder reader menu overflow items (@AntsyLich) (
788235f
)
- Reorder reader menu overflow items (@AntsyLich) (
- Option to skip downloading duplicate read chapters (@shabnix) (#1125)
- Add confirmation dialog when adding repo via URI (@Animeboynz) (#1158)
- Add "show entry" action to download notifications (@mm12, @AntsyLich) (#1159)
- Option to update trackers when chapter marked as read (@Animeboynz, @AntsyLich) (#1177, #1365, #1374)
- Toast to restart app when User-Agent is changed (@NGB-Was-Taken) (#1204)
- Added more profile compilation status (p) (
c8bb78d
) - Add option to opt out of Analytics and Crashlytics (@Animeboynz) (#1237)
- Rework Firebase setup (@AntsyLich) (
15e3f28
)
- Rework Firebase setup (@AntsyLich) (
- Added random library sort (@jackhamilton) (#1317)
- Make sure random library sort is at the bottom (@AntsyLich) (
2e2c8d3
)
- Make sure random library sort is at the bottom (@AntsyLich) (
- Confirmation dialog when removing privately installed extensions (@Animeboynz, @AntsyLich) (#1320)
- Option to backup non-library read entries (@Animeboynz, @jobobby04, @AntsyLich) (#1324)
- Read archive files from memory instead of temporarily extracting to internal storage (@FooIbar) (#326)
- Bump default user agent (@AntsyLich) (
8160b47
) - Wait for sources to be initialized before performing source related tasks (@jobobby04) (
a08e03f
) - Duplicate entry dialog UI (@sirlag) (#492)
- Extension trust system
- Store extension repo details from
repo.json
in database (@sirlag) (#506)- Fix extension repo migration not triggering (@AntsyLich) (
9672ea8
) - Refactor the ExtensionRepoService to use DTOs (@MajorTanya) (#573)
- Fix extension repo name is used to construct URL instead of baseUrl (@MajorTanya) (#572)
- Fix crash with
TypeReference
issue when creating extension repo (@AntsyLich) (#574,e020ae5
)- Fix mishap in
e020ae5
(@AntsyLich) (6965e59
)
- Fix mishap in
- Backup and Restore (@Animeboynz) (#1057)
- Fix extension repo migration not triggering (@AntsyLich) (
- Trust extension by repo (@AntsyLich) (#570)-
- Store extension repo details from
- From M2 ripple to M3 (@FooIbar) (#675)
- Increased continue reading button size (@AntsyLich, @Animeboynz) (
e17f70f
) - Global search "Has result" choice is now sticky (@AntsyLich) (
5a61ca5
) - Make category backup/restore not dependant on library backup (@AntsyLich) (
56fb4f6
) - Rename backup restore error log file (@AntsyLich) (
2858ef8
) - Keyboard type in add extension repo dialog (@xbjfk) (#764)
- Adjust collapse/open animation on manga description (@AntsyLich, @ivaniskandar) (
1c16fc7
) - Kitsu domain to
kitsu.app
(@MajorTanya) (#1106) - Respect privacy settings in extension update notification (@Animeboynz) (#1156)
- Hide keyboard when a Tracker SearchResultItem is clicked (@Animeboynz) (#1168)
- Enable 'Split Tall Images' by default (@Smol-Ame) (#1185)
- Ignore "intent://" urls on webview (@bapeey) (#1193)
- Make reader chapter navigator slightly wider on small screens (p) (#1202)
- Re-enable fetching chapters list for entries with licenced status (@Animeboynz) (#1230)
- Change casing for Extention Repos String (@Animeboynz) (#1248)
- Retain remote last chapter read if it's higher than the local one for EnhancedTracker (@brewkunz) (#1301)
- Adjust expandable fab animation (p) (
eb6092b
) - "Invalidate downloads index" to "Reindex downloads" (@AntsyLich) (
d2afbfe
)
- Reader performance
- Avoid unnecessary copying when processing reader image (@FooIbar) (#691)
- Significantly improve performance when loading extremely long images in long strip mode (@FooIbar) (#692)
- Use
Bitmap.Config.HARDWARE
if possible to improve image loading speed (@wwww-wwww) (#687) - Improve preloading in long strip mode (@FooIbar) (#1076)
- Performance when looking up specific files (@raxod502) (#728)
- Chapter number parsing (@Naputt1) (
6a80305
) - Error message on restoring if backup decoding fails (@vetleledaal) (#1056)
- Legacy download folder names no longer supported (@AntsyLich) (
e55e5f6
) - Remove legacy broken source and history backup (@AntsyLich) (
518abf0
) - Remove more unnecessary permissions from Firebase dependency (@AntsyLich) (
02af9b1
)- Fix mishap in
02af9b1
(@AntsyLich) (f22767d
)
- Fix mishap in
- Extracting
ComicInfo.xml
from local source archives (@FooIbar) (#325) - Chapter download indicator (@ivaniskandar) (
d8b9a9f
) - Issues with shizuku in a multi user setup (@Redjard) (#494)
- Fix reader page image not being decoded until it's visible (@FooIbar) (#563)
- Reader chapter progress slider visuals (@FooIbar) (#674)
- Extension being marked as not installed instead of untrusted after updating with private installer (@AntsyLich) (
2114514
) - Extension update counter not updating due to extension being marked as untrusted (@AntsyLich) (
2114514
) Key "extension-XXX-YYY" was already used
crash (@AntsyLich) (2114514
)- Navigation layout tap zones shifting after zooming out in webtoon readers (@FooIbar) (#767)
- Some extension not loading due to missing classes (@AwkwardPeak7) (#783)
- Theme colors in accordance to upstream changes (@CrepeTF, @AntsyLich) (#766, #963, #976, 9a34ace)
- Crash when requesting folder access on non-conforming devices (@mainrs) (#726)
- Fix unexpected skips in strong skipping mode (@FooIbar) (#940)
- Bugged color for Date/Scanlator in chapter list for read chapters (@ivaniskandar) (
15d9992
) - Categories having same
order
after restoring backup (@Cologler) (119bcbf
) - Filter by "Tracking" temporarily stuck after signing out of tracker (@AntsyLich) (#987)
- Fix login prompts despite being logged in to trackers in Manga screen (@AntsyLich) (
cbcd8bd
)
- Fix login prompts despite being logged in to trackers in Manga screen (@AntsyLich) (
- JXL image downloading and loading (@FooIbar) (#993)
- Crash when using
%
in category name (@Animeboynz, @FooIbar) (#1030) - Fix item disappearing when fast scrolling (@cuong-tran) (#1035)
- Library is backed up while being disabled (@AntsyLich) (
56fb4f6
) - Crash on list with only sticky header (@cuong-tran) (#1083)
- Crash when trying to clear cookies of some source (@FooIbar) (#1084)
- MAL search results not showing start dates (@MajorTanya) (#1098)
- Android SDK 35 API collision (@AntsyLich) (
fdb9617
) - Manga next update calculation when considering custom fetch interval (@cuong-tran) (#1206)
- WheelPicker Manual Input (@Animeboynz) (#1209)
- EnhancedTracker not auto binding when adding manga to library (@brewkunz) (#1298)
- Step count in settings slider (@abdurisaq) (#1356)
- Freezing in some screens due to blocking call (@cuong-tran) (#1364)
- Crash when removing non-existent tracked entry from tracker (@cuong-tran) (#1380)
- Code cleanup
- Minor refactor of theming when expressions (@MajorTanya) (#396)
- Inside
WorkerInfoScreen
(@AntsyLich) (5aec8f8
) - Inside
ChapterDownloadIndicator
,MangaChapterListItem
(@AntsyLich) (b7e091d
) - MangaCoverFetcher (@ivaniskandar) (
1365695
)
- Cleanup
LibraryScreenModel
LibraryMap.applySort
and some more (@AntsyLich) (2beb89d
) - Address
overridePendingTransition
deprecation (@MajorTanya) (#410) - Prioritize extension classes and files over app (@beer-psi) (#433)
- Use compose pager implementation (@ivaniskandar) (
84984ef
) - Switch to coil3 from coil2 (@ivaniskandar) (
f72b6e4
)- Fix GIF not playing (@jobobby04) (
59bedb3
)
- Fix GIF not playing (@jobobby04) (
- Accommodate db for sync support (@kaiserbh) (#450)
- Fix webtoon last visible item position calculation (@FooIbar) (#562)
- Migrate from
com.google.accompanist:accompanist-webview
toio.github.kevinnzou:compose-webview
(@sirlag) (#569) - Rewrite migrations (@ghostbear) (#577)
- Further improve migration (@ghostbear) (#588)
- Fix migrations not running (@ghostbear) (#604)
- Fix MigratorTest after updating to Kotlin 2 (@cuong-tran) (#896)
- Add MigratorTest to build script (@cuong-tran) (#896)
- Fix UI freeze after migration (@AntsyLich) (
3f1d28c
) - Fix some migrations never running (@MajorTanya, @AntsyLich) (#1030)
- Add ProGuard rule to keep
mihon
namespace classes (@MajorTanya) (#605) - Use gradle plugins to share build configuration instead of subprojects (@AntsyLich) (
e448e40
) - Remove dependency on compose material 2 components (@AntsyLich) (
fb94230
) - Upload PR build artifacts to GitHub (@FooIbar) (#941)
- Refactor archive support with libarchive (@FooIbar) (#949)
- Add safeguard to prevent ArchiveInputStream from being closed twice (@null2264) (#967)
- Move archive related code to :core:archive (@AntsyLich) (
bd7b354
)
- Replace detekt with ktlint via spotless (@AntsyLich) (#1130, #1136, #1138)
- Refrain from running spotless on weblate files (@AntsyLich) (
32d2c2a
)
- Refrain from running spotless on weblate files (@AntsyLich) (
- Use feature flags in compose compiler plugin (@AntsyLich) (
8f9a325
)- PagerPageHolder: lazy init loading indicator (@AntsyLich, @ivaniskandar) (a45eb5e
) - Collect MangaScreen state with lifecycle (@AntsyLich, @ivaniskandar) (
03eb756
) - Add stable marker to Manga data class (@AntsyLich, @ivaniskandar) (
03eb756
) - Use DTOs to parse tracking API responses (@MajorTanya) (#1103)
- Fix Kitsu ratingTwenty being typed as String (@MajorTanya) (#1191)
- Fix Kitsu
synopsis
nullability (@MajorTanya) (#1233) - Fix AniList
ALSearchItem.status
nullibility (@Secozzi) (#1297)
- Migrate some classpaths to gradle plugins (@AntsyLich) (
fc1c804
) - Add crashlytics to standard builds (@AntsyLich) (
3c611b9
) - Switch to stable compose (@AntsyLich) (
2baffa6
) - Switch from inorichi injekt to kohesive Injekt (@AntsyLich) (#1205)
- Use custom injekt register with inorichi patch (@AntsyLich) (
83fd474
)
- Use custom injekt register with inorichi patch (@AntsyLich) (
- Use TextFieldState in BasicTextField where applicable (p) (#1201)
- Bump NDK version (@AntsyLich) (#1203)
- Move firebase permission removal to standard flavor (@AntsyLich) (
be671b4
) - Adjust distinct checker in WidgetManager and run on default dispatcher (p) (
9b8ab6a
) - Update resources exclusion rules (p) (
481cfed
) - Bump compile sdk to 35 (p) (
37419cd
) - ChapterNavigator: dispatch page change only when needed (p) (
f84d9a0
) - Remove usage of deprecated accompanist SystemUiController (@AntsyLich) (
2ba3f06
) - Run PR check when base strings are changed (@AntsyLich) (
4051f18
)- Fix PR build check (@AntsyLich) (
9503082
)
- Fix PR build check (@AntsyLich) (
- Cleanup .gitignore files (@AntsyLich) (
afa5002
) - Pass uncaught exception to default handler in GlobalExceptionHandler (so it's reported to crashlytics) (@AntsyLich) (
f3a2f56
)
v0.16.5 - 2024-04-09
- Relative date for up to a week in the future (@sirlag) (#415)
- Advance setting to install custom color profiles (@wwww-wwww) (#523)
- Permanently enable 32-bit color mode (@wwww-wwww) (#523)
- Wrong dates in Updates and History tab due to time zone issues (@sirlag) (#402)
- Fix extra date header introduced by parent PR (@sirlag) (#415)
- Fix build time in about screen displayed in UTC (@AntsyLich) (
aed53d3
)
- App infinitely retries tracker update instead of failing after 3 tries (@MajorTanya) (#411)
- Crash on Pixel devices (was introduced due to compose update) (
ab06720
) - Crash when opening some heif/heic images (@az4521) (#466)
- Crash when putting app in background while track date selection dialog is open (@ivaniskandar) (
c348fac
) - Dates for saved images not following the specification (fixes date issue mainly on Samsung devices) (@MajorTanya) (#552)
- Colors getting distorted when opening CMYK jpeg images (@wwww-wwww) (#523)
v0.16.4 - 2024-02-27
- Don't include custom user agent for MAL (circumvents MAL block) (@AntsyLich) (
085ad8d
)
v0.16.3 - 2024-01-30
- Copy extension debug info when clicking logo or name in the extension details screen (@MajorTanya) (#271)
- Hide display cutoff setting in reader settings sheet if fullscreen is disabled (@Riztard) (#241)
- Library update error filename to
mihon_update_errors.txt
fromtachiyomi_update_errors.txt
(@mjishnu) (#253)
- Bottom sheet UI issues on non-tablet devices (@theolm) (#182)
- Crash when switching screen while a list is scrolling (@theolm) (#272)
- Newly installed extensions not being recognized by Mihon (@AwkwardPeak7) (#275)
- Failing to refresh MAL token being inferred as token expiration (@AntsyLich) (
0f4de03
)
v0.16.2 - 2024-01-28
- Backup now contains scanlator filter of a series (@jobobby04) (#166)
- App icon scaling (@AntsyLich) (
26815c7
) - Tracker OAuth client to Mihon's (fixes login issue for Shikimori tracker) (@AntsyLich) (
e3f33e2
) - Tracker user agents (@AntsyLich, @kitsumed) (
e3f33e2
) - Crash log filename to
mihon_crash_logs.txt
fromtachiyomi_crash_logs.txt
(@MajorTanya) (#234) - Don't try to refresh MAL token after refresh token expires (@AntsyLich) (
32188f9
)
- "Flash screen on page change" making the screen full black (@AntsyLich) (
38d6ab8
) - Faulty MangaUpdates score in database (@AntsyLich (
a024218
- Updating extension not reflecting correctly (@AntsyLich) (
cb06898
) - Inconsistent button height in "Data and storage" for some languages (@theolm) (#202)
- Chapter not being marked as read locally when refreshing Enhanced Trackers (@Secozzi) (#219)
- Make
last_modified_at
field in database be0
on insert (@kaiserbh) (#113) - Remove usage of
.not()
where possible in code (@AntsyLich) (3940740
) - Use type-safe project accessors (@theolm) (#194)
- Legacy tracker model properties now has the same type as the domain ones (@AntsyLich) (#245)
v0.16.1 - 2024-01-18
- Branding to Mihon (for references we missed) (@AntsyLich) (
6539406
) - Preview builds are now called Beta builds (@AntsyLich) (
3c3a1cd
)
- App icon not following the specification (@AntsyLich) (
1849715
) - MangaUpdates default score being set to -1.0 (@AntsyLich) (
99fd273
)
v0.16.0 - 2024-01-16
- Branding to Mihon (@AntsyLich)
- Minimum supported Android version to 8 (@AntsyLich) (
dfb3091
)