The Cyanogenmod folks are encouraging users to update from CM 11 (Android 4.4.4) to CM 12.1 (Android 5.1.1) by dirty flashing. That means not doing a factory reset complete wipe and then installing CM 12.1 “clean”. According to CM, Android is made to handle “dirty” updates because it replaces the system and updates system databases while preserving the user’s apps and setup except for system settings that differ in the new version. Otherwise, vendor over-the-air (OTA) updates would not preserve the users’ data, resulting in extremely unhappy users.
That’s not to say that I haven’t been able to clear up unusual issues in the past by going back to factory reset and reflashing a build from scratch. But Android probably didn’t anticipate all the flashing that we testers do.
So, I took CM on and updated from the CM 11 20150426 nightly, probably the last CM 11 release for the AT&T Samsung Galaxy S3, to the CM 12.1 20150504 nightly. It took quite a bit of time to reboot, so you have to be patient during the boot cycle. Once CM 12.1 came up, I had to select Nova Launcher Prime as my primary launcher, but otherwise it worked great. I was up and running virtually immediately with one exception, which the CM team is actively working.
The current versions of CM 12.1 has an issue with the data network settings, centering on the /data/data/com.android.providers.telephony/databases/telephony.db file. It would be best to delete the file with a root-mode file manager before upgrading. You won’t be able to access it from inside CM 12.1 after upgrading, but you can delete the file using the CM file manager in your recovery (TWRP in my case). Some have been able to delete the file in CM by setting root to “Apps and ADB” in System settings -> Developer options -> Root access.
After deleting telephony.db and rebooting, the data connection worked fine and all is right with the world. I am successfully running Android 5.1.1 on my Samsung Galaxy S3 – an Android update that even the brand new Galaxy S6 isn’t running yet. That’s the beauty and power of open source.