v0.15.0

CapSoftware/Capv0.15.0Jul 8, 2024by ppfeister

AI Summary

This release focuses on packaging improvements and infrastructure upgrades, making the Sherlock project officially available on PyPI, DockerHub, and Fedora while adopting Poetry.

Key Highlights

  • Official packages now available on PyPI, DockerHub, and Fedora
  • New official wiki website (sherlockproject.xyz)
  • Added --dump-response flag for easier debugging
  • Adopted Poetry and restructured as a true package

Breaking Changes

  • Importable module renamed from sherlock to sherlock_project
  • Deprecated support for Python 3.6 and 3.7
  • Deprecated --tor and --unique-tor flags (possible removal in future)

New Features

  • New Sherlock wiki
  • --dump-response flag
  • Detection mechanism for legacy/unsupported methods

Full Release Notes

## What's Changed

- 📦 Official package now available on [__PyPI__][ext-pypi] (#2127) @ppfeister
- 📦 Official package now available on [__DockerHub__][ext-dockerhub] (#2216) @ppfeister
- 📦 Official package now available on [__Fedora__][ext-fedora] @ppfeister
- 📦 Community package now available on [__Homebrew__][ext-homebrew] @p-linnane
- ✨ New Sherlock wiki at [__sherlockproject.xyz__][ext-wiki] @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]__][ext-deb1072733] @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__][ext-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 

[__[full changelog]__][release-diff]

___

#### ‼️ 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__][ext-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__][ext-rpm-spec] for an example of fully-offline unit testing with tox.

[release-diff]: https://github.com/sherlock-project/sherlock/compare/v0.14.4...v0.15.0

[ext-pypi]: https://pypi.org/project/sherlock-project/
[ext-dockerhub]: https://hub.docker.com/r/sherlock/sherlock
[ext-fedora]: https://src.fedoraproject.org/rpms/sherlock-project/
[ext-homebrew]: https://formulae.brew.sh/formula/sherlock

[ext-wiki]: https://sherlockproject.xyz
[ext-wiki-install]: https://sherlockproject.xyz/installation

[ext-rpm-spec]: https://src.fedoraproject.org/rpms/sherlock-project/blob/rawhide/f/sherlock-project.spec

[ext-torrequest]: https://pypi.org/project/torrequest/

[ext-deb1072733]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072733