Releases: ahXN00/OwnTV
Releases · ahXN00/OwnTV
OwnTV v2.0.0
v2.0.0 — 2026-06-13
This update delivers the complete, long-term vision for the app. I’ve been working on this feature set for a long time! My original goal was to launch with everything ready, but I decided to get the core IPTV features into your hands early so we could catch and fix any bugs first. Now, the full roadmap is finally here. This update brings you content customization, a smarter guide, resume & complete backup, in-app updates, custom accent colors, and a top-to-bottom D-pad navigation overhaul, plus all the bug fixes from the last update.
✨ New features
- Playlist-order sorting — sync now preserves your provider's original order (channels, movies,
series, and category/group order). Each section (Live TV / Movies / Series) has a sort chip next to
the search bar to toggle Playlist/Provider order ↔ A–Z, remembered per section. Live TV defaults
to playlist order. (Re-sync a source once to pick up the stored order.) - Full category names — the category rail expands when focused (like the sidebar) and shows full
names; Favorites/History show icon + label. - Content customization (per profile, survives re-syncs)
- Hide, rename, and reorder categories in Live TV / Movies / Series (Settings → Customize).
- Hide and rename channels straight from the Live preview pane.
- Hidden-channels list (top of Settings → Customize) to unhide.
- Hidden channels disappear everywhere: lists, folders, favorites, section & global search,
recently watched, and the EPG guide.
- Custom EPG URL per source — for Xtream and M3U; your own XMLTV link overrides the defaults
(Xtreamxmltv.php/ M3Uurl-tvg). - Tune from the Guide — OK on a channel name tunes straight to it; programme details have a
Watch channel button. - Guide search — a search bar in the Guide filters channels across the whole guide (not just
the visible rows). - Guide lists every channel — rows load their programmes lazily as they scroll into view, so the
guide shows your full lineup (no more 300-channel cap) with flat memory use. - Resume, your way — replaying a movie/episode with a saved position now shows a small
"Resume at 23:45?" prompt (Resume / Start over). A new Resume playback setting in Video Player
settings picks the behavior: Always resume · Ask to resume (default) · Never resume. - In-app updates — OwnTV updates itself straight from GitHub Releases: automatic check shortly
after launch (toggleable via Settings → Check updates on startup), or manually via
Settings → Check for updates. The startup check shows a small top-right status card
("Checking… / You're up to date", auto-hides) that stays with Update now / Later when a release
is newer; the manual dialog shows the full changelog. Updating downloads the APK with progress
and hands it to the system installer — no storage permission needed (the APK stays in app-private
storage). - Custom accent colors — the accent picker grew from 5 presets into a full palette + hex code
input (e.g.#52DBC8); the whole Material theme is generated from your color. - Simpler Settings — the Personalization sub-menu was dissolved: Theme (picker), Accent
color and UI Zoom now live directly under Appearance (avatars are edited per profile in
Profiles). - Selective backup & restore — exporting asks what to include (profiles & sources,
customizations, favorites, history, resume positions — or everything), and restoring shows the
file's contents and lets you pick which parts to apply. - Restore on first launch — setup now starts with a choice: create a new profile, or restore
everything from a backup file (profiles included) without creating a throwaway profile first. - TV-style search bars — focusing a search bar no longer opens the keyboard; it highlights like
any control and the keyboard opens on OK (applies to Live/Movies/Series, the Guide and global
Search). - About screen — Settings gained a proper About dialog (version, license, author, project link);
the old "Star on GitHub" / "Report a bug" browser links were removed (TV browsers are no place to
send people). - EPG status — the Guide shows "Guide loaded: N channels · M programmes"; each source row in
Settings shows its EPG state (✓ + count, or "not downloaded"). - Complete backup — Backup & Restore now covers everything: profiles, playlists/sources,
customizations, favorites, watch history, and resume positions. Favorites/history/resume
re-attach automatically once the restored sources finish syncing (episode data attaches when you
open the show).
🛠️ Fixes & stability
- Runs properly on real TVs — a top-to-bottom playback overhaul for TV-class hardware:
- Direct-to-display rendering: on TV devices the hardware decoder now writes frames straight
to the screen (the same zero-copy pipeline YouTube/Netflix use) — smooth 4K HDR with the TV's
own native HDR handling, faster channel starts, and a far lighter memory footprint. Text
subtitles are drawn by the app Netflix-style; a Renderer setting (Auto / Quality) can force
mpv's full GL renderer (complete ASS/PGS subtitle styling + zoom modes) on devices that can
afford it, and the app falls back to it automatically where direct rendering isn't available. - The player's memory scales to the device (the old emulator-tuned 256 MB stream buffer
OOM-killed budget 4K TVs): lean buffers and cheaper framebuffers on low-RAM devices. - A decode watchdog stops playback with a clear message if a 4K/8K stream would fall back to
software decoding (which overloads TV chips). - The image cache is capped, going to the background releases the stream immediately, and the
app sheds caches when the system signals memory pressure instead of getting killed.
- Direct-to-display rendering: on TV devices the hardware decoder now writes frames straight
- No more freezes (ANRs) — all player commands run off the UI thread; a stalling stream can no
longer lock up the remote. Fast preview-scrolling coalesces loads (only the channel you land on is
opened). - Blank player fixed — preview → fullscreen now reuses the running stream instead of
reconnecting (no overlapping connections, which tripped strict 1-connection providers with
HTTP 509). The transition is seamless now, too. - Live-drop recovery — temporary provider errors (e.g. connection-limit responses right after a
channel switch) are now retried at the network layer and usually ride over invisibly; if a live
stream still dies, the player shows the buffering spinner and auto-reconnects, and only then a
proper error + Retry — never a silent black screen. - Guide fixes — the grid now picks only channels that actually have programmes (was scanning the
first 300 by number) with case-insensitive EPG-id matching (fixed "guide loaded but empty"); Back
in the Guide no longer blocks exiting the app. - Episode resume actually works now — resume positions for series episodes were read on play but
never saved; episodes now save progress every 10s like movies (and track prev/next in the queue). - Crash fixed when hiding a live channel (Paging re-collection).
- Profile PIN locks can now be removed — the profile editor gained a Remove PIN lock toggle
(previously a blank PIN field just kept the old PIN forever). - Restoring a backup keeps you in Backup & Restore — it no longer bounced the app back to the
Settings menu mid-restore (the profile swap briefly emptied the profile list, which reset the UI). - Category rail performance — virtualized list + overlay expansion: buttery smooth with hundreds
of categories (the channel grid is no longer re-laid-out during the animation). - Layout fixes — the Movies download button no longer stretches; preview-pane buttons reflowed;
the sort chip matches the search bar height. - Focus fixes — rename dialogs focus their text field; the source edit form focuses the Name
field; Settings → Sources restores focus after add / edit / re-sync / failed import. - D-pad navigation fixed everywhere — moving between panels no longer lands on whatever happens
to be horizontally aligned: entering the category rail always lands on the selected folder,
entering the sidebar lands on the current section, entering a content pane lands on the
last-focused (or first) item — never the search bar, every Settings sub-screen opens on its
first control, and closing any dialog returns focus to the row that opened it. Returning from
playback puts focus back on the exact item you played — the channel row in the Guide, the
episode in a show, the poster in Movies/Series, the row in Downloads.
Full Changelog: v1.0.0...v2.0.0
OwnTV v1.0.0
Full Changelog: https://github.com/ahXN00/OwnTV/commits/v1.0.0