Changelog 25 - Exemplary Eleven, Ravishing Recorder, Captivating Calendar, Beaming Backup
Written on April 1, 2021 by Nolen Johnson (npjohnson) & Anne-Sophie Massé
Ohai there, LineageOS 18.1
Man, it’s been a while!
Firstly, hey, how are you doing? 2020 has been notably tough on all of us in different ways. Most of us were either stuck indoors or uncomfortably out and about for most of last year. It affected every industry, company, and project in a different way. Given that LineageOS has developers spanning the globe, our contributors all felt last year to varying extents - but what is a community if not to be there for its members, and give them something to spend all that time stuck inside working on :).
With that said, we have been working extremely hard since Android 11’s release last August to port our features to this new version of Android. Thanks to our hard work adapting to Google’s fairly large changes in Android 10, we were able to rebase our changes onto Android 11 much more efficiently. This led to a lot of time to spend on cool new features!
As always, let’s talk about versioning conventions - you may be thinking “Shouldn’t this be 18.0, as AOSP is on 11, and not 11.1?”. As we stated in our last blog post, after 17.0, whenever we conduct a platform wide rebase, we will be incrementing our minor version. So, when we rebased on the December Android Security Bulletin (ASB) due to its fairly massive changes, LineageOS 18.1 was born.
- Security patches from April 2020 to March 2021 have been merged to LineageOS 15.1 through 18.1.
- 18.1 builds are currently based on the android-11.0.0_r32 tag, which is the Pixel series unified tag.
- Wi-Fi display is available for newer Qualcomm devices, on a device-by-device basis.
- WebView has been updated to Chromium 89.0.4389.105.
- Our Recorder app has been vastly improved in more ways than can be counted, go leave yourself a voice-memo so you don’t forget that great idea!
- Screen recording has been moved to a QS tile to match AOSP’s behavior.
- The user interface has been revamped and there’s also now a UI for easily viewing, managing, and sharing your voice notes.
- It’s now possible to choose the quality of your audio recordings to save space.
- It’s now possible to pause and resume recordings.
- The FOSS Etar app has been forked, improved, and shipped in place of the stagnant and largely unmaintained AOSP calendar.
- The Calyx institute’s FOSS Seedvault application has been included as a built-in backup solution.
- To use it, navigate to Settings -> System -> Backup, and “Change backup provider” to Seedvault. You can then click “Seedvault Backup” to configure, schedule, and encrypt backups!
- Backups created with Seedvault can be uploaded on your Nextcloud instance, an external USB drive or kept on your local storage.
- There is now an option on non-A/B devices to update the recovery image alongside the OS, just as the stock OS would!
- To use this, either enable the option during the initial device setup or navigate to Settings -> System -> (Show More) Updater -> Three Dot Menu in the top right -> and check “Update recovery alongside OS”.
- Our music app, Eleven now has a more up-to-date UI and integrates nicely with all the new android features for music players such as seeking from the notification.
- All LineageOS apps now have support for dark mode.
- (17.1 too) Our recovery now has a new, colorful, and fun UI that is much more accessible.
- (17.1 too) The firewall can block all connections now by making apps think that the device is in airplane mode.
- (17.1 too) We’ve introduced a new expandable volume dialog UI that allows you to control multiple volume streams more easily.
- (17.1 too) The partial screenshot feature has been improved with a new UI that’s easier to use. On 18.1 it also integrates nicely with the new Android’s “instant screenshot”. Long press the screenshot button in the power menu and give it a try!
- (17.1 too) Trebuchet now supports icon packs.
- (17.1 too) ADB root was reworked to ensure compatibility with other 3rd party root solutions.
Though we’ve had buildable generic targets since 2019, in an effort to make LineageOS more accessible to developers, and really anyone interested in giving LineageOS a try, we’ve documented how to use them in conjunction with the Android Emulator/Android Studio! This enables the average person to build and run LineageOS on their local PC.
Additionally, these same targets can now be used to build GSI’s in both mobile and Android TV configurations, making LineageOS more accessible than ever to devices using Google’s Project Treble. We won’t be providing official builds for these targets due to the fact the user-experience varies entirely based on how well the device manufacturer complied with Treble’s requirements, but feel free to go build them yourself and give it a shot!
Sensitive phone numbers
In Changelog 10 we introduced the feature that some sensitive phone numbers are automatically hidden from the call log.
For world suicide prevention day we asked you on Reddit about additional numbers for your countries.
LineageOS 18.1 now finally makes use of all that information and introduces a helpline contact list (just look at the 3-dot menu in the dialer to find it). In addition to quickly being able to find and call any of these numbers, we also show names, languages, websites, and categories for many of them. To improve upon that we want to ask you to have a look at the existing list and let us know of any additional numbers or information for existing ones.
For all the addon creators out there, addon.d now supports extra system partitions.
This means that you can now backup and restore files in
/system_ext without any extra work.
We know it’s been a while since we posted on our Engineering Blog, but contributors Aayush Gupta (theimpulson) and Nolen Johnson (npjohnson) recently posted a comprehensive piece on working with SELinux on Android! Just about everyone can benefit from giving it a read, it’s written in a way that both aspiring, and seasoned developers will learn something new. You can read it here!
On the whole, we feel that the 18.1 branch has reached feature and stability parity with 17.1 and is ready for initial release.
LineageOS 16.0 builds stopped on February 15th, 2021, to allow space on our infrastructure to begin testing LineageOS 18.1.
LineageOS 18.1 will launch building for a fairly wide selection of devices, with additional devices to come as they are marked as both Charter compliant and ready for builds by their maintainer.
Upgrading to LineageOS 18.1
To upgrade, please follow the upgrade guide for your device found here.
If you’re coming from an unofficial build, you need to follow the good ole’ install guide for your device, just like anyone else looking to install LineageOS for the first time. These can be found here.
Please note that if you’re currently on an official build, you DO NOT need to wipe your device, unless your device’s wiki page specifically dictates otherwise, as is needed for some devices with massive changes, such as a repartition.
Importance of the Wiki
Though the LineageOS Wiki has existed since our inception, we’d like to take this time to remind users to follow instructions on their device’s respective Wiki Page as given the complexity introduced AOSP changes like System-As-Root, A/B Partition Scheme, Dynamic Partitions, and most recently Virtual A/B found on the Pixel 5 and other devices launching with Android 11, the instructions many of you are used to following from memory are either no longer valid or are missing very critical steps. As of 16.0, maintainers have been expected to run through the full instructions, and verify they work on their devices. The LineageOS Wiki was recently further extended, and maintainers were given significantly more options to customize their device’s individual installation, update, and upgrade instructions.
Developers, Developers, Developers
Or, in this case, maintainers, maintainers, maintainers. We want your device submissions!
If you’re a developer and would like to submit your device for officials, it’s easier than ever. Just follow the instructions here.
The above also applies to people looking to bring back devices that were at one point official, but no longer supported - seriously - even if it’s not yet completely compliant, submit it! Maybe we can help you review it.
After you submit, within generally a few weeks, but in most cases a week, you’ll receive some feedback on your device submission, and if it’s up to par, invited to our communications instances, and your device forked to LineageOS’s official repos.
Don’t have the knowledge to maintain a device, but want to contribute to the platform? We have lots of other thing you can contribute to: for instance our apps suite is always looking for new people to help improve them, or you can contribute to the wiki adding more useful information & documentation. Gerrit is always open for submissions! Once you’ve contributed a few things, send an email to devrel(at)lineageos.org detailing them, and we’ll get you in the loop.
Bilingual? Trilingual? Anything-lingual?
If you think you can help translate LineageOS to a different language, jump over to Crowdin and have a go! If your language is not supported natively in Android, reach us out on Crowdin and we’ll take the necessary steps to include your language. For instance, LineageOS is the first Android custom distribution that has complete support for the Welsh (Cymraeg) language thanks to its community of translators.
Please, contribute to translations only if you are reasonably literate in the target language; poor translations waste both our time and yours.
Added 18.1 devices
|Device name||Wiki||Maintainers||Moved from|
|Essential PH-1||mata||haggertk, intervigil, npjohnson, rashed||17.1|
|F(x)tec Pro¹||pro1||bgcngm, intervigil, mccreary, npjohnson, tdm||17.1|
|Google Nexus 6||shamu||Elektroschmock, npjohnson||17.1|
|Google Nexus 7 2013 (Wi-Fi, Repartitioned)||flox||npjohnson, surblazer, Elektroschmock||17.1|
|Google Pixel 2||walleye||Eamo5||17.1|
|Google Pixel 2 XL||taimen||Eamo5||17.1|
|Google Pixel 3a||sargo||cdesai, npjohnson||17.1|
|Google Pixel 3a XL||bonito||cdesai, npjohnson||17.1|
|Google Pixel 4||flame||cdesai, Eamo5, npjohnson||17.1|
|Google Pixel 4 XL||coral||cdesai, Eamo5, npjohnson||17.1|
|Google Pixel 4a||sunfish||PeterCxy, cdesai|
|Google Pixel 4a 5G||bramble||aleasto|
|Google Pixel 5||redfin||aleasto|
|LeEco Le Max2||x2||tortel, ThEMarD||17.1|
|LeEco Le Pro3 / Le Pro3 Elite||zl1||codeworkx, mosimchah||17.1|
|LG G2 (AT&T)||d800||aleasto||17.1|
|LG G2 (Canadian)||d803||aleasto||17.1|
|LG G2 (International)||d802||aleasto||17.1|
|LG G2 (T-Mobile)||d801||aleasto||17.1|
|LG G5 (International)||h850||aleasto, npjohnson, x86cpu||17.1|
|LG G5 (T-Mobile)||h830||aleasto, npjohnson, x86cpu||17.1|
|LG G5 (US Unlocked)||rs988||aleasto, npjohnson, x86cpu||17.1|
|LG V20 (AT&T)||h910||aleasto, npjohnson, x86cpu||17.1|
|LG V20 (Global)||h990||aleasto, npjohnson, x86cpu||17.1|
|LG V20 (Sprint)||ls997||aleasto, npjohnson, x86cpu||17.1|
|LG V20 (T-Mobile)||h918||aleasto, npjohnson, x86cpu||17.1|
|LG V20 (US Unlocked)||us996||aleasto, npjohnson, x86cpu||17.1|
|LG V20 (Verizon)||vs995||aleasto, npjohnson, x86cpu||17.1|
|Motorola Moto G6 Plus||evert||Jleeblanch||17.1|
|Motorola Moto G7||river||erfanoabdi, Npjohnson, SyberHexen||17.1|
|Motorola Moto G7 Play||channel||SyberHexen, deadman96385, erfanoabdi, Npjohnson||17.1|
|Motorola Moto G7 Plus||lake||Jleeblanch, npjohnson||17.1|
|Motorola Moto G7 Power||ocean||SyberHexen, erfanoabdi, Npjohnson||17.1|
|Motorola Moto One Power||chef||Rohan Hasabe (Hasaber8)||17.1|
|Motorola Moto X4||payton||erfanoabdi, ThEMarD||17.1|
|Motorola Moto Z2 Force||nash||erfanoabdi, npjohnson||17.1|
|Motorola Moto Z3 Play||beckham||Jleeblanch||17.1|
|Nextbit Robin||ether||javelinanddart, npjohnson||17.1|
|Nokia 6.1 (2018)||PL2||npjohnson, theimpulson||17.1|
|OnePlus 3 / 3T||oneplus3||dianlujitao||17.1|
|OnePlus 5||cheeseburger||codeworkx, jrizzoli, xingrz, amartinz, jumoog, trautamaki||17.1|
|OnePlus 5T||dumpling||amartinz, codeworkx, trautamaki||17.1|
|OnePlus 8 Pro||instantnoodlep||LuK1337|
|Razer Phone||cheryl||mikeioannina, javelinanddart||17.1|
|Samsung Galaxy S4 (GT-I9505/G, SGH-I337M, SGH-M919)||jfltexx||arco, npjohnson, side||17.1|
|Samsung Galaxy S4 (SCH-I545)||jfltevzw||arco, npjohnson, side||17.1|
|Samsung Galaxy S4 (SCH-R970, SPH-L720)||jfltespr||arco, npjohnson, side||17.1|
|Samsung Galaxy S4 (SGH-I337)||jflteatt||arco, npjohnson, side||17.1|
|Samsung Galaxy S4 Active||jactivelte||arco, npjohnson, side||17.1|
|Samsung Galaxy S4 Value Edition (GT-I9515/L)||jfvelte||arco, npjohnson, side||17.1|
|Samsung Galaxy Tab S6 Lite (Wi-Fi)||gta4xlwifi||Linux4||17.1|
|Samsung Galaxy Tab S5e (LTE)||gts4lv||bgcngm, LuK1337||17.1|
|Samsung Galaxy Tab S5e (Wi-Fi)||gts4lvwifi||LuK1337, bgcngm||17.1|
|Sony Xperia 10||kirin||LuK1337||17.1|
|Sony Xperia 10 Plus||mermaid||LuK1337||17.1|
|Sony Xperia XA2||pioneer||LuK1337, Stricted, cdesai||17.1|
|Sony Xperia XA2 Plus||voyager||LuK1337||17.1|
|Sony Xperia XA2 Ultra||discovery||LuK1337||17.1|
|Xiaomi Mi 5||gemini||bgcngm, defer, h2o64||17.1|
|Xiaomi Mi 5s Plus||natrium||LuK1337||17.1|
|Xiaomi Mi 8||dipper||infrag||17.1|
|Xiaomi Mi 8 Lite||platina||SebaUbuntu|
|Xiaomi Mi MIX||lithium||balika011, blunden||17.1|
|Xiaomi Mi MIX 2S||polaris||bgcngm||17.1|
|Xiaomi Mi Note 2||scorpio||joe2k01||17.1|
|Xiaomi Poco F1||beryllium||bgcngm, warabhishek||17.1|
|Xiaomi Redmi 7||onclite||Dhina17||17.1|
Added 17.1 devices
|Device name||Wiki||Maintainers||Moved from|
|Asus ROG Phone 2||I001D||OrdenKrieger|
|Asus Zenfone 5Z (ZS620KL)||Z01R||rohanpurohit, Jackeagle, ThEMarD|
|BQ Aquaris X||bardock||eloimuns, Quallenauge, Team aquaris-dev||16.0|
|BQ Aquaris X Pro||bardockpro||Quallenauge, Team aquaris-dev||16.0|
|Google Pixel||sailfish||intervigil, razorloves||16.0|
|Google Pixel XL||marlin||intervigil, razorloves||16.0|
|Google Pixel 3||blueline||cdesai, intervigil, razorloves|
|Google Pixel 3 XL||crosshatch||cdesai, intervigil, razorloves|
|Huawei Honor 5X||kiwi||BadDaemon||16.0|
|LeEco Le 2||s2||codeworkx, tImIbreakdown||16.0|
|Lenovo P2||kuntao||mikeioannina, highwaystar||16.0|
|LG G3 (Sprint)||ls990||HardStyl3r, firebird11||16.0|
|Motorola Edge||racer||erfanoabdi, Jleeblanch, SyberHexen|
|Motorola Moto E 2015 LTE||surnia||althafvly, theimpulson||14.1|
|Motorola Moto E5 Plus (XT1924-3/9)||ahannah||Jarl-Penguin, karthick111, electimon, wh0dat|
|Motorola Moto E5 Plus (XT1924-6/7/8)||hannah||Jarl-Penguin, karthick111, electimon, wh0dat|
|Motorola Moto E5 Plus (1924-1/2/4/5)||rhannah||Jarl-Penguin, karthick111, electimon, wh0dat|
|Motorola Moto G 2015||osprey||althafvly, chil360||14.1|
|Motorola Moto G3 Turbo||merlin||althafvly||14.1|
|Motorola Moto G4 Play||harpia||jro1979||14.1|
|Motorola Moto G5||cedric||Jarl-Penguin|
|Motorola Moto G5S||montana||Jarl-Penguin, wiktorek140|
|Motorola Moto X 2014||victara||jro1979, linckandrea, npjohnson||16.0|
|Motorola Moto X Play||lux||jro1979, thopiekar||14.1|
|OnePlus 2||oneplus2||OzzysCmAcc, aviraxp||16.0|
|OnePlus 7T Pro||hotdog||LuK1337|
|Realme 2 Pro||RMX1801||sb6596||16.0|
|Samsung Galaxy A3 (2016)||a3xelte||danwood76, Stricted||16.0|
|Samsung Galaxy A5 (2016)||a5xelte||danwood76, Stricted||16.0|
|Samsung Galaxy A5 (2017)||a5y17lte||filiprrs||16.0|
|Samsung Galaxy A7 (2016)||a7xelte||sourajitk, danwood76, Stricted|
|Samsung Galaxy A7 (2017)||a7y17lte||filiprrs||16.0|
|Samsung Galaxy J7 (2015)||j7elte||dariotrombello, danwood76, Stricted|
|Samsung Galaxy Note 3 LTE (N9005/P)||hlte||haggertk, npjohnson||16.0|
|Samsung Galaxy Note 3 LTE (N9008V)||hltechn||haggertk, npjohnson||16.0|
|Samsung Galaxy Note 3 LTE (N900K/L/S)||hltekor||haggertk, npjohnson||16.0|
|Samsung Galaxy Note 3 LTE (N900T/V/W8)||hltetmo||haggertk, npjohnson||16.0|
|Samsung Galaxy S III Neo (Dual SIM)||s3ve3gds||PythonLimited, fcuzzocrea, Teledurak||16.0|
|Samsung Galaxy S III Neo (Samsung Camera)||s3ve3gjv||PythonLimited, fcuzzocrea, Teledurak||16.0|
|Samsung Galaxy S III Neo (Sony Camera)||s3ve3gxx||PythonLimited, fcuzzocrea, Teledurak||16.0|
|Samsung Galaxy S5 Neo||s5neolte||danwood76, Stricted||16.0|
|Samsung Galaxy S5 Active (G870F)||klteactivexx||javelinanddart, npjohnson||16.0|
|Samsung Galaxy S5 LTE (G9006V/8V)||kltechn||haggertk||16.0|
|Samsung Galaxy S5 LTE (G900F/M/R4/R7/T/V/W8)||klte||haggertk||16.0|
|Samsung Galaxy S5 LTE (G900I/P)||kltedv||haggertk||16.0|
|Samsung Galaxy S5 LTE (G900K/L/S)||kltekor||haggertk||16.0|
|Samsung Galaxy S5 LTE (SC-04F/SCL23)||kltekdi||haggertk||16.0|
|Samsung Galaxy S5 LTE Duos (G9006W/8W)||kltechnduo||haggertk||16.0|
|Samsung Galaxy S5 LTE Duos (G900FD/MD)||klteduos||haggertk||16.0|
|Sony Xperia XZ2||akari||olivier97, sjllls|
|Sony Xperia XZ2 Compact||xz2c||olivier97, sjllls|
|Sony Xperia Z3||z3||Tom1000, Myself5||16.0|
|Sony Xperia Z3 Compact||z3c||ArianK16a||16.0|
|Sony Xperia Tablet Z2 LTE||castor||snc|
|Wingtech Redmi 2||wt88047||nicknitewolf||15.1|
|Xiaomi Mi 6X||wayne||Isaac Chen|
|Xiaomi Mi A1||tissot||abhinavgupta371||16.0|
|Xiaomi Mi A2||jasmine_sprout||mikeioannina|
|Xiaomi Mi Note 3||jason||dianlujitao||16.0|
|Xiaomi Redmi K20 / Mi 9T||davinci||Pig|
|Xiaomi Redmi Note 5 Pro||whyred||srfarias, SebaUbuntu||15.1|
|Xiaomi Redmi Note 6 Pro||twolip||DD3Boh|
|Xiaomi Redmi Note 7||lavender||UltraGamerHD|
|Xiaomi Redmi Note 8 / 8T||ginkgo||DarkJoker360|
|Yandex Phone||Amber||HighwayStar, vm03||16.0|
Removed 17.1 devices
|Samsung Galaxy Note 9||crownlte|
|Samsung Galaxy S9||starlte|
|Samsung Galaxy S9+||star2lte|
|Realme 3 Pro||RMX1851|
|Xiaomi Redmi Note 4||mido|