# BitTorrent (software)

BitTorrent is a proprietary adware BitTorrent client developed by Bram Cohen and Rainberry, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version 6.0 the BitTorrent client has been a rebranded version of μTorrent. As a result, it is no longer open source. It is currently available for Microsoft Windows, Mac, Linux, iOS and Android. There are currently two versions of the software, "BitTorrent Classic" which inherits the historical version numbering, and "BitTorrent Web", which uses its own version numbering.

## History

Programmer Bram Cohen designed the protocol in April 2001 and released a first implementation of the BitTorrent client on 2 July 2001. It is now maintained by Cohen's company BitTorrent, Inc.
Prior to version 6.0, BitTorrent was written in Python, and was free software. Very early versions released prior to December 30, 2001, were released into the public domain without a license. Versions up to and including 3.4.2 were distributed under the MIT license. The source code for versions 4.x and 5.x was released under the BitTorrent Open Source License, a modified version of the Jabber Open Source License. Versions 4.0 and 5.3 were relicensed under the GPL.
Version 4.20 of the client was dubbed Allegro by BitTorrent Inc., in reference to protocol extensions developed by the company to accelerate download performance and ISP manageability.
Version 5.30 of the client which is snapshotted at Internet Archive is the latest open source version.
Since version 6.0, which was released on September 18, 2007, the BitTorrent client has been a rebranded version of μTorrent. It is no longer open source.

## Features

The BitTorrent client enables a user to search for and download torrent files using a built-in search box ("Search for torrents") in the main window, which opens the BitTorrent torrent search engine page with the search results in the user's default web browser.
The current client includes a range of features, including multiple parallel downloads. BitTorrent has several statistical, tabular and graphical views that allow a user to see what events are happening in the background. A host of views offer information on the peers and seeds to which the user is connected, including how much data is being downloaded from each and to how much data is being uploaded by each. It has an automatic recovery system that checks all data that has been handled after an improper shutdown. It also intermediates peering between itself, source file servers ("trackers") and other clients, thereby yielding distribution efficiencies. The client also enables users to create and share torrent files.

## Release history

Versions released into the public domain or under MIT License :
| Version | Release date | Changes |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="1.0.0" | Old version, not maintained: 1.0.0 | 2001 July 2 | Initial release |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.0.2" | Old version, not maintained: 2.0.2 | 2001 August 10 | The UI has been rewritten to be very simple and easier to use. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.1" | Old version, not maintained: 2.1 | 2001 August 23 | A fix for a serious problem which was keeping it from using a whole net connection, a complete rewrite of Downloader.py, and other minor tweaks. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.2" | Old version, not maintained: 2.2 | 2001 September 2 | Several major changes were made to the protocol, which is now frozen. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.3.1" | Old version, not maintained: 2.3.1 | 2001 September 12 | This release has extensive user feedback and download resuming. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.5" | Old version, not maintained: 2.5 | 2001 October 23 | UI was rewritten. It is now completely graphical and works in mozilla/netscape under UNIX. Monothreading was added which gave vast performance increases. The publisher now stores metadata in files, so it doesn't have to re-scan files every time it restarts, and the tracker now stores publisher and downloader information persistently, so downloads start working again as soon as it restarts. A clean shutdown, small improvements, and bugfixes added. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.6.1" | Old version, not maintained: 2.6.1 | 2002 January 6 | For this release, the upload/download logic was thoroughly rewritten to use a tit-for-tat bandwidth trading strategy. Usage of TCP buffering was also greatly improved. Unix installation was simplified, and many small improvements were added. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.7" | Old version, not maintained: 2.7 | 2002 April 29 | Major performance enhancements, including peers reciprocating uploads more responsively. Significant UI enhancements were made, including progress meters on file allocation and resuming. Much better error-handling and multi-file support were added, so multiple files can be downloaded with a single click. The protocol has been reworked to be much more secure, and now uses a fixed port. This should be the last backwards-incompatible release. Several major bugs were also fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.8.0" | Old version, not maintained: 2.8.0 | 2002 May 31 | Huge internal performance improvements, changes to the protocol to substantially reduce overhead, and Tracker now keeps track of which peers are still up, greatly improving scaling. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.9" | Old version, not maintained: 2.9 | 2002 July 2 | This release contains major performance enhancements and bugfixes. The publication process has been greatly cleaned up and simplified. Deployments which have too many downloaders behind NAT can now keep them out with the tracker option, --nonat 1. This will hopefully be the last release with a version check on startup - if there are no big snags in the next deployment, the version check will be removed in the next release. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="3.0.1" | Old version, not maintained: 3.0.1 | 2002 October 2 | Minor cleanups, finalizing the protocol, and removal of version checking (which happened in release 3.0). |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="3.1" | Old version, not maintained: 3.1 | 2003 January 2 | Massive performance improvements and some bugfixes were made. Some utilities were added. Upload rate capping was added. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="3.2" | Old version, not maintained: 3.2 | 2003 March 28 | This release features massive performance improvements, and now supports read-only files. The Windows build now takes command-line parameters. There were also several bugfixes. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="3.3" | Old version, not maintained: 3.3 | 2003 September 24 | Files now only get allocated as they're downloaded, and don't fragment the hard drive. Large torrents no longer hose the CPU. Better network utilization and more consistent download rates have been achieved. Poorly seeded torrents now get out faster. Several important bugs were fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="3.4" | Old version, not maintained: 3.4 | 2004 March 6 | This version fixes bugs. The client no longer complains about tracker connection problems when transfers are still going. The bandwidth usage was reduced. |
Versions released under BitTorrent Open Source License :
| Version | Release date | Changes |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.0.1" | Old version, not maintained: 4.0.1 | 2005 April 6 | This release introduces an all new queue-based user interface (based on GTK+ instead of wxWidgets). It also features various interface improvements. Many options are now modifiable from the interface, including upload rate. Statistics are now visible in the GUI. Performance was improved. BitTorrent packets are now marked as bulk data to make traffic shaping easier. Various bugs were fixed. The license has changed to the "BitTorrent Open Source License". |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.1.0" | Old version, not maintained: 4.1.0 | 2005 May 20 | This release adds support for trackerless operation. Torrents can now be created from the UI. I18n support has been integrated. Several small fixes have been made. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.1.1" | Old version, not maintained: 4.1.1 | 2005 May 25 | Many improvements to the trackerless operation have been made. GUI support for torrent comment fields has been added. Improvements to peer identification have been made. Many small bugs have been fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.0.4" | Old version, not maintained: 4.0.4 | 2005 August 27 | Trackerless Torrent files can now be identified. Opening an already open torrent now behaves correctly. Play/pause state is no longer saved across invocations of the GUI. Many more bugs were fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.1.4" | Old version, not maintained: 4.1.4 | 2005 August 27 | This release featured many improvements to trackerless operation. Support for translations was added along with a multi-rate limiter backend. URLs on the command line are now detected more effectively. Most command line scripts were renamed. Support for non-Latin/Unicode accelerator keys was added. Many further bugs were fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.1.6" | Old version, not maintained: 4.1.6 | 2005 October 13 | Donation nagging was removed. Global status lights were added. The installer was vastly improved. External drag and drop of files and URLs was added. The GUI and layout were improved. Startup time on trackerless torrents was greatly improved. Several bugs were fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.1.7" | Old version, not maintained: 4.1.7 | 2005 November 3 | The maximum upload rate slider was fixed. A language chooser UI was added. The speed of the peer list was improved and peer identification was improved. Many small bugs were fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.1.8" | Old version, not maintained: 4.1.8 | 2005 November 18 | Many small bugs were fixed, particularly with trackerless operation. OS X client auto-update was added. New status light icons were added. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.2.0" | Old version, not maintained: 4.2.0 | 2005 November 22 | This is the first release in the stable 4.2 series, incorporating all features and improvements from the 4.1 beta series. Most notably, support for trackerless operation was added. Internationalization was added, including some translations. The command line scripts were renamed. The user interfaces were improved. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.2.1" | Old version, not maintained: 4.2.1 | 2005 December 5 | Selecting the language from the settings window was made possible. Japanese and Korean language support was added. An "Invalid menu handle" bug and several other minor bugs were fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.3.0" | Old version, not maintained: 4.3.0 | 2005 December 5 | Massive code reorganization was done. GTK+-2.4 support was dropped (GTK+-2.6 is now the minimum requirement). A new internal state file format was introduced. Many string changes and internationalization additions were made. An obscure "--bind" command line bug was fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.3.2" | Old version, not maintained: 4.3.2 | 2005 December 11 | A command line option for testing auto-update was added. Correct BitTorrent icons are assured for all windows. Gzip support, which was broken by the recent "--bind" fix, was revived. Broken error handling code was removed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.2.2" | Old version, not maintained: 4.2.2 | 2005 December 21 | An "Invalid Menu Handle" error when upgrading was fixed. A bug in automatic seeding code was fixed. "launchmany-curses" was fixed for Python 2.2. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.3.3" | Old version, not maintained: 4.3.3 | 2005 December 21 | Support for "--geometry" and for remembering window size and position was added. Fixes for window titles and system tray tooltips as well as for the NAT status light were made. An "Invalid Menu Handle" error when upgrading was fixed. "launchmany-curses" was fixed for Python 2.2. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.3.5" | Old version, not maintained: 4.3.5 | 2006 January 9 | The status light state machine was improved and a "signal strength" indicator was added. Fastresume error messages were fixed. Several IPC bugs and other bugs were fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.3.6" | Old version, not maintained: 4.3.6 | 2006 January 25 | New icons were introduced. More fixes were made to Python 2.2 compatibility issues and to "Invalid Menu Handle" cases. The global upload rate calculation was fixed. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.4.0" | Old version, not maintained: 4.4.0 | 2006 February 1 | All bugfixes and improvements from the Beta branch were incorporated, including the upgrade to GTK+ 2.6 API functions, massive code reorganization, internationalization improvements, new icons and status lights, remembering of window size, and more. A memory leak was fixed. Hebrew and Icelandic language support was added. |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="4.9.2" | Old version, not maintained: 4.9.2 | 2006 May 5 | This release features a completely new UI, the introduction of smart download/queuing behavior (as well as smart seeding behavior), a torrent priority system, encryption support, download rate control, fast extensions, and torrent "title" support. Progress bars, transfer rate graphs, error handling, and reporting have been improved. |
Versions released under a Proprietary License :
| Version | Release date | Changes |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.0.0" | Old version, not maintained: 6.0.0 | 2007 September 18 | BitTorrent client is now a rebranded version of μTorrent. BitTorrent DNA (BitTorrent Delivery Network Accelerator) program added. License has changed to a proprietary one. |
| class="templateVersion c swatch-latest" style="color: var(--color-base, #202122); " title="Latest version" data-sort-value="7.4.3" | Latest version: 7.4.3 | 2019 October 16 | BitTorrent client comes in two versions. This is a "BitTorrent Classic" version. |
"Web" Versions released under a Proprietary License :
| Version | Release date | Changes |
| class="templateVersion c swatch-latest" style="color: var(--color-base, #202122); " title="Latest version" data-sort-value="1.2.8" | Latest version: 1.2.8 | 2022 June 2 | BitTorrent client comes in two versions. This is a "BitTorrent Web" version. |
Mac OS X Version History :
| Version | Release date | Features/Changes |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.1.0 (22093)" | Old version, not maintained: 7.1.0 (22093) | | Initial release |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.2.0" | Old version, not maintained: 7.2.0 | | Feature add torrent dialog with directory settings and file selection Feature growl support Feature dock icon badging Feature to move torrent save location Added privacy settings Added advanced directory settings and rules Improved UTP bandwidth support Fixed seeding ratio limits Fixed tracker messages when torrent is complete Fixed setting auto add directory Improved https support Fixed having to hit return to register changes in the bandwidth preferences |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.2.1" | Old version, not maintained: 7.2.1 | | Added utWEB support Added RSS support Added scheduler Updated UI Fixed support for secure trackers Improved rate limiting |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.3.1" | Old version, not maintained: 7.3.1 | | Added option to ignore subdirectories in autoload folder Added option to duplicate smart RSS feed Added option to start BitTorrent automatically when Mac starts Show number of completed torrents in dock icon Fixed hang on exit Fixed enabling/disabling DHT Fixed file extension when changing download location Fixed smart RSS feed to correctly display matched items Added proxy support Added traffic cap feature Added Lion full screen mode Various UI and bug fixes |
| class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.3.5 (27628)" | Old version, not maintained: 7.3.5 (27628) | 2012 July 25 | |
| class="templateVersion c swatch-latest" style="color: var(--color-base, #202122); " title="Latest version" data-sort-value="7.4.3" | Latest version: 7.4.3 | 2020 May 19 | BitTorrent client comes in two versions. This is a "BitTorrent Classic" version. |
Mac OS X "Web" Version History :
| Version | Build | Release date | Features/Changes |
| class="templateVersion c swatch-latest" style="color: var(--color-base, #202122); " title="Latest version" data-sort-value="N/A" | Latest version: N/A | | | BitTorrent client comes in two versions. This is a "BitTorrent Web" version. It does not have a publicly listed version number or release date. |

## BitTorrent DNA

BitTorrent DNA (BitTorrent Delivery Network Accelerator) is a program designed to speed up the viewing of streaming video, downloading software (with or without the BitTorrent protocol) and playing online video games. It does so by distributing the end users' downloads between each other. In this way, the developers intend that content providers should take less load on their servers so the end users can receive the content faster. It runs in the background whenever the operating system is running.
BitTorrent DNA is different from traditional BitTorrent in that it relies on publisher HTTP servers in order to provide publishers with guaranteed minimum data delivery rate, as well as give publishers control over content delivery (peers must connect to the origin server before they can reach other peers), and collect information about content delivery to share with the publisher. The quality of the file transfer is specified in terms of a long-term average bitrate for data and in terms of meeting deadlines when streaming. It also can give bandwidth to TCP and other traffic.
DNA is also different from traditional BitTorrent in that it is a UDP-based protocol that has replaced regular TCP-based bandwidth throttling with a much more sensitive bandwidth management technique.
Apart from being installed by third party websites and software companies, the program for end users is also installed when the official BitTorrent client is installed (starting with the rebranded version 6.0). However, it can be independently uninstalled.
The first version of the DNA made it possible to keep the DNA application installed and yet temporarily stopped until the next system restart (through the system's control panel, in Windows XP). The DNA GUI was completely removed in the official BitTorrent version 6.1 and 6.1.1, but was re-introduced in version 6.1.2.
Since October, 2007 BitTorrent DNA has been offered by BitTorrent, Inc. as a commercial service that content providers can purchase (for an undisclosed price) and as a free background program for end users. Company President Ashwin Navin launched the product claiming that "Implementing BitTorrent DNA on top of legacy infrastructure has the profound impact of allowing our customers to deliver a better user experience, higher quality video, faster software downloads, all with the security and reliability of a managed service."
Navin in a podcast interview claimed that he attempted to sell BitTorrent DNA in January 2005. After finding that BitTorrent's brand was too polarizing for potential customers, they delayed the launch until after partnering with nearly 50 media companies in the BitTorrent Entertainment Network. That provided the company enough public validation to finally launch BitTorrent DNA two and half years later.
The service's first customer was the company Brightcove, that chose to use it to distribute streaming video files.
As of May 2009, the Asus support website is using BitTorrent DNA as an additional download method of their larger files in addition to their multiple somewhat internationally distributed HTTP servers and content delivery mirrors and other redirection facilities Asus has been known to rely in the present and past for their data delivery needs. Currently, a separate "P2P" icon is being presented for the DNA style downloads next to the "Global" and "Chinese" located servers as an example.