picotorrent

A tiny, hackable BitTorrent client.

MIT License

Stars
2.6K
Committers
118

Bot releases are hidden (Show)

picotorrent - PicoTorrent 0.25 Latest Release

Published by vktr over 3 years ago

With the warm spring weather comes a fresh new release of PicoTorrent straight from the app bakery here in Stockholm 🌞 It's been a while since the last release, so here's a recap of what's new since last time!

🐛 The bug fixes

  • #1126 - Use a static UUID for single instance checking to better avoid multiple instances - by @SadE54
  • #1138 - Fix assigning labels when multiple torrents are selected
  • #1141 - The delete key removes the torrent when tracker view has focus

💟 The feature additions

  • #1124 - When adding files from the command line, users can now pass the save path to use as well - by @SadE54
  • #1136 - Support sorting by torrent status
  • #1137 - Torrent ratio is calculated using all_time_upload / torrent_size
  • #1164 - Support label filtering in PQL

❤️ The love (updated translations)

  • 🇮🇩 Indonesian by @zmni
  • 🇮🇹 Italian by @bovirus
  • 🇹🇷 Turkish by @xzork, @hipofiz
  • 🇸🇦 Arabic (Saudi Arabia) by @gitntel
  • 🇺🇦 Ukranian by @molny, @mxve
  • 🇬🇪 Georgian by @arabuli
  • 🇻🇳 Vietnamese by @Doraemon-kun
  • 🇵🇱 Polish by @luki446
  • 🇷🇸 Serbian by @laikexpert, @artyom2034
  • 🇯🇵 Japanese by @xE0F9
  • 🇬🇧 English by @comradekingu
  • 🇳🇴 Norwegian (Bokmål) by @comradekingu
  • 🇧🇬 Bulgarian by @StoyanDimitrov
  • 🇫🇷 French by @TechnoGreg
  • 🇷🇺 Russian by @AHOHNMYC
  • 🇱🇰 Sinhalese by @Aikatsui
  • 🇪🇸 Spanish by @DerianAndre
  • 🇧🇷 Portuguese (Brazil) by @nero-0, @mmagian
  • 🇩🇪 German by @mxve
  • 🇭🇺 Hungarian by @mxve
  • 🇱🇹 Lithuanian by @mxve
  • 🇱🇻 Latvian by @mxve
  • 🇸🇪 Swedish by @mxve
  • 🇨🇿 Czech by @DavidJares
  • 🇳🇱 Dutch by @Stephan-P
  • 🇸🇰 Slovak by @xzpyth
  • 🇨🇳 Chinese (Simplified) by @mayli, @KaMingChung
  • 🇭🇷 Croatian by @migwynkriid

💵 As always - I'm on GitHub sponsors if you want to support development.
🗨️ If you just want to hang out, head on over to the PicoTorrent Discord server

picotorrent - PicoTorrent 0.24

Published by vktr almost 4 years ago

We start the new year with a new release! It contains similar amount of bug fixes and feature additions, so pretty cool!

The main features this release is the new installer. It's been in the works for a while now and finally landed! Also, @DerianAndre has made a new application icon and also file type icons, which both look very nice 🥵

We've also added IP filtering (blocklist) support based on eMule Security blocklists.

🐛 The bug fixes

  • Fix a Unicode bug in the 'Open file' dialog. (#1087)
  • Fixed a bug when removing trackers and tiers. (#1085)
  • Fixed a typo in PQL parsing. (#1084)
  • Fixed a Unicode issue with label names. (#1070)
  • Fixed the default language lookup to use English (en-US). (#1069)
  • Fixed a bug when restoring the main application window. (#1032)
  • Fixed an issue when not having any listen interfaces specified. (#1028)
  • Fixed an issue when adding duplicate magnet links. (#1027)
  • Fixed a few out-of-range issues in the torrent list view. (#1012)

💟 The feature additions

  • Added IP filter/blocklist support. (#1083)
  • New application icon as well as icons for file type associations. (#1082)
  • Add support to set 'Seed mode' when adding torrents. (#1073)
  • Add connection limits to preferences. (#1072)
  • Add keyboard shortcut (F1) to open the documentation. (#1071)
  • Add a brand new installer. (#983)
  • Improved PQL. (#1057)

❤️ The love (updated translations)

  • 🇯🇵 Japanese by @AnOnTake
  • 🇱🇹 Lithuanian by @Dratas, @mxve
  • 🇧🇷 Portugese (Brazil) by @mmagian, @nero-0
  • 🇧🇬 Bulgarian by @StoyanDimitrov, @mxve
  • 🇩🇪 German by @mxve
  • 🇪🇸 Spanish by @DerianAndre, @IPeluchito
  • 🇫🇷 French by @TechnoGreg
  • 🇮🇩 Indonesian by @zmni
  • 🇮🇱 Hebrew (Israel) by @thewh1teagle
  • 🇵🇱 Polish by @luki446
  • 🇬🇷 Greek by @nmichalodi
  • 🇸🇦 Arabic (Saudi Arabia) by @gitntel
  • 🇺🇦 Ukranian by @molny
  • 🇫🇮 Finnish by @mxve
  • 🇮🇹 Italian by @mxve
  • 🇬🇪 Georgian by @mxve
  • 🇰🇷 Korean by @mxve
  • 🇳🇱 Dutch by @mxve
  • 🇳🇴 Norwegian Bokmål by @mxve
  • 🇷🇺 Russian by @mxve
  • 🇮🇳 Hindi by @mxve

💵 As always - I'm on GitHub sponsors if you want to support development.
🗨️ If you just want to hang out, head on over to the PicoTorrent Discord server

picotorrent - PicoTorrent 0.23

Published by vktr almost 4 years ago

Read the full release notes in the blog - Behind the release - v0.23. You can also download PicoTorrent from FossHub if that's your thing!

This release comes in extra 🌶️ with the addition of PQL - a query language 🥵 👌

image

🐛 The bug fixes

  • Better Unicode handling (#973, #977)
  • Cancel buttons now translated correctly.

💟 The feature additions

  • A better 'Open file' dialog which can handle lots more files than the one
    in wxWidgets. (#979)
  • Added a piece progress bar. (#996)
  • A better 'Add torrent' dialog which gives more room to files and content. It
    also lets users add trackers to the torrent. (#999)
  • Made the Overview panel resize better. (#1000)
  • Added an embedded query language to allow users to filter the torrent list view
    in an effective way. (#1007)

📃 The misc items

  • Updated to wxWidgets 3.1.4. (#991)
  • Removed loguru as dependency and instead added Boost.Log since we already
    depend on Boost.
  • Updated Cake and related build tools.
  • Updated libtorrent to latest RC_2_0 version. (#1003)

💘 The love (updated languages)

  • 🇧🇬 Bulgarian by @StoyanDimitrov
  • 🇧🇷 Portugese (Brazil) by @Cereal-Killa, @mmagian
  • 🇺🇦 Ukranian by @molny
  • 🇷🇺 Russian by @Rakleed
  • 🇫🇷 French by @TechnoGreg
  • 🇮🇳 Hindi by @nurav1997
  • 🇮🇹 Italian by @nixxo
  • 🇳🇱 Dutch by @thec0mpler
  • 🇮🇩 Indonesian by @zmni, @fuwafuwa-moe
  • 🇵🇹 Portugese (Portugal) by @joaopcmacha
  • 🇺🇸 English by @mxve
  • 🇩🇪 German by @mxve

💵 As always - I'm on GitHub sponsors if you want to support development.
🗨️ If you just want to hang out, head on over to the PicoTorrent Discord server

picotorrent - PicoTorrent 0.22

Published by vktr about 4 years ago

🌶️ It's a spicy one! Read the full release notes in the blog - Behind the release - v0.22.

You can also download PicoTorrent from FossHub if that's your thing!

Label support is here! It landed in #914 and has been improved in #965 and #967. It opens up some sweet possibilities in the future and please drop all your cool suggestions in issues so we can keep track of all ideas you have! For now, labels can control the save path and the coloring.

  • Updated translations - Dutch, French, Norwegian, Hindi, Indonesian, Russian 👀
  • Added a save resume data timer to minimize the data loss if PicoTorrent crashes. (#928)
  • Fixed some unicode issues. (#925)
  • Fixed an issue that prevented restoring column states when starting PicoTorrent. (#927)
  • Added a dialog to restart PicoTorrent if needed (a few settings requires a restart). (#929)

💵 As always - I'm on GitHub sponsors if you want to support development.
🗨️ If you just want to hang out, head on over to the PicoTorrent Discord server

picotorrent - PicoTorrent 0.21

Published by vktr about 4 years ago

ℹ️ Full release notes in the blog - Behind the release - v0.21.

You can also find PicoTorrent on FossHUB!

In a nutshell 🐒

  • Updated Russian translations, by @birkoffe (#887)
  • Updated French translations, by @TechAdvancedCyborg (#890, #893)
  • Updated Indonesian translations, by @zmni (#896)
  • Fixed issues with how the torrent file tree is generated. (#898)
  • The ability to create torrents is finally here! It's not a groundbreaking feature at all, but it's now part of PicoTorrent and it supports creating both v1 and v2 torrents. (#892)
  • The preferences dialog now supports restoring most settings to their default value. Also, a width issue was fixed. (#899)
  • Fixed issues with preloading magnet links. (#910)

⚠️ Upgrading might cause your default language to be reset.

As always - I'm on GitHub sponsors if you want to support development.

picotorrent - PicoTorrent 0.20

Published by vktr about 4 years ago

ℹ️ Full release notes in the blog - Behind the release - v0.20.

In a nutshell 🐿

  • Rasterbar-libtorrent has been updated to 2.0. This adds real v2 and v1+v2 hybrid torrent support. Yay! (#863, #874, #883, #884)
  • Fixed a bug when displaying Cyrillic characters. (#865)
  • Removed the minimum size constraint. PicoTorrent can now be resized freely. (#866)
  • Added GitVersion to automagically version everything. No more VERSION.txt juggling. (#868)
  • Updated the C++ redistributable version downloaded when installing. (#869)
  • Added empty columns to the list views to prevent the last column from stretching. (#875)
  • Activating the torrent selection (either double clicking or pressing Enter) will open the paths in Explorer. (#877)
  • Updated Russian translations - thanks @birkoffe! (#878, #881)
  • Fixed a bug where the status bar didn't place itself correctly when restoring from the taskbar. (#880)

As always - I'm on GitHub sponsors if you want to support development.

picotorrent - PicoTorrent 0.19

Published by vktr about 4 years ago

Hi everyone! I've baked a brand new version of PicoTorrent - and this time it's a bit special. We have gone back to wxWidgets since Qt made some developer-hostile moves which I don't agree with. The feeling I've had looking through issues has been that v0.15 was pretty sweet, much thanks to wxWidgets.

Anyway, there's been a rewrite of most of the application, much code has been borrowed from the older wxWidgets release but not all 😄

I don't have a structured list of PR's this time around since most of the work took place in #843. Notable changes includes (but are not limited to),

  • Reduced file size by a significant amount.
  • A brand new About dialog which showcases dependencies and their versions. Sweet!
  • More information in the Overview panel.
  • Better preferences page for listen interfaces.
  • An experimental C API.

If you experience any problems, open an issue here on GitHub or reach out on Twitter at @viktorelofsson or @picotorrent 😄

What's next?

For the future, I'm planning a much faster release cadence. There's also a few pretty sweet features I want to completely stabilize, such as support for v2 torrents, SSL torrents and more.

You can read more about this release on the new blog - Behind the release. I will write a similar article for each release and also try to publish news and development updates as well.

Sponsoring

If you like the work I put in, there's always the option of sponsoring me. It is completely optional and highly appreciated!

picotorrent - PicoTorrent 0.18

Published by vktr almost 5 years ago

Let's start the new year with a freshly baked PicoTorrent release! It contains fixes for a bunch of reported issues. I've also replaced Breakpad with Crashpad for better error reporting. There's a new toggle in the General preferences to allow automatic crash reporting - turning this on makes it much easier for us to track crashes.

🐛

  • The file list view has been fixed so it doesn't collapse when refreshing files, and it doesn't show -99 as progress for folders. #742
  • Use IP addresses for listen interface. #743
  • Close PicoTorrent when performing installer actions. #744
  • Replace Breakpad with Crashpad for better crash reporting. #745
  • Allow multi-selection in the torrent list view. #749
  • Rasterbar-libtorrent has been updated, Geo IP lookups have been fixed, clearing column values when a torrent is paused. #750
  • Store state for torrents added via magnet URI which haven't found any metadata. #787

🎏

  • French updated. #753
  • Russian updated. #789
picotorrent - PicoTorrent 0.17

Published by vktr almost 5 years ago

This release contains a few goodies but mostly bug fixes. The bug fixes are based on all the crash reports which are sent in, which is awesome! Please keep sending the reports, it makes improving PicoTorrent much easier 😃

Changelog :shipit:

  • Add keyboard shortcuts (Ctrl+O to add a torrent, Del to remove active torrent). #736
  • Add drag and drop. #735
  • Fixed the Visual C++ redist installer version comparison and made it not restart the host machine. #733
  • Installer will now close any running PicoTorrent instance before installing. #737
  • Fixed a few bugs on how we handle the libtorrent torrent handle. #731, #732
picotorrent - PicoTorrent 0.16.1

Published by vktr almost 5 years ago

This release fixes a few issues with PicoTorrent as well as updates all the translation files to the new standard.

Fixes 🐛

  • Installer now downloads the correct Visual C++ runtime. (#710)
  • Fixed two issues with magnet links. (#724 and #716)

Contributors

  • @TechnoGreg
picotorrent - PicoTorrent 0.16

Published by vktr almost 5 years ago

First of all - sorry for the delay! I've been quite busy with real life and haven't had as much time to work on PicoTorrent. However, I'll try to change the trend and I will also move forward with smaller releases coming out more often, instead of waiting for bigger features.

That said, here it is! Finally.

This version of PicoTorrent is more or less completely rewritten, now using Qt as the UI framework. It has grown a bit in size, but it will lay the foundation of what have had in mind since the beginning - a hackable BitTorrent client. There's basic JavaScript support to add torrent filters, and I'll add both API documentation and more examples in the upcoming versions.

A few things to note, however

  • This release is not signed - my code signing certificate has expired. This will be fixed in the future, but for now you might see that SmartScreen tries to block the installation. Click Run anyway to continue past this screen.
  • The configuration and state has moved into a SQLite database. This can be viewed with any SQLite browser/explorer. The reason being that SQLite makes it easier for us to recover from crashes and unexpected errors.

Highlighted features

  • GeoIP lookup now available in the peers view.
  • Warn when disk space is too low.
  • Adding magnet links now work much better - it will now search in the background and update the add torrent dialog when it finds the torrents (if you still have it open).

I expect there will be some issues with this being a complete rewrite, but I'll do my best to address any issues I find as quickly as I can

Enjoy!

picotorrent - PicoTorrent 0.15

Published by vktr over 6 years ago

PicoTorrent v0.15 comes with a few fixes and also brings back the feature to move completed downloads which was forgotten in the wxWidgets rewrite. Sorry about that! There has also been a few fixes to resolving paths which are based on the crash dumps that gets sent, so keep sending crash dumps. They help! 😄

It also comes with the option to encrypt the configuration file. This can be enabled from the advanced preferences panel, and is recommended.

:shipit: Features

  • Encrypt the configuration file. (#600)
  • Move completed downloads. (#590)
  • Set OK as default button in add torrent dialog. (#588)

🐛 Fixes

  • Use correct directory for configuration file when running as portable. (#584)

🎏 Languages

  • Updated Russian translation. (#595 and #599).

Contributors

  • @valery-kirichenko
picotorrent - PicoTorrent 0.14.2

Published by vktr over 6 years ago

v0.14.2 fixes a few more issues with UTF8 encoding as well as brings back the Remove torrent and files option to the torrent context menu.

🐛 Fixes

  • Fix Open in Explorer for UTF8 encoded paths.
  • Fix taskbar progress calculation.
  • Add the missing Remove torrent and files menu item.
  • Fix UTF8 encoding for torrent files when adding torrents.

🎏 Languages

  • Update Finnish translation.

Contributors

  • @Mika-
picotorrent - PicoTorrent 0.14.1

Published by vktr over 6 years ago

v0.14.1 of PicoTorrent comes with a few bug fixes and language improvements.

I've focused this release on fixing the most common errors reported from the built-in crash reporter dialog. This dialog attaches a minidump and sends to a central API for processing and analysis, so it really helps when you choose to send the error report 😄

Here's the rundown,

🐛 Fixes

  • Fixed a few places where UTF8 strings where not shown correctly.
  • Fixed a crash where the add torrent dialog would crash because it had no torrents to show.
  • Added null-checks to fix a few crashes where we assumed non-null.
  • Added an empty hidden column at the end of each list view to not have the last "real" column stretch.

🎏 Language

  • Updated French translation.
  • Updated German translation.
  • Updated Portuguese translation.

Contributors

  • @TechnoGreg
  • @dertuxmalwieder
  • @AFaustini
picotorrent - PicoTorrent 0.14

Published by vktr over 6 years ago

Finally, PicoTorrent 0.14 is here! It's been a long time since the last release, almost ten months, but I think the wait has been worth it.

This version of PicoTorrent is rebuilt on top of wxWidgets which is a cross-platform GUI library. It uses native controls on each platform, and will allow us to advance towards our cross-platform goal. PicoTorrent is still tiny, and has lots of performance.

image

Contributors

  • @ElegantMonkey
  • @olivierchatry
  • @dertuxmalwieder
  • @Freddynic159
  • @Dyras
  • @SalGnt
  • @tiksn
  • @Mika-
  • @TechnoGreg
  • @a-roussos
  • @VoodaGod
  • @AFaustini
  • @noxman
  • @ialexsilva
picotorrent - PicoTorrent 0.13

Published by vktr over 7 years ago

This release of PicoTorrent has been super delayed, but is finally here! It consists of a lot of bug fixes and enhancements.

:shipit: At a glance

  • The peer list view now shows the peer progress in a progress bar. (#434)
  • The torrent list view now shows the actual size to download for torrents where not all files are selected. (#439)
  • We have updated Boost, OpenSSL and Rasterbar-libtorrent to newer versions. (#437)
  • Save configuration to disk when closing the Preferences dialog. (#433)

🐛 Squashed bugs

  • Use the UI language as a default language (instead of the regional). (#377)
  • Column sorting and reordering now works as it should. (#436)
  • Show a warning message if the user enters an invalid regular expression when filtering files. (#442)

This is not a complete list, and there has been a lot of language file improvements as well! Many thanks to all contributors!

Contributors

  • @izstas
  • @ialexsilva
  • @enr00ted
  • @vmarci21
  • @TechnoGreg
  • @birkoffe
  • @dertuxmalwieder
  • @Gladorme
  • @HavokNovak
  • @VoodaGod
  • @DoumanAsh
  • @CodeSurfing145
  • @zp
  • @transifex3
  • @SalGnt
picotorrent - PicoTorrent 0.12

Published by vktr almost 8 years ago

You can now buy PicoTorrent in the Windows Store. It's available for $4.99 and it's an easy way to support development. Of course, PicoTorrent will always be available free of charge both here and on the website 😄

This version of PicoTorrent sees a bunch of new features, mostly regarding the flow in the user interface but also the WebSocket functionality which is back as a plugin!

:shipit: At a glance

  • Added a WebSocket plugin to provide real-time updates for connected clients (#350)
  • The Add torrent dialog is now resizable, and also contains filters for including and excluding files (#357)
  • Added an option to start PicoTorrent maximized (#365)
  • The torrent file list can now be sorted (#369)
  • Updated the Russian translation (#354)
  • Grammar fixes in the German translation (#368)
  • Added an option in the configuration file to allow enabling the anonymous mode (#355)

🐛 Squashed bugs

  • Fixed keyboard accelerators (#363)
  • Resolved an issue with the proxy configuration (#362)

Contributors

  • @disfated
  • @dertuxmalwieder
picotorrent - PicoTorrent 0.11.1

Published by vktr almost 8 years ago

This is a small bug fix update which solves an issue where PicoTorrent 0.11 searched for data files in the wrong directory.

ℹ️ If you had PicoTorrent 0.10 installed, things should now be back to normal.

❗️ If you are new to PicoTorrent and installed PicoTorrent 0.11, you will need to move some files (if you care about settings, otherwise you don't need to bother). The following files and folders should be moved to C:\Users\<user>\AppData\PicoTorrent,

  • C:\Users\<user>\AppData\PicoTorrent.json
  • C:\Users\<user>\AppData\Torrents
picotorrent - PicoTorrent 0.11

Published by vktr almost 8 years ago

It's been a long time since the last release, but finally, here's 0.11 for all your BitTorrent needs. This new version has been refactored almost from the ground up and contains a brand new plugin API as well as a lot of bug fixes and other features.

❗️ Do not update if you rely on the WebSocket functionality. It will be added back in v0.12

🐛 Bug fixes

  • Validate rate limits (#273)
  • Fix a crash when opening an invalid torrent file from Windows Explorer (#276)
  • Fix an access violation exception on Windows 7 (#343)

:shipit: Features

  • Major refactor, easing development (#324)
  • Added a brand new plugin API (#330)
  • Moved update checking to a plugin (#330)
  • Added a new Importer plugin which helps new users migrate torrents from existing torrent applications (#333)
  • Added a privacy page with encryption options (#335)
  • Added an option to move completed downloads to a specified directory (#336)
  • Added ability to enable and disable DHT and LSD (#337)
  • Extended notification area configuration (#338)
picotorrent - PicoTorrent 0.10

Published by vktr over 8 years ago

A month in the works, this release of PicoTorrent brings a whole lot to the table. Most notably the WebSocket API which allows developers to write remote clients to monitor PicoTorrent. The API is read-only for now, which means you cannot pause/resume/add/remove torrents, just observe.

Other features includes a cross-platform core, which is always nice to have. This means we get warnings and validation from another compiler, in this case GCC.

ℹ️ To run the portable version of PicoTorrent v0.10, you will need the Visual C++ 2015 runtime.


:shipit: Features

  • PicoTorrentCore now successfully builds on GCC. (#230)
  • PicoTorrent now has a permanent peer ID (-PI-). (#234)
  • Show warning if a user tries to add a torrent already in the session. (#235)
  • All dialogs are now centered horizontally on their parent. (#237)
  • Add an overview page to the torrent details dialog. (#239)
  • Add a WebSocket API. (#238)
  • Add a storage mode option to the add torrent dialog. (#244)
  • Add a ratio column to the torrent list view. (#245)

🐛 Fixes

  • Updated German translation. (#225)
  • Center text in progress bar display. (#229)
  • Restore OpenSSL to support HTTPS trackers. (#236)
  • Refactored how PicoTorrent is initialized with default values and paths. (#247, #251)
  • Refactored configuration. (#252)
  • Use dynamic linking for all dependencies. (#250)

🎏 Languages

  • Add Finnish translation. (#241)

Contributors

  • @zp
  • @Mika-
  • @VoodaGod