Skip to content

Releases: BATorrent-app/BATorrent

v4.1.0

12 Jun 02:06

Choose a tag to compare

A community-driven release: everything here came straight from your reports and requests. It closes the remaining gaps with qBittorrent and fixes the Windows settings/tray/splash issues several of you hit.

Fixed

  • Settings now actually save. A whole class of preferences — speed limits (and the alternative limits), max active downloads, seed ratio, listen port, max connections, DHT/uTP/encryption, VPN interface, kill switch and proxy — weren't being persisted and reset to defaults on every launch. They now round-trip correctly. (Thanks to everyone who reported "the upload limit always goes back to 0".)
  • Splash and tray toggles stick on Windows. Turning off the startup animation (or "close to tray") no longer reverts — the Windows registry stored these booleans as integers and the UI was misreading them.
  • Close-to-tray hint. The first time the window hides to the tray you get a one-time notification, so the app doesn't look like it vanished (Windows 11 tucks new tray icons into the overflow).
  • macOS Dock icon size. The icon filled its canvas edge-to-edge and rendered larger than neighbouring apps; it now uses the standard safe-area padding.
  • Native file picker language. The "Torrent file / All files" filter in the open dialog follows the app language instead of being hard-coded.

Added — qBittorrent parity

  • Alternative speed limits toggle — a turtle button in the toolbar flips your throttled limits on/off instantly, independent of the scheduler.
  • Follow system theme — switch light/dark automatically with the OS (Settings → Appearance).
  • Pre-allocate disk space — reserve the full file size up front to reduce fragmentation (Settings → Downloads).
  • Recheck data on add — optionally force a hash check when adding a torrent, so existing or partial files on disk are detected.
  • Port status indicator — a 🟢/🟡/🔴 dot in the status bar shows whether your listen port looks reachable (UPnP/NAT-PMP + listen state; fully local, no external check).
  • Add torrent from URL — File → Add torrent from URL (Ctrl+U) fetches a remote .torrent and routes it through the normal add dialog.
  • Export .torrent — right-click a torrent → Export .torrent to save its metadata file.

Already there (in case you missed it)

  • Watch folder — auto-add .torrent files dropped into a monitored directory (Settings → Files). This release just surfaces it.
  • Incomplete files already carry a .!bt suffix until they finish.

Under the hood

  • Regression tests for the settings-persistence and Windows boolean bugs.
  • A new Qt Quick Test harness covering the startup splash and the design-system widgets.

v4.0.0

08 Jun 03:29

Choose a tag to compare

BATorrent becomes a media hub: find → download → search → watch/play, all around the cover-art identity. A left nav rail (collapsible) swaps between pages with smooth transitions.

Onboarding & updates

  • Welcome / What's New screen — one screen that greets you on first install and, after each update, carries a personal note from the dev plus that version's highlights and a link to the full release notes. (Born from a real need: a past broken auto-update left no way to reach users between releases.)
  • Guided interactive tour — a coach-marks walkthrough (dimmed backdrop, callouts with arrows pointing at the nav rail, adding a torrent, Discover, Search, HUB and Settings). Runs once automatically after the first welcome/update screen — on a fresh install and once for everyone updating into this release — is skippable, and re-runnable anytime from Help → Interactive tutorial.

Appearance

  • App-icon picker (Settings → Appearance) — choose the live Dock/taskbar icon from a set of styles, independent of the UI theme (so a dark icon pairs with a light theme). Doesn't change the file-manager icon (.app/.exe), which comes from the signed bundle. Icon pack contributed by @dkindratyuk-web (#15).

Discover

  • A new Discover page: rotating hero + rows of trending/popular movies, series and games (TMDB + IGDB), cover-art forward. Click anything to search for it.

Search, rebuilt

  • Title-first search: type once and pick the actual work (e.g. God of War Ragnarök) from a poster grid before seeing downloads — one cover per title, games and movies mixed by relevance.
  • Then drill into that title's downloads with real filters: quality, source, repacker, provider/origin and seeders, plus a relevance sort that matches whole words (so "blast" ≠ "last").
  • Each result shows where it came from (RuTracker, Torrents, …); raw torrents resolve covers on demand. A "raw results" escape hatch is always available.

HUB — watch & play

  • Watch movies in a built-in player with resume (it remembers where you stopped) and a watched-% bar on each poster — stream while it's still downloading.
  • Continue watching and Continue playing rails up top, then your movies and games libraries.
  • Games: launch from the hub — it auto-detects the executable (or you set it once), with Install/Open-folder actions.

Reliability

  • Auto-update hardening — the downloaded installer is verified against its published size before it runs (no more bricking on a truncated/blocked download), a boot-crash safe mode offers recovery (reset settings / get latest) if startup fails twice, and the update dialog always has a manual "Download manually" fallback.
  • The Peers tab no longer lags on large swarms — failed geo-IP lookups are negative-cached and the peer list only refreshes while the tab is open.

Fixes

  • A completed torrent that you'd streamed no longer re-announces "download complete" on every launch (its skipped sidecar files no longer make it look unfinished).

Other

  • Fully translated across all 8 languages.

v3.0.4

06 Jun 20:50

Choose a tag to compare

Fixes

  • macOS Dock icon no longer appears transparent and can now be customized. The app was overriding the Dock tile at runtime (re-applying the monochrome tray bat on every launch and on light/dark switches), which on some setups left a see-through icon and blocked custom icons. It now leaves the bundled app icon in place. (#14)

Icon

  • Enlarged the bat within the macOS app icon so it fills the rounded square better.

v3.0.3

05 Jun 22:01

Choose a tag to compare

Games

  • New "All" search that queries every source at once (game catalogs + torrent indexers) and merges the results — picking a single source is now optional. Game search consumes Hydra-format community catalogs (a default is seeded on first run, and you can remove it), downloads with cover art and clean titles, and caches catalogs for instant reuse.

Covers & titles

  • Adding a game now shows the right name and cover instantly, no restart needed. The matcher combines several signals — the torrent's file list, edition/qualifier stripping (Early Access, Complete Edition, GOTY), apostrophes (Baldur's = Baldurs), roman/arabic numerals (GTA V = GTA 5) and Cyrillic titles — and validates the API result instead of guessing, so it stops landing on the wrong title.

Fixes

  • A completed torrent could start re-downloading when the .!bt incomplete-file mapping desynced from disk. It now reconciles against what's actually on disk and self-heals on launch.
  • Added torrents vanished on restart unless they had downloaded data — every added torrent now persists immediately.
  • The Peers tab no longer freezes on large swarms (9k+ peers).
  • The welcome dialog no longer reappears on Windows after you tick "don't show again".

Interface

  • Reworked README with demo GIFs and localized screenshots (the app shown in your own language).
  • Ukrainian added — now eight UI languages.
  • About: the Ukrainian flag renders correctly and the Donate button opens GitHub Sponsors.

v3.0.2

04 Jun 21:33

Choose a tag to compare

Phone pairing & WebUI

  • The browser WebUI was reskinned to match the desktop app — same dark palette, Inter font, flat surfaces, the real BATorrent logo (it was a random bat before), and a proper magnet icon. It now looks like the same product, not a separate dashboard.
  • Pairing is one tap and zero typing: the generated WebUI password is now copyable, and the QR code carries the credentials — scanning it from your phone logs straight in (no typing the IP or password), then drops the credentials from the address bar.

Search

  • Two new providers: RuTor (CIS sources, no login, via a public TorAPI relay) and Torrents-CSV.
  • Results are sorted by seeders (healthiest first), and each search now times out after 15 s so one dead provider can't hang the UI.

Files & trackers

  • Per-file priority is back: right-click a file in the detail panel to set Skip / Low / Normal / High.
  • Rename an individual file inside a torrent (double-click or the file menu), separate from renaming the torrent.
  • Remove a tracker from a torrent (the ✕ on a tracker row); adding was already there.
  • Smart Paste on Ctrl+V — paste a magnet, a 40-char info-hash, or a .torrent URL straight from the clipboard and it's added immediately (text fields still paste text normally).

Covers & titles

  • Anime fansub naming ([Group] Title - NN) now resolves to the right show.
  • Audio channel layouts in titles (DDP5.1, 7.1, …) are stripped so they don't pollute cover matching.

Under the hood

  • The legacy QWidget interface is gone. QML had been the only UI since 3.0.0 (reachable old code lived behind a hidden --legacy flag); with parity confirmed, the entire QWidget layer — main window, every dialog, the theme manager — was removed (~13,400 lines). The four restored actions above were features that backend already supported but the QML port had never wired.
  • macOS: the WebUI password hash moved out of the keychain into app settings, so launching the app no longer pops a login-keychain password prompt on unsigned builds. The actual password still lives in the keychain.
  • Cleanup: ~400 orphaned translation strings and a batch of dead code removed; internal duplication collapsed; an ARCHITECTURE.md added for contributors. Unit / security / memory tests and the ASan/UBSan/TSan sanitizers stay green.

v3.0.1

03 Jun 04:05

Choose a tag to compare

Windows / Linux

  • Restored the menu bar (File, Torrent, Settings, Help — including Preferences, Check for Updates, and About). It had vanished on Windows because the previous bar only rendered as a macOS-style global menu; it now draws inside the window while macOS keeps the native global menu.

Covers & titles

  • Much stronger title parsing: leading release-site prefixes (www.foo.com - , [ tracker.net ] - ) are stripped, and for episodes only the show name before SxxExx is used — so www.UIndex.org - Euphoria US S03E08 in God We trust resolves as Euphoria.
  • Grid and list tiles no longer show a blank label when the cover hasn't resolved — they fall back to the parsed title, then the raw torrent name. List mode now matches grid.
  • Episode tiles show SxxExx, so several episodes of one show are distinguishable.
  • Fix a wrong cover from the right-click menu: re-link a torrent to the correct Movie / Series / Game title, or clear it with "No cover". The override is remembered and never overwritten by auto-matching.

Notifications

  • Finished / error / kill-switch / RSS events show as real OS notifications again (visible when the window is minimized), not only in-app toasts.

Misc

  • The portable Windows download is now named BATorrent-windows-x86_64-portable.zip so the installer is the obvious choice.

v3.0.0

03 Jun 01:10

Choose a tag to compare

New interface — full QML rewrite

  • Entire UI rebuilt in Qt Quick / QML, replacing the QWidget interface — every screen ported: main window, settings, add/create torrent, search, RSS, statistics, diagnostics, inspector, log viewer, pairing, shortcuts, removed history, welcome, about, release notes
  • Real-time speed graph, functional detail tabs (general, peers, files, trackers, pieces), drag-and-drop, native menu bar, and right-click context menus
  • Multi-select, column sorting, grid reorder with animations, full-row hover, and arrow-key navigation
  • Poster/cover art grid with TMDB / IGDB metadata resolution and localized synopses

Theming

  • Custom theme profiles — create, rename, and delete full palettes (background, panel, text + three accent colors), each with an optional background image and adjustable opacity
  • Five built-in themes; midnight shifted from purple to blue; per-platform mono/sans fonts
  • OS-scheme-aware logo so the white mark stays visible on light Windows taskbars/trays

Startup splash v2.0

  • Minimalist stroke animation that draws the bat outline, fills uniformly, and fades in the wordmark — no audio, shown every launch with a toggle in Settings

System integration

  • System tray with left-click restore and a right-click menu (speed, pause/resume all, quit); rich tray popup with live counts and DOWN/UP speeds
  • Desktop notifications for finished / error / kill-switch / RSS events
  • Discord Rich Presence and a fixed auto-updater

Localization

  • GeoIP peer country flags
  • All windows and dialogs translated across 7 languages with live language switching

Fixes

  • Welcome dialog now shows again on first launch
  • About and Release Notes pull real data (app version, linked-library versions, and the changelog) instead of hardcoded values
  • "Active" filter and its count now agree — both mean actually transferring (idle seeders are no longer listed as active)
  • Dropping several .torrent files at once shows the add dialog for each in sequence
  • Reject duplicate torrents on add; deselect on empty-area click

Windows

  • "Open containing folder" now reliably opens the parent and highlights the torrent's file/folder, instead of landing in Documents/Downloads with nothing selected (uses the shell API directly, like qBittorrent)
  • Cover/poster art loads correctly (fixed file: URL handling)
  • Fixed a UI freeze when selecting a torrent
  • Text rendering and fonts now match macOS — crisp, same size and weight
  • Faster, smoother startup (windows load lazily) and a sharper splash animation
  • Status colors corrected: completed is green, seeding amber, paused gray

v2.6.1

25 May 06:03

Choose a tag to compare

Critical fix

  • Auto-updater broken since v2.5.0 — the "Check for updates" button and silent startup check were both failing silently due to accumulated signal connections. Fixed by disconnecting stale handlers before each check.
  • Added redirect policy and 15-second timeout to update API requests
  • Users on v2.5.0 through v2.6.0 must update manually this one time — the updater will work correctly from v2.6.1 onward

v2.5.1

24 May 21:50

Choose a tag to compare

Update notice: This version has a known auto-updater bug. Please download the latest release manually.

Full Changelog: v2.5.0...v2.5.1

v2.5.0

24 May 21:14

Choose a tag to compare

Update notice: This version has a known auto-updater bug. Please download the latest release manually.

Privacy & private trackers

  • PT Mode — one-toggle compliance: disables DHT/PEX/LSD, forces anonymous handshake, announces to every tier
  • Tor proxy preset — one-click fill SOCKS5 127.0.0.1:9050
  • Anti-leecher blocking — auto-detects and bans Xunlei, QQDownload, Baidu Netdisk P2P by peer_id prefix

Notifications & integrations

  • Telegram webhook — download complete, kill switch, RSS auto-download, errors pushed to any chat via bot token
  • Discord Rich Presence — shows download progress in Discord profile with action buttons
  • Native OS notifications via QSystemTrayIcon::showMessage

Discovery & content

  • Smart Paste (Ctrl+V) — magnet links, info hashes, and thunder:// links from clipboard
  • Torrent Inspector — preview .torrent metadata before adding
  • RSS feed presets — one-click add Nyaa, Sukebei, Linux Tracker
  • Thunder:// link decoding — automatic decode of Xunlei's proprietary format

WebUI & remote

  • QR code pairing — scan to open WebUI on phone, no IP typing needed
  • Gitee update mirror — alternative update source for users in China

Interface

  • Multi-tag system (free-form, multiple per torrent)
  • Force Start queue bypass
  • Recently removed history (last 50, one-click restore)
  • Full backup/restore of settings + resume data
  • Inline rename (F2)
  • Resume on network change via QNetworkInformation
  • Changelog popup after version bump
  • Speed display in bytes or bits (togglable)
  • Locale-aware number formatting
  • 7 UI languages: EN, PT, ZH, JA, RU, ES, DE