I went on adventure through Google Android source. Started at CM12.1 git but it was evident that it was not caused by something they did. On to Android's git which sadly confirmed my suspicions that the API is the cause of your problem.
I collected a lot of reference links through out my adventure. The history path for the API appears to make my case of the cause being the framework itself:
https://android.googlesource.com/platform/frameworks/base/+log/24b9c83/api
Kitkat to Lollipop was the biggest change android did. Somethings did not transition smoothly causing things to break, creatin…