for anyone else running into this problem: Our plugin "Jangaroo 0.9" stopped working with IDEA 12 because of an openapi change that introduced a binary incompatibility.
While recompiling suffices to make it run with IDEA 12, we wanted to keep the plugin compatible with IDEA 11, so we had to use reflection to invoke the methods whose signature changed.
@Jetbrains: It would have been nice to find this incompatible API change in the release notes---maybe I just failed to find it?
The details of the API change are documented in our issue tracker in IDEA-23, here is a copy of the relevant part:
Evaluation: undocumented IDEA openapi changes that cause binary incompatibility.
In detail, a new interface com.intellij.openapi.projectRoots.SdkTypeId was extracted from class com.intellij.openapi.projectRoots.SdkType and used instead of the class in methods com.intellij.openapi.projectRoots.ProjectJdkTable#getSdksOfType(SdkTypeId) and com.intellij.openapi.projectRoots.Sdk#getSdkType() (return type).
Proposed fix: to retain binary compatibility with IDEA 10, 11 and 12, use reflection to call these methods.
To implement the fix, feel free to reuse our code (Apache 2 license, so please give credits if you do so).