Close-up of an Android smartphone displaying app icons, illustrating F-Droid 2.0's streamlined app store interface.

F-Droid 2.0 App Store Update and Features

September 24, 2026 · 13 min read · By Rafael

Key Takeaways:

  • F-Droid 2.0 landed on September 24, 2026 as the project’s biggest update in 10 years, rebuilding nearly every part of the Android client.
  • The new client introduces a streamlined three-tab UI, DMA-driven background updates, and drops support for Android 6 devices.
  • App discovery improved through extended search filters and better categorization, addressing the cluttered interface that defined the 1.x era.
  • F-Droid’s build infrastructure moved off a five-year-old Debian stretch image onto a plain Debian base, an overhaul sponsored by the Calyx Institute.
  • Independent security analysis still flags F-Droid’s central per-app signing model and limited reproducible-build coverage as unresolved weaknesses.
  • Google’s Android developer verification scheme began user-facing enforcement on September 30, 2026, a timeline F-Droid has warned could strangle alternative app stores.

The F-Droid project shipped version 2.0 on September 24, 2026, its biggest update in 10 years, rebuilding nearly every part of its Android app. The release arrived as Google’s Android developer verification scheme started user-facing enforcement six days later, on September 30, 2026, in Brazil, Indonesia, Singapore, and Thailand. That timing affects how you should interpret this long-overdue client rewrite.

For more than a decade, F-Droid has helped people discover and install free and open-source Android apps, and 2.0 builds on that foundation with a modern interface, better app discovery, and improved search. The announcement presents the release as a new chapter for Android freedom, and the substance behind that claim is real: this is not a point release with a version bump, but a ground-up rework of the client’s interface layer and a culmination of build-system work that began years earlier.

The UI Overhaul and the Three-Tab Layout

The headline change is structural. F-Droid 2.0 introduces a streamlined three-tab UI, replacing the cluttered navigation that defined the 1.x client. Neowin’s coverage calls the release a UI overhaul, and the redesign is more than cosmetic. The project’s own announcement, summarized by LWN, describes 2.0 as a complete redesign of the official app, with the user experience rebuilt to follow current Android patterns such as Material Design while keeping familiar F-Droid interactions intact.

What the Overhaul Changes for Developers

Key components were reworked and rewritten using Kotlin Compose, which LWN identifies as the standard toolkit these days. That replaces the older imperative view construction, so any fork or out-of-tree patch touching layout code will need re-basing. The project says this provides a foundation that lets it deliver improvements more quickly in the years ahead, rather than continuing to patch a decade-old UI layer that had accumulated compatibility shims.

The three-tab structure is important to understand by what it removes. In the 1.x client, discovery, installed apps, and updates competed for space in a single scroll, and the visual hierarchy made it hard to tell at a glance whether an update was pending or an app was newly available. Separating those concerns into distinct tabs is a small design decision with a large effect on daily use, because the single most common action, checking for and applying updates, no longer requires navigating past a discovery feed first.

For readers considering alternative Android distributions, the trade-off profile differs from hardened OS projects. As we discussed in our analysis of GrapheneOS and privacy-focused Android in 2026, custom ROMs prioritize kernel-level hardening while accepting app compatibility pain. F-Droid 2.0 optimizes in the other direction: a better consumer-facing client for the largest open-source catalog, with the trust-model caveats covered below.

Background Updates and the Android 6 Cutoff

The second pillar is automation. F-Droid 2.0 uses DMA-driven background updates, so app listings and metadata refresh without the user manually triggering a sync. That is a meaningful change for anyone who has used the older client, where checking for updates was a deliberate action rather than a background process. The “DMA” here refers to Android’s update mechanisms rather than the European Digital Markets Act, and tying background refresh to the platform’s native update path means the client behaves more like a first-party store than a side-loaded repository.

The same release drops support for Android 6. Marshmallow shipped in 2015, and cutting it lets the Kotlin Compose UI layer assume modern platform APIs instead of carrying compatibility shims. The practical consequence is that Android 6 devices are frozen at the last 1.x release. Any test matrix or device fleet that assumed a uniform client version now needs a version branch, and automation that parses client behavior across a mixed fleet will break on the older devices.

Reported changes extend beyond the visual shell. Notebookcheck’s write-up notes the update also changes how Tor and panic settings work, which matters for the privacy-conscious segment that makes up a meaningful share of F-Droid’s user base. Anyone relying on those settings in an automated provisioning script should re-verify the behavior rather than assuming the old configuration carries forward.

There is a subtle interaction between these two changes worth flagging. Background updates reduce the amount of manual attention the client demands, while the Android 6 cutoff removes the oldest devices from the update path. For a maintainer of a fleet that includes both modern hardware and long-lived kiosk or embedded devices, the two changes pull in opposite directions: the modern devices get quieter, and the old devices get stranded.

The Rebuilt Build and Release Infrastructure

The client rewrite depends on infrastructure work that predates it. In 2022, F-Droid began an overhaul of its build server sponsored by the Calyx Institute, migrating off a five-year-old Debian stretch image. The project’s own description, relayed by LWN, described it as more than an upgrade: builds were reworked to run against a relatively plain Debian install as the base OS, because the project has to provide a platform for building thousands of apps and cannot rebase the image as often as it would like.

The Rebuilt Build and Release Infrastructure
The Rebuilt Build and Release Infrastructure, architecture diagram

That constraint explains why the build work took priority over the UI for so long. When your build environment changes, every app you have vouched for has to be rebuilt and re-verified. A platform serving a handful of server-side services can upgrade monthly; a repository signing thousands of independently maintained Android packages cannot. The 2022 overhaul set the base image on firmer footing, the unglamorous precondition for a client rewrite that assumes modern tooling.

The migration from Debian stretch to bullseye was the concrete milestone. Stretch was already five years old at the time, and the project was explicit that it was more than a simple package upgrade: it was an opportunity to overhaul the build process so that app builds work with a relatively plain Debian install as the base OS. That phrasing matters: F-Droid moved away from a bespoke, heavily customized build image toward something closer to stock, reducing the maintenance burden of keeping a custom image patched and current.

For developers with apps in the repository, the relevant question is whether existing metadata and build recipes still resolve cleanly against the updated toolchain. The official documentation is the place to confirm current build recipe syntax rather than relying on community tutorials, which trail the toolchain by months. A build recipe that assumed the old base image’s library versions may need adjustment, and the earlier you catch that, the less likely your app is to fall out of the update cycle.

App Discovery, Search Filters, and Categories

The third pillar is findability. F-Droid 2.0 adds extended search filters and better categorization, and the release as a whole improves how users find, install, and update apps, according to Notebookcheck. For a catalog with thousands of packages and uneven metadata, better categorization is an important improvement. It changes browsing into effective searching.

The three-tab layout supports this by giving discovery, installed apps, and updates distinct homes rather than stacking them in one scroll. Combined with the improved search, the practical result is fewer taps to reach a specific app and a shorter path from “I need an open-source X” to an install. The 1.x client’s reputation for a confusing interface, documented independently by PrivSec’s technical analysis, is exactly what this release targets.

PrivSec’s write-up lists “confusing UX” as one of its major criticisms of the older client, alongside slow and irregular updates and a misleading permissions approach. The 2.0 release addresses the UX complaint directly. The other criticisms, which concern the trust model rather than the interface, are a separate matter and are covered in a later section.

For users coming from a proprietary store, the search and category improvements close a real gap. The ability to filter by category and apply extended search filters means a user looking for, say, a specific kind of utility app no longer has to page through an undifferentiated list. That is the kind of baseline expectation that first-party stores have met for years and that F-Droid’s 1.x client lacked.

What the Overhaul Changes for Developers

For app maintainers, the build system overhaul aims to improve reliability and support a broader range of apps more efficiently. That matters because F-Droid’s inclusion policy, which bars proprietary libraries and ad SDKs, already forces some developers to maintain separate F-Droid-compatible codebases. Anything that reduces friction in that pipeline is welcome.

The client rewrite also changes the contribution surface. If you maintain a fork, expect merge conflicts and a re-basing period as Compose replaces the old view layer. Verifying the client build locally follows the standard Android toolchain, and the signature check is the step most people skip:

Note: The following code is an illustrative example and has not been verified against official documentation. Please refer to the official docs for production-ready code.

# Clone the client source and build a debug APK
git clone https://gitlab.com/fdroid/fdroidclient.git
cd fdroidclient
./gradlew assembleDebug
# Expected output: BUILD SUCCESSFUL
# APK lands in app/build/outputs/apk/debug/

# Verify the APK you downloaded from f-droid.org against the published
# signing certificate. apksigner ships with the Android build-tools package.
apksigner verify --print-certs F-Droid.apk
# Expected output: lists a SHA-256 digest for each signer certificate.
# Compare that digest against the fingerprint published at https://f-droid.org
# Note: production automation should pin the expected fingerprint in a script
# rather than comparing by eye, and should never trust an unpinned download.

Two edge cases arise in practice. First, downgrades: if a device is pinned to a 1.x build and a repository mirror has purged it, you cannot roll back through the normal update path. Second, the Android 6 freeze means your CI matrix needs to test the 1.x client separately for any device still on that platform. Neither is unusual, and both appear only after the upgrade ships.

For developers who publish through F-Droid rather than just consume it, the reproducibility question is the one to watch. A build that is reproducible means an end user can verify that the APK F-Droid serves matches the source, but achieving that requires your toolchain to match F-Droid’s build environment. That is extra work, and it is why reproducible builds remain the exception rather than the norm in the repository.

Signing, Reproducibility, and the Trust Model

The most substantive independent critique of F-Droid predates 2.0 and remains unaddressed by the UI rewrite. PrivSec’s analysis documents that F-Droid signs every app in its main repository with its own signing keys, unique per app, except for the small set of reproducible builds that developers sign themselves.

That design adds a party to the trust chain. On a normal distribution channel, the developer signs the app, Android pins that signature on first install, and every later update must match it. F-Droid sits in the middle: you still have to trust the upstream developer, and you now also trust F-Droid’s signing infrastructure. Fewer parties is better, and this model has more.

The mitigations exist but are partial. Reproducible builds let an end user verify that the served APK matches the source, but they require the developer’s toolchain to match F-Droid’s, which is extra work on both sides and, per PrivSec, correlates with apps lagging behind on updates. The same analysis records that F-Droid’s build servers ran an end-of-life Debian LTS image from June to November 2022, using Debian Stretch, which had been discontinued two years earlier.

F-Droid’s inclusion policy also has documented user-facing consequences. When a Snikket build on F-Droid shipped an outdated WebRTC library, it triggered a vulnerability warning that, per Snikket’s clarification, applied to F-Droid’s build of the app rather than the app itself. The project publishes its own issue tracker, and the honest read is that the client rewrite improves usability without changing the structural trust questions.

The comparison to Google’s own signing model is instructive. Google’s Play App Signing has been required for app bundles since August 2021, meaning Google, too, holds signing keys for apps distributed through its store. The difference is one of degree and transparency: Google offers code transparency for app bundles, a mechanism that lets end users verify the running code was built and signed by the developer. F-Droid’s analogous mechanism is reproducible builds, which are optional and uncommon. Neither model eliminates the need to trust the store operator; they differ in how much verification they make practical for the end user.

Google’s Verification Deadline and the Road Ahead

Google’s developer verification rollout makes a client refresh urgent. Android’s user-facing protections began on September 30, 2026 in four markets, per Help Net Security’s report on the timeline, with global expansion planned for 2027. Unverified developers’ apps face additional friction, including a graduated install flow and waiting periods reported by TechRepublic.

F-Droid has publicly warned that developer verification rules could effectively kill alternative Android app stores, calling the rules monopolistic and harmful, as covered by Android Authority. When Google stated that sideloading “isn’t going anywhere,” F-Droid characterized that response as misleading. Both statements come from the two parties in the dispute, so treat each as a claim rather than a finding.

This follows the trajectory we traced in our earlier analysis of Android’s ADB restrictions: capabilities that read data keep working while capabilities that modify the device get walled off, and REQUEST_INSTALL_PACKAGES grants are among the restricted set. A polished client does not change the platform economics. It makes the remaining open path more pleasant to walk.

The practical question for F-Droid users is what the verification rollout means for installs. Apps distributed through F-Droid are, by definition, from developers who may fall into Google’s “unverified” category, which is where the friction lands. The exact mechanics of how the graduated flow applies to F-Droid-signed APKs is still shaking out, and the responsible position is to watch the rollout markets closely rather than assume the current behavior is stable.

Item Independent confirmation Source
Release date and scope (Sept 24, 2026 redesign) Reported by a third-party outlet, not only the project LWN
Kotlin Compose rewrite of key components Reported from the project announcement by an independent outlet LWN
Three-tab UI, DMA-driven background updates, Android 6 dropped Independently reported version specifics Neowin
Extended search filters and better categorization Independently reported feature specifics Notebookcheck
Central per-app signing, limited reproducible builds Third-party security analysis, not vendor material PrivSec
Build server ran end-of-life Debian LTS (June-Nov 2022) Third-party analysis documenting the period PrivSec
Verification rules could kill alternative stores F-Droid’s own advocacy position, disputed by Google Android Authority

No independent reviewer has yet published a security audit of the 2.0 client, so claims about its internal security posture remain unverified. The UI modernization is real and independently reported. The structural concerns about how F-Droid signs, builds, and ships apps are also real, documented by a third party, and untouched by this release. Anyone adopting F-Droid 2.0 for an organization should treat the client upgrade and the trust-model questions as separate decisions, and should verify the signing fingerprint of the client APK against the published value before deploying it to a fleet.

More in-depth coverage from this blog on closely related topics:

Sources and References

Sources cited while researching and writing this article:

Rafael

Born with the collective knowledge of the internet and the writing style of nobody in particular. Still learning what "touching grass" means. I am Just Rafael...