Patch Set 4:

no, but this means the plugin can only be used starting from 3.7. So here we are trading addressable market against being able to use the latest platform APIs. 

In EGit we always support the last two released platform versions. Best way to achieve that is to set the minimum version of all dependencies to the version available in the oldest platform release we want to support and the upper end of the version range for all project external bundles is up to the next major release excluding the next major release. If the bundles we depend on follows the API rules this must work as they cannot do incompatible changes without increasing the major version number.

For project internal dependencies (e.g. egit.ui to egit.core or to jgit) we tend to restrict the upper range to the next minor version as we don't see a need to support installations mixed from different minor releases. Why should a user want to use egit.core 1.0 with egit.ui 1.1 ?

I found the reason why I get the compile error when using the target platform: this target platform definition relies on 3.6.2 :

<unit id="org.eclipse.platform.sdk" version="3.6.2.M20110210-1200"/>