This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summarySupersedes firefox-2, fixing issue #9 and adding C5‑C7 stealth fixes.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
`navigator.webdriver = false`, UA / languages / platform overrides applied. `navigator.webdriver = false`, UA / languages / platform overrides applied. Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Breaking | Medium |
Supersedes firefox-2; invisible_playwright BINARY_VERSION bumped to firefox-3 in 0.1.3. Supersedes firefox-2; invisible_playwright BINARY_VERSION bumped to firefox-3 in 0.1.3. Source: granite4.1:8b-q6_K@2026-05-20 Confidence: high |
— |
| Feature | Medium |
Partial storage stub for nsIDocShell.languageOverride implemented. Partial storage stub for nsIDocShell.languageOverride implemented. Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Dependency | Medium |
Built from fresh clone of feder-cr/invisible-firefox#stealth/150 without hand-patches. Built from fresh clone of feder-cr/invisible-firefox#stealth/150 without hand-patches. Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Performance | Medium |
`ctx.new_page()` latency reduced to 1-2 seconds. `ctx.new_page()` latency reduced to 1-2 seconds. Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Bugfix | Medium |
LauncherProcessWin + nsWindowsWMain juggler-pipe handle inheritance fixed. LauncherProcessWin + nsWindowsWMain juggler-pipe handle inheritance fixed. Source: granite4.1:8b-q6_K@2026-05-20 Confidence: high |
— |
| Bugfix | Medium |
juggler-navigation observer notifications in nsDocShell + CanonicalBrowsingContext added. juggler-navigation observer notifications in nsDocShell + CanonicalBrowsingContext added. Source: granite4.1:8b-q6_K@2026-05-20 Confidence: high |
— |
| Refactor | Medium |
C++ jugglerSendMouseEvent replaces JS workaround (issue #9 fix). C++ jugglerSendMouseEvent replaces JS workaround (issue #9 fix). Source: granite4.1:8b-q6_K@2026-05-20 Confidence: high |
— |
Full changelog
firefox-3 — clean fork build from feder-cr/invisible-firefox#stealth/150.
Built from a fresh clone of the renamed fork (no hand-patches in dist/, no
hidden modifications). Includes all C5-C7 fixes that landed 2026-05-19:
- C5: LauncherProcessWin + nsWindowsWMain juggler-pipe handle inheritance — without this, the pipe disconnects immediately on launch.
- C6: juggler-navigation observer notifications in nsDocShell + CanonicalBrowsingContext — without these,
Page.readynever fires andctx.new_page()hangs. - C7: storage stub for nsIDocShell.languageOverride — partial;
InvisiblePlaywright(locale="")workaround still needed for now. - Proper C++
jugglerSendMouseEvent(issue #9 fix, replaces the JS workaround that was in firefox-2).
Verified locally
- Launches under Playwright (smoke test PASS)
ctx.new_page()returns 1-2s (smoke test PASS)page.mouse.{move,down,up,click,wheel}all 5 ops PASSnavigator.webdriver = false, UA / languages / platform overrides applied- bot.sannysoft.com 32/33 PASS (the 1 fail is "Chrome (New)" — correctly identifies as Firefox)
Supersedes
This release supersedes firefox-2 which had a JS-only workaround for issue #9. After this, invisible_playwright BINARY_VERSION will be bumped to firefox-3 in 0.1.3.
Both Linux + Windows from same source
Both binaries built from feder-cr/invisible-firefox#stealth/150 HEAD (commit 68906f1f9c55) with the same patch series applied. Previous firefox-2 Linux was a copy of firefox-2 Linux because no Linux build host was available; this release closes that gap.
Breaking Changes
- Supersedes `firefox-2`; the JS-only workaround for issue #9 is removed and replaced with a proper C++ implementation.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About feder-cr/invisible_playwright
All releases →Related context
Beta — feedback welcome: [email protected]