Behind the release - v0.20

Download PicoTorrent v0.20

This release of PicoTorrent brings in the recently released 2.0 of Rasterbar-libtorrent and with that it supports v1, v2 and v1/v2 hybrid torrents. All this is handled transparently in PicoTorrent but we might move towards some kind of indicator to show whether a torrent is v1, v2 or a hybrid.

In the previous releases we've tracked the master branch, but for this one I moved to the v2.0 tag and I'm planning on following the release schedule instead. Most of this work took place in the following pull requests,

The reason for first moving to the 2.0 RC and then the actual 2.0 release is that 2.0 was released just after moving to the RC.

Automating versioning

New in this version is that I've added GitVersion which is a magical tool when it comes to calculating versions just from your Git repository history. I use the default settings which works perfectly for PicoTorrent.

There are a multitude of configuration options and I can recommend the tool for anyone wanting to move away from situations like the one in PicoTorrent where I manually bumped a version number in a text file for every release.

Now I can just tag the commit and GitVersion automatically calculates the correct version number.

See Use GitVersion instead of VERSION.txt file for more details.

Bug fixes and regressions

One of the issues with rewriting the GUI parts is that you might forget to implement all features of the previous version. One such regression was activating torrents in the list view, which did nothing in v0.19. The solution was simple and effective - Activating a list item opens the selection in Explorer added the missing behaviour and also made it support multiple selections.

Other fixes includes,

Removing the minimum size constraint to allow users to size the main window however they want

Translation fixes

GitHub user birkoffe also put the work in to update the Russian translation. Awesome as usual, since my Russian skills are zero to none 🙃

Upcoming features

I've begun verifying WebTorrent support. It has not landed in any official release of Rasterbar-libtorrent but is available in the master branch. There are some issues left but mostly it works, and as soon as it is fit for release we'll do a matching PicoTorrent release. It might not happen until next year though.

IP filtering

In the near future though I want to add IP filtering support. Both manually entered IP ranges and automatic downloading of the eMule ipfilter.dat.

There has been a few feature requests reported over the years and there is real value to be had by adding it.

HTTP remote control

I want to add a simple HTTP server to PicoTorrent which would expose a basic JSONRPC API to control both torrents and settings. I have some experience with Beast and I don't think it would be very difficult to add.

It would definitely be a nice feature to have.

The end

That's all for now. Don't hestitate to reach out on Twitter, either @viktorelofsson (me personally) or @picotorrent (also me, but different), or opening issues on GitHub, saying hi in #picotorrent on freenode.

If you like the work I put in, you can sponsor me on GitHub 🎈

Happy torrenting!

Show Comments