diff --git a/.mailmap b/.mailmap index bd13a630d..850e5fd7b 100644 --- a/.mailmap +++ b/.mailmap @@ -1,4 +1,5 @@ Alexander A. Klimov +Alvar Penning <8402811+oxzi@users.noreply.github.com> Diana Flach Diana Flach Diana Flach diff --git a/AUTHORS b/AUTHORS index 7971eb292..5f2666a9c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -4,6 +4,7 @@ Eric Lippmann Feu Mourek Henrik Triem Johannes Meyer +Jonada Hoxha Julian Brost Michael Friedrich Noah Hilverling diff --git a/CHANGELOG.md b/CHANGELOG.md index 73b88fb81..65002ca2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,38 @@ # Icinga DB Changelog +## 1.2.1 (2024-12-18) + +This is a maintenance release that addresses HA issues and includes a number of other fixes. + +Most prominent, crashes caused by an invalid HA state were investigated and fixed mainly by the following changes. + +* Ensure that the crucial HA realization logic is always aborted when its timeout is reached. #800 +* Give up the HA leadership role if it seems another node is also active. #825 +* Reduce database deadlocks in the HA realization domain with exclusive locking. #830 + +Other notable changes include the following: + +* ACL and database support for RedisĀ®[\*](doc/TRADEMARKS.md#redis). #874, icinga-go-library#50, icinga-go-library#52 +* Alter the database schema to allow longer user input. #779, #792, #856 +* Mitigate some NULL values for icingadb-migrate. #767 +* Retry certain database errors for PostgreSQL. icinga-go-library#59 +* Retry RedisĀ® timeout errors for `XREAD`. icinga-go-library#23 +* Additional tests were written. #771, #777, #803, #806, #807, #808 +* Parts of the code have been moved to our [icinga-go-library](https://github.com/Icinga/icinga-go-library) for use by our other Go daemons. #747 +* Update dependencies. [26 times](https://github.com/Icinga/icingadb/pulls?q=is%3Apr+milestone%3A1.2.1+label%3Adependencies) + +### Schema + +A schema upgrade is available that allows longer user input as listed above. +Please follow the [upgrading documentation](doc/04-Upgrading.md#upgrading-to-icinga-db-v121). + ## 1.2.0 (2024-04-11) This release addresses multiple issues related to fault recoveries, with a particular focus on retryable database errors that may occur when using Icinga DB with database clusters. Since there may be a large number of errors that are resolved by retrying after a certain amount of time, -#698 changed the retry behavior to retry every database-related error for five minutes. +\#698 changed the retry behavior to retry every database-related error for five minutes. This helps Icinga DB survive network hiccups or more complicated database situations, such as working with a database cluster. diff --git a/doc/04-Upgrading.md b/doc/04-Upgrading.md index 74382e58f..416f68490 100644 --- a/doc/04-Upgrading.md +++ b/doc/04-Upgrading.md @@ -3,6 +3,12 @@ Specific version upgrades are described below. Please note that version upgrades are incremental. If you are upgrading across multiple versions, make sure to follow the steps for each of them. +## 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 +`/usr/share/icingadb/schema/mysql/upgrades/` or `/usr/share/icingadb/schema/pgsql/upgrades/`, depending on your +database vendor. + ## Upgrading to Icinga DB v1.2.0 Please apply the `1.2.0.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 d1aab39f8..c6be6755e 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.2.0", "$Format:%(describe)$", "$Format:%H$") +var Version = version.Version("1.2.1", "$Format:%(describe)$", "$Format:%H$") diff --git a/schema/mysql/upgrades/1.3.0.sql b/schema/mysql/upgrades/1.2.1.sql similarity index 100% rename from schema/mysql/upgrades/1.3.0.sql rename to schema/mysql/upgrades/1.2.1.sql diff --git a/schema/pgsql/schema.sql b/schema/pgsql/schema.sql index a68d41a1d..0ba8e49db 100644 --- a/schema/pgsql/schema.sql +++ b/schema/pgsql/schema.sql @@ -855,7 +855,6 @@ CREATE TABLE checkcommand_argument ( ALTER TABLE checkcommand_argument ALTER COLUMN id SET STORAGE PLAIN; ALTER TABLE checkcommand_argument ALTER COLUMN environment_id SET STORAGE PLAIN; ALTER TABLE checkcommand_argument ALTER COLUMN checkcommand_id SET STORAGE PLAIN; -ALTER TABLE checkcommand_argument ALTER COLUMN argument_key SET STORAGE PLAIN; ALTER TABLE checkcommand_argument ALTER COLUMN properties_checksum SET STORAGE PLAIN; COMMENT ON COLUMN checkcommand_argument.id IS 'sha1(environment.id + checkcommand_id + argument_key)'; diff --git a/schema/pgsql/upgrades/1.3.0.sql b/schema/pgsql/upgrades/1.2.1.sql similarity index 100% rename from schema/pgsql/upgrades/1.3.0.sql rename to schema/pgsql/upgrades/1.2.1.sql