Repository navigation
Releases: devsolux/iptv
Releases · devsolux/iptv
Release list
IPTV 1.1.0
Streaming
- Live DASH plays again. The relay now keeps usable
UTCTimingclock sources and forwards the manifestDateheader, and the player no longer treats dash.js clock, subtitle or buffer-pruning errors as fatal. Before, every live DASH stream stopped with "cannot decode". - Clearer failures. Relay errors now reach the player with their real status, so policy blocks (403), oversized playlists (413) and unsupported formats (415) are named instead of showing as a lost connection.
- Long and on-demand playlists keep working. Segments are no longer dropped five minutes after their playlist loaded, and long DVR windows no longer hit the old 8,192-address limit.
- Faster, single-connection start. The relay hands its probe connection to the player, so providers that allow one connection and one-time stream addresses work.
- Better stream detection. MPEG-TS is recognised even when a live stream starts mid-packet, and a
.m3u8address that actually serves TS plays as TS. - More HLS streams play. A multivariant playlist with one off-host or plain-HTTP variant keeps its other variants instead of failing. Identity
SAMPLE-AESkeys are relayed.$in an HLS address no longer breaks playback. - Automatic recovery. Desktop and Android reconnect a stream that was playing and then dropped, up to three times in two minutes. Android also rejoins the live edge after falling behind the live window.
- Android buffers 1.5 s before starting playback, which cuts rebuffering on Wi-Fi.
Build and CI
- Every push now builds a debug Android APK (aarch64), so the Media3 player plugin is compiled before release time.
- GitHub Actions are pinned to their latest releases (
actions/setup-javav6.1.0). The verify workflow can be run manually and caches npm downloads.
Installing
Verify a download with its .sigstore.json bundle first (see the README).
-
macOS (universal): the app is ad-hoc signed and not notarized. After dragging IPTV to Applications, run this once before the first launch and after every update:
xattr -cr /Applications/IPTV.app
-
Windows: the installers are not Authenticode-signed; SmartScreen asks for confirmation.
-
Android / Fire TV: packages named
unsignedcannot be installed without the repository's signing secrets.
This is verified source, not a certified release. See docs/VERIFICATION.md for what was and was not tested.
v1.0.0: Fix the release workflow's macOS lipo check and Android platform install
Release run 38437449018 passed the Linux and Windows jobs and failed twice. The macOS collect step passed the binary to lipo after the -verify_arch architecture list, and Xcode 27's lipo rejects the documented order as well; the step now reads lipo -archs and requires exactly the arm64 and x86_64 slices. The Android jobs asked sdkmanager for platforms;android-37 because the Tauri CLI 2.12.2 host template compiles against API 37, which Google publishes only as minor-versioned platforms (android-37.0, 37.1, 37.2); the host step now resolves every declared compileSdk to android-N or android-N.0 from the stable listing, and the SDK step no longer reinstalls cmdline-tools;latest into a second directory. Reproducing the Android job locally reached a third defect: the player plugin imports androidx.activity classes that tauri-android does not export, so compileReleaseKotlin failed. The plugin now declares androidx.activity:activity 1.13.0, and the aarch64 release APK builds against the android-37.0 platform with only the arm64-v8a library. The plugin's Gradle output directories are ignored so Biome and git skip them. BUILDING.md and VERIFICATION.md record the requirements and what ran. Version stays 1.0.0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>