Mozilla, Gecko Archive
On behalf of the Thunderbird team, Thunderbird Council, our global community of contributors, and our extended Mozilla family, I am incredibly excited to announce the initial launch of Thunderbird 115 “Supernova” for Linux, macOS, and Windows! With this year’s version, we’re delivering much more than just another yearly release. Supernova represents a modernized overhaul of the software – both visually and technically – while retaining the familiarity and flexibility you expect from Thunderbird. This is a massive release, and modernises this venerable e-mail client considerably. I can’t wait to test it out once it hits the Fedora repositories – I never liked Thunderbird all that much, but Supernova seems like something that suits me a little better, so I’m curious to see if it can pull me away from Geary. If you want to quickly gauge the changes to the user interface, the Thunderbird team made a very handy page for that.
The rumour, by way of The Information, claims senior Microsoft execs hope to seal a deal with Mozilla to make Bing the default search engine as soon as this year, as the browser’s existing big-bucks deal with Google is coming up for renewal. Now, Firefox making a search engine switch isn’t new. Mozilla tested Microsoft’s Bing as Firefox’s default search engine back back in 2021; and those with longer memories may just remember a time when Yahoo! was the default search engine in select countries. It’s a tough pill to swallow: Firefox, effectively the only serious browser not controlled by Google or Apple, exists by the grace of Google. Google pays Mozilla for being the default search engine in Firefox, and said deal makes up about 85% of Mozilla’s revenue. Replacing Google with Microsoft int his equation seems like a lateral move, at best.
So we weren’t surprised to hear that Chrome users were concerned after learning that several of the internet’s most popular ad blockers, like uBlock Origin, would lose some of their privacy-preserving functionality on Google’s web browser, resulting from the changes Manifest V3 brings to Chrome’s extensions platform – changes that strengthen other facets of security, while unfortunately limiting the capabilities of certain types of privacy extensions. But rest assured that in spite of these changes to Chrome’s new extensions architecture, Firefox’s implementation of Manifest V3 ensures users can access the most effective privacy tools available like uBlock Origin and other content-blocking and privacy-preserving extensions. I’m so glad Firefox exists. There simply isn’t any viable alternative to it, and that’s why I’m continuously worried about the continued existence of Mozilla. The story around Manifest V3 is just another example of why Firefox is superior.
The first computer I owned shipped with 128 KiB of RAM and to this day I’m still jarred by the idea that applications can run out of memory given that even 15-year-old machines often shipped with 4 GiB of memory. And yet it’s one of the most common causes of instability experienced by users and in the case of Firefox the biggest source of crashes on Windows. A detailed technical explanation of why Windows’s memory management – and only Windows’s – is causing so many crashes for Firefox, as well as a solution they found to address the problem.
Today, amid a sea of internet companies and products that routinely put profits ahead of people, Mozilla is unveiling an ambitious new venture capital fund to transform technology investment — and the internet more broadly. Yes, this is exactly what the only browser standing between us and complete Chrome dominance needs. Can you taste the sarcasm?
The history of Firefox UI is important because my project compensates for the shortcomings of this Proton UI and inherits the strengths of the existing Firefox UIs. It’s also one of the ways to prevent divisions in the community, given that there have been forks every time the UI changes big. A detailed timeline of the changes to the user interface of Firefox.
At the end of 2008, Firefox was flying high. Twenty percent of the 1.5 billion people online were using Mozilla’s browser to navigate the web. In Indonesia, Macedonia, and Slovenia, more than half of everyone going online was using Firefox. “Our market share in the regions above has been growing like crazy,” Ken Kovash, Mozilla’s president at the time, wrote in a blog post. Almost 15 years later, things aren’t so rosy. Across all devices, the browser has slid to less than 4 percent of the market—on mobile it’s a measly half a percent. “Looking back five years and looking at our market share and our own numbers that we publish, there’s no denying the decline,” says Selena Deckelmann, senior vice president of Firefox. Mozilla’s own statistics show a drop of around 30 million monthly active users from the start of 2019 to the start of 2022. “In the last couple years, what we’ve seen is actually a pretty substantial flattening,” Deckelmann adds. The decline and potential demise of Firefox is a massive problem that everybody seems to be kind of tiptoeing around, too afraid to acknowledge that if Firefox were indeed to disappear, we’d be royally screwed. We’d end up right back where we started 20 years ago, with Chrome being the new IE6, but with the big difference that Chrome isn’t bad enough yet for people to care. The situation is especially dire for the Linux world, and I feel like a lot of Linux users, developers, and distribution makers simply aren’t thinking about or preparing for a future where they can’t rely on Firefox anymore. Aside from Firefox, there really isn’t any browser out there that takes Linux seriously, and this is a big problem. Chrome is a disaster on Linux – it doesn’t even do something as basic as video acceleration unless you use one of the third party, custom maintained versions of Chromium, and, of course, it’s a vessel for Google’s advertising business. Things like the Gnome Browser or KDE’s Falkon can barely be taken seriously, and on top of that, are based on Apple’s WebKit, which isn’t a great position to be in either – and that’s it. There’s nothing else. The desktop Linux world is playing with fire by being so reliant on Firefox, and now that Firefox and Mozilla seem to be in some serious dire straits, I’m dumbfounded by the fact nobody seems to be at all preparing for what happens if Mozilla ever truly goes down.
Chrome and Firefox will reach version 100 in a couple of months. This has the potential to cause breakage on sites that rely on identifying the browser version to perform business logic. This post covers the timeline of events, the strategies that Chrome and Firefox are taking to mitigate the impact, and how you can help. Just skip 9.
Attribution is how advertisers know if their advertising campaigns are working. Attribution generates metrics that allow advertisers to understand how their advertising campaigns are performing. Related measurement techniques also help publishers understand how they are helping advertisers. Though attribution is crucial to advertising, current attribution practices have terrible privacy properties. For the last few months we have been working with a team from Meta (formerly Facebook) on a new proposal that aims to enable conversion measurement – or attribution – for advertising called Interoperable Private Attribution, or IPA. Mozilla working together with Facebook on a privacy feature. How desperate is Mozilla, exactly?
In version 91 of Firefox, released on August 10th, Mozilla has reverse engineered the way Microsoft sets Edge as default in Windows 10, and enabled Firefox to quickly make itself the default. Before this change, Firefox users would be sent to the Settings part of Windows 10 to then have to select Firefox as a default browser and ignore Microsoft’s plea to keep Edge. Mozilla’s reverse engineering means you can now set Firefox as the default from within the browser, and it does all the work in the background with no additional prompts. This circumvents Microsoft’s anti-hijacking protections that the company built into Windows 10 to ensure malware couldn’t hijack default apps. Microsoft tells us this is not supported in Windows. Sadly, this does not work on Windows 11, where Microsoft is now forcing users to change the default handler for every individual file type a browser might use.
This may not look like much, but it demonstrates that the current version of the OpenPOWER JavaScript JIT for Firefox can emit machine language instructions correctly (mostly — still more codegen bugs to shake out), handles the instruction cache correctly, handles ABI-compliant calls into the SpiderMonkey VM correctly (the IonMonkey JIT is not ABI-compliant except at those edges), and enters and exits routines without making a mess of the stack. Much of the code originates from TenFourFox’s “IonPower” 32-bit PowerPC JIT, though obviously greatly expanded, and there is still ongoing work to make sure it is properly 64-bit aware and takes advantage of instructions available in later versions of the Power ISA. (No more spills to the stack to convert floating point, for example. Yay for VSX!) Good progress being made on porting Firefox’ JIT to POWER. I’m forced to use Chromium for now, which is unpleasant.
Say hello to a fresh new Firefox, designed to get you where you want to go even faster. We’ve redesigned and modernized the core experience to be cleaner, more inviting, and easier to use. I was all set to dislike the new design, but honestly, on Linux – both on Gtk+ and KDE desktops, it looks and feels… Nice? I got used to it in an instant, and everything definitely looks cleaner, tighter, and fresher, without really making any massive changes or doing any truly drastic user interface overhauls.
Roughly a year ago at Mozilla we started an effort to improve Firefox stability on Linux. This effort quickly became an example of good synergies between FOSS projects. Just a nice feelgood read about collaboration in the open source world – and if you use Firefox on Linux, like I do, this is already benefiting you greatly.
We are pleased to announce that Firefox 87 will introduce a stricter, more privacy-preserving default Referrer Policy. From now on, by default, Firefox will trim path and query string information from referrer headers to prevent sites from accidentally leaking sensitive user data. Good move.
The organization plans to remove the Compact option from the customize menu and migrate users who use Compact to the Normal mode once the change happens. The preference browser.uidensity will remain for the time being, but it is possible that it will get removed at one point in time as well or that the compact mode value won’t change it anymore at the very least. This is a terrible decision. I obviously use the compact layout everywhere, because not only does it look better and use less space, it also doesn’t have that insanely oversized back button. This change makes absolutely no sense to me, and I can’t wait until we get a hack to bring it back.
Today we are pleased to announce Total Cookie Protection, a major privacy advance in Firefox built into ETP Strict Mode. Total Cookie Protection confines cookies to the site where they were created, which prevents tracking companies from using these cookies to track your browsing from site to site. I don’t think anybody will be against this.
The release of Apple Silicon-based Macs at the end of last year generated a flurry of news coverage and some surprises at the machine’s performance. This post details some background information on the experience of porting Firefox to run natively on these CPUs. We’ll start with some background on the Mac transition and give an overview of Firefox internals that needed to know about the new architecture, before moving on to the concept of Universal Binaries. We’ll then explain how DRM/EME works on the new platform, talk about our experience with macOS Big Sur, and discuss various updater problems we had to deal with. We’ll conclude with the release and an overview of various other improvements that are in the pipeline. These kinds of articles are very valuable, since Apple isn’t always forthcoming with documentation of specifications, and the new M1-based Macs are no exception. Big, massive projects like Firefox sharing their experiences can be quite useful to other developers.
The Servo Project is excited to announce that it has found a new home with the Linux Foundation. Servo was incubated inside Mozilla, and served as the proof that important web components such as CSS and rendering could be implemented in Rust, with all its safety, concurrency and speed. Now it’s time for Servo to leave the nest! Code for this independent web engine is out on Github.
But let’s not bury the lede here: after several days of screaming, ranting and scaring the cat with various failures, this blog post is finally being typed in a fully profile-guided and link-time optimized Firefox 82 tuned for POWER9 little-endian. Although it multiplies compile time by nearly a factor of 3 and the build process intermittently can consume a terrifying amount of memory, the PGO-LTO build is roughly 25% faster than the LTO-only build, which was already 4% faster than the “baseline” -O3 -mcpu=power9 build. That’s worth an 84-minute coffee break! (-j24 on a dual-8 Talos II , 64GB RAM.) This whole post is a ringing endorsement of Firefox and why the technology landscape – especially the alternative operating systems and hardware platforms landscape – needs Firefox. There really isn’t any other viable option. Chromium? Chromium is open source, but a lot of its important functionality is hidden behind a needlessly complex process of setting up and registering API keys that’s about as intuitive as designing an atomic bomb from scratch on a deserted island. On top of that, Chromium is still a Google project, and as Google’s reluctance to support important features on Linux shows, Chromium is designed for Google’s interests – nobody else’s. WebKit? WebKit requires developers to build an entire web browser around it from scratch. While that can lead to awesome applications, it also means replicating every single bit of functionality users have come to expect from their browsers. Things like bookmark and tab sync, extensions, and so on – all have to be built and maintained form scratch. Firefox is the only complete package someone can port to another platform and end up with a complete browser package. Sure, it’s definitely not an easy undertaking to port a program as complex as Firefox, but in a lot of cases, it’s probably easier than porting WebKit/Blink and building a browser around it from scratch.
Warp aims to improve the Firefox JavaScript performance by reducing the amount of internal type information that is tracked along with other optimizations. Warp can lead to greater responsiveness and faster page load speed. Numbers cited by Warm developers are normally in the 5~15% range. As of yesterday, Firefox Nightly now enables Warp by default. The enabling in Firefox Nightly is seeing 20% faster load times for Win64 Google Docs, 13% faster for the Android Reddit SpeedIndex, 18% faster for PDFPaint, and other measurable improvements elsewhere. That’s a big improvement, and sadly, due to the state of the modern web, a very, very welcome one.