← Back to cathode.live Changelog
All notable changes to Cathode will be documented in this file.
[0.5.9] — 2026-05-06
Fixes
- Xtream fallback testing reliability — Setup and Settings now test Xtream server URLs one at a time instead of in parallel, avoiding provider-side false 404s from aliases that share the same backend.
- Connection error detail — Native provider test failures now preserve non-standard error details instead of collapsing them to
Unknown error.
[0.5.8] — 2026-05-05
Fixes
- Xtream setup URL compatibility — Server URLs are now normalized before testing, saving, auth fallback, EPG loading, and playback URL construction, so root URLs,
player_api.php, get.php, and stream URLs all resolve to the correct server.
- Provider User-Agent compatibility — Native provider and HLS requests now include a default Cathode User-Agent, and Xtream accounts can save a custom User-Agent for providers that reject unknown native clients.
- Add-connection loading flow — Adding a connection now starts loading directly after credentials instead of relying on a step-change effect, avoiding duplicate setup starts.
[0.5.7] — 2026-05-04
Fixes
- Provider connection compatibility — Packaged builds now use native HTTP for Xtream, M3U, EPG, and logo requests, avoiding WebView CORS failures from provider aliases and CDN redirects.
- HLS playback compatibility — HLS manifests, segments, and keys now load through a native HLS loader in Tauri builds, helping streams from CORS-hostile providers play reliably.
Infrastructure
- Tauri CI coverage — Pull request CI now includes a Linux Tauri compile check so native plugin wiring is verified before release.
[0.5.6] — 2026-05-04
Fixes
- macOS HTTP IPTV support — macOS builds now allow WebView and media requests to plain-HTTP IPTV providers, fixing App Transport Security failures when connecting to providers such as TREX.
[0.5.5] — 2026-05-03
Fixes
- Mini guide detail width — The mini guide detail panel now fills the remaining space to the right edge while keeping channel rows left-aligned.
- AAC stream compatibility — Unsupported MPEG-4 audio codecs such as
mp4a.40.1 are now remapped to AAC-LC before hls.js creates the SourceBuffer, helping affected channels start instead of failing with bufferAddCodecError.
- Codec recovery diagnostics — HLS codec errors now include SourceBuffer type, mime type, and browser error details in stream diagnostics.
[0.5.4] — 2026-05-03
Fixes
- Startup buffering flicker — Startup
waiting and stalled events now stay inside the loading phase until playback actually begins, avoiding the immediate "Buffering..." flash after a channel starts.
- HLS startup stability — Disabled progressive HLS appending during startup and stopped forcing an immediate ABR jump after the first segment, reducing early
bufferSeekOverHole warnings and first-frame stutter.
- Codec buffer recovery — Fatal
bufferAddCodecError events now try media recovery and an audio codec swap before surfacing a hard HEVC/unsupported-codec error.
- Mini guide alignment — The mini guide channel grid is left-aligned again while preserving the wider program detail panel.
[0.5.3] — 2026-05-03
Features
- Visible stream startup progress — Loading streams now shows startup stage, percent, loaded bytes, segment count, and buffered seconds instead of only a spinner.
- Ultra-fast HLS startup — Streams now start from the first playable low-quality fragment, skip the throwaway bandwidth-test fragment, and release back to Auto quality after playback begins.
- Bandwidth memory — Cathode remembers recent bandwidth estimates per stream host so repeat channel starts can climb quality faster.
Fixes
- Stable mode startup — Stable keeps its larger buffers and retry posture, but uses a faster first-frame startup path.
- Transient stall noise — Non-fatal HLS stall events are handled through the stall recovery path instead of also surfacing as raw HLS warnings.
- Mini guide first focus — Opening the mini guide now initializes the focused channel/program details before paint.
Polish
- TV mini guide layout — The mini guide detail panel is wider on TV-sized screens and no longer leaves a gap beside the channel grid.
[0.5.2] — 2026-05-02
Features
- Streaming modes — Added Fast Start, Balanced, and Stable playback profiles so streams can be tuned for startup speed, live latency, or buffering resilience.
- Playback diagnostics — Added stream health metrics, recent player events, and redacted copyable diagnostics from the in-player stream settings panel.
- Global playback settings — Added a Playback tab in Settings for default streaming mode, stability preference, and diagnostics visibility.
Fixes
- Buffer recovery — Added progressive HLS recovery for stalls, network errors, and media errors, with capped player rebuilds and a manual retry action.
- Quality fallback — Auto quality can now temporarily step down after repeated stalls when stability is preferred.
Polish
- Buffering UI — Added a clear buffering state and retryable error overlay during stream interruptions.
[0.5.1] — 2026-03-26
Features
- Follow Show overhaul — Following a show now immediately creates reminders instead of waiting for the next EPG refresh. Title matching is exact (no more false positives). Unfollowing cleans up auto-created reminders.
- Reminders settings page — Shows channel numbers, dates for non-today airings, and "via Follow" labels to distinguish auto-created reminders from manual ones.
- EPG Web Worker parsing — Replaced broken DOMParser with fast-xml-parser so EPG parsing runs off the main thread, eliminating UI stutter during large EPG loads.
Fixes
- Guide hour shift — The guide grid no longer jumps left at the top of every hour.
- Display density — Switching density no longer leaves empty space at the bottom until restart.
- Follow Show channel matching — Follows are now strictly channel-specific. No more reminders created for international channels airing the same show.
- Follow icon scoping — Follow indicator only appears on the specific channel you followed, not every channel with that program.
- Reminder/follow icon delay — Icons on the guide now update instantly when toggling, instead of waiting up to 60 seconds.
- Scroll position on EPG load — Scrolling through the guide while EPG loads no longer resets your position to the top.
- Notification history isolation — Notification history is now per-account, so switching accounts won't show stale notifications with broken Watch buttons.
- Notification ID collisions — Multiple notifications firing at the same time now get unique IDs.
Polish
- Shortcuts overlay — Redesigned with proper "or" formatting between key alternatives. Reordered by priority. Removed F11 and duplicate entries.
- Update notification — Bell flyout now has an "Update" button linking to Settings → About. Download button moved above changelog.
- Remind Me tooltip — Added tooltip explaining the 5-minute notification lead time.
[0.5.0] — 2026-03-25
Features
- Quick Tune — Press
/ or Ctrl+Space to instantly search and start watching a channel from anywhere (guide or player). Smart scoring prioritizes favorites and recently watched channels. Opening with no query shows your recently watched channels for zero-keystroke switching.
- Redesigned navbar — Filter toggles and action buttons grouped into segmented pill groups with consistent SVG icons. Channel count moved to left side, cleaner layout.
- Recent filter sorts by recency — The Recent filter on the main guide now shows channels ordered by most recently watched, not channel number.
- Media keyboard support — Enter/OK key now shows the Now Playing info bar in the video player.
Fixes
- CHANNELS label alignment — Fixed inline style overriding CSS flexbox centering. Now vertically centered with left padding.
- Update toast opens About tab — "View Update" notification now opens Settings directly on the About tab.
- Update notifications in bell — Update available notifications now appear in the notification history flyout.
- Escape closes Settings — Pressing Escape now closes the Settings modal (cancels name edit if active).
[0.4.2] — 2026-03-25
Features
- Mini guide left/right navigation — Arrow left/right moves between programs on the focused channel. Detail panel shows the selected program with context labels (NOW, UPCOMING, EARLIER). Hint bar updated with new controls.
Fixes
- Guide navigation drift — Up/down in the guide now uses a sticky reference time instead of recalculating from each program's midpoint. Going down from a long movie then back up returns to the same program.
- Mini guide bouncing — Fixed time window that only shifts on explicit left/right navigation. Detail panel locked to fixed height to prevent layout shifts from variable content.
- Filter button stealing Enter — Clicking a filter pill (Guide, HD+, etc) then arrowing through the guide would cause Enter to re-toggle the filter instead of opening the program. Arrow keys now blur focused buttons.
- Now line position — Moved from 1/3 to 1/4 from the left edge for more visible current programming.
- Mini guide program padding — Reduced to match main guide's 2px gap pattern.
[0.4.1] — 2026-03-25
Features
- Multi-account support — Store multiple IPTV connections and switch between them. Each account has isolated favorites, filters, recently watched, reminders, and EPG cache.
- Accounts tab in Settings — Switch, rename, add, or remove connections. Click account names to edit inline.
- Custom account names — Optional name field during onboarding (e.g. "Strong 8k"). Auto-generates from server hostname if left blank.
- Add Connection flow — Streamlined wizard (skips Welcome and Theme steps) with Cancel button to return to previous account.
Changes
- Removed Disconnect button — Account management is now in Settings → Accounts. Removing the active account switches to the next one or returns to onboarding.
- Auto-migration — Existing single-account data is automatically migrated to multi-account format on first launch.
[0.4.0] — 2026-03-24
Features
- Onboarding wizard — New 6-step first-run setup: Welcome → Connection Type → Credentials → Theme & Density → Loading → Done. Replaces the old connection screen entirely.
- M3U playlist support — New connection type. Enter a playlist URL and optional EPG/XMLTV URL to load channels from any M3U source.
- Free IPTV channels — Browse free-to-air channels from 20 countries via iptv-org. No account needed — pick your countries and start watching.
- Fallback server URLs in onboarding — Add up to 2 fallback Xtream URLs during setup. Tested in parallel with the primary server.
- Connection testing — Dedicated "Test Connection" button validates all server URLs before proceeding. Shows per-server status with latency.
- EPG loaded during onboarding — Guide data is fetched as part of setup so channels have program info immediately on first launch.
- Guide filter default — Guide filter auto-enables on first run when EPG data is available for a better initial experience.
- Splash screen — Returning users see a clean splash with the app icon while auto-connecting, instead of briefly flashing the onboarding wizard.
Fixes
- Changelog page — Fixed white page on cathode.live/changelog. Replaced node:fs (unavailable in Cloudflare Workers) with Vite raw import.
- Browser dev mode — Guarded Tauri fullscreen API calls so the app doesn't crash when running in plain browser mode (
npm run dev).
Infrastructure
- Unified connection model — Polymorphic
Connection type supports Xtream, M3U, and Free connections. Single storage key with clean abstraction.
- Shared proxy fetch — Extracted
proxyFetch to a shared module used by all connection types.
- Removed demo mode — Replaced by Free Channels which provides a better first impression with real content.
[0.3.4] — 2026-03-24
Features
- Recently Watched filter — New 🕐 Recent pill next to Favorites. Tracks last 30 channels you've watched, persisted across sessions.
- Update toast links to Settings — "View Update" button on the update notification opens Settings → About directly for one-click install.
- Shortcuts overlay updated — Added all missing shortcuts: ←/→ opens mini guide, Backspace for prev channel, Q for quality, Ctrl+K for search, F11 for fullscreen.
Fixes
- Light mode overhaul — Replaced ~30 hardcoded dark colors with theme variables. Channel info popup, program detail, toasts, shortcuts, settings, and search overlay all respect the active theme now.
- Density scroll overflow — Fixed channels being cut off or extra space at the bottom when using Spacious or Compact density modes. Row heights now use dynamic values from the virtualizer.
[0.3.3] — 2026-03-24
Features
- Spacious display density — New "Spacious" mode (80px rows, larger text) for TV viewing at a distance. Scales the entire UI including filters, mini guide, and info bars.
- Quick search improvements — Favorite channels now appear first in search results (★ indicator). Each result shows what's currently airing from EPG data.
- Guide auto-advance — The guide automatically re-centers on the current time every 5 minutes when idle. No more manually pressing Now after leaving the guide open.
- Dynamic website version — cathode.live now shows the version from the latest release instead of hardcoded. Download buttons update automatically.
- macOS and Linux downloads — All three platforms now available on the website.
Fixes
- Auto-updater working — Fixed zip compression (Store instead of Deflate) so the Tauri updater can extract updates. Manually zip and sign in CI since tauri-action didn't support it.
- Mini guide ignores search — The mini guide overlay now uses category/favorites/guide/HD+ filters but is not affected by the main guide's search query.
- ? help button — Added a ? button in the top bar to open the keyboard shortcuts overlay.
- Update notes formatting — Release notes in About page now show as a clean bulleted list instead of raw markdown.
Infrastructure
- CI now builds, zips, signs, and uploads .nsis.zip artifacts without relying on tauri-action
- Website version pulled dynamically from /api/update endpoint
- Added /api/download/macos and /api/download/linux endpoints
[0.3.0] — 2026-03-24
Features
- F key fullscreen everywhere — F now toggles fullscreen on both the guide and video player. Favorites filter moved to V key.
- Quick channel search in player — Press / or Ctrl+F while watching to search and switch channels instantly. Type a name, arrow to select, Enter to switch.
- Compact/Comfortable display density — New toggle in Settings → General. Compact mode reduces row heights and font sizes for more channels on screen.
Fixes
- Mini guide time refresh — The mini guide now shows the current time each time it opens, instead of being stuck at the time the player first loaded.
[0.2.4] — 2026-03-24
Fixes
- Auto-updater now properly signs builds and includes signatures
- Update notes no longer show raw markdown in About page
Infrastructure
- CI uploads latest.json with signatures for Tauri updater
- Download proxy supports .nsis.zip for updater alongside .exe for website
[0.2.3] — 2026-03-24
Features
- Help (?) button in the top bar to open keyboard shortcuts overlay
Infrastructure
- Releases now auto-publish (no manual step on GitHub)
- Shared Rust build cache between branch and tag builds (faster CI)
[0.2.2] — 2026-03-24
Features
- In-app update checker: startup toast when new version available
- Manual "Check for Updates" button in Settings → About with download & install
- Changelog page at cathode.live/changelog
Fixes
- Website anchor scrolling (images now reserve space with aspect-ratio)
- Download endpoint no longer caches stale versions
[0.2.1] — 2026-03-24
Improvements
- EPG auto-refresh every 4 hours while app is open (fixes guide going empty overnight)
- About page now shows correct version number (reads from package.json)
- Check for updates button in Settings → About
- In-app toast notification when a new version is available on startup
- Auto-updater integration with signed builds via cathode.live
Infrastructure
- Tauri updater plugin with signed releases
- cathode.live API endpoints for update checks and downloads
- Cloudflare Pages Functions serving private GitHub Release assets
[0.2.0] — 2026-03-22
Player
- HEVC/H.265 video support via WebView2 platform decoder
- Auto-fix for unsupported audio codecs (mp4a.40.1 → mp4a.40.2)
- Stream quality selector (Auto / manual by resolution, Q key)
- Multi-audio and subtitle track selection (auto-detected from hls.js)
- Better error messages for unsupported codecs
Reminders & Notifications
- EPG reminders with "Remind Me" button on future programs
- Follow Show — recurring reminders that auto-match by title on EPG refresh
- In-app toast notifications (slide-in overlay with Watch button)
- Notification bell with history, unseen badge, and Watch button
- 🔔 and 📺 visual indicators on program blocks in the guide
Settings & Themes
- Full settings page with sidebar navigation (General, Servers, Favorites, Reminders, About)
- Fallback server URLs: add, remove, reorder, test, auto-failover on connect
- 5 built-in themes: Dark, OLED Black, Midnight Blue, Emerald, Light
- Theme persistence across sessions
Infrastructure
- CI/CD pipeline: GitHub Actions builds Windows/macOS/Linux on version tag
- Version bump script (
npm run release:patch/minor/major)
- Branded one-click NSIS installer with custom images
- DevTools enabled in production builds (F12)
- New C lettermark app icon (readable at taskbar size)
- Channel logo lazy loading with error handling
[0.1.0] — 2026-03-22
Initial Release
EPG Guide
- Virtual scrolling EPG grid supporting 50k+ channels
- Two-level category filtering (Region > Category)
- Filters: Favorites, Guide (has EPG data), HD+, Search
- Filter state persisted across sessions
- Category color-coded program borders
- Channel name cleaning and quality tag pills (HD, 4K, HEVC, etc.)
- Channel logos in sidebar
- Now line with handle in time header
- Binary search for visible programs (O(log n) performance)
Video Player
- HLS playback with 3-step error recovery chain
- Auto-hiding player UI (header + cursor)
- Mini guide overlay with program detail panel
- Now/Next info bar on channel switch
- Channel up/down navigation
- Previous channel (P / Backspace)
- Fullscreen via Tauri window API (no Escape conflicts)
Navigation
- Full keyboard navigation throughout
- Shortcuts: N=now, F=favorites, G=guide, H=HD+, R=reset, S=settings, I=info, T=top, B=bottom
- Ctrl+F / Ctrl+K / / for channel search
- ? key for shortcuts overlay
- Channel info popup (from sidebar, program detail, player)
Infrastructure
- EPG data cached in IndexedDB with background refresh
- XMLTV parsing in Web Worker
- Xtream Codes API integration
- Settings page with favorites export/import (native Tauri dialogs)
- Maximized window on startup
- Custom app icon
- Branded NSIS one-click installer