In plugin management API, we have docs to uninstall plugin without specifying a version. But if we're doing this, we got an error:
2026-03-31 01:00:25 [bus_ext_events-th] INFO o.k.b.o.b.k.i.DefaultPluginManager - Starting uninstallation of plugin: pluginKey=<plugin-key>, version=null
2026-03-31 01:00:25 [bus_ext_events-th] INFO o.k.b.o.b.k.i.DefaultPluginInstaller - Starting uninstallation of plugin: <plugin-key> version: null
2026-03-31 01:00:25 [bus_ext_events-th] ERROR o.k.b.o.b.k.i.DefaultPluginManager - Error uninstalling plugin: pluginKey=<plugin-key>, version=null, error=Cannot call #getPluginVersion() since PluginNamingResolver created without 'version'
java.lang.IllegalStateException: Cannot call #getPluginVersion() since PluginNamingResolver created without 'version'
at org.killbill.commons.utils.Preconditions.checkState(Preconditions.java:44)
at org.killbill.billing.osgi.bundles.kpm.impl.PluginNamingResolver.getPluginVersion(PluginNamingResolver.java:64)
at org.killbill.billing.osgi.bundles.kpm.impl.DefaultPluginFileService.getPluginDirByPluginKeyAndVersion(DefaultPluginFileService.java:64)
at org.killbill.billing.osgi.bundles.kpm.impl.DefaultPluginInstaller.uninstall(DefaultPluginInstaller.java:83)
at org.killbill.billing.osgi.bundles.kpm.impl.DefaultPluginManager.uninstall(DefaultPluginManager.java:261)
at org.killbill.billing.osgi.bundles.kpm.EventsListener.handleKillbillEvent(EventsListener.java:115)
....
The resolution is either:
1 - Support this
2 - Not support this
Changes the docs that the version parameter is required.
In plugin management API, we have docs to uninstall plugin without specifying a version. But if we're doing this, we got an error:
The resolution is either:
1 - Support this
plugin_identifiers.json, or just read the/plugins/<sub-dir>directly?2 - Not support this
Changes the docs that the
versionparameter is required.