So far Eclipse did not change incompatibly between 4.26 and 4.27 in ways that affect plug-ins. Plug-ins that ran on 4.26 should run on 4.27 without any problems.
ECJ (Eclipse compiler for Java) code is moved from
org.eclipse.jdt.core.compiler.batch bundle and will be
deployed as a separated bundle.
org.eclipse.jdt.core.compiler.batch is now included in SDK
as a regular Eclipse bundle and can be compiled / deployed / used separately
All of ECJ packages are re-exported by
from OSGI point of view, all 3rd party code that used some compiler related API
org.eclipse.jdt.core doesn't require any change.
org.eclipse.jdt.core.compiler.batch bundle itself doesn't have any dependencies
and so can be used in Eclipse products that do not use workspace concepts.
However, no change is without side effects.
Known problems with the split of the ECJ from core bundle
org.eclipse.jdt.core.compiler.batchcode separation from
org.eclipse.jdt.core, the two fragments of
org.eclipse.jdt.compiler.toolwere merged into
org.eclipse.jdt.core.compiler.batch. So if some target definition, launch configuration or build file referenced the two fragments, these references can and should be removed now.
org.eclipse.jdt.coreas a "simple" Java library (which jdt.core never was). So for example code that had
org.eclipse.jdt.core_XYZ.jaron classpath and tried to call this outside Eclipse:
ASTParser parser = ASTParser.newParser(AST.getJLSLatest());would fail now with
org.eclipse.jdt.core.dom.ASTParseruses internally ECJ APIs and they are now ... surprise ... moved to
org.eclipse.jdt.core.compiler.batchjar. To fix this error,
org.eclipse.jdt.core.compiler.batchlibrary should be added to the application classpath.