Earlier today a user on the Cordova development list asked if plugins are tested against only the current release of the SDK. This brought up an interesting discussion that I'm summarizing here.

First, there is still an idea of "core" plugins versus "third party" plugins. Core plugins include the things that have traditionally been part of the core feature set, like Camera and Geolocation. While there is no firm list of what is considered core, I'd say anything under the org.apache.cordova namespace is core. You can see a list of them here: http://plugins.cordova.io/#/search?search=org.apache.cordova

The question was - in general - when a new version of a plugin is released, is it tested against the most recent version of Cordova.

The answer is yes. Nice and simple. Michal Mocny (Apache Cordova committer) had this to say:

"When we do a platform release, we test with the latest plugins to make sure the platform isn't breaking things. When we do a plugins release, we test with the latest platforms to make sure the plugins are not breaking things."

Again, nice and simple. Michal also mentioned something I hadn't noticed before. If you go to plugins.cordova.io and view an individual plugin, you may see this:

This comes from the plugin's plugin.xml file containing the engine tag. As an example:


<engines>
<engine name="cordova" version=">=3.0.0" />
</engines>

Unfortunately, not all plugins use this, and obviously you have to trust the developer when they said they've tested something.

It is also worth nothing that the engine referenced above refers to the CLI, not an individual platform release. It should still be relatively safe, but keep that in mind as well.