What's Changed
- 📦 Official package now available on PyPI (#2127) @ppfeister
- 📦 Official package now available on DockerHub (#2216) @ppfeister
- 📦 Official package now available on Fedora @ppfeister
- 📦 Community package now available on Homebrew @p-linnane
- ✨ New Sherlock wiki at sherlockproject.xyz @sdushantha
- ✨ --dump-response flag added for easier debugging (#2214) @ppfeister
- 🪲 Fixed uncaught exception when tor browser not found (#2033) @joaomfbh
- 🪲 ‼️ Importable module renamed from sherlock to sherlock_project [details] @ppfeister
- 🛠️ Adopted Poetry and restructured as a true package @mjsir911 @ppfeister @matheusfelipeog @sdushantha
- 🛠️ Unit testing rewritten to better support contributors and packagers @ppfeister
- Switched from unittest to pytest and tox
- Expanded regression testing to include builds on Windows and MacOS
- Added offline-only test environments for packagers (see below)
- 🛠️ Manifest now uses schema for better regression testing and in-IDE UX (#2212) @ppfeister
- 🛠️ Added detection mechanism for users running via legacy/unsupported methods (#2213) @ppfeister
- 🛠️ ‼️ Dependency torrequest made optional (#2215) @ppfeister @matheusfelipeog
- --tor and --unique-tor are now DEPRECATED (see detail below)
- 🛠️ ‼️ Deprecated support for Python 3.6 and 3.7 (now ^3.8)
- 🛠️ Several minor UX improvements over the course of development
- 🏷️ Adopted properly tagged releases help out our downstream packagers
- ✍️ General improvements to and simplification of in-repo documentation
Manifest contributors this cycle: @RahalBhupathi @abhirai7 @pandyah5 @roxerj @Wicloz @slavran
‼️ Tor deprecation detail
--tor
and --unique-tor
are now deprecated, and both are up for possible removal in a future release (#2200). Users who need time to adapt to this change can install the now-optional dependency torrequest. If Sherlock has been installed via pip, pip install 'sherlock-project[tor]'
will include the necessary extras
Since torrequest is simply not available as an rpm, those options have already been patched out of the Fedora release.
📦 Packaging info
Many packages are required to be built entirely offline, as with the official Fedora release and the upcoming community-supported Debian release. Sherlock's unit tests generally require an internet connection, but with the adoption of tox and pytest, we've added offline-only test modes.
tox -e offline
is the preferred offline-only test method, with pytest -m "not online"
also being supported out of the box. Reference @ppfeister's spec file for an example of fully-offline unit testing with tox.