Changelog 25 - Exemplary Eleven, Ravishing Recorder, Captivating Calendar, Beaming Backup

Written on April 1, 2021 by Nolen Johnson (npjohnson) & Anne-Sophie Massé

hero

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.

New Features!

  • 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.

Generic Targets

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.

Addon.d-v3

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 /vendor, /product, and /system_ext without any extra work.

For a reference addon.d script, you may refer to this example gist. For interface and implementation details, please refer to the documentation and the code in the implementing commit.

Engineering Blog

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!

Deprecations

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.

Translations

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.

Build roster

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 One bacon npjohnson 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 instantnoodle uLtRaNoOb  
OnePlus 8 Pro instantnoodlep LuK1337  
OnePlus 8T kebab 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
Fairphone 3 FP3 dk1978 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
Nubia Z17 nx563j BeYkeRYkt 16.0
OnePlus 2 oneplus2 OzzysCmAcc, aviraxp 16.0
OnePlus 7 guacamoleb AshwinRC  
OnePlus 7T Pro hotdog LuK1337  
OnePlus Nord avicii KakatkarAkshay  
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  
Wileyfox Swift crackling 115ek 16.0
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

Device name Wiki
Samsung Galaxy Note 9 crownlte
Samsung Galaxy S9 starlte
Samsung Galaxy S9+ star2lte
Realme 3 Pro RMX1851
Xiaomi Redmi Note 4 mido