Transmission

Media

A fast, easy and free BitTorrent client.

Latest 4.1.3 · by Transmission ProjectWebsitetransmission/transmission

Release activity

Release activity — 7 releases across 7 days in the last year. Each cell is one day; darker means more releases that day. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 20261 release on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 20261 release on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 2026No releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

7 releases in the last year

Changelog

4.1.3

Fixed 3
  • Fixed a use-after-free bug in peer code
  • Fixed build error when compiling with fmt 12.2.0
  • Fixed a 4.1.2 build error in tests
Security 1
  • Fixed a CORS bug that leaked the anti-CSRF nonce

Transmission 4.1.3

This is Transmission 4.1.3, a bugfix release. It fixes a potential CRSF security issue for users who enable remote access to Transmission. Users are encouraged to upgrade to this version.

What's New in 4.1.3
All Platforms
  • Fixed a CORS bug that leaked the anti-CSRF nonce. (#8938)
  • Fixed a use-after-free bug in peer code. (#8921)
  • Fixed build error when compiling with fmt 12.2.0. (#8942)
Everything Else
  • Fixed a 4.1.2 build error in tests. (#8881)
View originalPermalink
How 4.1.3 went

4.1.2

Added 2
  • Added safeguards to HTTP responses to prevent clickjacking
  • Added sanitization for UTF-8 client names provided by peers during handshake
Changed 1
  • Improved macOS UI code to use less CPU
Fixed 17
  • Fixed bug that could cause duplicate HTTP announces to be sent to trackers
  • Reject benc data that has invalid characters
  • Fixed bug during startup sequence where if one torrent failed to parse, subsequent torrents would also fail
  • Fixed bug that stalled some downloads at 99%
  • Fixed upgrade bug that could overwrite utp_enabled and tcp_enabled settings
  • Fixed crash that could happen when a peer supplied reqq value smaller than 32 in LTEP handshake

Transmission 4.1.2

This is Transmission 4.1.2, a bugfix release. It fixes 20+ bugs and has a few performance improvements too. All users are encouraged to upgrade to this version.

This progress was possible because of good bug reports and performance logs reported by users. Thanks, and keep them coming!

What's New in 4.1.2
Highlights
  • Fixed 4.1.0 bug that could cause duplicate HTTP announces to be sent to trackers. (#8639)
All Platforms
  • Reject benc data that has invalid characters. (#8577)
  • Fixed a bug during the startup sequence where if one torrent failed to parse, subsequent torrents would also fail. (#8605)
  • Fixed a bug that stalled some downloads at 99%. (#8654)
  • Fixed a 4.1.0 upgrade bug that could overwrite utp_enabled and tcp_enabled settings. (#8658)
  • Fixed a 4.1.0 crash that could happen when a peer supplied reqq value smaller than 32 in LTEP handshake. (#8713)
  • Fixed a 4.1.0 regression that periodically wrote upload & download stats to disk even when Transmission had been idle since the last write, preventing the stats file's disk from hibernating while idle. (#8722)
  • Fixed a 4.1.0 bug that prevented TCP peer connections on some systems. (#8748)
  • Added safeguards to HTTP responses to prevent clickjacking. (#8749)
  • Fixed edge case that didn't preserve the order of a batch of torrents when moving their queue position up or down. (#8782)
  • Added sanitization for UTF-8 client names provided by peers during handshake. (#8809)
  • Stopped appending redundant zeros to blocklist files when downloaded from a remote URL. (#8819)
  • Fixed a build failure that occurred when building with link-time optimization. (#8540)
macOS Client
Qt Client
  • Fixed a 4.1.0 crash when parsing some RPC responses from older Transmission servers. (#8618)
  • Fixed a 4.1.0 bug that saved both deprecated and current settings names to settings.json. (#8623)
GTK Client
  • Fixed a 4.1.0 bug that did not show translated logging level strings. (#8611)
  • Fixed a 4.1.0 crash when toggling alternative speed limits. (#8709)
Web Client
  • Fixed a 4.1.0 bug that displayed timestamps in some dropdowns as 6.75:45 instead of 6:45. (#8624)
  • Fixed a bug that could show incorrect torrent status when reconnecting to the server after a lost connection. (#8780, #8783)
transmission-remote
  • Improved transmission-remote console output for JSON-RPC 2. (#8799, #8805)
Thank You!

Last but certainly not least, a big Thank You to these people who contributed to this release:

Contributions to All Platforms:
  • @lpla (Leopoldo Pla Sempere):
    • Daemon: avoid periodic stats.json rewrites while idle. (#8679)
  • @reardonia (reardonia):
    • Added sanitization for UTF-8 client names provided by peers during handshake. (#8809)
  • @tearfur (Yat Ho):
    • Code review. (#8679, #8809)
    • Fixed a build failure that occurred when building with link-time optimization. (#8540)
    • Reject benc data that has invalid characters. (#8577)
    • Fixed a bug during the startup sequence where if one torrent failed to parse, subsequent torrents would also fail. (#8605)
    • Fixed 4.1.0 bug that could cause duplicate HTTP announces to be sent to trackers. (#8639)
    • Fixed a bug that stalled some downloads at 99%. (#8654)
    • Fixed a 4.1.0 upgrade bug that could overwrite utp_enabled and tcp_enabled settings. (#8658)
    • Fixed a 4.1.0 crash that could happen when a peer supplied reqq value smaller than 32 in LTEP handshake. (#8713)
    • Fixed a 4.1.0 bug that prevented TCP peer connections on some systems. (#8748)
    • Fixed edge case that didn't preserve the order of a batch of torrents when moving their queue position up or down. (#8782)
    • Fix: don't use int when calculating number of blocklist rules. (#8816)
  • @ckerr, @mikedld, @livings124
    • Maintainers
Contributions to macOS Client:
Contributions to Qt Client:
Contributions to GTK Client:
  • @tearfur (Yat Ho):
    • Code review. (#8709)
    • Fixed 4.1.0 crash when toggling alternative speed limit on the GTK app. (#8703)
Contributions to Web Client:
  • @aeriuskiller (Gonçalo Marcelo):
    • Fix: initialized torrent list after web reconnect. (#8733)
  • @tearfur (Yat Ho):
    • Code review. (#8733)
    • Fixed a bug that could show incorrect torrent status when reconnecting to the server after a lost connection. (#8783)
Contributions to transmission-remote:
  • @tearfur (Yat Ho):
    • Fixed #8122: right-align Down and Up headers in -pi peer output. (#8784)
    • Improved transmission-remote console output for JSON-RPC 2. (#8799)
Contributions to Everything Else:
  • @jaythomas (Jay Thomas):
    • Docs(rpc-spec): correct bandwidth group name field. (#8840)
View originalPermalink
How 4.1.2 went

4.1.1

Changed 5
  • Require UTF-8 filenames in .torrent files as required by the BitTorrent spec
  • Changed the network traffic algorithm to spread bandwidth more evenly amongst peers
  • Improved laggy user interface when bandwidth usage is high
  • Improved performance of internal Torrent lookup code
  • Improved responsiveness when scrolling the torrent list with keyboard navigation
Fixed 15
  • Fixed a bug that failed to report some filesystem errors to RPC clients querying the system's free space available
  • Fixed a bug that kept a torrent's updated queue position from being shown
  • Fixed a bug that caused torrents' queuing order to sometimes be lost between sessions
  • Fixed assertion failed error on OpenSolaris
  • Fixed display of wrong mime-type icon for mp4 video files
  • Hardened .torrent parsing by exiting sooner if pieces has an invalid size

Transmission 4.1.1

This is Transmission 4.1.1, a bugfix release.

4.1.0 was in development for over a year, so we've gotten a lot of good feedback, including actionable bug reports, since it was released three weeks ago. 4.1.1 fixes 20+ bugs and also has some performance improvements. All users are encouraged to upgrade to this version.

This progress was possible because of good bug reports and performance logs reported by users. Thanks, and keep them coming!

What's New in 4.1.1
All Platforms
  • Fixed a 4.1.0 bug that failed to report some filesystem errors to RPC clients who were querying the system's free space available. (#8258)
  • Fixed a 4.1.0 bug that kept a a torrent's updated queue position from being shown. (#8298)
  • Fixed a 4.1.0 bug that caused torrents' queuing order to sometimes be lost between sessions. (#8306)
  • Fixed "assertion failed: no timezone" error on OpenSolaris. (#8358)
  • Fixed a 4.0.0 bug that displayed the wrong mime-type icon for mp4 video files. (#8411)
  • Hardened .torrent parsing by exiting sooner if pieces has an invalid size. (#8412)
  • Reverted a 4.1.0 RPC change that broke some 3rd party code by returning floating-point numbers, rather than integers, for speed limit fields. (#8416)
  • Fixed crash that could happen if a user paused a torrent and edited its tracker list at the same time. (#8478)
  • Fixed 4.1.0 crash on arm32 by switching crc32 libraries to Mark Madler's crcany. (#8529)
  • Require UTF-8 filenames in .torrent files, as required by the BitTorrent spec. (#8541)
  • Fixed crash that could occur when parsing a .torrent file with a bad pieces key. (#8542)
  • Fixed potential file descriptor leak when launching scripts on POSIX systems. (#8549)
  • Changed the network traffic algorithm to spread bandwidth more evenly amongst peers. (#8259)
  • Improved laggy user interface when bandwidth usage is high. (#8454)
macOS Client
  • Fixed a 4.1.0 crash that occurred if deleting a torrent's files on macOS returned a system error. (#8275)
  • Fixed a crash in the "Rename File ..." dialog when trying to rename a torrent right when the torrent finished downloading. (#8425)
  • Fixed 4.1.0 crash when removing a torrent that was being show in the Inspector. (#8496)
  • Improved performance of internal Torrent lookup code. (#8505)
  • Improved responsiveness when scrolling the torrent list with keyboard navigation. (#8323)
Qt Client
  • Fixed a 4.1.0 bug where the RPC error response arguments were not handled. (#8414)
  • Fixed a long-standing bug that wouldn't let file:/// URIs be added from the command line. (#8448)
  • Fixed broken icons in the torrent list on Windows. (#8456)
GTK Client
  • Fixed a 4.1.0-beta.5 assertion failure when fetching a blocklist failed on a system compiled with GLIBCXX_ASSERTIONS enabled. (#8273)
  • Fixed a 4.1.0 bug that wouldn't let magnet links be added from the "Add URL" dialog. (#8277)
  • Fixed a 4.1.0 bug that broke keyboard shortcuts when built with GTK3. (#8293)
  • Fixed a crash that could happen when removing some torrents. (#8340)
  • Fixed a 4.1.0 bug that showed the wrong encryption mode being shown in the Preferences dialog. (#8345)
  • Fixed a 4.0.x bug that prevented a handful of strings from being marked for translation. (#8350)
  • Fixed a 4.1.0 packaging error that prevented the Qt and GTK clients from being installed side-by-side on Arch. (#8387)
  • Fixed a 4.1.0 bug that wouldn't let magnet links be added from the command line. (#8415)
Web Client
  • Reverted a 4.1.0 change that merged the "Remove torrent" and "Trash torrent" confirmation dialogs into a single dialog. (#8355)
  • Fixed a 4.1.0 bug that showed a "Connection failed" popup when opening the "Open torrent" dialog while the current download directory path was invalid. (#8386)
Everything Else
View originalPermalink
How 4.1.1 went

4.1.0

Added 12
  • Support for IPv6 and dual-stack UDP trackers
  • Support trackers that only support the old BEP-7 with &ipv4= and &ipv6=
  • New JSON-RPC 2.0-compliant RPC API
  • Optional sequential downloading
  • Option preferred_transport in settings.json to choose preference between µTP and TCP
  • Return X-Transmission-Rpc-Version header in RPC HTTP 409 response to indicate JSON-RPC support
Changed 7
  • Improved µTP download performance
  • 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 elsewhere
  • Improved libtransmission code to use less CPU
  • Avoid unnecessary heap memory allocations
  • Slightly reduced latency when sending protocol messages to peers
  • Updated the torrent creator's default piece size to handle very large torrents better
  • WebUI now does separate port checks for IPv4 and IPv6
Fixed 1
  • Fixed 4.0.6 bug where Transmission might spam HTTP tracker announces

Transmission 4.1.0

This is Transmission 4.1.0. We've been working on this release for over a year now, and we're excited to finally get it over the finish line!

What's New in 4.1.0
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. (#8022)
macOS Client
  • Added "Show Toolbar" toggle. (#4419)
  • Better dark mode support. (#6101, #6959)
  • Feat: support redirects to magnet. (#6012)
  • Render file tree in QuickLook plugin for .torrent files. (#6091)
  • Added an option to set Transmission as the default app for torrent files. (#6099)
  • Support pasting multiple magnets on the same line. (#6465)
  • Support multiple URL objects from pasteboard. (#6467)
  • Feat: clear the badge when quitting app. (#7088)
  • Reimplemented QuickLook previews for torrent files with Quick Look preview extension API on macOS 12+. (#7213)
  • Use modern macOS APIs to prevent idle system sleep and add support for Low Power Mode. (#7543)
  • Fix: apply i18n to percentage values. (#5568)
  • Fixed "Unrecognized colorspace number -1" error message. (#6049)
  • Fix: URL cleanup in BlocklistDownloader on macOS. (#6096)
  • Fixed early truncation of long group names in groups list. (#6104)
  • Use screen.visibleFrame instead of screen.frame. (#6321)
  • Fixed dock bug that prevented resizing. (#7188)
  • Fixed the context menu's appearance in compact mode. (#7350)
  • Fixed missing tooltips for Group rows in Torrent Table View. (#7828)
  • Fixed re-opening the filter bar is showing an incorrect selected filter. (#7844)
  • Fixed Hide Status Bar/Filter Bar never changing to "Show". (#8170)
  • Added alternating row color in QuickLook plugin. (#5216)
  • Updated app icon for Liquid Glass. (#7736)
  • Removing Liquid Glass icons on older Macs. (#7994)
  • Added sort-by-ETA option. (#4169)
  • Support localized punctuation for "Port:". (#4452)
  • Replace mac app default BindPort with a random port. (#5102)
  • Updated code that had been using deprecated API. (#5633)
  • Support macOS Sonoma when building from sources. (#6016)
  • Chore: replace deprecated NSNamePboardType with NSPasteboardTypeName. (#6107)
  • Fixed building on macOS Mojave. (#6180)
  • Improved macOS UI code to use less CPU. (#6452)
  • Fixed app unable to start when having many torrents and TimeMachine enabled. (#6523)
  • Support finding Transmission in Spotlight with keywords "torrent" and "magnet". (#6578)
  • Removed warning "don't cut off end". (#6890)
  • Opt-in to secure coding explicitly. (#7020)
  • Added Afrikaans and Greek translations. (#7477)
  • Fixed crash when opening the messages log. (#8035)
  • Converted TorrentTableView to view based. (#5147)
Qt Client
  • 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)
  • Added ETA to compact view. (#3926)
  • Added the web client's Labels feature. (#6428)
  • Added the ability to use a custom URL path when connecting to remote Transmission servers. (#7561)
  • Added color-coding to progressbars to differentiate torrent states. (#7756)
  • 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 poor resolution of the app icon. (#5570)
  • Fixed compatibility issue with 4.x clients talking to Transmission 3.x servers. (#6438)
  • Fixed 4.0.0 bug where piece size description text and slider state in torrent creation dialog were not always up-to-date. (#6516)
  • Use semi-transparent color for inactive torrents. (#6544)
  • Correct "Queue for download" last activity. (#6872)
  • Fixed build script bug that could cause extra instances of Transmission to launch on Windows. (#7841)
  • Fixed a Qt API deprecation warning when building with Qt >= 6.13. (#7940)
  • Fixed "sequence not ordered" assertion error in debug builds. (#8000)
  • Fix: use URL base path. (#8078)
  • Fixed spinbox translation ambiguity. (#5124)
  • Improved Qt client's accessibility. (#6518, #6520)
  • Fix: QT build missing an icon. (#6683)
  • Changed Qt client CLI options parsing to accept Qt options as a separate group. (#7076)
  • Modified the "New Torrent" dialog's piece size range to [16 KiB..256 MiB]. (#6211)
  • Raised the minimum Qt5 version to 5.15. (#7943)
GTK Client
  • Use native file chooser dialogs (GTK client). (#6545)
  • Improved GTK client's accessibility. (#7119)
  • Adjust slider limits in GTK. (#7251)
  • Fixed file list text size adjustment based on global settings. (#7096)
  • Fixed missing 'Remove torrent' tooltip. (#5777)
  • Fixed crash when opening torrent file from "Recently used" section in GTK 4. (#6131)
  • Fixed 4.0.0 regression causing GTK client to hang in some cases. (#7097)
  • Setting default behaviour for GTK dialogs to add torrent from url and add tracker. (#7102)
  • Updated progressbar colours to match macOS and Web clients. (#5906)
  • Added developer_name entry to the Flathub build. (#6596)
Web Client
  • Added support for adding torrents by drag-and-drop. (#5082)
  • Added high contrast theme. (#5470)
  • Replaced background colors with system color keywords to enable using browser's colors. CSS style adjustments esp. for label and buttons. (#5897)
  • Added percent digits into the progress bar. (#5937)
  • Improved WebUI responsiveness and made quality of life improvements. (#5947)
  • Feat: Only show .torrent files in the web UI. (#6320)
  • Added separate port checks for IPv4 and IPv6. (#6607)
  • Added new options for web client to filter torrents by their privacy or error status. (#6977)
  • The inspector can now be hidden by clicking. (#6863)
  • Implemented a context menu for file list in web app making way to rename or copy name of individual file. (#7389)
  • Added a new alert message of a problem when renaming torrent or file name. (#7394)
  • Added accept torrent files in web. (#7683)
  • 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)
  • Fixed graying out inspector. (#5893)
  • Fixed updating magnet link after selecting same torrent again. (#6028)
  • Added seed progress percentage to compact rows. (#6034)
  • Fixed 4.0.0 bug where the WebUI "Set Location" dialogue does not auto fill the selected torrent's current download location. (#6334)
  • Fixed 4.0.5 bug where svg and png icons in the WebUI might not be displayed. (#6409, #6430)
  • Fixed a 4.0.0 bug where the infinite ratio symbol was displayed incorrectly. (#6491)
  • Fix(web): pressing the enter key now submits dialogs. (#7036)
  • Fixed a bug inflating per-torrent rows by long torrent names in compact view. (#7336)
  • Fixed incorrect text entry sensitivity when sessions changed. (#7346)
  • Fixed filtering torrents by tracker after a torrent's tracker list is edited. (#7761)
  • Removed excessive session-set RPC calls related to WebUI preference dialogue. (#5994)
  • Removed modifiers for keyboard shortcuts. (#5331)
  • Improved some UI styling and spacing. (#5466)
  • Updated WebUI progress bar and highlight colours. (#5762)
  • Improved the filterbar for narrowed viewports. (#5828)
  • Unified CSS shadow properties. (#5840)
  • Updated play/pause monochrome icons. (#5868)
  • Improved overflow menu for web client. (#5895)
  • Added display and time in torrent detail. (#5918)
  • Added touchscreen support in the context menu. (#5928)
  • Updated turtle for web app. (#6940)
  • Added waiting 1/4 seconds of typing in the search bar before executing and a new button to clear the search. (#6948)
  • Added checkbox to delete data while removing torrents. (#7000)
  • Fixed truncated hash in inspector page, added name section to inspector page. (#7014)
  • Added column mode for viewport unconstrained browsers. (#7051)
  • Updated gray color for grayed out objects. (#7248)
  • Updated displaying number in new gigabyte per second unit. (#7279)
  • Fixed an issue where Transmission web's custom context menu does not close when clicking on some outside element. (#7296)
  • Implemented a new popup management system for web client to support multiple popups in a hierarchy-like system. (#7297)
  • Updated viewport-sensitive layout and style to uniform across browsers of varying viewport. (#7328)
  • Increased base font sizes, and progress bar size in compact view. (#5340)
  • Use esbuild to build the web client. (#6280)
  • Gave labels to the mainwin buttons for web client. (#6985)
Daemon
  • Added optional sequential downloading. (#7048)
  • Added start_paused to settings and daemon. (#6728)
  • More accurate timestamps for daemon logs. (#7009)
  • Fixed minor memory leak. (#5695)
  • Avoid unnecessary heap memory allocations. (#5724)
  • Added documentation key to systemd service file. (#6781)
  • Use Type=notify-reload in the systemd service file. (#7570)
  • Included daemon-specific options in the generated settings.json. (#6499)
  • Updated transmission-daemon.1 to sync with --help. (#6059)
  • Deprecated tcp-enabled and udp-enabled in favour of preferred_transports. (#7988)
transmission-remote
  • Added support to download sequentially from a specific piece. This can enable apps to seek within media files for streaming use cases. (#6454, #7808, #7809)
  • Implemented idle seeding limits. (#2947)
  • transmission-remote --blocklist-update now prints blocklist size after update. (#8021)
  • Fixed display bug that failed to show some torrent labels. (#5572)
  • Fixed crash in printTorrentList. (#6819)
  • Improved error logging. (#7034)
  • Added 'months' and 'years' to ETA display for extremely slow torrents. (#5584)
  • Added default sorting by date added when listing torrents. (#5608)
  • Fixed layout bug that caused columns to be misaligned when transfer speed was >= 10MB. (#8019)
  • Exposed the torrent-get.percentDone key in transmission-remote. (#7622)
  • Deprecated --(no-)utp in transmission-remote. (#7990)
Everything Else
  • Improved libtransmission code to use less CPU. (#5651)
  • Improved support for building with the NDK on Android. (#6024)
  • Ran all PNG files through lossless compressors to make them smaller. (#5586)
  • Fixed RPC spec that confused torrent-get.wanted with torrent-get.fileStats.wanted. (#6677)
  • Updated documentation. (#5565, #5578, #5688, #5702, #5790, #5831, #6037, #6156, #6196, #6199, #6255, #6367, #6391, #6427, #6676, #6703, #6800, #6814, #7120, #7576, #7826, #7829, #7830, #7836, #7840, #8039)
  • Updated peer-id documentation to account for post-3.00 changes. (#6083)
  • Fixed potential build issue when compiling on macOS with gcc. (#5632)
  • Build with -latomic on platforms that need it. (#6774)
  • Fixed building with mbedtls 3.X. (#6822)
  • Configuring Transmission's CMake project no longer inserts third-party submodules to CMake's user package registry. (#7648)
  • Bumping libdeflate/small/utfcpp to newer versions. (#6709)
  • Bumped fast-float to 6.1.1 and miniupnpc to 2.2.7 and libdeflate to 1.2.0. (#6721)
  • Bumped miniupnpc to 2.2.8. (#6907)
  • Apply Xcode 26.0 recommendations. (#7823)
New Since 4.1.0-beta.5
  • 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 4.1.0-beta.1 potential crash when shutting down. (#8161)
  • Fixed 4.1.0-beta.1 bug where torrents are incorrectly paused when moving files to a different filesystem from the original directory. (#8175)
  • Fixed macOS Hide Status Bar/Filter Bar never changing to "Show". (#8170)
  • Fixed 4.1.0-beta.5 regression in Qt client when connecting to remote Transmission servers. (#8105)
  • Fixed 4.1.0-beta.5 typo in User-Agent headers. (#8136)
  • Fixed 4.1.0-beta.1 crash when passing an invalid value for numeric command-line args. (#8148, #8162, #8163)
Thank You!

Last but certainly not least, a big Thank You to these people who contributed to this release:

View originalPermalink
How 4.1.0 went

4.1.0-beta.5

Pre-release
Added 1
  • Return X-Transmission-Rpc-Version header in RPC HTTP 409 response to indicate JSON-RPC support
Changed 6
  • Reject incoming BT data if they are not selected for download
  • torrent_get.wanted is now an array of booleans in the JSON-RPC API
  • Encryption mode in settings.json and RPC are now serialized to the same set of strings
  • Renamed setting to cache_size_mib to reflect the correct size units
  • Renamed peer_socket_tos to peer_socket_diffserv
  • transmission-remote --blocklist-update now prints blocklist size after update
Fixed 11
  • Fixed bug where some downloads could get stuck for a long time
  • Fixed bug that broke icons on Windows
  • Fixed issue that included backwards-incompatible keys in the settings file
  • Fixed bug where torrents with unaligned piece and block boundaries could get stuck at 99%
  • Fixed intermittent crashes on macOS and GTK app
  • Fixed minor regression to honor the sleep_per_seconds_during_verify setting when verifying local data
Removed 1
  • Removed menu icons on older Macs
Deprecated 2
  • Deprecated session_get.rpc_version and session_get.rpc_version_minimum in favour of session_get.rpc_version_semver in RPC
  • Deprecated tcp-enabled and udp-enabled in favour of preferred_transports

Transmission 4.1.0-beta.5

This is Transmission 4.1.0-beta.5. We're now in feature freeze for 4.1.0 -- testers and feedback are encouraged!

What's New in 4.1.0-beta.5
Highlights
  • Fixed 4.1.0-beta.1 bug where some downloads could get stuck for a long time. (#7899)
  • Fixed 4.1.0-beta.4 bug that broke icons on Windows. (#7931)
  • Fixed 4.1.0-beta.4 issue that included backwards-incompatible keys in the settings file. (#7917, #7918, #7932, #7995, #8002)
  • Return X-Transmission-Rpc-Version header in RPC HTTP 409 response to indicate JSON-RPC support. (#7958)
All Platforms
  • Fixed 4.1.0-beta.1 bug where torrents with unaligned piece and block boundaries could get stuck at 99%. (#7944)
  • Fixed intermittent crashes on macOS and GTK app. (#7948)
  • Reject incoming BT data if they are not selected for download. (#7866)
  • Fixed minor 4.1.0 beta regression to honor the sleep_per_seconds_during_verify setting when verifying local data. (#7870)
  • Fixed remote RPC bug where querying recently_active torrents missed some torrents. (#8029)
  • 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)
  • Renamed setting to cache_size_mib to reflect the correct size units. (#7971)
  • Renamed peer_socket_tos to peer_socket_diffserv. (#8004)
  • Deprecated session_get.rpc_version and session_get.rpc_version_minimum in favour of session_get.rpc_version_semver in RPC. (#8022)
macOS Client
  • Fixed crash when opening the messages log. (#8035)
  • Fixed re-opening the filter bar is showing an incorrect selected filter. (#7844)
  • Removed menu icons on older Macs. (#7994)
Qt Client
  • Fixed build script bug that could cause extra instances of Transmission to launch on Windows. (#7841)
  • Fixed "sequence not ordered" assertion error in debug builds. (#8000)
  • Fixed a Qt API deprecation warning when building with Qt >= 6.13. (#7940)
  • Raised the minimum Qt5 version to 5.15. (#7943)
Daemon
  • Deprecated tcp-enabled and udp-enabled in favour of preferred_transports. (#7988)
transmission-remote
  • transmission-remote --blocklist-update now prints blocklist size after update. (#8021)
  • Fixed layout bug that caused columns to be misaligned when transfer speed was >= 10MB. (#8019)
  • Deprecated --(no-)utp in transmission-remote. (#7990)
Everything Else
  • Updated documentation. (#8039)
Thank You!

Last but certainly not least, a big Thank You to these people who contributed to this release:

Contributions to All Platforms:
  • @nevack (Dzmitry Neviadomski):
  • @reardonia (reardonia):
  • @tearfur (Yat Ho):
    • Code review. (#7877, #7883, #7892, #7910, #7917, #7918, #7923, #7932, #7953, #7954, #7956, #7961, #7985, #8012)
    • Reject incoming BT data if they are not selected for download. (#7866)
    • Fixed minor 4.1.0 beta regression to honor the sleep_per_seconds_during_verify setting when verifying local data. (#7870)
    • Fix: FTBFS in C++20. (#7880)
    • Perf: use iterator range insert in Wishlist::next. (#7890)
    • Fixed 4.1.0-beta.1 bug where some downloads could get stuck for a long time. (#7899)
    • Fix: only shrink wishlist block span if previous piece is wanted. (#7900)
    • Fix: FTBFS with rapidjson 1.1.0 release on GCC < 12. (#7933)
    • Fixed 4.1.0-beta.1 bug where torrents with unaligned piece and block boundaries could get stuck at 99%. (#7944)
    • Fix: add client_has_piece check to recalculate_wanted_pieces. (#7945)
    • Refactor: re-use recalculate_wanted_pieces logic in wishlist constructor. (#7946)
    • Fixed intermittent crashes on macOS and GTK app. (#7948)
    • Refactor: use api-compat for settings.json. (#7950)
    • Return X-Transmission-Rpc-Version header in RPC HTTP 409 response to indicate JSON-RPC support. (#7958)
    • Renamed setting to cache_size_mib to reflect the correct size units. (#7971)
    • Refactor: use apicompat for bandwidth-groups.json. (#7972)
    • Feat: generic support for optional fields in serializer. (#7979)
    • Feat: sync the values of preferred_transports and *_enabled. (#7980)
    • Fixed 4.1.0-beta.4 issue that included backwards-incompatible keys in the settings file. (#7995)
    • torrent_get.wanted is now an array of booleans in the JSON-RPC API. (#7997)
    • Renamed peer_socket_tos to peer_socket_diffserv. (#8004)
    • Fix: rpcimpl array size. (#8014)
    • Fix: detect is_torrent in rpc response too. (#8015)
    • Fix: discard any non-int tag when converting to tr4. (#8017)
    • Fix: dedupe Access-Control-Expose-Headers header. (#8018)
    • Deprecated session_get.rpc_version and session_get.rpc_version_minimum in favour of session_get.rpc_version_semver in RPC. (#8022)
    • Fixed remote RPC bug where querying recently_active torrents missed some torrents. (#8029)
    • Encryption mode in settings.json and RPC are now serialized to the same set of strings. (#8032)
    • Fix: remove block from wishlist when received. (#8042)
    • Fix: optional serializer edge cases. (#8044)
    • Fix: wishlist edge case when got bad piece in unaligned torrents. (#8047)
    • Fix: unconst variable to be moved. (#8048)
Contributions to macOS Client:
  • @beyondcompute (Evgeny Kulikov):
    • Fixed re-opening the filter bar is showing an incorrect selected filter. (#7844)
  • @NickWick13 (Nick):
    • Copyright year typo. (#8058)
Contributions to Qt Client:
  • @sanapci (Elek, David):
    • Fixed build script bug that could cause extra instances of Transmission to launch on Windows. (#7841)
    • Fixed "sequence not ordered" assertion error in debug builds. (#8000)
  • @tearfur (Yat Ho):
Contributions to Daemon:
  • @tearfur (Yat Ho):
    • Deprecated tcp-enabled and udp-enabled in favour of preferred_transports. (#7988)
    • Fix(daemon): missing break statement in switch. (#7991)
Contributions to transmission-remote:
  • @sanapci (Elek, David):
    • Fixed layout bug that caused columns to be misaligned when transfer speed was >= 10MB. (#8019)
  • @tearfur (Yat Ho):
    • Code review. (#7986, #8019)
    • Deprecated --(no-)utp in transmission-remote. (#7990)
    • transmission-remote --blocklist-update now prints blocklist size after update. (#8021)
    • Feat(remote): console message for HTTP 204 response. (#8027)
    • Fix(remote): attach id to methods that can return errors. (#8028)
Contributions to Everything Else:
  • @ChaseKnowlden (Chase Knowlden):
    • Fix: build with Visual Studio 2026. (#7924)
  • @namoen0301:
    • GHA CI: Add support for windows arm64. (#7758)
  • @tearfur (Yat Ho):
    • Ci: set ENABLE_TESTS to make-tests on alpine. (#7914)
    • Docs: update settings.json docs for api-compat. (#7955)
    • Test: variant constructor and assignment operator. (#7957)
    • Docs(rpc): add missing changelog for recent commits. (#8031)
    • Docs: deprecate session_get.tcp_enabled. (#8036)
View originalPermalink
How 4.1.0-beta.5 went

4.1.0-beta.4

Pre-release
Added 11
  • New JSON-RPC 2.0-compliant RPC API
  • Option to verify a torrent immediately after it finishes downloading
  • BEP-21 downloader count to tr_tracker_view and RPC
  • Peer traffic statistics to torrent-get RPC method
  • bytesCompleted field to torrent-get RPC call
  • Raw PeerID to RPC interface
Changed 7
  • Unify RPC and settings.json strings to snake_case, backwards compatible
  • 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
  • IPv4 patterns in the RPC whitelist can now match with IPv4-mapped IPv6 addresses
  • Improved libtransmission code to use less CPU
  • Support dual stack by manually creating and binding socket on Windows platform
  • Bumped miniupnpc from 2.2.8 to 2.3.3
  • Bumped {fmt} to 12.1.0
Fixed 1
  • Missing tooltips for Group rows in Torrent Table View on macOS
Deprecated 1
  • tcp-enabled and udp-enabled in favour of preferred_transports

Transmission 4.1.0-beta.4

This is Transmission 4.1.0-beta.4. We're not in feature freeze yet, so this release includes some new features as well as bugfixes and performance improvements.

What's New in 4.1.0-beta.4
Highlights
  • Unify RPC and settings.json strings to snake_case, backwards compatible. (#7108)
  • New JSON-RPC 2.0-compliant RPC API. (#7269)
  • 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)
All Platforms
  • Added an option to verify a torrent immediately after it finishes downloading. (#4178)
  • Added BEP-21 downloader count to tr_tracker_view and RPC. (#6936)
  • 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)
  • Improved libtransmission code to use less CPU. (#7800)
  • Support dual stack by manually creating and binding socket on Windows platform. (#6548)
  • Generate imported targets for MbedTLS. (#7631)
  • Added support for libevent 2.2.1-alpha-dev. (#7765)
  • Bumped miniupnpc from 2.2.8 to 2.3.3. (#7783)
  • Bumped {fmt} to 12.1.0. (#7793)
macOS Client
  • Fixed missing tooltips for Group rows in Torrent Table View. (#7828)
Qt Client
  • Added the ability to use a custom URL path when connecting to remote Transmission servers. (#7561)
Web Client
  • Implemented a context menu for file list in web app making way to rename or copy name of individual file. (#7389)
  • Updated turtle for web app. (#6940)
  • Added checkbox to delete data while removing torrents. (#7000)
  • Gave labels to the mainwin buttons for web client. (#6985)
transmission-remote
  • Added support to download sequentially from a specific piece. This can enable apps to seek within media files for streaming use cases. (#7808, #7809)
  • Fixed 4.1.0-beta.1 issue that displayed incorrect speeds when using transmission-remote -pi. (#7796)
Everything Else
Thank You!

Last but certainly not least, a big Thank You to these people who contributed to this release:

Contributions to All Platforms:
  • @cdowen:
    • Added peer traffic statistics to torrent-get rpc method. (#7172)
    • Added bytesCompleted field to torrent-get rpc call. (#7173)
    • Added raw PeerID to RPC interface. (#7514)
  • @G-Ray (Geoffrey Bonneville):
    • Feat: allow downloading sequentially from a specific piece. (#7502)
  • @Ghost-chu (Ghost_chu):
  • @github-advanced-security[bot]:
  • @herbyuan:
    • Support dual stack by manually creating and binding socket on Windows platform. (#6548)
  • @killemov:
  • @nevack (Dzmitry Neviadomski):
  • @reardonia (reardonia):
    • Code review. (#6936, #7520)
    • Upload_only fixes, check for partial seeds. (#7785)
  • @tearfur (Yat Ho):
    • Code review. (#4178, #6548, #7172, #7173, #7502, #7514, #7743, #7785, #7797, #7799, #7800)
    • Added BEP-21 downloader count to tr_tracker_view and RPC. (#6936)
    • Unify RPC and settings.json strings to snake_case, backwards compatible. (#7108)
    • New JSON-RPC 2.0-compliant RPC API. (#7269)
    • Deprecate tcp-enabled and udp-enabled in favour of preferred_transports. (#7473)
    • Fix: caching a source address doesn't imply public internet connectivity. (#7520)
    • IPv4 patterns in the RPC whitelist can now match with IPv4-mapped IPv6 addresses. (#7523)
    • Fix: don't bind udp sockets if no OS support. (#7552)
    • Refactor: replace all evutil_make_listen_socket_ipv6only usages. (#7779)
    • Refactor: torrent complete verify cleanup. (#7802)
    • Refactor: overhaul tr_address special address checks. (#7818)
    • Refactor: store BT peers with std::shared_ptr. (#7837)
    • Perf: short circuit reset_blocks_bitfield(). (#7838)
  • @winterheart (Azamat H. Hackimov):
    • Generate imported targets for MbedTLS. (#7631)
Contributions to macOS Client:
Contributions to Qt Client:
  • @htmltiger:
    • Added the ability to use a custom URL path when connecting to remote Transmission servers. (#7561)
Contributions to Web Client:
  • @killemov:
  • @nevack (Dzmitry Neviadomski):
  • @Rukario:
    • Updated turtle for web app. (#6940)
    • Gave labels to the mainwin buttons for web client. (#6985)
    • Added checkbox to delete data while removing torrents. (#7000)
    • Implemented a context menu for file list in web app making way to rename or copy name of individual file. (#7389)
  • @tearfur (Yat Ho):
Contributions to Daemon:
  • @tearfur (Yat Ho):
    • Refactor: use new tr_variant API in daemon. (#7103)
Contributions to transmission-remote:
  • @sanapci (Elek, David):
    • Fixed 4.1.0-beta.1 issue that displayed incorrect speeds when using transmission-remote -pi. (#7796)
  • @tearfur (Yat Ho):
    • Added support to download sequentially from a specific piece. This can enable apps to seek within media files for streaming use cases. (#7808, #7809)
Contributions to Everything Else:
  • @nevack (Dzmitry Neviadomski):
    • Apply Xcode 26.0 recommendations. (#7823)
    • Fixed unreachable in tr_make_listen_socket_ipv6only. (#7825)
    • Updated documentation. (#7826, #7829, #7830, #7840)
  • @niol:
    • Search both fmt/base.h (fmt 11+) and fmt/core.h (fmt < 11) for FMT_VERSION. (#7772)
  • @tearfur (Yat Ho):
    • Code review. (#7825)
    • Build: bump clang tools to 20. (#7573)
    • Fix: libb64 submodule branch. (#7855)
    • Ci: disable fail-fast for new macOS runners. (#7857)
View originalPermalink
How 4.1.0-beta.4 went

4.1.0-beta.3

Pre-release

Transmission 4.1.0-beta.3

This is Transmission 4.1.0-beta.3. We're not in feature freeze yet, so this release includes some new features as well as bugfixes and performance improvements.

What's New in 4.1.0-beta.3
All Platforms
  • Added support for using a proxy server for web connections. (#7486)
  • 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)
  • Fixed 4.1.0-beta.1 bug where UDP tracker announces were delayed for 10+ seconds on some systems. (#7634)
  • Fixed 4.1.0-beta.1 bug where opening the Torrent Properties window while downloading would hang the Qt client. (#7638)
  • Fixed 4.1.0-beta.2 bug that could crash when a peer's client name had invalid UTF-8. (#7667)
  • Improved libtransmission code to use less CPU. (#7744)
  • Deprecated the RPC field torrent-get.manualAnnounceTime. (#7497)
macOS Client
  • Reimplemented QuickLook previews for torrent files with Quick Look preview extension API on macOS 12+. (#7213)
  • Use modern macOS APIs to prevent idle system sleep and add support for Low Power Mode. (#7543)
  • Updated app icon for Liquid Glass. (#7736)
Qt Client
  • Use custom colored progress bars in Qt client for torrent states differentiation. (#7756)
Web Client
  • Added new options for web client to filter torrents by their privacy or error status. (#6977)
  • Added accept torrent files in web. (#7683)
  • Fixed filtering torrents by tracker after a torrent's tracker list is edited. (#7761)
  • Added waiting 1/4 seconds of typing in the search bar before executing and a new button to clear the search. (#6948)
  • Updated viewport-sensitive layout and style to uniform across browsers of varying viewport. (#7328)
Daemon
  • Use Type=notify-reload in the systemd service file. (#7570)
  • The daemon systemd service file now uses the CMake install prefix. (#7571)
transmission-remote
  • Expose the torrent-get.percentDone key in transmission-remote. (#7622)
Everything Else
  • Require CMake 3.16.3 or higher to build Transmission. (#7576)
  • Configuring Transmission's CMake project no longer inserts third-party submodules to CMake's user package registry. (#7648)
  • Sync translations. (#7768)
Thank You!

Last but certainly not least, a big Thank You to these people who contributed to this release:

Contributions to All Platforms:
  • @flowerey (flower):
  • @G-Ray (Geoffrey Bonneville):
    • 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)
  • @nevack (Dzmitry Neviadomski):
  • @reardonia (reardonia):
  • @tearfur (Yat Ho):
    • Code review. (#7489, #7667, #7738)
    • Feat: use canonical peer priority to decide which peers to keep. (#6981)
    • Refactor: use new tr_variant API for stats.json. (#7098)
    • Refactor: prioritise peers slots for downloading torrents. (#7306)
    • Added support for using a proxy server for web connections. (#7486)
    • Respect the min interval and interval keys from any tracker responses. (#7493)
    • Refactor: announcer code housekeeping. (#7496)
    • Deprecated the RPC field torrent-get.manualAnnounceTime. (#7497)
    • Feat: allow optional arguments in tr_getopt(). (#7510)
    • Announce port-forwarded peer port instead of local peer port on DHT. (#7511)
    • Fix: ignore whitespaces in whitelist. (#7522)
    • Fix: correctly get Windows socket error codes in get_source_address. (#7524)
    • Refactor: add more details to logs in ip cache. (#7525)
    • Chore: bump libnatpmp. (#7536)
    • Chore: bump rapidjson. (#7537)
    • Chore: bump googletest. (#7538)
    • Fix: Band-Aid fix for utp speed limit. (#7541)
    • Refactor: removed redundant type check in tr_ip_cache::set_global_addr(). (#7551)
    • Chore: bump libpsl. (#7575)
    • Chore: bump dht. (#7577)
    • Chore: bump libevent. (#7578)
    • Fix: process failure response from a non-BEP-7 HTTP announcement. (#7580)
    • Fix: accept either one of udp announce response. (#7583)
    • Fix: load .torrent then .magnet. (#7585)
    • Chore: silence clang-tidy warnings. (#7586)
    • Fix: remove duplicated mime types and prefer iana source. (#7590)
    • Fixup! chore: move away from fmt/core.h (#7557). (#7595)
    • Chore: bump {fmt} to 11.2.0 and fix compatibility. (#7612)
    • Fix: include wolfssl library configurations header. (#7632)
    • Fixed 4.1.0-beta.1 bug where UDP tracker announces were delayed for 10+ seconds on some systems. (#7634)
    • Fixed 4.1.0-beta.1 bug where opening the Torrent Properties window while downloading would hang the Qt client. (#7638)
    • Fix: FTBFS for libevent <= 2.1.8. (#7640)
    • Chore: implement TR_CONSTEXPR23. (#7649)
    • Build: conditionally compile utils.mm using generator expression. (#7704)
    • Fix: update wishlist when files wanted changed. (#7733)
    • Improved libtransmission code to use less CPU. (#7744)
    • Refactor: more generic http announce failure handling. (#7745)
    • Chore: add suffix to private and protected members. (#7746)
    • Perf: reduce memory profile in announce failed handling. (#7748)
  • @uranix (Ivan Tsybulin):
    • Fixed 4.1.0-beta.2 bug that could crash when a peer's client name had invalid UTF-8. (#7667)
Contributions to macOS Client:
  • @DevilDimon (Dmitry Serov):
  • @fxcoudert (FX Coudert):
  • @MaddTheSane (C.W. Betts):
  • @nevack (Dzmitry Neviadomski):
    • Reimplemented QuickLook previews for torrent files with Quick Look preview extension API on macOS 12+. (#7213)
    • Use modern macOS APIs to prevent idle system sleep and add support for Low Power Mode. (#7543)
    • Improved building crc32c target with Xcode. (#7754)
Contributions to GTK Client:
  • @niol:
    • Fixed 4.1.0-beta.2 regression that stopped updating some torrents' progress in the main window. (#7613)
  • @tearfur (Yat Ho):
    • Code review. (#7613)
    • Build: define GDK_VERSION_MIN_REQUIRED. (#7633)
Contributions to Web Client:
  • @killemov:
  • @nevack (Dzmitry Neviadomski):
  • @Rukario:
    • Code review. (#7003)
    • Added waiting 1/4 seconds of typing in the search bar before executing and a new button to clear the search. (#6948)
    • Added new options for web client to filter torrents by their privacy or error status. (#6977)
    • Introduced submenu for Transmission web's custom context menu to group away long list of context menu items. (#7263)
    • Refactor: offload icons from HTMLdoc to JavaScript for icon deployment. (#7277)
    • Updated viewport-sensitive layout and style to uniform across browsers of varying viewport. (#7328)
    • Tweaked font size for web app. (#7329)
    • Fixed icons displaying incorrectly for multi-file torrents in compact view. (#7352)
    • Refactor: clean up Flexbox style rules in CSS. (#7358)
    • Refactor: centralize checkbox creation in overflow-menu.js. (#7369)
    • Updated color for priority buttons in web app. (#7651)
  • @tearfur (Yat Ho):
  • @wrrrzr:
    • Added accept torrent files in web. (#7683)
Contributions to Daemon:
  • @Managor:
    • Transmission-daemon man page: add missing long options. (#7559)
  • @nevack (Dzmitry Neviadomski):
  • @tearfur (Yat Ho):
    • Use Type=notify-reload in the systemd service file. (#7570)
    • The daemon systemd service file now uses the CMake install prefix. (#7571)
Contributions to transmission-cli:
Contributions to transmission-remote:
  • @nevack (Dzmitry Neviadomski):
  • @tearfur (Yat Ho):
    • Fix(remote): print label separators correctly. (#7535)
    • Expose the torrent-get.percentDone key in transmission-remote. (#7622)
    • Fix(remote): no-sequential-download description. (#7646)
Contributions to Everything Else:
  • @flowerey (flower):
  • @ile6695 (Ilkka Kallioniemi):
    • Code review. (#7648)
    • Updated documentation. (#7664)
  • @nevack (Dzmitry Neviadomski):
  • @reardonia (reardonia):
  • @Rukario:
    • Fix: also share grid-area: icon; across full-compact modes. (#7356)
  • @tearfur (Yat Ho):
    • Code review. (#7615)
    • Updated documentation. (#7232, #7519, #7549)
    • Ci: run clang-tidy for tests. (#7526)
    • Build: lint header files with clang-tidy. (#7527)
    • Build: tell clang-tidy to suggest uppercase literal suffixes. (#7529)
    • Require CMake 3.16.3 or higher to build Transmission. (#7576)
    • Chore: move .gitattributes to root of repository. (#7588)
    • Ci: use qt6 in ci. (#7627)
    • Configuring Transmission's CMake project no longer inserts third-party submodules to CMake's user package registry. (#7648)
  • @uglygus:
    • Google-Glasnost was shut down in 2017. (#7555)
View originalPermalink
How 4.1.0-beta.3 went

4.1.0-beta.2

Pre-release

Transmission 4.1.0-beta.2

This is Transmission 4.1.0-beta.2. We're not in feature freeze yet, so this release includes some new features as well as bugfixes and performance improvements.

What's New in 4.1.0-beta.2
Highlights
  • Support trackers that only support the old BEP-7 with &ipv4= and &ipv6=. (#7481)
All Platforms
  • Added support for using a proxy server for web connections. (#5038)
  • Added optional sequential downloading. (#6893, #7047)
  • Disconnect blocklisted peers immediately upon blocklist update. (#7167)
  • New files are assigned a file mode per the process umask defined in settings.json. (#7195)
  • 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)
  • Added a workaround for users affected by Curl bug 6312. (#7447)
  • Better utilize high Internet bandwidth. (#7029)
  • Save upload/download queue order between sessions. (#7332)
macOS Client
  • Fixed the context menu's appearance in compact mode. (#7350)
  • Added Afrikaans and Greek translations. (#7477)
GTK Client
  • Fixing a bug in adding torrent in GTK application. (#7247)
Web Client
  • Added a new alert message of a problem when renaming torrent or file name. (#7394)
  • Fixed a bug inflating per-torrent rows by long torrent names in compact view. (#7336)
  • Fixed incorrect text entry sensitivity when sessions changed. (#7346)
  • Added column mode for viewport unconstrained browsers. (#7051)
  • Fixed an issue where Transmission web's custom context menu does not close when clicking on some outside element. (#7296)
  • Implemented a new popup management system for web client to support multiple popups in a hierarchy-like system. (#7297)
Daemon
  • Added optional sequential downloading. (#7048)
transmission-remote
  • Improved error logging. (#7034)
Thank You!

Last but certainly not least, a big Thank You to these people who contributed to this release:

Contributions to All Platforms:
  • @cdowen:
    • Disconnect blocklisted peers immediately upon blocklist update. (#7167)
  • @ile6695 (Ilkka Kallioniemi):
  • @jggimi (Josh Grosse):
    • New files are assigned a file mode per the process umask defined in settings.json. (#7195)
  • @killemov:
  • @nevack (Dzmitry Neviadomski):
  • @reardonia (reardonia):
    • Code review. (#6892, #7167, #7177, #7195, #7355)
    • Handshake: add fire_timer() explicitly instead of overloading fire_done(). (#6966)
    • Consume early pad a/b, improve handshake tests. (#6987)
  • @tearfur (Yat Ho):
    • Code review. (#5038, #6966, #6987, #7167, #7195, #7313, #7447, #7461, #7462, #7469, #7470, #7471)
    • Refactor: store peers as benc in resume file. (#6892)
    • Added optional sequential downloading. (#6893, #7047)
    • Fix: abort handshake if the torrent is stopped. (#6947)
    • Refactor: save outgoing len(PadA), len(PadB) and len(IA). (#6973)
    • Better utilize high Internet bandwidth. (#7029)
    • Refactor: use new tr_variant API for resume. (#7069)
    • Refactor: use evhttp public accessors in rpc server. (#7112)
    • Fix: use message id to check for pex and metadata xfer support. (#7177)
    • Feat: support the JSON null type in tr_variant. (#7255)
    • Fix: shadowed variable warning in tr_torrentVerify(). (#7305)
    • Harden the HTTP tracker response parser. (#7326)
    • Save upload/download queue order between sessions. (#7332)
    • Fixed an issue where the speed limits are not effective below 16KiB/s. (#7339)
    • Refactor: set peer io socket in constructor. (#7355)
    • Chore: bump wide-integer. (#7383)
    • Added workaround for crashes related to Curl bug 10936. (#7416)
    • Experimental fix for frequent corrupt pieces and stuck progress. (#7443)
    • Feat: warn about problematic curl versions. (#7457)
    • Support trackers that only support the old BEP-7 with &ipv4= and &ipv6=. (#7481)
    • Refactor: rename unreleased quarks to snake_case. (#7483)
  • @Terentyev (Alexander Terentyev):
    • Added support for using a proxy server for web connections. (#5038)
  • @ThinkChaos:
  • @userwiths (Bark):
    • Fix: Take into account only the private that is inside info. (#7313)
  • @wegood9 (pathC):
Contributions to macOS Client:
Contributions to Qt Client:
  • @H5117:
    • Qt: refactor Application. (#7092)
  • @killemov:
  • @tearfur (Yat Ho):
Contributions to GTK Client:
  • @cloppingemu (cloppingemu):
    • Fixing a bug in adding torrent in GTK application. (#7247)
Contributions to Web Client:
  • @Rukario:
    • Code review. (#7340, #7346)
    • Refactor: alternative x/y coords to account for zoomed in browser. (#6945)
    • Added column mode for viewport unconstrained browsers. (#7051)
    • Removed per-torrent start/pause button from web client. (#7292)
    • Fixed an issue where Transmission web's custom context menu does not close when clicking on some outside element. (#7296)
    • Implemented a new popup management system for web client to support multiple popups in a hierarchy-like system. (#7297)
    • Refactor: multiple popups code refinement. (#7310)
    • Refactor: pointer device listener code refinement. (#7311)
    • Fixed a bug inflating per-torrent rows by long torrent names in compact view. (#7336)
    • Refactor: drop className .full in favor of :not(.compact). (#7354)
    • Added a new alert message of a problem when renaming torrent or file name. (#7394)
  • @tearfur (Yat Ho):
    • Code review. (#6945, #7051, #7297, #7310, #7354)
    • Fix(webui): dispatch close events when closing popups. (#7340)
    • Fixed incorrect text entry sensitivity when sessions changed. (#7346)
Contributions to Daemon:
  • @tearfur (Yat Ho):
    • Added optional sequential downloading. (#7048)
Contributions to transmission-cli:
  • @tearfur (Yat Ho):
    • Refactor: convert tr_net_init_mgr to singleton. (#6914)
Contributions to transmission-remote:
Contributions to Everything Else:
View originalPermalink
How 4.1.0-beta.2 went

4.1.0-beta.1

Pre-release

Transmission 4.1.0-beta.1

This is the first beta for 4.1.0! It's been in development in parallel with the 4.0.x bugfix series since February 2023's release of 4.0.0 and has major code changes relative to 4.0.x.

What's New in 4.1.0-beta.1
Highlights
  • Added optional sequential downloading. (#4795)
  • Added the option preferred-transport to settings.json, so that users can choose their preference between µTP and TCP. (#5939)
  • Improved µTP download performance. (#6508)
  • Added support for IPv6 and dual-stack UDP trackers. (#6687)
  • Fixed 4.0.6 bug where Transmission might spam HTTP tracker announces. (#7086)
All Platforms
  • Added ability to cache IP addresses used in global communications, and use it to fix UDP6 warning log spam. (#5329, #5510)
  • 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)
  • Transmission now checks if local files exists after setting torrent location. (#5978)
  • Improved handling of plaintext and MSE handshakes. (#6025)
  • If a torrent contains empty (zero byte) files, create them when starting the torrent. (#6232)
  • 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)
  • Make client reqq configurable. (#7030)
  • Daemon log timestamps are now in local ISO8601 format. (#7057)
  • Fixed crash in tr_peerMgrPeerStats(). (#5279)
  • Fixed bug in sending torrent metadata to peers. (#5460)
  • Avoid unnecessary heap memory allocations. (#5519, #5520, #5522, #5527, #5540, #5649, #5666, #5672, #5676, #5720, #5722, #5725, #5726, #5768, #5788, #5830)
  • 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)
  • 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)
  • Added optional sequential downloading. (#6450, #6746)
  • 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)
  • 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)
  • Improved libtransmission code to use less CPU. (#4876, #5645, #5715, #5734, #5740, #5792, #6103, #6111, #6325, #6549, #6589, #6712, #7027)
  • Slightly reduced latency when sending protocol messages to peers. (#5394)
  • Fixed a bug where disk IO rate is much higher than transfer rate. (#7089)
  • Refactor: prefer direct-brace-initialization. (#5803)
  • Refactor: add tr_variant_serde. (#5903)
  • 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)
  • Use a consistent unit formatting code between clients. (#5108)
  • Chore: bump minimum openssl version to 1.1.0. (#6047)
  • Fixed libtransmission build on very old cmake versions. (#6418)
  • Build: fix 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)
  • Bumping libdeflate/small/utfcpp to newer versions. (#6709)
  • Bumped fast-float to 6.1.1 and miniupnpc to 2.2.7 and libdeflate to 1.2.0. (#6721)
  • Default initialize sleep callback duration in tr_verify_worker. (#6789)
  • Bumped miniupnpc to 2.2.8. (#6907)
  • Compatibility with libfmt v11. (#6979)
  • Removed TR_ASSERT(now >= latest). (#7018)
  • Updated documentation. (#7044)
macOS Client
  • Added "Show Toolbar" toggle. (#4419)
  • Feat: add stats for known peers, not just connected ones. (#4900)
  • MacOS convert TorrentTableView to view based. (#5147)
  • Feat: support redirects to magnet. (#6012)
  • Render file tree in QuickLook plugin for .torrent files. (#6091)
  • Added an option to set Transmission as the default app for torrent files. (#6099)
  • Support Dark Mode and update default font in QuickLook plugin. (#6101)
  • Support pasting multiple magnets on the same line. (#6465)
  • Support multiple URL objects from pasteboard. (#6467)
  • Feat: clear the badge when quitting app. (#7088)
  • Fix: apply i18n to percentage values. (#5568)
  • Fixed "Unrecognized colorspace number -1" error message. (#6049)
  • Fix: URL cleanup in BlocklistDownloader on macOS. (#6096)
  • Fixed early truncation of long group names in groups list. (#6104)
  • Use screen.visibleFrame instead of screen.frame. (#6321)
  • Fix: support dark mode colors with pieces bar on macOS. (#6959)
  • Fixed dock bug that prevented resizing. (#7188)
  • Added alternating row color in QuickLook plugin. (#5216)
  • Refactor: remove unnecessary NSNotificationCenter observer removals. (#5118)
  • Refactor: move macOS default app logic to dedicated class. (#6120)
  • Added sort-by-ETA option. (#4169)
  • Support localized punctuation for "Port:". (#4452)
  • Replace mac app default BindPort with a random port. (#5102)
  • Updated code that had been using deprecated API. (#5633)
  • Support macOS Sonoma when building from sources. (#6016)
  • Chore: replace deprecated NSNamePboardType with NSPasteboardTypeName. (#6107)
  • Fixed building on macOS Mojave. (#6180)
  • Improved macOS UI code to use less CPU. (#6452)
  • Fixed app unable to start when having many torrents and TimeMachine enabled. (#6523)
  • Support finding Transmission in Spotlight with keywords "torrent" and "magnet". (#6578)
  • Removed warning "don't cut off end". (#6890)
  • Opt-in to secure coding explicitly. (#7020)
Qt Client
  • Added ETA to compact view. (#3926)
  • Added the web client's Labels feature. (#6428)
  • 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)
  • Fix: only append '.added' suffix to watchdir files. (#5705)
  • Fixed compatibility issue with 4.x clients talking to Transmission 3.x servers. (#6438)
  • Fixed 4.0.0 bug where piece size description text and slider state in torrent creation dialog are not always up-to-date. (#6516)
  • Use semi-transparent color for inactive torrents. (#6544)
  • Correct "Queue for download" last activity. (#6872)
  • Avoid unnecessary heap memory allocations. (#6542)
  • Fixed spinbox translation ambiguity. (#5124)
  • Improved Qt client's accessibility. (#6518, #6520)
  • Changed Qt client CLI options parsing to accept Qt options as a separate group. (#7076)
  • Modified the "New Torrent" dialog's piece size range to [16 KiB..256 MiB]. (#6211)
GTK Client
  • The Qt and GTK Client now does separate port checks for IPv4 and IPv6. (#6525)
  • Use native file chooser dialogs (GTK client). (#6545)
  • Fixed missing 'Remove torrent' tooltip. (#5777)
  • If there was some disk error with torrent removal, fail with a user readable error message. (#6055)
  • Setting default behaviour for GTK dialogs to add torrent from url and add tracker. (#7102)
  • Fixed crash when opening torrent file from "Recently used" section in GTK 4. (#6131)
  • Fix: Avoid ambiguous overload when calling Gdk::Cursor::create. (#7070)
  • Fixed 4.0.0 regression causing GTK client to hang in some cases. Broken-by: #4430. (#7097)
  • GTK client progress bar colours updated to match Web and macOS clients. (#5906)
  • Fix: QT build missing an icon. (#6683)
  • Improved GTK client's accessibility. (#7119)
  • Added developer_name entry to the Flathub build. (#6596)
  • Fixed file list text size adjustment based on global settings. (#7096)
Web Client
  • Added support for adding torrents by drag-and-drop. (#5082)
  • Added high contrast theme. (#5470)
  • Replaced background colors with system color keywords to enable using browser's colors. CSS style adjustments esp. for label and buttons. (#5897)
  • Added percent digits into the progress bar. (#5937)
  • Improved WebUI responsiveness and made quality of life improvements. (#5947)
  • The WebUI now does separate port checks for IPv4 and IPv6. (#5953, #6607)
  • Added forced variant of the "Verify Local Data" context menu item to WebUI. (#5981)
  • Feat: Only show .torrent files in the web UI. (#6320)
  • The inspector can now be hidden by clicking. (#6863)
  • 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)
  • WebUI: Fix graying out inspector. (#5893)
  • Fixed updating magnet link after selecting same torrent again. (#6028)
  • Fix: add seed progress percentage to compact rows. (#6034)
  • Fixed 4.0.0 bug where the WebUI "Set Location" dialogue does not auto fill the selected torrent's current download location. (#6334)
  • Fixed 4.0.5 bug where svg and png icons in the WebUI might not be displayed. (#6409, #6430)
  • Fixed a 4.0.0 bug where the infinite ratio symbol was displayed incorrectly in the WebUI. (#6491)
  • Fix(web): pressing the enter key now submits dialogs. (#7036)
  • Removed excessive session-set RPC calls related to WebUI preference dialogue. (#5994)
  • Removed modifiers for keyboard shortcuts. (#5331)
  • Improved some UI styling and spacing. (#5466)
  • Updated WebUI progress bar and highlight colours. (#5762)
  • WebUI: Improved filterbar for narrowed viewports. (#5828)
  • Unified CSS shadow properties. (#5840)
  • Feat: webui use monochrome icons for play/pause buttons. (#5868)
  • Improved overflow menu for web client. (#5895)
  • Added display and time in torrent detail. (#5918)
  • Added touchscreen support in the context menu. (#5928)
  • Fixed truncated hash in inspector page, added name section to inspector page. (#7014)
  • Updated gray color for grayed out objects. (#7248)
  • Updated displaying number in new gigabyte per second unit. (#7279)
  • Increased base font sizes, and progress bar size in compact view. (#5340)
  • Use esbuild to build the web client. (#6280)
Daemon
  • Fixed minor memory leak. (#5695)
  • Fixed a couple of logging issues. (#6463)
  • Updated documentation. (#6499)
  • More accurate timestamps for daemon logs. (#7009)
  • Avoid unnecessary heap memory allocations. (#5724)
  • Updated transmission-daemon.1 to sync with --help. (#6059)
  • Added start_paused to settings and daemon. (#6728)
  • Added documentation key to systemd service file. (#6781)
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)
  • Fix: restore tr_optind in all getConfigDir branches. (#6920)
  • Refactor: add libtransmission::Values. (#6215)
transmission-remote
  • Remote: Implement idle seeding limits. (#2947)
  • Fixed display bug that failed to show some torrent labels. (#5572)
  • Added optional sequential downloading. (#6454)
  • Fixed crash in printTorrentList. (#6819)
  • Added 'months' and 'years' to ETA display for extremely slow torrents. (#5584)
  • Transmission-remote: for '-l', implement default sorting by addedDate. (#5608)
Everything Else
  • Sanitize torrent filenames depending on current OS. (#3823)
  • Fixed building Xcode project. (#5521)
  • Handle IPv6 NAT during LTEP handshake. (#5565)
  • Expose files' begin and end pieces via RPC. (#5578)
  • Updated the torrent creator's default piece size to handle very large torrents better. (#5615)
  • Updated documentation. (#5688, #6083, #6196, #6199, #6367, #6677, #6800, #6828, #7120)
  • Improved libtransmission code to use less CPU. (#5651)
  • Sync translations. (#6453)
  • Ran all PNG files through lossless compressors to make them smaller. (#5586)
  • Fixed potential build issue when compiling on macOS with gcc. (#5632)
  • Fix: conform to libcurl requirements to avoid memory leak. (#5702)
  • Chore: update generated transmission-web files. (#5790, #5831, #6037, #6156, #6427)
  • Improved support for building with the NDK on Android. (#6024)
  • Bumped fast_float snapshot to v5.3.0. (#6255)
  • Chore: bump fmt to 10.1.1. (#6358)
  • GTK: Add 4.0.4 and 4.0.5 releases to metainfo. (#6378)
  • Hardened systemd service settings. (#6391)
  • Updated miniunpnp snapshot to 2.3.4 (miniupnpc 2.2.6). (#6459)
  • Chore: fix warnings when compiling macOS client with either Xcode or CMake. (#6676)
  • Added sanitizer-tests-macos. (#6703)
  • Added documentation for building transmission-qt on macOS. (#6814)
  • Build with -latomic on platforms that need it. (#6774)
  • Fixed building with mbedtls 3.X. (#6822)
  • Build: enable clang-tidy by default. (#6989)
Thank You!

Last but certainly not least, a big Thank You to these people who contributed to this release:

Contributions to All Platforms:
Contributions to macOS Client:
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)
  • @ile6695 (Ilkka Kallioniemi):
    • Modified the "New Torrent" dialog's piece size range to [16 KiB..256 MiB]. (#6211)
  • @juliapaci (Julia):
    • Correct "Queue for download" last activity. (#6872)
  • @killemov:
  • @Kljunas2 (Miha Korenjak):
    • Fixed spinbox translation ambiguity. (#5124)
  • @nevack (Dzmitry Neviadomski):
  • @pudymody (Federico Scodelaro):
    • Added ETA to compact view. (#3926)
  • @Schlossgeist (Nick):
    • Added the web client's Labels feature. (#6428)
    • Fixed compatibility issue with 4.x clients talking to Transmission 3.x servers. (#6438)
    • Qt: add dynamic RPC keys. (#6599)
  • @sfan5:
  • @tearfur (Yat Ho):
    • Code review. (#5704, #6307, #6542)
    • Fix: use correct quark for Prefs::SHOW_TRACKER_SCRAPES. (#7116)
    • Chore: remove unused TR_KEY_show_extra_peer_details app default. (#7117)
Contributions to GTK Client:
  • @aleasto (Alessandro Astone):
    • Fix: Avoid ambiguous overload when calling Gdk::Cursor::create. (#7070)
  • @GaryElshaw (Gary Elshaw):
    • Fixed missing 'Remove torrent' tooltip. (#5777)
    • GTK client progress bar colours updated to match Web and macOS clients. (#5906)
  • @kra-mo (kramo):
    • Chore: update GTK client screenshot. (#5660)
  • @lvella (Lucas Clemente Vella):
    • If there was some disk error with torrent removal, fail with a user readable error message. (#6055)
  • @mrbass21 (Jason Beck):
    • Fix: QT build missing an icon. (#6683)
  • @nevack (Dzmitry Neviadomski):
    • Code review. (#6258)
    • Fixed crash when opening torrent file from "Recently used" section in GTK 4. (#6131)
  • @rafe-s (Rafe S.):
    • Fixed missing #include in DetailsDialog.cc. (#5737)
  • @tearfur (Yat Ho):
    • Code review. (#6404, #6527, #6608, #6683)
    • The Qt and GTK Client now does separate port checks for IPv4 and IPv6. (#6525)
    • Chore: delete redundant MainWindow.ui.full. (#7113)
  • @wjt (Will Thompson):
    • GTK: Improve appstream metainfo. (#5407)
    • Added developer_name entry to the Flathub build. (#6596)
    • Added launchable tag to metainfo files. (#6720)
Contributions to Web Client:
  • @ask1234560 (Ananthu):
    • Removed modifiers for keyboard shortcuts. (#5331)
  • @bheesham (Bheesham Persaud):
    • Fix(web): pressing the enter key now submits dialogs. (#7036)
  • @dareiff (Derek Reiff):
    • Code review. (#5340, #5828, #5868, #5897, #5918, #5921, #5928, #5947, #6008)
    • Added support for adding torrents by drag-and-drop. (#5082)
    • Fixed overflow when rendering peer lists and made speed indicators honor prefers-color-scheme media queries. (#5814)
    • Fix: add seed progress percentage to compact rows. (#6034)
  • @GaryElshaw (Gary Elshaw):
    • Increased base font sizes, and progress bar size in compact view. (#5340)
    • Updated WebUI progress bar and highlight colours. (#5762)
    • Fixed truncated play / pause icons. (#5771)
    • Feat: webui use monochrome icons for play/pause buttons. (#5868)
  • @hluup (Hendrik Luup):
    • Refactor(web): use crypto.randomUUID for UUID if available. (#6649)
    • Refactor(web): Remove unused functions from utils.js. (#6656)
    • Fix(web): close connection failed alert on successful request. (#6657)
    • Refactor(web): extract mime icon creation to the helper. (#6664)
    • Fix(web): do not close all popups on successful rpc requests. (#6675)
  • @ire4ever1190 (Jake Leahy):
    • Feat: Only show .torrent files in the web UI. (#6320)
  • @killemov:
  • @klevain:
    • Added high contrast theme. (#5470)
  • @nevack (Dzmitry Neviadomski):
  • @niol:
    • The inspector can now be hidden by clicking. (#6863)
  • @regdos (Tomasz Regdos):
  • @rsekman (Robin Seth Ekman):
    • Build: update web/CMakeLists.txt to reflect renamed files (Fixes #7240). (#7241)
  • @Rukario:
    • Code review. (#5340, #7001, #7036, #7037)
    • Made the main menu accessible even on smaller displays. (#5827)
    • WebUI: Improved filterbar for narrowed viewports. (#5828)
    • Unified CSS shadow properties. (#5840)
    • Removed a rounding method to enable using decimal for granular progress bar growth. (#5857)
    • WebUI: Fix graying out inspector. (#5893)
    • Improved overflow menu for web client. (#5895)
    • Replaced background colors with system color keywords to enable using browser's colors. CSS style adjustments esp. for label and buttons. (#5897)
    • Added a new keyboard shortcut for web client listening to K to edit torrent labels. (#5911)
    • Added display and time in torrent detail. (#5918)
    • A quick fix to buttons not graying out in dark mode. (#5921)
    • Added touchscreen support in the context menu. (#5928)
    • Added percent digits into the progress bar. (#5937)
    • Improved WebUI responsiveness and made quality of life improvements. (#5947)
    • Fixed updating magnet link after selecting same torrent again. (#6028)
    • Fixed truncated hash in inspector page, added name section to inspector page. (#7014)
    • Fix: correct percent calculation for progressbar. (#7245)
    • Updated gray color for grayed out objects. (#7248)
    • Updated displaying number in new gigabyte per second unit. (#7279)
    • Refactor: softcode/consolidate strings in torrent-row.js, normal appendChild order for compact mode. (#7285)
  • @S-Aarab (Safouane Aarab):
    • Improved some UI styling and spacing. (#5466)
  • @tearfur (Yat Ho):
    • Code review. (#5857, #5918, #5937, #6028, #6320, #6649, #6664, #7014, #7241, #7279)
    • The WebUI now does separate port checks for IPv4 and IPv6. (#5953, #6607)
    • Added forced variant of the "Verify Local Data" context menu item to WebUI. (#5981, #6088)
    • Removed excessive session-set RPC calls related to WebUI preference dialogue. (#5994)
    • Feat: WebUI torrent tracker list style improvements. (#6008)
    • Feat: WebUI display full peer address in tooltip. (#6081)
    • Feat: display full client name in tooltip [WebUI]. (#6224)
    • Fixed 4.0.0 bug where the WebUI "Set Location" dialogue does not auto fill the selected torrent's current download location. (#6334)
    • Fixed 4.0.5 bug where svg and png icons in the WebUI might not be displayed. (#6409, #6430)
    • Webui: make torrent row colours more readable. (#6462)
    • Chore: webui scss cleanup. (#6471)
    • Fixup! chore: webui scss cleanup (#6471). (#6490)
    • Fixed a 4.0.0 bug where the infinite ratio symbol was displayed incorrectly in the WebUI. (#6491)
    • Revert "feat: Only show .torrent files in the web UI (#6320)". (#6538)
    • Webui: fixed width for speed info. (#6739)
    • Refactor: parse cookie pref values as their default values types. (#7001)
    • Chore: misc WebUI fixes and cleanup. (#7037)
    • Ci: automatically regenerate package.json.buildonly. (#7198)
    • Chore: convert transmission-web to ES module. (#7209)
    • Fix: support nodejs below v20.11 for generate_buildonly.js. (#7214)
  • @tiagoboldt (Tiago Boldt Sousa):
Contributions to Daemon:
  • @nevack (Dzmitry Neviadomski):
  • @niol:
    • Added documentation key to systemd service file. (#6781)
  • @rafe-s (Rafe S.):
    • Updated transmission-daemon.1 to sync with --help. (#6059)
  • @Schlossgeist (Nick):
  • @tearfur (Yat Ho):
    • Code review. (#6198, #6619, #6728)
    • Refactor: replace some C idioms with C++ ones. (#5656)
    • Fixed minor memory leak. (#5695)
    • Chore: iwyu. (#6201)
    • Updated documentation. (#6499)
    • Fixup! fix: include daemon-specific options in app defaults (#6499). (#6505)
    • More accurate timestamps for daemon logs. (#7009)
    • Fix: check tr_num_parse result in daemon. (#7181)
    • Fix: add missing settings.json docs and app defaults. (#7218)
Contributions to transmission-cli:
Contributions to transmission-remote:
  • @killemov:
  • @lajp (Luukas Pörtfors):
    • Remote: Implement idle seeding limits. (#2947)
  • @lvd2:
    • Added 'months' and 'years' to ETA display for extremely slow torrents. (#5584)
    • Transmission-remote: for '-l', implement default sorting by addedDate. (#5608)
  • @nevack (Dzmitry Neviadomski):
  • @rsekman (Robin Seth Ekman):
    • Fixed display bug that failed to show some torrent labels. (#5572)
  • @tearfur (Yat Ho):
    • Code review. (#5608, #6819)
    • Ui: unify percent done format in transmission-remote. (#6447)
    • Added optional sequential downloading. (#6454)
    • Refactor: new tr_variant API in transmission-remote and other cleanup. (#6798)
    • Fix: torrent details speed info unit. (#6845)
  • @vchimishuk (Viacheslav Chimishuk):
Contributions to Everything Else:
  • @barracuda156 (Sergey Fedorov):
  • @cmo-pomerium:
    • Added open source reverse proxy guide on securing transmission. (#5867)
  • @dechamps (Etienne Dechamps):
  • @fetzu (Julien):
    • Chore: removed copyright timespans in headers. (#4850)
    • Chore: automated copyright update with GitHub Actions. (#6195)
    • Updated documentation. (#6196, #6199)
  • @fxcoudert (FX Coudert):
    • Updated workflow to Qt 6 on macOS. (#6206)
  • @G-Ray (Geoffrey Bonneville):
    • Improved support for building with the NDK on Android. (#6024)
  • @GaryElshaw (Gary Elshaw):
    • Code review. (#6102, #6391)
    • Typos in libtransmission tests source code comments. (#5468)
    • Fixed image regression in docs. (#5624)
    • Docs: remove dead link from Scripts.md. (#6283)
    • Updated documentation. (#6696)
  • @ile6695 (Ilkka Kallioniemi):
    • Code review. (#7252)
    • Docs: Add Debian 12 instructions. (#5866)
  • @jakiki6 (Laura Kirsch):
    • Libtransmission: fix copyright header generation. (#6874)
  • @jemadux (Klearchos-Angelos Gkountras):
    • Updating debian release. (#6030)
  • @jggimi (Josh Grosse):
    • Updated documentation. (#7282)
  • @killemov:
  • @LaserEyess:
    • Code review. (#3823)
    • Only format JS if files in web/ change. (#5525)
    • Hardened systemd service settings. (#6391)
    • Added user presets to .gitignore. (#6407)
  • @lighterowl (Daniel Kamil Kozar):
    • Expose files' begin and end pieces via RPC. (#5578)
  • @luk1337:
    • Fix: Use non-lib64 systemd system unit dir path. (#7115)
  • @luzpaz:
    • Docs: fix comment typos. (#5980)
  • @nevack (Dzmitry Neviadomski):
    • Code review. (#3823, #4931, #5521, #5632, #6187, #6195, #6407, #6453, #6459, #6923, #7169, #7252, #7254, #7268, #7273)
    • Fix: CI: Do not use nproc on macOS hosts. (#5833)
    • Chore: fix warnings in CodeQL workflow. (#6106)
    • Chore: Add compile_commands.json to .gitignore. (#6219)
    • Chore: fix warnings when compiling macOS client with either Xcode or CMake. (#6676)
    • Fixed incorrect value for SortIncludes in .clang-format. (#6784)
    • Fixed code style script path in CONTRIBUTING.md. (#6787)
    • Chore: update older macos build verification workflow to macos-12. (#6883)
  • @NickWick13 (Nick):
    • Docs: update translation site names. (#5481)
  • @niol:
    • Build with -latomic on platforms that need it. (#6774)
    • Updated documentation. (#6800)
  • @orangepizza:
    • Fixed building with mbedtls 3.X. (#6822)
  • @PHLAK (Chris Kankiewicz):
    • Docs: update documentation of logging levels (#5700). (#5700)
  • @reardonia (reardonia):
    • Updated documentation. (#6946)
  • @rodiontsev (Dmitry Rodiontsev):
    • Updated documentation. (#7040)
  • @rsekman (Robin Seth Ekman):
    • Build: enable clang-tidy by default. (#6989)
    • Fix: silence bugprone-unchecked-optional-access warnings. (#6990)
  • @sfan5:
    • Sanitize torrent filenames depending on current OS. (#3823)
  • @si14 (Dan Groshev):
    • Updated documentation. (#6083)
  • @stefanos82 (stefanos):
    • Updated documentation. (#5688)
  • @tearfur (Yat Ho):
    • Code review. (#3823, #5688, #6186, #6187, #6340, #6459, #6631, #6703, #6726, #6743, #6946, #6989, #6990, #6997, #7040, #7275, #7282)
    • Handle IPv6 NAT during LTEP handshake. (#5565)
    • Updated the torrent creator's default piece size to handle very large torrents better. (#5615)
    • Improved libtransmission code to use less CPU. (#5651)
    • Fix: conform to libcurl requirements to avoid memory leak. (#5702)
    • Fix: revert "perf: improve IPv4 tr_address comparison". (#5709)
    • Updated documentation. (#5784, #5787, #5793, #5819, #5863, #6102, #6302, #6448, #6677, #6919)
    • Fix: fix ci web cmake option. (#5835)
    • Added myself to AUTHORS. (#5859)
    • Feat: update TR_VCS_REVISION when git HEAD changes. (#6100)
    • Fix: don't create all 0-byte files in MakemetaTest::makeRandomFiles(). (#6394)
    • Fixup! fix: implement proper download limit for uTP (#6416). (#6481)
    • Ci: bump CI actions. (#6666)
    • Ci: trigger CI when changing CI definitions. (#6688)
    • Fix: mismatched class forward declaration for struct tr_peer. (#6725)
    • Ci: bump clang-tidy from 14 to 18. (#6923)
    • Chore: misc formatting updates and fixes. (#7049)
    • Build: fail if clang-tidy is not found when -DRUN_CLANG_TIDY=ON. (#7210)
    • Build: accept false constant other than OFF for REBUILD_WEB. (#7219)
    • Ci: test REBUILD_WEB=ON. (#7242)
    • Fix: CI errors related to REBUILD_WEB. (#7252)
    • Test: use new tr_variant API. (#7268)
    • Ci: remove macos pkgconf workaround. (#7273)
  • @TheKhanj (Pooyan Khanjankhani):
    • Updated documentation. (#6790)
  • @wjt (Will Thompson):
    • GTK: Add 4.0.4 and 4.0.5 releases to metainfo. (#6378)
  • @xm21x (Christina):
    • Updated documentation. (#6367)
  • Maintainers: @ckerr, @mikedld, @tearfur, @livings124, @Coeur, @Rukario
View originalPermalink
How 4.1.0-beta.1 went

4.0.6

Transmission 4.0.6

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.6
All Platforms
  • Improved parsing HTTP tracker announce response. (#6223)
  • Fixed 4.0.0 bug that caused some user scripts to have an invalid TR_TORRENT_TRACKERS environment variable. (#6434)
  • 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 the filename for single-file torrents aren't sanitized. (#6846)
macOS Client
  • Fix: Sparkle support for handling beta version updates. (#5263)
  • Fixed app unable to start when having many torrents and TimeMachine enabled. (#6523)
  • Fix: Sparkle Version Comparator. (#6623)
Qt Client
  • Fixed 4.0.0 bug where piece size description text and slider state in torrent creation dialog are not always up-to-date. (#6516)
GTK Client
  • Fixed build when compiling with GTKMM 4. (#6393)
  • Added developer name to metainfo files. (#6598)
  • Added the launchable desktop-id to metainfo files. (#6779)
  • Fixed build when compiling on BSD. (#6812)
Web Client
  • Fixed a 4.0.0 bug where the infinite ratio symbol was displayed incorrectly in the WebUI. (#6491, #6500)
  • Fixed layout issue in speed display. (#6570)
  • General UI improvement related to filterbar and fixes download/upload speed info wrap. (#6761)
Daemon
  • Fixed a couple of logging issues. (#6463)
Everything Else
  • Updated flatpak release metainfo. (#6357)
  • Fixed libtransmission build on very old cmake versions. (#6418)
  • UTP peer connections follow user-defined speed limits better now. (#6551)
  • Only use a single concurrent queue for timeMachineExclude instead of one queue per torrent (#6523). (#6558)
  • Fixed 4.0.5 bug where svg and png icons in the WebUI might not be displayed. (#6563)
  • Fixed 4.0.0 bug where alt-speed-enabled had no effect in settings.json. (#6564)
  • Fixed 4.0.0 bugs where some RPC methods don't put torrents in recently-active anymore. (#6565)
  • Improved parsing HTTP tracker announce response. (#6567)
  • Fixed compatibility with clang-format 18. (#6690)
  • Fixed build when compiling with mbedtls 3.x . (#6823)
Thank You!

Last but certainly not least, a big Thank You to these people who contributed to this release:

Contributions to All Platforms:
  • @tearfur (Yat Ho):
    • Improved parsing HTTP tracker announce response. (#6223)
    • Fix: add check for EWOULDBLOCK. (#6350)
    • 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 the filename for single-file torrents aren't sanitized. (#6846)
Contributions to macOS Client:
Contributions to GTK Client:
  • @brad0 (Brad Smith):
    • Fixed build when compiling on BSD. (#6812)
  • @wjt (Will Thompson):
    • Added developer name to metainfo files. (#6598)
    • Added launchable tag to metainfo files. (#6720)
    • Added the launchable desktop-id to metainfo files. (#6779)
Contributions to Web Client:
  • @Rukario:
    • General UI improvement related to filterbar and fixes download/upload speed info wrap. (#6761)
  • @tearfur (Yat Ho):
    • Code review. (#6570, #6761)
    • Fixed a 4.0.0 bug where the infinite ratio symbol was displayed incorrectly in the WebUI. (#6491, #6500)
  • @tessus (Helmut K. C. Tessarek):
    • Fixed layout issue in speed display. (#6570)
Contributions to Everything Else:
  • @nevack (Dzmitry Neviadomski):
  • @orangepizza:
    • Fixed build when compiling with mbedtls 3.x . (#6823)
  • @tearfur (Yat Ho):
    • UTP peer connections follow user-defined speed limits better now. (#6551)
    • Fixed 4.0.5 bug where svg and png icons in the WebUI might not be displayed. (#6563)
    • Fixed 4.0.0 bug where alt-speed-enabled had no effect in settings.json. (#6564)
    • Fixed 4.0.0 bugs where some RPC methods don't put torrents in recently-active anymore. (#6565)
    • Fix: add check for EWOULDBLOCK (#6350). (#6566)
    • Improved parsing HTTP tracker announce response. (#6567)
  • @wjt (Will Thompson):
    • Updated flatpak release metainfo. (#6357)
View originalPermalink
How 4.0.6 went
View all

Discussion