Repository navigation
Releases: clevim/Karasu
Release list
Karasu v1.13.1
Additions
- Releases settings (Browse settings, or "Releases settings" in the window's menu): how many series
the list holds (50 to 200), how often it is fetched again (1 to 14 days), and whether the window
opens with "Hide what is in my library" already on - A release the library already has (found by catalogue id or by name) carries the "In library"
badge, without having to hide it
Changes
- Releases show their English name when AniList has one among the synonyms, rather than the
romanised title (two in three new series have no English title of their own yet). A list saved
by 1.13.0 is fetched again once, to pick the names up - Release genres are shown in the app's language, in the filter and on a release's page
- One-shots are left out of Releases, on AniList and on MangaDex: the window lists series to follow
Fixes
- Release covers no longer show a red "0" and a dimmed cover: a release has no chapters by design
- The Popular button in Browse could stay unchecked and seem to do nothing on a source whose filters
change after the screen opens (the releases' genres, which arrive with their list); filters are
now compared with the source's current defaults by name - The releases' genre filter is there on the first open, before any list was fetched, and keeps the
same genres across refreshes (AniList's own list, plus any a MangaDex list adds) - A release's cover follows the list when a refresh changes it
- Coming back from the releases settings reloads the list and its filters with them
Checksums
| Variant | SHA-256 |
|---|---|
| Universal | a18a33a7bb2bf76d52632df01270cedd377610861b45d267a37c1f497171106f |
| arm64-v8a | 60331163acadaead267f356a2243812101edc71d76b58bfd80c1db2bb88bbabd |
| armeabi-v7a | 686833cd394d27764930f2861d35e046842c051277f2958dad07194bdbec69d0 |
| x86 | 0421bd4c3f811dcdd1826f030bf005eb086f531bd0dc968a688e493721601f37 |
| x86_64 | 2b9208d234a4e48cfd4895c18cfd9b0bf0b8e38b217ece71903400ec8d4fc65d |
Tip
If you are unsure which version to download then go with karasu-v1.13.1.apk
Karasu v1.13.0
Additions
- "Releases" (experimental), next to Recommendations in Browse: the 100 most popular manga, manhwa
and manhua that started in the last 6 months, from AniList, or from MangaDex when AniList cannot
be reached. The list is fetched again once a week when the source is opened, or from "Refresh"
in its menu; nothing runs in the background. Every filter works on the saved list without asking
the network again: period (1, 3 or 6 months), type, genres, status, "Hide what is in my library",
and sorting by popularity, release date, score or title, both ascending and descending. Covers
come straight from where the list came from - Tapping a release opens a page of its own instead of a manga page, since there are no chapters to
list until a source has it: cover and banner, every name, synopsis, status, start, chapter and
volume counts, genres and tags, story and art, score, popularity, related series (sequels,
prequels, spin-offs) and links, the official platform among them. "Search my sources" runs the
global search with all of its names, Portuguese ones first, and says so when none of your
sources has it - Publication status from MangaDex and MangaUpdates, the two catalogues that actually mark hiatus
and cancellation: it becomes the entry's status in the library, over AniList, Kitsu and
MyAnimeList when they disagree, and a status you edited by hand is never overwritten. It is
checked at the end of a library update, for the entries that update covered, each at most once
a week and within two minutes per update - Entries are matched on those catalogues by the ids of the trackers you bound first, then by an
exact name, the source's Portuguese title included; same-named series are told apart by type
(manga, manhwa, manhua) and by the year of the chapters, and an ambiguous match applies nothing.
Their other names and tags join what the trackers and MangaBaka already provided - Tracker search shows each result's other names under its title, and when the title finds
nothing it tries up to five other names the entry is known by - "Keep downloaded ahead" (Settings › Downloads, under "Download new chapters"): new chapters are
downloaded on their own only up to that many unread chapters past the last one read (2 by
default; "All chapters" keeps the old behaviour), and the reader tops it up as you finish
chapters. Downloads you start yourself, from any menu, are never cut
Changes
- "Remove after read" keeps the last N read chapters downloaded and removes every older read
chapter of the entry, not just one, including those read in earlier sessions; unread chapters
are never touched. Installs that never changed the setting now keep the last 2 read - Download ahead delivers in reading order: the next chapters jump to the front of the queue,
the one being read goes back to the end, and inside a chapter each page's address is looked up
as its turn comes, so page 1 arrives first - What the trackers say about publication status now reaches the library status, not only the
calendar and the stats
Fixes
- The download queue never started again after a download failed while it was stopped
- A failed page address lookup failed the whole chapter; it is retried like the images are
- Two requests for the same chapter at the same moment queued it twice
- Asking the reader for a chapter that was already queued at the back, or had failed, left it
there; it now moves to the front and is retried - MangaUpdates' "completely scanlated" was read as the series being finished; its status text is
read instead ("Suspended" is a hiatus, "Dropped" and "Axed" are cancelled) - An interrupted recommendations build could freeze an entry's status as if you had edited it
- Cancelling a library update did not stop its status lookups
- The download job started after a library update that had queued nothing
- Releases that were refreshed kept the title, status and genres they were first listed with
Other
- What the trackers and catalogues know about an entry is written one entry at a time, re-read
before each change, instead of all at the end from a copy taken at the start
Checksums
| Variant | SHA-256 |
|---|---|
| Universal | 820ca49cd962e0a50bc5b4849cb1afe0b0a776068dfc94fef76cb3bf745f0ab4 |
| arm64-v8a | 18927eb53e0851e1a85e561b12a0a03e844fc761889d8c8bc112e17a1dc92b81 |
| armeabi-v7a | 7f9cc0dc3c25d584d102453816d6e07bd1ef45e0e3f2da7b87c153dc47c6b003 |
| x86 | c30d060529efebb363701735d923208b4edd451b91b73a52959c6317d50887a9 |
| x86_64 | fed8c08ca678853da942f4eb2203eb379e550bd5f4bc664d3f3bb6939ce6b3c8 |
Tip
If you are unsure which version to download then go with karasu-v1.13.0.apk
Karasu v1.12.0
Warning
Desde 30/09/2026 o Android no Brasil bloqueia instalar ou atualizar apps de desenvolvedores não verificados. Para instalar esta versão: Opções do desenvolvedor › "Apps de desenvolvedores não verificados" › ligar, reiniciar e esperar 24 h (uma vez só). Ou instale pelo computador com adb install -r.
Additions
- Translation engine "Google AI Studio (Gemini)", for the free API keys from aistudio.google.com.
It sends a whole chapter in one request where the other engines send four or five, because
Gemini's free tier is counted in requests a day; safety filters are turned down so fights and
blood do not come back blocked, and running out of the day's requests says so instead of
retrying - "Gemini reads the pages" (on by default with Gemini): the page images go to Gemini, which finds
the balloons, reads and translates them in one go — far better than on-device recognition on
stylised lettering, balloons split line by line and vertical Japanese. About one request per 16
pages; long strips are sent in overlapping bands. The colour behind the text and the balloon
outline are still measured on the device - Backups carry the extension repos, numbered as Mihon numbers them, so a Mihon backup brings its
repos along too - The library is identified on MangaBaka (which maps AniList, MyAnimeList, MangaUpdates, Kitsu,
Anime-Planet and Shikimori) during the recommendations build: every entry, tracked or not, gets
its ids elsewhere, its other names (Portuguese release names included), genres, defining tags
and status. Migration and merged-source search use the names, the release calendar the status,
the taste profile the tags. Bound tracks are looked up by id; anything else only on a
near-identical title or a close one the author confirms - Global search also tries a series' other names (from MangaBaka) on a source where the name you
typed found nothing, the way merge search already did - The manga page says when your sources are about N chapters behind the count MangaBaka reports,
with a shortcut to look for it on other sources; once per count - "Remove chapters read long ago" (Settings › Downloads): downloaded chapters read more than 7 to
90 days ago are deleted, at most once a day, with the same category and bookmark exclusions as
"Remove after read" - "Check sources weekly" (Settings › Browse): once a week on Wi-Fi, each source the chosen
categories read from is asked for one chapter list; what fails shows in Broken sources and in a
notification — for categories library updates leave out - Translation after download can wait for Wi-Fi (on by default): Gemini reading the pages uploads
several megabytes per chapter. Chapters downloaded on mobile data are translated as soon as
there is Wi-Fi, instead of being skipped - Entries added to the library are identified on MangaBaka at the end of the next library update,
instead of waiting for the next recommendations build
Changes
- Settings: translation has a screen of its own (Settings › Translation), split into display,
engine, languages, automatic and cache, instead of a dozen rows at the bottom of the reader's
settings; the release calendar's options have their own category in Library, apart from the
update ones; "Check sources weekly" sits with the other source options; and the descriptions
there were shortened, with two that had gone wrong fixed (translating needs no download any more,
and chapters downloaded on mobile data are translated later rather than skipped) - Recommendations lean on what readers of your own series recommend: AniList is asked about up to
40 of your favourites by id (ten per request) instead of 5 by title search, each suggestion is
weighed by how many people backed it and how much you like the series it came from, and that
is now the largest term in the score. Tags are weighed by how rare they are among the
candidates, so broad ones like "Action" no longer decide everything, and AniList's
best-of-genre catalogue is a milder lift. Anything already in the library — by id or by any of
its names — is no longer suggested - A batch Gemini blocks, or whose reply runs out of room or comes back as broken JSON, is split in
half and retried instead of losing every line in it - Restoring a Mihon backup writes the entries' notes into the restore log, since this app has
nowhere to keep them, instead of dropping them silently
Fixes
- The weekly source check is scheduled again on start, so it survives a reinstall or a restored
backup; the translation privacy note and "Fit text to the balloon" were untranslated in pt-BR - Stats: the status chart and filter use what the trackers and MangaBaka say when they know it,
not only the source's own status (often "unknown", or "ongoing" years after the series ended);
the tags chart merges the same genre spelled differently ("Ação", "Action", "action") and leaves
out scanlation credits; and each entry's tracks and reading time are read once per visit
instead of once per bar, which made the tags chart crawl on big libraries - The recommendations' sort arrow did nothing: every order now follows it (↓ most first, ↑ least
first), entries with no date or chapter count stay at the end either way, and the options are
named for what they sort by ("Start date", "Chapters") instead of one direction
Other
- What MangaBaka and the trackers found about each entry moved from one big preference into its
own table, and into the backup with the entry it belongs to — so it survives a restore onto a
fresh install, where every entry gets a new id
Checksums
| Variant | SHA-256 |
|---|---|
| Universal | 124be853382c6374f05047948d6a64efb723a5dd55998db32ea5fd24878d986b |
| arm64-v8a | 0b580db5b8cf851ee261d957995195cfcce28914434b25f095f858f301290586 |
| armeabi-v7a | a6fcbd5264c1bed7f31900326adc4e6ff20156276e2b5e79ca6fb3cacd434829 |
| x86 | 6cfface33c2cc1c9c259092fa549d974e751c548473e47e8c4f8ff95daa2cb81 |
| x86_64 | ba8b315ea7a53be306b37a3da259d8b6828968ae79958043880d096c6d5301ce |
Tip
If you are unsure which version to download then go with karasu-v1.12.0.apk
Karasu v1.11.1
Changes
- Settings › Reader › Translation says what leaves the device: pages are read here, a cloud engine
is sent the recognised text and never the images, and a chapter that is not downloaded is
fetched from the source before it can be translated - The translation cache forgets lines it has not used in a year instead of only ever growing
Fixes
- A source that lists the same chapter twice — a repost under a new url, the same upload served by
two of its endpoints — now shows one row. Same name, same scanlator and same number is what
counts as a duplicate, so two scanlators' releases of chapter 5 both stay, and read state,
bookmark and page progress follow the row that is kept - Several screens could crash with a bare "NullPointerException" when a queued callback ran after
the screen had already been left; migrating a batch of entries was the quickest way to hit it.
Those callbacks now check the screen is still there before touching it - Updating extensions could fail the whole job with "Can't toast on a thread that has not called
Looper.prepare()". A message shown from background work now always reaches the main thread - "Translate downloaded chapters" froze the app on a long series while it looked every chapter up
on disk, and two chapters could end up translating at once — which on a metered engine spent
twice the day's allowance - A model id the provider does not have now says so and points at the settings field, instead of
failing with "HTTP error 400" - Merged sources: clearing the database deleted the hidden rows a merged source keeps its chapters
on, and nothing put them back — the merge stayed listed and quietly stopped bringing chapters.
Those rows are now left alone, and a merge whose row goes missing any other way rebuilds it on
the next update - Merged sources: chapters with no recognisable number — oneshots, extras, specials — were dropped
from the merged source's contribution and are now listed, one row per title
Other
- Tests for the chapter deduplication, for the merged sources' extras, and for the database
cleanup sparing merged rows
Checksums
| Variant | SHA-256 |
|---|---|
| Universal | 189c11a0609cd6169ee75d6ebf927ba405756831eb5046ef7a6c53e263c0f376 |
| arm64-v8a | c0515da24ef3367c6380479537e2f8333361ef3301fdc09cabd3542087c37b60 |
| armeabi-v7a | d12b1a251778cdf4154be2b86ae60d2ee4c1e79079c0c848b8419165c66445c9 |
| x86 | be8c8c0c02ced74cd7f958b68de14d06326e4ad105db064730c10fa370874875 |
| x86_64 | 5b9c661d35f2009b9a6e5bb731f68f3152a4c5501afc8edb8c29acf606fe8245 |
Tip
If you are unsure which version to download then go with karasu-v1.11.1.apk
Karasu v1.11.0
Recommendations, smarter release calendar, exact resume in webtoons, Dracula theme.
Additions
- Recommendations, as a source of its own under "For you" in Browse. Learns a taste profile
from what you read (reading is the driver; tracker scores only scale it; a dropped series counts
against its tags; what you read long ago fades), then asks four public catalogues — AniList,
MangaUpdates, Kitsu and MyAnimeList — for the best-rated and most-read series under every tag
you are into, merges what they agree on (a series all four name scores highest), and finds each
one in the sources your library uses, with MangaDex alternative titles as a fallback for pt-BR
names. Your sources' own genre filters are searched too, deeper for stronger tags, and the
trackers' "similar to" suggestions for your strongest seeds round it out. Everything is read in
detail before it is shown and ranked on its full tags, tag pairs you like together, and the
community's score - Recommendations learn from you: long-press a cover for Not interested (its tags lose weight,
relative to how much your library backs them) or Already read; adding to the library from the
window reinforces the tags it was recommended for. Verdicts can be forgotten on the tags screen - "Your tags" screen: every learned tag with its weight and how many series back it; drag a
slider to fix a weight, add a tag, strike one that is not a genre, long-press to select and
merge tags you consider the same. Merges, bans and weights are yours and are backed up - Recommendations are built in batches of fifty up to the number you choose (25 to 500; Settings ›
Browse › Recommendations), on a schedule (every week to every six months, at your hour, Wi-Fi
only) that carries on the next day by itself when a big target needs more than one night, or on
demand: "Fetch 50 more" adds a batch, "Rebuild from scratch" starts over. Stage-by-stage
progress, a notification when done, and the list refreshes itself when the library grows by ten
or more. How far back a "recent start" may go in the catalogues is a setting too - Recommendation filters: only with these tags (only tags something in the list carries), include
saved-but-unread, sort by best match / newest / fewest chapters, and "hide sources with
unreliable dates" (on by default). A long-press on a cover says why it is there: tags or "like
X", chapter count, last chapter, community score, and whether it is new, gone quiet or a bit
outside your usual - Trackers enrich the library overnight: their genres and tags join the entry's own (as a custom
edit, so a refresh keeps them), and every other name they know feeds migration and merged-source
search — which is where a scanlator's own Portuguese title finally finds the series elsewhere - Merged sources: the app looks overnight for library entries on your other sources and offers a
one-tap merge on the entry's page - Release calendar: month view (toggle in the app bar), "Arrived today", "On hiatus", a "Only what
I'm caught up on" filter (also honoured by the widget and the morning digest), a "probably"
estimate for entries too new to have a rhythm (borrowed from the source's other series), and
tracker status (AniList, MAL, Kitsu, MangaUpdates) overriding a source that never updated its own - Webtoon reader: "continue reading" returns to the exact spot on a tall page, a tenth of a
screen early, instead of the top of the page - Dracula / Alucard theme (follows the system: Alucard light, Dracula dark)
- Category rules, "Your tags" and the release calendar share the app's standard app bar
Changes
- "Hide library items" in Browse is now on by default: what you already have on a source no
longer shows up when browsing that source - Recommendations skip one-shots (by tag, title or chapter names), series with no chapters, and
series gone quiet for longer than their size allows (three months for a new one, up to two years
for a long one; finished series are exempt). Series from sources that report no real dates are
ranked lower and hidden by default, and their chapter count does not make them "new". Every
rebuild starts from nothing: the previous list and the rows it left behind are discarded first - Tag names are unified across languages (Ação / Action / Acción), and source metadata dressed as
a genre ("Classificação: Sugestivo", scanlator names, years) is dropped - Merged-source search no longer offers the entry's own source or sources already merged in, and
tries the series' other names on a source that found nothing under the library title - A weekly series that posted late once keeps expecting its usual weekday
- One slot in five on the recommendation list goes to something a little outside your usual, so
the list keeps surprising instead of narrowing on the same five tags
Fixes
- Tapping an extension group header did nothing: the row's ripple was on a child view, and a
clickable child swallows the touch before it reaches the row the click listener is on - Sources that report every chapter as uploaded "0 minutes ago" no longer rewrite every chapter on
each update, pollute "recently updated", or fool the release calendar and the recommendations:
such dates are treated as unknown, and the calendar learns from when chapters actually arrive - Release calendar: a source that stamps a date as midnight UTC no longer lands a day early west
of Greenwich; webtoon "current page" was one behind when the image was taller than the screen - Release estimates are recalculated once when the estimator changes, instead of staying wrong
until each series' next fetch - Recommendations: a stale list could survive a rebuild that finished while the screen was
covered; a re-rank could overwrite a batch the build had just written; looking a title up in the
sources ran one source at a time with no timeout, so one silent source could hold a build for
an hour; "Fetch 50 more" did nothing once the target was met - Tag names from sources and from your own typing are sanitised before they are sent to AniList
or Kitsu
Other
- Chapter memo is treated as source-owned; per-chapter reading offsets live in a preference
Checksums
| Variant | SHA-256 |
|---|---|
| Universal | 24c39ad75d5ff1b34e6a513f68e3763b8e46c121a216ef9c984f5ee91b9e0835 |
| arm64-v8a | 57a1fc303496a5086ddb554dfc64ea69ec72b2c5f38b91c63fdd85ac61e27204 |
| armeabi-v7a | 9bd560e1696cdd7265c87dd0d8e9ffce9a5618b8ad215f340075fb4a303f39c3 |
| x86 | 9412de939b5cca9c4c7eb5df35de8d0fb58bb839dfc8356e5f0236597d5732b5 |
| x86_64 | d46db75f83448b146b17deb0e53c34fe5b22db3a263bc4571786f1cc3934301c |
Tip
If you are unsure which version to download then go with karasu-v1.11.0.apk
Karasu v1.10.3
Additions
- DeepSeek as a translation engine. The API key and the model are now kept per engine, so switching
between OpenRouter and DeepSeek no longer means typing the key back in - Translation notes grow on their own: the engine reports the names and terms it settled on, and
later chapters of the series are told to reuse them - Extension list: tap a group header to roll it up or open it again; what is rolled up is remembered
- Reader › Translation › "Fit text to the balloon" (experimental, off by default) — measures the
speech balloon off the page instead of guessing it from the text, so translations letter larger
Changes
- An extension carried by several repos at the same version is listed once instead of once per repo
- Only the glossary terms a batch actually mentions are sent to the engine, instead of all of them
with every batch of every chapter
Fixes
- Sources that keep their own id on a chapter failed to open every chapter with "Refresh chapter
list", refreshing included — Asura Scans is the one that brought it up. That metadata
(extensions-lib 1.6memo) was thrown away when the chapter was stored, and is now kept, backed
up and restored (Nichullu's Fix) - A merged source that only implements the combined 1.6 chapter-list call could not serve as a
fallback - The merged-source fallback never ran in the reader: it asked about the borrowed chapter's own
row, which has no merges, instead of the manga being read - A chapter borrowed from a merged source had its translation filed in one place when downloaded
and another when read online, so neither could find the other's - The chapter translator asked the manga's own source for the pages of a borrowed chapter, and
translated nothing
Checksums
| Variant | SHA-256 |
|---|---|
| Universal | 343561f3ca1693c8ebb89e0d4ff48efc01683dc6bf2583e1f9bd6cef43823f02 |
| arm64-v8a | 6c2f71ccb842d72aa126d6bae306717755456ccdba56161199b1ede7a589fa2b |
| armeabi-v7a | 10f443823dfe57969299029951588ceb929a0cf94d585ae6be415a07e1363917 |
| x86 | 3bcbf98c137c10e9f0737a1203be572ea9e27740ecafa4585b448d8db08b03c8 |
| x86_64 | 898bfbe50bef210054e0e7b87ab9897a3edae9ad6dbfc3afde2931523329c714 |
Tip
If you are unsure which version to download then go with karasu-v1.10.3.apk
Karasu v1.10.2
First Karasu release. Based on yokai 1.10.2 — everything below under "From yokai" is inherited from upstream.
Karasu
- Rebrand to Karasu (own
applicationId, icons, widgets) - KOReader shelf sync: push selected manga as CBZ to a self-hosted container, read back finished chapters, filter conditions
- Release calendar with schedule/interval and grace period per manga, plus missing-chapter detection
- Set a manga's release frequency by hand from its ⋮ menu when the measured one is wrong
- Fix a series that skipped a week being shown next week instead of today
- Fix several scanlators (or merged sources) posting the same chapter being counted as several releases, which made weekly series look stalled
- Finished series (completed, cancelled, licensed) no longer sit under "stalled"
- Merged sources on manga details
- Fix chapters read through a merged source missing from History and "continue reading"
- Merged sources now follow the manga through a source migration
- Merging a series that is already in the library as its own entry folds that entry in (categories kept)
- Per source: keep only as a fallback (no updates, no chapters listed), or make it the primary source
- Marking a chapter read also marks its other-language rows
- FlareSolverr support for Cloudflare bypass
- Disk caching for Coil images
- Chapter translation (OCR + ML Kit / OpenRouter)
- Translate a chapter without downloading it (pages go through the reader's image cache)
- Translations are cached per line, so re-translating and recurring lines cost no requests
- Per-manga translation notes (names, honorifics, terms) handed to the LLM engine
- Long-press a page → "Translated bubbles" to see the original text and correct a translation
- "Translate downloaded chapters" on the manga menu
- Fix the OpenRouter API key being written into backups
- Remove Firebase Crashlytics/Analytics (crash logs stay local: crash screen + "Dump crash logs")
- Remove Shikimori tracker
- Vendor FlexibleAdapter (JitPack no longer builds it)
From yokai
Additions
- Add random library sort
- Add the ability to save search queries
- Add toggle to enable/disable hide source on swipe (@Hiirbaf)
- Add the ability to mark duplicate read chapters as read (@AntsyLich)
- Add option to zoom into full covers (@Hiirbaf)
- Add APNG support for Android 9+ (@lalalasupa0)
- Add markdown support to entry description (@luigidotmoe)
- Fix text disappeared when it's surrounded by
<>(@lalalasupa0)
- Fix text disappeared when it's surrounded by
Changes
- Temporarily disable log file
- Categories' header now show filtered count when you search the library when you have "Show number of items" enabled (@LeeSF03)
- Chapter progress now saved everything the page is changed
- Adjust sorting order to be more consistent (@Astyyyyy)
- Improve Local Source when loading from
android/data(@lalalasupa0) - Refresh available extensions list when an extension repo is added or removed
- Replace filter FAB with Floating Toolbar when browsing source
- Show FAB button to read/resume chapter when start/continue reading button is off-screen
- LocalSource entries no longer auto-refresh when opened (@lalalasupa0)
- Long tap chapters on Reader now mark it as read (@lalalasupa0)
Fixes
- Allow users to bypass onboarding's permission step if Shizuku is installed
- Fix Recents page shows "No recent chapters" instead of a loading screen
- Fix not fully loaded entries can't be selected on Library page
- Fix certain Infinix devices being unable to use any "Open link in browser" actions, including tracker setup (@MajorTanya)
- Fix source filter bottom sheet unable to be fully scrolled to the bottom
- Prevent potential "Comparison method violates its general contract!" crash
- Fix staggered grid cover being squashed for local source (@AwkwardPeak7)
- Fix GPU crash when setting cover from downloaded chapters (@Angrevol)
- Fix crashes when handling certain sources' deep links (@Hiirbaf)
- Properly filter sources by extension (@Hiirbaf)
- Fix crashes caused by RecyclerView stable id (@MuhamadSyabitHidayattulloh)
- Fix paused download notification is not shown (@MuhamadSyabitHidayattulloh)
- Disable auto refresh entry from Local Source (@lalalasupa0)
- Fix extension download stuck on pending state
- Only solve Cloudflare with WebView if it's not geoblock (@AwkwardPeak7)
- Fix cover from LocalSource sometimes didn't load (@lalalasupa0)
Translation
- Update translations from Weblate
Other
- Refactor Library to utilize Flow even more
- Refactor EmptyView to use Compose
- Refactor Reader ChapterTransition to use Compose (@arkon)
- [Experimental] Add modified version of LargeTopAppBar that mimic J2K's ExpandedAppBarLayout
- Refactor About page to use Compose
- Adjust Compose-based pages' transition to match J2K's Conductor transition
- Resolve deprecation warnings
- Kotlin's context-receiver, schedule for removal on Kotlin v2.1.x and planned to be replaced by context-parameters on Kotlin v2.2
- Project.exec -> Providers.exec
- Remove internal API usage to retrieve Kotlin version for kotlin-stdlib
- Move :core module to :core:main
- Move archive related code to :core:archive (@AntsyLich)
- Refactor Library to store LibraryMap instead of flatten list of LibraryItem
- LibraryItem abstraction to make it easier to manage
- LibraryManga no longer extend MangaImpl
- Update dependency gradle to v8.12
- Update user agent (@Hiirbaf)
- Update serialization to v1.8.1
- Update dependency io.github.fornewid:material-motion-compose-core to v2.0.1
- Update lifecycle to v2.9.0
- Update dependency org.jsoup:jsoup to v1.21.2
- Update dependency org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.4.0
- Update dependency io.mockk:mockk to v1.14.2
- Update dependency io.coil-kt.coil3:coil-bom to v3.4.0
- Update dependency com.squareup.okio:okio to v3.12.0
- Update dependency com.google.firebase:firebase-bom to v33.14.0
- Update dependency com.google.accompanist:accompanist-themeadapter-material3 to v0.36.0
- Update dependency com.github.requery:sqlite-android to v3.49.0
- Update dependency com.getkeepsafe.taptargetview:taptargetview to v1.15.0
- Update dependency androidx.window:window to v1.4.0
- Update dependency androidx.webkit:webkit to v1.13.0
- Update dependency androidx.sqlite:sqlite-ktx to v2.5.1
- Update dependency androidx.sqlite:sqlite to v2.5.1
- Update dependency androidx.recyclerview:recyclerview to v1.4.0
- Update dependency androidx.core:core-ktx to v1.17.0
- Update dependency androidx.core:core-splashscreen to v1.2.0
- Update dependency androidx.compose:compose-bom to v2026.02.00
- Update aboutlibraries to v13.1.0
- Update plugin kotlinter to v5.1.0
- Update plugin gradle-versions to v0.52.0
- Update okhttp monorepo to v5.0.0-alpha.16
- Update moko to v0.25.1
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-bom to v1.10.2
- Update dependency me.zhanghai.android.libarchive:library to v1.1.5
- Update dependency io.insert-koin:koin-bom to v4.0.4
- Update dependency com.android.tools:desugar_jdk_libs to v2.1.5
- Update dependency androidx.work:work-runtime-ktx to v2.10.1
- Update dependency androidx.constraintlayout:constraintlayout to v2.2.1
- Update plugin firebase-crashlytics to v3.0.3
- Update null2264/actions digest to 363cb9c
- Update dependency io.github.pdvrieze.xmlutil:core-android to v0.91.1
- Improve X-Requested-With spoof to support newer WebView versions (@Hiirbaf)
- Update agp to v8.12.2
- Update activity to v1.11.0
- Update lifecycle to v2.9.4
- Update sqldelight to v2.2.1
- Update dependency com.google.android.material:material to v1.14.0-alpha09
- Update dependency androidx.compose.material3:material3 to v1.5.0-alpha14
- Minimize memory usage by reducing in-memory cover cache size (@Lolle2000la)
Checksums
| Variant | SHA-256 |
|---|---|
| Universal | 61cefeffb7bd7a8bfbad17f373f6b9a1bcce2695aff348439064b0afe2ae6318 |
| arm64-v8a | 609fc437a8743483ea242373c6465978d106eaeeb7c6ed9c90b6755a8e9eb4b5 |
| armeabi-v7a | dd4575120658d7be72ebd57a5325bae75041e6ac6f444ee097b8a45685e13298 |
| x86 | d898929a893eac3da1aa3211e439f92406b281259bdf1f022bacac2cbeedaa7d |
| x86_64 | 8c4ecdd1a7e360015448fc44b29a6309c691cd615fae43e0901176616985fa22 |
Tip
If you are unsure which version to download then go with karasu-v1.10.2.apk