Software  When you purchase through links on our site, we may earn an affiliate commission. Here’s how it works.

Transmission 4.1.0 Final

Transmission is a fast, lightweight, open-source BitTorrent client with a simple interface, low resource usage, encryption, remote control, magnet links, no ads, and cross-platform support.

Transmission

Transmission is a fast, easy-to-use bittorrent client with support for encryption, a web interface, peer exchange, magnet links, DHT, µTP, UPnP and NAT-PMP port forwarding, webseed support, watch directories, tracker editing, global and per-torrent speed limits, and more.

Transmission has one of the lowest memory & resource footprints of any major BitTorrent client. Transmission's light overhead is one reason why it is so well suited for home NAS and media servers. Having been used by Western Digital, Zyxel and Belkin, Transmission gives truly impressive performance on almost any compatible hardware.

Transmission is an open source, volunteer-based project. Unlike some BitTorrent clients, Transmission doesn't play games with its users to make money.

  • Transmission doesn't bundle toolbars, pop-up ads, flash ads, twitter tools, or anything else.
  • It doesn't hold some features back for a payware version.
  • Its source code is available for anyone to review.
  • Transmission doesn't track users, the website and forums have no third-party ads or analytics.

Transmission 4.1.0 changelog:

Highlights

  • Improved µTP download performance. (#6508)
  • Added support for IPv6 and dual-stack UDP trackers. (#6687)
  • Support trackers that only support the old BEP-7 with &ipv4= and &ipv6=. (#7481)
  • New JSON-RPC 2.0-compliant RPC API. (#7269)
  • Added optional sequential downloading. (#4795)
  • Use native icons for menus and toolbars: SF Symbols on macOS, Segoe Fluent on Windows 11, Segoe MDL2 on Windows 10, and XDG standard icon names everywhere else. (#7819, Qt Client)
  • Fixed 4.0.6 bug where Transmission might spam HTTP tracker announces. (#7086)

All Platforms

  • Improved libtransmission code to use less CPU. (#4876, #5645, #5715, #5734, #5740, #5792, #6103, #6111, #6325, #6549, #6589, #6712, #7027, #7744, #7800)
  • Avoid unnecessary heap memory allocations. (#5519, #5520, #5522, #5527, #5540, #5649, #5666, #5672, #5676, #5720, #5722, #5725, #5726, #5768, #5788, #5830, #6542)
  • Slightly reduced latency when sending protocol messages to peers. (#5394)
  • Added the option preferred_transport to settings.json, so that users can choose their preference between µTP and TCP. (#5939)
  • Return X-Transmission-Rpc-Version header in RPC HTTP 409 response to indicate JSON-RPC support. (#7958)
  • Added an option to verify a torrent immediately after it finishes downloading. (#4178)
  • Feat: add stats for known peers, not just connected ones. (#4900)
  • Added support for using a proxy server for web connections. (#5038, #7486)
  • Added ability to cache IP addresses used in global communications, and use it to fix UDP6 warning log spam. (#5329, #5510)
  • Updated the torrent creator's default piece size to handle very large torrents better. (#5615)
  • Added support for sending an ipv4 parameter during the Extension Protocol handshake. (#5643)
  • Setting "cache-size-mb": 0 in settings.json now disables the disk write cache. (#5668)
  • Improved libtransmission code to use less CPU and RAM. (#5801)
  • The WebUI now does separate port checks for IPv4 and IPv6. (#5953)
  • Transmission now checks if local files exists after setting torrent location. (#5978)
  • Added forced variant of the "Verify Local Data" context menu item to WebUI. (#5981)
  • Improved handling of plaintext and MSE handshakes. (#6025)
  • If a torrent contains empty (zero byte) files, create them when starting the torrent. (#6232)
  • Added optional sequential downloading. (#6450, #6746, #6893, #7047)
  • The Qt and GTK Client now does separate port checks for IPv4 and IPv6. (#6525)
  • Improved DHT performance. (#6569, #6695)
  • Added advanced sleep-per-seconds-during-verify setting to settings.json. (#6572)
  • Improved µTP download performance. (#6586)
  • Added support for IPv6 Local Peer Discovery. (#6700)
  • Allow port forwarding state to automatically recover from error. (#6718)
  • Save upload/download queue order between sessions. (#6753, #7332)
  • Added BEP-21 downloader count to tr_tracker_view and RPC. (#6936)
  • Make client reqq configurable. (#7030)
  • Daemon log timestamps are now in local ISO8601 format. (#7057)
  • Log the reason when the RPC server rejects requests. (#7114)
  • Added peer traffic statistics to torrent-get rpc method. (#7172)
  • Added bytesCompleted field to torrent-get rpc call. (#7173)
  • Deprecate tcp-enabled and udp-enabled in favour of preferred_transports. (#7473)
  • Added raw PeerID to RPC interface. (#7514)
  • IPv4 patterns in the RPC whitelist can now match with IPv4-mapped IPv6 addresses. (#7523)
  • torrent_get.wanted is now an array of booleans in the JSON-RPC API. (#7997)
  • Encryption mode in settings.json and RPC are now serialized to the same set of strings. (#8032)
  • Fixed crash in tr_peerMgrPeerStats(). (#5279)
  • Fixed "no such file or directory" warning when adding a magnet link. (#5426)
  • Fixed bug that caused the wrong decimal separator to be used in some locales. (#5444)
  • Fixed bug in sending torrent metadata to peers. (#5460)
  • Fixed filename collision edge case when renaming files. (#5563)
  • Fixed locale errors that broke number rounding when displaying statistics, e.g. upload / download ratios. (#5587)
  • In RPC responses, change the default sort order of torrents to match Transmission 3.00. (#5604)
  • Improved handling of multiple connections from the same IP address. (#5619)
  • Always use a fixed-length key query in tracker announces. This isn't required by the spec, but some trackers rely on that fixed length because it's common practice by other BitTorrent clients. (#5652)
  • Fixed minor performance bug that caused disk writes to be made in smaller batches than intended. (#5671)
  • Fixed potential Windows crash when getstdhandle() returns NULL. (#5675)
  • Modified LTEP to advertise PEX support more proactively, and added an sanity check for magnet metadata exchange. (#5783)
  • Fixed 4.0.0 bug where the port numbers in LPD announces are sometimes malformed. (#5825)
  • Fixed a bug that prevented editing the query part of a tracker URL. (#5871)
  • Fixed a bug where Transmission may not announce LPD on its listening interface. (#5875)
  • Fixed a bug that prevented editing trackers on magnet links. (#5957)
  • Fixed HTTP tracker announces and scrapes sometimes failing after adding a torrent file by HTTPS URL. (#5969)
  • Fixed blocklist error seen on some Synology devices due to a bug in tr_sys_path_copy(). (#5974)
  • Run peerMgrPeerStats in session thread. (#5992)
  • In some locales, some JSON stirngs were incorrectly escaped. (#6005)
  • If there was some disk error with torrent removal, fail with a user readable error message. (#6055)
  • Fixed 1.60 bug where low priority torrents behaved as if they had a normal priority. (#6079)
  • Fixed 4.0.4 regression that could cause slower downloads when upload speed limits were enabled. (#6082)
  • Fixed 4.0.0 bug where the IP address field in UDP announces were not encoded in network byte order. [BEP-15]. (#6126)
  • Improved parsing HTTP tracker announce response. (#6223)
  • Fixed 4.0.0 bugs where some RPC methods don't put torrents in recently-active anymore. (#6355, #6405)
  • Fixed error when using mbedtls crypto backend: "CTR_DRBG - The requested random buffer length is too big". (#6379)
  • Fixed 4.0.0 bug that caused some user scripts to have an invalid TR_TORRENT_TRACKERS environment variable. (#6434)
  • Fixed a couple of logging issues. (#6463)
  • Fixed 4.0.0 bug where alt-speed-enabled had no effect in settings.json. (#6483)
  • Fixed 4.0.0 bug where the GTK client's "Use authentication" option was not saved between's sessions. (#6514)
  • Fixed 4.0.0 bug where secondsDownloading and secondsSeeding will be reset when stopping the torrent. (#6844)
  • Fixed 4.0.0 bug where the filename for single-file torrents aren't sanitized. (#6846)
  • Partial file suffixes will now be updated after torrent verification. (#6871)
  • Limit the number of bad pieces to accept from a webseed before banning it. (#6875)
  • Fixed a 4.0.0 bug where 2.20-3.00 torrent piece timestamps saved in the resume file aren't loaded correctly. (#6896)
  • Fixed a bug that could discard BT messages that immediately followed a handshake. (#6913)
  • Various bug fixes and improvements related to PEX flags. (#6917)
  • Fixed a bug where the turtle icon is active but not effective on starting Transmission. (#6937)
  • Fixed a bug where Transmission does not properly reconnect on handshake error. (#6950)
  • Fixed edge cases where date done and recently-active does not get updated after torrent state change. (#6992)
  • Fixed a 4.0.0 bug where the tracker error is not cleared when the tracker is removed from the torrent. (#7141)
  • Fixed a bug where torrent progress is not properly updated after verifying. (#7143)
  • Disconnect blocklisted peers immediately upon blocklist update. (#7167)
  • New files are assigned a file mode per the process umask defined in settings.json. (#7195)
  • Fixed 1.74 bug where resume files are not saved when shutting down Transmission. (#7216)
  • Fixed 4.0.0 bug where the download rate of webseeds are double-counted. (#7235)
  • Harden the HTTP tracker response parser. (#7326)
  • Fixed an issue where the speed limits are not effective below 16KiB/s. (#7339)
  • Added workaround for crashes related to Curl bug 10936. (#7416)
  • Sanitize torrent filenames depending on current OS. (#3823)
  • Added a workaround for users affected by Curl bug 6312. (#7447)
  • When downloading in sequential mode, flush pieces to disk as soon as they're completed and pass their checksum test. This helps apps that are trying to use the data in realtime, e.g. streaming media. (#7489)
  • Respect the min interval and interval keys from any tracker responses. (#7493)
  • Announce port-forwarded peer port instead of local peer port on DHT. (#7511)
  • Reject incoming BT data if they are not selected for download. (#7866)
  • Fixed intermittent crashes on macOS and GTK app. (#7948)
  • Fixed remote RPC bug where querying recently_active torrents missed some torrents. (#8029)
  • Fixed a bug where the UDP sockets are not rebound after changing the bind addresses. (#8106)
  • Fixed potential use-after-free bug when parsing torrent files on macOS. (#8146)
  • Fixed a bug where disk IO rate is much higher than transfer rate. (#7089)
  • Dropped jsonsl in favour of RapidJSON as our json lexer. (#6138)
  • Easier recovery from temporarily missing data files, no longer needing to remove and re-add torrent. (#6277)
  • Better utilize high Internet bandwidth. (#7029)
  • Renamed setting to cache_size_mib to reflect the correct size units. (#7971)
  • Renamed peer_socket_tos to peer_socket_diffserv. (#8004)
  • Use a consistent unit formatting code between clients. (#5108)
  • Raised minimum OpenSSL version to 1.1.0. (#6047)
  • Refactor: add libtransmission::Values. (#6215)
  • Fixed building with older versions of CMake. (#6418)
  • Support dual stack by manually creating and binding socket on Windows platform. (#6548)
  • Fixed building on macOS 10.14.6, 10.15.7 and 11.7. (#6590)
  • Added torrent priority to completion script environment variables. (#6629)
  • Dropped support for miniupnpc version below 1.7. (#6665)
  • Default initialize sleep callback duration in tr_verify_worker. (#6789)
  • Removed TR_ASSERT(now >= latest). (#7018)
  • Deprecated the RPC field torrent-get.manualAnnounceTime. (#7497)
  • Generate imported targets for MbedTLS. (#7631)
  • Added support for libevent 2.2.1-alpha-dev. (#7765)
  • Deprecated session_get.rpc_version and session_get.rpc_version_minimum in favour of session_get.rpc_version_semver in RPC. [full release notes]

Download: Transmission 64-bit | Qt 5 Setup ~20.0 MB (Open Source)
Download: Transmission 32-bit | Qt 5 Setup
Links: Transmission Homepage | Other OSes | Screenshot

twitter Get alerted to all of our Software updates on Twitter at @NeowinSoftware

Google Chrome
Next Article

Google Chrome 144.0.7559.110 (offline installer)

ShareX
Previous Article

ShareX 19.0.2

0 Comments

Load the comments and join the conversation!

Read the comments, ask the editors questions, show respect and join the conversation.

Click here