From db58b3b4899b9d43192ad946311fedb96b46c969 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 21 Sep 2023 15:49:49 +0200 Subject: [PATCH 1/4] Update AUTHORS --- AUTHORS | 1 + 1 file changed, 1 insertion(+) 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 From 9f5f043d49231d277c2ee9686aa19cda742ab50b Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 21 Sep 2023 15:50:07 +0200 Subject: [PATCH 2/4] Update CHANGELOG.md --- CHANGELOG.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) 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). From 21d631ad7e7767ae6ef75aa44e4a269247e89f44 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 21 Sep 2023 15:50:27 +0200 Subject: [PATCH 3/4] Raise version to 2.12.0 --- VERSION | 2 +- library/Icinga/Application/Version.php | 2 +- modules/doc/module.info | 2 +- modules/migrate/module.info | 2 +- modules/monitoring/module.info | 2 +- modules/setup/module.info | 2 +- modules/test/module.info | 2 +- modules/translation/module.info | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) 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/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/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. From 2432d055e6edd6e5d2a959732e01cd4410700cc1 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 21 Sep 2023 15:59:00 +0200 Subject: [PATCH 4/4] Raise library requirements --- application/views/scripts/error/error.phtml | 2 +- doc/02-Installation.md | 4 ++-- modules/setup/library/Setup/WebWizard.php | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) 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/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',