Downloads
macOS
Transmission-4.0.4.dmg
Apple Silicon Native
Requires macOS 10.13 or later
Previous Releases
/
Nightlies
Windows
transmission-4.0.4-x64.msi
transmission-4.0.4-x86.msi
Requires Windows 10 or later
transmission-4.0.4-qt5-x64.msi
transmission-4.0.4-qt5-x86.msi
Requires Windows 7 or later
Previous Releases
/
Nightlies
Linux & Unix
transmission-4.0.4.tar.xz
Previous Releases
/
Nightlies
Source Code
Distros | Nightlies | Previous releases
NAS & Embedded Systems
Resources & Tutorials
SHA256 Hashes
2843035e4a5428aa7917a7d184e4cd3b18c330ae6ebc73dae7ca2b49a4ce2c0f Transmission-4.0.4.dmg 9120ab6e93b946841a7249e763ad54a851103e8bcc5121dac49c0b3676493ba5 transmission-4.0.4-x64.msi 2e993f0ddd890e3e67670ff75da15e0c9c03a0ec4a24cee28d97d1eb0ee65fc5 transmission-4.0.4-x86.msi 3317ec120481dbd36b75af8d01cb397638073d91ef01f66edc55e4afbc8b2955 transmission-4.0.4-qt5-x64.msi 9c850eda756ce5d2b8f9ae2da9ebcda76a27efee7a10f040b8d5c5b502ee0487 transmission-4.0.4-qt5-x86.msi 15f7b4318fdfbffb19aa8d9a6b0fd89348e6ef1e86baa21a0806ffd1893bd5a6 transmission-4.0.4.tar.xz f9984b6ba51a02bb8f880c538b28e2c7d6a3b7a22257a166cc3e1d55a133ab34 Transmission-3.00.dmg c34828a6d2c50c7c590d05ca50249b511d46e9a2a7223323fb3d1421e3f6b9d1 transmission-3.00-x64.msi eeab85327fa8a1299bb133d5f60f6674ca9e76522297202bbe39aae92dad4f32 transmission-3.00-x86.msi 9144652fe742f7f7dd6657716e378da60b751aaeda8bef8344b3eefc4db255f2 transmission-3.00.tar.xz
Windows MSI packages: free code signing provided by SignPath.io, certificate by SignPath Foundation
Linux & Unix Distros
Don’t see your distro? Request to add it here
Ubuntu
Stable
$ apt install transmission
Fedora
$ dnf install transmission
Arch Linux
Official Packages
Installation & Configuration
Debian
Official
Packages
$ apt install transmission
Raspberry Pi
Torrentbox Tutorial
$ apt install transmission
Mint
$ apt install transmission
OpenSUSE
Official
Packages
CentOS
Contributor Packages
Alpine Linux
Community
Packages
$ apk add transmission
postmarketOS
Community
Packages
$ apk add transmission
Manjaro
Installing transmission-cli
Installing transmission-gtk
Pop!_OS
$ apt install transmission
Flathub
Official Packages
Docker
linuxserver/transmission
FreeBSD
Official Packages
Fresh Ports
Gentoo
Official Packages
Pardus
$ sudo pisi it transmission
OpenBSD
OpenBSD Packages
Puppy
.pet Packages
Embedded Systems
Open Media Vault 5
Installation & Configuration
Synology NAS
Installation & Configuration
WD My Cloud
Installation & Configuration
QNAP NAS
Installation & Configuration
TrueNAS
Installation & Configuration
OpenWrt
Installation & Configuration
IPFire
Installation & Configuration
XigmaNAS
Configuration
Скачать
macOS
Transmission-4.0.3.dmg
Apple Silicon Native
Необходим macOS 10.13 и выше
Предыдущие версии
/
Последние
Windows
transmission-4.0.3-x64.msi
transmission-4.0.3-x86.msi
Необходим Windows 10 и выше
transmission-4.0.3-qt5-x64.msi
transmission-4.0.3-qt5-x86.msi
Необходим Windows 7 и выше
Предыдущие версии
/
Последние
Linux & Unix
transmission-4.0.3.tar.xz
Предыдущие версии
/
Последние
Исходный код
Дистрибутивы | Последние | Предыдущие версии
NAS & Встраиваемые системы
Ресурсы и Инструкции
SHA256 Хэши
01c7806eda63a94116d8f8a6a280d1d284b5a975f12a734f8c126d6fb5671b19 Transmission-4.0.3.dmg 1ef1294f0cd1f352db7367be04a8bdc77083ee82926d76769f20937b90fa1202 transmission-4.0.3-x64.msi a131f8f1654c5a787d8c67a0667a34852952cdfaaf97dd1e93864200196ce098 transmission-4.0.3-x86.msi 7c0514539766799cf0c0f58c6b3d66ec1a4a335c4d48657a8d9cc4dafc05b7f5 transmission-4.0.3-qt5-x64.msi 20cad75231ac4acb87d242d9f7188c016c531bf1109a748841402185317fefa9 transmission-4.0.3-qt5-x86.msi b6b01fd58e42bb14f7aba0253db932ced050fcd2bba5d9f8469d77ddd8ad545a transmission-4.0.3.tar.xz f9984b6ba51a02bb8f880c538b28e2c7d6a3b7a22257a166cc3e1d55a133ab34 Transmission-3.00.dmg c34828a6d2c50c7c590d05ca50249b511d46e9a2a7223323fb3d1421e3f6b9d1 transmission-3.00-x64.msi eeab85327fa8a1299bb133d5f60f6674ca9e76522297202bbe39aae92dad4f32 transmission-3.00-x86.msi 9144652fe742f7f7dd6657716e378da60b751aaeda8bef8344b3eefc4db255f2 transmission-3.00.tar.xz
Пакеты Windows MSI: бесплатная подпись кода, предоставляемая SignPath.io, сертификат от SignPath Foundation
Дистрибутивы Linux и Unix
Не видите свой дистрибутив? Вы можете запросить добавить его здесь
Ubuntu
Стабильный
$ apt install transmission
Fedora
$ yum install transmission
Arch Linux
Официальный пакет
Установка и настройка
Debian
Официальный пакет
$ apt install transmission
Raspberry Pi
Руководство по Torrentbox
$ apt install transmission
Mint
$ apt install transmission
OpenSUSE
Официальный пакет
CentOS
Пакеты сообщества
Manjaro
Установка transmission-cli
Установка transmission-gtk
Pop!_OS
$ apt install transmission
Flathub
Официальный пакет
Docker
linuxserver/transmission
FreeBSD
Официальный пакет
Fresh Ports
Gentoo
Официальный пакет
Pardus
$ sudo pisi it transmission
OpenBSD
Пакет OpenBSD
Puppy
Пакет .pet
Встраиваемые системы
Open Media Vault 5
Установка и настройка
Synology NAS
Установка и настройка
WD My Cloud
Установка и настройка
QNAP NAS
Установка и настройка
TrueNAS
Установка и настройка
OpenWrt
Установка и настройка
IPFire
Установка и настройка
Transmission
для Windows
Transmission — простой и легкий BitTorrent-клиент, который позволяет удобно и быстро скачивать любой контент с любого торрент-ресурса. Тут вы не найдете лишних «утяжеляющих» функций: в наличии только самые основные и нужные инструменты.
Вы можете добавлять для загрузки уже имеющиеся на вашем ПК торрент-файлы, а можете перетаскивать ссылку в рабочее окошко программы прямо из трекера. Кроме того, программа способна закачивать файл и по линку URL. Есть возможность определять приоритет загрузок, ограничивать скорость скачивания и раздачи, контролировать свой рейтинг, создавать свои торренты и др. Присутствует расширенная информация о каждом торренте: размер, доступность, источник, наличие пиров, задействованные трекеры и т.д.
Интерфейс программы лаконичен и не составляет проблем с освоением. Так что если вы ищите быстрый и удобный клиент для скачивания торрентов, то советуем обратить внимание на это простое приложение.
- Transmission для macOS
ТОП-сегодня раздела «Торрент клиенты, файловый обмен»
qBittorrent 4.4.5 / 4.5.5
QBittorrent — простой в использовании клиент файлообменной P2P-сети BitTorrent, который предлагает…
uTorrent Web 1.3.0
Удобный инструмент от разработчиков популярного торрент-клиента uTorrent с поддержкой…
MediaGet 3.01.4212
MediaGet — популярная программа для поиска и скачивания любых фильмов, музыки, программ, игр и…
Tribler 7.13.0
Tribler — своеобразный торрент-клиент, позволяющий безопасно скачивать файлы у других пользователей сервиса с использованием функции «peer-to-peer»…
Отзывы о программе Transmission
Дорман про Transmission 3.00 [22-01-2022]
Написана на коленке, без «фитчь».
Но, зато при установке не будет установлена гора мусора в виде всяких яндексбраузер, браузерамиго, скрытыймайнеркрипты, платнаяподписканапопки18+, и прочая неисчеслимая дрисня в гигабайты.
5 | 8 | Ответить
Ирина Ворошилова про Transmission 3.00 [30-09-2021]
Transmission лучший из того что имеется на сегодняшний день.
3 | 6 | Ответить
Дмитрий Демидов про Transmission 3.00 [16-07-2021]
Достаточно двух положительных отзывов. Дальше не стал читать. А то так и кино не захочешь смотреть, c вашими отзывами. Туды её в качель. Ставлю и пробую работать. А ваши детские обзоры смешны и не аргументированны.
7 | 4 | Ответить
Роман про Transmission 2.94 [08-03-2020]
*простой и легкий BitTorrent-клиент Это что шутка?
— Transmission -12 мб.
— µTorrent — 350кб.
Найди отличие…
5 | 16 | Ответить
Василич в ответ Роман про Transmission 2.94 [17-05-2020]
Отличие в понимании что ты сравниваешь. Чек на килограмм колбасы будет легче, чем сам килограмм колбасы — так понятнее?
350кб — это загрузчик, который потом вытащит на твой комп из инета недостающие мегабайты
20 | 6 | Ответить
Демон про Transmission 2.92 [29-10-2017]
Нормально качает всё и этот продукт, хороший не глюки нету в нем в разных версиях.
8 | 7 | Ответить
bass в ответ Демон про Transmission 2.94 [12-10-2018]
Да нифига не все качает. С запрещенных торрентов не захотел. Видать, разрабам кой-че прижали. Deluge, тот все скачал.
8 | 10 | Ответить
4.0.4
Transmission 4.0.4
This is a bugfix-only release. Everyone’s feedback on 4.0.x has been very helpful — thanks for all the suggestions, bug reports, and pull requests!
What’s New in 4.0.4
All Platforms
- Fixed bug in sending torrent metadata to peers. (#5460)
- Avoid unnecessary heap memory allocations. (#5520, #5527)
- 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)
- 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 potential Windows crash when getstdhandle() returns
NULL
. (#5675) - Fixed
4.0.0
bug where the port numbers in LDP 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. (#5896)
- Made small performance improvements in libtransmission. (#5715)
macOS Client
- Updated code that had been using deprecated API. (#5633)
Qt Client
- Fixed torrent name rendering when showing magnet links in compact view. (#5491)
- Fixed bug that broke the «Move torrent file to trash» setting. (#5505)
- Fixed Qt 6.4 deprecation warning. (#5552)
- Fixed poor resolution of Qt application icon. (#5570)
GTK Client
- Fixed missing ‘Remove torrent’ tooltip. (#5777)
Web Client
- Don’t show
null
as a tier name in the inspector’s tier list. (#5462) - Fixed truncated play / pause icons. (#5771)
- Fixed overflow when rendering peer lists and made speed indicators honor
prefers-color-scheme
media queries. (#5814) - Made the main menu accessible even on smaller displays. (#5827)
transmission-cli
- 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)
transmission-remote
- Fixed display bug that failed to show some torrent labels. (#5572)
Everything Else
- Ran all PNG files through lossless compressors to make them smaller. (#5586)
- Fixed potential build issue when compiling on macOS with gcc. (#5632)
Thank You!
Last but certainly not least, a big Thank You to these people who contributed to this release:
Contributions to All Platforms:
- @basilefff (Василий Чай):
- Fixed filename collision edge case when renaming files. (#5563)
- @G-Ray (Geoffrey Bonneville):
- Fixed potential Windows crash when getstdhandle() returns
NULL
. (#5675)
- Fixed potential Windows crash when getstdhandle() returns
- @GaryElshaw (Gary Elshaw):
- Typos in libtransmission source code comments. (#5473)
- @KyleSanderson (Kyle Sanderson):
- Fixed uninitialized session_id_t values. (#5396)
- @qzydustin (Zhenyu Qi):
- Fixed a bug that prevented editing the query part of a tracker URL. (#5871)
- @tearfur (Yat Ho):
- Code review. (#5871, #5896)
- 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)
- Refactor: share
CompareCacheBlockByKey
by constexpr static member. (#5678) - Perf: convert comparator functors to static constexpr. (#5687)
- Perf: reduce copying in
enforceSwarmPeerLimit()
. (#5731) - Fix: clamp down harder for upload as well. (#5821)
- Fixed
4.0.0
bug where the port numbers in LDP announces are sometimes malformed. (#5825)
Contributions to macOS Client:
- @i0ntempest (Zhenfu Shi):
- Fix: wrong case in AppKit.h. (#5456)
- @nevack (Dzmitry Neviadomski):
- Code review. (#5456, #5633)
Contributions to Qt Client:
- @dmantipov (Dmitry Antipov):
- Fixed Qt 6.4 deprecation warning. (#5552)
- @GaryElshaw (Gary Elshaw):
- Fixed poor resolution of Qt application icon. (#5570)
- @sfan5:
- Code review. (#5505)
Contributions to GTK Client:
- @GaryElshaw (Gary Elshaw):
- Fixed missing ‘Remove torrent’ tooltip. (#5777)
Contributions to Web Client:
- @dareiff (Derek Reiff):
- Fixed overflow when rendering peer lists and made speed indicators honor
prefers-color-scheme
media queries. (#5814)
- Fixed overflow when rendering peer lists and made speed indicators honor
- @GaryElshaw (Gary Elshaw):
- Fixed truncated play / pause icons. (#5771)
- @Rukario:
- Made the main menu accessible even on smaller displays. (#5827)
Contributions to transmission-remote:
- @rsekman (Robin Seth Ekman):
- Fixed display bug that failed to show some torrent labels. (#5572)
Contributions to Everything Else:
- @barracuda156 (Sergey Fedorov):
- Code review. (#5632)
- @GaryElshaw (Gary Elshaw):
- Typos in libtransmission tests source code comments. (#5468)
- @JonatanWick (Jonatan):
- Docs: update translation site names. (#5481)
- @nevack (Dzmitry Neviadomski):
- Code review. (#5632)
- @PHLAK (Chris Kankiewicz):
- Docs: update documentation of logging levels (#5700). (#5700)
4.0.3
Transmission 4.0.3
This is a bugfix-only release. Everyone’s feedback on 4.0.x has been very helpful — thanks for all the suggestions, bug reports, and pull requests!
What’s New in 4.0.3
All Platforms
- Fixed
4.0.2
higher CPU load while downloading. Regression introduced by #5167. (#5266, #5273) - Fixed
4.0.0
bug where thetorrentGet
RPC method returned wrongtrackerStats.tier
values. (#5274) - Fixed
4.0.0
HTTP announce behavior withbind-address-ipv*
settings. (#5296) - Fixed
4.0.0
bug in code that detects the computer’s IPv6 support. (#5312) - Silenced
4.0.0
minor log warnings forcross_seed_entry
anduid
entries in torrent files. (#5365) - When adding a duplicate torrent via the RPC API, the return value now matches Transmission 3’s return value. (#5370)
- Fixed use of metainfo display-name as a fallback name. (#5378)
- Updated torrent Peer ID generation to happen once per session, even for public torrents. (#5233)
macOS Client
- Added support for non-UTF-8 magnets. (#5244)
- Fixed potential memory leak in
tr_strv_convert_utf8()
. (#5264) - Fixed crash on launch from tapping on a notification. (#5280)
Qt Client
- Fixed
4.0.2
FTBFS on Qt 5.13. (#5238)
GTK Client
- Fixed
4.0.0
preferences dialog being too large for small displays. (#5276, #5360) - Fixed
4.0.0
regression of percents, speeds, sizes, etc. not being i18nized properly. (#5288) - Fixed FTBFS in GTKMM 4.10. (#5289, #5295)
Web Client
- Fixed confusing Inspector UI when waiting for initial data from the server. (#5249)
- Fixed a keyboard shortcut conflict. (#5318)
- Turned off keyboard shortcuts when input fields have focus. (#5381)
- Show announce URL’s origins in the inspector’s tracker list. (#5382)
- Added missing date-added field in the Inspector’s info tab. (#5386)
Daemon
- Set the log level sooner at startup to ensure events aren’t missed. (#5345)
transmission-remote
- Fixed
4.0.0
bug in the display of how much of a torrent has been downloaded. (#5265)
Everything Else
- Bumped fallback version of
libdeflate
from v1.17 to bugfix release v1.18. (#5388) - Documentation improvements. (#5278)
Thank You!
Last but certainly not least, a big Thank You to these people who contributed to this release:
Contributions to All Platforms:
- @tearfur:
- Fixed
4.0.0
HTTP announce behavior withbind-address-ipv*
settings. (#5296) - Fixed
4.0.0
bug in code that detects the computer’s IPv6 support. (#5312)
- Fixed
Contributions to macOS Client:
- @nevack (Dzmitry Neviadomski):
- Code review. (#5280)
Contributions to GTK Client:
- @albino (lawrence):
- Fix: restore accidentally-deleted copyright notice (GTK). (#5372)
- @GaryElshaw (Gary Elshaw):
- Fixed
4.0.0
preferences dialog being too large for small displays. (#5360)
- Fixed
Contributions to Web Client:
- @dareiff (Derek Reiff):
- Fixed confusing Inspector UI when waiting for initial data from the server. (#5249)
- @GaryElshaw (Gary Elshaw):
- Code review. (#5249)
- @sfan5:
- Code review. (#5318)
- @timtas (Tim Tassonis):
- Code review. (#5318)
Contributions to Daemon:
- @tearfur:
- Set the log level sooner at startup to ensure events aren’t missed. (#5345)
Contributions to transmission-remote:
- @hoimic:
- Fixed
4.0.0
bug in the display of how much of a torrent has been downloaded. (#5265)
- Fixed
Contributions to Everything Else:
- @G-Ray (Geoffrey Bonneville):
- Documentation improvements. (#5278)
- @nevack (Dzmitry Neviadomski):
- Code review. (#5286)
4.0.2
Transmission 4.0.2
This is another bugfix-only release. Thanks for all the suggestions, bug reports, and code — the feedback on 4.0.x has been very helpful!
Transmission 4 needs translators! Check out this page if you’d like to help.
What’s New in 4.0.2
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 usingannounce-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)
Thank You!
Last but certainly not least, a big Thank You to these people who contributed to this release:
Contributions to All Platforms:
- @HAkos1:
- Simplified filename info in log messages. (#5055)
- @Lanzaa (Colin B.):
- Restored support for
path.utf-8
keys in torrent info dictionaries. (#3454)
- Restored support for
- @reardonia:
- Improved handling of the
leechers
param in trackers’ announce responses. (#5164) - Restored RPC
torrentGet.wanted
return value to match 3.00 behavior. (#5170)
- Improved handling of the
- @wiz78:
- Fixed value of
TR_TIME_LOCALTIME
environment variable in torrent scripts. (#5006)
- Fixed value of
- @xavery (Daniel Kamil Kozar):
- Fixed incorrect escaping of non-BMP characters when generating JSON. (#5096)
Contributions to macOS Client:
- @andreygursky:
- Code review. (#5060)
- @DevilDimon (Dmitry Serov):
- Code review. (#5079)
- @GaryElshaw (Gary Elshaw):
- Code review. (#5095)
- @nevack (Dzmitry Neviadomski):
- Code review. (#5058, #5095, #5168)
- Fixed minor UI bugs, e.g. layout and control alignment. (#5016, #5018, #5019, #5021, #5035)
Contributions to Web Client:
- @dareiff (Derek Reiff):
- Code review. (#5151)
- Improved colors in both light & dark mode. (#5083, #5114)
- @tessus (Helmut K. C. Tessarek):
- Fixed broken keyboard shortcuts on desktop Safari. (#5054)
- @wsy2220:
- Improved colors in both light & dark mode. ([#5151]…
4.0.1
Transmission 4.0.1
The 4.0.0
release two weeks ago generated a lot of useful feedback (thank you!!) so we’ve been busy fixing bugs. This release has only bug fixes, documentation improvements, and build script fixes to make packaging easier.
RIP, Yeeshkul. TJ, your tracker is one of the first things that got me (@ckerr) interested in torrents when I started contributing to the Transmission project back in 2007. So long and thanks for all the fish.
What’s New in 4.0.1
Highlights
- Added Qt 5 builds for older Windows system, since Qt 6 requires Windows 10 or newer. (#4855)
- Fixed
4.0.0
bug that caused some torrents to have poor speed and some of their checksums to be incorrectly marked as failed. (#4879, #4880, #4890) - Fixed
4.0.0
bug that caused beachballing / jank. (#4936) - Fixed
4.0.0
bug that caused blocklists to use more memory than necessary. (#4953) - Fixed
4.0.0
issue that failed to migrate magnet links from Transmission 3. (#4840)
libtransmission (All Platforms)
- Follow BEP 27’s placement of
private
field when creating new torrents. (#4809) - Fixed
4.0.0
bug that failed to retry to connect to peers with TCP if UTP failed first. (#4897) - Fixed
4.0.0
bug that could prevent port forwarding settings from being saved. (#4842) - Fixed
4.0.0
crash that occurred when removing a webseed torrent while downloading. (#4847) - Fixed
4.0.0
regression that paused magnet links when adding them. (#4856) - Fixed
4.0.0
illegal instruction exception on some x86 Windows machines. (#4886) - Fixed
4.0.0
build failure due to incompatible system and bundled libutp headers. (#4877) - Fixed
4.0.0
build failure on NetBSD. (#4863) - Fixed
4.0.0
build error when building bundled libb64 and libutp. (#4762, #4810) - Fixed
4.0.0
build failure when compiling with Clang on Windows. (#4978) - Fixed
4.0.0
build issue that prevented distro versions of libdeflate from being used. (#4968) - Removed a harmless «unable to read resume file» error message to avoid confusion. (#4799)
- Fixed
4.0.0
libtransmission compiler warnings. (#4805)
macOS Client
- Added padding to widgets in macOS client to avoid being hidden below scroller. (#4788)
- Fixed
4.0.0
layout issue in the pieces view. (#4884) - Fixed
4.0.0
bug that didn’t highlight the current selection inView > Use Groups
. (#4896) - Fixed dock icon badge colors to Apple accessibility guidelines. (#4813)
Qt Client
- Fixed incorrect display of some trackers’ announce URLs. (#4846)
- Fixed «Open Folder» feature for local sessions. (#4963)
- Fixed Qt 6 deprecation warnings. (#4710)
GTK Client
- Fixed
4.0.0
crash on opening torrent details dialog. (#4859) - Fixed
4.0.0
bug that froze the app after showing or hiding via system tray (GTK 3 only). (#4939) - Fixed
4.0.0
rounding error in the progressbar’s percentage display. (#4933) - Fixed
4.0.0
blurred progress bars in main window. (#4756) - Fixed awkward grammar in the Details Dialog’s running-time row. (#4898)
Web Client
- Fixed
4.0.0
bug that failed to apply settings changes immediately. (#4839) - Fixed label searches that have spaces or hyphens. (#4932)
- Fixed highlight color of selected context menu rows in dark mode. (#4984)
Everything Else
- Changed default build to skip
clang-tidy
linting due to upstream bug. (#4824) - Build: Use CXX symbol checking to verify system libutp. (#4909)
- Build: add option to disable installation of web assets. (#4906)
- Build: set /utf-8 flag when using MSVC. (#4975)
Thank You!
Last but certainly not least, a big Thank You to these people who contributed to this release:
Contributions to libtransmission (All Platforms):
- @0-wiz-0 (Thomas Klausner):
- Fixed
4.0.0
build failure on NetBSD. (#4863)
- Fixed
- @Berbe:
- Fixed
4.0.0
compiler warnings when building libtransmission. (#4805)
- Fixed
- @GaryElshaw (Gary Elshaw):
- Code review for #4856
- @goldsteinn:
- Fixed
4.0.0
illegal instruction exception on some x86 Windows machines. (#4886)
- Fixed
- @reardonia:
- Code review for #4826
- @sweetppro:
- Code review for #4856, #4895
- @xavery (Daniel Kamil Kozar):
- Follow BEP 27’s placement of
private
field when creating new torrents. (#4809)
- Follow BEP 27’s placement of
Contributions to macOS Client:
- @GaryElshaw (Gary Elshaw):
- Fixed dock icon badge colors to Apple accessibility guidelines. (#4813)
- @nevack (Dzmitry Neviadomski):
- Code review for #4884
- @sweetppro:
- Added padding to widgets in macOS client to avoid being hidden below scroller. (#4788)
- Fixed
4.0.0
layout issue in the pieces view. (#4884) - Fixed
4.0.0
bug that didn’t highlight the current selection inView > Use Groups
. (#4896)
Contributions to Qt Client:
- @dmantipov (Dmitry Antipov):
- Fixed Qt 6 deprecation warnings. (#4710)
Contributions to Web Client:
- @elboletaire (Òscar Casajuana):
- Fixed label searches that have spaces or hyphens. (#4932)
- @GaryElshaw (Gary Elshaw):
- Fix: make context menu highlighted row readable in dark mode. (#4984)
Contributions to Everything Else:
- @abubaca4:
- Build: reduce minimum libdeflate version to 1.7. (#4970)
- @Berbe:
- Updated documentation. (#4803)
- Fix: Prevent lengthy compilation workflows to run needlessly. (#4804)
- Improved documentation on settings.json options. (#4812)
- @bheesham (Bheesham Persaud):
- Build: Use CXX symbol checking to verify system libutp. (#4909)
- @fetzu (Julien):
- Chore: normalized and updated copyright to 2023. (#4834)
- @fghzxm:
- Build: do not test utils if not building utils. ([#4946](https://github.com/transmission/transmissi…
4.0.0
Transmission 4.0.0
Highlights
This is a major release, both in numbering and in effort! It’s been in active development for over a year and has a huge list of changes — over a thousand commits — since Transmission 3.00. Some of the highlights include:
- Resource Efficiency — Use less memory and fewer CPU cycles
- Better Community — Pull requests welcomed and used
- Code Modernization — Migrated from C90 to modern C++
- New Features — What would a major release be without them?
Resource Efficiency
-
The code has been extensively profiled and improved to fix inefficient code and memory use. For example, a stress test of starting transmission-daemon with 25,000 torrents is almost entirely IO-bound, using 50% fewer CPU cycles and 70% fewer memory allocations than Transmission 3.00.
-
The remote control GUIs (transmission-qt and transmission-web) now use the RPC API «table» mode, resulting in smaller payloads / less bandwidth use.
-
RPC payloads are now compressed using libdeflate, a «heavily optimized [library that is] significantly faster than the zlib library.»
Community
- The project is much more responsive to bug reports and code submissions than it has been in the past.
- There is a new group of volunteer contributors who are working on Transmission!
- Transmission 4.0.0 includes over 350 new community commits (see the Thank You section below and in the previous 4.0.0 betas) since 3.00 and welcomes new contributors.
- Documentation has been moved into the
transmission/transmission
so that contributors can submit PRs to improve it.
Code Modernization
- The entire codebase has been migrated from C to C++. In the process, we’ve removed thousands of lines of custom code and used standard C++ tools instead. The core’s code has shrunk by 18%. The core codebase has been extensively refactored to be more testable and maintainable.
- The GTK client has been ported to gtkmm.
- The Web client has been rewritten in modern JavaScript and no longer uses jQuery. The entire gzipped bundle is now 68K.
- The unit tests have been expanded and ported to Google Test. Clang sanitizer builds are run during CI.
- The core library is now fuzz tested.
- Transmission now uses Sonarcloud, Coverity, LGTM, and clang-tidy static analysis on new code. Several hundred code warnings have been fixed compared to Transmission 3.00.
New Features
- Support for using BitTorrent v2 torrents and hybrid torrents. (Support for creating v2 and hybrid torrents is slated for an upcoming release.)
- Users can now set «default» trackers that can be used to announce all public torrents.
- Newly-added seeds can start immediately and verify pieces on demand, instead of needing a full verify before seeding can begin. (#2626)
- Added an option to omit potentially-identifying information (e.g. User-Agent and date created) when creating new torrents. (#3452)
- The Web client has been rewritten and now supports mobile use.
- When creating new torrents, users can now specify the piece size. (#3768, #3145, #2805)
- IPv6 blocklists are now supported. (#3835)
- Beginning with 4.0.0-beta.1, Transmission releases now use semver versioning.
- Dozens of other new features — too many to list here! We’ve been working on this for a year!
What’s New Since 4.0.0-beta.3
libtransmission (All Platforms)
- Added a new setting,
torrent-added-verify-mode
, to force-verify added torrents. (#4611) - Improved handling of webseed servers that do not support Range requests or 206 Partial Content. (#4601)
- Improved handling of webseed servers that return a content-encoding that was not requested. (#4609)
- Fixed
4.0.0-beta.3
potential socket leak. (#4616) - Fixed
4.0.0-beta.3
regression that failed to detect largefile build flags on 32bit systems. (#4627) - Fixed
4.0.0-beta.1
UI bug when removing a tracker from the announce list. (#4635) - Improved error handling when receiving corrupt piece data from peers. (#4665)
- Fixed
4.0.0-beta.1
FTBFS error on CentOS 7. (#4673, #4675) - Made small performance improvements in libtransmission. (#4577, #4679)
- Dropped libiconv dependency in libtransmission. (#4565)
- Updated 403 RPC error message. (#4567)
- Bumped libdeflate snapshot to 1.17. (#4596)
macOS Client
- Fixed two Help menus in macOS. (#4500)
- Fixed bug that caused magnet links to always be paused when added. (#4528)
- Fixed
4.0.0-beta.1
regression that broke the Piece View «blinking» when a piece completes. (#4587) - Ensured that the preferences window is centered the first time it is shown. (#4659)
- Fixed
4.0.0-beta.1
regression that incorrectly handled corrupt blocklists. (#4705) - Increased the font size in the main window’s torrent list. (#4557)
- Fixed libpsl dependency build issue on macOS. (#4642)
Qt Client
- Made display order of speed limits consistent between Properties, Details dialogs. (#4677)
GTK Client
- Fixed
4.0.0-beta.1
regression making it impossible to close «Set location» dialog (GTK 3 only). (#4625) - Fixed
4.0.0-beta.2
regression leading to crash during progress bars rendering on some systems. (#4688)
Web Client
- Fixed
4.0.0-beta.1
potential crash when detecting mime-types. (#4569) - Fixed
4.0.0-beta.1
regression that broke file priority buttons in the web client. (#4610)
Daemon
- Fixed stderr logging issue when running as a
systemd
unit. (#4612)
transmission-remote
- Fixed
4.0.0-beta.1
regression when displaying session info. (#4624) - Fixed
4.0.0-beta.1
regression when displaying tracker info. (#4633)
Thank You!
Last but certainly not least, a big Thank You to these people who contributed after 4.0.0-beta.3:
Contributions to libtransmission (All Platforms):
- @dmantipov (Dmitry Antipov):
- Chore: simplify announcer add callback. (#4573)
- Refactor: use std::function for announcer callback. (#4575)
- Refactor: switch to C++11-compatible tr_wait() from tr_wait_msec(). (#4576)
- Made small performance improvements in libtransmission. (#4577)
- Made small performance improvements in libtransmission. (#4679)
- @InsaneKnight:
- Fixed
4.0.0-beta.3
potential socket leak. (#4616)
- Fixed
- @nevack (Dzmitry Neviadomski):
- Code review for #4576
Contributions to macOS Client:
- @cfauchereau (Clément Fauchereau):
- Fixed two Help menus in macOS. (#4500)
- @DevilDimon (Dmitry Serov):
- Code review for #4500, #4692
- [@GaryElshaw (Gary E…
4.0.0-beta.3
Transmission 4.0.0-beta.3
What’s New in 4.0.0-beta.3
libtransmission (All Platforms)
- Dropped obsolete CyaSSL and PolarSSL crypto backends (WolfSSL and MbedTLS are still supported). (#4495)
- Updated extension protocol handshake to include
yourip
value as suggested by BEP 10. (#4504) - Fixed out-of-order teardown bug that could cause a crash on shutdown. (#4331, #4348, #4451)
- Fixed
4.0.0-beta.1
bug that broke detection of a peer’s UDP port in a peer handshake. (#4334) - Fixed
4.0.0-beta.2
regression that broke port forwarding in some settings. (#4343) - Fixed
4.0.0-beta.2
bitfield crash. (#4346) - Fixed
4.0.0-beta.1
pattern matching in whitelist and host_whitelist. (#4353) - Fixed
4.0.0-beta.2
crash when pausing a torrent. (#4358) - Fixed
4.0.0-beta.2
IPv6 μTP socket binding regression. (#4469) - Followed BEP 7 suggestion to remove
&ipv4=
and&ipv6=
query parameters from tracker announcements. (#4502) - Followed BEP 7 suggestion to make the tracker announce
&key=
query parameter unique per-torrent. (#4508) - Updated the bookkeeping to ensure both TCP and uTP connections honor the connection limit. (#4534)
- Made small performance improvements in libtransmission. (#4393, #4401, #4404, #4412, #4424, #4425, #4431, #4519)
- Improved test coverage in the code that checks for reserved IP address use. (#4462)
macOS Client
- Sorting by size now only uses the sizes of files that are wanted. (#4365)
- Fixed memory leak in the blocklist downloader. (#4309)
- Fixed UI issues in the main window when using Groups. (#4333)
- Improved layout of macOS UI elements. (#4366, #4367, #4460)
- Fixed the background style of torrents selected in the main window. (#4458)
- Updated code that had been using deprecated API. (#4308, #4441)
- Removed unused or unnecessary code. (#4374, #4440)
- Fixed
4.0.0-beta.1
regression that showed an incorrect icon or name in the drag overlay. (#4428) - Fixed the file display of torrents that consist of just a single file in a single folder. (#4454)
Qt Client
- Fixed progress bars positioning on Mac. (#4489)
- Added Qt dependencies for Windows build instructions and minor fixes. (#4363)
- Updated Qt CMakeLists.txt to include support for building svg. (#4437)
GTK Client
- Fixed
4.0.0-beta.1
regression leading to potential crash on startup upon watch directory setup. (#4355) - Fixed
4.0.0-beta.1
regression that prevented closing the «update blocklist» dialog. (#4391, #4392) - Fixed a bug that hid the «Enable µTP for peer communication» checkbox. (#4349)
- Removed unused or unnecessary code. (#4416)
transmission-remote
- Fixed
4.0.0-beta.1
bug that showed the wrong ETA for some torrents. (#4506)
transmission-show
- Fixed
4.0.0-beta.2
regression that causedtransmission-show --scrape
to not exit cleanly. (#4447)
Everything Else
- Added Windows build manual. (#4291)
- Removed Visual C++ redistributable libraries installation from the MSI package. (#4339)
- Removed obsolete ‘lightweight’ build option. (#4509)
Thank You!
Last but certainly not least, a big Thank You to these people who contributed to this release:
Contributions to libtransmission (All Platforms):
- @stefantalpalaru (Ștefan Talpalaru):
- Fixed
4.0.0-beta.2
regression that broke port forwarding in some settings. (#4343)
- Fixed
- @tinselcity (Reed Morrison):
- Removed unused UTP Socket code. (#4409)
Contributions to macOS Client:
- @nevack (Dzmitry Neviadomski):
- Code review for #4308, #4309, #4333, #4366, #4428, #4440, #4473
- @sweetppro (SweetPPro):
- Code review for #4308, #4310, #4367, #4414, #4417, #4418, #4428, #4461
- Fixed UI issues in the main window when using Groups. (#4333)
- Improved layout of macOS UI elements. (#4366)
- Removed unused or unnecessary code. (#4374)
- Removed unused or unnecessary code. (#4440)
- Refactor ActivityView. (#4448)
- Fixed the background style of torrents selected in the main window. (#4458)
- Improved layout of macOS UI elements. (#4460)
Contributions to Qt Client:
- @GaryElshaw (Gary Elshaw):
- Updated Qt CMakeLists.txt to include support for building svg. (#4437)
- @smrtrfszm (Szepesi Tibor):
- Added Qt dependencies for Windows build instructions and minor fixes. (#4363)
Contributions to transmission-remote:
- @lajp (Luukas Pörtfors):
- Fixed
4.0.0-beta.1
bug that showed the wrong ETA for some torrents. (#4506)
- Fixed
Contributions to Everything Else:
- @dmantipov (Dmitry Antipov):
- Refactor, ci: switch clang-format to LLVM 15. (#4297)
- @ile6695 (Ilkka Kallioniemi):
- Code review for #4291
- @LaserEyess:
- Code review for #4291
- @Petrprogs (Peter):
- Added Windows build manual. (#4291)
4.0.0-beta.2
Transmission 4.0.0-beta.2
What’s New in Transmission 4
- Support for using BitTorrent v2 torrents and hybrid torrents. (Support for creating v2 and hybrid torrents is slated for an upcoming release.)
- Users can now set «default» trackers that can be used to announce all public torrents.
- Newly-added seeds can start immediately and verify pieces on demand, instead of needing a full verify before seeding can begin. (#2626)
- Added an option to omit potentially-identifying information (e.g. User-Agent and date created) when creating new torrents. (#3452)
- The Web client has been rewritten and now supports mobile use.
- Added support for GTK 4. (#3916, GTK Client)
- When creating new torrents, users can now specify the piece size. (#3768, #3145, #2805)
- IPv6 blocklists are now supported. (#3835)
What’s New in 4.0.0-beta.2
Highlights
- Added support for GTK 4. (#3916, GTK Client)
- Prefer ayatana-indicator over appindicator, if present. (#4001, GTK Client)
- Lots of bugfixes!
libtransmission (All Platforms)
- Fixed
4.0.0-beta.1
regression that could misformat the port forwarding log messages. (#3911) - Fixed
4.0.0-beta.1
regression that could crash when mixing IPv4 and IPv6 addresses in an IP blocklist. (#4011) - Fixed
4.0.0-beta.1
regression that could fail to serve web client files from Windows. (#4099) - Fixed
4.0.0-beta.1
bug that returned an incorrect key in group-get RPC responses. (#4171) - Fixed data overflow in Message Log. (#4237)
- Fixed
4.0.0-beta.1
regression that broke theTR_TORRENT_LABELS
environment variable when running user scripts. (#4260) - Fixed slow shutdown caused by waiting on unresponsive trackers to reply. (#4285)
- Minor efficiency improvements in libtransmission. (#4116, #4216, #4220, #4224, #4226)
- Improved DHT bootstrapping on startup. (#4122)
- Made host lookups more efficient for users that disable CA verification. (#4159)
- Lowered CPU overhead in
tr_peerIo::write()
when writing to encrypted streams. (#4258) - Improved detection of preinstalled system copies of libutp. (#4072)
- Use a newer version of fast_float as a fallback when no preinstalled version can be found on the system. (#4098)
- Updated libtransmission’s copy of the mime-types list. (#4246)
macOS Client
- Added the ability to sort by activity using the filter bar. (#3944)
- Fixed sort order when sorting by activity was reversed. (#3924)
- Fixed a potential hang when updating blocklists. (#4010)
- Fixed formatting of ETA dates for slow torrents. (#4085)
- Corrected the display in user locale of some quantities above 1000. (#4109)
- Fixed
4.0.0-beta.1
Inspector filter crash. (#4138) - Fixed
4.0.0-beta.1
regression that could crash when displaying some torrents that contain invalid UTF-8. (#4144) - Fixed
4.0.0-beta.1
UI glitch when users attempted to set piece size too high or too low. (#4145) - Fixed missing
4.0.0-beta.1
translations. (#4161) - Fixed a long-standing bug that could freeze the UI on startup while Time Machine was active. (#4208)
- Fixed deleting previously selected torrent when attempting to clear search field using ⌘⌫. (#4245)
- The ‘Transmission’ name has been removed from the Toolbar in Big Sur and later OS versions. (#3919)
- Improved sizing and alignment of the Message Log window. (#3962)
- Changed Badge display so that upload is up and download is down. (#4055)
- Auto enlarge search field. (#4067)
- Support UserNotifications framework. (#3040)
- Fixed various Xcode and CMake build issues. (#3940, #3946, #3951, #4156, #4185, #4195, #4231, #4234)
- Fixed macOS API deprecation warnings. (#3950, #4112, #4190, #4221)
- Fixed various macOS API warnings. (#4202)
GTK Client
- Added support for GTK 4. (#3916)
- Prefer ayatana-indicator over appindicator, if present. (#4001)
- Changed progress bar color depending on torrent state. (#3976)
- Fixed
4.0.0-beta.1
regression that could cause a crash after completing a download. (#3963) - Fixed an issue where already open Details dialog didn’t update files list once magnet metainfo is retrieved. (#4004)
- Fixed
4.0.0-beta.1
regression that broke bulk-adding torrents from watchdirs. (#4079) - Fixed broken ETA formatting in the
4.0.0-beta.1
Torrent Details dialog. (#4227) - Fixed
4.0.0-beta.1
regression that made the About dialog difficult to close. (#3892) - Fixed
4.0.0-beta.1
regression that made duplicate add/edit tracker error dialogs being shown twice. (#3898) - Increased default Message Log window size to avoid toolbar controls being hidden on overflow. (#3971)
- Turned on more
clang-tidy
checks and fixed warnings. (#4127, #4137, #4158, #4160, #4167, #4174, #4183) - Improved favicons lookup for unreachable tracker servers. (#4278)
Web Client
- Fix: chrome needs vendor prefix(-webkit-) for mask. (#4056)
- Improved layout of ‘Add Torrents’ dialog. (#4063)
- Improved inspector dialog styling on Chrome. (#4095)
- Refresh web interface across desktop and mobile. (#3985)
- Docs: refresh web-interface page. ([#427…
4.0.0-beta.1
Welcome to the first beta release of Transmission 4.0.0! It’s been in active development for over a year and has a huge list of changes — over 1,000 commits — since Transmission 3.00. Some of the highlights include:
- Resource Efficiency — Use less memory, fewer CPU cycles
- Better Community — Pull requests welcomed and used
- Code Modernization — Rewritten in C++
- New Features — What would a major release be without them?
Resource Efficiency
-
The code has been extensively profiled and improved to fix inefficient code and memory use. For example, a stress test of starting transmission-daemon with 25,000 torrents is almost entirely IO-bound, using 50% fewer CPU cycles and 70% fewer memory allocations than Transmission 3.00.
-
The remote control GUIs (transmission-qt and transmission-web) now use the RPC API «table» mode, resulting in smaller payloads / less bandwidth use.
-
RPC payloads are now compressed using libdeflate, a «heavily optimized [library that is] significantly faster than the zlib library.»
Community
- The project is much more responsive to bug reports and code submissions than it has been in the past.
- There is a new group of volunteer contributors who are working on Transmission!
- Transmission 4.0.0-beta.1 includes over 300 new community commits (see the Thank You section below for a list) and is welcoming new contributors.
- Documentation has been moved into the
transmission/transmission
so that contributors can submit PRs to improve it
Code Modernization
- The entire codebase has been migrated from C to C++. In the process, we’ve removed thousands of lines of custom code and used standard C++ tools instead. The core’s code has shrunk by 18%. The core codebase has extensively refactored to be more testable and maintainable.
- The GTK client has been ported to gtkmm.
- The Web client has been rewritten in modern JavaScript and no longer uses jQuery. The entire gzipped bundle is now 68K.
- The unit tests have been expanded and ported to Google Test. Clang sanitizer builds are run during CI.
- The core library is now fuzz tested.
- Transmission now uses Sonarcloud, Coverity, LGTM, and clang-tidy static analysis on new code. Several hundred code warnings have been fixed compared to Transmission 3.00.
New Features
- Support for using BitTorrent v2 torrents and hybrid torrents. (Support for creating v2 and hybrid torrents is slated for an upcoming release.)
- Users can now set «default» trackers that can be used to announce all public torrents.
- Newly-added seeds can start immediately and verify pieces on demand, instead of needing a full verify before seeding can begin. (#2626)
- Added an option to omit potentially-identifying information (e.g. User-Agent and date created) when creating new torrents. (#3452)
- The Web client has been rewritten and now supports mobile use.
- When creating new torrents, users can now specify the piece size. (#3768, #3145, #2805)
- IPv6 blocklists are now supported. (#3835)
- Beginning with 4.0.0-beta.1, Transmission releases now use semver versioning.
- Dozens of other new features — too many to list here! We’ve been working on this for a year!
Other Changes
[All Platforms] [macOS Client] [Qt Client] [GTK Client] [Daemon] [Web Client] [Utils] [Everything Else!]
All Platforms
- Fix small scrape/announce packet size that could trip SYN flood detection on some systems (#3236)
- Remove the 1024 open files limit previously required by how libcurl was used (#893)
- Add configurable anti-brute force settings (#1447)
- Fetch metadata of stopped magnets (#1080)
- Stop logging excessive error messages after they repeat too many times. In some cases, repetitive messages had been spamming syslogs. (#2756)
macOS Client
- Transmission is now a Universal (Apple Silicon and Intel) app.
- Refresh of the UI to better fit into modern macOS.
- A new icon designed for Big Sur by Rodger Werner.
Qt Client
- Support both Qt5 and Qt6 (#2069)
- Nicer error handling when duplicate torrents are added (#1410)
- More efficient use of RPC (#1234, #1322, #1333)
- More efficient state updates (#1334, #1335, #1336, #1428, #1430, #1432, #1433, #1234)
- Slightly more efficient RPC requests (#1373)
- Better caching of tracker favicons (#1402)
- Fix memory leaks (#1378)
- Fix FreeSpaceLabel crash (#1604)
- Add remote server version info in the About dialog (#1603)
- Support
TR_RPC_VERBOSE
environment variable for debugging RPC calls (#1435) - Allow filtering by info hash (#1763)
GTK Client
- Ported to GTKMM
- When creating new torrents, their piece size can be specified.
- The File menu now incorporates normal quick key operations.
- The Details dialog now includes the date a torrent was added.
- The Details dialog now renders large file lists faster. (#2992, #2993)
- Better i18n of phrases for past, present, and future tense (#3214)
Daemon
TODO
Web Client
The web client has been given a major overhaul. (#1476)
User-visible highlights include:
- Mobile is now fully supported.
- Added fullscreen support on mobile.
- Better support for dark mode.
- Added mime icons to the torrent list.
- Improved theme consistency across the app.
Maintainer highlights include:
- Updated code to use ES6 APIs.
- No longer use jQuery UI.
- No longer use jQuery.
- Use Webpack to bundle the Javascript, CSS, and assets together — the entire bundle size is now 68K gzipped.
- Added eslint / prettier / stylelint tooling.
- Uses torrent-get’s ‘table’ mode for more efficient RPC calls.
Utils
- Allow webseed URLs when creating torrents in transmission-create
- Display more progress information during torrent creation in transmission-create (#1405)
Everything Else!
- https://transmissionbt.com/ has been redesigned! Thanks to @shatteredsite the redesign and to @Oleg-Chashko and @GaryElshaw for feedback!
- Roger Werner made a new Transmission icon!
Thank You
Last but certainly not least, a big Thank You to the people who contributed to this release: acchang, Ali, Andrey, Balázs Meskó, beizmos, Berbe, bexnoss, bkuhls, buckmelanoma, Carles Pastor Badosa, Charles Kerr, Chris Young, Chrool, Cœur, Colin B, Craig Andrews, C.W. Betts, Dachtire, Daniel Kamil Kozar, Dan Walters, David Beinder, David Miguel Susano Pinto, dependabot[bot], depler, Dinesh Manajipet, Dmitry Antipov, Dmitry Serov, Dmytro Lytovchenko, dubhater, Dzmitry Neviadomski, Esa Varemo, evils, ewtoombs, FallenWarrior2k, Federico Bond, FluxState, Frank Aurich, FX Coudert, Gary Elshaw, goldsteinn, Greg Hazel, Guido Cella, Guido Vranken, Hakjoon Sim, Han Shen, Harm133, Ilkka Kallioniemi, IMurzich, Isabella Skořepová, Jelle van der Waa, Johan, Jonas Malaco, JP-Ellis, kakuhen, Kirill Ovchinnikov, Kobaxidze256, Koro, L2501, LaserEyess, Lucas Clemente Vella, lucaxvi, Luukas Pörtfors, luzpaz, Mark Deepwell, Markus Amalthea Magnuson, Matan Ziv-Av, Matt Joiner, maxz, Max Zettlmeißl, Michael Lopez, Michal Kubiak, mickaelifs, Mike Gelfand, Mike Gilbert, Mitchell Livingston, Nathan Benichou, Nicholas Guriev, Noobsai, Norbert Papke, Oleg Chashko, orbital-mango, OscarCunningham, …
Transmission 3.00
All Platforms
- Allow the RPC server to listen on an IPv6 address (#161)
- Change
TR_CURL_SSL_VERIFY
toTR_CURL_SSL_NO_VERIFY
and enable verification by default (#334) - Go back to using hash as base name for resume and torrent files (those stored in configuration directory) (#122)
- Handle «fields» argument in «session-get» RPC request; if «fields» array is present in arguments, only return session fields specified; otherwise return all the fields as before
- Limit the number of incorrect authentication attempts in embedded web server to 100 to prevent brute-force attacks (#371)
- Set idle seed limit range to 1..40320 (4 weeks tops) in all clients (#212)
- Add Peer ID for Xfplay, PicoTorrent, Free Download Manager, Folx, Baidu Netdisk torrent clients (#256, #285, #355, #363, #386)
- Announce
INT64_MAX
as size left if the value is unknown (helps with e.g. Amazon S3 trackers) (#250) - Add
TCP_FASTOPEN
support (should result in slight speedup) (#184) - Improve ToS handling on IPv6 connections (#128, #341, #360, #692, #737)
- Abort handshake if establishing DH shared secret fails (leads to crash) (#27)
- Don’t switch trackers while announcing (leads to crash) (#297)
- Improve completion scripts execution and error handling; add support for .cmd and .bat files on Windows (#405)
- Maintain a «session ID» file (in temporary directory) to better detect whether session is local or remote; return the ID as part of «session-get» response (TRAC-5348, #861)
- Change torrent location even if no data move is needed (#35)
- Support CIDR-notated blocklists (#230, #741)
- Update the resume file before running scripts (#825)
- Make multiscrape limits adaptive (#837)
- Add labels support to libtransmission and transmission-remote (#822)
- Parse
session-id
header case-insensitively (#765) - Sanitize suspicious path components instead of rejecting them (#62, #294)
- Load CA certs from system store on Windows / OpenSSL (#446)
- Add support for mbedtls (formely polarssl) and wolfssl (formely cyassl), LibreSSL (#115, #116, #284, #486, #524, #570)
- Fix building against OpenSSL 1.1.0+ (#24)
- Fix quota support for uClibc-ng 1.0.18+ and DragonFly BSD (#42, #58, #312)
- Fix a number of memory leaks (magnet loading, session shutdown, bencoded data parsing) (#56)
- Bump miniupnpc version to 2.0.20170509 (#347)
- CMake-related improvements (Ninja generator, libappindicator, systemd, Solaris and macOS) (#72, #96, #117, #118, #133, #191)
- Switch to submodules to manage (most of) third-party dependencies
- Fail installation on Windows if UCRT is not installed
Mac Client
- Bump minimum macOS version to 10.10
- Dark Mode support (#644, #722, #757, #779, #788)
- Remove Growl support, notification center is always used (#387)
- Fix autoupdate on High Sierra and up by bumping the Sparkle version (#121, #600)
- Transition to ARC (#336)
- Use proper UTF-8 encoding (with macOS-specific normalization) when setting download/incomplete directory and completion script paths (#11)
- Fix uncaught exception when dragging multiple items between groups (#51)
- Add flat variants of status icons for message log (#134)
- Optimize image resources size (#304, #429)
- Update file icon when file name changes (#37)
- Update translations
GTK+ Client
- Add queue up/down hotkeys (#158)
- Modernize the .desktop file (#162)
- Add AppData file (#224)
- Add symbolic icon variant for the Gnome top bar and when the high contrast theme is in use (#414, #449)
- Update file icon when its name changes (#37)
- Switch from intltool to gettext for translations (#584, #647)
- Update translations, add new translations for Portuguese (Portugal)
Qt Client
- Bump minimum Qt version to 5.2
- Fix dropping .torrent files into main window on Windows (#269)
- Fix prepending of drive letter to various user-selected paths on Windows (#236, #307, #404, #437, #699, #723, #877)
- Fix sorting by progress in presence of magnet transfers (#234)
- Fix .torrent file trashing upon addition (#262)
- Add queue up/down hotkeys (#158)
- Reduce torrent properties (file tree) memory usage
- Display tooltips in torrent properties (file tree) in case the names don’t fit (#411)
- Improve UI look on hi-dpi displays (YMMV)
- Use session ID (if available) to check if session is local or not (#861)
- Use default (instead of system) locale to be more flexible (#130)
- Modernize the .desktop file (#162)
- Update translations, add new translations for Afrikaans, Catalan, Danish, Greek, Norwegian Bokmål, Slovenian
Daemon
- Use libsystemd instead of libsystemd-daemon (TRAC-5921)
- Harden transmission-daemon.service by disallowing privileges elevation (#795)
- Fix exit code to be zero when dumping settings (#487)
Web Client
- Fix tracker error XSS in inspector (CVE-?)
- Fix performance issues due to improper use of
setInterval()
for UI refresh (TRAC-6031) - Fix recognition of
https://
links in comments field (#41, #180) - Fix torrent list style in Google Chrome 59+ (#384)
- Show ETA in compact view on non-mobile devices (#146)
- Show upload file button on mobile devices (#320, #431, #956)
- Add keyboard hotkeys for web interface (#351)
- Disable autocompletion in torrent URL field (#367)
Utils
- Prevent crash in transmission-show displaying torrents with invalid creation date (#609)
- Handle IPv6 RPC addresses in transmission-remote (#247)
- Add
--unsorted
option to transmission-show (#767) - Widen the torrent-id column in transmission-remote for cleaner formatting (#840)
Code Signing Policy
- Windows MSI packages: free code signing provided by SignPath.io, certificate by SignPath Foundation
Transmission 2.94
All Platforms
- Fix building against LibreSSL (#284, #486, #570)
- Fix building against mbedTLS (#115, #528)
- Fix torrents ETA calculation (#522)
- Fix cross-compilation issues caused by miniupnpc configuration test (#475)
Qt Client
- Fix bad downloaded percentage in DetailsDialog (#547)
Web Client
- Fix tracker error XSS in inspector (CVE pending; found by Rory McNamara of Gotham Digital Science)
- Fix torrent name HTML-escaping in trackers inspector tab