Aquí hi ha 15 versions d’Apps2Samsung, des de 13 de juny del 2026 fins a l’actual, 2.8.1. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 2.8.1Darrera versió | 23 de setembre del 2026 | — | 64 bits MSI Notes de la versió📦 v2.8.1 — 2026-09-23
🚀 New features
- Toolbox: Clear button for the TV's install staging folder (0 rmfile) (#676)
- Debug console: a packaged service's own log, and a query against its loopback endpoint (#545) (#682)
- Debug console: report what the app was waiting for, with timings (#545) (#684)
- TV information: show this device's local IP next to the Developer host IP (#692)
- Toolbox: list and clear the install staging folder through the debug agent (#693)
- Toolbox: a "0 execute" button next to the manual app id (#695)
- Installed apps: the install-leftovers card moves here; agent icon with the Apps2Samsung logo (#697)
🐛 Bug fixes
- Scan: probe 26101 and 8001 independently so a Developer-Mode-off TV is listed (#663), bump to 2.8.1 (#664)
- Debug agent 0.3.0: list apps and contexts through the platform callbacks (#34) (#665)
- Bump TizenSdb.Core to 1.1.5: install .wgt/.tpk files whose name contains a space (#668) (#670)
- Fail fast on [116]: tell the user the TV is out of space instead of retrying (#666) (#671)
- Debug console: stop the inspector socket dropping 30 s after attach (#672)
- Installer: stop the overwrite retry from burning the user's Overwrite/Force/Remove settings (#673)
- Debug console on desktop + identical row icons on both heads (#674)
- Debug console: don't report a dead SDB link as the TV's refusal (#545) (#688)
- Service endpoint: say nothing is listening instead of passing the socket error up (#691)
- Toolbox: the install-leftovers card moves back from Installed apps (#699)
🌍 Translations
- i18n: new translations from Crowdin (#675)
- i18n: new translations from Crowdin (#677)
- i18n: new translations from Crowdin (#683)
- i18n: new translations from Crowdin (#685)
- i18n: new translations from Crowdin (#689)
- i18n: new translations from Crowdin (#700)
🧰 Maintenance & CI
- fix: Fixed minor styling issue in index.html (#667)
- Crowdin sync: recreate l10n_beta from beta on every run (#678)
- deps: Bump the nuget group with 1 update (#679)
- docs: sharpen the landing page, and drop the em dashes (#686)
- docs: let the FAQ span the page like every other section (#687)
- Crowdin: approve translations on a schedule (#690)
🔀 Other changes
- Release v2.8.1 (beta → master) (#701)
New Contributors
- @zacjmurphy made their first contribution in #667
Full Changelog: v2.8.0...v2.8.1
─────────────────────┬─────────┬────────────────────────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼────────────────────────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼────────────────────────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼────────────────────────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼────────────────────────────────────────────
🐧 Arch Linux (AUR) │✅ Stable│apps2samsung, published by this release
─────────────────────┼─────────┼────────────────────────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┼─────────┼────────────────────────────────────────────
🤖 Android (.apk) │✅ Stable│Sideload; phone as installer head
─────────────────────┴─────────┴────────────────────────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.8.0 | 14 de setembre del 2026 | — | 64 bits MSI Notes de la versió📦 v2.8.0 — 2026-09-14
🚀 New features
- TV toolbox: launch hidden apps and send service-menu key sequences over the remote channel (#636)
- Toolbox: its own screen, and an app list that doesn't lie about what it is (#637)
- Toolbox: name a hospitality set from the probe, and print the standby sequences (#640)
- Toolbox: open the TV's own hidden menus by app id (#641)
- Toolbox: a debug agent on the TV to open the menus SDB can't, and the TV's own verdict on every launch (#643)
- Toolbox: ask the TV which app control operations a menu registers before guessing one (#644)
- Partner signing for on-boot/auto-restart packages, and TizenTube as a provider (#652)
🐛 Bug fixes
- Android: derive versionCode from the commit count so it can never go backwards (#632)
- Toolbox: close a running app before relaunching, and correct the hotel-option precondition (#638)
- Remote: keep the pairing across address changes, and explain a TV that asks again (#645)
- Window icon: a real multi-size .ico on Windows, and close dialogs after the click finishes (#648)
- GitHub auth: stop offering a token after GitHub has rejected it once (#649)
- IP Mismatch popup: show the chosen interface, and re-read the TV's Developer Mode IP before comparing (#647)
- Jellyfin login: send the client identity in the Authorization header (Jellyfin 12) (#658)
- Toolbox: tell a consumer set apart, and report an app the TV does not have instead of "sent" (#659)
- SSL: warn the user with a popup when a server certificate fails validation (#662)
🌍 Translations
- i18n: new translations from Crowdin (#642)
- i18n: new translations from Crowdin (#650)
- i18n: new translations from Crowdin (#660)
🧰 Maintenance & CI
- docs: the debug console is on the phone too (#631)
- Android: take the next versionCode from the published one, not the commit count (#634)
- Publish the official apps2samsung package to the AUR from the stable release (#651)
- deps: Bump the nuget group with 9 updates (#657)
- Jellyfin client identity: record where the Authorization header fix came from (#661)
🔀 Other changes
- Recreate v2.7.9 binaries — include #632 (Android versionCode fix) (#633)
- Release v2.8.0 (beta → master) (#654)
Full Changelog: v2.7.9...v2.8.0
─────────────────────┬─────────┬────────────────────────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼────────────────────────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼────────────────────────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼────────────────────────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼────────────────────────────────────────────
🐧 Arch Linux (AUR) │✅ Stable│apps2samsung, published by this release
─────────────────────┼─────────┼────────────────────────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┼─────────┼────────────────────────────────────────────
🤖 Android (.apk) │✅ Stable│Sideload; phone as installer head
─────────────────────┴─────────┴────────────────────────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.7.9 | 2 de setembre del 2026 | — | 64 bits MSI Notes de la versió📦 v2.7.9 — 2026-09-02
The release where your phone became a real installer. The Android head went from a proof of concept to something you can actually use standing in front of the TV: it shares the same SDB engine as the desktop, it's a TV remote, it speaks all 29 languages, and it can now open a debug console for an app running on the TV. Alongside that, localization went from "half the files were English" to every language complete, and Linux finally gets .rpm and AppImage.
📱 The Android head grew up
🔌 One SDB engine, shared with the desktop
The desktop shells out to TizenSdb.exe; the phone has no such luxury. Both heads now run the same engine through one interface — the desktop over the CLI, the phone in-process — so a fix to how we talk to a TV lands on both at once instead of drifting apart. (#580, closes #549)
📺 Your phone (or desktop) as a TV remote
Volume, navigation, playback and a live keyboard, over the TV's own remote protocol. Unlike the installer views this needs no Developer Mode and no debug port — just a TV on the same network. (#583, closes #544)
🐞 A debug console for an app running on the TV
The desktop could put an app into the TV's web-inspector debug mode and hand it to Chrome's chrome://inspect. Chrome on Android has no inspect page, so the phone now speaks the DevTools protocol itself: pick an app under TV information → installed apps, tap 🐞, and you get its live console — console.log, warnings, uncaught exceptions, and the browser's own reports of failed requests and CSP violations, which is usually what explains a blank screen when the app's own logging says nothing. There's an expression prompt too, and the transcript shares out through the share sheet.
Attaching restarts the app on the TV — the inspector only reports a port for the launch debug mode performs itself — so it asks first. (#628)
🌍 The mobile head speaks your language
It was English-only, because the string catalog lived inside the desktop head where a MAUI app couldn't reach it. The catalog moved into Apps2Samsung.Core, so both heads read one copy of the same 29 languages (#585), including the runtime strings and not just the chrome (#586). Switching language now also applies immediately instead of asking you to restart — and then not changing anything anyway. (#595)
📂 Picking a file from a cloud source stopped throwing
Setting a custom app icon from Google Drive, OneDrive or cloud-backed Photos died with a bare Java.Lang.RuntimeException. Underneath it was android.os.NetworkOnMainThreadException: MAUI's picker resolves the file on the UI thread, and a provider that has to fetch it over the network trips Android's main-thread network check. Picking the same file from local storage never touched the network, which is why it only reproduced on some phones and some sources. We now drive the system picker ourselves and read on a background thread. (#576)
🌍 Localization: 29 languages, all complete
Switching language did nothing useful because the supply side was broken — the Crowdin sync was writing English over half the language files. That's fixed, and the languages are actually filled: 20 languages went from 38% to 100% (#596), the sync stopped overwriting translations with English (#599), the nine languages the engine wouldn't touch were translated (#603), and the last 27 strings were filled so every language is complete (#604). Files are now named by their full locale (#617), and pt-PT/zh-CN got their own.
The pipeline is guarded now, so this can't quietly rot again:
────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────
Guard │What it catches
────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────
Localization check covers C# too│Hard-coded prose reaching a dialog or status line (#587)
────────────────────────────────┼─────────────────────────────────────────────────────────────────────────── |
| 2.7.8 | 27 d’agost del 2026 | — | 64 bits MSI Notes de la versió📦 v2.7.8 — 2026-08-27
A fix-focused release. The big one is for TVApp users — every channel played the first stream — plus three fixes that make failed installs explain themselves instead of dying with a cryptic error, especially on the Android head.
🐛 Fixes
📺 TVApp: every channel played stream #1
Once TVApp was open, switching channels kept playing the first stream. The app created a new player on every switch without tearing down the old one, so the first stream never let go of the video element. The channel injector now destroys the previous player before loading the next channel — you get the fix just by reinstalling from Apps2Samsung, no matter which .wgt you use. (#567, fixes #566)
📜 Installs no longer fail on a certificate that isn't valid yet
install failed[118, -12] … Certificate in signature is not valid yet
Your TV checks the signature against its own clock and refuses a certificate whose validity period hasn't started. Nothing about the package can fix that — only waiting. Apps2Samsung now detects this before signing and pushing, and holds the install behind a live countdown to the moment the certificate becomes valid. "Install now" unlocks at 00:00, the certificate is re-checked, and the install continues where it left off. You can cancel at any point. (#568)
🤖 Android: error messages are readable again
Every error dialog in the shipped APK showed Exception_WasThrown, Java.Lang.RuntimeException instead of an actual message — a side effect of trimming stripping the .NET message strings. This affected all errors in the mobile head, which is why bug reports from a release build never contained anything useful. Fixed; error dialogs now say what actually went wrong. (#569)
🤖 Android: the same pre-install warnings the desktop has
The desktop has long warned up front about the setups that make an install fail before it even starts. The mobile head only warned about "TV needs a restart" — everything else failed later, deep in the DUID read, with an error nobody could act on. Android now catches the same things the desktop does:
──────────────────────────────────┬──────────────────────────────────────────────────────────────────
Warning │What it means
──────────────────────────────────┼──────────────────────────────────────────────────────────────────
Developer Mode is off │Turn it on in the Apps store (12345)
──────────────────────────────────┼──────────────────────────────────────────────────────────────────
Developer-Mode IP points elsewhere│Your TV is pointed at another machine — set it to this device's IP
──────────────────────────────────┼──────────────────────────────────────────────────────────────────
IP typed back to front │Happens on right-to-left TV menus
──────────────────────────────────┼──────────────────────────────────────────────────────────────────
TV is on another subnet │Phone and TV must be on the same network
──────────────────────────────────┼──────────────────────────────────────────────────────────────────
TV needs a restart │Developer Mode isn't fully active yet
──────────────────────────────────┴──────────────────────────────────────────────────────────────────
(#573, fixes #572)
🧰 Under the hood
- The pre-install guards and the Samsung Developer-Mode lookup moved into Apps2Samsung.Core, so the desktop and mobile heads share one implementation instead of drifting apart. (#573)
- CI now compiles both heads on every pull request (desktop and Android), so a mobile-only regression can't slip into a release again.
📥 Downloads
─────────────────────┬─────────┬─────────────────────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼─────────────────────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼─────────────────────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼─────────────────────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼ |
| 2.7.7 | 21 d’agost del 2026 | — | 64 bits MSI Notes de la versió📦 v2.7.7 — 2026-08-21
Everything from the v2.7.7 beta cycle, promoted to stable.
✨ New
- App icons in the Installed-apps list (both heads). Installed apps now show their real Samsung Store icon, with a colourful lettered fallback for sideloaded/unknown apps. Thanks to @eduardomozart. (#555)
- Run / Stop apps remotely from the Installed-apps list (both heads), plus a desktop debug tunnel that port-forwards the app and opens chrome://inspect/edge://inspect for you — no command line. Thanks to @eduardomozart. (#554)
- Mobile certificate picker — Automatic / Public / Partner. The phone app now lets you choose the signing certificate like the desktop does; after importing a backup it defaults to the imported certificate. (#558)
- Reorder TVApp channels (↑ ↓) on mobile, matching the desktop editor. (#553)
🐛 Fixes
- TVApp streams no longer black-screen when installed from Android. A trimming bug in the released APK broke the injected channel list; both heads now build it trim-safe (and a stray $ in a stream URL can no longer corrupt it). (#553, #557)
- Tidier mobile Settings. The page no longer lists "Certificate" twice, and every section is now a collapsible header you tap to expand instead of one long scroll. (#559)
- More of the app is now translatable. A batch of UI strings that were hard-coded in English (installed-apps controls, settings labels, dialogs, watermarks) are now in the translation catalog, so they appear in your language instead of always in English. Translation is consolidated on Crowdin, and a new CI check keeps the base file 1:1 with the code so strings can't silently go untranslatable again. (#560, #561)
- More reliable installs on older/slower TVs. Reading the TV's DUID is now retried instead of giving up on the first stalled or empty reply — the cause of intermittent "Could not read a valid TV DUID" failures on 2016-era Tizen sets. Also fixes a mobile crash when a download was torn down early. (#562)
- App icons no longer depend on a third-party host. The Installed-apps icon list is now served from our own repo (with the previous source kept as a fallback) and times out quickly, so a DNS/network hiccup falls back to lettered avatars instead of hanging. (#563)
- Apps that need a Partner certificate now install instead of being refused by the TV. A package that declares a Partner-level privilege — such as Overscan's Samsung DRM-info privilege — was still signed with a Public certificate, so the TV rejected it with MISMATCHED_PRIVILEGE_LEVEL. Those privileges are now recognised on both heads, and if you don't have a Partner certificate yet the Partner-signing switch is turned on for you and one is created automatically (you can switch it back off in Settings). (#564, Apps2Samsung/Overscan#13)
> ℹ️ The debug tunnel (#554) needs the updated tizen-sdb (with port forwarding); it degrades gracefully if an older SDB binary is present.
Full Changelog: v2.7.6...v2.7.7
─────────────────────┬─────────┬───────────────────────────────────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼───────────────────────────────────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼───────────────────────────────────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼───────────────────────────────────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼───────────────────────────────────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┼─────────┼───────────────────────────────────────────────────────
🤖 Android (.apk) │✅ Stable│Sideload / Obtainium / F-Droid; phone as installer head
─────────────────────┴─────────┴───────────────────────────────────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.7.6 | 18 d’agost del 2026 | — | 64 bits MSI Notes de la versió📦 v2.7.6 — 2026-08-17
✅ What's New & Improved
- Recreate v2.7.6 binaries — include #551 (macOS/Linux Tizen SDB redownload fix) (#552)
- fix: TizenSdb version parsing bug on macOS and Linux (#551)
- Release v2.7.6 (beta → master) — critical Tizen SDB startup-crash fix (#550)
- chore: update version table in README
- chore: bump version to 2.7.6 (critical Tizen SDB startup-crash fix)
- #547: don't crash startup when Tizen SDB can't be downloaded; guide manual install (#548)
- #541: updater downloaded stable for a detected beta; add a beta-updates toggle (#543)
- mobile: unblock the TV REST API (/api/v2) so TV info fields populate (#542)
- Shared 'TV information' view (DUID, Tizen version, dev mode/IP, …) on both heads (#539)
- docs: live F-Droid repo instructions (README + landing page) (#540)
- Self-hosted F-Droid repo (apps2samsung.com/fdroid/repo), auto-published on stable (#538)
- chore: bump version to 2.7.5 for the next beta cycle
- Show 'restart required' TVs (Dev Mode on, SDB port down) + install-time popup (#536)
- Share the Tizen-version gate in Core + add it to mobile (#537)
- mobile: fix false 'Installed' when the Tizen install actually failed (#535)
─────────────────────┬─────────┬─────────────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼─────────────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼─────────────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼─────────────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼─────────────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┼─────────┼─────────────────────────────────
🤖 Android (.apk) │✅ Stable│Sideload; phone as installer head
─────────────────────┴─────────┴─────────────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.7.4 | 15 d’agost del 2026 | — | 64 bits MSI Notes de la versió📦 v2.7.4 — 2026-08-14
✨ New
- App icons & titles — one shared editor on desktop and mobile. The icon changer now lives in Core, so both heads present the same manifest-driven app list. You can give any app a custom launcher title (written into the package's config.xml <name> at install) right alongside a custom icon. On mobile this replaces the old free-form "type an app name and pick a PNG" rows with the same app list the desktop shows. (#521)
🐛 Fixes
- "TV Name could not be found" no longer trips on a momentary hiccup. SDB now retries idempotent read commands when the transport resets mid-command, so a transient blip during device discovery doesn't fail the whole connection. (#524 / #525)
- Manually-entered TV IPs are no longer wrongly rejected as "Invalid device IP". Manual entry now accepts a TV on the SDB debug port alone — the same bar the network scan uses — instead of also demanding the 8001 REST API be open. A TV the scan would find is no longer rejected when typed in by hand. (#523)
- Package picker defaults to WGT/TPK. The manual "Select package" dialog now shows both .wgt and .tpk by default instead of hiding .tpk behind a filter switch.
📱 Android distribution
- The Android app is now installable via Obtainium, which auto-updates from these GitHub stable releases. An IzzyOnDroid (F-Droid) inclusion request is in review.
Full Changelog: v2.7.3...v2.7.4
─────────────────────┬─────────┬─────────────────────────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼─────────────────────────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼─────────────────────────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼─────────────────────────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼─────────────────────────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┼─────────┼─────────────────────────────────────────────
🤖 Android (.apk) │✅ Stable│Sideload / Obtainium; phone as installer head
─────────────────────┴─────────┴───────────────────────────────────────────── |
| 2.7.3 | 5 d’agost del 2026 | — | 64 bits MSI Notes de la versió📦 v2.7.3 — 2026-08-05
Changes since v2.7.1.
💾 New: Backup & restore
- Move your whole setup between devices — PC ↔ Mac ↔ phone. Export bundles your settings and your signing certificates into a single file; Import restores them on another device. Because the certificate comes along, the new device skips the Samsung login and can still overwrite/update apps you already installed.
- Desktop: Export/Import buttons in Settings. Mobile: the same, via the share sheet / file picker. The format is shared, so a backup made on desktop imports on the phone and vice-versa.
📱 Mobile
- Fixed the Samsung login hanging on a blank "signInComplete" screen after entering your password — it now completes and returns to the app.
- More reliable connection to newer TVs (Tizen 9): reuses a single developer connection and retries the handshake, fixing a device-ID read that could reset the connection.
🧩 Community apps
- LiteFin and other Jellyfin variants install reliably again — generalized the package-id handling for non-Jellyfin builds, and removed the old-TV package tweaks now that LiteFin ships dedicated builds upstream.
─────────────────────┬─────────┬─────────────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼─────────────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼─────────────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼─────────────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼─────────────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┼─────────┼─────────────────────────────────
🤖 Android (.apk) │✅ Stable│Sideload; phone as installer head
─────────────────────┴─────────┴─────────────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.7.1 | 29 de juliol del 2026 | — | 64 bits MSI Notes de la versió📦 v2.7.1 — 2026-07-28
The headline of this release is a brand-new Android app — Apps2Samsung now runs on your phone as a full installer head, so you can put Tizen apps on your Samsung TV without a laptop.
> 🆕 New since v2.7.0: the Android app's “Sign in with Google” now works — the Samsung login opens in your phone’s browser (a Custom Tab) instead of an embedded WebView, which Google blocks. (#505)
📱 New: Apps2Samsung for Android
- Scan & pick your TV — finds debug-ready Samsung TVs on your network (and shows your phone's own LAN IP, since that's fiddly to find on a phone). Can't see your TV? Enter its IP manually.
- App catalog — the same App / Version sources as the desktop (Jellyfin and its variants, Moonfin, Litefin, the Tizen Community bundle, …), plus a "?" catalog view with app previews, versions and descriptions.
- Install your own .wgt — a "Custom WGT file" option installs a local package straight from the phone (works offline too).
- Samsung sign-in + automatic certificate — logs in with your Samsung account and provisions the signing certificate for you, reusing it on later installs.
- Download → re-sign → install, entirely in-process over the developer protocol.
- Resilient installs — clear, actionable messages when something goes wrong, and automatic recovery for the common cases (removes the old copy and retries on space / certificate / overwrite failures).
- Jellyfin setup — in Settings → Jellyfin, set your server URL (with a Test connection button and a warning for unreliable .local addresses) and optionally sign in once so the TV app auto-logs-in; add custom CSS with a community-theme picker, and the YouTube-trailer ("error 153") fix. It's baked into the Jellyfin package at install, just like on desktop.
- TVApp channels — add name + m3u8 stream URL pairs in Settings; they're written into the TVApp package's channel list at install time.
- Custom launcher icons — give any app your own icon (Settings → App icons), applied to the package at install.
- Show installed apps & reclaim space — see what's on the selected TV with each app's size (biggest first) and total space used, uninstall any of them, and clear leftover/partial installs by package id. A failed fresh install now auto-cleans its own partial so it doesn't eat storage.
- Settings — GitHub token (avoids API rate limits), extra TV DUIDs (one cert can cover several TVs), and toggles for Remove old version, Override existing app, Open after installation, Preserve WGT file, Show all Jellyfin versions, Partner signing, and Force Samsung login.
- Debuggable — every session is fully logged on-device (scan → sign → install, plus errors) and can be exported from Settings → Share debug log when reporting an issue.
- Self-update check — offers the new APK when a newer build is available.
- Post-install popup with a Ko-fi QR + "🍺 Buy me a beer".
- Ships as a sideloadable .apk (see Assets below).
🔏 Signing & native packages
- Install native .tpk apps (.NET/native), not just web .wgt — native packages now install through the correct Tizen path.
- Opt-in Partner signing (advanced) — a Settings toggle; Public stays the default, so nothing changes for existing apps. Public and Partner certificates are kept as separate profiles (Jelly2Sams - Public / Jelly2Sams - Partner) and reused independently, and a package that declares a restricted privilege auto-requests Partner. ⚠️ Partner-only privileges (e.g. VPN / vpnservice) require Samsung partner enrollment and aren't granted to individual accounts on retail TVs.
- Sturdier certificates — a failed TV device-ID read is no longer written into the signing certificate, and a valid cert covering the TV is reused instead of regenerated every install.
- No more sign-in on every install — when a valid Jelly2Sams - Public/Partner profile already covers your TV it's reused silently; a Samsung login is only prompted on first run for that level, when the TV's DUID isn't covered yet, or when you force one. Desktop and mobile now sh |
| 2.7.0 | 24 de juliol del 2026 | — | 64 bits MSI Notes de la versió📦 v2.7.0 — 2026-07-23
The headline of this release is a brand-new Android app — Apps2Samsung now runs on your phone as a full installer head, so you can put Tizen apps on your Samsung TV without a laptop.
📱 New: Apps2Samsung for Android
- Scan & pick your TV — finds debug-ready Samsung TVs on your network (and shows your phone's own LAN IP, since that's fiddly to find on a phone). Can't see your TV? Enter its IP manually.
- App catalog — the same App / Version sources as the desktop (Jellyfin and its variants, Moonfin, Litefin, the Tizen Community bundle, …), plus a "?" catalog view with app previews, versions and descriptions.
- Install your own .wgt — a "Custom WGT file" option installs a local package straight from the phone (works offline too).
- Samsung sign-in + automatic certificate — logs in with your Samsung account and provisions the signing certificate for you, reusing it on later installs.
- Download → re-sign → install, entirely in-process over the developer protocol.
- Resilient installs — clear, actionable messages when something goes wrong, and automatic recovery for the common cases (removes the old copy and retries on space / certificate / overwrite failures).
- Jellyfin setup — in Settings → Jellyfin, set your server URL (with a Test connection button and a warning for unreliable .local addresses) and optionally sign in once so the TV app auto-logs-in; add custom CSS with a community-theme picker, and the YouTube-trailer ("error 153") fix. It's baked into the Jellyfin package at install, just like on desktop.
- TVApp channels — add name + m3u8 stream URL pairs in Settings; they're written into the TVApp package's channel list at install time.
- Custom launcher icons — give any app your own icon (Settings → App icons), applied to the package at install.
- Show installed apps & reclaim space — see what's on the selected TV with each app's size (biggest first) and total space used, uninstall any of them, and clear leftover/partial installs by package id. A failed fresh install now auto-cleans its own partial so it doesn't eat storage.
- Settings — GitHub token (avoids API rate limits), extra TV DUIDs (one cert can cover several TVs), and toggles for Remove old version, Override existing app, Open after installation, Preserve WGT file, Show all Jellyfin versions, Partner signing, and Force Samsung login.
- Debuggable — every session is fully logged on-device (scan → sign → install, plus errors) and can be exported from Settings → Share debug log when reporting an issue.
- Self-update check — offers the new APK when a newer build is available.
- Post-install popup with a Ko-fi QR + "🍺 Buy me a beer".
- Ships as a sideloadable .apk (see Assets below).
🔏 Signing & native packages
- Install native .tpk apps (.NET/native), not just web .wgt — native packages now install through the correct Tizen path.
- Opt-in Partner signing (advanced) — a Settings toggle; Public stays the default, so nothing changes for existing apps. Public and Partner certificates are kept as separate profiles (Jelly2Sams - Public / Jelly2Sams - Partner) and reused independently, and a package that declares a restricted privilege auto-requests Partner. ⚠️ Partner-only privileges (e.g. VPN / vpnservice) require Samsung partner enrollment and aren't granted to individual accounts on retail TVs.
- Sturdier certificates — a failed TV device-ID read is no longer written into the signing certificate, and a valid cert covering the TV is reused instead of regenerated every install.
- No more sign-in on every install — when a valid Jelly2Sams - Public/Partner profile already covers your TV it's reused silently; a Samsung login is only prompted on first run for that level, when the TV's DUID isn't covered yet, or when you force one. Desktop and mobile now share one certificate implementation, so reuse behaves identically on both.
- Clearer install errors — plain-language explanations instead of raw Tizen codes. A [118, -4] failure now explains it could |
| 2.6.0 | 7 de juliol del 2026 | — | 64 bits MSI Notes de la versió📦 v2.6.0 — 2026-07-07
🔀 Other changes
- Fix docker-build.sh after Jellyfin2Samsung → Apps2Samsung rename (#417)
- Fix docker-build.sh after Jellyfin2Samsung → Apps2Samsung rename (#417)
docker-build.sh still targets the pre-rename project, so it fails on
current master:
MSBUILD : error MSB1009: Project file does not exist.
Switch: Jellyfin2Samsung-CrossOS/Jellyfin2Samsung.csproj
#361 renamed the csproj/assembly to Apps2Samsung but did not update the
build
script. Fix - point the two hardcoded paths (and the header comment) at
the new name:
- PROJECT → Jellyfin2Samsung-CrossOS/Apps2Samsung.csproj
- BIN → .../publish/Apps2Samsung
Verified: ran ./docker-build.sh on current master (v2.5.7) in the
sdk:8.0
container - publish succeeds and produces the Apps2Samsung binary. by @PatrickSt1991 in #418
- Catalog: row-select preview + per-app versions (#420) + v2.6.0 (#424)
- Auto-detect OS language on first run (#421) (#423)
- Add Open Logs Folder button to error dialog (fixes #419) (#426)
New Contributors
- @eduardomozart made their first contribution in #426
Full Changelog: v2.5.7...v2.6.0
─────────────────────┬─────────┬───────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼───────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼───────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼───────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼───────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┴─────────┴───────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.5.7 | 2 de juliol del 2026 | — | 64 bits MSI Notes de la versió📦 v2.5.7 — 2026-07-02
🩹 Stable release v2.5.7
Focused on install reliability, network handling, and legacy Windows support.
✨ New
- VPN / tunnel warning on the main screen when a VPN, proxy, or "secure DNS" adapter is active — a common reason a TV isn't found or an install fails.
- Smarter network scan that skips VPN/tunnel and reserved IP ranges: faster, and no more chasing phantom devices or sending the install through a tunnel.
🔀 Fixes
- Windows 7 downloads: request a modern secure (TLS) connection and tolerate older certificate stores so downloads work on legacy Windows. Best-effort — TLS 1.2 must be enabled in Windows itself. (#415)
- Clearer install errors: a dropped connection ("connection reset by peer") now shows a helpful hint instead of silently retrying, and failures report the real underlying cause.
- Corrupt download recovery: the package is validated and re-downloaded if a previous attempt left it incomplete (fixes "End of Central Directory record could not be found").
- Settings window no longer clips its bottom row, and scrollbars stay visible.
- Main window resizes correctly so nothing gets cut off.
⬆️ Updating
From v2.5.5+: auto-update works
Full Changelog: v2.5.6...v2.5.7
─────────────────────┬─────────┬───────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼───────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼───────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼───────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼───────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┴─────────┴───────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.5.6 | 18 de juny del 2026 | — | 64 bits MSI Notes de la versió📦 v2.5.6 — 2026-06-18
🩹 Stable release v2.5.6
A small follow-up release focused on error reliability, UX, and MacOS binaries.
🔀 changes
- Writing probe errors to the log instead of showing on users screen.
- Fixing the scrollbar in the releases dropdown, was not visible.
- Bundle native arm64 esbuild (fix JS transpilation on Apple Silicon) (#411)
⬆️ Updating
From v2.5.5+: auto-update works
New Contributors
- @abarbarich made their first contribution in #411
Full Changelog: v2.5.5...v2.5.6
─────────────────────┬─────────┬───────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼───────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼───────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼───────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼───────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┴─────────┴───────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.5.5 | 15 de juny del 2026 | — | 64 bits MSI Notes de la versió📦 v2.5.5 — 2026-06-15
🩹 Stable release v2.5.5
A small follow-up release focused on settings reliability, app icon customization, and Samsung TV authorization improvements.
✨ New
- 🎨 Custom app icons in Settings — choose a custom PNG icon or a bundled oblong launcher icon on a per-app basis, making it easier to customize how apps appear on supported TVs (#407, #409)
- 📺 Manual TV Device ID (DUID) entry — optionally enter Samsung TV DUIDs manually to pre-authorize TVs that aren't currently available on the network (#405)
🐛 Fixed
- ⚙️ App-scoped settings no longer become frozen after updates — preserved settings.json files no longer prevent app-specific settings from updating correctly (#387)
⬆️ Updating
From v2.5.4+: auto-update works
─────────────────────┬─────────┬───────────────────────────
Platform │Status │Notes
─────────────────────┼─────────┼───────────────────────────
🍎 macOS (.app + dmg)│✅ Stable│ARM64 + Intel
─────────────────────┼─────────┼───────────────────────────
🍎 macOS (CLI) │✅ Stable│Per-arch tar.gz
─────────────────────┼─────────┼───────────────────────────
🐧 Linux │✅ Stable│x64 + ARM64 (tar.gz / .deb)
─────────────────────┼─────────┼───────────────────────────
🪟 Windows │✅ Stable│CI-built
─────────────────────┴─────────┴───────────────────────────
🛡️ Security Notice
Antivirus warnings may occur and are likely false positives. |
| 2.5.0 | 13 de juny del 2026 | — | 64 bits MSI |