If, like me, you’ve relied on Fennec as a more tolerable version of Firefox for Android, you may have gotten some bad news in the latest F-droid update cycle.
Fennec has fallen so far behind on updates that serious security patches implemented by Mozilla in Firefox haven’t been applied to the fork, and Fennec is therefore still breachable.
The developer responded two weeks ago that they were “short on time”, and there still isn’t a new, secure version available. This appears to be due to that recurring weak link in open source development: small teams, confronted by real life demands like time and money?
It’s just very unfortunate timing. Google removed some library Firefox depended on in NDK and it meant developers need to make significant changes to their packaging system. At the same time critical vulnerably was discovered in Firefox. On top of that, everything happened when main developer of Fennec was away from home and short on time. But from what I’ve seen on Fennec gitlab most of the work is done so you should expect update soon.
Yep, it’s this. Annoying change, but from what I was reading, perfectly solvable with a little time. Unfortunately the dev was moving house, so they fell a version behind at the worst possible moment, but they’re aware of the issue. I’m not too concerned.
Had it not been for FDroid’s warning, I wouldn’t have even realized Fennec was a version behind (now 2). Normally it’s not that big a deal.
Firefox 130 was released on the 3th of September, almost 2 months ago. This didn’t just happen in a short time frame.
Fennec being a version behind for over a month because the dev was absent wouldn’t normally be that big a deal if not for the vulnerability being discovered.
What do you find not tolerable in standard Firefox and what did this browser do that made it better?
I know firefox is rather memory heavy, but despite that it’s still my go-to browser, both for desktop and mobile.
Upstream Firefox doesn’t comply with FDroid’s rules (thanks to the ‘proprietary bits and telemetry’ Handles mentioned), so is only available from the Play Store or as a loose APK that won’t auto-update.
it’s also available from Mozilla’s repos and can be updated using Obtainium https://download.cdn.mozilla.net/pub/fenix/releases/
Cool.
But I’m not adding another method of updating apps just for the browser. F-Droid is where my non-play store apps live and update from, and I’d like to keep it that way.
I use Obtainium (available in F-Droid) alongside F-Droid since both have auto-updates
this is still tolerable to the old days of updating manuallybiggest upside is I can update Tubular/Newpipe faster via Obtainium while F-Droids build system takes days
This reads like “they only sell hamburgers at the grocery store, and they don’t sell veggie burgers at the hippie food store because they aren’t vegan”
obtanium?
I think this is beside the point here, but as it says in the F-droid description, their build “has proprietary bits and telemetry removed”.
A bit of backstory on how we got here - in June 2024 Mozilla chose to (a) integrate the source tree of Firefox Mobile into their huge monorepo (“gecko-dev”), and (b) move the source off of Github onto their own git servers (“Mozilla Central”). You can read about it in the now-archived old repo:
- https://github.com/mozilla-mobile/firefox-android
- https://github.com/mozilla-mobile/firefox-android/wiki#upcoming-migration-to-mozilla-central
This was then compounded by a core Android build kit (“NDK”) choosing to remove parts of the toolchain which is/was used to build Firefox releases (ergo, forcing another change to build process):
Together these have caused a bit of a kerfuffle in getting new releases compiled and released via the official F-Droid methodology. See the other comment about the Mull version in their private repo, they’re having to use a Mozilla pre-built clang (a compiler toolchain) now to make it work for the time being.
Thanks for the context! Much appreciated.
Quick update for anyone still reading this thread:
@fdroidorg@floss.social As with any other app, we flagged Fennec and Mull with KnownVuln until the app is updated. Contributors fixed the issues that delayed versions 130 and later. Stand by for the build.
I’ll just throw out Mull from DivestOS’s third-party f-droid repo as an up to date alternative. The newest versions are incompatible with the main repo but here is their explanation:
Updated Mull to 131.0.0, has 14+1+25 security fixes from the previous 129.0.2 release. In order to resolve the compilation issue introduced in 130, Mull is now compiled using Mozilla’s prebuilt clang toolchain. This however is incompatible with the F-Droid.org inclusion criteria, so these updates (for now at least) will only be available via the DivestOS.org F-Droid repository. Please note, while this adds a prebuilt dependency, the result does still remain FOSS.
Ah yes, the toolchain changes appear to be a stumbling stone for the Fennec devs as well. That kind of thing doesn’t exactly speed up new releases, I’m sure.
What are your experiences with Mull? Is it generally compatible with Firefox plugins, and are there performance improvements as well as in security?
IMHO as i have it as my daily browser, it can become troublesome with booking websites (flights, tickets, hotels, restaurant orders, shopping). They don’t like whatever Mull blocks, and at some point during any booking process you’ll be unable to complete it. Sometimes during the payment step, so it can be… Frustrating.
I experience similar, if rarely, with my about:config modifications and muBlock add-on [edit: that was on Fennec, I expect similar on other Fenix forks]. Those things I blame more on the modern web than on any browser :/
I’ve been using it as my primary browser on Android for years so I don’t really have much to compare it to, but I haven’t had any issues with extension compatibility. It includes changes from Tor browser and Arkenfox so it’s more privacy-focused than on performance.
Mull has defaults that improve privacy at the cost of performance and website compatibility. They maintain a list of changes that you can reverse through about:config. If Mull seems slow for you, consider re-enabling the JavaScript JIT.
The only reason the Fennec devs haven’t announced this is that they’ve been moving but they’re basically working on the same things to get it back on F Droid.
The link(s) to add their F-Droid repo if not running DivestOS: https://divestos.org/pages/our_apps.html#repos
Been using Mull, didn’t realize there was newer versions, thanks for the link!
more tolerable version
It doesn’t even get updates. What are you on about? 😂
If you want an up-to-date and lightweight Firefox fork, try Waterfox that’s what I’m using right now
Didn’t even know there was a Waterfox for android, good to know.
I’m also surprised when I saw it on their website
Fdroid just posted https://floss.social/@fdroidorg/113384089915217604
Cool cool, glad to see I may have jumped the gun. But I had cause to try a couple other Firefoxes (Nightly Beta and Mull) in the meantime!
Now I’ll just be refreshing F-Droid every five minutes until the update comes through 😄
For those who want to install standard FF via Obtainium use this:
https://download.cdn.mozilla.net/pub/fenix/releases/
Then add intermediate links (EDIT: this will only fetch releases like 130.0 or 130.1, etc. so feel free to edit regex if you want to match other versions like 130.0.1)
[0-9]+\.[0-9]+/$ android/$ fenix-[0-9]+\.[0-9]+-android-arm64-v8a/$
EDIT: based on https://github.com/ImranR98/Obtainium/issues/1625#issuecomment-2120736614
I got the same warning for Mull. Is the patching so extensive? I always thought they have a patchset for some of the shortcomings and just apply that onto the newest Firefox version… Or do they do a full code review on all of the changes?
Same, I just switched to mull. Use FFupdater
Is there a way to transfer my browser profile on Android between Fennec and Firefox?
Firefox sync? You’ll get bookmarks at least
I have Mull installed 129.0.2 https://f-droid.org/repo/us.spotco.fennec_dos_21290220.apk
Should I uninstall?
Is there any way to export bookmarks from mull, so that I can uninstall it?
There are newer builds sooner in the divestos repository https://divestos.org/pages/our_apps#repos
Honestly, just wait a little bit, both Fennec and Mull will get it sorted soon and you’ll see an update. If the vulnerability is worrying you that much, I’d honestly just download the standard Firefox APK for the time being and use it while waiting on Mull to update on fdroid. It likely won’t be more than a couple days.
I used the Mozilla account sync thing that’s built in but it didn’t restore the extensions.
bookmarks and passwords seem to have copied over to the DivestOS one though.
“It’s fine” (or will be), just donate & carry on.
Dangerous attitude when it comes to itsec.
I know (& agree), I was saying it like exposing my flaw of laziness.
More specifically Google made it difficult to update, if I am not mistaken?
I could be mistaken, but since it’s a Mozilla base code and F-Droid distribution chain, I’m not sure where Google can stick it’s thumb in the pie.
Mozilla relied on an Android NDK to build correctly, became no longer available right as a firefox vulnerability came out and the Fennec dev was away from home.
I’ve been using Fennec. Any one got advise on what would be the best alternative? And please explain why.
What were its advantages over Firefox?
Fennec F-Droid
- removes ff telemetry,
- allows about:config changes,
- you can enable dev mode for your own extension collection,
- and it’s completely open source
Being installable directly from fdroid was what made me use it.
I’ve been using Firefox install via obtainium straight from the Mozilla repo.
There’s really no reason to go scrambling for an alternative, it’s a temporary problem.
Mull browser is also available on fdroid. It is an even better (secure) alternative to firefox as it uses some of tor architecture, from what I know.
I don’t know about tor architecture but it is more hardened
You can update Fennec I heard, just not through the regular means.