Releases: openwpm/OpenWPM
Releases · openwpm/OpenWPM
Release list
v0.37.0
Updates OpenWPM to Firefox 155.
See the CHANGELOG for details.
Highlights
- Firefox 154 → 155.0.1, with the Extension manifest's
strict_min_versionpinned to match. - Fixes the extension failing to start on Firefox 155. Firefox 155 changed
CheckAllowedURIin its subscript loader so thatfile:,jar:andmoz-extension:URLs load only behind an explicit opt-in (bug 1974213). OpenWPM's privileged experiment APIs ship inside the XPI and therefore load from ajar:file:URL, so without the opt-in every browser installed the extension, threw during startup, never wroteextension_port.txt, and was torn down as not ready. Mozilla tracks moving those scripts offjar:file:in bug 1976115. - Fixes occasional crashes at browser startup, via
domain-utils0.8.0. The previous release pinnedtldextract2.2.2, whose extractor cached the Public Suffix List inside the installed package directory and refreshed it through an unguarded check-then-actunlink. That path is shared by every process on the machine, so concurrent browsers could race each other into aFileNotFoundErrormid-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.04was retired by Read the Docs.
v0.36.0
Updates OpenWPM to Firefox 154.
See the CHANGELOG for details.
Highlights
- Firefox 152 → 154.0, with the Extension manifest's
strict_min_versionpinned to match. - Fixes browser launch against geckodriver 0.37.1. geckodriver now rejects Firefox's
-remote-allow-system-accesswhen passed through WebDriver capabilities, so privileged parent-process access is requested via geckodriver's own--allow-system-accessflag 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.pyverifies 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.yamlfloors the interpreter atpython>=3.14; left unpinned, the solver had begun selecting an older python and dragging pandas back a major version.- The Extension's
test:lintcan now actually fail — it previously ended in|| exit 0, leaving eslint and prettier unenforced everywhere.
v0.35.0
v0.34.0
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
v0.32.0
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
What's Changed
- Update to Firefox 134 and migrate back to conda by @englehardt in #1109
- chore(conda): remove main channel by @vringar in #1110
Full Changelog: v0.30.0...v0.31.0
v0.30.0
What's Changed
- refactor(config): always enable extension by @vringar in #1100
- Fix/actions by @vringar in #1102
- Get demo.py running on MacOS by @englehardt in #1105
- Update to Firefox 130 by @palmeida in #1106
Full Changelog: v0.29.0...v0.30.0
v0.29.0
What's Changed
- mamba --force argument removed of
install.shscript by @AlbertoFDR in #1089 - Update to Firefox 128 by @palmeida in #1095
New Contributors
- @AlbertoFDR made their first contribution in #1089
- @palmeida made their first contribution in #1095
Full Changelog: v0.28.0...v0.29.0