diff --git a/AUTHORS b/AUTHORS index b880d6abc9..a56dd0ad16 100644 --- a/AUTHORS +++ b/AUTHORS @@ -131,6 +131,7 @@ tfylling Thomas Gelf Tim Helfensdörfer Timm Ortloff +Tobias Tiederle Tobias von der Krone Tomas Barton Tom Ford diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c1a267911..47758df248 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,73 @@ Please make sure to always read our [Upgrading](doc/80-Upgrading.md) documentati ## What's New +### What's New in Version 2.12.0 + +You can find all issues related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/79?closed=1). + +#### PHP 8.2 Support + +This release finally adds support for the latest version of PHP, 8.2. This means that installations on Debian Bookworm, +Ubuntu 23.10 and Fedora 38+ can now install Icinga Web without worrying about PHP related incompatibilities. Some of our +other modules still require an update, which they will receive in the coming weeks. Next week Icinga DB Web will follow. +Icinga Certificate Monitoring, Icinga Business Process Modeling and Icinga Reporting the weeks after. + +* Support for PHP 8.2 [#4918](https://github.com/Icinga/icingaweb2/issues/4918) + +#### Simplified Database Migrations + +Anyone who already performed an upgrade of Icinga Web or some Icinga Web module in the past has done it: A database +schema upgrade. This usually involved the following steps: + +* Knowing that a database might need an upgrade +* Figuring out if that's true, by checking the upgrade documentation +* Alternatively relying on the users to find out about it as they're running into database errors +* Locating the upgrade file +* Connecting to the machine the database is running on +* Transferring the upgrade file over +* Importing the upgrade file into the correct database + +With Icinga Web v2.12 and later, upgrade the application and, yes, still check the upgrade documentation. That's still +mandatory! But if you notice there, that just a database upgrade is necessary you can simply log in and check the +*Migrations* section in the *System* menu. With a single additional click you can perform the database upgrade directly +in the UI then. This view also offers to migrate module databases. The earlier mentioned updates of Icinga Certificate +Monitoring and Icinga Reporting will pop up there once they arrive. + +* Provide a way to easily perform database migrations [#5043](https://github.com/Icinga/icingaweb2/issues/5043) + +#### Content-Security-Policy Conformance + +Err, what? That's an HTTP header to prevent cross site scripting attacks. (XSS) Still confused? It's a technique +to stop bad individuals. A very effective technique even. You don't need to do anything, other than visiting the +general configuration of Icinga Web and enabling the respective setting. The only downer here, is that support +for it isn't as widespread yet as you might hope. Icinga Web itself of course has it, but not all modules. But don't +worry, you might have guessed it already, those are the same modules which will receive updates in the coming weeks. + +* Support for Content-Security-Policy [#4528](https://github.com/Icinga/icingaweb2/issues/4528) + +#### Other Notable Changes + +There are not only such big changes as previously mentioned part of this release. + +Some module developers may be happy to hear that there is now more control for the server over the UI possible. +And with a new Javascript event it is now possible to react upon a column's content being moved to another column. +Now built-in into the framework is also an easy way to mark content in the UI as being copiable with a single click +by the user. + +* Allow to initiate a refresh with `__REFRESH__` [#5108](https://github.com/Icinga/icingaweb2/pull/5108) +* Don't refresh twice upon `__CLOSE__` [#5106](https://github.com/Icinga/icingaweb2/pull/5106) +* Add event `column-moved` [#5049](https://github.com/Icinga/icingaweb2/pull/5049) +* Add copy-to-clipboard behavior [#5041](https://github.com/Icinga/icingaweb2/pull/5041) + +Then there are some fixes related to other integrations. It is now possible to set up resources for Oracle databases, +without a `host` setting, which facilitate dynamic host name resolution. A part of the `monitoring` module's integration +into the Icinga Certificate Monitoring prevents a crash of its collector daemon in case the connection to the IDO was +interrupted. And exported content, with data that has double quotes, to CSV is now correctly escaped. + +* Access Oracle Database via tnsnames.ora / LDAP Naming Services [#5062](https://github.com/Icinga/icingaweb2/issues/5062) +* Reduce risk of crashing the x509 collector daemon [#5115](https://github.com/Icinga/icingaweb2/pull/5115) +* CSV export does not escape double quotes [#4910](https://github.com/Icinga/icingaweb2/issues/4910) + ### What's New in Version 2.11.4 You can find all issues related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/78?closed=1). diff --git a/VERSION b/VERSION index a63479186f..9f94b801a3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.11.4 +v2.12.0 diff --git a/application/views/scripts/error/error.phtml b/application/views/scripts/error/error.phtml index 3c7462f52d..5f4579ac62 100644 --- a/application/views/scripts/error/error.phtml +++ b/application/views/scripts/error/error.phtml @@ -23,7 +23,7 @@ $modReason = []; if (isset($requiredVendor, $requiredProject) && $requiredVendor && $requiredProject) { // TODO: I don't like this, can we define requirements somewhere else? - $coreDeps = ['icinga-php-library' => '>= 0.9', 'icinga-php-thirdparty' => '>= 0.11']; + $coreDeps = ['icinga-php-library' => '>= 0.13', 'icinga-php-thirdparty' => '>= 0.12']; foreach ($coreDeps as $libraryName => $requiredVersion) { if (! $libraries->has($libraryName)) { diff --git a/doc/02-Installation.md b/doc/02-Installation.md index 97afed5006..6bf9ee097d 100644 --- a/doc/02-Installation.md +++ b/doc/02-Installation.md @@ -395,8 +395,8 @@ You will need to install certain dependencies depending on your setup: monitor your infrastructure * A web server, e.g. Apache or Nginx * PHP version ≥ 7.2 -* [Icinga PHP Library (ipl)](https://github.com/Icinga/icinga-php-library) (≥ 0.9) -* [Icinga PHP Thirdparty](https://github.com/Icinga/icinga-php-thirdparty) (≥ 0.11) +* [Icinga PHP Library (ipl)](https://github.com/Icinga/icinga-php-library) (≥ 0.13) +* [Icinga PHP Thirdparty](https://github.com/Icinga/icinga-php-thirdparty) (≥ 0.12) * The following PHP modules must be installed: cURL, json, gettext, fileinfo, intl, dom, OpenSSL and xml * The [pdfexport](https://github.com/Icinga/icingaweb2-module-pdfexport) module (≥0.10) is required for the export to PDF diff --git a/library/Icinga/Application/Version.php b/library/Icinga/Application/Version.php index 3045e8ce6e..b03228e630 100644 --- a/library/Icinga/Application/Version.php +++ b/library/Icinga/Application/Version.php @@ -8,7 +8,7 @@ */ class Version { - const VERSION = '2.11.4'; + const VERSION = '2.12.0'; /** * Get the version of this instance of Icinga Web 2 diff --git a/modules/doc/module.info b/modules/doc/module.info index ac596db92a..84e6e45ca7 100644 --- a/modules/doc/module.info +++ b/modules/doc/module.info @@ -1,4 +1,4 @@ Module: doc -Version: 2.11.4 +Version: 2.12.0 Description: Documentation module Extracts, shows and exports documentation for Icinga Web 2 and its modules. diff --git a/modules/migrate/module.info b/modules/migrate/module.info index 6eb291159d..7e7675ada0 100644 --- a/modules/migrate/module.info +++ b/modules/migrate/module.info @@ -1,5 +1,5 @@ Module: migrate -Version: 2.11.4 +Version: 2.12.0 Description: Migrate module This module was introduced with the domain-aware authentication feature in version 2.5.0. It helps you migrating users and user configurations according to a given domain. diff --git a/modules/monitoring/module.info b/modules/monitoring/module.info index 82c520dc94..6aa7036875 100644 --- a/modules/monitoring/module.info +++ b/modules/monitoring/module.info @@ -1,5 +1,5 @@ Module: monitoring -Version: 2.11.4 +Version: 2.12.0 Description: Icinga monitoring module IDO accessor and UI for your monitoring. This is the initial instalment for a graphical presentation of Icinga environments. The predecessor of Icinga DB. diff --git a/modules/setup/library/Setup/WebWizard.php b/modules/setup/library/Setup/WebWizard.php index 4fc0f2bde9..0485cecece 100644 --- a/modules/setup/library/Setup/WebWizard.php +++ b/modules/setup/library/Setup/WebWizard.php @@ -601,7 +601,7 @@ public function getRequirements($skipModules = false) ))); $set->add(new WebLibraryRequirement(array( - 'condition' => ['icinga-php-library', '>=', '0.9.0'], + 'condition' => ['icinga-php-library', '>=', '0.13.0'], 'alias' => 'Icinga PHP library', 'description' => mt( 'setup', @@ -610,7 +610,7 @@ public function getRequirements($skipModules = false) ))); $set->add(new WebLibraryRequirement(array( - 'condition' => ['icinga-php-thirdparty', '>=', '0.11.0'], + 'condition' => ['icinga-php-thirdparty', '>=', '0.12.0'], 'alias' => 'Icinga PHP Thirdparty', 'description' => mt( 'setup', diff --git a/modules/setup/module.info b/modules/setup/module.info index e3570bd045..f4fb4ff3a2 100644 --- a/modules/setup/module.info +++ b/modules/setup/module.info @@ -1,5 +1,5 @@ Module: setup -Version: 2.11.4 +Version: 2.12.0 Description: Setup module Web based wizard for setting up Icinga Web 2 and its modules. This includes the data backends (e.g. relational database, LDAP), diff --git a/modules/test/module.info b/modules/test/module.info index df5bb6981c..9eeb18c47d 100644 --- a/modules/test/module.info +++ b/modules/test/module.info @@ -1,5 +1,5 @@ Module: test -Version: 2.11.4 +Version: 2.12.0 Description: Translation module This module allows developers to run (unit) tests against Icinga Web 2 and any of its modules. Usually you do not need to enable this. diff --git a/modules/translation/module.info b/modules/translation/module.info index 57a0dd27f1..42f015ba5f 100644 --- a/modules/translation/module.info +++ b/modules/translation/module.info @@ -1,5 +1,5 @@ Module: translation -Version: 2.11.4 +Version: 2.12.0 Description: Translation module This module allows developers and translators to translate modules for multiple languages. You do not need this module to run an internationalized web frontend.