Skip to content

Releases: openwpm/OpenWPM

v0.37.0

Choose a tag to compare

@vringar vringar released this 06 Sep 14:54

Updates OpenWPM to Firefox 155.

See the CHANGELOG for details.

Highlights

  • Firefox 154 → 155.0.1, with the Extension manifest's strict_min_version pinned to match.
  • Fixes the extension failing to start on Firefox 155. Firefox 155 changed CheckAllowedURI in its subscript loader so that file:, jar: and moz-extension: URLs load only behind an explicit opt-in (bug 1974213). OpenWPM's privileged experiment APIs ship inside the XPI and therefore load from a jar:file: URL, so without the opt-in every browser installed the extension, threw during startup, never wrote extension_port.txt, and was torn down as not ready. Mozilla tracks moving those scripts off jar:file: in bug 1976115.
  • Fixes occasional crashes at browser startup, via domain-utils 0.8.0. The previous release pinned tldextract 2.2.2, whose extractor cached the Public Suffix List inside the installed package directory and refreshed it through an unguarded check-then-act unlink. That path is shared by every process on the machine, so concurrent browsers could race each other into a FileNotFoundError mid-visit. 0.8.0 also fixes URL parsing on modern CPython, which matters now that we ship Python 3.14.
  • Fixes the documentation build, which had been failing config validation since ubuntu-20.04 was retired by Read the Docs.

v0.36.0

Choose a tag to compare

@vringar vringar released this 24 Aug 23:15

Updates OpenWPM to Firefox 154.

See the CHANGELOG for details.

Highlights

  • Firefox 152 → 154.0, with the Extension manifest's strict_min_version pinned to match.
  • Fixes browser launch against geckodriver 0.37.1. geckodriver now rejects Firefox's -remote-allow-system-access when passed through WebDriver capabilities, so privileged parent-process access is requested via geckodriver's own --allow-system-access flag instead. Without this, every browser fails to spawn and retries until the crawl gives up.
  • Extension ↔ StorageController socket hardening: payloads ≥ 4 GiB are rejected instead of silently desyncing the length-prefixed stream, the u (UTF-8 string) tag is accepted, send failures surface instead of being swallowed, and the receive side decodes real UTF-8 rather than narrowing through Latin-1.
  • TypeScript 6 strict mode is now enabled across the extension as a standing guardrail.

Release tooling

  • scripts/firefox_version.py verifies a release tag's revision actually has unbranded TaskCluster builds on every supported platform before pinning it, rather than failing with a 404 at install time (#964).
  • scripts/environment-unpinned.yaml floors the interpreter at python>=3.14; left unpinned, the solver had begun selecting an older python and dragging pandas back a major version.
  • The Extension's test:lint can now actually fail — it previously ended in || exit 0, leaving eslint and prettier unenforced everywhere.

v0.35.0

Choose a tag to compare

@vringar vringar released this 17 Jun 23:39

Updates OpenWPM to Firefox 152.

See the CHANGELOG for details.

v0.34.0

Choose a tag to compare

@vringar vringar released this 08 May 14:03

What's Changed

  • feat(dns-instrument): capture redirect chain hops via onHeadersReceived by @vringar in #1158
  • feat(dns-instrument): capture failed DNS resolutions via onErrorOccurred by @vringar in #1164
  • feat(scripts): sync pre-commit linter versions with conda in update.py by @vringar in #1165
  • fix(browser): exclude DNS errors from consecutive failure limit by @vringar in #1156
  • release: v0.34.0 (Firefox 150) + release tooling fixes by @vringar in #1166

Full Changelog: v0.33.0...v0.34.0

v0.33.0

Choose a tag to compare

@vringar vringar released this 28 Mar 19:24

v0.33.0 - 2026-03-26

Bump to Firefox 149

v0.32.0

Choose a tag to compare

@vringar vringar released this 03 Mar 13:07

What's Changed

  • Bump to Firefox 137 by @englehardt in #1112
  • chore(scripts): Improve tool detection and error handling by @vringar in #1119
  • docs: fix stale references and fill in missing documentation by @vringar in #1120
  • fix(coverage): collect coverage from multiprocess child processes by @vringar in #1123
  • chore: add AGENTS.md and NixOS dev environment by @vringar in #1130
  • chore: symlink CLAUDE.md to AGENTS.md by @vringar in #1135
  • ci: replace codecov package with codecov-action and add actionlint by @vringar in #1134
  • docs: add Architecture-Internals.md and fix stale references by @vringar in #1124
  • chore(nix): rewrite shell.nix to use pkgs.conda with FHS wrapper by @vringar in #1137
  • feat(ci): use pytest-split for optimal test distribution by @vringar in #1141
  • ci: add pre-commit hook to validate environment.yaml against unpinned sources by @vringar in #1147
  • fix: use WebDriver new_window instead of JS window.open in tab_restart_browser by @vringar in #1146
  • chore(extension): upgrade npm dependencies and migrate to ESLint 9 flat config by @vringar in #1132
  • ci: add 30-minute timeout to test jobs by @vringar in #1150
  • Release v0.32.0: Update to Firefox 148 by @vringar in #1145

Full Changelog: v0.31.0...v0.32.0

v0.31.0

Choose a tag to compare

@vringar vringar released this 19 Jan 14:49

What's Changed

Full Changelog: v0.30.0...v0.31.0

v0.30.0

Choose a tag to compare

@vringar vringar released this 06 Oct 11:21

What's Changed

Full Changelog: v0.29.0...v0.30.0

v0.29.0

Choose a tag to compare

@vringar vringar released this 20 Jul 14:05

What's Changed

New Contributors

Full Changelog: v0.28.0...v0.29.0

v0.28.0

Choose a tag to compare

@vringar vringar released this 21 Feb 13:32
f74e79f

What's Changed

Full Changelog: v0.27.0...v0.28.0