diff --git a/CHANGELOG.md b/CHANGELOG.md index 04e34e86..7bafa8fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,44 @@ # Icinga DB Changelog +## 1.4.0 (2025-06-18) + +This Icinga DB release introduces support for Icinga 2 dependencies, continues to retry certain long-persisting errors, and tweaks the logging. + +Other changes and bug fixes were made as well. +The most notable changes are as follows. + +* Synchronize Icinga 2 dependencies to Icinga DB for visualization in Icinga DB Web. #889 +* Do not time out when reconnecting to the database or Redis®[\*](doc/TRADEMARKS.md#redis) if a connection was previously established. #960, icinga-go-library#131 +* Instead of a stack trace, abort `icingadb` on expected fatal errors with a descriptive log message. #944 +* When logging to journald, include errors in the log message as well as in the journald fields. icinga-go-library#126 +* Rework log levels and include more context for debugging. #940, #944, icinga-go-library#124 +* Ensure consistency between data written to Redis® and the database by getting rid of unnecessary value mapping. #964 +* Fix bugs in the `icingadb-migrate` utility and ensure compatibility with MariaDB ≥11.7. #957, #959, #975, #976 +* Improve the documentation, including new sections on container installation and operations. #939, #942, #948, #950, #951, #981, #983 + +### Requirements + +Version 1.4.0 of Icinga DB is released alongside Icinga 2.15.0 and Icinga DB Web 1.2.0. +Since this Icinga DB release requires Icinga 2.15.0 or later, please install these updates together. + +The required minimum versions of the MySQL/MariaDB server has increased: + +* MySQL must be version 8.0 or later. +* MariaDB must be version 10.2.2 or later. + +More information is available in the [upgrading documentation](doc/04-Upgrading.md#upgrading-to-icinga-db-v140). + +### Schema + +The `1.4.0.sql` schema upgrade is available and must be applied. +Please follow the [schema upgrade documentation](doc/04-Upgrading.md#database-schema-upgrades). + +### SELinux Packages + +With this Icinga DB release, two new SELinux packages are now available for Amazon Linux, Fedora, RHEL, OpenSUSE, and SLES. +The new `icingadb-selinux` and `icingadb-redis-selinux` packages contain SELinux policies to be used for Icinga DB and Icinga DB Redis®, respectively. +If you are using SELinux with one of the listed distributions, please consider installing these packages. + ## 1.3.0 (2025-04-03) This is a maintenance release, integrating the container setup directly into Icinga DB. @@ -10,8 +49,8 @@ With these two features, the [docker-icingadb](https://github.com/Icinga/docker- For Docker users of Icinga DB, the following has changed. -- Container images are now pushed to both the [GitHub Container Registry (GHCR)](https://github.com/icinga/icingadb/pkgs/container/icingadb) and [Docker Hub](https://hub.docker.com/r/icinga/icingadb). -- Development images built from the `main` branch are no longer tagged as `main`, but now as `edge`. +* Container images are now pushed to both the [GitHub Container Registry (GHCR)](https://github.com/icinga/icingadb/pkgs/container/icingadb) and [Docker Hub](https://hub.docker.com/r/icinga/icingadb). +* Development images built from the `main` branch are no longer tagged as `main`, but now as `edge`. The changes are as follows. diff --git a/doc/02-Installation.md b/doc/02-Installation.md index 79074074..027a40e5 100644 --- a/doc/02-Installation.md +++ b/doc/02-Installation.md @@ -39,7 +39,7 @@ or install [from source](02-Installation.md.d/From-Source.md). ## Setting up the Database -A MySQL (≥5.5), MariaDB (≥10.1), or PostgreSQL (≥9.6) database is required to run Icinga DB. +A MySQL (≥8.0), MariaDB (≥10.2.2), or PostgreSQL (≥9.6) database is required to run Icinga DB. Please follow the steps listed for your target database, which guide you through setting up the database and user and importing the schema. @@ -51,14 +51,6 @@ which guide you through setting up the database and user and importing the schem ### Setting up a MySQL or MariaDB Database -If you use a version of MySQL < 5.7 or MariaDB < 10.2, the following server options must be set: - -``` -innodb_file_format=barracuda -innodb_file_per_table=1 -innodb_large_prefix=1 -``` - Set up a MySQL database for Icinga DB: ``` diff --git a/doc/04-Upgrading.md b/doc/04-Upgrading.md index 22811f98..380bce01 100644 --- a/doc/04-Upgrading.md +++ b/doc/04-Upgrading.md @@ -40,6 +40,26 @@ Afterwards, restart Icinga DB. If you have an HA setup, restart all Icinga DB in systemctl start icingadb ``` +## Upgrading to Icinga DB v1.4.0 + +### Requirements + +Version 1.4.0 of Icinga DB is released alongside Icinga 2.15.0 and Icinga DB Web 1.2.0. A change to the internal +communication API requires these updates to be applied together. To put it simply, Icinga DB 1.4.0 needs Icinga 2.15.0 +or later. + +The minimum required versions of the MySQL/MariaDB server is increased to support Recursive Common Table Expressions. +Technical information is available in [#947](https://github.com/Icinga/icingadb/issues/947). + +* MySQL must be version 8.0 or later. +* MariaDB must be version 10.2.2 or later. + +Ensure that the new requirements are met before updating Icinga DB. + +### Schema + +The upgrade script `1.4.0.sql` must be applied as described in the [schema upgrade section](#database-schema-upgrades). + ## Upgrading to Icinga DB v1.2.1 Please apply the `1.2.1.sql` upgrade script to your database. For package installations, you can find this file at diff --git a/internal/version.go b/internal/version.go index 8fd9656c..f3990b55 100644 --- a/internal/version.go +++ b/internal/version.go @@ -7,4 +7,4 @@ import ( // Version contains version and Git commit information. // // The placeholders are replaced on `git archive` using the `export-subst` attribute. -var Version = version.Version("1.3.0", "$Format:%(describe)$", "$Format:%H$") +var Version = version.Version("1.4.0", "$Format:%(describe)$", "$Format:%H$")