Firefox Nightly Highlights and Project Updates
February 9, 2026
Highlights
- Text Fragments: A user interface to create and share text anchors has landed in Firefox Nightly. This feature lets you reference a specific text snippet on a page via a link. It’s currently Nightly-only while testing continues.
- Vertical Tabs API: A new browserSettings.verticalTabs API was introduced to help extensions detect whether vertical tabs are enabled and to offer enabling them for users. Thanks to Christina for contributing this improvement (Bug 1946600).
- Wheel Scrolling in Interop: Henrik enabled asynchronous widget events for wheel scrolling by default in web-platform tests as part of Interop 2025, contributing to Firefox achieving full pass rate on scrollend-related tests.
- Opera Migrator: The Opera migrator has been updated to handle changes in how Opera stores profile data. This fix was uplifted to Firefox 141 and will roll out with a release later this month.
Friends of the Firefox team
- Acknowledgments to the volunteers and contributors helping move the project forward.
Resolved bugs (excluding employees)
- Volunteers who fixed multiple bugs were recognized for their contributions.
Project Updates
Add-ons / Web Extensions
- Add-on Manager & about:addons
- Fixed logic in XPIProvider.processPendingFileChanges to avoid noisy warnings for non-existent staging extension subdirectories during staged add-on installations.
- Ensured downloaded XPI files are deleted when the add-on install flow is canceled.
- Resolved Windows-specific crash involving nsIFile::Contains when writing startup data to extensions.json.
- Removed an old internal privileged helper nsIComponentManager.addBootstrappedManifestLocation.
- WebExtensions Framework
- Nathan Teodosio contributed end-to-end test coverage for the native messaging API used from a Firefox build inside the snap package sandbox (Bug 1928096).
WebDriver BiDi
- ProxyConfiguration: The Proxy capability class was renamed to ProxyConfiguration to avoid confusion with the JavaScript Proxy.
- Cookies: A regression was fixed where adding a cookie via WebDriver BiDi or Marionette could fail if the expiry exceeded 400 days.
- SameSite: Updated cookie APIs to support a default value for sameSite to accommodate platform API changes that restrict certain sameSite/secure combinations on HTTPS pages.
- CHIPS cookies: Added support in Marionette for interacting with Cookies Having Independent Partitioned State (CHIPS).
- mach command: Fixed the firefox-ui-functional tests command line to work without specifying a manifest or test path.
- System access checks: Removed the temporary remote.system-access-check.enabled preference used to disable system access checks in certain testing scopes.
Lint, Docs and Workflow
- ESLint: Adjusted the no-comparison-or-assignment-inside-ok rule so it also applies to Assert.ok(), in addition to earlier coverage.
New Tab Page
- Design tokens and color system: Thanks to Jules for helping align New Tab with design tokens and system colors; propagation is at 84.22%.
- Patch cascade: Thanks to rpl for stacking patches that enable deploying trainhop updates for New Tab via Nimbus / Experimenter.
- Trending Searches: Nathan contributed work on a Trending Searches widget to run in a forthcoming experiment.
- Message management: Nathan also pushed fixes to reduce overlapping or excessive messages between New Tab and the rest of the browser.
- Private image protocol: mconley introduced a moz-ohttp-image protocol handler concept for privately requesting images under certain New Tab conditions.
- Lazy loading: PlacesSemanticHistoryManager is being lazily loaded.
- Places and history: Refactoring of PlacesQuery.sys.mjs to separate query and cache logic; ongoing experiments to optimize token handling and lowercasing for SQL performance.
- Expiration heuristics: A patch removed extraneous Places expiration heuristics.
- Tests and telemetry: Work underway to fix unit tests for History.fetch with referrer URI; plans to use ConcurrentConnection for favicon protocol handlers; ongoing memory-usage review in Favicons code.
- Other: Various ongoing tweaks to improve performance and reliability of Places-related features.
Search and Navigation
- Unit Converter & Calculator: Fixed issues with unit conversions involving long numbers; fixes for negative results in RTL builds (calculator and conversion).
Unified Search and Telemetry
- Trust Panel: Reviews completed for the initial Trust Panel implementation and it’s set to land behind a feature flag.
- SERP telemetry: Implemented telemetry for search engine results pages (DuckDuckGo Shopping tab) and progressed Qwant’s shopping tab telemetry with a similar approach.
- Ad telemetry: Fixed reporting for ad clicks on Ecosia and Google ad services.
- Local usage cache: Pitched a proof-of-concept to cache whether a user has used a search engine locally to reduce per-engine preferences.
- General telemetry: Ongoing work to observe network requests for SERP telemetry.
General Address Bar
- TypeScript issues: Resolved additional TypeScript issues in the address bar code.
- Search term retention: Investigating a bug where the search term occasionally sticks in the URL bar; a preventative check and follow-up refactor have been filed.
- URL bar placeholder: Bug fix to ensure the URL bar placeholder is removed when keyword.enabled is false.
- Unified Search Button: Preparation to land UI that makes sense when keyword.enabled is false; tests for opening results with ctrl/alt/shift-click in the URL bar are in progress.
- Background tab behavior: Awaiting UX feedback on a bug to make command-clicking URL bar results open in a background tab on macOS.
Next steps
- Ongoing testing and refinement across WebExtensions, BiDi, and UI components.
- Continued work on telemetry, performance optimizations, and user-facing features like New Tab updates and the Unified Search experience.
If you’d like, I can tailor this into a shorter briefing or a deeper deep-dive article focusing on a specific team or feature.