Our latest FrostWire for Android release (6.1.4) has been the most stable ever

Thanks to our jlibtorrent library, a multitude of crash reports sent by you and a lot of personal feedback loops, our developer team has managed to produce the most stable FrostWire for Android release so far.

We’ll always have crashes, but our quality has improved dramatically with the jlibtorrent library. As you can see the graphic below, during these last weeks even though we have more users using the app daily the number of crashes reported has been kept to a minimum and every day we fix the new crashes that come in.Screen Shot 2015-08-20 at 12.45.09 PM

number of daily crash reports since August 2014

Featured image licensed under CC0 Public Domain
Created by savanzijlstra0

New FrostWire for Android now with “Play before download” (Streaming Preview – v.1.6.0)

A huge new update for Android is here.

We’ve finally done what you’ve been always asking for, “Play before download” (FrostWire Plus only) and “Play while you download” (available on basic too)

Play before download, a.k.a. “Preview”

Starting on FrostWire Plus 1.6.0 for Android (the one available only on our website, also 100% free), YouTube and SoundCloud search results can be streamed for preview, this way you can know ahead of time if this is the file you need for offline access, or if you just want to play it, you can do so.

Play while you download

But what about .torrent downloads? Given the distributed nature of the file pieces on the Bittorrent network, TODAY it’s harder to give you the same experience we can give you when streaming from a cloud source, we could do preview, but you’d be frustrated how long you’d have to wait in most cases.

Therefore, you can start any media Bittorrent download, and while you’re on the transfer screen you can wait for a Play button to appear. Once this button appears you can start playing the file before it finishes the download.

But I have FrostWire Basic only! I want previews too
Then just get FrostWire Plus on our website right now! it’s absolutely free.


FrostWire 1.6.0 - AUGUST/03/2015
 - Streaming Previews on search results before download. (FrostWire Plus only)
 - Play .torrent media files while downloading.
 - Upgrade bittorrent engine to jlibtorrent 1.0
 - Updated SoundCloud search & download api.
 - Improved search suggestions.
 - Improved transition between My Music and Home screens.
 - Multiple crash fixes in music player.

New FrostWire for Windows, Mac and Linux (v6.1.3)

Download FrostWire 6.1.3 now absolutely free

Lots of fixes under the hood for this release, we’ve also made sure this release was compatible with Windows 10 (but if you have any issues on Windows 10 please let us know).

Substantial changes on the way our bittorrent engine works, which allowed us to simplify seeding settings, and the no more the possibility of file parts staying in your download directory when you didn’t want this.

Users who had issues with external drives to save downloaded files should be glad with this release.

Soundcloud search & download has been restored with Soundcloud’s API updates.


frostwire (6.1.3) stable; urgency=high
  * libtorrent/jlibtorrent core update.
  * Archive.org downloads are pausable/resumable.
  * Soundcloud search & download API update.
  * Hungarian translation update.
  * Simplified seeding settings. No more need to treat handpicked/partial
    downloads differently with jlibtorrent updates.
  * Fixes crash when setting default save folder to the root
    of a drive.
 -- FrostWire Team   Wed, 29 Jul 2015 10:04:32 -0500

FrostWire JLibtorrent 1.0 pre release.

Major FrostWire jlibtorrent pre release.

JLibTorrent is a Java API and a set of Java wrappers around the C++ libtorrent’s library. It’s android compatible and tested on millions of android phones, Windows pcs, Macs and Linux boxes as we’ve used it to develop FrostWire, an open source and free full featured Bittorrent client.

We’d love to see what kind of things you will build by adding the power of BitTorrent and the libtorrent DHT (for decentralized peer rendezvous around specific keys) to your apps and cloud services. Those of you looking to decentralize the internet should not miss this amazing technology.

This tagged release represents the point in time where we’ve adopted libtorrent 1.0.x‘s newer API into the jlibtorrent library.

This means:
– Several significant memory management improvements.
OpenSSL support. This is not only a functional change, but this also means optimization improvements in hashing functions, now using assembler based implementations for each CPU architecture, this means faster execution and energy savings which are essential to frostwire for android and other android based projects using jlibtorrent.
Session settings are now handled through SettingsPack class.
BJAM based builds reuse boost and libtorrent build scripts for a more efficient and streamlined one step build for each architecture.
i386 builds supported out of the box. FrostWire for Android users running on Intel CPUs should no longer suffer unexpected crashes when libhoudini chokes translating the arm code.
Mavenized project structure We are currently in the process of publishing the jlibtorrent library to maven central.

A New FrostWire 6.1.2 for PC, MacOSX and Linux is yours to download.

Download Installers on FrostWire’s Official Website
Download Installers and SourceCode on GitHub

Screenshot of Changelog in Github.com

Full Changelog:

frostwire (6.1.2) stable; urgency=high
  * Search performance improvements. New RxJava-based implementation.
  * Search box suggestions improved.
  * New Check/uncheck all search engines checkbox.
  * TorLock search fixed.
  * Added SSL (https) support for torrent web seeds.
  * Options window remembers last pane opened.
  * Fixes painting issues when searching Starred audio files on the library.
  * frostwire-jlibtorrent library updates.
  * Library user experience bug fixes.
 -- FrostWire Team   Wed, 24 Jun 2015 11:44:00 -0500

What’s new in FrostWire 1.5.8 for Android

Download FrostWire Plus for Android
Download Source Code for FrostWire 1.5.8
Fork Us

FrostWire 1.5.8 – JUNE/16/2015
– Search performance improvements.
– Issues where subsequent searches would stop working fixed.
– TorLock search fixed.
– Added SSL (https) support for torrent web seeds.
– Icons/graphics update.
– New ‘Rate us’ reminder notification.
– WiFi sharing functionality removed. Less than 0.2% of the user
base making use of this, despite multiple rewrites we never
managed to get it to work 100% of the time.
– frostwire-jlibtorrent library updates.

Music by Exist Strategy “Departure”
Licensed under CC-BY 3.0

Write runtime libtorrent plugins with Java using frostwire-jlibtorrent #FrostWireLabs

We’ve just pushed upgrades to the frostwire-jlibtorrent API that will allow developers to extend and interact the Bittorrent protocol at a lower level through the implementation of libtorrent plugins.

Before today, a libtorrent plugin developer had to code plugins in C++ and rebuild the libtorrent library binaries for the architectures on which the plugin was meant to be used.

We think that non-bittorrent higher level abstractions (e.g. Bitcoin+Bittorrent integration) that need to occur near the core of the bittorrent protocol can be more easily coded, tested and debugged in a language like Java, without having to touch nor recompile the libtorrent libraries.

Today we’ve made available a new portion of the frostwire-jlibtorrent API that allows you to do this without all the C++ development headaches, you just focus on your plugin logic, and your code will also be available in all platforms with the same .class files.

Here’s an example of a dummy libtorrent Plugin implemented in Java using frostwire-jlibtorrent

To create a Plugin all you need to do is extend the AbstractPlugin class, whose newTorrent method will ask you to provide a TorrentPlugin interface implementation, this is meant to be a plugin instance that takes care of what happens when a torrent is added to the libtorrent session.

We provide an AbstractTorrentPlugin class for you to extend and as you do this you may or may not need to provide your own implementation of the TorrentPlugin::newPeerConnection method, which is meant to return a PeerPlugin, a plugin instance that takes care of what happens for every Peer connection, where probably most of your plugin logic will occur. We also provide an AbstractPeerPlugin implementation that you can extend.

Once you have your plugin ready to go, you can add it to the session with session.addExtension(myPlugin) and all torrents added to the session will invoke hooks that could be handled by your plugin implementations.