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.