Transmission has been built from the ground up to be a powerful, yet lightweight BitTorrent client. Its simple, intuitive interface is designed to integrate tightly with whatever computing environment you choose to use.

Transmission strikes a balance between providing useful functionality without feature bloat. Furthermore, it is free for anyone to use or modify.

Features

  • Uses fewer resources than other clients
  • Native Mac, GTK+ and Qt GUI clients
  • Daemon ideal for servers, embedded systems, and headless use
  • All these can be remote controlled by Web and Terminal clients
  • Local Peer Discovery
  • Full encryption, DHT, µTP, PEX and Magnet Link support

Transmission runs natively on over five operating systems. Seamless configuration of your network, intelligent banning of peers who send corrupted data, and built in Peer Exchange are some of the features which enable Transmission to download your files as quickly as possible. All this is done in the background, without the user having to worry about complicated settings.

These days, bandwidth is a precious commodity. Transmission allows you to ration this commodity efficiently. You might want to queue your torrents for maximum performance. Or throttle their speed during peak periods.

Transmission easily lets you do both, and thus only works its hardest when you want it to. Support for Growl notifications and dock badging keep you updated with what's going on so you can get back to doing more important things.

NOTE: Transmission is fully open source, with most code licensed under the liberal MIT License and with select code licensed under the GNU General Public License.

What's New

Highlights

  • Fixed 4.0.1 bug where some torrents thought they were magnet links. (#5025)
  • Fixed 4.0.0 bug that broke watchdirs in the macOS client. (#5058, macOS Client)
  • Fixed 4.0.0 bug where download speed limits were ignored for uTP peers. (#5086)
  • Fixed 4.0.0 bug using announce-list when creating single-tracker private torrents. (#5106)

All Platforms

  • Restored support for path.utf-8 keys in torrent info dictionaries. (#3454)
  • Fixed value of TR_TIME_LOCALTIME environment variable in torrent scripts. (#5006)
  • Limited in-kernel file copying to 2 GiB blocks at a time to avoid potential issues with CIFS mounts. (#5039)
  • Simplified filename info in log messages. (#5055)
  • Fixed std::clamp() assertion failures. (#5080, #5203)
  • Fixed small error calculating protocol overhead when receiving peer messages. (#5091)
  • Fixed incorrect escaping of non-BMP characters when generating JSON. (#5096)
  • Fixed 4.0.0 crash when receiving malformed piece data from peers. (#5097)
  • Fixed 4.0.0 potential crash when downloading from webseeds. (#5161)
  • Improved handling of the leechers param in trackers' announce responses. (#5164)
  • Fixed 4.0.0 regression that stopped increasing the download priority of files' first and last pieces. These pieces are important for making incomplete files previewable / playable while still being downloaded. (#5167)
  • Fixed display of IPv6 tracker URLs. (#5174)
  • Fixed code that could stop being interested in peers that have pieces we want to download. (#5176)
  • Improved sanity checking of magnet links added via RPC. (#5202)
  • Fixed a misleading error message when Transmission is unable to write to the incomplete-dir. (#5217)
  • Worked around an older libdht bug that could provide invalid peer info. (#5218)
  • Restored RPC torrentGet.wanted return value to match 3.00 behavior. (#5170)

macOS Client

  • Fixed minor UI bugs, e.g. layout and control alignment. (#5016, #5018, #5019, #5021, #5035, #5066)
  • Added up / down arrows to upload / download badge info. (#5095)
  • Fixed 4.0.0 bug where macOS users could see some of their old torrents reappear after removing & restarting. (#5117)
  • Fixed "Unrecognized colorspace number -1" error messages from macOS. (#5219)
  • Fixed bug that caused local data to not be found when adding a new torrent in a custom folder. (#5060)
  • Fixed crash on startup in copyWithZone(). (#5079)

Qt Client

  • Ensured that "Open File" opens the torrent's folder for multi-file torrents. (#5115)
  • Fixed 4.0.0 bug that prevented batch-adding trackers to multiple torrents at once. (#5122)
  • Fixed per-torrent ratio display in main window. (#5193)

GTK Client

  • Fixed 4.0.0 ignoring -m/--minimized command line option. (#5175)
  • Fixed assertion failure in the progress display when creating a new torrent. (#5180)

Web Client

  • Fixed minor UI bugs, e.g. layout and control alignment. (#5001)
  • Fixed 4.0.0 bug that that failed to save alternate speed begin/end settings changes. (#5033)
  • Fixed broken keyboard shortcuts on desktop Safari. (#5054)
  • Improved colors in both light & dark mode. (#5083, #5114, #5151)

Daemon

  • Made the "unrecognized argument" error message more readable. (#5029)
  • transmission-remote
  • Fixed a spurious error message when adding magnet links. (#5088)

Everything Else

  • Documentation improvements. (#4971, #4980, #5099, #5135, #5214, #5225)
  • Updated translations. (#5182)
  • Fixed 4.0.1 failure to discover tests when cross-compiling without an emulator. (#5197)