A new year is a good opportunity to reflect on what has worked and what did not, and improve the things that didn't. We did that with the "monthly" blog posts, of which we had published the last one for October 2025. The reason that it took us so long to write these is, that we were trying to link every merge request that got merged since the previous post and write short summaries for most of them. While this results in a very detailed account of what has happened, it became less feasible over time as we had more contributions in postmarketOS. After a good conversation we decided to change the format to talk about the highlights and going into detail sometimes, instead of achieving a complete report of everything that has happened. One major goal of the previous approach was thanking all the amazing people who contributed to the project, but we solved that by just adding the contributor names in the blog post in a separate section.
The title image of this blog post was taken at the very inspiring 39C3. If you would like to have some postmarketOS stickers as well, the next chance to get them is FOSDEM 2026 where we will have our own stand again where you can stop by and talk to us about all things postmarketOS! We are also excited to have two talks from postmarketOS team members:
…as well as many more postmarketOS and Linux Mobile related talks in the FOSS on Mobile devroom!
Organizational
- Alexey M. stepped down as Trusted Contributor. He has been improving postmarketOS across the whole stack since 2019. Among lots of other things he created libapk-qt and used it to add an apk backend to KDE's Plasma Discover, which eventually found its way upstream. He also improved pmbootstrap, maintained multiple devices and kernels and did a lot of kernel and bootloader work. Thank you very much and all the best for your new endeavours!

The PineNote using Sway with hrdl's opinionated configuration. Now in the community device category!
- Antoine is our newest TC! He has been maintaining Alpine Linux packages since 2022 and started contributing to postmarketOS last year, making a new port for the clockworkpi-uconsole-radxa-cm5, expanded clockworkpi-uconsole-rpi to include cm3 and cm5 compute modules, took over maintainership and made a bunch of improvements for the e-ink powered pine64-pinenote, most recently moving it up from the testing category to community (!7459). Welcome to the team! (The onboarding is currently in progress, so Antoine is not listed on the team page yet on the day this post goes out.)
Aelin is now co-maintaining pmbootstrap, and Danny is now co-maintaining mobile-config-firefox. Thank you both!
Speaking of maintainers, we are now storing who maintains what repository in a
maintainers.txtfile inside that repository (notable exception is pmaports, where we store the maintainer information in theAPKBUILDfiles). We used to store this information in a separate wiki page. With the new approach the git history directly contains who maintained the project at which time and we have a clear process of adding and removing maintainers (making new merge requests that change the file). The new project maintainers documentation page describes the format, what powers and expectations maintainers have and how one can become a maintainer. Thanks Achill for implementing this across all repositories (!40)!
Contributor Support Programme
Thanks to all the amazing people donating to postmarketOS, we now have the CSP to offer postmarketOS contributors with a high time-commitment the option to receive financial compensation for the work they do. Read the finances blog post from December for more information. Since the start of the CSP, we now have the first monthly report to share!
Monthly report December 2025
During December 2025 the holiday season kicked in, and regular working plans got a bit shattered. Stefan and Pablo spent less time than expected this month, while Clayton spent a lot more than initially planned. Overall:
Stefan continued working on pmbootstrap, the tool we use for development. He opened multiple Merge Requests, including cleaning some important necessary technical debt, and reviewed a great amount of other people's work too. Stefan also spent some time on the dint tool and worked on debugging, upgrading, and testing some devices like the Librem 5 and the Samsung Galaxy Xcover 2. He also spent time reviewing other people's work in pmaports, and helping with UI design for the new USB stack.
Clayton spent a great amount of time this month working on immutable, doing contributions related to duranium, mkosi, and systemd. Clayton also spent a lot of time reviewing, testing, and supporting Dylan to get the USB stack merged. Finally, a considerable amouont of time went into further maturing Plymouth integration and doing mediation work across the project. As always, Clayton also reviewed dozens of MRs across pmaports and worked on several infra tasks.
Pablo spent a majority of his time on ci-tron related work to get the final integration into pmaports merged. That included the integration work, but also supporting Martin R. to be able to generate something ci-tron-bootable using the postmarketOS tooling and kernels. A lot of other work went into different forms of community and governance support. Reviewing PMCRs, doing project management, organizing the name change, discussing about legal work, supporting Alpine in their governance, and writing documentation of all kinds.
You can find a break-down of detailed information in the exported CSVs in the repository.
Infrastructure
We have made great progress on automated hardware testing, see the Hardware testing automation: a minimum viable product blog post that Pablo wrote. Additionally Federico wrote a separate blog post showing how he made a proof-of-concept for automated phone call testing.
postmarketOS edge binary packages and CI are now available for loongarch64. Thanks Aelin!
pmbootstrap versions 3.7.0, 3.8.0 and 3.9.0 have been released. Thanks to everybody who contributed!
The infrastructure for building nightly repositories has been reworked and nightly repositories for phosh, gnome and "desktop" (currently modemmanager, libqmi, upower, flatpak, systemd, polkit, dbus, libcamera) have been added next to the existing plasma mobile repository. The latter will be replaced by a new KDE repository that will use the same new scripts in the future. Thanks Achill, Aelin, Bart, Oliver!
New postmarketOS chatrooms have been created:
systemd musl support + service file upstreaming
Systemd upstream has merged the first pull request to allow experimental builds with musl libc! This is great news for us since that will make it much easier to rebase our fork and upstream our patches. This PR together with a few fixes has landed in systemd v259. More PRs are already in progress like running the CI test suite in postmarketOS. Thanks Yu Watanabe and everybody who reviewed the PRs, and to Clayton and Jane for getting this version into postmarketOS edge (!7584).
Also now that abuild has support for -systemd subpackages that allow shipping systemd service files in Alpine Linux, we can get rid of our systemd service file forks. That allows us to always use the service files endorsed and released by our upstream projects, and therefore reducing maintenance and trigger less issues due to service file compatibility.
This also gives us the chance to upstream our service files to projects without a reference file, allowing them to have control over how their application is supervised. And also a lot of fixes that allow installing service files in build systems where no systemd is installed.
We now got rid of our phosh package forked from Alpine to add systemd support and now are using the upstream package from Alpine again (!7387). Thanks, Achill!
A bunch of new systemd subpackages, a total of 150 new ones in Alpine (as of writing). Thanks, Achill and Bart!
And finally, the removal of almost all service files from our repository, since they are now pulled in from Alpine's repository. Thanks, Achill, Stefan, Pablo, Clayton and Bart!
Number of settings apps in Phosh reduced
A smaller, but important long-time project inside postmarketOS has been reducing the number of settings apps in Phosh. We had three settings apps for several years, GNOME Settings (gnome-control-center), Phosh Mobile Settings and postmarketOS Tweaks. We are excited to announce that we have implemented a conf-tweaks backend upstream in Phosh Mobile Settings that not only postmarketOS can use for its custom settings, but also other Linux Mobile distributions that package Phosh. Even users who wish to add nice GUI options for their own settings.
With that we were able to sunset our legacy app by having everything relevant from postmarketOS Tweaks as configs for Phosh Mobile Settings (postmarketos-tweaks-settings-definitions, !1, !2, !3, !4, !5, !6, !7678). While Phosh Mobile Settings has "Phosh" in the name, it should work work with any user interface, including for instance Sxmo or Plasma Mobile, just like postmarketOS Tweaks did. See the Phosh fedi post for a screenshot and the edge post for more information. There is also an idea to reduce the settings app count further to just one (#103).
Thanks to Stefan (implementation), Guido (review) as well as NLNet and NGI Zero (funding)!
USB stack reworked
The USB stack for GNOME Mobile, Phosh and Plasma Mobile has been reworked to now use usb-moded from SailfishOS in postmarketOS. This is more robust than what we had previously and shows a notification where you can select what you want to do when a USB cable is attached to your phone. Read the edge bost for more information. Thanks Dylan for implementing this, everybody who helped with testing, Guido for adding an icon to the notification and Clayton for making a related pmbootstrap patch!
Misc
A lovely new namecard design was added so maintainers can hand them out at events (!72). Thanks, Rob and Ranny!
New podcast: #46 Summer Events Special (DEFCON 33, WHY 2025, FrOSCon 2025)
Powered by
The following people wrote patches that have been merged since the last monthly blog post. Thank you very much for improving postmarketOS!
Stefan, Achill, Aelin, Clayton, Pablo, Aster, Oliver, Antoine, Luca, Sebastian F., Bart, Rudraksha, Peter, Adam, Dylan, Rob, Richard Ac., Ingo, Danny, bluebunny, Ferass, Gregory, Fauzan, Paul, Barnabás, Henrik, Alexandre Marquet, Vladimir, Arnav, User0, Casey, Francesco, faveoled, Alexey M., Duje, Jakko, Eisenbahnfan, Affe, Brady, Ranny, knuxify, Hugo, real, Pavel, small, Raymond, Nikita, Jan, Pan, Juan, Wren, Neil, Stanislav, tiel, Vasiliy, Joshua, methanal, Sreeranj, Ellie, Hacker1245, Jane, Petr, Daniel K., Insane, chris, moeenio, Mazzotti2, Guido, LEdoian, Sid, Joel, Vedingrot1, dominduchami, Ocavedo, David W., BotchedRPR, Md., Liam, Ben, Andreas, QuickSwift315490, Robert M., Extra, onny, Martin Sh, Lukas, David B., Dang, Oreeeee, Willow, Lin, Alistair, Jianhua, Richard Al.
Furthermore we thank everybody who has been contributing to any of the numerous upstream projects we use (Alpine Linux, Linux kernel, Phosh, Plasma (Mobile), GNOME (Mobile), Sxmo, ModemManager, and so many more!). And of course everybody who has helped out in other ways, such as helping others to run postmarketOS (e.g. in chats or IRL), improving documentation in the wiki, doing infrastructure and organizational work, or donating to postmarketOS.
You are the people who make this possible!
Help wanted
You can send us topics to include in the next blog post by commenting in: #222
If you appreciate the work we're doing with postmarketOS and want to support us, consider contributing financially via OpenCollective.

