In the recent days, a decision has been taken by the Kibana/Elastic guys with respect to the plugin compatibility in Kibana.
Summary: all your plugins will break, by design, at every single Kibana update, including minor updates. Plugin developers will necessarily have to release new versions in order for these to run again.
First of all let me get clarify that we don’t see this as evil or bad per se, there are very legitimate reasons and i’ll go trough them below. There are however a few things that might require special attention and might also have impact on the kind of Ecosystem we might expect Elastic/Kibana to have in the next years.
First of all, lets notice that this is new for Kibana, but not for Elastic in general, Elasticsearch already works this way:
It typically takes a few hours after an Elasticsearch new release for us to get a mail a la “when is the new version of the Siren Join plugin coming out?“.
On the positive side of this, such strict plugin version policy forces plugins makers to test and release before they’re accepted as “compatible”: these are necessarily, going to be better plugins than if they just “happened” to work after a new release.
On the other side however, this will be taxing for those who create plugins… so much more so given the well known hectic pace of Elastic/Kibana releases. As a result, we predict that this will mean just a handful of third parties capable of producing plugins which are “kind of guaranteed” to be there when you need them.
This might – i guess – make it more appealing and meaningful to contribute to the core OS projects, e.g., directly to Kibana (or to Kibi, if it is more specialistic). Once committed to an ongoing OS project, a plugin writer will see his/her plugin maintained by the community as the versions evolve – cool huh? 🙂
On the operational side this is where the bad news could be.
One might be forced to delay updates of one’s Kibana (or Elastic) if one is dependent on a plugin which hasn’t yet been released. We do not know at the moment if its going to be easy or not to “override” this and make a newer Kibana works with an older plugin too “if one really needs to”. On the one side, the original discussion among developers talks about “running kibana in an unrecommended state” (will there be a switch?) on the other side we notice such mode doesn’t exist in Elasticsearch.
The decision by Kibana team to go the same direction as Elasticsearch in terms of Plugin versions will necessarily lead to a “cleaner” plugin ecosystem but at some cost – and possibly frustration – by the community of those that create plugins and extensions that will have to put effort more frequently than might be necessarily needed to keep up with Elastic releases.
We notice that at the moment there isn’t a clear mechanism by Elastic to announce when a new release will be ready. We notice that having regular releases and “heads up” to those in the plugin community would be a great step to mitigate many of the above problems.
As committed members of the Elastic/Kibana community we thanks in advance 🙂