| ⇢ | A | PluginComposerRemoveException added | |
| ⇢ | A | PluginComposerRequireException added | |
| B | ↘ | C | PluginLifecycleService got worse |
| ⇢ | A | CommandExecutor::remove() added | |
| ⇢ | A | Plugin::executeComposerCommands() added | |
| ⇢ | A | PluginComposerRemoveException::__construct() added | |
| ⇢ | A | PluginComposerRemoveException::getStatusCode() added | |
| ⇢ | A | PluginComposerRemoveException::getErrorCode() added | |
| ⇢ | A | PluginComposerRequireException::__construct() added | |
| ⇢ | A | PluginComposerRequireException::getErrorCode() added | |
| ⇢ | A | PluginComposerRequireException::getStatusCode() added | |
| A | ↘ | B | PluginLifecycleService::uninstallPlugin() got worse |