doc: Add v2.11.x upgrading notes

This commit is contained in:
Johannes Meyer 2022-06-15 14:18:47 +02:00
parent f2fe428584
commit 069f249372

View File

@ -3,12 +3,12 @@
Specific version upgrades are described below. Please note that upgrades are incremental. An upgrade from Specific version upgrades are described below. Please note that upgrades are incremental. An upgrade from
v2.6 to v2.8 requires to follow the instructions for v2.7 too. v2.6 to v2.8 requires to follow the instructions for v2.7 too.
## Upgrading to Icinga Web 2 2.11.x ## Upgrading to Icinga Web 2.11.x
**General**
* Support for Internet Explorer 11 has been removed. * Support for Internet Explorer 11 has been removed.
* The Vagrant file and all its assets have been removed. * The Vagrant file and all its assets have been removed.
* The `IniStore` class has been removed due to the deprecation of the Preferences ini backend.
* The `DbStore` class has been removed and its methods have been added to `PreferencesStore` class.
**Database Schema** **Database Schema**
@ -19,46 +19,49 @@ v2.6 to v2.8 requires to follow the instructions for v2.7 too.
**Breaking changes** **Breaking changes**
* The `user:local_name` macro in restrictions has been removed. Use `user.local_name` now. * The `user:local_name` macro in restrictions has been removed. Use `user.local_name` now.
* User preferences stored in INI files are not loaded anymore. Migrate yours with
`icingacli migrate preferences` before the upgrade, if you haven't already.
**Framework changes affecting third-party code** **Framework changes affecting third-party code**
* All the following deprecated php classes and methods are removed: * When loading library CSS assets, CSS files and LESS files are handled differently now. Only the latter
is parsed as LESS.
* jQuery is not bundled anymore as it's now part of the library icinga-php-thirdparty v0.11.0. It's shipped there
in version 3.6.0. (Previously bundled was jQuery 3.4.1)
* All the following classes and methods were removed:
**Methods:** **Methods:**
+ `Url::setBaseUrl()`: Please create a new url from scratch instead. * `loader.js.addUrlFlag()`: Use `Icinga.Utils.addUrlFlag()` instead.
+ `Url::getBaseUrl()`: Use either `Url::getBasePath()` or `Url::getAbsoluteUrl()` now. * `Url::setBaseUrl()`: Please create a new url from scratch instead.
+ `ApplicationBootstrap::setupZendAutoloader()`: Since it does nothing. All uses removed. * `Url::getBaseUrl()`: Use either `Url::getBasePath()` or `Url::getAbsoluteUrl()` now.
+ `ApplicationBootstrap::listLocales()`: Use `\ipl\I18n\GettextTranslator::listLocales()` instead. * `ApplicationBootstrap::setupZendAutoloader()`: Since it does nothing, all usages removed.
+ `Module::registerHook()`: Use `provideHook()` instead. * `ApplicationBootstrap::listLocales()`: Use `\ipl\I18n\GettextTranslator::listLocales()` instead.
+ `Web::getMenu()`: Instantiate the menu class `new Menu()` directly instead. * `Module::registerHook()`: Use `provideHook()` instead.
+ `AesCrypt::encryptToBase64()`: Use `AesCrypt::encrypt()` instead as it also returns a base64 encoded string. * `Web::getMenu()`: Instantiate the menu class `new Menu()` directly instead.
+ `AesCrypt::decryptFromBase64()`: Use `AesCrypt::decrypt()` instead as it also returns a base64 decoded string. * `AesCrypt::encryptToBase64()`: Use `AesCrypt::encrypt()` instead as it also returns a base64 encoded string.
+ `InlinePie::disableNoScript()`: Empty method. * `AesCrypt::decryptFromBase64()`: Use `AesCrypt::decrypt()` instead as it also returns a base64 decoded string.
+ `SimpleQuery::paginate()`: Use `Icinga\Web\Controller::setupPaginationControl()` and/or `Icinga\Web\Widget\Paginator` instead. * `InlinePie::disableNoScript()`: Empty method.
+ `LdapConnection::connect()`: The connection is established lazily now. * `SimpleQuery::paginate()`: Use `Icinga\Web\Controller::setupPaginationControl()` and/or `Icinga\Web\Widget\Paginator` instead.
+ `MonitoredObject::matches()`: Use `$filter->matches($object)` instead. * `LdapConnection::connect()`: The connection is established lazily since .. a long time.
+ `MonitoredObject::fromParams()`: Deleted without substitution. * `MonitoredObject::matches()`: Use `$filter->matches($object)` instead.
+ `DataView::fromRequest()`: Use `$backend->select()->from($viewName)` instead. * `MonitoredObject::fromParams()`: Deleted without substitution.
+ `DataView::sort()`: Use `DataView::order()` instead. * `DataView::fromRequest()`: Use `$backend->select()->from($viewName)` instead.
+ `MonitoringBackend::createBackend()`: Use `MonitoringBackend::instance()` instead. * `DataView::sort()`: Use `DataView::order()` instead.
+ `DbConnection::getConnection()`: Use `Connection::getDbAdapter()` instead. * `MonitoringBackend::createBackend()`: Use `MonitoringBackend::instance()` instead.
+ `DbQuery::renderFilter()`: Use `DbConnection::renderFilter()` instead. * `DbConnection::getConnection()`: Use `Connection::getDbAdapter()` instead.
+ `DbQuery::whereToSql()`: Use `DbConnection::renderFilter()` instead. * `DbQuery::renderFilter()`: Use `DbConnection::renderFilter()` instead.
+ `DataView::applyUrlFilter()`: Not in use. * `DbQuery::whereToSql()`: Use `DbConnection::renderFilter()` instead.
**Classes:** **Classes:**
+ `Icinga\Util\String`: Use `Icinga\Util\StringHelper` instead. * `Icinga\User\Preferences\Store\IniStore`: Preferences in INI files are not supported anymore.
+ `Icinga\Util\Translator`: Use `\ipl\I18n\StaticTranslator::$instance` or `\ipl\I18n\Translation` instead. * `Icinga\User\Preferences\Store\DbStore`: Its methods have been added to the `PreferencesStore` class.
+ `Icinga\Module\Migrate\Clicommands\DashboardCommand`: Deleted without substitution. * `Icinga\Util\String`: Use `Icinga\Util\StringHelper` instead.
+ `Icinga\Web\Hook\TicketHook`: Use `Icinga\Application\Hook\TicketHook` instead. * `Icinga\Util\Translator`: Use `\ipl\I18n\StaticTranslator::$instance` or `\ipl\I18n\Translation` instead.
+ `Icinga\Web\Hook\GrapherHook`: Use `Icinga\Application\Hook\GrapherHook` instead. * `Icinga\Module\Migrate\Clicommands\DashboardCommand`: Deleted without substitution.
+ `Icinga\Module\Monitoring\Environment`: Not in use. * `Icinga\Web\Hook\TicketHook`: Use `Icinga\Application\Hook\TicketHook` instead.
+ `Icinga\Module\Monitoring\Backend`: Use `Icinga\Module\Monitoring\Backend\MonitoringBackend` instead. * `Icinga\Web\Hook\GrapherHook`: Use `Icinga\Application\Hook\GrapherHook` instead.
* `Icinga\Module\Monitoring\Environment`: Not in use.
* All the following deprecated js classes and methods are removed: * `Icinga\Module\Monitoring\Backend`: Use `Icinga\Module\Monitoring\Backend\MonitoringBackend` instead.
**Methods:**
+ `loader::addUrlFlag()`: Use `Icinga.Utils.addUrlFlag()` instead.
## Upgrading to Icinga Web 2 2.10.x ## Upgrading to Icinga Web 2 2.10.x