Skip to content

Releases: shayanline/OpenIPTV

1.9.3

Choose a tag to compare

@github-actions github-actions released this 05 Oct 15:57

Changed

  • Localized typography. Each writing system now uses a font designed for it: Google Sans for the Latin, Cyrillic, Bengali and Devanagari interfaces, Vazirmatn for Arabic and Persian, and the regional Noto Sans faces for Simplified Chinese, Japanese and Korean. The family follows the interface language, so changing language changes the font without reloading.
  • Complete Chinese, Japanese and Korean coverage. Those three families carry their full Han, Kana and Hangul ranges rather than only the characters the translations use, so a channel or category name written in one of them renders in the same font as the interface around it. The bundled faces total 15 MB and ship inside the widget, so nothing is fetched while the application runs.
  • Remote interface typography. A paired device uses the same family for its language as the television does, where before it used Vazirmatn for every language.

Fixed

  • Fonts served to paired devices. The management server read each font file as text and reencoded it, which corrupted every file it sent and left the remote interface on whatever font the device already had.
  • Headings and controls. Section titles, labels, strong text and native controls take the selected family instead of the browser default.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

What's Changed

  • Use localized fonts for every supported writing system by @shayanline in #44

Full Changelog: 1.9.2...1.9.3

1.9.2

Choose a tag to compare

@github-actions github-actions released this 03 Oct 17:03

Fixed

  • Category position. Returning from the category rail to the displayed category preserves the selected channel and scroll position, while changing category still starts at its first item.
  • Programme Guide navigation. Every programme keeps a visible cursor, refreshed lists clamp the cursor to a valid row, focus reaches the viewport edge before scrolling, mouse wheel navigation moves the selection, and pointer hover leaves it unchanged.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

Full Changelog: 1.9.1...1.9.2

1.9.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 15:46
6fa3b77

Changed

  • Xtream conversion. Complete get.php addresses can switch setup into credential fields, interactive conversion defaults to HLS, and mpegts is accepted as MPEG TS.

Security

  • HTTP relay resolution. The development relay pins the validated public address for each upstream request, so DNS cannot change the destination after validation.

Fixed

  • Browser transport guidance. Hosted HTTPS failures explain that the provider must support HTTPS and Cross Origin Resource Sharing instead of showing only a generic fetch error.
  • Local HTTP relay. Vite Preview installs the same relay as the development server, while relayed HLS references and finite media preserve their correct loading paths.
  • Finite playback fallback. Local HTTP movies can retry once through the relay without changing direct HTTP playback on a packaged television.
  • Playback selection. Selecting the current channel, movie or series episode again returns to the picture without restarting its stream.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

What's Changed

Full Changelog: 1.9.0...1.9.1

1.9.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 12:02
2cab400

Added

  • Complete Xtream catalogues. Live channels, movies, series, seasons and episodes use the Xtream API with provider wide search, category visibility and cached counts.
  • Programme Guide. Live playback includes a channel specific Guide drawer with current programme highlighting, catchup actions and cached schedule data.
  • Finite playback. Movies and episodes support play, pause, seeking, resume progress and finite completion without live stream retries.

Changed

  • Complete translations. Xtream setup, browsing, Guide, playback and stream format labels are represented across every supported locale catalog.
  • Television navigation. The title bar, content switcher, category rail, media hierarchy and Settings use separate focus levels with consistent remote cycles and visible return paths.
  • Large catalogue loading. Movie and series summary indexes load once per content type, provide unopened category counts and remain cached for six hours.
  • Guide presentation. Programme information uses an animated One UI drawer over the player, while Up, Down and mouse wheel movement follow each programme.
  • Lucide icons. The television and remote web interfaces use one consistent Lucide SVG icon set with packaged attribution.
  • HTTP stream fallback. Tizen retries eligible HTTPS connection failures once through the provider HTTP endpoint. Local browser and TV simulator sessions use a same origin relay that preserves MP4 byte ranges and rewrites HTTP HLS references, while hosted HTTPS browsers never downgrade.
  • Playback information. TV simulation reports resolution, rendition bitrate, network estimate, buffer, frame rate, dropped frames and adaptive levels through the AVPlay diagnostics card.

Security

  • HTTP relay boundaries. The development relay accepts only public HTTP targets, rejects literal and DNS resolved private addresses, then pins the validated public address for the upstream request.
  • HTTP fallback scope. Automatic HTTP retry is limited to packaged Samsung playback and pages already served over HTTP, so an HTTPS browser session cannot expose stream credentials through mixed content.

Fixed

  • Category navigation. Focus can traverse every category, wrap through the content switcher and preserve the blue displayed category marker until a new category is committed.
  • Windowed lists. Final rows remain reachable, scroll indicators stay inside their measured viewport and mouse wheel movement works across virtual lists.
  • Search navigation. Space and number input remain text, while Up and Down leave the Search field for the title bar or first result.
  • Welcome navigation. Physical arrow keys and Samsung remote keys move through every source, input, picker and action without duplicate focus movement.
  • Focused metadata. Channel numbers, episode numbers, durations, years and rating badges retain readable contrast on the focus surface.
  • Playback banner. Live title cards show the category name without list position text, while movie and episode cards retain finite playback time.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

What's Changed

  • Contain static file requests within distribution roots by @shayanline in #37
  • Release 1.9.0 with complete Xtream support by @shayanline in #38

Full Changelog: 1.8.0...1.9.0

1.8.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 15:18

Added

  • Xtream playlist setup. Viewers can enter a server address, username, password and stream format while OpenIPTV builds the standard M3U Plus address locally.
  • Xtream remote setup. Paired devices offer the same Xtream creation and editing flow as the television interface.

Changed

  • Playlist source selection. M3U remains the default, while compatible Xtream addresses reopen as credential fields and public or nonstandard addresses remain in the M3U editor.
  • Stream format selection. Xtream setup supports HLS and MPEG TS with a consistent, inset format control across left to right and right to left interfaces.
  • Complete translations. Xtream setup and stream format labels are represented across every supported locale catalog.

Security

  • Credential presentation. Password fields stay masked and saved playlist summaries conceal Xtream password values.

Fixed

  • Failed playlist isolation. A failed authentication or playlist switch leaves the new playlist empty instead of presenting channels and categories from the previously active playlist.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

What's Changed

Full Changelog: 1.7.0...1.8.0

1.7.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 13:33

Added

  • Remote access controls. Authorised devices can control navigation, playback, channels and volume through a touch optimised two page Smart Remote.
  • Development remote bridge. Vite can simulate the complete television onboarding and remote access flow between a laptop and another device without a television or emulator.
  • Guided setup results. The remote interface shows dedicated success and error pages with channel counts, correction guidance and an explicit path into Settings.
  • Device management. Remote access lists authorised devices, identifies the current device and provides compact action sheets for renaming or removing access.

Changed

  • Device neutral terminology. Phone access is now Remote access throughout the interface, services, protocol, storage, development bridge, documentation and tests.
  • Responsive remote interface. Mobile onboarding, settings, playlists, devices, navigation and result screens now use safe areas, consistent touch targets, grouped One UI lists and compact actions.
  • Playlist management. Playlist rows use single line addresses, overflow action sheets, expandable collections and a heading level Add action instead of permanent forms and button clusters.
  • Remote feedback. Saving, loading and failure messages now use One UI toast feedback above every overlay without replacing the page or losing focus.
  • Pairing panel. Settings uses an aligned two column pairing card with the QR code, manual address, grouped code, expiry guidance and cancellation in one surface.
  • Complete translations. Remote access, device management, setup results, self removal warnings and Smart Remote controls are represented across every supported locale catalog.

Security

  • Deterministic command processing. Remote commands are serialized, draft previews avoid revision churn and rejected requests always receive a bounded response instead of stalling the management socket.
  • Single use pairing. Concurrent pairing claims, cancellation during credential hashing, expiry and attempt exhaustion cannot authorise an additional device.

Fixed

  • Pairing lifecycle. Expired, cancelled and failed sessions no longer leave stale QR codes, misleading connection states or reusable secrets.
  • Remote access recovery. Development streams recover their listening state after reconnecting, while stop and restart transitions cannot strand the service in a starting state.
  • Final playlist removal. Removing the final playlist returns both interfaces to setup immediately while preserving authorised access.
  • Touch interactions. List rows yield correctly to page scrolling, Remote access sheets can be dismissed from their backdrop or a downward drag and carousel pages follow horizontal touch gestures.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

What's Changed

Full Changelog: 1.6.0...1.7.0

1.6.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 08:25
c771a32

Added

  • Playlist category visibility. Each playlist can hide individual categories or every category, while optionally keeping hidden channels available in Search and Favourites.
  • Category remote shortcuts. Red hides or restores the focused category, while holding Red temporarily reveals or conceals hidden categories without losing category focus.
  • Category management. Settings includes category search, category counts, immediate persistence, compact bulk actions and safe handling for empty or fully hidden playlists.
  • Playback information shortcut. Holding OK at the clear picture toggles Playback information without opening the channel panel.

Changed

  • Settings design. Settings uses consistent page headers, list headers, detail navigation, contextual OK guides, action popups, icons, spacing and focus restoration designed for Samsung television remotes.
  • Settings organisation. Resume and Playback information are under Playback, while Diagnostics and application data are grouped under About.
  • Diagnostics. Device facts and compatibility information use grouped information surfaces, with an isolated remote button tester that does not move Settings focus.
  • Playlist actions. Playlist rows show known category counts and retain the active state clearly while focused.
  • About. About uses the application icon, concise privacy and source information, a visible repository address and separated Support and Application data sections.
  • Complete translations. Category controls, Settings guidance, counts, shortcuts and updated About content are represented across all 17 supported locale catalogs.

Fixed

  • Category focus. Revealing, concealing and hiding categories preserve category identity, then move to the nearest visible category only when required.
  • Favourites identity. Provider categories named Favourites remain distinct from the generated Favourites list.
  • Settings navigation. RETURN follows the screen hierarchy, directional keys remain spatial, playlist actions are remote reachable and focus returns to the control that opened a detail or popup.
  • Focused control contrast. Hidden categories, inactive switches, destructive actions and active playlist badges remain readable on the white focus surface.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

What's Changed

Full Changelog: 1.5.0...1.6.0

1.5.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 17:46
6e9df2f

Added

  • Phone setup on Samsung TVs. The first run screen shows a local QR code and six digit fallback code, so a viewer can add the first playlist from a phone instead of typing its address with the remote.
  • Local phone management. Authorised phones on the same trusted network can add, edit, remove, refresh and activate playlists, change ordinary settings, clear downloaded cache and manage paired phones while OpenIPTV is running.
  • Remembered phones. Several phones can be paired independently, renamed and revoked from the television.
  • Responsive phone interface. The locally served management page supports first setup, right to left languages, native controls, conflict recovery and clear offline guidance.
  • Dedicated management socket. A separate WebAssembly worker serves the phone interface and its versioned API on the TV private address without exposing the loopback compatibility server.

Changed

  • First run layout on television. The manual playlist form remains on the left of a vertical divider, while the QR code and phone setup guidance occupy the right side.
  • Desktop first run. Desktop browsers retain the centred manual form and hide TV phone access because browsers cannot accept local network connections.
  • Complete translations. Phone setup, pairing status, management actions and access controls are translated across all 17 supported locale catalogs.

Security

  • Expiring pairing. QR secrets expire after five minutes or first use, fallback codes are attempt limited and each remembered phone receives a separate credential whose verifier stays on the television.
  • Bounded local API. The management server binds only to a private IPv4 address, accepts allowlisted routes and commands, rejects stale revisions and oversized input, and never serves playlist cache contents or arbitrary widget files.

Fixed

  • Complete application reset. Reset now revokes remembered phone credentials alongside playlists, preferences, favourites and cached data.
  • Remote cache clearing. Clearing cache from a phone also removes compatibility diagnoses, matching the television action.
  • Management socket recovery. Worker failures close the socket and allow phone management to start again rather than leaving a dead worker in place.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

What's Changed

Full Changelog: 1.4.0...1.5.0

1.4.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 17:07

Added

  • Playback information overlay. Diagnostics can show the active playback engine, resolution, scan type, video and audio codecs, rendition bitrate, network estimate, buffer ahead, frame rate, dropped frames, adaptive level, and level switches over the picture.
  • Cross engine reporting. The overlay reads current values from Samsung AVPlay, hls.js, or native browser HLS when each engine makes them available, and clearly marks values the engine does not report.
  • Persistent diagnostics control. Settings, then Diagnostics contains an opt in toggle which keeps the overlay enabled across channel changes, failures, menus, and app restarts until it is turned off.

Changed

  • Directional overlay placement. Playback information sits on the right in left to right interfaces and on the left in right to left interfaces, while the channel panel remains above it where they overlap.
  • Complete translations. Playback information labels and guidance are included in all 17 supported locale catalogs.

Fixed

  • Focused toggle contrast. An off toggle retains a visible track and knob on the light focus surface without using an unnecessarily heavy black treatment.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

What's Changed

  • AB#N/A - document TizenBrew installer setup by @shayanline in #9
  • chore(deps-dev): bump the development group across 1 directory with 5 updates by @dependabot[bot] in #13
  • chore(deps): bump zustand from 5.0.14 to 5.0.15 by @dependabot[bot] in #11
  • chore(deps): bump hls.js from 1.7.0 to 1.7.1 by @dependabot[bot] in #12
  • chore(deps): bump actions/deploy-pages from 5.0.0 to 5.0.1 by @dependabot[bot] in #14
  • chore(deps-dev): bump the development group with 3 updates by @dependabot[bot] in #16
  • chore(deps): bump softprops/action-gh-release from 3.0.2 to 3.0.3 by @dependabot[bot] in #15
  • Add optional playback diagnostics overlay by @shayanline in #30

Full Changelog: 1.3.0...1.4.0

OpenIPTV 1.3.0

Choose a tag to compare

@shayanline shayanline released this 17 Aug 05:52

Added

  • Internationalisation. The application now includes Arabic, Bengali, Chinese (Simplified), Dutch, English, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Persian, Portuguese, Russian, Spanish, and Turkish catalogs.
  • System language detection. The default System preference follows the TV browser language through navigator.language, with English as the fallback for unsupported languages.
  • Language picker. Settings and the first run screen now use a scrollable picker with native language names, which keeps the selection usable as more locales are added.
  • Right to left interface support. Arabic and Persian mirror the channel panel, Settings sheet, overlays, controls, pointer pad, and debug Smart Remote.
  • Translated runtime messages. Playlist validation, loading states, playback errors, diagnostics, key guides, accessible names, and confirmation dialogs now use locale catalogs.
  • Locale regression coverage. Tests cover System detection, catalog completeness, translated runtime messages, language picker selection, RTL navigation, guide spacing, and RTL control placement.

Changed

  • Language ordering. System remains first, while the language options are sorted by their English names.
  • Locale aware formatting. Generated numbers, clocks, counts, channel positions, and alphabetical sorting now use the selected locale.
  • Playlist content handling. Playlist names and groups remain unchanged, while generated fallback labels and technical values receive the correct language and text direction.
  • Playback and playlist errors. Stores and services now carry stable message keys and error details, so the UI can translate them without storing English prose in application state.

Fixed

  • Playback banner numbers. Channel numbers in the banner now use the same locale formatting as channel list numbers.
  • RTL guide spacing. Paired direction badges keep their spacing in right to left layouts, including the margin before their labels.
  • RTL control placement. The pointer pad and debug Smart Remote start on the left in right to left layouts, while dragged controls keep their chosen positions.

Try it in a browser at https://shayanline.github.io/OpenIPTV, built from this tag.
Install it on your own television with the Tizen CLI, or read the README for the step by
step. OpenIPTV.wgt.sha256 is the checksum of the attached widget.

This widget is signed for the televisions its distributor certificate was issued for,
so it will refuse to install on any other set.
That is how Tizen sideloading works
rather than a restriction chosen here: sign your own build with your own certificate,
which the README explains, and it installs on your television. When this application is
submitted to Samsung, the store replaces the signature with its own.

Full Changelog: 1.1.0...1.3.0