IntelliJ IDEA 8.0 (codename "Diana") went through a major refactoring of the plugin API in order to decouple core platform functionality from Java support. This breaks compatibility for many third-party plugins. This page describes the major API changes and the steps required to correct them.
This list is not exhaustive; if you run into a problem which is not described here, feel free to ask for help on the OpenAPI forum.
Language split into extensions
The com.intellij.lang.Language class no longer contains getters for different sub-components of custom language support. Instead, these sub-components are now registered as independent extensions.
PsiElementVisitor and PsiRecursiveElementVisitor split
The PsiElementVisitor interface no longer includes members for visiting all Java, JSP and XML elements. Instead, separate classes (JavaElementVisitor, XmlElementVisitor and so on) are used for different languages.
Java dependencies extracted from core PSI classes
Java-related methods moved from PsiManager to JavaPsiFacade, from PsiDirectory to JavaDirectoryService, from CodeStyleManager to JavaCodeStyleManager. PsiElementFactory has been split into multiple factories for different languages.