Team Win Recovery Project 2.4, or twrp2 for short, is a custom recovery built with ease of use and customization in mind. We started from the ground up by taking AOSP recovery and loading it with the standard recovery options, then added a lot of our own features. It’s 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.
Phone look:
Tablet look:
What's new in 2.4.1.0:
Fixed a problem with mkdosfs that formatted sdcards to 2GB
Fixed handoff between vfat and exFAT on devices where blkid didn't detect vfat (fixes some issues with mounting sdcards)
Fixed problems with changing working directory on MD5 creation/checking that may have prevented unmounting
Backups will now store a copy of the backup log after the backup is completed (only if backup is successful)
What's new in 2.4.0.0:
Using libtar instead of busybox's tar for better control over tar file creation and breaking the 2GB barrier that busybox imposes (thanks to bigbiff)
Support for exFAT formatted sdcards (also thanks to bigbiff)
Support for decrypting Samsung TouchWiz encrypted devices including internal and external storage (special thanks to a3955269 for figuring it out)
Improvements to OpenRecoveryScript including displaying a proper GUI while the script is running
Added wipe cache and dalvik after ADB Sideload
Replaced many system calls with their native C counterparts
Fixed bugs in file manager where it would display an empty list after moving or deleting a folder
Fixed AOSP recovery commands to run after decryption on encrypted devices
Improvements for building TWRP in CM10.1
Other minor bugfixes and improvements
What's new in 2.3.3.0:
Fix renaming backups with a space in the name
Add decrypt button to mount page if you cancel decryption during startup
Added ignore blkid flag
Fixed handling of MTD partitions during mount
Fixed some keyboard mapping issues on 800x1280 layout
What's new in 2.3.2.0:
Fixes / enhancements to handle the multiple user setup introduced by Android 4.2 (see notes)
Fixed a bug with deleting a backup with a space in the name
Added highlights on keyboard key presses
What's new in 2.3.1.0:
Unmount system after boot to prevent some status 7 symlink failed errors on zip install
USB Mass Storage code improvements
Better handling of mounting storage during boot for some devices
Fixed a problem with sizes of images (boot & recovery) after resetting defaults
Fixed size errors during backup for some devices on recovery, etc.
Fixed a problem with restoring backups when multiple archives were present
What's new in 2.3.0.0:
Rebased onto AOSP Jelly Bean source code
Rewrote backup, restore, wipe, and mount code in C++ classes for easier maintenance going forward
NOTE: backups from prior versions of TWRP are still compatible with 2.3
ADB sideload functionality from AOSP is included in 2.3, see this link for more info
Re-wrote fix permissions entirely in C++ and runs in a few seconds instead of a few minutes (thanks to bigbiff)
Improvements to zip finding in OpenRecoveryScript (should be a lot fewer GooManager automation issues)
Faster boot times
Added charging indicator while in recovery (only updates once every 60 seconds)
While this update may not bring a host of new must-have features, this update is a significant re-write of much of the core TWRP code. AOSP Jelly Bean recovery source moved to mostly C++ code and now all of the "TWRP" code is fully rewritten into C++ as well. Now that we've laid this groundwork, we're in a much better position to pull in future AOSP recovery updates as well as implementing more great new features.
Since TWRP 2.3 is based on AOSP jelly bean sources, TWRP now uses recovery API 3 instead of 2. Some zips may no longer work if the developer is using an out-of-date update-binary. This API change should not be a problem on newer devices, but older devices will probably encounter several zips that need to be updated. If needed, you can try using this update-binary that was compiled with current sources. It goes in your zip file in the META-INF/com/google/android folder. If you're getting a status error 2 during zip install, then an outdated update binary is almost certainly to blame.
What's new in 2.2.2.0:
Significantly improved sd-ext handling (ext partitions on sdcards)
Changes to kinetic scrolling in file selectors
Fixed a problem with using periods in backup names
Fixed problems in XML layouts with mounting system and USB storage
Fixed a problem with unmounting a partition before formatting during restore
Add Jelly Bean decrypt support
Updated 320x480 theme to match others (thanks to Llewelyn)
Improve "symlinking" of /data/media to either /sdcard or /emmc
Added sanitizing of device IDs for invalid characters (thanks to bigbiff)
Fixed free space calculation when switching backup devices on /data/media devices
Fixed a problem with using OpenRecoveryScript to create a backup without providing a backup name
What's new in 2.2.0:
On-screen keyboard in recovery! -- supports long press, backspace repeat, and swipe left deletes everything left of the cursor
Name new backups and rename existing backups
Rename files and folders in the file manager
Pseudo-terminal emulator
Support decrypting an encrypted data partition on Galaxy Nexus (enter password using keyboard)
Backup archive splitting -- allows backup and restore of data partitions larger than 2GB
Simplified XML layout support between resolutions
Added dual storage selection radio buttons to zip install, backup, and restore pages
Improved zip install compatibility
Updated update-binary source code
Numerous small bug fixes and improvements
What's new in 2.1.1 and 2.1.2:
Note: If you have a custom theme installed from 2.0 or 2.1.0, your theme will need to be updated to see the new features. It is recommended that you remove your custom theme before installing 2.1.1
Per-pixel kinetic scrolling in file selectors (this will be ported to the console and listbox in a future version)
Updated stock themes to a unified ICS-look - thanks to racks for providing the new look!
Fixed some problems with the implementation of HTC Dumlock
Fixed some device-specific problems on Nook Color and Kindle Fire
Fixed a bug that caused a crash and restart of recovery when rebooting system right after a zip install
Fixed the size calculation of a backup and the size of /data on Galaxy Nexus
2.1.2 (ONLY for Galaxy Nexus) - fixed a bug in the 720x1280 XML layout that prevented restoring a backup
What's new in 2.1:
Note: If you have a custom theme installed from 2.0, your theme will need to be updated to see the new features. It is recommended that you remove your custom theme before installing 2.1
Zip queuing as seen in TWRP 1.1.x is back
Dual storage capable (backup, restore, and install zips from internal or external storage - you choose)
Slider control (swipe to confirm most actions aka swipe to wipe)
Lockscreen (with slider to unlock)
Basic file manager (copy, move, delete, and chmod any file)
Added support for devices with /data/media (most Honeycomb tablets, new ICS devices like Galaxy Nexus)
Displays sizes of each partition in the backup menu
Added listbox GUI element (currently used for listing time zones)
Updated stock XML layouts to be more consistent and easier to port to different resolutions
XML layout files are significantly smaller
Partitions available backup are more accurate for some devices
Removed unneeded error messages (/misc errors, unable to stat sd-ext, etc.)
Fixed a bug with blkid detection code
Fixed bug where a blank line was inserted between every line of text during zip installs
Fixed a bug during zip installs where an invalid zip would cause TWRP to get stuck in the zip install
Added setting for themers to toggle simulation mode to make theming easier
New devices added - Galaxy Nexus GSM & CDMA (preview only, manual install), Acer Iconia Tab A500, HTC Vivid, Motorola Defy
Added support for .jpg images in the theme engine
Changed images for stock tablet theme - makes tablet builds about 500KB smaller
Removed unneeded non-GUI images from GUI - makes all builds about 100KB smaller
In addition to the above new features, TWRP 2.x features a scripting engine that allows an app to send commands to the recovery for the recovery to perform during startup. We call this scripting engine OpenRecoveryScript. This engine will be put to use immediately in the GooManager app. GooManager will be able to install recoveries automatically for most supported devices. The app will also let you choose to install multiple zips from within Android, wipe cache & dalvik, and run a backup. You can find more information on how your app can use OpenRecoveryScript on this page.
GooManager has a great setup for ROM makers that will notify users automatically when there's an update to their ROM. Combined with the recovery support, this allows users to update their software similar to a normal "OTA" update from their carrier in a simple, seamless install process. The goo.im website has a fantastic developer portal that makes it easy for ROM makers to upload new ROMs and provides free, fast hosting for developers. The GooManager app will also continue to remain free.
Key Features:
Ability to save custom recovery settings
Touchscreen driven with real buttons and drag-to-scroll
XML-based GUI that allows full customization of the layout – true theming!
Settings are saved to the sdcard and persist through reboots
Ability to choose which partitions to back up and which to restore
Ability to choose to compress backups – now with pigz (multi-core processor support for faster compression times.
Theming:
Information on TWRP 2 Theming
Special Thanks To:
Core twrp 2 development team: agrabren, Dees_Troy, ViViDboarder, and AssassinsLament
Toastcfh – for his underappreciated dedication to the community
s0up and kevank for their hard work on the web side of things.
The rest of Team Win: shift, onicrom, netarchy, kevank, myndwire, bigbiff, dkelle4, shinzul, spiicytuna, and eyeballer
Amon_RA - for his great Recovery
Koush - for his dedication to the community and ClockworkMod
For all the help with devices and testing Akmzero, arif-ali, Evil_DevNull, gus6464, Jesusice, _jmz_, NxtGenCowboy, ohshaith55, Pyrostic, [R], and Rootzwiki
As always thank you to the Team's supporters and the Android Community.
Phone look:
Tablet look:
What's new in 2.4.1.0:
Fixed a problem with mkdosfs that formatted sdcards to 2GB
Fixed handoff between vfat and exFAT on devices where blkid didn't detect vfat (fixes some issues with mounting sdcards)
Fixed problems with changing working directory on MD5 creation/checking that may have prevented unmounting
Backups will now store a copy of the backup log after the backup is completed (only if backup is successful)
What's new in 2.4.0.0:
Using libtar instead of busybox's tar for better control over tar file creation and breaking the 2GB barrier that busybox imposes (thanks to bigbiff)
Support for exFAT formatted sdcards (also thanks to bigbiff)
Support for decrypting Samsung TouchWiz encrypted devices including internal and external storage (special thanks to a3955269 for figuring it out)
Improvements to OpenRecoveryScript including displaying a proper GUI while the script is running
Added wipe cache and dalvik after ADB Sideload
Replaced many system calls with their native C counterparts
Fixed bugs in file manager where it would display an empty list after moving or deleting a folder
Fixed AOSP recovery commands to run after decryption on encrypted devices
Improvements for building TWRP in CM10.1
Other minor bugfixes and improvements
What's new in 2.3.3.0:
Fix renaming backups with a space in the name
Add decrypt button to mount page if you cancel decryption during startup
Added ignore blkid flag
Fixed handling of MTD partitions during mount
Fixed some keyboard mapping issues on 800x1280 layout
What's new in 2.3.2.0:
Fixes / enhancements to handle the multiple user setup introduced by Android 4.2 (see notes)
Fixed a bug with deleting a backup with a space in the name
Added highlights on keyboard key presses
What's new in 2.3.1.0:
Unmount system after boot to prevent some status 7 symlink failed errors on zip install
USB Mass Storage code improvements
Better handling of mounting storage during boot for some devices
Fixed a problem with sizes of images (boot & recovery) after resetting defaults
Fixed size errors during backup for some devices on recovery, etc.
Fixed a problem with restoring backups when multiple archives were present
What's new in 2.3.0.0:
Rebased onto AOSP Jelly Bean source code
Rewrote backup, restore, wipe, and mount code in C++ classes for easier maintenance going forward
NOTE: backups from prior versions of TWRP are still compatible with 2.3
ADB sideload functionality from AOSP is included in 2.3, see this link for more info
Re-wrote fix permissions entirely in C++ and runs in a few seconds instead of a few minutes (thanks to bigbiff)
Improvements to zip finding in OpenRecoveryScript (should be a lot fewer GooManager automation issues)
Faster boot times
Added charging indicator while in recovery (only updates once every 60 seconds)
While this update may not bring a host of new must-have features, this update is a significant re-write of much of the core TWRP code. AOSP Jelly Bean recovery source moved to mostly C++ code and now all of the "TWRP" code is fully rewritten into C++ as well. Now that we've laid this groundwork, we're in a much better position to pull in future AOSP recovery updates as well as implementing more great new features.
Since TWRP 2.3 is based on AOSP jelly bean sources, TWRP now uses recovery API 3 instead of 2. Some zips may no longer work if the developer is using an out-of-date update-binary. This API change should not be a problem on newer devices, but older devices will probably encounter several zips that need to be updated. If needed, you can try using this update-binary that was compiled with current sources. It goes in your zip file in the META-INF/com/google/android folder. If you're getting a status error 2 during zip install, then an outdated update binary is almost certainly to blame.
What's new in 2.2.2.0:
Significantly improved sd-ext handling (ext partitions on sdcards)
Changes to kinetic scrolling in file selectors
Fixed a problem with using periods in backup names
Fixed problems in XML layouts with mounting system and USB storage
Fixed a problem with unmounting a partition before formatting during restore
Add Jelly Bean decrypt support
Updated 320x480 theme to match others (thanks to Llewelyn)
Improve "symlinking" of /data/media to either /sdcard or /emmc
Added sanitizing of device IDs for invalid characters (thanks to bigbiff)
Fixed free space calculation when switching backup devices on /data/media devices
Fixed a problem with using OpenRecoveryScript to create a backup without providing a backup name
What's new in 2.2.0:
On-screen keyboard in recovery! -- supports long press, backspace repeat, and swipe left deletes everything left of the cursor
Name new backups and rename existing backups
Rename files and folders in the file manager
Pseudo-terminal emulator
Support decrypting an encrypted data partition on Galaxy Nexus (enter password using keyboard)
Backup archive splitting -- allows backup and restore of data partitions larger than 2GB
Simplified XML layout support between resolutions
Added dual storage selection radio buttons to zip install, backup, and restore pages
Improved zip install compatibility
Updated update-binary source code
Numerous small bug fixes and improvements
What's new in 2.1.1 and 2.1.2:
Note: If you have a custom theme installed from 2.0 or 2.1.0, your theme will need to be updated to see the new features. It is recommended that you remove your custom theme before installing 2.1.1
Per-pixel kinetic scrolling in file selectors (this will be ported to the console and listbox in a future version)
Updated stock themes to a unified ICS-look - thanks to racks for providing the new look!
Fixed some problems with the implementation of HTC Dumlock
Fixed some device-specific problems on Nook Color and Kindle Fire
Fixed a bug that caused a crash and restart of recovery when rebooting system right after a zip install
Fixed the size calculation of a backup and the size of /data on Galaxy Nexus
2.1.2 (ONLY for Galaxy Nexus) - fixed a bug in the 720x1280 XML layout that prevented restoring a backup
What's new in 2.1:
Note: If you have a custom theme installed from 2.0, your theme will need to be updated to see the new features. It is recommended that you remove your custom theme before installing 2.1
Zip queuing as seen in TWRP 1.1.x is back
Dual storage capable (backup, restore, and install zips from internal or external storage - you choose)
Slider control (swipe to confirm most actions aka swipe to wipe)
Lockscreen (with slider to unlock)
Basic file manager (copy, move, delete, and chmod any file)
Added support for devices with /data/media (most Honeycomb tablets, new ICS devices like Galaxy Nexus)
Displays sizes of each partition in the backup menu
Added listbox GUI element (currently used for listing time zones)
Updated stock XML layouts to be more consistent and easier to port to different resolutions
XML layout files are significantly smaller
Partitions available backup are more accurate for some devices
Removed unneeded error messages (/misc errors, unable to stat sd-ext, etc.)
Fixed a bug with blkid detection code
Fixed bug where a blank line was inserted between every line of text during zip installs
Fixed a bug during zip installs where an invalid zip would cause TWRP to get stuck in the zip install
Added setting for themers to toggle simulation mode to make theming easier
New devices added - Galaxy Nexus GSM & CDMA (preview only, manual install), Acer Iconia Tab A500, HTC Vivid, Motorola Defy
Added support for .jpg images in the theme engine
Changed images for stock tablet theme - makes tablet builds about 500KB smaller
Removed unneeded non-GUI images from GUI - makes all builds about 100KB smaller
In addition to the above new features, TWRP 2.x features a scripting engine that allows an app to send commands to the recovery for the recovery to perform during startup. We call this scripting engine OpenRecoveryScript. This engine will be put to use immediately in the GooManager app. GooManager will be able to install recoveries automatically for most supported devices. The app will also let you choose to install multiple zips from within Android, wipe cache & dalvik, and run a backup. You can find more information on how your app can use OpenRecoveryScript on this page.
GooManager has a great setup for ROM makers that will notify users automatically when there's an update to their ROM. Combined with the recovery support, this allows users to update their software similar to a normal "OTA" update from their carrier in a simple, seamless install process. The goo.im website has a fantastic developer portal that makes it easy for ROM makers to upload new ROMs and provides free, fast hosting for developers. The GooManager app will also continue to remain free.
Key Features:
Ability to save custom recovery settings
Touchscreen driven with real buttons and drag-to-scroll
XML-based GUI that allows full customization of the layout – true theming!
Settings are saved to the sdcard and persist through reboots
Ability to choose which partitions to back up and which to restore
Ability to choose to compress backups – now with pigz (multi-core processor support for faster compression times.
Theming:
Information on TWRP 2 Theming
Special Thanks To:
Core twrp 2 development team: agrabren, Dees_Troy, ViViDboarder, and AssassinsLament
Toastcfh – for his underappreciated dedication to the community
s0up and kevank for their hard work on the web side of things.
The rest of Team Win: shift, onicrom, netarchy, kevank, myndwire, bigbiff, dkelle4, shinzul, spiicytuna, and eyeballer
Amon_RA - for his great Recovery
Koush - for his dedication to the community and ClockworkMod
For all the help with devices and testing Akmzero, arif-ali, Evil_DevNull, gus6464, Jesusice, _jmz_, NxtGenCowboy, ohshaith55, Pyrostic, [R], and Rootzwiki
As always thank you to the Team's supporters and the Android Community.
Last edited: