v0.15.0

DocumindHQ/documindv0.15.0Jul 8, 2024by ppfeister

AI Summary

This release focuses on official package availability and infrastructure improvements. The project has adopted Poetry and restructured into a proper package, while also migrating test suites to pytest and tox. It introduces a new official wiki and various packaging improvements to support downstream packagers.

Key Highlights

  • Official packages now available on PyPI, DockerHub, Fedora, and Homebrew.
  • Adoption of Poetry for dependency management and project restructuring.
  • New official wiki launched at sherlockproject.xyz.
  • Enhanced testing infrastructure using pytest and tox with offline support.
  • Deprecation of Tor support via the `torrequest` dependency.

Breaking Changes

  • Importable module renamed from `sherlock` to `sherlock_project`
  • Deprecated `--tor` and `--unique-tor` flags (up for removal in future release)
  • Dropped support for Python 3.6 and 3.7 (now requires Python 3.8+)

New Features

  • New `--dump-response` flag for easier debugging
  • New official wiki for documentation
  • Offline-only test environments for packagers
  • Detection mechanism for users running via 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