What’s New in Firefox 149?

Firefox 149 is a thin release for web scraping, but the built-in VPN, sturdier HTTP/3 uploads and a couple of automation-facing APIs are worth a look.
Firefox
browser
web scraping
Published

2026/03/25

Firefox 149.0 was first offered to Release channel users on 24 March 2026. From a scraping perspective this is not a big release. Most of the headline features are consumer-facing, and most of them can be ignored.

John Dewey wrote that “We can have facts without thinking but we cannot have thinking without facts.” That feels about right for release-note posts. Firefox 149 gives you plenty to think about if you read everything, but only a few facts are worth carrying into scraping work.

I’m only looking at changes that seem highly relevant to web scraping. The core sources are Firefox’s 149.0 release notes, the Firefox 149 developer notes on MDN and the matching LWN release brief. If you look at broader coverage, such as Linux Journal’s summary of Firefox 149, you can see the same pattern again: built-in VPN, split view, tab notes and AI tools dominate the headlines, while the scraping-relevant details are buried further down.

I had to double-check the sources on this one. On 25 March 2026, Firefox’s release notes already list 149.0 as a Release-channel build first offered on 24 March, while MDN still calls the developer page Beta and a work in progress. I am therefore leaning on the release notes for channel status and using MDN mainly for the lower-level platform details.

Built-in VPN Is Interesting, But It Is Not A Proxy Stack

https://uk.pcmag.com/browsers/163965/mozilla-rolls-out-built-in-vpn-on-firefox-how-to-check-if-you-have-it

The biggest scraping-adjacent change in Firefox 149 is the new built-in VPN. Mozilla describes it as a free feature that routes Firefox traffic through a secure proxy, masks the browser IP address and gives you 50 GB of traffic per month.

That is relevant to scraping, but only with caveats attached in thick black marker.

Mozilla Support is explicit that this is browser-only protection. It does not protect your whole device, it requires a Mozilla account and it is still being introduced through a progressive release. Mozilla also says you can exclude individual websites from VPN routing, and the current support page says Firefox routes traffic through the best available server in the U.S. That makes it useful for quick IP-masking experiments, not for serious geography control.

For scraping, I see two realistic uses:

  • low-volume browser-based collection where you want a quick non-home IP without building a proxy setup from scratch; and
  • debugging geo- or IP-sensitive page behaviour in an actual Firefox session.

What I would not do is confuse this with a proper scraping proxy layer. It is capped at 50 GB per month, only available to part of the user base so far and designed for ordinary Firefox browsing rather than industrial-scale request routing. Useful? Yes. A replacement for real proxy management? Not remotely.

HTTP/3 Uploads Should Be Less Annoying

Firefox 149 also improves the robustness of HTTP/3 upload performance on unstable networks. It’s the sort of one-line networking fix you barely notice in the notes and then appreciate later when a browser-driven upload stops dying halfway through.

If your scraping automation only fetches pages and parses HTML, this probably doesn’t matter. If your browser automation logs in, submits multi-step forms, uploads CSV files or pushes images and documents through a web UI, it matters more.

Anything that reduces random failures on shaky hotel Wi-Fi, mobile connections or flaky cloud desktops is worth knowing about. You probably won’t notice this on a clean wired connection. You may notice it immediately in more chaotic environments.

Small Wins For Automation And Diagnostics

Firefox 149 has a couple of smaller platform changes that are relevant to browser-driven scraping, even if they are not headline features.

showPicker() For <datalist> Inputs

Firefox now supports showPicker() on text-based <input> elements that have an associated <datalist>. In practical terms, a script can now trigger the browser picker for these suggestion-backed fields when user interaction rules allow it.

That matters because suggestion-driven inputs are common in search boxes, postcode fields, travel forms and various admin consoles. If you automate sites like that, native support is better than site-specific hacks and better than pretending the picker does not exist.

Reporting API

Firefox 149 also adds the Reporting API. This gives web applications a consistent way to emit reports for things like Content Security Policy, Permissions-Policy and deprecations.

This does not help you extract data directly. It does help when you are trying to understand why a browser-based scraper behaves differently from an ordinary session, or when you want better instrumentation around policy violations and other client-side warnings. I would file this under diagnostics rather than extraction, but diagnostics still count.

Conclusion

Firefox 149 is a thin release for scraping. The changes I would actually test are the built-in VPN, the HTTP/3 upload fix and the two smaller automation-facing additions around <datalist> pickers and reporting.

If you already run Firefox in a scraping stack, my checklist would be short:

  • check whether the built-in VPN is available for your account and region yet, and whether its browser-only proxying is useful for your workflow;
  • rerun any upload-heavy browser automation flows over HTTP/3 on unstable connections; and
  • see whether showPicker() or the Reporting API can simplify awkward automation and debugging paths.

Previous updates: Firefox 147 and Firefox 146.

Sources