Repository navigation
Releases: Suzora/Karasu
Release list
Karasu 1.68.0
The third Stable release since 1.0.0 brings everything the Nightly gained in
the two weeks after 1.44.0. Karasu has a new look: it is calmer, with rounder
corners and no hairlines. Every page now stands on a column of its own, which
keeps its sections and filters beside the content. The Overview is rebuilt
around your lists and this week, and title pages, lists, the season page,
the calendar, statistics and search are rearranged around the same column.
Beyond the look: there are new statistics cards, and a Catch up row for
airing anime you are behind on. Search browses AniList's sections before you
type, voice actors, characters and studios list everything by year, and your
own profile is one click away in the titlebar. Karasu now shows what changed
after an update, and its diagnostics report says far more when something
goes wrong. AniList's October changes are covered too: the weighted score,
the new adult options, mutual follows and removing a follower.
Added
- The Overview has a Catch up section for airing anime you are behind on: each shows how many episodes have aired since your progress and which one is next, with +1, and leaves once you have caught up (#79).
- Statistics show more: every title you scored against the community's mean as one chart, where you are harsher or kinder per genre and what you finish per genre, how your genres shifted over the years, the weekdays and months you are active, how fast you finish each format, where your watch time went, and your rewatches. The radar, the tag map and the separate formats card went, since other cards already show those figures.
- A voice actor's page lists every role AniList knows, grouped by the year the title started, newest first and undated titles at the top, 25 at a time with Load more (#81). A character's page lists its appearances the same way, and a studio's page its productions, marking the ones it was the main studio of.
- Search shows AniList's browse sections while nothing is typed, each with Show all: for anime what is trending, popular this season and next, all-time popular and the top 100; for manga trending, all-time popular, popular manhwa and the top 100; for characters and staff today's birthdays and the most favourited. They replace the four quick lenses, three of which had shown nothing.
- Your avatar and name in the titlebar open your profile from every screen; the phone's More menu starts with your profile, and the command palette offers "My profile".
- Profiles show their mutual follows in a tab of their own, and you can remove someone from your followers on your own profile.
- The AniList account settings offer AniList's three new adult options (search, quick search, others' activities).
- After an update, Karasu shows once what changed (on a Nightly only the lines you have not seen yet), and the Changelog button under About opens it any time.
Changed
- Karasu has a calmer look: surfaces without hairlines or frames, labels in normal case instead of capitals, the current page marked by a pill, and rounder corners. High contrast outlines every surface and card instead.
- Every page with sections or filters keeps them in a column beside the content, with the same width, the same title and the page's one action beside it; on the phone they open from a field above the content. The anime and manga lists show their statuses there with your custom lists beneath, and Search, Statistics, Activity, the forum, notifications, the local library, profiles, Settings and Wrapped keep theirs there too.
- The season page lets you pick the year and season from its column, filter by format or hide what is already on your list, and shows each title as a card with its genres and a countdown to the next episode.
- The calendar's week now starts today, and its week, tiles and agenda views show each episode on a card with its cover.
- The Overview is rebuilt: a greeting with search and the next 48 hours over the season's art, your lists as shelves, one row to continue watching and reading, this week as a timetable, and a column with what is playing, your statistics, your own activity and today's birthdays. On the phone, the statistics and your activity are one swipe to the right, each page scrolls on its own, and your activity shows five entries at a time with Load more.
- A title's page is rearranged. On the desktop, a column beside the content keeps the cover, your progress and the facts in view. On the phone, the cover and title sit in a tall banner, followed by your progress.
- Covers are the same size on every screen, set by Covers per row, titles sit under their covers again, and progress under every cover looks the same.
- Activity lets you switch between the people you follow, everyone and your own posts, and filter by status updates, anime or manga entries.
- The episode button reads "+1" so it can't be mistaken for adding a title, the AniList average no longer looks like your own score and follows AniList's new weighted score, staff roles and languages appear in your language, and pages load with placeholders instead of a spinner.
- The forum no longer lists AniList's retired Misc category.
- The diagnostics report starts with a summary of this run's problems, the AniList budget, the sync queue and what detection is doing. It folds the details into sections, and keeps every warning and error even with verbose logging on.
Fixed
- On Android, the first start after installing no longer closes Karasu a moment after it opens, and an internal error in any action now shows as an error instead of closing the app.
- On the phone, a tap anywhere on the season page no longer opens one title's entry editor.
- The season page lists every title of the season again, including the movies, TV shorts and OVAs below the 50 most popular (#76).
- A title you removed while offline drops out of Karasu's copy of your list once the removal reaches AniList, so the list no longer brings it back and tracking no longer re-adds it.
- The Year filter in Search finds manga by the year they started, where it found none before.
- On the phone, the statistics' Years tab no longer scrolls sideways, and the Wrapped poster shows straight away and keeps its colours in the light theme.
Security
- The certificate checks no longer accept the emSign intermediates whose private keys became public (RUSTSEC-2026-0381, -0382, -0383), the TLS library is updated, and an unused archive library is no longer included.
Windows -- the .exe installer. It is unsigned, so SmartScreen may
warn on first run. Verify the download against SHA256SUMS.txt if you want to
confirm it wasn't tampered with in transit.
Linux -- the .AppImage, x86_64, is the one the in-app updater replaces:
chmod +x it and run it; it works on Ubuntu 22.04+, Debian 12+, Fedora and
Arch, and carries its own WebKitGTK. The .deb and .rpm install through
the package manager instead (and update with the next release, not in-app); they
use the system's webkit2gtk-4.1 and pull it in as a dependency. For a tray icon you also need a StatusNotifier host; on
GNOME that means the AppIndicator extension. Without one Karasu still runs and
closing the window quits instead of hiding.
Android -- the .apk, sideloaded. Take the _arm64 one; _universal
is the fallback for anything that refuses it (old 32-bit phones, emulators)
and comes with tagged releases only -- a nightly ships arm64 alone.
Both are signed with the project key, so installing over a previous release
keeps your data. From 1.11 the app updates itself here too: it downloads the
APK for your device over Wi-Fi, checks it, and opens the installer when you tap.
Karasu's built-in updater (About page, or automatic daily checks) verifies
updates against its own signing key regardless -- see latest.json for the
update manifest.
VirusTotal scan: src-tauri\target\release\bundle\nsis\Karasu_1.68.0.926_x64-setup.exe=https://www.virustotal.com/gui/file-analysis/ZTVkM2Y1ZTlmMjE5MjVlNmY3YTlkZTMyOWJjOWM5YmE6MTc5Mjk1MDk1Mg==/detection
Nightly build
The Nightly channel: an automated build from the latest commit on main (5fa9e7c), rebuilt on every push. The Stable channel is the newest tagged release.
Windows -- the .exe installer. It is unsigned, so SmartScreen may
warn on first run. Verify the download against SHA256SUMS.txt if you want to
confirm it wasn't tampered with in transit.
Linux -- the .AppImage, x86_64, is the one the in-app updater replaces:
chmod +x it and run it; it works on Ubuntu 22.04+, Debian 12+, Fedora and
Arch, and carries its own WebKitGTK. The .deb and .rpm install through
the package manager instead (and update with the next release, not in-app); they
use the system's webkit2gtk-4.1 and pull it in as a dependency. For a tray icon you also need a StatusNotifier host; on
GNOME that means the AppIndicator extension. Without one Karasu still runs and
closing the window quits instead of hiding.
Android -- the .apk, sideloaded. Take the _arm64 one; _universal
is the fallback for anything that refuses it (old 32-bit phones, emulators)
and comes with tagged releases only -- a nightly ships arm64 alone.
Both are signed with the project key, so installing over a previous release
keeps your data. From 1.11 the app updates itself here too: it downloads the
APK for your device over Wi-Fi, checks it, and opens the installer when you tap.
Karasu's built-in updater (About page, or automatic daily checks) verifies
updates against its own signing key regardless -- see latest.json for the
update manifest.
VirusTotal scan: src-tauri\target\release\bundle\nsis\Karasu_1.68.0.926_x64-setup.exe=https://www.virustotal.com/gui/file-analysis/NzY3MjZhODJkNzE5YWE0NjE1Y2U4Nzg2ZTI3OWM0ZDg6MTc5MjkyMTg2OA==/detection
Karasu 1.44.0
The second Stable release since 1.0.0, and what the Nightly gained in the
nine days after 1.32.0: titles in the language you choose everywhere Karasu
writes one, notifications that say what they are about, a Compare tab on
other users' profiles, custom lists you can manage from Settings, one compact
dialog for editing an entry, a sync panel that says what Karasu is doing and
what it will do next, and Back that returns you to where you were. Karasu
starts lighter, reads more clearly at 12 px, works with a keyboard and a
screen reader throughout, and on Linux no longer freezes on a file dialog or
a sidebar click.
Around the app: the website is one short page with the downloads, a gallery
of real captures and what changed lately, and Karasu now builds as a Flatpak
from source for Flathub.
Added
- Settings → Appearance has a title language — English, Romaji or the original — for every title Karasu shows, notifications, the tray, the Android widgets and the Discord status included (#50, #51).
- Notifications about an activity or a forum comment say which one: the list entry with its cover, the post or the comment, with spoilers hidden and nothing past your content filter. The system notification names the newest one (who did what, never what anyone wrote) instead of only counting them.
- Mute new-episode notifications for a single show from its context menu; Settings lists the muted shows.
- A Compare tab on other users' profiles shows how much your scores agree, where you disagree most and what they rated that you have not seen.
- Custom lists can be created, renamed and deleted in Settings, with every entry's membership checked and put back after the change.
- The sync panel says in plain words what Karasu is doing right now, what it just asked AniList and which checks come next, with the request budget as a bar and a countdown while AniList holds requests back.
- Back from a title returns you to the list, search, season, calendar, library or forum as you left it: the same filters, the same entry, the same scroll position.
- On a Wayland desktop the global hotkey goes through the desktop's own shortcut portal (GNOME 48+, KDE Plasma, Hyprland), with its status shown in Settings.
- Browser detection recognises Bilibili, and shows Disney+ and Prime Video titles as playing (series only, no episode updates).
- A chapter in any browser tab is recognised for a manga you are reading, and always asks before it updates (#56).
Changed
- Editing an entry from a list, a card, the franchise view or the right-click menu opens one compact dialog that saves every change as you make it, with Undo, instead of a form with a Save button.
- A title without an AniList banner shows its prequel's (or another relative's) banner, or its cover's colour, instead of a blurred cover.
- Right-clicking a title shows only what you can do with that title; Back, Reload and the other page commands are a right-click on the page.
- On season and search cards, a title on your list shows a small status dot instead of a check that looked like a button.
- The +1, complete and Play buttons on every row are quiet until you point at them, and Rewatching is teal instead of a second green.
- Places that need an AniList account stay in the sidebar, greyed out, and say what they need when you point at them.
- On the desktop, search filters fold behind one Filter button, the forum picks its category from one field, and the formatting toolbar of a post or a review appears once you start writing.
- Hints, timestamps and the lines under titles are set at 12 instead of 10 px, and numbers, scores, dates and durations read the way your language writes them.
- Keyboard and screen reader: every control has a name, buttons that open another page are one Tab stop, focus lands on the new page and stays in the palette, the bell and the sync panel speak their counts, and small controls have finger-sized targets on touch screens.
- Statistics name formats as "Film" and "Special", colour a status breakdown in the status colours, and keep chart labels readable at any size.
- A failed load says what went wrong and offers Retry, and a rate limit says how long the wait is instead of looking like a missing title.
- When Karasu will ask before updating, the now-playing card counts down to asking instead of promising an update.
- Adult art is veiled the same way everywhere while the blur is on; the related titles, the franchise graph, the random pick and the activity feed showed it unblurred.
- Android's status and navigation bars follow the light and high-contrast themes.
- Karasu starts with less to load: the app's code arrives in a few larger pieces, the detail, search and season pages load after the first paint, and the animation library is gone, about 100 KiB less in all. The Windows program is about 3 MB smaller.
- A store build (Flathub, F-Droid) leaves updates to the store.
- Manga detection names only official readers; Netflix is no longer claimed, since its tab never names the episode.
Fixed
- On Linux, choosing the library folder, saving the Wrapped poster, exporting (calendar, backups, diagnostics) and importing no longer freeze the window (#62, #68).
- On Linux, clicking a sidebar link no longer freezes or closes the window; page changes there switch without the cross-fade (#54, #55).
- A detail page no longer scrolls sideways on a phone or jumps when it finishes loading, and its community chart no longer runs its counts together in a narrow window.
- On Android, the Search page's scope chips and Wrapped's export options no longer show scrollbars and a white corner square (#48).
- On Android, the background-notification settings offer the battery exemption themselves instead of pointing at a Jellyfin row that only exists with a server connected (#52).
- A custom-list membership you just saved no longer snaps back when the list screen is reopened soon after.
- A bulk edit on the manga list no longer reverts on screen until the next sync.
- The "how much you agree" line on another user's Lists tab no longer disappears on the phone after a while.
- Opening a title from a cover moves the cover into the detail page again instead of only fading.
- In list selection, a row's checkbox toggles once; the calendar no longer marks an upcoming episode with the same check as a watched one.
- Settings fields keep what you type and save once you leave them, instead of on every keystroke.
- The sidebar no longer says "synced" while AniList is holding requests back or cannot be reached.
- The titlebar names the player (mpv) instead of its file, Side Story is translated in German, and the last row of a list can scroll clear of the detection window.
Windows -- the .exe installer. It is unsigned, so SmartScreen may
warn on first run. Verify the download against SHA256SUMS.txt if you want to
confirm it wasn't tampered with in transit.
Linux -- the .AppImage, x86_64, is the one the in-app updater replaces:
chmod +x it and run it; it works on Ubuntu 22.04+, Debian 12+, Fedora and
Arch, and carries its own WebKitGTK. The .deb and .rpm install through
the package manager instead (and update with the next release, not in-app); they
use the system's webkit2gtk-4.1 and pull it in as a dependency. For a tray icon you also need a StatusNotifier host; on
GNOME that means the AppIndicator extension. Without one Karasu still runs and
closing the window quits instead of hiding.
Android -- the .apk, sideloaded. Take the _arm64 one; _universal
is the fallback for anything that refuses it (old 32-bit phones, emulators)
and comes with tagged releases only -- a nightly ships arm64 alone.
Both are signed with the project key, so installing over a previous release
keeps your data. From 1.11 the app updates itself here too: it downloads the
APK for your device over Wi-Fi, checks it, and opens the installer when you tap.
Karasu's built-in updater (About page, or automatic daily checks) verifies
updates against its own signing key regardless -- see latest.json for the
update manifest.
VirusTotal scan: src-tauri\target\release\bundle\nsis\Karasu_1.44.0.873_x64-setup.exe=https://www.virustotal.com/gui/file-analysis/MDRlYWI4OGU1YTM0MjZiMzVjNzdkZDE0MzExM2U5OGU6MTc5MTc5Nzg4MQ==/detection
Karasu 1.32.0
The first Stable release since 1.0.0, and everything the Nightly gained in the
four weeks between: a new way to act on any title (long press, right-click,
pull to sync), a floating now-playing window, an Android app that updates
itself and keeps Jellyfin tracking alive with the screen off, Jellyfin servers
found by name, a cache that makes a restart cost almost no requests, .deb
and .rpm packages beside the AppImage, a contrast setting and the second
version of Karasu's look across the app and the website.
Two things change around the app rather than in it. Karasu is now licensed
under AGPL-3.0-or-later; releases up to 1.30.x stay under MIT. And the
project has moved to github.com/Suzora/Karasu and
suzora.github.io/Karasu. The old repository address forwards, so an
installed 1.0.0 still finds this update; the old website address does not.
On Android, 1.0.0 cannot update itself: install this APK once by hand
(your data stays, the signing key is the same). From here on the app fetches
its own updates.
Added
- Long-press a title on a touch screen, or right-click it with a mouse, for everything that can be done with it; the right-click menu finds entries as you type and stays on screen at any edge.
- Pull a screen down on the phone to sync; Android drops the separate sync row, and the list header no longer shows a reload button there.
- Swiping up from the phone's bottom bar opens the command palette, which opens on what you used lately beside the main shortcuts.
- The now-playing card is a small floating window over every screen, expanded or compact, with the cover, season and episode, the episode's name and the AniList details; its update, skip and fix-match buttons sit in its header, and on desktop it can be dragged anywhere and resized, and remembers both.
- Android downloads a new version by itself over Wi-Fi and installs it from About, the bell, or once at start; the update channel can be chosen there too.
- On Android, Jellyfin tracking can keep running with the screen off — a switch under Detection → Jellyfin starts a quiet permanent notification that stops Android from freezing the app, a button excludes Karasu from battery optimisation (which also keeps the notification check on schedule), and the tracking settings are no longer greyed out there.
- Settings → Detection → Jellyfin can find the servers on your network by name, and signing in checks the address is a Jellyfin server before your password is sent.
- Jellyfin settings take an optional external address for when the server is not reachable at the first one — Karasu switches over by itself, checks it is the same server before sending anything, and Test connection says which address answered.
- The bell has a titlebar glance at the newest three, a notifications page with a filter for Karasu's own and AniList's, and a sheet of its own on the phone.
- A formatting toolbar in every place you write on AniList — activities, replies, threads, comments, reviews and your bio — with shortcuts for bold, italic, strikethrough and spoiler.
- An "Interface size" setting under Appearance zooms the whole window (75–200 %), for 4K displays and TVs across the room; Ctrl+plus, Ctrl+minus and Ctrl+0 change it like in a browser, and the size sticks.
- A contrast setting under Appearance: System, Standard or High, where High lifts text, the accent and every border to at least 7:1 in both themes.
- Appearance can follow the system's accent colour on Windows, GNOME/KDE and Android 12+, with your own colour kept for when you switch back.
- The calendar has three views (week grid, tiles, agenda) and never scrolls sideways; "My shows" keeps the episodes that already aired, dimmed; a Density setting under Appearance sizes the calendar, the local library and the digests.
- A third, text-only list view beside the gallery and thumbnails, and all three views on the phone, laid out for its width.
- On the phone, swipe left or right on the anime and manga lists to move between the status tabs.
- Setting a title to Completed fills in the final episode or chapter (and the volume count for manga) wherever the status changes.
- Adding a title from its page uses your default status in one press, the chevron or a resting mouse offers the others, and a status colour too faint for the current theme is flagged in Appearance.
- On Android, a long press and an armed pull-to-sync give a short haptic tick, and a title can be shared to another app from its menu or its page.
- Linux releases ship a .deb and an .rpm beside the AppImage; the AppImage remains the one that updates itself.
- The window opens where and how large it was last closed.
- The sync panel and the diagnostics report show AniList requests per source since the app started.
- Detail, seasonal, franchise and similar pages are cached on disk with a per-page lifetime, so reopening one after a restart usually costs no request.
Changed
- A calmer, sharper look across the app and the website: neutral hairlines, tighter corners, headings and labels in the Karasu typeface, and sheets and dialogs that arrive on a soft spring.
- Menus, sheets and panels share one row style with 44 px touch targets on the phone, every dialog shares one frame with its buttons in reach on short windows, and every search field, form field and choice looks and clears the same way.
- Chips and counts share one look: outlined labels and one badge shape; the status button, the +1 buttons, main buttons and chosen chips carry their colour as a tint instead of a solid fill.
- Every control shows the same focus ring when reached by keyboard, controls sink slightly while pressed, and small buttons are easier to tap on a touch screen.
- View switches slide to the chosen option and follow the arrow keys; statistics sections use the list's tab strip; expandable sections open and close with a short animation instead of jumping, and quick loads no longer flash a skeleton.
- Bottom sheets on the phone can be swiped away and sit above the bottom bar; receipts can be flicked away, stay put while hovered or focused, and give an Undo seven seconds.
- The anime and manga list header is rebuilt: single-row status tabs in their status colours, and one toolbar with search, sort, filter and preset panels, removable filter chips, and a More menu on the phone.
- The detail page edits your entry from the status button and shows how everyone else scored the title; on the phone it puts every fact below the cover.
- The overview shows your figures under the banner, one row of what you are watching and reading, and this week beside airing soon; its four figures take less height and stay centred on the phone.
- Banners on title pages, profiles and the season hero are shown whole with a blurred fill instead of cropped, blend into their surroundings, and take less room on the phone; the season hero is swiped instead of stepped with arrows, and it counts aired episodes for a running show.
- The calendar steps weeks from a bar of its own and shows a quiet stretch of days as one line; on a phone that bar holds only the arrows and the range.
- Settings has one Account pane for Karasu and AniList, groups Appearance into three cards with previews of each theme, and lists on a phone what each pane holds; on a phone, settings with a field or a menu stack the control under its description, and the Jellyfin card starts with the connection.
- On a phone, a profile shows the whole name with Follow across the width, the forum's categories are one menu instead of rows of chips, and the formatting bar keeps to one row with a More menu for the rest.
- The collapsed sidebar names its icons in tooltips, and its avatar is round again.
- Settings switches keep a readable thumb on pale accents and show their edge in high contrast.
- Your list is read from the local copy for fifteen minutes after a fetch and refreshed quietly in the background after that; "Sync now" still fetches at once.
- Karasu waits for the next episode's airing time instead of polling AniList every twenty minutes for new episodes.
- The Wrapped page is built from the list Karasu already holds, and saving from a title's page no longer reloads it.
- Every sync surface shares one lock, so a sync started elsewhere shows as running.
- The Android battery hint says which vendor setting keeps tracking alive with the screen off (nubia/ZTE: "Runs in background" → "Allowed").
- The Linux AppImage runs natively on Wayland in a Wayland session, like the .deb and the .rpm; GDK_BACKEND=x11 runs it through XWayland as before.
Fixed
- With Karasu on both the PC and the phone watching the same Jellyfin account, an episode reaches AniList once — the desktop goes first, the phone waits three minutes and checks, and every instance asks AniList for the current progress before it writes.
- Find servers reaches the Jellyfin server on a PC with a virtual network switch (Hyper-V, VirtualBox).
- The Linux AppImage no longer opens a black window or crashes shortly after opening on Fedora 44, Ubuntu 26.04 and other systems with Mesa 26, and it starts under firejail --appimage and anywhere else it is mounted as root.
- Karasu exits cleanly when Windows ends the session instead of logging a crash.
- Pinning an activity no longer signs you out; a refusal shows AniList's reason, and the pin control is only offered on accounts that can pin.
- Spoilers that wrap several paragraphs, lists or images hide as one block, and comment previews no longer reveal spoiler text.
- Images in bios and forum posts that showed as a link now render — linked badges,
tags, URLs with parentheses, and hosts that mislabel the file — and each is fetched once.
- Bios and posts render as anilist.co does where they did not — a favicon-style ICO image loads inline, every HTML entity a browser knows is decoded, a heading written as #Title without the space is a heading, ~~~centred~~~ text inside a heading keeps its spoiler,
draws a rule, and a one-l...
Karasu 1.0.0
Karasu 1.0.0 is the first tagged release: a desktop and Android tracker built
exclusively for AniList, in the spirit of Taiga. It watches what you play or
read — the system's media sessions on Windows and Linux, player and browser
windows on Windows, and a Jellyfin server anywhere — parses the release name,
matches it against your list and scrobbles the progress, asking first when it
is not sure. Around that sit the list itself with offline editing and a sync
queue, a local library scanner that knows which episode you have on disk,
statistics and a year-in-review poster, AniList's forum and activity feed,
and on Android four home-screen widgets and background notifications that
run with the app closed.
This release also opens the Stable update channel: new installs follow it
by default, and the per-commit build lives on as Nightly for anyone who
wants to stay on the edge. Everything below is what changed on the way here,
grouped by what it means for you rather than by commit; the full record is
the commit log.
Fixed
- Account-free mode no longer wipes an entry when you edit one field of it.
Every quick control —+1, the status dropdown, the score select, the bulk
bar, the detail editor — sends only the field you changed, and the local list
was filling in the rest with defaults: a+1reset the status to Planning and
zeroed the score, repeat count, volume count, notes and tags. Absent now means
"leave it alone" for every field, as it always has for AniList. - The sign-in merge no longer deletes local rows it never pushed. A local
entry that agreed with AniList on status, progress and score was cleared
without being sent — so notes, tags, rewatch count, volume count, privacy and
both dates that existed only locally were lost, and the merge reported
success. It now pushes whatever the AniList row is missing before clearing,
and never overwrites a value AniList already has. - A library scan can no longer wipe the index because the drive was offline.
An unreachable folder produced zero files, and zero files were written down as
the truth across all three library tables — reported as a successful scan, and
surviving a restart. The folder is checked before anything is replaced, and
finding nothing where something was indexed before keeps the index and says so. - Queued offline edits can no longer land on a different account. Signing out
left them in the database with no record of who made them, so the next account
to sign in drained them onto its own list. Each queued edit is now stamped with
the account that made it and is only ever replayed for that account — so
signing back in still syncs what you were waiting on, and nobody else's client
ever sees it. - The JSON backup carries every list field again. It dropped advanced
scores, custom-list membership and hidden-from-status-lists — the three that
AniList writes wholesale with no undo, and so the three a backup is most
needed for. - Undo is no longer offered for a save it cannot reverse. It covered six
fields and silently skipped the rest; it now reverses dates, privacy and
hidden-from-status-lists too, and declines outright when a save touched custom
lists or advanced scores. - The score rescale reads the list as it is now, not as it was when you
opened Settings — it could claim there was no list at all, and otherwise
planned real score writes from a stale snapshot. - A daily backup that was truncated (a full disk, a process killed mid-write) is
checked and rewritten instead of occupying a retained slot unusably. - Clicking the tag box no longer deletes a tag. A
<label>around the tag
editor made the first chip's remove button its target, so clicking the caption,
the box's padding, or another chip's text removed the first tag silently. - The list view's keyboard shortcuts no longer fire against the wrong entry.
After one arrow press, Enter/Space/e/c/s acted on the highlighted row whatever
else had focus — Space on a focused button wrote a+1to your real list for a
title you weren't looking at, and cancelled the button you actually pressed. - Ctrl+K no longer opens the command palette behind an open editor and discards
what you were typing; the season picker no longer lets/and Ctrl+1/2/3 fire
underneath it. - The Stable update channel no longer claims you are up to date. No stable
release has ever been published, so its manifest 404s — and a manual check
answered that with a green tick. It now says the channel has no release yet. - An update check that fails no longer burns the once-a-day throttle, and the
request has a timeout like every other one in the app. - Switching update channel clears the download held for the old one, instead of
offering to install a build the new channel does not have. - On Linux, an update is only offered to a running AppImage. A self-built binary
was offered one whose install would have overwritten the user's own build. - Settings that failed to save no longer look saved. The content filter and
every detection toggle were fire-and-forget: the switch moved, the write was
dropped, and the choice quietly did not survive a restart. They put the
control back and say what went wrong. - The bell no longer answers a failed read with "You're all caught up."
- The media-session diagnostic distinguishes "no player is reporting anything"
from "the system service could not be reached" — on Linux the second means
detection is down, and it used to send you to debug your player. - Turning airing notifications off no longer arms them: re-enabling months later
used to replay every episode that had aired in between. - A title hidden by the content filter can no longer surface in an on-hold
reminder. - "No such user" is no longer what a dropped connection looks like. Profiles,
threads and character/staff pages rendered every failure as "this does not
exist" — a definite claim about someone else's account, made because the
network was down. A real not-found still reads as one; everything else says
what failed and offers a retry. - Relative timestamps ("3m", "5h", "2d") are translated. They were hardcoded
English sitting directly beside a translated "now"; German now reads 3 Min. /
3 h / 3 T. - The franchise graph's status legend uses the right vocabulary — it said
"Watching" over a manga graph whose own cards said "Reading". - Jellyfin's sign-in errors are translated. "Wrong username or password" was
composed in Rust and printed verbatim, so a German UI showed it in English. - Five things that were reading or writing the wrong cache entry. The
sidebar's Anime and Manga counts were blank for the whole of account-free mode
and the franchise rail could not see a local entry (both keyed onundefined
where every other screen keys on0); the favourite heart on a character,
staff or studio page patched a media entry keyed by a character id and never
moved; liking a thread updated nothing on screen; and the thread author's
avatar was always missing, because the query asked for a size the page does
not read. - Fetching media in bulk no longer fires every batch at once into a shared
~30/min budget. - Portable mode's "replace the database that's already there" works. It called
a copy that refuses an existing file, so it could only ever print a raw SQLite
error — the only route to a portable copy was deleting the old file by hand. - Two list screens opening at once no longer each send the whole offline queue,
and a queued edit AniList refuses outright now says so instead of vanishing. - The trailer card and the streaming-episode tiles no longer render as broken
images. Their thumbnails live on hosts the content-security policy does not
allow, and widening it to cover them would hand those hosts your IP and what
you are looking at — so the cards are drawn instead, and still open the same
link. - The command palette's keyboard cursor follows the list. Twelve navigation
items do not fit its box, so the last one was unreachable: arrowing down moved
an invisible highlight and Enter opened something never on screen. It also
announces the highlighted row to a screen reader now. - On Linux, mpv's IPC socket defaults to your own runtime directory rather than
a/tmppath shared with every other account on the machine. - The detail page's play button appears as soon as a library scan finds the next
episode, instead of waiting for something else to redraw the page. - An episode that has just aired no longer shows an empty pair of brackets where
its countdown was. - The franchise graph says when it stopped expanding, instead of only when it ran
out of room for nodes. - The match picker shows "TV Short" rather than
TV_SHORT. - The context menu takes focus when it opens and announces itself as a menu, so
it can be used from the keyboard at all. - Grid-card buttons become visible when tabbed to, instead of being focusable
while fully transparent. - The review composer's body label no longer points at a field that isn't there
in preview mode. - An offline edit is no longer deleted when AniList answers with something
recoverable — an expired token, a rate limit, a server fault. Only a payload
AniList rejects on its own terms is dropped, and when one is, it says so. - Repeated offline edits to the same entry collapse instead of replaying as one
request each into a ~30/min budget. - The sign-in merge refuses to run unless it has read both live AniList lists
first. A failed read used to look like an empty account, at which point the
local list was pushed over real progress. - A merged entry whose write only reached the offline queue keeps its local row
until the write lands. - Enabling portable mode with a database already beside the executable asks
which copy to keep instead of silently adopting the older one. Disabling says...