As in 2022 I took another look back at what changed in Phosh in 2023 and instead of just updating my notes why not share it here. In short: While collecting these bits I became really impressed about the progress we made 🚀:
Some numbers Link to heading
We were discussing at this years Phosh Community Get Together at Froscon if we should lengthen the Phosh release cycle a bit but we kept the one release per month schedule to get improvements out to users quickly. So in 2023 we did 11 major releases (we mist the January one) and two bugfix releases (in March and December).
The number of code contributors to the phone shell itself remained roughly constant compared to 2022 at 20 individual contributors. Counting over closely related projects like phoc, squeekboard and mobile-settings we hit the 30 different contributors mark which is great. Translations also came from more then 30 different people again.
Non-merge commits in phosh itself went slightly up from last year to about 750. Phoc had almost 600 commits (not counting merges and indentation fixups) - a significant up of roughly 50% compared to 2022.
Phosh Link to heading
The Phone Shell itself saw some notable additions like the initial emergency call support by Thomas which gets triggered by a new menu that is shown on power button long press:
We got one new plugin to execute actions from the lock screen and Chris added a simple way to enter information for emergency situations like medical information, blood type, etc.:
Audio devices can now be selected via quick settings and ongoing calls have a notification on the lock screen (so one doesn’t need to remember the swipe gesture to access an ongoing call):
Speaking of ongoing calls: The library containing the call widgets (libcall-ui) used by GNOME Calls and phosh was ported to GTK4 by Anton Lazarev.
Apart from that we added some additional animation, (e.g. when showing status icons or when removing the app launch splash) to improve the overall appearance and fixed nightlight (again). Screen blank is no longer tied to screen lock and there’s a new setting to specify above which notification urgency we wake up the screen.
Phosh can now also avoid a device’s screen cutout or notch if it finds the necessary information. See here for details.
Phoc Link to heading
On the compositor side we went through two wlroots version upgrades (0.16.0 and 0.17.0) and as the library usually breaks API in several places this prompted for a lot of (overdue) internal cleanups which improved the code base considerably (and explains the higher commit count over the year). This allowed us to address lots of bugs that were around since a long time. We fixed several issues around animations, added compositor side alpha blending (to smoothen phosh side animations) and added support for tablet-mode switch to improve support for convertibles.
On Screen Keyboards Link to heading
Squeekboard gained new layouts, saw a bunch of internal cleanups and got some sizing fixes. The amount of people experimenting with custom layouts to make good use of screen estate had a considerable up take, see e.g. here.
phosh-osk-stub also gained some new layouts (including an emoji one), improved the character popovers and saw the addition of three new text completers (pipe, hunspell, varnam). The later one allowing us to support Indic scripts like Malayalam via govarnam. We also improved support for apps that don’t use a text-input protocol (like Electron apps or Chromium) when using non-us layouts.
Mobile Settings Link to heading
The app for advanced settings got a new panel for on screen keyboard settings, a sensor panel (by Evangelos) and a panel to configure event feedback. This panel also allows to configure the sound when receiving an SMS or phone call or when to wake up the screen (added by Suraj). Gotam added detailed debug information to the about dialog and a way to reorder lock screen plugins.
Pending changes Link to heading
One change that didn’t make it into a release in 2023 but will be part of 0.35.0 and is already visible in the screenshots above is the smaller home bar (implemented by Matthew). But there’s more things we’ve already worked on and hope to land in 2024 (all of the screenshots in this paragraph are from existing merge requests so they’re actually backed by some code already). This includes out of the box support for wallpapers on the lock screen and the overview:
Once the WiFi part landed adding support for more details in quick settings (like VPN selection) will be relatively easy.
I also expect us to switch to a 6 week or 2 month schedule in the not too distant future when more things settled in but we’ll see.
Thank you Link to heading
A big thank you to all Phosh contributors in 2023, be it translations, documentation, testing feedback, detailed bug reports or code.
The above list of new features mentions mostly the user facing changes so we didn’t get to talk about the related bits and fixes needed in other components like pipewire, GTK, ModemManger, wys, glib, calls, wlroots and others. We’re standing on the shoulders of giants here. Many thanks (🙏) to the maintainers of these projects for reviewing our changes and often providing even better fixes than what was initially suggested 😀️.
What else Link to heading
Since people asked where to get the Phosh T-Shirts or hoodies we put them into a spreadshirt shop. Prices and discounts offers are all handled by spreadshirt. For details check here. Hope you like them.
That’s it for 2023. If you want to get involved into phosh testing, development or documentation then just drop by in the matrix room.
Looking forward to the improvements happening in 2024.