Skip to content

Releases: LunarWatcher/selenium-wire

v3.0.0

12 Nov 02:39

Choose a tag to compare

Added

  • Python 3.14 support
    • This was already in place, but it's now formally supported and verfied by the CI

Changed

  • Bumped mitmproxy to 12.2.0; this means python 3.12 or newer is required

Fixed

  • Internal: add retries for flaky tests

v2.1.0

01 Aug 23:56

Choose a tag to compare

v2.1.0 (2025-08-01)

Added

  • Togglable WebCache as an optional helper

Fixed

  • A flaky test, and added an extra assertion for another. Several of the tests rely on unreliable techniques, and several are prone to race conditions caused by just browsers being browsers. Modern browsers, but especially Chrome, does a ton of phoning home at semi-arbitrary times that may fuck up tests, so this needs to be accounted for

v2.0.0

28 Jul 21:16

Choose a tag to compare

v2.0.0 (2025-07-28)

Changed

UndetectedChrome is now part of a separate package selenium-wire-undetected-chromedriver-lw, because undetected_chromedriver is licensed under GPLv3. This should ensure only the undetected-chromedriver bits need to be GPL, and avoids a total relicensing of the preexisting code in this repo.

To get UndetectedChrome back:

  1. pip3 install selenium-wire-undetected-chromedriver-lw
  2. from seleniumwire_gpl import UndetectedChrome

The GPL bits are in an entirely separate package to make it as clear as possible that it is GPL'd

v1.1.1

21 Jul 22:21

Choose a tag to compare

v1.1.1 (2025-07-21)

Fixed

  • UndetectedChrome had accidental references to FirefoxOptions
  • Type check exceptions from UndetectedChrome and UndetectedFirefox to silence ImportError, but re-raise anything else

v1.1.0

09 Jul 23:21

Choose a tag to compare

v1.1.0 (2025-07-10)

Added

  • {request,response}.decompress_body() for automatically decompressing currently four known encodings (deflate, brotli, zstd, gzip). For no encoding, this function is a noop that's identical to .body. For unknown encodings, this function throws an exception. (#1)
    • Everything except zstd has been tested. httpbin, which is used for the tests, unfortunately does not support zstd.

Changed

  • body and headers are now managed by a superclass for both request and response. This gives some reduced code duplication in common code shared between requests and responses. This should not affect anything external.

Fixed

  • Test-meta: e2e test fixtures moved into a common e2e_utils.py for reuse in future tests

v1.0.2

06 Jul 00:35

Choose a tag to compare

Now I feel dumb; fix copypasta oversight

v1.0.1

05 Jul 02:17

Choose a tag to compare

v1.0.1 (2025-07-05)

Fixed

  • os.mkdir -> os.makedirs so it doesn't fail when making nested folders

v1.0.0

05 Jul 02:04

Choose a tag to compare

Changelog

v1.0.0 (2025-07-05)

Added

  • UndetectedFirefox and UndetectedChrome if the appropriate packages (undetected-geckodriver-lw and undetected-chromedriver respectively) are installed
    • Three different optional variants [uf] (undetected firefox), [uc] (undetected chrome), [ud] (undetected, equivalent to uf and uc)
  • requirements.txt, exclusively used for local development.

Changed

  • .rst -> .md
    • Except AUTHORS.rst, which has been removed. To see the authors, see the special GitHub/Codeberg view, or use the Git log. It's there for a reason, it doesn't need to be duplicated in a special file

Fixed

  • Flaky test_capture_requests test

Removed

  • tox, because it's a piece of shit, I hate it deeply, and it single-handedly cost me significant amounts of time while trying an initial refactor of the original selenium-wire (i.e. not selenium-wire-2)
  • setup.py has been removed in favour of pyproject.toml