Releases: Tribler/tribler
v7.12.1
Overview
- This release should greatly improve the speed and stability of Tribler startup:
- Now, if a user has a large number of downloads, Tribler windows should open much faster.
- All different errors of type "Tribler GUI cannot connect to Tribler Core" should go away.
- Tribler should not crash anymore while copying files from the previous directory.
- The copying of the state directory is now atomic, and files should not be corrupted if the copying is interrupted in the middle.
- No more orphan Core processes if the GUI process was suddenly terminated.
- The token balance is now hidden until the algorithm for calculating the balance is updated.
- Some bugs that caused Tribler crashes were fixed.
Bugfixes
- Load download checkpoints in the background by @kozlovsky in #7024
- Provide atomicity of state dir copying by @kozlovsky in #7055
- Handle exceptions in UpgradeManager by @kozlovsky in #7007
- EventManager's timeout should ignore the upgrade duration by @kozlovsky in #7006
- Fix reconnection logic in EventRequestManager by @kozlovsky in #7001
- Fix CoreConnectTimeoutError by calculating the correct timeout for the request by @kozlovsky in #7054
- Fix QNetworkReply.UnknownNetworkError (99) when connecting to Core by @kozlovsky in #7019
- Unconditionally include RESTComponent when starting Tribler Core by @kozlovsky in #7045
- Fix initialization of Ipv8Endpoint in RESTComponent by @kozlovsky in #7046
- ProcessChecker refactoring by @drew2a in #6941
- Shut down the Tribler Core process if the GUI process crashes by @kozlovsky in #6996
- Stop Core on components startup exception by @kozlovsky in #7021
- Show the last error code and error name on timeout in EventRequestManager by @kozlovsky in #7020
- Hide token balance value by @kozlovsky in #7049
- Fix failing GUI test on Linux Github action by @xoriole in #6982
- Handle TypeError on tdef to metadata conversion by @xoriole in #6991
- Add Null check for
entry.tag_processor_version
by @drew2a in #7009 - Add format_error_message function to CoreManager by @drew2a in #6881
- Protect
cache_exitnodes_to_disk
from raising OSErrors by @drew2a in #7039 - Fix
UnicodeDecodeError
by @drew2a in #7040 - Add
SSLError
to exceptions by @drew2a in #7043
Full Changelog: v7.12.0...v7.12.1
V7.12.1-RC4
Overview
- The release fixes a startup crash when Tribler has a big number of active torrents;
- Now Tribler instance that has a big number torrents should start much faster;
- The token balance value is hidden until the balance algorithm is updated;
- Several other errors are fixed as well.
Bugfixes
- Load checkpoints in the background by @kozlovsky in #7024
- Fix
UnicodeDecodeError
by @drew2a in #7040 - Add
SSLError
to exceptions by @drew2a in #7043 - Protect
cache_exitnodes_to_disk
from raising OSErrors by @drew2a in #7039 - Unconditionally include RESTComponent when starting Tribler Core by @kozlovsky in #7045
- Fix initialization of Ipv8Endpoint in RESTComponent by @kozlovsky in #7046
- Fix GuiProcessWatcher tests by @kozlovsky in #7042
- Hide token balance value by @kozlovsky in #7049
Full Changelog: v7.12.0...v7.12.1-RC4
v7.12.1-RC2
Overview
This release fixes several startup issues when Tribler GUI freezes during the load screen or shows a "cannot connect to the Tribler Core" error. Some errors are fixed, and for other errors, the feedback dialog should display the reason for a problem so the user can report it to developers.
Bugfixes
- An attempt to fix QNetworkReply.UnknownNetworkError (99) when connecting to Core by @kozlovsky in #7019
- Fix/stop Core on components startup exception by @kozlovsky in #7021
- Show the last error code and error name on timeout in EventRequestManager by @kozlovsky in #7020
- Add
format_error_message
function to CoreManager by @drew2a in #7014
Full Changelog: v7.12.1-RC1...v7.12.1-RC2
v7.12.1-RC1
Overview
This release fixes several start-up issues when Tribler GUI freezes during the load screen or shows a "cannot connect to the Tribler Core" error and several shutdown issues when the Tribler Core process does not finish after the Tribler GUI process crash. Some other bugs are fixed as well.
Bugfixes
- Fix CoreConnectionError by @kozlovsky in #7001
- Handle exceptions in UpgradeManager by @kozlovsky in #7007
- EventManager's timeout should ignore the upgrade duration by @kozlovsky in #7006
- Proper shut down of the Tribler Core process if the GUI process crashes by @kozlovsky in #6995
- ProcessChecker refactoring by @drew2a in #6941 (cherry-picked in #6997)
- Fix failing GUI test on Linux Github action by @xoriole in #6982
- Handle TypeError on tdef to metadata conversion by @xoriole in #6991
- Add Null check for
entry.tag_processor_version
by @drew2a in #7009
Full Changelog: v7.12.0...v7.12.1-RC1
v7.12.0
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 since the 7.11 release:
- Fix #6968 Tribler freezes and requires "Force shutdown" on exit by @kozlovsky in #6969
- Libtorrent session state gets lost when upgrading to a new Tribler version, fixed in #6978 by @kozlovsky
- Fix Tribler crash when pressing Ctrl+O (Cmd+O on OSX) to add a torrent from a file, fixed in #6980 by @kozlovsky
- Fixes #6929 by @drew2a in #6937: Can't open the torrent file from the browser by clicking on it
- Fix #6961 Error when removing entries from the FeedbackDialog by @kozlovsky in #6962
- Fix the Tribler crash after the closing of FeedbackDialog by @kozlovsky in #6960
- Fix the upgrader logic if the tags db file was not created yet by @kozlovsky in #6956
- If a user decides to send a Tribler crash report, Tribler confirms that the report has been sent, but actually, it does not send anything, fixed in #6974 by @kozlovsky
- 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 progress bar 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 the 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 the 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
- Add a possibility to manually trigger GUI and Core exceptions in Tribler for debugging purposes by @kozlovsky in #6959
- 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
v7.12.0-RC4
Overview
This release candidate includes important bugfixes, see the section "latest bugfixes of the v7.12.0-RC4 release"
- 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
Latest bugfixes of RC4 release:
- If a user decides to send a Tribler crash report, Tribler confirms that the report has been sent, but actually, it does not send anything, fixed in #6974
- Libtorrent session state gets lost when upgrading to a new Tribler version, fixed in #6978
- Fix Tribler crash when pressing Ctrl+O (Cmd+O on OSX) to add a torrent from a file, fixed in #6980
Bugfixes since 7.11 release:
- Fixes #6929 by @drew2a in #6937: Can't open torrent file from browser by clicking on it
- Fix #6968 Tribler freezes and requires "Force shutdown" on exit by @kozlovsky in #6969
- Fix #6961 Error when removing entries from the FeedbackDialog by @kozlovsky in #6962
- Fix the Tribler crash after closing of FeedbackDialog by @kozlovsky in #6960
- Fix the upgrader logic if the tags db file was not created yet by @kozlovsky in #6956
- Add a posiibility to manually trigger GUI and Core exceptions in Tribler for debugging purposes by @kozlovsky in #6959
- 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-RC4
v7.12.0-RC3
Overview
This release candidate includes important bugfixes, see "latest bugfixes of the v7.12.0-RC3 release"
- 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
Latest bugfixes of RC3 release:
- Fixes #6929 by @drew2a in #6937: Can't open torrent file from browser by clicking on it
- Fix #6968 Tribler freezes and requires "Force shutdown" on exit by @kozlovsky in #6969
- Fix #6961 Error when removing entries from the FeedbackDialog by @kozlovsky in #6962
- Fix the Tribler crash after closing of FeedbackDialog by @kozlovsky in #6960
- Fix the upgrader logic if the tags db file was not created yet by @kozlovsky in #6956
- Add a posiibility to manually trigger GUI and Core exceptions in Tribler for debugging purposes by @kozlovsky in #6959
Bugfixes since 7.11 release:
- 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-RC3
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