release: 0.1.3 - firefox-3 binary with all C5-C7 fixes (Win + Linux from clean fork)

BINARY_VERSION bumped from firefox-2 to firefox-3.  Both archives on this
release are built from a clean clone of feder-cr/invisible-firefox#stealth/150
(the consolidated source-of-truth fork) at commit 68906f1f9c55.

Changes vs firefox-2:
  - Proper C++ jugglerSendMouseEvent (replaces JS workaround from 0.1.1)
  - C1+C2: setDownloadInterceptor re-landed
  - C4: 5 nsIDocShell stealth attributes
  - C5: launcher + wmain juggler-pipe handle inheritance (Win)
  - C6: juggler-navigation observer notifications
  - C7 (partial): nsIDocShell.languageOverride storage stub
  - First native Linux build with the full patch series (previous releases
    shipped a stale Linux archive copied from earlier builds)

Verified with the 4-test smoke gate on both Windows and Linux:
  - test_launch (pipe stays connected, gap C5 sentinel)
  - test_new_page (Page.ready fires, gap C6 sentinel)
  - test_mouse (jugglerSendMouseEvent C++)
  - test_stealth (navigator.webdriver=false + sannysoft check)
This commit is contained in:
feder-cr 2026-05-19 21:08:55 -07:00
parent 7f7a791564
commit f1f3148d8f
2 changed files with 22 additions and 1 deletions

View file

@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
## [Unreleased]
## [0.1.3] - 2026-05-19
### Changed
- `BINARY_VERSION` bumped from `firefox-2` to `firefox-3`. The new archives on both Windows and Linux are built from a clean clone of [feder-cr/invisible-firefox#stealth/150](https://github.com/feder-cr/invisible-firefox/tree/stealth/150) — the consolidated source-of-truth fork (renamed from `feder-cr/firefox`; the companion `feder-cr/firefox-stealth` patches repo was deleted, all patches now live as commits on top of `mozilla-firefox/firefox`).
- The patched Firefox archive now ships the **proper C++ implementation** of `windowUtils.jugglerSendMouseEvent`, replacing the JS shim from 0.1.2.
### C++ fixes landed in this release
- **C1+C2**: `setDownloadInterceptor` IDL + cpp (re-landed for FF150).
- **C4**: 5 `nsIDocShell` stealth attributes (`fileInputInterceptionEnabled`, `overrideHasFocus`, `bypassCSPEnabled`, `forceActiveState`, `disallowBFCache`).
- **C5**: `LauncherProcessWin.cpp` + `nsWindowsWMain.cpp` juggler-pipe handle inheritance — without this, the Playwright pipe disconnects immediately on launch.
- **C6**: `juggler-navigation-started-renderer` / `-browser` observer notifications in `nsDocShell.cpp` and `CanonicalBrowsingContext.cpp` — without these, `Page.ready` never fires and `ctx.new_page()` hangs.
- **C7 (partial)**: storage stub for `nsIDocShell.languageOverride`. Workaround `InvisiblePlaywright(locale="")` recommended until full BC FIELD port lands.
### Verified
- Both archives built from same source: feder-cr/invisible-firefox commit `68906f1f9c55`.
- Windows + Linux smoke suite green: launch, `ctx.new_page()`, `page.mouse.{move,down,up,click,wheel}`, `navigator.webdriver=false`, sannysoft 32/33 PASS.
- SHA256 published in `checksums.txt` on the `firefox-3` release.
### Notes
- This is the first release with a native Linux build of the patched binary (previous `firefox-3` draft mentioned shipping the Linux firefox-2 archive byte-for-byte; that no longer applies — Linux now has the full C++ patch series).
## [0.1.2] - 2026-05-18
### Changed

View file

@ -7,7 +7,7 @@ bugfixes don't force a multi-hour Firefox rebuild.
from __future__ import annotations
# Bump this when a new patched Firefox build is released on GitHub.
BINARY_VERSION: str = "firefox-2"
BINARY_VERSION: str = "firefox-3"
# Underlying Firefox version (for display only; does not drive downloads).
FIREFOX_UPSTREAM_VERSION: str = "150.0.1"