Releases: Tribler/tribler
v7.12.0-RC1
Overview
- The main feature of this release is the auto-generation of torrent tags from torrent titles that work in the background.
- Also, the release contains numerous bug fixes.
- The Tribler codebase was significantly refactored to make further development faster.
Features
- Tags auto generation by @drew2a in #6718
- Local search for tags by @drew2a in #6617
- Remote search by tags by @drew2a in #6708
- Add docker support by @xoriole in #6715, #6773
Bugfixes
- Fix processing URL-escaped characters by @drew2a in #6738
- Make sorting by name case insensitive by @kozlovsky in #6726
- Remove allow_exit_node_checkbox by @drew2a in #6736
- Customise categories for different pages by @drew2a in #6554
- Add exist_ok=True to mkdir by @drew2a in #6560
- Replace core_traceback by last_core_output by @drew2a in #6567
- Fixes for Tribler logger by @kozlovsky in #6585
- Fix api_key encoding/decoding by @kozlovsky in #6608, #6611, #6613, #6647
- Fix key error on metainfo fetch by @xoriole in #6610
- Fixes for GUI startup sequence by @ichorid in #6596
- Fixes #6665 - Graph can now go higher than TB. New PB Definition added. by @Joybuke in #6666
- Feature/report endpoint errors by @ichorid in #6649
- Set the correct range for Y-axis of the token balance graph by @kozlovsky in #6668
- Update Russian translation by @adem4ik in #6710
- Fix missing XML declaration by @overflw in #6703
- Swapped 'cancel' and 'download' buttons by @devos50 in #6727
- Decrease show threshold for tags by @drew2a in #6742
- Fixes #6747: OSError "The filename, directory name, or volume label syntax is incorrect" in dragEnterEvent by @kozlovsky in #6748
- Fixes #6745: Missed dependency: PopularityComponent requires TorrentCheckerComponent to be active by @kozlovsky in #6746
- Fixes AttributeError on removing downloads by @xoriole in #6909
- Handle race condition when deleting lock file by @kozlovsky in #6776
- Fix Ubuntu 21.04+ startup issue by @xoriole in #6734
- Fixes #6777: suppress PermissionError in on_save_resume_data_alert by @kozlovsky in #6779
- Add null check to confirm_clicked_callback by @drew2a in #6798
- Handle OSError in TriblerWindow.clicked_force_shutdown() by @kozlovsky in #6816
- Handle ValueError "Data is not a bencoded string" in TorrentInfoEndpoint.get_torrent_info() by @kozlovsky in #6814
- Wrap Download.on_metadata_received_alert() with @check_handle decorator by @kozlovsky in #6818
- Fix a crash in the Events tab of the Debug pane by @kozlovsky in #6809
- Escape non-ASCII symbols when writing the tag value to the log by @kozlovsky in #6812
- Handle possible duplicates in random tags generated by tag_torrent by @kozlovsky in #6820
- Add missed arguments to RunTriblerArgsParser by @kozlovsky in #6804
- Replace
get
byselect.limit
in BandwidthDatabase.get_latest_transaction by @drew2a in #6821 - Add NPE check to handle_uri by @drew2a in #6829
- Add
is_dir()
check toadd_directory_dialog
by @drew2a in #6835 - Add
UnicodeEncodeError
to the except block by @drew2a in #6836 - Fix download progressbar paint issue by @xoriole in #6910
- Fix an error message that reports milliseconds as seconds by @kozlovsky in #6914
- Handle non-utf8 Tribler Core output in Tribler GUI by @kozlovsky in #6917
Code improvements
- Use ipv8 as an external dependency by @drew2a in #6757
- Add maybe_component by @drew2a in #6557
- Refactor/remove obsolete upgrades by @ichorid in #6558
- Run Upgrader in a GUI thread by @ichorid in #6559
- Remove unused methods by @devos50 in #6605
- Make notifier more generic by @drew2a in #6702
- Move
discovery_booster
to ipv8 component by @drew2a in #6719 - Move EVA protocol to ipv8 component by @drew2a in #6723
- Add session context manager by @drew2a in #6724
- Remove common package by @drew2a in #6755
- Statically typed notifier by @kozlovsky in #6728
- Enable origin tracking for coroutine objects by @kozlovsky in #6762
- Refactoring the folders structure by @drew2a in #6803
- Remove popularity community experiments by @drew2a in #6805
- Rename QtSingleApplication.activation_window() to tribler_window by @drew2a in #6830
- Remove pre-commit by @drew2a in #6837
- Refactor rest utils by @drew2a in #6838
- Fix build for release 7.12 by @kozlovsky in #6896
- Update Debian build by @xoriole in #6901
- Updated IPv8 pointer by @qstokkink in #6669
- Update issue templates by @drew2a in #6580
- [Snyk] Security upgrade pillow from 8.4.0 to 9.0.0 by @snyk-bot in #6705
- [Snyk] Security upgrade pillow from 9.0.0 to 9.0.1 by @snyk-bot in #6765
Documentation fixes
- Update development on linux by @drew2a in #6536
- Fixes #6624: specify the exact version of
mistune
library in doc/requirements.txt by @kozlovsky in #6625 - Specify exact version of MarkupSafe in doc requirements by @kozlovsky in #6781
- Add Faker and sentry as common dependency by @xoriole in #6656
- Added v7.11 download badge to README by @devos50 in #6768
- Fix broken link by @drew2a in #6796
- Add python 3.9 and python 3.9 badges by @drew2a in #6797
Test improvements
- Make --core and --gui-test-mode separate flags with all combinations possible by @kozlovsky in #6602
- Using SelectorEventLoop during tests by @devos50 in #6527
- Apply MockIPv8 key injection by @drew2a in #6544
- Added small delay after mouse click in GUI test by @devos50 in #6547
- Make CoreExceptionHandler scope-dependent by @drew2a in #6543
- Change mock type for encode_message by @drew2a in #6540
- Use in-memory SQLite DB for Tags in GUI test mode by @ichorid in #6574
- Fix and speedup test_drop_silent_peers by @ichorid in #6578
- Simplify GUI-Core startup sequence by @ichorid in #6573
- Improve tests for patch_import.py by @drew2a in #6588
- Replace random char generation by fake words by @drew2a in #6592
- Make sure generated tags have a valid length by @devos50 in #6615
- Remove spam in pytest output by @kozlovsky in #6620
- Fix gui tests stability by @kozlovsky in #6619
- Fix for #6603 by @drew2a in #6629
- Fixed channel subscribe GUI test by @devos50 in #6643
- Remove SOCKS component from GUI test mode requirements by @ichorid in #6651
- Fix #6653 Sentry test failures by @drew2a in #6694
- Add faker and sentry_sdk as common modules to mock during doc build by @xoriole in #6675
- Fix unstable test_channels_peers_mapping_drop_excess_peers by @kozlovsky in #6731
- Fix run_bandwidth_crawler script by @kozlovsky in #6730
- Fix tunnel experiments by @kozlovsky in #6732
- Fix unstable tests by @kozlovsky in #6763
- Add "no_parallel" pytest's mark by @drew2a in #6799
- Add no_parallel to pytest.ini by @drew2a in #6800
- For test run with '--no-parallel' argument, skip all "normal" tests by @drew2a in #6824
- Fix Tribler startup/shutdown and GUI tests stability by @kozlovsky in #6828
- Refactor add_fake_torrents_channels fixture by @drew2a in #6827
New Contributors
Full Changelog: v7.11.0...v7.12.0-RC1
v7.11.0
Most important changes:
- Added permissionless Tags crowdsourcing system. Tribler users can now add tags to torrents. The tags will be shared with other users anonymously.
- Tree-based file selection in the download details and "Start download" dialog
- Channel previews are faster and more reliable
- Asynchronous Core components startup should speed up boot on machines with slower drives
- As usual, lots of bugfixes
For developers:
Tribler Core was refactored into a set of asynchronously loaded components, making the Tribler codebase much easier to understand.
New Contributors
Full Changelog: v7.10.0...v7.11.0
p.s.
🎅 🎄 Happy New Year everyone! 🎄 🎅
V7.11.0-RC3
Changelog (since RC2)
- Fix creating torrent from directory by @ichorid in #6689
- Disable slow progress bars for individual files by @ichorid in #6687
- Fix exception in token balance graph by @kozlovsky in #6685
- Fix incorrect comparison in FileTreeWidgetItem by @ichorid in #6683
Full Changelog: v7.10.0...v7.11.0-RC
V7.11.0-RC2
Changelog (since RC1)
- Fix for #6627 by @drew2a in #6628
- Fix for torrent renaming by @ichorid in #6632
- Fix/various fixes release711 by @ichorid in #6645
- Reserve ports to prevent accidental ports capture by @ichorid in #6652
- Tags: improve logging and operations' verification by @drew2a in #6646
- Refreshing viewport when showing search results by @devos50 in #6662
- Fix Search results page resetting unexpectedly by @ichorid in #6657
- Fix rare race condition in TriblerRequestManager by @ichorid in #6664
- Fix/apptester by @kozlovsky in #6663
- Fixes #6633 UnicodeEncodeError "ascii codec can't encode characters in position" when saving TriblerConfig with non-ascii symbols by @kozlovsky in #6670
- Handle UnicodeDecodeError in logger when console encoding is not utf-8 by @kozlovsky in #6672
- Fix token balance history graph by @Joybuke and @kozlovsky in #6673
Full Changelog: v7.10.0...v7.11.0-RC2
V7.11.0-RC1
This release introduces the tag system in Tribler where you can add tags on torrents. This helps to improve the discoverability and search of torrents in Tribler. Besides the tag system, there are several bug fixes and improvements included in this release.
Changelog
- Refactoring: network utils by @drew2a in #6150
- Refactor random ports assignation in tribler config by @drew2a in #6152
- Remove generated test data from gitignore by @drew2a in #6159
- Remove references of json_util by @xoriole in #6161
- Adopt AppStream by @overflw in #6056
- Refactoring: tribler_config.py by @drew2a in #6160
- Refactoring: path_utils.py by @drew2a in #6163
- Updated IPv8 pointer by @qstokkink in #6165
- [macOS] Fix display name capitalization by @da2x in #6162
- Disable EVA timeout in test_dynamically_changed_window_size by @drew2a in #6170
- Add pydantic by @drew2a in #6168
- Disable EVA terminate by timeout in test_multiply_duplex by @drew2a in #6173
- Refactor structure of tribler communities by @drew2a in #6175
- Delete test artifacts by @drew2a in #6178
- Add shutdown call to each mds instance created inside RQC tests by @drew2a in #6179
- Removed unused print statement by @devos50 in #6193
- Extract loaders from ipv8_module_catalog.py by @drew2a in #6182
- Showing individual overlay peers in the debug panel by @devos50 in #6191
- Remove obsolete database_blob type by @ichorid in #6196
- Add missing documentation dependencies by @xoriole in #6102
- Remove DateAxisItem custom implementation by @xoriole in #6198
- Disable EVA timeout in test_duplex by @drew2a in #6207
- Update token balance graph data axis by @xoriole in #6215
- Add pydantic dependency check by @xoriole in #6225
- Fix removing all peers for channel instead of the failing one by @ichorid in #6231
- Silently pass when user tries to add duplicate torrents to channel by @ichorid in #6236
- [Snyk] Fix for 4 vulnerabilities by @snyk-bot in #6204
- Bash script to build documentation by @xoriole in #6240
- Basic component tests added by @kozlovsky in #6242
- Remove Session god-mediator-object by @ichorid in #6206
- Fixes #6245: Wrong target peers for DiscoveryCommunity by @kozlovsky in #6246
- Fixes #6250, fixes #6251: each community should use a separate bootstrapper by @kozlovsky in #6252
- Fixes #6257: restore lint checks for tests by @kozlovsky in #6258
- Fixes #6262, fixes #6268: correct delayed initialization of endpoints by @kozlovsky in #6277
- Refactoring/session logic outside of session by @kozlovsky in #6275
- Fixes #6255: make
faifast
an option of the Session.start() method by @kozlovsky in #6276 - Fixes #6265: start Tribler with ipv8 disabled by @kozlovsky in #6278
- Fixes #6266: uncaught error when starting with tunnel_community disabled by @kozlovsky in #6279
- Fixes #6267: crash when clicking in channel with torrent_checking disabled by @kozlovsky in #6280
- Fixes #6269, fixes #6270: DiscoveryCommunity and DHTDiscoveryCommunity disregards config setting by @kozlovsky in #6281
- Remove IPv8 hidden imports in tribler.spec by @xoriole in #6256
- Don’t filter any groups of people out of existence by @da2x in #6259
- Don’t create a Tribler subfolder in the Start by @da2x in #6239
- Allow optional dependencies between components by @kozlovsky in #6291
- Fix run tunnel helper by @kozlovsky in #6292
- Fix tunnel helper arguments by @kozlovsky in #6293
- Update Debian build script and changelog by @xoriole in #6302
- Remove DEBIAN directory from the build by @xoriole in #6310
- Fix #6284 by @drew2a in #6315
- Fix #6283 by @drew2a in #6316
- Fix #6285 by @drew2a in #6317
- Merge fixes from 7.10 into main by @ichorid in #6319
- Fix #6296 by @drew2a in #6314
- Update development_methodology.rst by @drew2a in #6312
- Update readme.rst by @drew2a in #6313
- Fix #6295 by @ichorid in #6320
- Set exit node cache path on Tunnel community by @xoriole in #6318
- Fix 6264 by @ichorid in #6322
- Fix #6290 by @ichorid in #6324
- Fix #6271 by @ichorid in #6323
- Fix #6289 by @ichorid in #6326
- Fix documentation build issue by @xoriole in #6329
- Fix #6172 by @ichorid in #6325
- Increase EVA tests timeouts by @drew2a in #6332
- Fix #6237 by @ichorid in #6321
- Fix #6333 by @drew2a in #6334
- Change gaierror import by @drew2a in #6330
- Fix community component shutdown leaving stuff behind by @ichorid in #6338
- Fix notifier not working from a thread by @ichorid in #6337
- Fix #6307 by @ichorid in #6336
- Various GUI test mode improvements by @devos50 in #6343
- Switch to modern IPv8 Community addition by @drew2a in #6346
- Add CODEOWNERS by @drew2a in #6347
- Fix adding FFA entries on torrentinfo calls by @ichorid in #6349
- Removed unused TickWidgetItem by @devos50 in #6353
- Fixed on_report_sent callback in GUI tests by @devos50 in #6364
- Fixed width and vertical text alignment in table headers by @devos50 in #6367
- Demote some logging messages to debug level by @ichorid in #6363
- Increase maximum request size for AIOHTTP to 2MB by @ichorid in #6361
- Fix crash on trying to go back on empty Channels stack in the GUI by @ichorid in #6357
- Fix crash on race condition on show results button in GUI by @ichorid in #6355
- Fix #6263 by @ichorid in #6354
- Fix random fails in chunk splitting test by @ichorid in #6350
- Fix corner-case bump amount problem in VSIDS by @ichorid in #6351
- Merge bandwidth_accounting module and component by @drew2a in #6371
- Update experiments regarding to the latest changes in tribler-core by @drew2a in #6374
- Various small fixes by @ichorid in #6372
- Merge mds module and component by @drew2a in #6378
- Fix #6299 by @drew2a in #6380
- Implement row deselection on mouse leave by @devos50 in #6376
- Significantly reduced the number of redraws in GUI tables by @devos50 in #6384
- Fixed test_popular_page by @devos50 in #6387
- Fixes #6360: Optional dependency on REST manager in components by @kozlovsky in #6381
- Add @pytest.mark.asyncio to test functions by @drew2a in #6383
- Components cleanup by @kozlovsky in #6391
- Fixed scrolling in GUI tables by @devos50 in #6392
- Merge masterkey module and component by @drew2a in https://gi...
V7.10.0
Tribler 7.10.0 stable release. RC3
is promoted to this stable release.
Changelog (over 7.9.0)
- Add version community mixin
- Remove DNS lookup when contacting UDP trackers through a proxy
- Ensure TorrentChecker.check_random_tracker makes requests using the default hop count
- Update Socks5ClientUDPConnection.sendto to support hostnames
- Fix typos in Socks5Client tests
- Fix tunnel_helper --restapi option
- Fix adding torrent to personal channel after creating torrent
- Fix mismatched channel disconnects
- Remove redundant timeout check in versioncheck manager
- Uncover the real exception from CoreConnectTimeoutError
- Add user-agent header to version check request (#6143)
- Remove focus rectangle on channels path breadcrumb
- Fix incorrect translation crashing Settings page
- Fix incorrect (un)quote of torrents' file-URIs
- Add autogenerated swagger.yaml to .gitignore
- Remove v7.4 checkpoints that can't be converted
- Update IPv8 pointer
- Don't re-join a hidden swarm after having downloaded the metainfo
- Fix some formatting issues in TriblerTunnelCommunity
- Removed unnecessary code
- Don't log HTTPNotFound exceptions
- Allow request to the downloads endpoint even if MetadataStore is disabled
- Fixes #6076: Object BandwidthTransaction was deleted outside of current transaction
- Fixes #6115: Move an async function call out of the db_session scope (#6134)
- Change GigaChannel community id
- Disable old reporter
- Refactor test_get_first_free_port
- Fix dirty flag dropped when going back through channels stack
- Fix thumbnails remaining on jumping to root channel view
- Fix collection always in preview state
- Update zh_CN translation
- Update ru_RU translation and add dialog strings
- Fix loading animation not hiding on going back in channels stack
- Fix channel navigation not showing during preview loading
- Change spacer height
- Move add channel button under channels list
- Change QSS styling for main window
- Rearrange left menu
- Fix Pylint issues
- Add seeder
- Fix seeding ratio
- Refactor store
- Update pt_BR localization
- Fix missing % in translated string
v7.10.0-RC3
Changelog
- Add version community mixin
- Remove DNS lookup when contacting UDP trackers through a proxy
- Ensure TorrentChecker.check_random_tracker makes requests using the default hop count
- Update Socks5ClientUDPConnection.sendto to support hostnames
- Fix typos in Socks5Client tests
- Fix tunnel_helper --restapi option
V7.10.0-RC2
Changelog
- Fix adding torrent to personal channel after creating torrent
V7.10.0-RC1
Changelog
- Fix mismatched channel disconnects
- Remove redundant timeout check in versioncheck manager
- Uncover the real exception from CoreConnectTimeoutError
- Add user-agent header to version check request (#6143)
- Remove focus rectangle on channels path breadcrumb
- Fix incorrect translation crashing Settings page
- Fix incorrect (un)quote of torrents' file-URIs
- Add autogenerated swagger.yaml to .gitignore
- Remove v7.4 checkpoints that can't be converted
- Update IPv8 pointer
- Don't re-join a hidden swarm after having downloaded the metainfo
- Fix some formatting issues in TriblerTunnelCommunity
- Removed unnecessary code
- Don't log HTTPNotFound exceptions
- Allow request to the downloads endpoint even if MetadataStore is disabled
- Fixes #6076: Object BandwidthTransaction was deleted outside of current transaction
- Fixes #6115: Move an async function call out of the db_session scope (#6134)
- Change GigaChannel community id
- Disable old reporter
- Refactor test_get_first_free_port
- Fix dirty flag dropped when going back through channels stack
- Fix thumbnails remaining on jumping to root channel view
- Fix collection always in preview state
- Update zh_CN translation
- Update ru_RU translation and add dialog strings
- Fix loading animation not hiding on going back in channels stack
- Fix channel navigation not showing during preview loading
- Change spacer height
- Move add channel button under channels list
- Change QSS styling for main window
- Rearrange left menu
- Fix Pylint issues
- Add seeder
- Fix seeding ratio
- Refactor store
- Update pt_BR localization
- Fix missing % in translated string
V7.10.0-exp1
This is an experimental release for Tribler 7.10 series. It features many changes to the Channels GUI, bugfixes and performance improvements, namely:
- Channels database performance improved up to 200x (most notable on slower machines)
- Added new Search Loading screen showing the search progress
- Improved Search performance and filtering quality
- Added the ability to add picture thumbnails and descriptions to personal channels
- Channels can now be browsed without subscribing
- Improved torrent health information spreading
- Added Russian, Chinese and Portuguese translations for the GUI
- Added GUI language selector to the GUI Settings tab
- Added the option to minimize Tribler to tray
- Many bug fixes
Known problems:
- Some parts of the GUI can appear untranslated
- Most of the new Channels-related features (e.g. live browsing of non-subscribed channels) will only work reliably when most of the network migrates to 7.10.
As usual, it is advised to backup your Tribler config folder before upgrading to the experimental release.