Releases: Tribler/tribler
v7.13.0-RC3
Overview
This release has important bug fixes that improve Tribler speed and stability.
What's Changed Since the Latest RC2 Release:
Startup/Shutdown Logic Fixes
- Fixes TriblerProcess.is_running() by @kozlovsky in #7461
The Application Logic Fixes
- Add Logging for Slow Database Sessions by @kozlovsky in #7494
- Handle no space available situation on upgrade by @xoriole in #7496
- Consider HealthInfo with negative seeders and leechers as invalid by @drew2a in #7487
- The
get_circuit_slots
method ofDebugEndpoint
should handle the case whentunnel_community
isNone
by @kozlovsky in #7504
UI Fixes
- Fix crash on Ubuntu while selecting File Chooser by @xoriole in #7484
- Fixes the download torrent dialog behavior after closing it by clicking somewhere outside the dialog area by @kozlovsky in #7465
- Fixes #7473 FileNotFoundError when displaying the settings page by @kozlovsky in #7474
- Handle
IndexError
by @drew2a in #7480 - Fixes #7462 The Tribler window does not unminimize when clicking on a torrent file by @kozlovsky in #7463
Error-Handling Fixes
- Fixes #7467 ConnectionResetError by @kozlovsky in #7472
- Fixes the space bug in the Sentry Scrubber by @drew2a in #7470
- Fixes #7406 UnicodeDecodeError in on_tracker_error_alert by @kozlovsky in #7468
- Print
Queue is full
once per 5 seconds by @drew2a in #7493 - Accept error values of any type in TriblerProcess.set_error by @kozlovsky in #7537
Test fixes
- Modify the pytest output to include the execution duration for all tests by @drew2a in #7482
- Fix GUI Test non-zero exit code by @xoriole in #7501
- Fix calling
await app.shutdown()
in REST API tests by @kozlovsky in #7502 - Fix the
get_torrent_health
endpoint in GUI tests by @kozlovsky in #7505 - Use TestError instead of AssertionError in test to avoid confusion by @kozlovsky in #7503
- Fix print issue on core manager repeated test by @xoriole in #7511
Build fixes
- Fix ImportError: DLL load failed while importing libtorrent: The specified module could not be found by @kozlovsky in #7533
What's Changed Since the Tribler 7.12:
Overview
We're ecstatic to introduce the latest version of Tribler, packed with exciting features and significant enhancements! Here's a rundown of the most notable changes:
Instant search with superior result quality:
- Experience lightning-fast local search queries, now 100x faster than in the previous release (because of broken feature) (#7166);
- Enjoy real-time, remote results from other peers as they appear instantly (#7025);
- Benefit from an advanced ranking algorithm that considers multiple factors, such as title structure, creation date, and the number of seeders/leechers (#7025);
- Discover similar results for known content categories, now conveniently grouped for an improved UI experience.
We're confident that you'll love the revamped search experience. As more peers upgrade to the new version, the distributed search will deliver even higher-quality results with the enhanced ranking system!
With these updates, Tribler is gradually evolving into a decentralized search engine, rivaling the speed of YouTube's video search.
Introducing the Knowledge Component: A Leap Towards Decentralized Search Excellence
Google's power resides in its PageRank algorithm. Creating a decentralized alternative to Big Tech has proven challenging, but with this release, we take another small step on this journey. Our ultimate goal is to achieve self-organizing trust, the fundamental building block for a decentralized PageRank system. The concrete use-case we aim to address is collective decision-making in the peer-to-peer world, such as determining whether Justin Bieber is gay.
Is Justin Bieber gay?
Explore the details of this scientifically serious issue related to trust, spam, and crowdsourcing. For the record, we believe Justin Bieber's music is neither Black Metal
nor gay
. We consider this an exemplary use-case for Tribler's zero-trust architecture to solve. Our distributed trust ledger has been under incremental development since before Bitcoin. We have not yet deployed our decentralized reputation and trust framework, as our MeritRank algorithm is still not ready for production. However, we have upgraded the BitTorrent tag-based metadata enrichment from pure text labels into the KnowledgeComponent
(#7070). As a test, we offer semantic clustering within Tribler when searching for "Ubuntu," providing cleaner search results and filtering duplicates.
No other peer-to-peer project, such as IPFS, Mojo Nation, or Freenet, has ever cracked semantic search. With the KnowledgeComponent
, we take another challenging step towards a Google-quality search engine. It signifies a move towards semantics, a search engine that understands your preferences and helps you discover content without interference from lawyers or governments.
Creative Commons licensed promotional picture:
Enhanced Torrent Health: Accurate Sharing Between Peers
Tribler peers exchange information about torrent popularity, allowing torrents with a substantial number of seeders to appear on the "Popular" page and receive priority in search results. We identified several critical bugs (#7295) in the previous algorithm, causing invalid torrent health records to spread across the network and skew the results on the "Popular" page. These bugs have now been fixed, and the gossiping algorithm has been optimized for efficient sharing of popular torrents (#6950).
Improved Stability for a Smoother Experience
This release of Tribler is set to be the most stable in recent times. Our development team has successfully identified and resolved numerous obscure bugs that previously led to crashes and freezes. We're confident that this version of Tribler will impress you with its enhanced stability and reliability.
Get paid to work on Tribler and earn a phd?
See open position: PhD Decentralised Machine Learning
- Challenge: Developing and building a fully decentralised video search engine.
- Change: Eliminating the need for servers when developing machine learning.
- Impact: Safe machine learning benefiting billions of users.
Features
- 100x speedup for full-text search queries with better quality by @kozlovsky in #7025, #7166, #7259
- Upgrade the
TagComponent
to theKnowledgeComponent
by @drew2a in #7070 - #2455 Added edit metadata GUI elements by @devos50 in #7112
- Update Popularity community by @xoriole in #6950
- Add Tribler translation to Spanish by @Manuel-Senpai in #7235, #7246
Bugfixes
(click to view)
- Fix #7295 invalid health records infect Tribler nodes and spread from machine to machine fixed by @kozlovsky & @drew2a in #7286, #7313, #7322
- Add ProcessLocker to ensure that no more than one Tribler GUI/Core process runs locally at any moment by @kozlovsky in #7212
- Hopefully fix #7137 CoreConnectTimeoutError: Could not connect with the Tribler Core within 120 seconds by @kozlovsky in #7251
- #6994 Tribler Core process continues to work after the GUI process crash by @kozlovsky in #6995
- #5833 WatchFolder PermissionDenied by @drew2a in #6966, #7016
- #6884 Add Magnet Dialog disappears until restarted by @drew2a in #6885
- #6890 Fix Eva InvalidStateError by @drew2a in #6891
- #6833 Avoid incorrect padding by @drew2a in #6898
- #6973 Rewrite window geometry restoring by @drew2a in #7008
- #6987 Handle incorrect tracker URLs by @drew2a in #7012
- #3037 Fix "bencoded item count limit exceeded" by @drew2a in #7015
- #7051 Fix stack overflow for a torrent with a deep directory structure by @kozlovsky in #7052
- #5816 RuntimeError: nested asn1 error by @drew2a in #7128, #7302
- Fix initialization of Ipv8Endpoint in RESTComponent by @kozlovsky in #7044
- #7053 Tribler becomes unresponsive with a large tags.db by @drew2a in #7062
- Fix #7065 error while attempting to bind on address by @drew2a #7071
- #7080 The Upgrader might not copy some files by @drew2a in #7083
- #7077 Tribler is asking to upgrade version too frequently by @drew2a in #7101, by @vi in #7102
- #7107 Error on rendering tablecontentdelegate by @xoriole in #7108
- #6699 the width of the Size column on Windows when the display scaling is more than 100% by @kozlovsky in #7131
- #7056 adding torrent with invalid magnet link to channel by @xoriole in #7058
- #7106 crash when file progress is empty by @xoriole in #7114
- #7149 Core Tribler not...
v7.13.0-RC2
Overview
This release has important bug fixes that improve Tribler speed and stability.
What's Changed Since the Latest RC1 Release:
Stability fixes:
- Properly stop the non-primary process by @kozlovsky in #7349
- Detect slow coroutines and freezes in the asyncio loop by @kozlovsky in #7414
- Fixes #7344: AssertionError "transport is not None" in aiohttp/web_request.py by @kozlovsky in #7385
- Temporarily increase the core manager API port check timeout to be sure it is big enough by @kozlovsky in #7419
- Profiling of slow coroutines by @kozlovsky in #7446
- Fix the step interval of DiscoveryBooster by @kozlovsky in #7449
- 100x speedup of EdgeWalk.take_step() by caching results of GigaChannelCommunity.guess_address() by @kozlovsky in #7450
- Add extended logging to RESTManager.site.start() call by @kozlovsky in #7451
- Send events to GUI only before shutdown and in the proper order by @kozlovsky in #7364
- Skip
on_tribler_exception
if EventsEndpoint is shutting down. by @drew2a in #7357 - Decrease the frequency of the
downloads
request by @drew2a in #7377 - Check on the ancient version by @drew2a in #7383
- Fix #7386 "The connection to the Tribler Core was lost" by @xoriole in #7387
- Ignore old responses for the DownloadsPage by @drew2a in #7391
- Stop sending requests after shutdown by @drew2a in #7405
- Suppress
ConnectionResetError
by @drew2a in #7404 - Make
KnowledgeRulesProcessor
less aggressive by @drew2a in #7418 - Add queue for multithread processing by @drew2a in #7417
UI-related fixes:
- Fix empty
saveas
issue by @drew2a in #7346 - Read the language file in
utf-8
encoding. by @drew2a in #7355 - Check EditMetadataDialog on closed by @drew2a in #7371
- Fix KeyError for translations by @drew2a in #7370
- Refactor the Downloads page by @drew2a in #7378
- Add a description to the error when trying to download a newer version of the channel by @kozlovsky in #7380
- Fixes #7395 "Labels on Discovered channels are missing" by @kozlovsky in #7402
- Fix
FileNotFoundError
by @drew2a in #7401 - Fix #7453 KeyError when clicking on a personal channel by @xoriole in #7454
Core-related fixes:
- Fix invalid handle when there is no torrent metadata by @xoriole in #7415
- Use a separate
misc
table for the KnowledgeDB by @drew2a in #7413 - Add reprocess feature for
KnowledgeRulesProcessor
by @drew2a in #7379 - Add
CONTENT_ITEM
relation by @drew2a in #7445
Test, build, and reports fixes:
- Disable logging in the faker module for pytest. by @drew2a in #7348
- Disable logging in tests for
faker.factory
andPyQT5.uic
by @drew2a in #7384 - Fix test check core API port timeout by @kozlovsky in #7420
- Add
tribler_stopped
tag to the Sentry by @drew2a in #7365 - Sentry: add the field
additional_information
by @drew2a in #7394 - Add an option to cease the collection of breadcrumbs by @drew2a in #7426
- Increase the size of log files from 100 kilobytes to 1 megabyte, and the number of log backups from 1 to 2 by @kozlovsky in #7455
- Pin pip version for the macOS build by @drew2a in #7375
- Remove events and requests from Sentry report by @drew2a in #7376
What's Changed Since the Tribler 7.12:
Overview
We're ecstatic to introduce the latest version of Tribler, packed with exciting features and significant enhancements! Here's a rundown of the most notable changes:
Instant search with superior result quality:
- Experience lightning-fast local search queries, now 100x faster than in the previous release (because of broken feature) (#7166);
- Enjoy real-time, remote results from other peers as they appear instantly (#7025);
- Benefit from an advanced ranking algorithm that considers multiple factors, such as title structure, creation date, and the number of seeders/leechers (#7025);
- Discover similar results for known content categories, now conveniently grouped for an improved UI experience.
We're confident that you'll love the revamped search experience. As more peers upgrade to the new version, the distributed search will deliver even higher-quality results with the enhanced ranking system!
With these updates, Tribler is gradually evolving into a decentralized search engine, rivaling the speed of YouTube's video search.
Introducing the Knowledge Component: A Leap Towards Decentralized Search Excellence
Google's power resides in its PageRank algorithm. Creating a decentralized alternative to Big Tech has proven challenging, but with this release, we take another small step on this journey. Our ultimate goal is to achieve self-organizing trust, the fundamental building block for a decentralized PageRank system. The concrete use-case we aim to address is collective decision-making in the peer-to-peer world, such as determining whether Justin Bieber is gay.
Is Justin Bieber gay?
Explore the details of this scientifically serious issue related to trust, spam, and crowdsourcing. For the record, we believe Justin Bieber's music is neither Black Metal
nor gay
. We consider this an exemplary use-case for Tribler's zero-trust architecture to solve. Our distributed trust ledger has been under incremental development since before Bitcoin. We have not yet deployed our decentralized reputation and trust framework, as our MeritRank algorithm is still not ready for production. However, we have upgraded the BitTorrent tag-based metadata enrichment from pure text labels into the KnowledgeComponent
(#7070). As a test, we offer semantic clustering within Tribler when searching for "Ubuntu," providing cleaner search results and filtering duplicates.
No other peer-to-peer project, such as IPFS, Mojo Nation, or Freenet, has ever cracked semantic search. With the KnowledgeComponent
, we take another challenging step towards a Google-quality search engine. It signifies a move towards semantics, a search engine that understands your preferences and helps you discover content without interference from lawyers or governments.
Creative Commons licensed promotional picture:
Enhanced Torrent Health: Accurate Sharing Between Peers
Tribler peers exchange information about torrent popularity, allowing torrents with a substantial number of seeders to appear on the "Popular" page and receive priority in search results. We identified several critical bugs (#7295) in the previous algorithm, causing invalid torrent health records to spread across the network and skew the results on the "Popular" page. These bugs have now been fixed, and the gossiping algorithm has been optimized for efficient sharing of popular torrents (#6950).
Improved Stability for a Smoother Experience
This release of Tribler is set to be the most stable in recent times. Our development team has successfully identified and resolved numerous obscure bugs that previously led to crashes and freezes. We're confident that this version of Tribler will impress you with its enhanced stability and reliability.
Get paid to work on Tribler and earn a phd?
See open position: PhD Decentralised Machine Learning
- Challenge: Developing and building a fully decentralised video search engine.
- Change: Eliminating the need for servers when developing machine learning.
- Impact: Safe machine learning benefiting billions of users.
Features
- 100x speedup for full-text search queries with better quality by @kozlovsky in #7025, #7166, #7259
- Upgrade the
TagComponent
to theKnowledgeComponent
by @drew2a in #7070 - #2455 Added edit metadata GUI elements by @devos50 in #7112
- Update Popularity community by @xoriole in #6950
- Add Tribler translation to Spanish by @Manuel-Senpai in #7235, #7246
Bugfixes
(click to view)
- Fix #7295 invalid health records infect Tribler nodes and spread from machine to machine fixed by @kozlovsky & @drew2a in #7286, #7313, #7322
- Add ProcessLocker to ensure that no more than one Tribler GUI/Core process runs locally at any moment by @kozlovsky in #7212
- Hopefully fix #7137 CoreConnectTimeoutError: Could not connect with the Tribler Core within 120 seconds by @kozlovsky in #7251
- #6994 Tribler Core process continues to work after the GUI process crash by @kozlovsky in #6995
- #5833 WatchFolder PermissionDenied by @drew2a in #6966, #7016
- #6884 Add Magnet Dialog disappears until restarted by @drew2a in #6885
- #6890 Fix Eva InvalidStateError by @drew2a in #6891
- #6833 Avoid incorrect padding by @drew2a in #6898
- #6973 Rewrite window geometry restoring by @drew2a in #7008
- #6987 Handle incorrect tracker URLs by @drew2a in #7012
- #3037 Fix "bencoded item count limit exceeded" by @drew2a in #7015
- #7051 Fix stack overflow for a torrent with a deep directory structure by @kozlovsky in #7052
- #5816 RuntimeError: nested asn1 error by @drew2a in #7128, #7302
- Fix initialization of Ipv8Endpoint in RESTComponent by @kozlovsky in #7044
- #7053 Tribler becomes unresponsive with a large tags.db by @drew2a in #7062
- Fix #7065 error while attempting to bind on address by @drew2a #7071
- #7080 The Upgrader might not copy some files by @drew2a in #7083
- #7077 Tribler is asking to upgrade version too frequently by @drew2a in #7101, by @vi in #7102
- #7107 Error on rendering tablecontentdelegate by @xoriole in #7108
- #6699 the width of the Size column on Windows when the display sca...
v7.13.0-RC1
Overview
We're ecstatic to introduce the latest version of Tribler, packed with exciting features and significant enhancements! Here's a rundown of the most notable changes:
Instant search with superior result quality:
- Experience lightning-fast local search queries, now 100x faster than in the previous release (because of broken feature) (#7166);
- Enjoy real-time, remote results from other peers as they appear instantly (#7025);
- Benefit from an advanced ranking algorithm that considers multiple factors, such as title structure, creation date, and the number of seeders/leechers (#7025);
- Discover similar results for known content categories, now conveniently grouped for an improved UI experience.
We're confident that you'll love the revamped search experience. As more peers upgrade to the new version, the distributed search will deliver even higher-quality results with the enhanced ranking system!
With these updates, Tribler is gradually evolving into a decentralized search engine, rivaling the speed of YouTube's video search.
Introducing the Knowledge Component: A Leap Towards Decentralized Search Excellence
Google's power resides in its PageRank algorithm. Creating a decentralized alternative to Big Tech has proven challenging, but with this release, we take another small step on this journey. Our ultimate goal is to achieve self-organizing trust, the fundamental building block for a decentralized PageRank system. The concrete use-case we aim to address is collective decision-making in the peer-to-peer world, such as determining whether Justin Bieber is gay.
Is Justin Bieber gay?
Explore the details of this scientifically serious issue related to trust, spam, and crowdsourcing. For the record, we believe Justin Bieber's music is neither Black Metal
nor gay
. We consider this an exemplary use-case for Tribler's zero-trust architecture to solve. Our distributed trust ledger has been under incremental development since before Bitcoin. We have not yet deployed our decentralized reputation and trust framework, as our MeritRank algorithm is still not ready for production. However, we have upgraded the BitTorrent tag-based metadata enrichment from pure text labels into the KnowledgeComponent
(#7070). As a test, we offer semantic clustering within Tribler when searching for "Ubuntu," providing cleaner search results and filtering duplicates.
No other peer-to-peer project, such as IPFS, Mojo Nation, or Freenet, has ever cracked semantic search. With the KnowledgeComponent
, we take another challenging step towards a Google-quality search engine. It signifies a move towards semantics, a search engine that understands your preferences and helps you discover content without interference from lawyers or governments.
Creative Commons licensed promotional picture:
Enhanced Torrent Health: Accurate Sharing Between Peers
Tribler peers exchange information about torrent popularity, allowing torrents with a substantial number of seeders to appear on the "Popular" page and receive priority in search results. We identified several critical bugs (#7295) in the previous algorithm, causing invalid torrent health records to spread across the network and skew the results on the "Popular" page. These bugs have now been fixed, and the gossiping algorithm has been optimized for efficient sharing of popular torrents (#6950).
Improved Stability for a Smoother Experience
This release of Tribler is set to be the most stable in recent times. Our development team has successfully identified and resolved numerous obscure bugs that previously led to crashes and freezes. We're confident that this version of Tribler will impress you with its enhanced stability and reliability.
Get paid to work on Tribler and earn a phd?
See open position: PhD Decentralised Machine Learning
- Challenge: Developing and building a fully decentralised video search engine.
- Change: Eliminating the need for servers when developing machine learning.
- Impact: Safe machine learning benefiting billions of users.
Features
- 100x speedup for full-text search queries with better quality by @kozlovsky in #7025, #7166, #7259
- Upgrade the
TagComponent
to theKnowledgeComponent
by @drew2a in #7070 - #2455 Added edit metadata GUI elements by @devos50 in #7112
- Update Popularity community by @xoriole in #6950
- Add Tribler translation to Spanish by @Manuel-Senpai in #7235, #7246
Bugfixes
(click to view)
- Fix #7295 invalid health records infect Tribler nodes and spread from machine to machine fixed by @kozlovsky & @drew2a in #7286, #7313, #7322
- Add ProcessLocker to ensure that no more than one Tribler GUI/Core process runs locally at any moment by @kozlovsky in #7212
- Hopefully fix #7137 CoreConnectTimeoutError: Could not connect with the Tribler Core within 120 seconds by @kozlovsky in #7251
- #6994 Tribler Core process continues to work after the GUI process crash by @kozlovsky in #6995
- #5833 WatchFolder PermissionDenied by @drew2a in #6966, #7016
- #6884 Add Magnet Dialog disappears until restarted by @drew2a in #6885
- #6890 Fix Eva InvalidStateError by @drew2a in #6891
- #6833 Avoid incorrect padding by @drew2a in #6898
- #6973 Rewrite window geometry restoring by @drew2a in #7008
- #6987 Handle incorrect tracker URLs by @drew2a in #7012
- #3037 Fix "bencoded item count limit exceeded" by @drew2a in #7015
- #7051 Fix stack overflow for a torrent with a deep directory structure by @kozlovsky in #7052
- #5816 RuntimeError: nested asn1 error by @drew2a in #7128, #7302
- Fix initialization of Ipv8Endpoint in RESTComponent by @kozlovsky in #7044
- #7053 Tribler becomes unresponsive with a large tags.db by @drew2a in #7062
- Fix #7065 error while attempting to bind on address by @drew2a #7071
- #7080 The Upgrader might not copy some files by @drew2a in #7083
- #7077 Tribler is asking to upgrade version too frequently by @drew2a in #7101, by @vi in #7102
- #7107 Error on rendering tablecontentdelegate by @xoriole in #7108
- #6699 the width of the Size column on Windows when the display scaling is more than 100% by @kozlovsky in #7131
- #7056 adding torrent with invalid magnet link to channel by @xoriole in #7058
- #7106 crash when file progress is empty by @xoriole in #7114
- #7149 Core Tribler notifier should work in async mode by @kozlovsky in #7151
- #7154 Error on clicking blank space below the item list on personal channel by @drew2a in #7155
- #7157 RuntimeError: invalid torrent handle used by @drew2a in #7157
- #7172 ValueError: invalid literal for int() with base 10 by refactoring get max_lines logic by @drew2a in #7173
- #7181 Enable token balance refresh only if widget is available by @xoriole in #7201
- #7059 Handle non-existing file in torrent info endpoint by @xoriole in #7203
- Link detection fix by @Dmole in #6716
- #7041 Request Error while pressing the "download" button by @drew2a in #7211
- #7177 Tribler does not close if left idle for a few hours by @xoriole in #7202
- #7213 ValueError: invalid literal for int() with base 10 in TorrentDef.is_private() by @kozlovsky in #7214
- #7216 AssertionError in RestManager.stop() by @kozlovsky in #7217
- #7218 Do not load Debug Window if settings is not available yet by @xoriole in #7219
- #7223 UnicodeDecodeError in on_metadata_received_alert by @drew2a in #7224
- #7225 ClientConnectorError: Cannot connect to host by @drew2a in #7226
- #7117 RuntimeError: invalid torrent handle used by @drew2a in #7230
- #7231 Ignore payout in the case of the
OrmError
happens by @drew2a in #7236 - #7271 ValueError: "Unable to convert 222222 to QColor" by @kozlovsky in #7272
- #7253 Tribler does not run if the state directory does not already exist by @kozlovsky in #7257
- #7187 A download in GUI fluctuates between "0%" and "Seeding" by @drew2a in #7205
- #7318 GUI downloads status update by @drew2a in #7319
- #7316 mathematical mistake in the download progress bar drawing by @drew2a in #7317
- #7321 KeyError while surfing through a channel's content by @kozlovsky in #7323
- Fix item_rank(), torrent_rank(), freshness_rank() functions by @kozlovsky in #7338
- #7333 On GUI side, handle Core REST API responses without data by @kozlovsky in #7334
- Rename the column with a torrent's creation date from "Updated" to "Created" to avoid confusion by @kozlovsky in #7340
- #6842 Some settings are not used if torrent loaded from watch folder by @drew2a in #6863
- #7314 long shutdown by @drew2a in #7315
- #7188 Add shutdown for the KnowledgeRulesProcessor by @drew2a in #7189
- #7192 Task was destroyed but it is pending! Transfer.start_request() by @drew2a in #7193
- Remove streaming related sentences from main README.md by @drew2a in #6826
Code improvements
(click to view)
- #7158 Limit the log size by @drew2a in #7160
- Obfuscate machine name for Sentry events by @drew2a in #7023
- Add core stdout breadcrumb by @drew2a in #7022, #7033
- #7066 Extract a real core error from
CoreError
for the Sentry Reporter by @drew2a in #7072 - Simplify Session class by @drew2a in #6955
- Add "subclass match" for session.get_instance() by @drew2a in #7060
- Improve the EVA protocol by @drew2a in #6831, #6889, #6878, #6882, #6883, #6887
- Config refactoring by @drew2a in #6879
- Add typing...
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