Skip to content

Releases: karmugilen/torrent-player

Torrent Player 2.0.0

Choose a tag to compare

@karmugilen karmugilen released this 17 Sep 10:13

Torrent Player 2.0.0 (23)

Major update on the Go engine branch: faster video play/seek, safer magnet
restore after force-stop, correct per-torrent speeds, and clearer torrent
details. Install over the existing APK; saved downloads are reused.

What's new

Playback and download path

  • MediaStore download path with RAM write-back and coalesced disk sync.
  • Live progress and pieces heat map on torrent details.
  • Piece-grid file-name labels removed for a cleaner details layout.
  • Transfer speed-cap controls removed from the UI.

Faster Play / seek for videos

  • Gated head+tail moov tip while opening so moov-at-end MP4s start sooner.
  • Soft moov prepare: head/tail tips stay urgent while the middle of the file
    keeps downloading.
  • Scrub debounce and full seek readahead applied immediately while scrubbing.
  • Seek hotspots dropped to avoid thrash during open/scrub.

Magnet restore and share

  • Metadata-pending magnets keep connecting after force-stop / app restart.
  • Pending magnets restore through resume without requiring local storage first.
  • Details screen shows Share magnet and Copy link on the summary card.

Speeds, peers, and notifications

  • Own transfer rates per torrent so library cards and notifications no longer
    share one engine-wide speed.
  • Combined notification reflects the active torrent correctly.
  • Play-path write-back reload after cache eviction avoids zero-clobber of
    flushed chunks (hash-fail loop around ~37–60MB).

Carried forward from 1.4.5

  • Background saved-data verification without the old 60s control deadline.
  • Library/notification checking progress; pause/resume/remove cancel cleanly.

Package

  • APK: torrent-player-2.0.0.apk (arm64-v8a, version code 23, version name 2.0.0).
  • Optimized release build signed with the dedicated Torrent Player release
    keystore
    (CN=Torrent Player), not the Android Debug key. See
    SIGNING.md.
  • If you previously installed a debug-signed 1.4.x / early 2.0.0 build, uninstall
    once before installing this APK (signature change). Future updates signed with
    this same release key install over it normally.
  • Branch: go-engine. Tag: v2.0.0.
  • Play Protect may still show a scan prompt for sideloaded (non–Play Store)
    installs; that is expected and not an unsigned-APK failure.

Changes since v1.4.5

  • Ship download-path playback stack: RAM write-back, live progress, heat grid.
  • Speed up play/seek with gated moov tip and scrub debounce.
  • Prepare moov before mid-file on selected video downloads.
  • Prefer soft moov prepare: tips Now while mid still downloads.
  • Fix play download thrash and magnet restore/share.
  • Fix per-torrent speeds, combined notification, and pending resume.
  • Surface Share magnet / Copy link on torrent details; drop piece-grid file labels.
  • Bump version to 2.0.0 (23).

Torrent Player 1.4.5

Choose a tag to compare

@karmugilen karmugilen released this 16 Sep 04:29

Fixes large downloads failing to resume after restarting or force-stopping the app with Engine 500: verify saved data: context deadline exceeded.

  • Check saved files in the background without the old 60-second request timeout.
  • Show checking progress and keep pause, resume and remove responsive.
  • Retain valid saved pieces and download missing or damaged pieces after checking.
  • Keep existing tracker discovery and peer connection settings.

Install torrent-player-1.4.5.apk over your current version, then tap Retry or Resume. Large files may need several minutes of Checking saved data before downloading and Play become available.

Package: 1.4.5 (22), arm64-v8a, 8.39 MiB; same signing certificate as 1.4.4. Saving into Downloads requires Android 10 or newer.

Validation: 26 Go tests with the race detector, Go vet, JNI smoke, 14 core tests, 30 app tests and Android release lint/build passed. The new regression reproduces the exact failure with the old handler. Local TCP recovery transfers only missing bytes and preserves valid pieces. Device force-stop/reboot testing remains for this APK.

SHA-256: 30fb2cde91b4ee738037118948b8ee9d211c5ff21026751d8b9f05036cff4774

Torrent Player 1.4.4

Choose a tag to compare

@karmugilen karmugilen released this 15 Sep 15:06

Torrent Player 1.4.4 adds automatic public tracker updates with persistent caching and includes the native Go engine and playback fixes.

  • Fixes Engine 500 for magnets containing tr=DHT and other unsupported tracker entries, while retaining valid URLs.
  • Fetches a maintained tracker list daily in the background, with offline fallback and bounded retries.
  • Preserves supplied trackers and WebRTC signaling, caps supplemental trackers, and keeps existing peer connections during refresh.
  • Keeps managed trackers out of saved metadata so restarts cannot accumulate stale entries. Private/unknown torrent metadata receives no extra public trackers.
  • Retains verified streaming while downloading, completed-file playback, pause/resume, and the existing peer connection limits.
  • Optimized APK: about 8.39 MiB, Android 8.0+, arm64-v8a. No Node/V8/npm runtime.

Download torrent-player-1.4.4.apk below and install over the previous GitHub/test APK. It uses the same existing Android debug certificate as earlier releases, with release optimization enabled.

Validation: 23 Go tests under the race detector, Go vet, local tracker-to-peer discovery, connection preservation, media transfer and FFmpeg decode, JNI smoke tests, 13 core and 29 app tests, and APK signature/identity checks. Actual peer counts and speeds depend on the swarm and network.

Implementation and limits · Verification report · F-Droid submission

Torrent Player 1.4.2

Choose a tag to compare

@karmugilen karmugilen released this 14 Sep 08:45

Torrent Player 1.4.2

• Instant Swarm Reactivation on Restore & Resume: Fixed an issue where resuming a download after force-closing the app would stall until pausing and resuming again. The engine now immediately activates the swarm on configure and resume by reconnecting known peers, unpausing connection queues, resetting premature done flags, and re-announcing to trackers.
• Accurate Active-Restore Lifecycle State: Android lifecycle states now accurately distinguish in-progress transfers from paused downloads upon app launch, preventing active downloads from falsely displaying as paused.
• Visual README & Showcase: Enriched documentation with the official high-resolution app icon and authentic Material 3 device screenshots featuring open-source Creative Commons test video Big Buck Bunny.
• Animated Video Preview Dots & AddSheet Paste Icon: Features spring-animated frame indicator dots on video preview thumbnails and standard Material 3 paste/clear icon buttons in the Add sheet.

adb install -r torrent-player.apk

Torrent Player 1.4.1

Choose a tag to compare

@karmugilen karmugilen released this 14 Sep 08:05

Torrent Player 1.4.1

• Engine Memory Throttling: Configured Node with --max-old-space-size=96 and --optimize-for-size to ensure background transfers survive without getting killed by Android Low Memory Killer (LMK) on 2GB–3GB RAM devices.
• Asset Hygiene: Pruned 158 build-time files (C/C++ headers, build configs, dotfiles) from bundled nodejs-project assets, reducing flash writes on cold launch and reducing storage footprint.
• Adaptive Idle Polling: Reduced idle telemetry polling from 1.5s to 8s when no transfers are active, dramatically cutting background CPU wakeups and battery drain.
• Direct Deep-Link Navigation: Clicking an already-downloaded magnet link in a browser or messenger navigates directly to its Details/Playback screen instead of opening the Add sheet with duplicate warnings.
• 1-Tap Paste in Add Sheet: Added a 1-tap Paste text button when the magnet field is empty and a Clear icon button when populated.

adb install -r torrent-player.apk

Torrent Player 1.4.0

Choose a tag to compare

@karmugilen karmugilen released this 14 Sep 07:31

Torrent Player 1.4.0

• Unified download pipeline: Clean single contract (Download → Downloads/Webtor → Play growing or completed files via local WebTorrent HTTP streaming).
• Modern Material 3 UI:

  • Library: Clean empty state, single primary Extended FAB, 16dp rounded ElevatedCards, direct card tap for Details, and direct Delete action.
  • Settings: Grouped preference cards, dark theme switch, storage usage meter bar, and connection limit slider.
  • Torrent Details: 3-column bento telemetry (Download, Upload, ETA), 24dp piece canvas, and inline Play/Open file rows.
  • Theme: Professional blue/teal palette with Android 12+ dynamic color support.
    • Migration: Legacy metadata-only JSON records migrate cleanly to standard paused entries that require explicit user tap to download.
adb install -r torrent-player.apk

Torrent Player 1.3.4

Choose a tag to compare

@karmugilen karmugilen released this 13 Sep 07:22

Torrent Player 1.3.4

  • Live 3-frame video previews from the start of a download; they update as the file grows and skip black title cards.
  • Compact library thumbs; season packs use an Episodes button. Details has a large swipeable preview, piece map, and card-style technical info.
  • Notification Stop shuts the app down. Resume after shutdown restores the torrent.
  • Add and Settings in the top bar.
adb install -r torrent-player.apk

Torrent Player 1.3.0

Choose a tag to compare

@karmugilen karmugilen released this 13 Sep 04:05

Torrent Player 1.3.0

  • Complete unified Add → select files → Download flow.
  • Improve pause, resume, stop, deletion, and notification lifecycle handling.
  • Add real video thumbnails with placeholder fallback.
  • Add Download Details with metrics and live piece telemetry.
  • Add duplicate download protection and recovery for missing sessions.

Torrent Player 1.2.3

Choose a tag to compare

@karmugilen karmugilen released this 12 Sep 15:42

Native uTP and WebRTC on Android.

  • TCP, uTP, and WebRTC data-channel peers
  • Default UDP trackers plus WebTorrent WebSocket trackers
  • Native addons: libutp_native.so and libnode_datachannel.so (~2 MB)

Upgrade with adb install -r. Do not uninstall if you want to keep library data.

adb install -r torrent-player-1.2.3.apk

Torrent Player 1.2.2

Choose a tag to compare

@karmugilen karmugilen released this 12 Sep 15:20

Fixes completed downloads restarting when Play is pressed. Completed videos now open directly from storage, including after restarting the app.

  • Tap a torrent to see its files and choose the exact video to play.
  • Restore the default 55-peer limit and supported network discovery defaults; keep peer status visible.
  • Rebuild file selections after storage verification so all selected videos continue downloading.
  • Correct completion reporting for files ending on torrent piece boundaries.
  • Remove empty download subfolders after deleting files.
  • Move disk scans off the UI thread, reduce redundant updates, and animate progress.

Validation: 24 engine tests, 26 Android unit tests, release build and vital lint passed. Tested two-video downloads, first-tap local playback, playback after restart, per-file playback, and folder removal on the connected Android phone.

APK: version 1.2.2, versionCode 5. Install as an update to retain your library.