Reaching targets and mixed locales
Posted on Feb 29, 2024 by Licaon_KterTWIF generated on Thursday, 29 Feb 2024, Week 9
F-Droid core
The big F-Droid Client 1.19 feature is “unattended updates”, and we tried to explain how it works, at least from the user perspective, in TWIF24 week 6. As a one line note in the initial 1.19 release we also said what happens when it does not work: “Older apps that can’t be updated will feature a banner explaining why”. Attentive Fedi users noticed that F-Droid Client itself (but not F-Droid Basic) is marked with the that banner too. How come?
It all has to do with the “target SDK” property of an app. What is that? New Android versions introduce behaviors, appearances, and restrictions on what apps can do. targetSdkVersion
is a mechanism for apps to opt into this configuration for a given Android version and all that comes with that. This is something that’s not easily tangible for users as apps just work. The target value signals to your device that the app is able to handle certain features and restrictions, and usually users care only about those that empower them, say about privacy and security. Then again, to be able to do that, app developers need to put in the work to have their app ready. Take a look at what each version adds or removes here.
Google enforces, for its own alternative centralized store, that apps follow Android releases closely and update their code to match said newer targets or else be rejected. F-Droid does not enforce such a limit for its hosted apps, and for a long time, not without its critics, did not need to update its own client target either. Since Android 14 was released, Google enforces in the actual system that apps need to have at least targetSdkVersion 23
, which defines apps that are ready to run on Android 6 or later, and it’s believed that the value will be raised over the next Android releases. You can see how this works in practice already: on Android 14 F-Droid allows you to install about 3190 apps out of the current 4329. And while F-Droid was already at that target limit, modernizing its code base became a goal for a while.
So that’s easy to do, right? Put the new number in and recompile, you’ve read the list with things that changed and… oh wa- you need to do what for Bluetooth connectivity now? NFC Beam was removed? Ok, so back to the drawing board. What features need minimal changes for an updated target? Most of them. Which ones need more work? Nearby/Swap and mirrors on USB drives/SD Cards.
Great, we can quickly roll out a build of our existing, but unused, version called ‘Basic’, since it has all the basic features users need, and continue to code the ‘Full’ client. Basic was announced 5 months ago paving the way for future development.
Work to raise F-Droid Client’s own target is ongoing, each bump having its own challenges. We have reached the point where F-Droid can update other apps, and you are using this already, but its own low target, ironically, does not allow it to update itself. Alongside F-Droid you’ll see this “old app” banner for more apps that have not reached the needed version yet, e.g. SatDump and Endless Sky.
F-Droid website
The F-Droid website functions as a way to get the client first, a repository of documentation, a way to make announcements (like you read now), but also as a way to get app packages. While we recommend everyone to use the client to get timely updates and info on new apps, the website is complementary to this purpose. The F-Droid infrastructure has many sides, from build servers and virtual machines that build apps, to machines that generate and serve these web pages. Our latest infra update is taking place in an asynchronous way, and the web site generation is already updated. Unfortunately the updated tools seem to have a bug related to locales generation, which makes one of the website sidebar sections not match the overall site locale. Each time the website is regenerated, say after a new post is added or after a new index was published, the glitch is randomly switched to another locale and section. While this might seem funny, when the glitched section is the search box you might end up getting results in an unknown language. If you’re a Ruby/Jekyll hacker that we can nerd snipe, do lend a hand in our issues tracker.
Community News
@theimpulson thanks everyone for the feedback:
Aurora Store is now at
4.4.2
, which brings some bug fixes and behavior improvements while targeting the latest Android 14 release. If everything remains good, this version will be marked as suggested in the coming days.
@linsui keeps in touch via messaging:
Element - Secure Messenger was updated to 1.6.12
and SchildiChat to 1.6.10.sc76
adding fixes for two CVE graded vulnerabilities you can read more about here. Do update!
OpenKeychain: Easy PGP was updated to 6.0.2
but many users report issues with this version, as with previous 6.0.0
, when used with K-9 and FairEmail at least. A new version 6.0.4
is in the pipeline.
sing-box, The universal proxy platform, was just published on F-Droid with reproducible builds. It’s a powerful tool from the same author of SagerNet, 世界 (nekohasekai). This can be regarded as a successor of SagerNet which has been discontinued months ago. However it’s not a drop-in replacement since it features a new core with a different configuration format and a much simpler UI.
Newly Added Apps
7 more apps were newly added
- Blitz - A minimalist Fischer chess clock for Android
- Colorful - Simple 2D side-view shooter
- Dollphone Icon Pack - Cute icon pack that isn’t overly hyperactive
- Fossify Voice Recorder - Record anything with this Open-source and Ad-free recorder
- Gramophone - A sane media3-based Material3 music player that follows Android standards
- OG Network Tools - A modern network toolbox built to feel like the original Android apps
- Schiffe versenken (Privacy Friendly) - Play the battleship game on your smartphone without ads or permissions
Downgraded Apps
1 app was downgraded
BitBanana was downgraded from 0.7.3
to 0.6.7
as newer versions depended on a non-FOSS library. An update is already in the pipeline. (upstream issue)
Updated Apps
140 more apps were updated
- 37C3 Schedule was updated from
1.63.1
to1.63.2
- AAAAXY was updated from
1.4.160+20240129.3179.55340166
to1.5.6+20240219.3325.eaf4bbab
- Activity Manager was updated from
5.4.9
to5.4.10
- Al-Azan - Prayer Times was updated from
1.17.6
to1.17.7
- AndBible: Bible Study was updated from
5.0.801
to5.0.803
- AnkiDroid was updated from
2.16.5
to2.17.0
- aTalk was updated from
3.3.6
to3.3.7
- Auxio was updated from
3.3.3
to3.4.0
- Aves Libre was updated from
1.10.4
to1.10.5
- Bangle.js Gadgetbridge was updated from
0.79.0-banglejs
to0.79.1-banglejs
- BetterCounter was updated from
4.3.0
to4.3.1
- Binary Eye was updated from
1.63.1
to1.63.2
- BLE Radar was updated from
0.22.8-beta
to0.23.0-beta
- BoB was updated from
1.1
to1.2.2
- Boxcars was updated from
1.3.0
to1.3.1
- BTC Map was updated from
0.6.6
to0.7.0
- BusTO was updated from
2.1.5
to2.1.6
- Cache Cleaner was updated from
1.10.9
to1.10.10
- Cardboard Museum was updated from
2.0.0
to2.1.0
- Carrion was updated from
1.16
to1.17
- Casio G-Shock Smart Sync was updated from
12.1
to12.2
- Ceno Browser: Share the Web was updated from
2.0.8
to2.0.9
- Chaldea was updated from
2.5.5
to2.5.6
- Child Monitor was updated from
1.1
to1.2
- Chip Defense was updated from
1.28
to1.29
- CIFS Documents Provider was updated from
2.1.0
to2.1.1
- Circles was updated from
1.0.25
to1.0.26
- ClashMetaForAndroid was updated from
2.10.0.Meta
to2.10.1.Meta
- Clima was updated from
3.2.1
to3.2.2
- Conversations was updated from
2.13.3+free
to2.13.4+free
- CTU Menza was updated from
1.3.5
to1.3.6
- Cuberite was updated from
1.6.0
to1.6.1
- Currencies: Exchange Rate Calculator was updated from
1.15.0
to1.22.0
- Dart Checker was updated from
0.7.5
to0.7.6
- Device Connect was updated from
0.11.1
to0.12.0
- DPC was updated from
1.3.0
to1.4.0
- Dungeon Crawl Stone Soup was updated from
0.30.1
to0.31.0-12-g77e489cdc1
- Easy Open Link was updated from
1.5.7
to1.5.8
- EasySSHFS was updated from
0.5.10
to0.5.11
- Editor was updated from
1.93
to1.95
- Encointer Wallet was updated from
1.12.0
to1.12.1
- Energize was updated from
0.7.0
to0.8.0
- EngineDataLogger-Dashboard was updated from
1.6
to1.7
- ente - encrypted photo storage was updated from
0.8.56
to0.8.62
- FairEmail was updated from
1.2159
to1.2162
- Fast Draw was updated from
2.1.1
to2.1.2
- F-Droid Build Status was updated from
5.1.0
to5.2.0
- FediPhoto-Lineage was updated from
7.2
to7.3
- Fennec F-Droid was updated from
122.1.0
to123.0.0
- FFUpdater was updated from
79.1.0
to79.1.1
- Fit Notifications was updated from
2.11.1
to2.12
- Forkgram was updated from
10.6.4.0
to10.8.1.0
- FOSDEM 2024 Schedule was updated from
1.63.1-FOSDEM-Edition
to1.63.2-FOSDEM-Edition
- Gadgetbridge was updated from
0.79.0
to0.79.1
- GCompris was updated from
3.3
to4.0
- GitNex for Forgejo and Gitea was updated from
5.2.1
to5.3.0
- Hacki for Hacker News was updated from
2.6.2
to2.7.1
- Hisn Elmoslem was updated from
2.6.0
to2.7.01
- Iconeration was updated from
1.3.2
to1.4.0
- IITC-CE Mobile was updated from
0.37.2
to0.38.0
- Immich was updated from
1.94.1
to1.95.0
- Infomaniak kDrive was updated from
4.4.5
to4.4.6
- Infomaniak Mail was updated from
1.2.1
to1.2.2
- Inure App Manager (Trial) was updated from
Build100.1.1
toBuild100.1.2
- InviZible Pro: increase your security, protect you was updated from
6.4.0
to6.5.0
- Invoice Ninja was updated from
5.0.155
to5.0.156
- Jami was updated from
20240215-01
to20240223-01
- Jerboa for Lemmy was updated from
0.0.59
to0.0.60
- Joplin was updated from
2.14.6
to2.14.8
- jQuarks viewer was updated from
1.0-21
to1.0-23
- Kid3 was updated from
3.9.4
to3.9.5
- Kotatsu was updated from
6.7.1
to6.7.3
- Library App VideLibri was updated from
2.782
to2.783
- LibreOffice Viewer was updated from
7.6.4.1/e19e193f88cd/F-Droid
to7.6.5.2
- Lightning Address to Invoice was updated from
1.2.0
to1.2.1
- Linwood Butterfly Nightly was updated from
2.0.3-rc.1
to2.0.3
- Linwood Butterfly was updated from
2.0.2
to2.0.3
- M3U was updated from
1.14.0-alpha15
to1.14.0-beta04
- Massive was updated from
2.26
to2.28
- Mercurygram was updated from
10.6.1.3
to10.6.4.0
- Micro Timer was updated from
1.8
to1.9
- Mill was updated from
4.0.7
to4.0.8
- monocles chat was updated from
1.7.8.8
to1.7.9
- moreDays was updated from
1.0.21
to1.0.22
- Mull was updated from
122.1.0
to123.0.0
- MuPDF mini was updated from
1.23.7a
to1.23.11a
- MuPDF viewer was updated from
1.23.7a
to1.23.11a
- My Expenses was updated from
3.7.3.2
to3.7.5
- Myne: Ebook Downloader was updated from
2.9.0
to3.0.0
- NetGuard was updated from
2.327
to2.328
- Nextcloud was updated from
3.27.0
to3.28.0
- ntodotxt was updated from
0.5.0
to0.5.1
- Obtainium was updated from
1.0.2
to1.0.3
- openHAB Beta was updated from
3.10.1-beta
to3.10.2-beta
- OpenMoneyBox was updated from
3.4.2.7
to3.4.2.8
- Openreads was updated from
2.5.0
to2.5.1
- Orgzly Revived was updated from
1.8.16
to1.8.17
- Osram Remote was updated from
1.2.5
to1.2.8
- ownCloud was updated from
4.2.0
to4.2.1
- Padland was updated from
2.0
to3.0
- Peristyle was updated from
1.32_beta
to1.33_beta
- Phonograph Plus was updated from
1.4.4
to1.5.1
- Picard Barcode Scanner was updated from
1.6.2
to1.6.3
- Pie Launcher was updated from
1.18.3
to1.18.5
- PlainApp: File & Web Access was updated from
1.2.38
to1.2.39
- qBitController was updated from
0.8.4
to0.8.5
- Quicksy was updated from
2.13.3+free
to2.13.4+free
- Quillpad was updated from
1.4.12
to1.4.13
- Revengate was updated from
0.11.6
to0.12.0
- RiMusic was updated from
0.6.22
to0.6.23
- SatDump was updated from
1.1.3
to1.1.4
- Sensor Server was updated from
5.2.0
to5.3.0
- Simple Sudoku Game was updated from
0.1.12
to0.1.14
- SimpleX Chat was updated from
5.5.2
to5.5.5
- SiYuan was updated from
2.12.8
to3.0.0
- SpMp was updated from
0.2.4
to0.3.0
- Squawker was updated from
3.7.3
to3.7.5
- Standard Notes was updated from
3.191.0
to3.191.6
- StreetComplete was updated from
56.1
to57.0-beta1
- Taler Cashier was updated from
0.2
to0.3
- Timed Shutdown [No Root] was updated from
v2.4
tov2.41
- timeto.me was updated from
2024.02.17
to2024.02.24
- TorrServe was updated from
MatriX.129.3.F-Droid
toMatriX.129.4.F-Droid
- TorServices (alpha) was updated from
0.2.1
to0.3.0
- Traintime PDA was updated from
0.2.1
to1.1.0
- TTRSS-Reader was updated from
1.97.1
to1.97.3
- Tuta Mail was updated from
3.122.4
to218.240219.0
- Unchained was updated from
1.1.2
to1.2.1
- Unciv was updated from
4.10.10
to4.10.11
- Valv was updated from
1.6.1
to1.7.0
- Voyager for Lemmy was updated from
1.39.0
to1.40.0
- Wattz was updated from
1.17
to1.18
- Welefon was updated from
1.3.0
to1.3.1
- WG Tunnel was updated from
3.3.5
to3.3.8
- whoBIRD was updated from
1.7
to2.0
- Wikipedia was updated from
r/2.7.50467-r-2024-01-22
tor/2.7.50471-r-2024-02-20
- Wulkanowy was updated from
2.4.1
to2.4.2
- Xray was updated from
5.5.0
to5.7.0
- Xtra was updated from
2.29.0
to2.29.1
- Yubico Authenticator was updated from
6.3.1
to6.4.0
Thank you for reading this week’s TWIF 🙂
Please subscribe to the RSS feed in your favourite RSS application to be updated of new TWIFs when they come up.
You are welcome to join the TWIF forum thread. If you have any news from the community, post it there, maybe it will be featured next week 😉