All release notes for stable builds after 3.4.2 build 31893 are now on this page: http://releasenotes.utorrent.com/, older ones see below.
3.4 is an exciting release for the uTorrent team.
3.4 is the first version to include a major change in the way that uTorrent chooses peers in a swarm. Designed by our own Arvid Norberg, Canonical Peer Priority is a way to help peers connect to the swarm faster, as well as reduce the average hop length from you to any other peer in the swarm.
When a bittorrent client joins a swarm, it needs a way to select which peers it connects to. If it chooses poorly, or if there are malicious actors in the swarm, the connections between clients are not well distributed through the swarm, leading to a large number of hops from node to node. That slows down the ability to each client to pass data on to the next.
You can read a more detailed technical discussion of the issues here, along with graphs and figures that drive home how bad the worst case can be. You can read more about graph connectivity here.
Perhaps one of the biggest changes, though, is one you cannot see. Our engineering team has been growing rapidly, and we have been busy changing our development and release processes. uTorrent 3.4 will mark the first release using improved processes that should allow us to release much more often, while keeping stability at the levels you have come to expect from the world’s fastest and lightest torrent client.
Our previous release cycle was slow. We followed the traditional alpha -> beta -> stable model that a lot of software development follows, for example large video games or operating systems. One of the problems with this style of development is as stabilization work continues on the features you just developed, new features are requested, or requirements change, and now you have to balance two lines of development in the same tree.
Also, with more developers, more changes can be made simultaneously … in theory. In reality, changes in unrelated modules (e.g. the installer) would impact when we could ship new code in other areas (e.g. the disk code), and of course, vice versa. This creates a vicious cycle, where each small problem creates a knock-on effect that impacts other features.
In a situation like this, instead of asking the business to “pick one thing and stick with it” the correct response is for the engineering team to change how they operate.
* On a small scale, picking one thing and sticking with it.
* On a larger scale Multiplexing the work into separate branches.
We needed a way to release changes fast and reliably. This implied quite a few things:
* Don’t mix changes
* Release fast, review results fast
This required us to build a few systems. Some of the larger ones:
* Our release system (code-named “Cherry”)
* Or automatic update system (code-named “The automatic update system”)
It also required programming policies into the smaller parts of the system that already existed
* The build server
* The version control system
* New test servers
These systems, working together, can now answer the question: Is this feature ready for release?
Will deploying this feature likely increase or decrease the crash rate?
We now build individual features in separate branches, which are automatically tested for stability before being integrated into the mainline. That gives us confidence that we won’t slow other engineers down, and that we won’t release a low-quality build to customers.
This effort would not have been possible without the support of the excellent engineering team at Bittorrent.
I look forward to covering these in detail in later posts.
From the uTorrent engineering team, and the rest of Bittorrent as a whole, Happy torrenting!
Changelog for releases:
-- 2014-06-19: Version 3.4.2 (build 31893) Stable
- Fixed: Crash logging RSS feed errors containing '%'
- Fixed: Pieces tab fails to refresh the availability column
- Fixed: Trackers tab delete sometimes fails to refresh the tab
- Fixed: Peers list "Whole peer list" copy would return unnecessary IPs
- Fixed: Resolve IP Peers Tab setting not showing IPs
- Fixed: various ratings tab UI issues
- Changed: implemented recommended tab
- Added: Added back uT Setup Guide
-- 2014-06-12: Version 3.4.2 (build 31743) Stable
- Fixed: LoadFindPane crash
- Fixed crash at startup when refreshing RSS feeds
- Fixed Issues updating RSS feeds
- Fixed bug in determining if external IP has changed
- Fixed: Ads crash fix
-- 2014-06-06: Version 3.4.2 (build 31633) Stable
Fix: Update comment and "creation date" and "completed on" fields in Info Tab
-- 2014-05-29: Version 3.4.2 (build 31515) Stable
Change: Client now indicates non-stableness with a 'B' e.g. -UT341B- in Peer ID
Fix: Resolve antivirus compatibility issues
Fix: Added information dialog after clicking on Help->Download Translation
Fix: Regression in labels feature
Fix: Crash when removing trackers with confirmation dialog enabled
Fix: DHT regression
Fix: Secondary sorting which is set by shift+click on a column header
Fix: Incorrect text in the uTorrent Remote username/password notification dialog
Fix: Crash when downloading in Compact Allocation mode
Fix: Crash parsing malformed DHT messages
Fix: Crash when writing resume file for torrent with no metadata
Fix: Crash when not removing torrents from the fairlist
Fix: Multiple other crashes
-- 2014-05-23: Version 3.4.1 (build 31395) Stable
- Added: Easy way to identify left hand advertisement as advertisement
- Fixed: Bug causing the DHT to restart
-- 2014-05-15: Version 3.4.1 (build 31227) Stable
- Added: Text to installer welcome screen
- Fixed: Settings file growing
- Fixed: Right click a label listed in the tree and say "add", the newly added torrent won't have that label associated
-- 2014-05-07: Version 3.4.1 (build 31139) Stable
- Added: Privacy statement to featured content page
- Added: Support for dht-store feature
- Fixed: Crash
- Fixed: Problem with Bundles RSS Feed
-- 2014-04-19: Version 3.4.1 (build 30888) Stable
- Pairing improvement
-- 2014-04-18: Version 3.4.1 (build 30870) Stable
- Fix: Wrong nightly indication
-- 2014-04-16: Version 3.4.1 (build 30833) Stable
- Fix: IEFrame crash
- Fix: Bundle systray notification
- Fix: Improved error handling of HTTPS cert errors in ads
- Fix: Crash when deleting a selected RSS feed
- Fix: Color of about box text
- Fix: Improve shutdown time
-- 2014-04-03: Version 3.4.1 (build 30768) Stable
- Fixed: Crash when adding a magnet link
- Fixed: DL button is inactive for newly added magnet
- Fixed: Trackers' list is not properly formatted when retrieved from a magnet link
- Fixed: Problem when loading a duplicate, already-loaded magnet link
-- 2014-03-28: Version 3.4.1 (build 30740) Stable
- Fixed: Webui unicode problem
- Fixed: Some crashes
- Fixed: Trackerless magnets with dht off
- Fixed: RSS feed regression
- Fixed: Change the options menu item to "Show Bundles" instead of "Show Featured Content"
-- 2014-03-12: Version 3.4 (build 30660) Stable
- Fixed: Duplicate entries for torrents added via RSS Feeds
- Fixed: Reduced installer size
- Fixed: Crash
- Fixed: Added registry entries when running in place
- Fixed: Column order
-- 2014-03-05: Version 3.4 (build 30635) Stable
- Fixed: Update issue
- Fixed: Install screen
-- 2014-02-26: Version 3.4 (build 30620) Stable
- Fixed: Crash on Windows XP
- Fixed: When updating from 3.3.2 or below default view changed to Bundles instead of staying on prior default view
- Fixed: Rare crash on all OS's
-- 2014-02-14: Version 3.4 (build 30596) Stable
Link to the 3.4 before stable