PicoTorrent Changelog

What's new in PicoTorrent 0.25.0

May 12, 2021
  • 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

New in PicoTorrent 0.24.0 (Jan 6, 2021)

  • 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)

New in PicoTorrent 0.23.0 (Nov 12, 2020)

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

New in PicoTorrent 0.22.0 (Oct 10, 2020)

  • 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)

New in PicoTorrent 0.21.0 (Sep 20, 2020)

  • 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)

New in PicoTorrent 0.20.0 (Sep 7, 2020)

  • 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)

New in PicoTorrent 0.19.0 (Sep 3, 2020)

  • 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.

New in PicoTorrent 0.18.0 (Jan 2, 2020)

  • 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

New in PicoTorrent 0.17.0 (Oct 26, 2019)

  • 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

New in PicoTorrent 0.16.1 (Oct 25, 2019)

  • Installer now downloads the correct Visual C++ runtime.
  • Fixed two issues with magnet links.

New in PicoTorrent 0.16.0 (Oct 23, 2019)

  • 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).

New in PicoTorrent 0.15.0 (Apr 27, 2018)

  • 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

New in PicoTorrent 0.14.2 (Apr 16, 2018)

  • 🐛 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-

New in PicoTorrent 0.14.1 (Apr 15, 2018)

  • 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.

New in PicoTorrent 0.14.0 (Apr 12, 2018)

  • 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.

New in PicoTorrent 0.13.0 (Jun 21, 2017)

  • 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)

New in PicoTorrent 0.12.0 (Nov 27, 2016)

  • At a glance:
  • Added a WebSocket plugin to provide real-time updates for connected clients
  • The Add torrent dialog is now resizable, and also contains filters for including and excluding files
  • Added an option to start PicoTorrent maximized
  • The torrent file list can now be sorted
  • Updated the Russian translation
  • Grammar fixes in the German translation
  • Added an option in the configuration file to allow enabling the anonymous mode
  • Squashed bugs:
  • Fixed keyboard accelerators
  • Resolved an issue with the proxy configuration

New in PicoTorrent 0.11.1 (Nov 6, 2016)

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

New in PicoTorrent 0.11 (Nov 4, 2016)

  • 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)
  • 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)

New in PicoTorrent 0.10 (May 9, 2016)

  • 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.
  • 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)

New in PicoTorrent 0.9 (May 9, 2016)

  • PicoTorrent 0.9 contains mostly bug fixes but also updates Rasterbar-libtorrent to the latest version as well as removing OpenSSL to bring down file size. OpenSSL can be used in conjunction with Rasterbar-libtorrent to support SSL torrents, however PicoTorrent did not provide the means to actually use SSL torrents so the dependency was removed.
  • The release also links statically against the MSVC runtime, removing the need to install the runtime separately. This greatly improves portability and users running the portable version should be pleasantly surprised!
  • Features:
  • Remove OpenSSL dependency. (#224)
  • Link statically against the MSVC runtime. (#224)
  • Updated to the latest Rasterbar-libtorrent version. (#224)
  • Fixes:
  • The peers and trackers view did not remove items when needed. (#215)
  • Actually include all languages in the installer bundle. (#217)
  • Removed a dependency on a HWND in the BitTorrent session, improving portability later on. (#216)
  • Fixed an issue with the single instance detection. (#219)
  • Fixed an issue with DPI scaling. (#223)

New in PicoTorrent 0.8 (May 9, 2016)

  • Version 0.8 of PicoTorrent brings lots of new goodies, such as new languages, smaller distributable files and experimental IPv6 support. You can now also add and remove trackers from the tracker view.
  • Languages:
  • Catalan. (#154)
  • Italian. (#161)
  • Romanian. (#199)
  • Spanish. (#199)
  • Georgian. (#201)
  • Portuguese. (#205)
  • Features:
  • Peer speeds in the details dialog are now ignored (showing -) if below 1KB/s. (#167)
  • Updated taskbar to only show progress for active torrents, and also added a paused state. (#168)
  • Added a basic status bar to the main application window which shows torrent count and DL/UL speeds. (#173)
  • Torrents can now be sorted in the queue. The context menu for a torrent contains actions to move a torrent up, down, to the bottom and to the top. (#176)
  • Debug symbols now live in their own package. This reduces file size for both the installer bundle and the portable zip package. (#178)
  • Trackers can now be added and removed from the tracker view in the torrent details dialog. (#180)
  • Removed a timer in PicoTorrentCore which should reduce memory usage and also simplify the threading model. (#181)
  • Added a new portable zip package which bundles the runtime DLLs. (#196)
  • The taskbar now shows a red overlay when a torrent has an error. The torrent list will also reflect the error message in the status column. (#206)
  • Drag-and-drop now supported for torrent files. (#208)
  • Logging is now optional. To enable - start PicoTorrent with the --enable-logging command line argument. (#211)
  • Experimental IPv6 support added. PicoTorrent will now try to listen on the unspecified IPv6 interface as well as the IPv4 one. (#212)
  • The torrent list view now shows current and total numbers for seeds and peers. (#213)
  • Fixes:
  • Separated uploading and uploading_stalled for English translation. (#175)
  • Torrent and file size were shown wrong in the add torrent dialog. (#179)
  • The unhandled exception handler is now working and will post the stack trace to a GitHub Gist. (#183)
  • Fixed a bug where torrents were lost if PicoTorrent crashed. This affected only torrents which was added that particular session and had no resume data. (#207)

New in PicoTorrent 0.7 (May 9, 2016)

  • Since the previous version we have gotten a few languages as well as features and fixes! German, Latvian and Russian are now included :smile: Other than that, we have fixed a few issues such as validating settings in the torrent overview page, and the x86 stack walking which crashed.
  • The biggest feature this release is that you can now add magnet links directly from the UI, and it supports pre-loading the torrent so after pasting or entering a magnet link or info hash, PicoTorrent will search for and download the torrent file before presenting the normal add torrent dialog
  • Features:
  • German translation. (#131)
  • Latvian translation. (#132)
  • Russian translation. (#135)
  • Allow setting global DL/UL rate limit. (#145)
  • Adding magnet links directly from the application. (#155)
  • Add option to start PicoTorrent with Windows (on login). (#156)
  • Add option to start PicoTorrent normal, hidden, or minimized. (#159)
  • Fixes:
  • Fixed a bug in the torrent details file list where the context menu did not work. (#133)
  • The x86 stack walking did not work correctly. (#139)
  • PicoTorrent crashed if the language directory did not exist. (#141)
  • PicoTorrent crashed when pasting a malformed file path in the open torrent dialog. (#143)
  • Validate settings in the torrent overview page. (#144)
  • Make use of the libtorrent set_load_function to allow dynamic loading of torrent files. (#150)
  • Removed the specialized torrent list view and instead made use of the list view class which is used everywhere else. (#151)

New in PicoTorrent 0.6 (May 9, 2016)

  • A few bug fixes, a few features later. This time around we have language support, with Swedish and German translations all packed up and ready to go! Some bugs where exterminated as well, most notably one that got the torrent file priorities all wrong (#107).
  • Features:
  • We removed a thread! The BitTorrent session no longer has its own worker thread, but instead integrates with the application message loop. (#108)
  • The peers list now shows a lot of flags (as in connection property flags). (#116)
  • A new menu item in the main menu has been added which allows one to check for updates when PicoTorrent is running. (#117)
  • The tracker list shows more tracker statistics - like time until next announce and also peer count. (#118)
  • Libtorrent has been updated to commitish ee94ac6ef7152d622347dc7f51fc3bb98e81fdf5 which was the master head at the time. (#124)
  • Language support! :flags: PicoTorrent is now multi-lingual, and translating it is really easy with the simple JSON file format. (#125)
  • The torrent context menu now has an item to bring up the details dialog. (#128)
  • Fixes:
  • When adding a torrent with lots of files (more than 256) there was a bug that made a uint8_t overflow. (#107)
  • If the last file in a torrent was set to Do not download, the other files would be set to some unknown priority. Also, if all files in a torrent were set to Do not download, libtorrent would post alerts in the wrong order. (#122)

New in PicoTorrent 0.5 (May 9, 2016)

  • This release of PicoTorrent features a brand new torrent details view where you can dig into the details of a torrent. It has an overview to change various torrent-specific limits such as DL/UL speed, max connections and max uploads. The details view also allows you to change file priority, view progress of individual files, show peers and trackers.
  • :information_source: To get to the details view, just double-click or otherwise activate a torrent list item (eg. press Enter).
  • Features
  • Portable zip now contains the debug symbols. (#98)
  • Activating a torrent list item now brings up a details view. (#104)
  • The preferences now features an Advanced tab where you can opt in to the PicoTorrent peer id and user agent. (#103)
  • Fixes
  • The add torrent dialog now shows the complete path of files within the torrent. (#99)
  • Preferences are now validated when saving. (#100)
  • The Chocolatey package should no longer have any validator warnings (although it still fails due to an MSVC bug). (#101)

New in PicoTorrent 0.4 (May 9, 2016)

  • This is a feature-rich release bringing lots of new functionality to PicoTorrent. One of the biggest features of this release is that PicoTorrent now has a 32-bit build as well! Yay!
  • Features
  • Download progress for all torrents are now reported in the Windows taskbar icon. (#88)
  • The default remove will not prompt for confirmation, but will only remove the torrent from the transfer list. Using Shift+Delete will prompt for removal of the torrent and data, with the option to remember the users choice. (#66)
  • The preferences dialog has been rewritten to use property sheets from the Windows API, giving a much cleaner look. (#79)
  • Proxies (HTTP, SOCKS4, SOCKS5 and I2P) can now be configured for all BitTorrent traffic. (#79)
  • PicoTorrent will prevent Windows from entering sleep mode while it has active downloads. (#91)
  • Misc
  • We now treat warnings as errors when building.
  • There are AppVeyor builds for both x86 and x86_64.

New in PicoTorrent 0.3.1 (May 9, 2016)

  • A small maintenance release resolving an issue where PicoTorrent would not install if the Visual C++ 2015 Redistributable was already installed in the target machine.
  • :information_source: If you are currently running PicoTorrent 0.3 without problems, this release can be skipped.
  • Fixes
  • When installing PicoTorrent, the installer will now detect the VC++ 2015 redistributable and skip installation if it is installed. (#76)
  • Mark the VC++ 2015 redistributable as permanent to keep it installed when uninstalling PicoTorrent. (#77)

New in PicoTorrent 0.3 (May 9, 2016)

  • This is a feature-rich release containing a few bug fixes along with lots of new features. Recommended upgrade for everyone. The release features a new dialog used when adding torrents (yes, you can now add more than one torrent at once), an about dialog with version information and an ETA column.
  • PicoTorrent now features a new type of installer which builds on WiX Burn. This works wonders and lets us download the C++ runtime at install time, instead of using the merge module (which was a quite ugly solution and did not work 100%).
  • Features
  • When closing PicoTorrent, ask if the user wants to exit the application or minimize it to the tray. The choice can be remembered. This does not apply when exiting via the menus. (#63)
  • A new About dialog with PicoTorrent version information. Mostly useful when one needs a quick way of obtaining the current version, and which Git branch and commitish was built. (#61)
  • A new dialog when adding torrents which shows in place of the old Choose save path dialog. One can now add multiple torrents at once, and change save paths and file priorities before adding them for download. (#60)
  • Added a keybinding (Delete) to remove the selected torrents in the list view. (#58)
  • Added a new column to the list view showing the estimated time until the torrent has been downloaded. (#48).
  • Fixes
  • An issue with the list view flickering while updating the items was fixed by turning on double buffering in the extended style. (#62)
  • The hotkey Ctrl+A used the RegisterHotKey which registers global hotkeys. This was replaced with application ACCELERATORS as otherwise Ctrl+A would not let other applications select all (for example). (#67)

New in PicoTorrent 0.2.1 (May 9, 2016)

  • A small release consisting of two bug fixes - one which fixed an error with major upgrades, and one which fixed an error in the VC140 x64 merge module which installed the C++ runtime alongside PicoTorrent.
  • This release can be skipped by users who have a working 0.2.0 installation.
  • Fixes
  • Fix an error in the WiX installation source which didn't include the element. Without this, the MSI would not remove the previous version of PicoTorrent when upgrading. (#57)
  • Adjusted the VC140 x64 merge module included in the PicoTorrent installer to correctly install itself onto the client computer. This is a known bug and with the fix, users without the C++ runtime will be able to install and run PicoTorrent in one go.