This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+14 more
ReleasePort's take
Light signalFirefox 150 fixes crashes when overriding timezone in persistent contexts via new nsIDocShell.overrideTimezone API. Requires invisible_playwright 0.1.6.
Why it matters: Fixes crashes when overriding timezone in persistent contexts (severity 50). Standard upgrade for automation/testing workflows; no migration required.
Summary
AI summaryImplemented nsIDocShell.overrideTimezone in C++ to fix persistent context timezone crashes.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds `nsIDocShell.overrideTimezone` implementation in C++. Adds `nsIDocShell.overrideTimezone` implementation in C++. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Dependency | Medium |
Requires invisible_playwright 0.1.6 for persistent context timezone handling. Requires invisible_playwright 0.1.6 for persistent context timezone handling. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixes crash when overriding timezone in persistent context. Fixes crash when overriding timezone in persistent context. Source: llm_adapter@2026-05-21 Confidence: high |
— |
Full changelog
Patched Firefox 150.0.1 build with the C7 closure — nsIDocShell.overrideTimezone IDL method now implemented in C++.
What changed since firefox-4
Content-side timezone propagation through Juggler used to call docShell.overrideTimezone(timezoneId) and crash with TypeError: docShell.overrideTimezone is not a function. On the non-persistent path the error was harmless (Juggler stayed up). On launch_persistent_context(timezone_id=...) it blocked the handshake and Playwright timed out at 180s. With the method present, persistent context starts in ~20s like the regular path.
All other binary content is identical to firefox-4.
SHA256
See checksums.txt.
Pair with
invisible_playwright 0.1.6 — the wrapper rev that drops the firefox-4-era workaround filtering locale/timezone_id out of the persistent context kwargs.
Patch details
docshell/base/nsIDocShell.idl declares boolean overrideTimezone(in AString aTimezone). docshell/base/nsDocShell.cpp implements it: walks GetWindow → inner window → global → realm → JS::SetRealmTimezoneOverride. Returns false only if the docShell has no current window or realm. Otherwise true.
The parent-process Browser.setTimezoneOverride path keeps using the existing BrowsingContext.TimezoneOverride FIELD + DidSet that propagate to every realm; this content-side method is its complement for realms that the docshell-restore just created.
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
Related tools
Earlier breaking changes
- vfirefox-3 Supersedes firefox-2; invisible_playwright BINARY_VERSION bumped to firefox-3 in 0.1.3.
Beta — feedback welcome: [email protected]