Cyanogen OS 12
Cyanogen OS 12.1 with Android 5.1.1 features coming soon  Cyanogen

The Cyanogen team has confirmed the release of the Cyanogen OS 12.1 in coming weeks, which will feature changes from Google's latest Android Lollipop version.

Steve Kondik, chief technical officer at Cyanogen has confirmed this via a post on the OnePlus forum.

"We're also working hard to get 12.1 rolled out in the coming weeks which brings in the new changes from Android 5.1.1 as well as a few new features of our own like LiveDisplay and of course bugfixes."

He further said that the Cyanogen OS 12 roll-out, which was suspended temporarily, restarted today (29 April) and would be available for all devices by the end of the week.

Citing the reason to pause the Cyanogen OS 12 update roll-out, he said the team found an issue where the Google Play Services would wreck the battery of the device and encrypted devices were failing to upgrade.

Besides some alternative recoveries would fail to install the update and in some case leave the device in an unusable state. The roll-out resumed when the Play Services issues was fixed.

"Fortunately, we were able to locate a user in Seattle (where our engineering office is) who had the issue and he brought the device down to use to have a look at.

"After much head scratching, what we found was a highly demonic bug lurking in the "uncrypt" code. Traditionally, the "/cache" partition is used to download OTA files before flashing them, but this was a big update that was much bigger than the small cache partition on the Bacon.

"The solution to this is to download it to the /data partition, but the /data partition is encrypted and you can't read it from the recovery system. Google came up with a clever solution called "uncrypt" which runs in Android before shutting down after downloading the OTA file. Uncrypt rewrites the decrypted file back into the raw partition and creates a "block map" which the recovery system can use to reconstruct the file without having to actually mount the encrypted storage," Kondik wrote.

"Sounds crazy, but it works well. Well, it does now. After a bit more lost sleep, our engineers found an integer overflow in the uncrypt code which manifested when the /data partition is full enough that would cause this block map to be inaccurate, so recovery would fail to verify the downloaded file (which was random encrypted data). Mystery solved," he added.

He also mentioned about the difficulty in the roll-out og Cyanogen OS 12, which is attributed to the process required to install the software when coming from CyangenMod 11S.

Check out the OnePlus forum to know more about the Cyanogen OS 12 OTA adventures.