Shout-out to new contributor Lorenz A, who fixed almost 70 bugs over the past few weeks! Most of this work was modernizing some of our DevTools code to use ES6 classes (example)
Split View has been enabled by default in Nightly! You can right click on a tab to add it to a split view, and from there select the other tab you’d like to view in the split. Or, multi-select 2 tabs with Ctrl/Cmd, and choose “Open in Split View” from the tab context menu
Caption: The Firefox tab context menu is shown above the tab strip. Two tabs in the tab strip are highlighted. A context menu offers options including “New Tab to Right,” “Add Tabs to New Group,” “Open in Split View” (highlighted with a blue “New” label), and “Reload Tabs.” The background includes a Wikipedia tab partially visible beneath the menu.
Caption: A Firefox browser window showing two web pages side-by-side in Split View. The left pane displays the Mozilla homepage with the headline “Welcome to Mozilla” and subtext about privacy and digital rights. The right pane shows the Wikipedia article for Firefox, including the browser's logo, a summary, and release information. The tab strip above shows multiple open tabs, with the “Mozilla – Internet for…” and “Firefox - Wikipedia” tabs highlighted as active in Split View.
The Search team has updated the separate search input in Nightly to use the same underlying mechanisms as the AwesomeBar
Caption: A Firefox browser window showing a redesigned search interface for the separate search input. The search field is focused with the query “firefox is the be” typed in. A dropdown displays Google as the selected search engine, along with two suggestions: the typed query itself and an autocompleted suggestion, “firefox is the best browser.” The rest of the browser UI is visible in the background, including the Mozilla tab.
Tab Notes have been enabled in Nightly! These are still a work in progress, but you can add and view notes by hovering them:
Caption: The Firefox tab UI with a tab titled “Firefox – Wikipedia” selected. A dropdown panel below the tab displays tab metadata, including the title and URL. Below this is an “Add Note” section with a right-arrow icon, indicating an option to attach a note to the tab.
Introducing Finn Terdal and Michael Hynson! Both started yesterday.
Finn is working on UX Eng Productivity / Fundamentals bugs to get started, and then Settings Redesign
Michael is working on the IP Protection project.
Dominique
John Bieling
Lorenz A
Yunju Lee
🌟 Doğu Abaris
🌟 Lorenz A
Matt Kwee
Vignesh Sadankae
🌟 Sameem [:sameembaba]
Yunju Lee
We added browser.aiwindow.enabled, and the ability to open a new AI Window (still extremely early days here)
Chat requires signed in to Mozilla Account
A new page extractor component is being built-out to help extract text from a page
The updated settings to give users more control over the AI features they want (or don’t want) is being worked on here
Sajid Anwar fixed an issue where browsingContext.navigate with wait=none could sometimes return a payload with an incorrect URL.
Sameem added a helper to assert and transform browsing and user contexts in emulation commands which allowed us to significantly reduce the number of repetitions in these commands.
Simon Farre implemented the Generate Test Report command in Marionette to support the Reporting API specification, enabling execution of the corresponding web-platform tests.
Henrik Skupin has started implementing support for using WebDriver BiDi within chrome browsing contexts. As part of this work, the browsingContext.getTree command was extended to allow retrieval of browsing contexts for open ChromeWindows. These contexts can then be used with the script.evaluate and script.callFunction commands to execute scripts in the parent process. At this time, no other supported commands accept chrome browsing contexts.
Henrik Skupin fixed an issue in Marionette where unique IDs from WebDriver BiDi’s clientWindow type were incorrectly used as window handles. These IDs are not compliant; window handles must instead correspond to the navigable handles of a tab’s top-level browsing contexts.
Henrik Skupin improved the handling of newly opened browser windows in Marionette and WebDriver BiDi by waiting for the window to be fully initialized, specifically until the browser-delayed-startup-finished notification was received.
Julian Descottes updated browsingContext.create to wait for the document to be visible when the background option is false.
ESLint rule jsdoc/check-tag-names has now been enabled everywhere. We allow a few extra tags over the plugin defined set:
@backward-compat for marking code as being backwards compatible with a specific version, e.g. New Tab and devtools code use it.
@rejects for indicating if an async (or promise returning) function may reject. This is not standard in JSDoc, and TypeScript doesn't have an equivalent. Hence for now, this is an alternative way that we can use to at least document the expectations.
Various tag names that are used for Lit types.
We have a new bugzilla component for Split View.
We’re aiming to enable sidebar.revamp (the new sidebar launcher and treatments) by default in 148.
Kelly Cochrane fixed an issue where moving the mouse to the other Split View pane after hovering a link would briefly display the prior link in the wrong pane's status panel by scoping status-panel updates to the active subview and clearing hover state on pane switch to eliminate cross-pane flashes.
Scott Downe stabilized row changes in frecency-sorted grids by recomputing layout and using stable keys, avoiding jumpy reordering and misplaced tiles when the row count changes.
Reem Hamoui migrated ModalOverlay to the native dialog element with showModal, improving focus management, Escape to close, and screen reader semantics on about:newtab.
Reem Hamoui stopped the New Tab customization panel from reopening after reload when launched from about:preferences#home by clearing the persisted open state.
Quick update this week - OS Integration intern Nishu is traveling a long road to add support for storing profiles in the secure MacOS App Group container (bug 1932976), over the break she fixed
Moritz and Dao continue re-implementing the search bar using urlbar modules (2007126, 1989909, 2006855, 2006632, 2004788, 2002978, 2004321, 2002293, 2005772)
Vignesh (open source contributor) removed the unused browser.urlbar.addons.minKeywordLength pref (2003197)
Mak improved favicon clearing performance in SQLite, significantly reducing CPU usage. (2007091
Moritz fixed browser.search.openintab opening in the current tab instead of a new tab (2007254
Drew and Daisuke continue implementing online flight status suggestions (1994297)
mconley removed legacy non-handoff content search UI code(1999334)
Daisuke fixed multiple address bar bugs, including broken “switch to [tab group]” behaviour, persisted search terms, and a missing unified search button in private new tabs (2002936, 1968218, 1961568)
Hanna Jones converted the Settings UI Account (FxA) section in about:preferences to config‑based prefs, enabling enterprise policy/rollout control of Account UI across desktop without changing default behavior for users.
Jeremy Swinarton aligned the tab note editor to spec in Tab note content textarea spec, refining textarea sizing, focus/blur save behavior, and keyboard shortcuts for consistent editing and better a11y across platforms.
Stephen Thompson added a one-click entry point in hover previews via Add note button to tab hover preview, surfacing Tab Notes in the preview tooltip (behind notes and hover-preview prefs) with full keyboard focusability and theme-aware iconography.
Jeremy Swinarton fixed multi-select behavior in Selecting multiple tabs using Shift-Click and adding a note only adds note to the tab that was clicked despite multiple tabs being selected so note actions apply to all selected tabs via gBrowser.multiSelectedTabs.
Stephen Thompson hooked History API updates in Update canonical URL for tab note on pushState to recompute the canonical URL on pushState/replaceState/popstate, preventing stale or misplaced notes during SPA navigations.
Jack Brown aligned the NS_ERROR_NET_EMPTY_RESPONSE error page visuals with the Figma spec, improving readability and parity on about:neterror (desktop).
Jack Brown enabled the security.certerrors.felt-privacy-v1 pref by default, rolling out the Felt Privacy v1 certerror UI to certificate errors on about:neterror with a pref-guarded default.
General triage
This information, including all of the previous updates, are fully available in this doc: https://docs.google.com/a/mozilla.com/document/d/1u9YH3ULNRYg6G-fN-Udkvfkcvg0alJfzi_zIAfFNkL8/edit?usp=sharing
Also note that we’re really just synthesising and humanising the stuff that's on the Wiki, which is freely available from here: https://wiki.mozilla.org/Firefox/Meeting, so check that out if you want the source material. It'll also be posted (minus the Below the Fold stuff) to the Nightly blog.
Finally, if there's a Firefox-ish team that you feel isn't being represented here, please let them know about the above meeting so we can get their updates.
Keep on rockin' the free web,
-Mike