## 0.1.30 — CoreELEC localhost IPTV relay

- Adds a background, localhost-only MPEG-TS HTTP relay on port 18877 using Python urllib upstream retrieval.
- KodiFlix channel playback registers a private local stream token and resolves Kodi to /live/<token>.ts.
- Adds a default-enabled relay toggle and direct playback fallback if the relay is unavailable.
- Keeps provider URLs and credentials out of local playback paths and relay access logs.
- No server, YAML, Compose, or .env changes.
- Known limitation: stream reconnect is not yet automatic; verify extended playback and channel switching.

## v0.1.14 — Standalone stacked guide addon context fix
- Explicit addon ID in default.py and stacked.py so RunScript launch resolves addon profile/settings.
- No changes to server, YAML, or EPG API.

## 0.1.10 — Playback and busy-indicator hotfix

- Launch guide as an independent Kodi script so the directory plugin returns and the busy spinner clears.
- Close the guide modal before opening video playback to release its input capture.
- Preserve the guide restore-on-stop loop in the independent script.
- No server, Compose/YAML, or API changes.

## 0.1.9 — Live marker, on-air cells and playback return
- Persistent 4px NOW marker spanning the guide, anchored to one-third of timeline at initial open.
- Translucent blue on-air highlight on currently broadcasting program cells.
- Restore the guide after exiting channel playback with channel, time window and program focus retained.
- No server, Docker, YAML or settings changes.

## 0.1.8 — Fullscreen pooled EPG renderer
- Fixed 1920x1080 Kodi virtual GUI canvas (automatically scaled by Kodi to active display; no display mode change).
- Full-screen opaque backdrop, eight channel rows, 3-hour timeline with now marker initially at one-third.
- Allocate controls once and recycle on viewport scroll; no per-key add/remove control operations.
- Remote navigation within the viewport changes focus only.
- Program artwork, logos, Info modal and preferred-stream playback retained.
- Server, YAML and API configuration unchanged.
- Initial Xiaomi on-device verification still required.

## 0.1.7 — Live-time viewport alignment
- Anchor the initial three-hour EPG viewport at now minus one hour, placing current time one-third of the way across the timeline (excluding the fixed logo rail).
- Show one hour of preceding programming and two hours of upcoming programming.
- Preserve focus-only navigation; no additional API calls during ordinary movement.
- Server, YAML, and existing settings unchanged.

## 0.1.5
- First KodiFlix visual EPG: dedicated 1280x720 Kodi window, continuous 3-hour timeline, fixed network logo rail, compact seven-row layout, program duration widths, current-time cursor, blue live/focus gradients, and XMLTV program thumbnails when supplied.
- Remote navigation, OK to tune preferred source, Info for details, Back to close.
- US Sports, Entertainment, Broadcast and Premium categories.
- Requires KodiFlix Live Server 0.1.6 for full guide artwork and expanded catalog.
- Existing client settings and preferred sources unchanged. No YAML changes.

# KodiFlix Live Client release history

## 0.1.4
- Corrected ZIP layout for KodiFlix Updater: add-on ID directory at archive root.
- No playback, preferences, or server configuration changes.

## 0.1.3
- Corrected release version drift; carries forward the 0.1.2 preferred-stream selection functionality.
- No behavior, API, settings, or YAML changes.

## 0.1.1
- Source chooser via channel context menu; test each provider feed directly.
- Save preferred source per channel; remembered across Kodi restarts.
- Existing click-to-play behavior retained, now using preferred source if configured.
- No server API or Docker changes.
- Automatic failover after Kodi player failure is not implemented yet.

## 0.1.0
- Election Night, National News, and NC Local News directories.
- Server-backed grouped channel catalog and on-demand stream resolution.

## 0.1.2
- Added direct Set preferred stream dialog from the channel context menu.
- Normal channel selection plays the saved preferred stream only; no automatic switching.
- Retained Browse / test all streams and individual source playback for diagnostics.
- Added guidance for streams that open to a black screen.
- No server or YAML changes.

## 0.1.6 — Guide navigation performance
- Reuse program controls for ordinary remote navigation instead of rebuilding the entire grid.
- Rebuild only when scrolling past visible rows or changing the time window.
- Synchronize Kodi focus with selected program.
- No server, YAML, or API changes.

## 0.1.11 — Group-scoped stacked Live directory
- Removed the timeline and All US Channels from the primary menu. Existing six groups retained.
- Each group loads only its own channels and EPG schedule, cached as atomic JSON snapshots.
- Background Kodi service refreshes group snapshots approximately every 30 minutes; guide opens from disk.
- Native Kodi directory rows expose NOW/NEXT, program descriptions, progress and remaining minutes as list properties.
- Kodi/Arctic Fuse renders the list rather than 560 custom GUI controls.
- Uses available EPG program icons and channel logos; WidgetHelper CDN artwork resolution is not yet integrated.
- Preferred streams and source chooser preserved. No server or YAML changes.

## 0.1.12 — Native stacked channel guide
- Custom WindowXMLDialog with one Kodi list control and reusable row layouts, replacing skin-dependent directory presentation.
- Group-only cached Now/Next, channel logos and available EPG artwork, details and source selection.
- Guide closes before playback and returns on stop. No server/YAML changes.
- Artwork discovery through WidgetHelper CDN is not yet implemented; current feed artwork is used.

## 0.1.13 — Category navigation recovery
- Restore native category listing as reliable fallback.
- Add explicit Open Stacked Visual Guide entry within each category.
- Complete plugin directory request before launching guide script.
- Initialize EPG cache on first visual guide launch; report errors.
- Server and YAML unchanged.

## 0.1.15 — Premium channel-browser visual pass
- Introduce dark navy KodiFlix LIVE header, channel navigation rail, six-row card layout, network-logo panel, wide EPG artwork, NOW title, short description, playback progress, remaining time and Up Next column.
- Reuse Kodi's native list renderer for quick remote navigation; keep existing playback, details, preferred-source handling and category navigation.
- Sidebar is visual scaffolding in this release, not yet interactive; existing category navigation remains via BACK.
- No server API, YAML, Docker or credential changes.

## 0.1.16 — Restore channel population and dark backdrop
- Fix fatal missing Kodi XML control IDs 100 and 101: stacked.py onInit previously raised before list population.
- Replace placeholder bright blue background with dark navy cinematic backdrop.
- Preserve native row renderer, cache, playback logic, and existing config.
- Sidebar remains decorative, not interactive.
- No server, Docker, or YAML changes.

## 0.1.17 — Channel-card contrast and collision fix
- Restore dark navy rows; reserve cyan for focused row.
- Reflow fixed-width NOW, description, progress, time-left, and Up Next fields to prevent column overlap.
- Keep existing image bindings; missing provider image URLs are not replaced with invented art.
- No server, YAML, Docker or API changes.

## 0.1.18 — Focus-expanding channel descriptions
- Unfocused channel cards stay compact with no synopsis.
- Focused channel card expands vertically and reveals a dedicated multiline description below the title, progress and Up Next fields.
- Kodi native focusedlayout performs expansion without rebuilding the list on navigation.
- No server, YAML or configuration changes.

## 0.1.19 — Expanded description spacing
- Increase focused channel card height to 244 px, reserving three description lines in an 86 px textbox.
- Move Up Next start time onto the Up Next heading row, freeing the program-title row.
- Preserve compact unfocused rows and all playback/source behavior.
- No server, Docker, YAML, or API changes.

## 0.1.20 — Accurate remaining-time indicator
- Remaining-time bar is now proportional to remaining seconds / total program duration, with a fixed 270-pixel track.
- Uses 101 pre-rendered transparent fill assets to avoid unreliable Kodi progress control property binding.
- Moves time-remaining label above the track in both compact and expanded rows.
- No server, Docker, YAML or API changes.

## 0.1.21 — Full-width remaining-time bar
- Extend the standardized 480px track from the NOW column to the start of Up Next.
- Center time-remaining text above the track on compact and expanded cards.
- Generate full-canvas, percentage-proportional fill textures for accurate remaining duration; preserve description expansion.
- No server, YAML, or configuration changes.

## 0.1.22 — Overflow protection
- Disable scrolling labels and cap NOW, channel, and Up Next title text with ellipses before rendering.
- Restrict title columns to the fixed NOW/Up Next boundaries; keep remaining-time label centered over the standardized 480px bar.
- Restrict expanded description to a three-line region and trim overly long descriptions.
- Remove duplicate progress-track image from focused layout.
- No server, YAML, or configuration changes.

## 0.1.23 — Slate visual palette and provider artwork
- Replace saturated blue backgrounds and cards with dark graphite/slate. Reserve cyan for focus and progress accents.
- Add restrained network-logo and programme-art panels; load actual provider images when available, with a neutral fallback and channel-name label when logo is absent.
- Do not substitute channel logo for missing show artwork.
- Preserve remaining-time bar, truncation, selected-row expansion and playback.
- No server, YAML, Docker or credential changes.

## 0.1.24 — Graphite theme and rounded-card correction
- Replace saturated-looking card assets with deep graphite/slate surfaces and restrained cyan focus borders.
- Render actual transparent rounded corners on row, selected row, logo panel and sidebar focus textures.
- Remove visible empty show-artwork placeholder frames; reserve the artwork slot for actual images.
- Inset remote artwork/logo images to preserve the outer rounded panel boundaries.
- Validate image source paths before binding. Missing provider artwork remains missing; no fake imagery.
- No backend, YAML or credential changes.

## 0.1.25 — Playback-switch overlay guard
- Prevent EPG from reopening during transient isPlaying() gaps when Kodi switches IPTV streams.
- Require eight continuous seconds without playback before returning to the guide.
- Keep the modal guide closed during video playback and preserve selection on return.
- Radio/mislabeled IPTV sources need provider-level verification; no speculative server remapping.
- No server, YAML, or API-key changes.

## 0.1.26 — Fullscreen playback handoff
- Explicitly dismiss lingering dialogs before playback and activate Kodi fullscreen video once the stream starts, on every selection.
- Restore a short stop debounce instead of the unrelated eight-second delay.
- Preserve guide return after stopping and channel selection position.
- Server, YAML and configuration unchanged.

## 0.1.27 — Artwork handoff
- Pass channel logos and current-show art to Kodi image caching in addition to existing native card texture properties.
- Consume enriched server guide icons without changing card layout or playback handoff.
- No client settings or YAML changes. Requires server v0.1.10 for TVMaze artwork enrichment.

## 0.1.27 — Artwork handoff
- Pass channel logos and current-show art to Kodi image caching in addition to existing native card texture properties.
- Consume enriched server guide icons without changing card layout or playback handoff.
- No client settings or YAML changes. Requires server v0.1.10 for TVMaze artwork enrichment.

## 0.1.27 — Artwork handoff
- Pass channel logos and current-show art to Kodi image caching in addition to existing native card texture properties.
- Consume enriched server guide icons without changing card layout or playback handoff.
- No client settings or YAML changes. Requires server v0.1.10 for TVMaze artwork enrichment.

## 0.1.28 — Five-row cinematic channel cards
- Remove visible remote-control instruction footer to reclaim screen space.
- Five larger channel rows, with 157px compact and 266px selected layout.
- Enlarge logo and show-artwork regions and retain fallback labels where logos are absent.
- Keep current metadata pipeline, playback behavior, three-line focused description, remaining-time proportions, and Up Next.
- No server or YAML changes.

## 0.1.29 — Charcoal visual pass and uncropped media
- Dark graphite/charcoal textures replace bright blue surfaces; cyan reserved for focus.
- Program image aspect ratio changed to keep, preventing portrait/landscape cropping and stretching.
- Expanded description inset adjusted. No API or configuration changes.
