There is a newer version of this record available.

Software Open Access

Tribler/tribler: V7.11.0-RC1

Martijn de Vos; Lipu Fei; Niels Zeilemaker; Egbert Bouman; Vadim Bulavintsev; S. Pan; Elric Milon; Andrei Andreev; Quinten Stokkink; Boudewijn; Alexander Kozlovsky; Christian Clauss; Laurens Versluis; Rob Ruigrok; Paul Brussee; Chris Tanaskoski; Ardhi Putra Pratama; Captain-Coder; Pim Veldhuisen; Johan Pouwelse; Bulat Nasrulin; Rutger; Solomon1732; JeffGoderie; Riccardo Petrocco; wtud; Steffan Norberhuis; António Fraga; PetervB; Daniel Aleksandersen


Citation Style Language JSON Export

{
  "publisher": "Zenodo", 
  "DOI": "10.5281/zenodo.5742467", 
  "title": "Tribler/tribler: V7.11.0-RC1", 
  "issued": {
    "date-parts": [
      [
        2021, 
        11, 
        30
      ]
    ]
  }, 
  "abstract": "<p><strong>Changelog</strong>\nv7.11.0 includes a feature to add tags to torrents and several bug fixes and improvements. Futher, the code has been refactored and simplified. A more detailed list of changes are listed below:</p>\n<ul>\n<li>Add check on empty completions_list</li>\n<li>Update build/win/makedist_win.bat</li>\n<li>Install pip dependencies during Linux, Windows and MacOS build</li>\n<li>Specify version of typing_extension (temporarily in makedist_win.bat)</li>\n<li>Add typing_extensions to hiddenimports</li>\n<li>Add more logging on shutdown</li>\n<li>Fix for <code>LookupError: unknown encoding: idna</code> in <code>resolve_addresses</code></li>\n<li>Handle psutil.NoSuchProcess exception when calling psutil.Process(old_pid).status()</li>\n<li>Remove lock file and flush logs when Tribler crashes</li>\n<li>Suppress reporting of errors to Sentry on Tribler exit (necessary when run Tribler via Application Tester)</li>\n<li>Do not report KeyboardInterrupt exception to Sentry</li>\n<li>Suppress exception on failed write to stdout during the application shutdown</li>\n<li>Specify versions in requirements.txt for all components</li>\n<li>Update ru_RU translation</li>\n<li>Add CoreRuntimeError to the error list that cause tribler shutdown</li>\n<li>Fix bug with space inside filter field</li>\n<li>Remove unused ErrorHandlingSettings</li>\n<li>Fixed crash when editing tag</li>\n<li>Update sentry</li>\n<li>Remove obsolete hidden import pkg_resources.py2_warn</li>\n<li>Fix \"no module named typing_extensions\" error on Windows</li>\n<li>Fix \"no module named pydantic\" error on Windows</li>\n<li>Fixes ZeroDivisionError in pyqtgraph\\graphicsItems\\ButtonItem.py</li>\n<li>Fix ImportError \"cannot import name dataclasses\"</li>\n<li>Changed click box of 'create tags' message</li>\n<li>Explicitly name fixtures</li>\n<li>Fixes #6263 - Tribler should open FeedbackDialog if error happend in Core during startup</li>\n<li>Refactor error reporting chain</li>\n<li>Added social media links to README</li>\n<li>Remove an unnecessary second connection to the <code>/events</code> endpoint from GUI</li>\n<li>Add ImportError filtering to patch_import</li>\n<li>Remove unnecessary dependencies</li>\n<li>Add the common package to dependency check</li>\n<li>Add mock_import to docs build</li>\n<li>Make requirements.txt a single source of trust for dependencies</li>\n<li>Change documentation to pip install requirements.txt</li>\n<li>Add test_to_fts_query for better coverage</li>\n<li>Fixes #6514: Move to_fts_query to tribler_common.utilities from tribler_gui.utilities</li>\n<li>Fixed emoji drawing in labels/combo box on Linux</li>\n<li>Assigning random category to generated torrents</li>\n<li>Embedding and loading Emoji font on Linux</li>\n<li>Removed bitcoinlib logic from tribler.spec</li>\n<li>Pass type of core exception to GUI, suppress reporting of repeated errors</li>\n<li>Defensive programming for cases when tags_db is not available</li>\n<li>Set failfast option to False when starting Tribler core; re-raise exception from <code>component.start()</code> in a separate task to prevent Tribler from crashing on start</li>\n<li>Add <code>should_stop</code> field to TRIBLER_EXCEPTION notification from Core to GUI</li>\n<li>Add MissedDependency subclass of ComponentError to avoid excessive traceback spam in log when a dependency for multiple components is missing</li>\n<li>Fix and speedup hidden services test</li>\n<li>Resetting window coordinates if not visible</li>\n<li>Fixed Tribler window position on initial load</li>\n<li>Avoid using default category/filters in tests</li>\n<li>Fix search autosuggestions</li>\n<li>Fixes #6455: incorrect search results when a query contains spaces</li>\n<li>Remove unused code</li>\n<li>Moved tag rect metadata to separate field in model</li>\n<li>Add on_acknowledgement validation</li>\n<li>Add on_write_request data size validation</li>\n<li>Check user channel torrents in ascending order</li>\n<li>Rename channel torrents checker methods</li>\n<li>Update comments on torrent checker tests</li>\n<li>Update test to check channel torrents</li>\n<li>Add periodic checking of channel torrents health</li>\n<li>Speed up tests for EVA protocol</li>\n<li>Merge different modules and components</li>\n<li>Remove bootstrap.py</li>\n<li>Moved torrent to the common module</li>\n<li>Replace test torrent</li>\n<li>Changed keyword in add tags dialog</li>\n<li>Customized tag colors</li>\n<li>Sort popular torrents on descending order of seeder count</li>\n<li>Revert {pk, tag, infohash} clock</li>\n<li>Verify tag not contains any spaces</li>\n<li>Change threshold formula</li>\n<li>Increased tag height and padding</li>\n<li>Implemented tag suggestions</li>\n<li>Made row height more dynamic</li>\n<li>Add secondary key to Key Component</li>\n<li>Improved the text in the add tags dialog</li>\n<li>Saving tags on enter key press</li>\n<li>Not showing edit tags dialog on button right click</li>\n<li>Expand toplevel dir by default in add torrent dialog and downloads (#6464)</li>\n<li>Fix losing selected files when switching to another download</li>\n<li>Move RQC to MDS</li>\n<li>Added GUI tests</li>\n<li>Implemented multi-line tag editing</li>\n<li>Decreased edit tag pencil size</li>\n<li>Increased margins of dialog</li>\n<li>Split text in dialog to two sentences</li>\n<li>Limiting the number of tags shown</li>\n<li>Added GUI elements for the tagging system</li>\n<li>Made horizontal margin of DialogContainer flexible</li>\n<li>Converting to forward slashes when loading images</li>\n<li>Customized QCheckBox widgets in the GUI</li>\n<li>Fixed index of stacked widget in settings page</li>\n<li>Tree view for download details and add download dialog</li>\n<li>Apply suggestions from PR</li>\n<li>Add Tags feature</li>\n<li>Merge Socks Server module and component</li>\n<li>Modified shutdown procedure in GUI tests</li>\n<li>Remove unnecessary lines</li>\n<li>Merge reporter</li>\n<li>Fixed Marshmallow REST schemas</li>\n<li>Merge resource_monitor</li>\n<li>Merge Popularity Component</li>\n<li>Added GUI test for closing dialogs with ESC key</li>\n<li>Fixed escape signal in the GUI</li>\n<li>Fixed page title color inconsistency</li>\n<li>Removed popular torrents explanation box</li>\n<li>Add anyio-based happy eyeballs concurrent requests to remote Channels</li>\n<li>Add anyio to third-party and requirements lists</li>\n<li>Fixed status code check in REST API tests</li>\n<li>Fixed GUI dialog position on show</li>\n<li>Merge Payout</li>\n<li>Update development_on_linux.rst (#6424): Fedora guide</li>\n<li>Move libtorrent utils</li>\n<li>Fixes #6358: correct component's shutdown</li>\n<li>Removed channels from metadata endpoint docstring</li>\n<li>Changed hover cursor of buttons in settings pane</li>\n<li>Changed the color of the browse button icon</li>\n<li>Fixes #6407: <code>RESTManager.get_endpoint(endpoint_name)</code> should return None instead of raising KeyError if the endpoint does not exist</li>\n<li>Slightly increased width of 'health' column</li>\n<li>Adding visual indicator on search bar focus</li>\n<li>Introduce init and unload methods in ipv8_component</li>\n<li>Rename events to avoid misunderstanding them as bool attributes: started -&gt; started_event, unused -&gt; unused_event</li>\n<li>Fixes component.unused event (it was set always)</li>\n<li>Fixes #6359: handle exceptions in component's shutdown() method</li>\n<li>Fix base component tests</li>\n<li>Rename a component attribute: in_use_by -&gt; reverse_dependencies</li>\n<li>Rename a component attribute: components_used_by_me -&gt; dependencies</li>\n<li>Adopt to the new components system</li>\n<li>Remove test-gatekeeper.sh file</li>\n<li>Remove empty comment</li>\n<li>Rename BandwidthAccountingCommunity file</li>\n<li>Add PR policies</li>\n<li>Remove unused variables from utilities.py</li>\n<li>Removed redraw on mouse movement</li>\n<li>Merge masterkey</li>\n<li>Fixed row selection when scrolling</li>\n<li>Fixed row deselection when scrolling/moving mouse</li>\n<li>Cleanup imports in component files</li>\n<li>Add missed readable status in TorrentCheckerComponent</li>\n<li>Add @pytest.mark.asyncio to test functions</li>\n<li>Pass named arguments to init_endpoints and init_ipv8_endpoints for better readability</li>\n<li>Call base run() method of RestfulComponent</li>\n<li>Stop prepending ipv8 endpoints with slashes</li>\n<li>Extract RestfulComponent.init_ipv8_endpoints() method from RestfulComponent.init_endpoints()</li>\n<li>Release rest endpoints in RestfulComponent.shutdown()</li>\n<li>Connect to real endpoints in tests instead of just mocking them</li>\n<li>Fixes #6360: Optional dependency on REST manager in components</li>\n<li>Fixed test_popular_page</li>\n<li>Significantly reduced number of redraws in GUI</li>\n<li>Fixed minor bug when reloading table view</li>\n<li>Implement row deselection on mouse leave</li>\n<li>Removed redundant hoverrow variable</li>\n<li>Move gigachannel community to the corresponding component</li>\n<li>Fix family filter</li>\n<li>Fix ghost downloads progress bar in Channels</li>\n<li>Fix dropping selected files on change anonymity in download dialog</li>\n<li>Fix race condition in the GUI</li>\n<li>Fix incorrect usage of string column names instead of enums</li>\n<li>Fix incorrect text filter on going back in Channels</li>\n<li>Replace magic number in GUI</li>\n<li>Remove config.torrent_checking.enabled</li>\n<li>Fix speed_test_exit.py</li>\n<li>Fix hidden_peer_discovery experiment</li>\n<li>Fix initial_filling experiment</li>\n<li>Merge bandwidth_accounting</li>\n<li>Add freezegun to requirements-test</li>\n<li>Fix corner-case bump amount problem in VSIDS</li>\n<li>Fix test squash_mdblobs failing randomly</li>\n<li>Fix random fails in chunk splitting test</li>\n<li>Add pytest asyncio markers to components tests</li>\n<li>Reduce force shutdown waiting time</li>\n<li>Fix ProcessChecker usage</li>\n<li>Move tests to proper dir in tribler-common</li>\n<li>Move ProcessChecker to tribler-common</li>\n<li>Move osutils to tribler-common</li>\n<li>Fix crash on race condition on show results button in GUI</li>\n<li>Fix crash on trying to go back on empty Channels stack in the GUI</li>\n<li>Increase maximum request size for AIOHTTP to 2MB</li>\n<li>Demote some logging messages to debug level</li>\n<li>Fix GUI tests not starting after refactoring</li>\n<li>Move components to one folder up</li>\n<li>Add base tests for components</li>\n<li>Fix test_dependency_missed</li>\n<li>Remove None checks from shutdown</li>\n<li>Remove \"required\" option from Component.use()</li>\n<li>Switch \"use\" usage from \"Mock\" to \"None\"</li>\n<li>Remove \"enable_in_gui_test_mode\" and \"enabled\" from Component class</li>\n<li>Remove components interfaces</li>\n<li>Remove should_be_enabled and make_implementation</li>\n<li>Move components_gen to start_core.py</li>\n<li>Increased width of the 'subscribed' section</li>\n<li>Fixed vertical text alignment in table headers</li>\n<li>Fixed on_report_sent callback in GUI tests</li>\n<li>Removed unused TickWidgetItem</li>\n<li>Fix adding FFA entries on torrentinfo calls (#6349)</li>\n<li>add CODEOWNERS</li>\n<li>Remove calls ipv8.overlays.append(community)</li>\n<li>Switch to modern IPv8 Community addition</li>\n<li>Fixed db loading of bandwidth accounting</li>\n<li>Fixed shutdown in GUI test mode</li>\n<li>Using separate channel db in GUI test mode</li>\n<li>Fix race condition on SOCKS server startup (#6336)</li>\n<li>Fix notifier not working from a thread (#6337)</li>\n<li>Fix community component shutdown leaving stuff behind</li>\n<li>Change gaierror import</li>\n<li>Fix GUI crash on CheckClickedMixin accessing non-existing column (#6321)</li>\n<li>Increase EVA tests timeout</li>\n<li>Update requirements.txt (#6325)</li>\n<li>Add .readthedocs.yml file to use python3.8</li>\n<li>Fix documentation issue with swagger extraction</li>\n<li>Add tests for Download get_extended_status</li>\n<li>Add missing attribution to froze_it wrapper</li>\n<li>Fix debug endpoint crashing on disabled profiler</li>\n<li>Set exitnode cache path on Tunnel community initialization</li>\n<li>Update the main doc</li>\n<li>Remove obsolete parts</li>\n<li>Remove dangling stub tab in Channels Debug pane</li>\n<li>Fix loading placeholder item clickable in downloads list</li>\n<li>Remove DEBIAN (caps, now obsolete) directory from build</li>\n<li>Fix dch changelog for special characters</li>\n<li>Fix debian/changelog file</li>\n<li>Compose dch changelog using git commits</li>\n<li>Remove dch command from update_version_from_git.py file</li>\n<li>Update debian packaging files and script</li>\n<li>Fix argument checking in run_tunnel_helper.py</li>\n<li>Fix run_tunnel_helper.py</li>\n<li>Extract make_config() function</li>\n<li>Move port action classes closer to main() function</li>\n<li>Remove unnecessary <code>loop</code> fixture from tests</li>\n<li>Test for missed optional dependency</li>\n<li>Optional component dependencies: self.use(SomeComponent, required=False)</li>\n<li>Base component tests</li>\n<li>Rename: test_components.py -&gt; test_tribler_components.py</li>\n<li>Output component's initialization error to stderr</li>\n<li>Remove unused imports</li>\n<li>Don't create a Tribler subfolder in the Start</li>\n<li>Add teen* back on the blocklist</li>\n<li>Don't filter any groups of people out of existence</li>\n<li>Remove IPv8 hidden imports in tribler.spec</li>\n<li>Test for initialization of Ipv8ComponentImp in GUI test mode</li>\n<li>Add tests for better coverage of Ipv8ComponentImp</li>\n<li>Fixes #6269, fixes #6270: DiscoveryCommunity and DHTDiscoveryCommunity disregards config setting</li>\n<li>Fixes #6267: crash when clicking in channel with torrent_checking disabled</li>\n<li>Fixes #6266: uncaught error when starting with tunnel_community disabled</li>\n<li>Fixes #6265: start Tribler with ipv8 disabled</li>\n<li>Fixes #6255: make <code>faifast</code> an option of the Session.start() method</li>\n<li>Fixes #6262, fixes #6268: correct delayed initialization of endpoints</li>\n<li>Fixes #6257: restore lint checks for tests</li>\n<li>Fixes #6250, fixes #6251: each community should use a separate bootstrapper</li>\n<li>Fixes #6245: fix DiscoveryCommunity target_peers number of RandomWalk strategy</li>\n<li>Initial version of components tests</li>\n<li>Remove obsolete commented out code</li>\n<li>Fix GUI tests</li>\n<li>Pylint fixes</li>\n<li>Make Session object a context manager</li>\n<li>Simplify create_state_directory_structure</li>\n<li>Use STATEDIR_DB_DIR instead of a hardcoded path component</li>\n<li>Refactoring: remove tribler_core/session.py to simplify code structure</li>\n<li>Simplify components API</li>\n<li>Renaming: core_test_mode -&gt; gui_test_mode</li>\n<li>Renaming: TrustchainComponent -&gt; MasterKeyComponent</li>\n<li>Annotate inherited methods with types</li>\n<li>Move ipv8 endpoints initialization into corresponding components</li>\n<li>Refactor Trustchain keypair and Sentry reporter into components</li>\n<li>Simplified components with mocks</li>\n<li>Merge DHTDiscoveryCommunityComponent and DiscoveryCommunityComponent to Ipv8Component</li>\n<li>Merge Ipv8BootstrapperComponent into Ipv8Component</li>\n<li>Merge Ipv8PeerComponent into Ipv8Component</li>\n<li>Remove obsolete json encoding (not supported in Python 3.9)</li>\n<li>Delete old session tests</li>\n<li>Disable lint checking tests</li>\n<li>Rename session to rest_api in endpoint tests</li>\n<li>Small refactor of TrustViewEndpoint</li>\n<li>Rename component attributes</li>\n<li>Refactor SOCKS5 servers initialization</li>\n<li>Refactor run_tribler</li>\n<li>Fix GUI tests</li>\n<li>Refactor tunnels community to get downloads info via polling</li>\n<li>Fix tunnels test</li>\n<li>Fix shutdown</li>\n<li>Move components implementation to a dedicate folder</li>\n<li>Statically typed components</li>\n<li>Fix GigaChannelCommunity.create_introduction_response signature to satisfy linter</li>\n<li>Fix download enpoint tests</li>\n<li>Tunnel test fixes</li>\n<li>Fix channels download test</li>\n<li>Upgrader works</li>\n<li>Everything works</li>\n<li>Update ipv8 pointer</li>\n<li>More async refactoring</li>\n<li>Config fixes</li>\n<li>Asynchronous start of components</li>\n<li>Fix GUI not starting</li>\n<li>Small refactor</li>\n<li>Revert tool's example</li>\n<li>Rename Factory and add Component Mixin</li>\n<li>Fix channel endpoint tests</li>\n<li>Fix search endpoint tests</li>\n<li>DI v1 (no tests)</li>\n<li>Restore endpoints</li>\n<li>Remove launchers and fix some tests</li>\n<li>Add a bash script to build documentation</li>\n<li>fix: doc/requirements.txt to reduce vulnerabilities</li>\n<li>Silently pass when user tries to add duplicate torrents to channel</li>\n<li>Fix removing all peers for channel, instead of the failing one</li>\n<li>Add pydantic dependency check</li>\n<li>Add 3 decimal precision on token graph</li>\n<li>Update token balance graph data axis</li>\n<li>Disable EVA timeout in test_duplex</li>\n<li>Remove Session god-mediator-object</li>\n<li>Remove DateAxisItem custom implementation</li>\n<li>Add mock for sentry modules in doc</li>\n<li>Add pydantic as doc dependency</li>\n<li>Add missing dependencies for building docs</li>\n<li>Remove database_blob from codebase</li>\n<li>Remove glitchy flake8 option</li>\n<li>Show individual overlay peers in the debug panel</li>\n<li>Add config-env relationship to TriblerConfig</li>\n<li>Remove get_hiddenimports</li>\n<li>Change session community loader logic</li>\n<li>Extract preconditions from communities loaders</li>\n<li>Extract loaders from ipv8_module_catalog.py</li>\n<li>Removed unused print</li>\n<li>Add shutdown call to created mds instances</li>\n<li>Delete test artifacts</li>\n<li>Refactor tribler communities structure</li>\n<li>Disable EVA terminate by timeout in test_multiply_duplex</li>\n<li>Add pydantic</li>\n<li>Disable EVA timeout in test_dynamically_changed_window_size</li>\n<li>Fix display name capitalization</li>\n<li>Fixed MockDHTProvider import path</li>\n<li>Updated IPv8 pointer</li>\n<li>Add types</li>\n<li>Refactoring path_util.py</li>\n<li>Split tribler_config.spec</li>\n<li>Remove getters and setters</li>\n<li>Add put and get for paths</li>\n<li>Refactor constructor(), load() and save()</li>\n<li>Adopt AppStream</li>\n<li>Remove references of json_util</li>\n<li>Remove generated test data from gitignore</li>\n<li>Remove port assignation from config</li>\n<li>Refactor network utils</li>\n</ul>", 
  "author": [
    {
      "family": "Martijn de Vos"
    }, 
    {
      "family": "Lipu Fei"
    }, 
    {
      "family": "Niels Zeilemaker"
    }, 
    {
      "family": "Egbert Bouman"
    }, 
    {
      "family": "Vadim Bulavintsev"
    }, 
    {
      "family": "S. Pan"
    }, 
    {
      "family": "Elric Milon"
    }, 
    {
      "family": "Andrei Andreev"
    }, 
    {
      "family": "Quinten Stokkink"
    }, 
    {
      "family": "Boudewijn"
    }, 
    {
      "family": "Alexander Kozlovsky"
    }, 
    {
      "family": "Christian Clauss"
    }, 
    {
      "family": "Laurens Versluis"
    }, 
    {
      "family": "Rob Ruigrok"
    }, 
    {
      "family": "Paul Brussee"
    }, 
    {
      "family": "Chris Tanaskoski"
    }, 
    {
      "family": "Ardhi Putra Pratama"
    }, 
    {
      "family": "Captain-Coder"
    }, 
    {
      "family": "Pim Veldhuisen"
    }, 
    {
      "family": "Johan Pouwelse"
    }, 
    {
      "family": "Bulat Nasrulin"
    }, 
    {
      "family": "Rutger"
    }, 
    {
      "family": "Solomon1732"
    }, 
    {
      "family": "JeffGoderie"
    }, 
    {
      "family": "Riccardo Petrocco"
    }, 
    {
      "family": "wtud"
    }, 
    {
      "family": "Steffan Norberhuis"
    }, 
    {
      "family": "Ant\u00f3nio Fraga"
    }, 
    {
      "family": "PetervB"
    }, 
    {
      "family": "Daniel Aleksandersen"
    }
  ], 
  "version": "v7.11.0-RC1", 
  "type": "article", 
  "id": "5742467"
}
1,476
406
views
downloads
All versions This version
Views 1,47621
Downloads 4061
Data volume 3.8 GB4.3 MB
Unique views 1,37817
Unique downloads 821

Share

Cite as