Changelogs
Changelogs of all Mihon stable releases, which are also available on GitHub. Beta releases can be seen on GitHub.
0.19.1Latest
Check out the past release notes if you’re upgrading from an earlier version. Consider donating via Open Collective to help keep Mihon improving!
<!-->
🔄 Changes
- Local source now reads metadata from ComicInfo.xml when available, displaying chapter title, number, and scanlator information (@raxod502)
🗑️ Removed
- Removed predictive back support (@AntsyLich)
🐞 Fixes
- Fixed scrollbar not appearing during scrolling or not reaching the bottom when few items are present (@anirudhsnayak)
- Fixed local source EPUB files not loading (@AntsyLich)
- Fixed title text color in light mode on the mass migration list (@AntsyLich)
- Fixed 'Default' category appearing in the library when no user-defined categories exist (@AntsyLich)
- Fixed crash when opening the filter sheet with an empty library (@krysanify)
- Fixed mark as read/unread not working for selected items in the library (@krysanify)
<!-->
[!TIP]
If you are unsure which version to download then go with
mihon-v0.19.1.apk
0.19.0
Check out the past release notes if you’re upgrading from an earlier version. Consider donating via Open Collective to help keep Mihon improving!
<!-->
✨ New Features
- Added support for manga mass migration, allowing batch migration across sources (@AntsyLich, @jobobby04)
- Introduced user-defined manga notes (@imkunet, @AntsyLich)
- Enabled markdown support for manga descriptions with an optional to disable image loading (@Secozzi)
- Implemented full support for Android predictive back gesture navigation (@AntsyLich)
- Added an option to retain read manga when clearing the database (@AwkwardPeak7)
- Added an advanced setting to automatically update manga titles from the source (@FlaminSarge)
- Introduced two new themes: Nord, and Catppuccin with Mocha (dark) and Latte (light) variants featuring Mauve accent (@Riztard, @claymorwan)
- Expanded the set of Kaomojis displayed on empty and error screens (@ianfhunter)
⚙️ Improvements
- Significantly improve loading speed while browsing making it near instantaneous (@AntsyLich)
- Refactored library code for better performance with large manga collections (@AntsyLich)
- Enabled real-time metadata updates for non-library manga when browsing source (@AntsyLich)
- Prevented duplicate entries from appearing while browsing sources (@AntsyLich)
- Enhanced reader error handling by clearly displaying image load failures (@AwkwardPeak7)
- Passed source headers to failed image previews opened in WebView (@AwkwardPeak7)
- Enabled autofill for tracker login fields to improve ease of use (@AntsyLich)
- Improved the calculation of update intervals by using the median instead of the average (@Kladki)
- Added an option to hide missing chapter indicators in the manga list (@User826, @AntsyLich)
🔄 Changes
- Updated the duplicate manga dialog to show all similar entries, including chapter counts (@NarwhalHorns, @AntsyLich)
- Changed the default user agent string to Android Chrome for more accurate representation (@AntsyLich)
- Allow updates for manga without chapters, regardless of source restrictions (@AntsyLich)
- Adjusted local source chapter sorting to follow file explorer-like ordering (@AntsyLich)
- Changed the reader's "Keep screen on" setting to be disabled by default (@AntsyLich)
- Modified the tracker login button to show processing state (@AntsyLich)
- Updated Facebook and Reddit icons to match current branding (@Joehuu)
- Included the manga
initialized
status in backup files (@AwkwardPeak7)
🐞 Fixes
- Resolved issue where Bangumi search results included novel entries (@MajorTanya)
- Fixed behavior where the next chapter button would jump to the last page of current chapter (@perokhe)
- Addressed issue with backup sharing from notifications when the app is backgrounded (@JaymanR)
- Corrected failure in marking duplicate chapters as read in some scenarios (@AntsyLich)
- Fixed tooltips in the app bar obstructing user interactions (@Bartuzen)
- Removed unintended app permissions caused by Firebase misconfiguration (@AntsyLich)
- Fixed navigation issue after migrating duplicated entries from the History tab (@cuong-tran)
- Ensured non-interactive behavior for content beneath the source browse top bar (@AntsyLich)
- Resolved crash when using source sort filters without a prior selection (@AntsyLich)
- Corrected missing empty layout in certain browse source scenarios (@NarwhalHorns)
- Updated Pill components to adhere to the local text style (@AntsyLich)
- Fixed downloader halting due to failure in creating the manga download directory (@AntsyLich)
- Prevented unintended back navigation when pressing
Enter
on physical keyboards during search (@AwkwardPeak7) - Ensured proper waiting behavior for Cloudflare challenge completion (@AwkwardPeak7)
<!-->
[!TIP]
If you are unsure which version to download then go with
mihon-v0.19.0.apk
0.18.0
Added
- Add option to always decode long strip images with SSIV (@AntsyLich) (c5655e8)
- Change option label (@AntsyLich) (#1835)
- Added option to enable incognito per extension (@sdaqo, @AntsyLich) (#157)
- Add button to favorite manga from history screen (@Animeboynz) (#1733)
- Add Monochrome theme (made with e-ink displays in mind) (@MajorTanya) (#1752)
- Support for private tracking with AniList and Bangumi (@NarwhalHorns) (#1736)
- Add private tracking support for Kitsu (@MajorTanya) (#1774)
- Add option to export minimal library information to a CSV file (@Animeboynz, @AntsyLich) (#1161)
- Add back support for drag-and-drop category reordering (@cuong-tran) (#1427)
- Add option to mark duplicate read chapters as read after library update or while reading (@AntsyLich) (#1785, #1791, #1870)
- Display staff information on Anilist tracker search results (@NarwhalHorns) (#1810)
- Add id: prefix search to library to search by internal DB ID (@MajorTanya) (#1856)
- Add back option to disable unread chapter badge in library (@AntsyLich) (#1871)
Changed
- Sliders UI (@AntsyLich) (#1840)
- Apply "Downloaded only" filter to all entries regardless of favourite status (@NGB-Was-Taken) (#1603)
- Ignore hidden files/folders for Local Source chapter list (@BrutuZ) (#1763)
- Migrate to newer Bangumi API (@MajorTanya) (#1748)
- Now showing manga starting dates in search
- Reduced request load by 2-4x in certain situations
- Bump default user agent (@AntsyLich) (#1833)
- Changed the label of chapter swipe settings and renamed the group to "Behavior" (@AntsyLich) (#1870)
Fixed
- Fix MAL main_picture nullability breaking search if a result doesn't have a cover set (@MajorTanya) (#1618)
- Fix Bangumi and MAL tracking 401 errors due to Mihon sending expired credentials (@MajorTanya) (#1681, #1682)
- Fix certain Infinix, Xiaomi devices being unable to use any "Open link in browser" actions, including tracker setup (@MajorTanya) (#1684, #1776)
- Fix App's preferences referencing deleted categories (@cuong-tran) (#1734)
- Fix backup/restore of category related preferences (@cuong-tran) (#1726)
- Fix WebView sending app's package name in X-Requested-With header, which led to sources blocking access (@AwkwardPeak7) (#1812)
- Fix an issue where tracker reading progress is changed to a lower value (@Animeboynz) (#1795)
- Attempt to fix crash when migrating or removing entries from library (@FlaminSarge) (#1828)
Removed
- Remove alphabetical category sort option (@AntsyLich) (#1781)
Other
- Add zoned "Current time" to debug info and include year & timezone in logcat output (@MajorTanya) (#1672)
- Add application package ID to debug info (@MajorTanya) (#1847)
0.17.1
In particular, refer to the v0.17.0 release notes if you're updating from an earlier version.
Changed
- Bump default user agent (@AntsyLich) (76dcf90)
Improved
- Bangumi search now shows the score and summary of a search result (@MajorTanya) (#1396)
- Extension repo URLs are now auto-formatted (@AntsyLich, @MajorTanya) (22d8aad)
Fixed
- Fix "currentTab was used multiple times" (@AntsyLich) (371c143)
- Fix a rare crash when invoking "Mark previous as read" action (@AntsyLich) (f508d10)
- Fix long strip images not loading in some old devices (@AntsyLich) (06efc3b)
- Switch to hardware bitmap in reader only if device can handle it (@AntsyLich) (e6d96bd)
- Add option to lower the threshold for hardware bitmaps (@AntsyLich) (dcddac5)
- Improve hardware bitmap threshold option (@AntsyLich) (d6dfd24)
- Always use software bitmap on certain devices (@MajorTanya) (#1543)
- Fix crash after removing last category while it's active in library (@cuong-tran) (#1450)
- Fix reader transition color scheme in auto background mode (@cuong-tran) (#1487)
- Fix app update error notification disappearing (@cuong-tran) (#1476)
- Fix browser not opening in some cases in Honor devices (@AntsyLich, @MajorTanya) (#1520)
0.17.0
Added
- 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)
- 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)
- Added random library sort (@jackhamilton) (#1317)
- Make sure random library sort is at the bottom (@AntsyLich) (2e2c8d3)
- Confirmation dialog when removing privately installed extensions (@Animeboynz, @AntsyLich) (#1320)
- Option to backup non-library read entries (@Animeboynz, @jobobby04, @AntsyLich) (#1324)
Changed
- 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)
- Backup and Restore (@Animeboynz) (#1057)
- 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)
Improved
- 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)
Removed
- 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)
Fixed
- 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)
- 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)
Other
- 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)
- 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)
- 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 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)
- Cleanup .gitignore files (@AntsyLich) (afa5002)
- Pass uncaught exception to default handler in GlobalExceptionHandler (so it's reported to crashlytics) (@AntsyLich) (f3a2f56)
0.16.5
In particular, refer to the v0.16.0, v0.16.1, v0.16.2, v0.16.3 and v0.16.4 release notes if you're updating from an earlier version.
Added
- Setting to install custom color profiles to get true colors (@wwww-wwww)
Changed
- Permanently enable 32-bit color mode (@wwww-wwww)
Fixed
- Fix wrong dates in Updates and History tab due to time zone issues (@sirlag)
- Fix app infinitely retries tracker update instead of failing after 3 tries (@MajorTanya)
- Fix crash on Pixel devices
- Fix crash when opening some heif/heic images (@az4521)
- Fix crash in track date selection dialog (@ivaniskandar)
- Fix dates for saved images on Samsung devices (@MajorTanya)
- Fix colors getting distorted when opening CMYK jpeg images (@wwww-wwww)
0.16.4
In particular, refer to the v0.16.0, v0.16.1, v0.16.2 and v0.16.3 release notes if you're updating from an earlier version.
Fixed
- Circumvent MAL block (@AntsyLich)
0.16.3
In particular, refer to the v0.16.0, v0.16.1, and v0.16.2 release notes if you're updating from an earlier version.
Added
- Copy extension debug info when clicking logo or name in the extension details screen (@MajorTanya)
Changed
- Rename extension update error file to
mihon_update_errors.txt
(@m-jishnu) - Hide display cutoff setting in reader settings sheet if fullscreen is off (@Riztard)
Fixed
- Fix bottom sheet display issues on non-Tablet UI (@theolm)
- Fix crash when switching screen while a list is scrolling (@theolm)
- Fix newly installed extensions not being recognized by Mihon (@AwkwardPeak7)
- Fix error handling when refreshing MAL OAuth token (@AntsyLich)
0.16.2
In particular, refer to the v0.16.0 and v0.16.1 release notes if you're updating from an earlier version.
Added
- Scanlator filter is now part of Backup (@jobobby04)
Changed
- Rename crash log filename to
mihon_crash_logs.txt
(@MajorTanya)
Fixed
- "Flash screen on page change" Making the screen goes blank (@AntsyLich)
- App icon scaling (@AntsyLich)
- Updating extension not reflecting correctly (@AntsyLich)
- Inconsistent button height with some languages in "Data and storage" (@theolm)
- Fix chapter not being marked as read in some cases with Enhanced Trackers (@Secozzi)
- And various tracker related fixes (@AntsyLich, @Secozzi)
0.16.1
In particular, refer to the v0.16.0 release notes if you're updating from an earlier version.
Fixed
- App Icon not filled (@AntsyLich)
- MangaUpdates default score being set to -1.0 (@AntsyLich)
0.16.0
Consider donating via Open Collective to help keep Mihon improving!
"The end of 立ち読み (Tachiyomi) is the beginning of みほん (Mihon)" Credit to LinkCable, the icon designer, for this poetic quote.
What's New?
Well, nothing, except you now you need Android 8+ to install the app.
<!-->
Checksums
Variant | SHA-256 |
---|---|
Universal | f638b3413890fbbf20819b08faf0cb2fb3e2842369689f0163e5d5ec4a4c7245 |
arm64-v8a | c90b1e6d2d743b8efdf0bacf035dd45069a0fb52ab6d02f35ddd61ab9c3cc2d3 |
armeabi-v7a | c0c9152c446c88d262ce4c06f20f1a58f40efbe4cca208969d62e05d3ab00de4 |
x86 | e2cbbba4c880076cb6e6cf042068b0de979d8a10984031c83c4682a41c23cde3 |
x86_64 | e3c147840d396f872753ef53835f8058f3673ccd9db1aad88080ec7a64c0c9ed |
[!TIP]
If you are unsure which version to download then go with
mihon-v0.16.0.apk