[Miscellaneous Android Development] Dees_Troy:
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.

CHANGELOG for 3.0.2-0:

-Backups will now include adopted storage keys (Dees_Troy)

-Fixed an adb restore issue (bigbiff)

-Fixed rebooting when no OS is present (Dees_Troy)

-Fixed line wrapping in the GUI terminal (_that)

-Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)

CHANGELOG for 3.1.0-0:

-vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)

-adb backup to stream a backup directly to or from your PC, see documentation here: https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9 (bigbiff)

-tweak MTP startup routines (mdmower)

-support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)

-support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)

-better indicate to users that internal storage is not backed up (Dees_Troy)

-improve automatic determination of TW_THEME (mdmower)

-minimal getcap and setcap support (_that)

-try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)

-shut off backlight with power key (mdmower)

-timeout during FDE decrypt (Dees_Troy and nkk71)

-support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)

-boot slot support (Dees_Troy)

-TWRP app install prompt during reboot (Dees_Troy)

-support for AB OTA zips (Dees_Troy)

-support new Android 7.x log command (Dees_Troy)

-update recovery sources to AOSP 7.1 (Dees_Troy)

-numerous bugfixes and improvements by too many people to mention

CHANGELOG for 3.0.2-0:

-Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.

-Add Greek translation to some builds.

CHANGELOG for 3.0.1-0:

-support new CM 13.0 pattern encryption (sultanqasim)

-fix slow flashing issue due to modprobe (present on only some devices) (#twrp)

-libtar updated to latest upstream and fixes (jcadduono)

-fixes for loading custom themes (_that)

-TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)

-translation updates - added Italian, Czech and Polish and significant updates to Dutch

-progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)

-fix input box text display (Dees_Troy)

-reboot option after zip install complete (bigbiff)

-other mostly invisible bug fixes and improvements

CHANGELOG for 3.0.0-0:

-Completely new theme - Much more modern and much nicer looking (by z31s1g)

-True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)

-Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)

-Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)

-Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow

-Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)

-SuperSU prompt will no longer display if a Marshmallow ROM is installed

-Update exfat, exfat fuse, dosfstools (by mdmower)

-Update AOSP base to 6.0

-A huge laundry list of other minor fixes and tweaks

WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.

Notes for themers: In addition to the udpated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.

Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.

We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance!

DOWNLOAD:

1) Install the TWRP app from the Play Store or grab the apk from our website

2) Open the app, agree to the terms, and enable root access

3) Select TWRP Flash

4) Search for your device and select the version you wish to download

5) Once the download is complete, select the file (it's usually in your downloads folder) and then Flash Recovery

OR:

Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed

1) Download the latest version from our website on your device

2) Reboot to TWRP

3) Hit Install and tap the "Images..." button in the lower right

4) Browse to the location of the TWRP image on your device and select it

5) Select recovery from the partition list and swipe to flash

OR:

You can find more information and download links on our website.

BUGS:

If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to PM me directly, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!

SUPPORT:

Live support is available via #twrp on Freenode with your IRC client or just click this link.