izumi v0.1.5
Download an installer for your platform below. The app auto-updates.
Changes
- ci(release): grant ACCESS_NETWORK_STATE on Android so navigator.onLine works (f6db72f)
- chore(release): v0.1.5 (0acf8f7)
- feat(trackers): read-only MyAnimeList list by username (no login) (0a6fbad)
- feat(offline): full offline mode across desktop + mobile (277b7b9)
- fix(player): remove volume swipe, stop control/sheet/bar taps leaking to the gesture layer (06cb4dd)
- feat(player): YouTube-style seek pulse, buffering-aware transport, remove brightness gesture (267974f)
- fix(mobile): TV/OVA/ONA casing, no double top inset, smaller landscape-safe hero, spoiler hides title (no blur) (fa2ea3d)
- feat(mobile): contained hero block, in-flow top bar, auto-hiding bottom nav, scrollable schedule days, search fixes, desktop folder picker (e0ff93a)
- feat(mobile): customizable navigation + My List page + schedule day-tabs (935a4d7)
- fix(mobile): haptics never fired — capability requested a nonexistent haptics:default; grant the real allow-* perms (b215a47)
- fix(player): label subtitle/audio tracks by language, not codec (08b4c20)
- feat(mobile): 3-up browse grid + list layout, header search, stronger nav haptics, tab press + settings transitions (03ac7ac)
- ci(release): list the changes in the release notes (d157c88)
- fix(player): name saved screenshots "izumi-shot" not "mpv-shot" (f960b5e)
- fix(mobile): isolate detail hero so -z-10 background art renders (was hidden behind page bg) (b407f83)
- fix(mobile): make detail-page background art more prominent (desktop-like) (291e0f9)
- fix(mobile): device-test polish (bbc80bd)
- fix(mobile): highlight Player at settings root + dismissible hero overflow menu (c7c7e28)
- feat(mobile): haptics on bottom nav + tracker outcomes (4e286c9)
- feat(settings): Android haptics toggle (6bb8788)
- test(settings): update SettingsNav ordering assertion for grouped list (baa220e)
- feat(settings): mobile push/pop index + Player at its own route (8b37281)
- feat(settings): mobile grouped list index + desktop rail (b85becf)
- feat(episodes): Oldest/Newest sort + denser mobile rows + 2-up cards (54edbf3)
- feat(episodes): pure episode ordering helper (82bf9bc)
- feat(mobile): tighten home hero height + overlay density (119f6c7)
- feat(mobile): poster-forward detail hero with compact action row (b2253b8)
- feat(mobile): fluid browse tiles that scale to phone width (ff925b8)
- fix(mobile): use haptics plugin's real string-literal API (no runtime enum) (4b84c68)
- feat(mobile): haptics wrapper gated on Android + setting (9afeccd)
- feat(mobile): register haptics plugin + capability (mobile-gated) (6fac2a7)
- feat(settings): add haptics enable preference (94adde5)
- feat(mobile): add rem density ramp for phone viewports (cb40f59)
- fix(debrid): play the requested episode from a batch, not the largest file (dbe352e)
- fix(anilist): recover episode count from airingSchedule when
episodesis null (18490e7) - fix(debrid): play the requested episode from a batch, not the largest file (8c06c03)
- fix(anilist): recover episode count from airingSchedule when
episodesis null (7521f4a) - feat(player): keep the screen awake while a video is playing (f0b1917)
- feat(player): keep the screen awake while a video is playing (56f6058)
- fix(player): show live subtitle/audio delay values + stop text-field keys leaking to player shortcuts (d81e89b)
- fix(subtitles): surface quota/auth notices + reset online subs per episode (189fa85)
- feat(player): Game-mode track menu — Online subtitles cascade (e9669a1)
- feat(player): desktop track menu — Online subtitles drill-down (158936e)
- feat(player): online-subtitle menu helpers (6996cb5)
- feat(settings): add Subtitles settings page (1e564d5)
- feat(settings): add Subtitles nav entry (0c34e4c)
- feat(subtitles): player_add_subtitle download+normalize+live add (d3b9708)
- feat(subtitles): PlayerHandle::add_subtitle live sub-add (91b276f)
- feat(subtitles): atomic subtitle-cache writer (3183161)
- feat(subtitles): charset-normalize downloaded subtitles to UTF-8 (aff1bc8)
- feat(subtitles): unzip first .srt/.ass from SubDL archives (5c044d8)
- feat(subtitles): opensubtitles_login command (28abb78)
- feat(subtitles): OpenSubtitles login parser + build constants (6c4be9d)
- build(subtitles): add zip/encoding_rs/chardetng deps (4c416f3)
- feat(subtitles): wire playStream to the aggregator + partition needsFetch candidates (1c153a4)
- feat(subtitles): session stores for online candidates + subtitle notices (60d8dca)
- feat(subtitles): fan-out aggregator over addon + direct-REST providers (b0637ac)
- feat(subtitles): SubDL bring-your-own-key search provider (6251561)
- feat(subtitles): subtitle-provider config stores + enabledSubtitleProviders (f75e957)
- feat(subtitles): OpenSubtitles keyless search provider (baede2c)
- feat(subtitles): shared SubtitleProvider/SubQuery/SubtitleCandidate types (98fe601)
- feat(subtitles): actionable quota-reached copy for OpenSubtitles downloads (f02a0c1)
- feat(subtitles): classifier surfaces OpenSubtitles quota-exhaustion 401s (3241c2d)
- feat(schedule): toggle the sticky-header fade (off by default) (779aeb3)
- feat(release): direct per-platform install links + version-less assets (73e1daa)
- docs: adjust spacing between izumi title / fav (ffbf4b9)
- feat(debrid): experimental providers surface token/subscription access-denied (53d8422)
- feat(debrid): envelope providers surface token/subscription access-denied (9a58fab)
- feat(debrid): Real-Debrid surfaces token/subscription access-denied (1e12d09)
- feat(debrid): classifier for token vs subscription access-denied (afc79a4)
- ci(flatpak): auto-update both install paths from an own-domain OSTree repo (2fc98ea)
- chore(auth): move AniList/MAL OAuth to client.izumi.watch (8c9e609)
- docs(flatpak): install from the .flatpakref for Deck auto-update (c7d535e)
- feat(updater): flatpak-aware About copy for the portal update flow (57203cf)
- feat(updater): flatpak applies via the portal; toast prompts a Steam relaunch (a590e2b)
- ci(flatpak): publish a GPG-signed OSTree repo + .flatpakref to Pages (79ee2fd)
- feat(flatpak): portal UpdateMonitor check + install commands (d4072ff)
- chore(updater): review nits — drop dead import, kebab key, clear stale error, test isolation (9f28029)
- feat(settings): About page uses the unified updater + auto-check toggle (7b4f547)
- feat(updater): cross-platform launch check + toast in the shell (624290b)
- feat(updater): 3-phase controller-focusable update toast (745d3ee)
- feat(settings): autoUpdateCheck preference (default on) (d3a937e)
- feat(updater): delayed launch check + 6h interval scheduler (2fa887e)
- feat(updater): applyUpdate dispatch (flatpak notify-only until phase 2) (7a8b7c1)
- feat(updater): unified checkForUpdate across desktop/android/flatpak (e440d38)
- feat(updater): platform-dispatch facade for a unified update flow (c585d86)
- chore(sources): drop example addon brand names from the sources copy (a04e6ec)
- fix(schedule): stop the sticky-header dissolve smearing the day name (5611df0)
- fix(release): bump the AppStream metainfo version alongside the app (4c15627)
- fix(nav): let d-pad down reach the pagination row + skip disabled buttons (c9978bc)
- feat(detail): open the episode list on the page you're up to (1f70e41)
- fix(deck): use a dedicated X connection for native-touch writes (1e60cac)
Full changelog: v0.1.4...v0.1.5