v8.8
-
v8.8
-
Changed
- RELIABILITY FIX: Previously, many outbound HTTP requests were made without a timeout, e.g. getting the number of pages/links to search from sources, the URLScan / VirusTotal / Intelligence X API calls, the Common Crawl index collection lookup (including the streaming download of index data), and the Discord / Telegram completion notifications. If a source server was slow or unresponsive, a worker thread could block indefinitely and
waymorewould appear to hang with no way to recover other than killing it. All outbound requests now apply a default timeout ofDEFAULT_TIMEOUT(30) seconds when one is not explicitly set. This is done via a newTimeoutSessionwrapper aroundrequests.Sessionthat is used for every request. Calls that already specify their own timeout (including archived response downloads controlled by the-t/--timeoutargument) are unaffected and continue to use that value. - DEPENDENCY CLEANUP: Removed unused and incorrectly-scoped dependencies.
aiohttpandurlparse3were listed inrequirements.txtbut are never imported anywhere in the code — URL parsing uses the standard libraryurllib.parse, and concurrency usesasynciowith thread pool executors rather thanaiohttp.setuptoolswas listed as a runtime dependency but is only required at build time (it remains in the[build-system]requirements ofpyproject.toml). Theinstall_requireslist insetup.pyhas also been reconciled withrequirements.txt(removingurlparse3) so the two no longer disagree. This reduces the install footprint and dependency/CVE surface, with no change to functionality.
- RELIABILITY FIX: Previously, many outbound HTTP requests were made without a timeout, e.g. getting the number of pages/links to search from sources, the URLScan / VirusTotal / Intelligence X API calls, the Common Crawl index collection lookup (including the streaming download of index data), and the Discord / Telegram completion notifications. If a source server was slow or unresponsive, a worker thread could block indefinitely and
-