Plugin API changes in 7.16edit

This page discusses the plugin API changes that you need to be aware of when migrating your application to Kibana 7.16.

Other versions: 7.15 | 7.14 | 7.13 | 7.12 | 7.11 | 7.10 | 7.9 | 7.8

Deprecation warnings logged for plugins that cannot be disabled

The ability for most plugins to be disabled using the {plugin_name}.enabled config option has been deprecated. In 8.0, most Kibana plugins can no longer be disabled using this option.

You can still opt-in to this feature by explicitly adding an enabled property to your config schema. However, we recommend against this when possible. This change affects whether or not a plugin’s code is loaded by Kibana’s core, introducing complexity and creating a new set of configuration scenarios that must be tested.

To allow some aspects of your plugin to be disabled, for example the ability to remove it from the Kibana UI, we recommend creating "nested" configuration options. For example, use {plugin_name}.ui.enabled instead of {plugin_name}.enabled, and then read from the configuration at runtime to conditionally render your application. This gives you similar functionality without preventing your plugin code from loading altogether.

Refer to #112602.

Angular removed from doc viewer

You can no longer use the directive property when registering a DocView via the addDocView() method in Discover to register an Angular doc view. Going forward, we no longer support Angular in our plugin APIs.

Refer to #109368.

LegacyRequest type removed from Core API

The Core API no longer accepts LegacyRequest in BasePath and ScopeableRequet types.

Refer to #109243.

Legacy Elasticsearch client removed

The legacy Elasticsearch client is no longer available in CoreSetup and RequestHandlerContext interfaces. Use the new client instead.

Refer to #107619.