Ctrl K
ComunidadGuías…

CHANGELOG.md

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Icinga 2 CHANGELOG

**The latest release announcements are available on [https://icinga.com/blog/](https://icinga.com/blog/).**

Please read the [upgrading](https://icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/)
documentation before upgrading to a new release.

Released closed milestones can be found on [GitHub](https://github.com/Icinga/icinga2/milestones?state=closed).

## 2.16.6 (2026-10-27)

This release contains a number of different security fixes, alongside small features and bug fixes.

If the default email notification scripts are used, an attacker that is able to set the email address of the recipient
could use this to inject arbitrary command line flags to the `mail` binary. The impact depends on what flags are
provided by the underlying implementation. In case of GNU mailutils, it was demonstrated that this can be used to
execute arbitrary commands.

Multiple issues have been fixed that can allow an attacker with valid API credentials to crash the Icinga 2 process,
learn information about config objects they aren't supposed to access (if they have access to related objects), or
retrieve sensitive information from the `diagnostic_information` response value. In order to address the latter issue,
that information is now only provided to users with the newly added `diagnostic-information` permission. In some places
where this previously was the only source of reliable error reporting for API actions, the regular error reporting has
been improved.

Lastly, various instances of unsanitized logging were fixed, that previously allowed unauthenticated attackers to
falsify information contained in Icinga 2 log files.

### Security

* Prevent a command line argument injection in the default `mail-host-notification.sh` and
  `mail-service-notification.sh` notification scripts, that could cause commands passed in the recipient email address
  to be executed ([GHSA-chm5-8fg3-g6fw](https://github.com/Icinga/icinga2/security/advisories/GHSA-chm5-8fg3-g6fw))
* Prevent a crash of the Icinga 2 daemon caused by bad comparators being passed to `Array#sort()`
  ([GHSA-33vf-h78f-99p3](https://github.com/Icinga/icinga2/security/advisories/GHSA-33vf-h78f-99p3))
* Prevent log injection in various instances
  ([GHSA-hhxh-8qx6-pxc3](https://github.com/Icinga/icinga2/security/advisories/GHSA-hhxh-8qx6-pxc3))
* API: Require an explicit permission to receive `diagnostic_information` as it can reveal sensitive information
  ([GHSA-vwj4-g6h6-65gj](https://github.com/Icinga/icinga2/security/advisories/GHSA-vwj4-g6h6-65gj))
* API: Prevent unauthorized reads of joined objects via filter expressions
  ([GHSA-2hhr-ccxm-x85p](https://github.com/Icinga/icinga2/security/advisories/GHSA-2hhr-ccxm-x85p))
* Bump OpenSSL shipped for Windows to v3.5.9 (#11063)

### Features

* Icinga DB: Add more information to runtime update streams needed for upcoming version of Icinga Notifications (#11121)
* API: Allow setting the exact acknowledge time in the acknowledge-problem action (#11121)
* Allow building with `-DCMAKE_CXX_STANDARD=20` (#11096)

### Bug fixes

* Icinga DB: Don't report volatile checks as being in a soft state (#11100)
* Tests: Relax tolerances in timer tests, making them more reliable (#11046)

## 2.16.5 (2026-08-18)

This release contains a bugfix for a regression in the `IcingaDB` feature that was introduced in v2.16.0 and some
security enhancements that fix a couple of minor vulnerabilities.

One vulnerability allowed an authenticated `ApiUser` with the `events/*` permission to obtain information about
objects through crafted filter expressions, without holding the relevant `objects/query/*` permission. The fix is to
correctly apply permissions to filter expressions on `/v1/events`.

The other vulnerability allowed an authenticated Icinga 2 node to use the ~1 GB message limit to possibly crash another
node through memory exhaustion. Depending on available memory, multiple compromised nodes may be required for
a successful attack since a node can only make one connection. The fix applies a 16 MiB limit to messages from nodes
lower in the hierarchy.

### Security Enhancements

* Apply user permissions to filter expressions for `/v1/events` similarly to `/v1/objects`
  ([GHSA-v265-w3gm-99vg](https://github.com/Icinga/icinga2/security/advisories/GHSA-v265-w3gm-99vg))
* Introduce an additional 16 MiB message size limit on all child-zone connections
  ([GHSA-wm63-p2jg-5665](https://github.com/Icinga/icinga2/security/advisories/GHSA-wm63-p2jg-5665))
* Don't include sensitive certificate request tickets in log messages (#10960)
* Don't log full object config containing potentially sensitive information (#10988)

### Bugfixes

* IcingaDB: Fix multiple potential race conditions during initial config dump (#10981)

## 2.16.4 (2026-07-16)

This release contains a number of fixes for various smaller but annoying bugs, including one regression regarding API
authentication with certain HTTP client libraries. It also ensures that Icinga 2 is compatible with newer OpenSSL
versions.

### Bugfixes

* Track objects deleted at runtime to avoid erroneous recreation when processing the replay log (#10933)
* Ensure that connecting to endpoints can no longer hang indefinitely, which had stopped it from
  initiating further connection attempts until Icinga 2 was restarted (#10929)
* Fix a regression introduced with v2.16.0, that broke API authentication for clients
  that only send HTTP Basic Auth credentials after the server requested them (#10927)
* Improve locking of performance data arrays to prevent possible deadlocks (#10930)
* Fix high response latency with multiple API requests targeting non-existent hosts or services (#10928)

### Enhancements and Documentation

* Add support for OpenSSL 4.0 (#10934)
* Remove Amazon Linux 2 from the documentation after it has reached its end of life (#10935)

## 2.16.3 (2026-07-01)

This is a hotfix release that fixes a regression with the `Json.decode()` DSL function that was introduced in v2.16.2:
The addition of a second argument to the internal `JsonDecode()` function unintentionally leaked into the DSL as a
required argument. This version restores the old and intended behavior of `Json.decode()`.

### Changes

* Restore single-argument `Json.decode()` in the DSL (#10921)
* Add the upgrading documentation for v2.15.1 again, which went missing with the v2.16.0 release (#10916)

## 2.16.2 (2026-06-29)

This release fixes some critical security vulnerabilities in Icinga 2. Users are advised to upgrade immediately, as two
of them allow an unauthenticated attacker to take over or crash the Icinga 2 process over the network. The other
security fixes only affect authenticated API users.

In addition, a new permission named `filter-expression` is introduced, which allows specifying if individual API users
are allowed to use DSL filter expressions in API queries. This allows further restricting some API users that don't need
this capability, for example, those only submitting individual check results. Due to the incompatibility of this change,
enforcement of this permission is opt-in until v2.17; see the
[upgrading docs](https://icinga.com/docs/icinga-2/latest/doc/16-upgrading-icinga-2/#upgrading-to-2-16-2) for details.

* Verify that certificate update requests come from an authorized endpoint ([GHSA-vj39-ww8j-vvx5](https://github.com/Icinga/icinga2/security/advisories/GHSA-vj39-ww8j-vvx5))
* Fix stack overflow due to deeply nested data structures ([GHSA-wh38-wg57-5w7g](https://github.com/Icinga/icinga2/security/advisories/GHSA-wh38-wg57-5w7g))
* Prevent arbitrary config injection on object creation via the API ([GHSA-jgqj-x5j9-vgcm](https://github.com/Icinga/icinga2/security/advisories/GHSA-jgqj-x5j9-vgcm))
* Fix that `/v1/config/files` could send uninitialized memory in case of file I/O errors (#10871)
* Add `filter-expression` permission to make it possible to prevent API users from using DSL filter expressions
* Windows: Update bundled OpenSSL to v3.5.7 (#10893)

## 2.16.1 (2026-05-21)

This is a small release mostly to fix the issues some users were encountering in connection with perfdata writers,
mostly Graphite and InfluxDB. The only significant change is that the changes from #10668 and #10799 are being
reverted. This affects `ElasticsearchWriter`, `GraphiteWriter`, `GelfWriter`, `InfluxdbWriter`,
`Influxdb2Writer` and `OpenTsdbWriter`.

### Changes
* Revert adding `PerfdataWriterConnection`: #10851
* Docs: Note OTLP metrics package limitation on Debian 11 and Ubuntu 22.04 and Amazon Linux 2: #10837

## 2.16.0 (2026-04-23)

With this release the license of the project was updated to GPLv3 or later (#10700).

In this release we've added the `OTLPMetricsWriter`, a new perfdata writer targeting backends that support the
OpenTelemetry protocol. We recommend users to replace other perfdata writers with this one if possible, especially
`ElasticsearchWriter`, which is now deprecated and scheduled for removal in v2.18.

Another big improvement is the addition of streaming support to our HTTP handlers. Most handlers now use chunked
encoding to reduce the amount of the generated JSON document that has to be kept in memory at any one time. Some
endpoints, notably `v1/objects/query`, will also start to stream the response immediately, as the results are processed.
This should solve most of the memory issues users were seeing when using the Icinga 2 API on large clusters.

We've also redone our Docker images with this version, with some changes to how the `/data` directory is mounted and
initialized, so make sure you read the new documentation page for
[installing Icinga 2 in containers](https://icinga.com/docs/icinga-2/latest/doc/02-installation/For-Container).

Below is a summary of the changes relevant for our users. For the complete list of issues and PRs, please see the
[milestone on GitHub](https://github.com/Icinga/icinga2/issues?q=is%3Aclosed+milestone%3A2.16.0).

### Notes

Thanks to all contributors:
[brad0](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3Abrad0),
[cjsoftuk](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3Acjsoftuk),
[Donien](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3ADonien),
[Egor-OSSRevival](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3AEgor-OSSRevival),
[ETES-Stuttgart](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3AETES-Stuttgart),
[freaknils](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3Afreaknils),
[martialblog](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3Amartialblog),
[Napsty](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3ANapsty),
[RincewindsHat](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3ARincewindsHat),
[Tqnsls](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3ATqnsls),
[w1ll-i-code](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3Aw1ll-i-code),
[ymartin-ovh](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.16.0+author%3Aymartin-ovh)

### Deprecations

Features newly deprecated in this version:
* `ElasticsearchWriter` (please use the new `OTLPMetricsWriter` instead)
* User declared namespace objects (i.e. `namespace foo {}`)

We've scheduled these features for removal in v2.18 (#10734).

These features have already been deprecated and will also be removed in v2.18:
* `IdoMySqlConnection`
* `IdoPgsqlConnection`
* `CompatLogger`
* `ExternalCommandListener`
* `LivestatusListener`
* Windows check-plugins (i.e. `check_*.exe`) and `CheckCommand`s (please use our [PowerShell Plugins](https://github.com/Icinga/icinga-powershell-plugins) instead)

We will also no longer provide 32bit Windows MSIs via Chocolatey (#10757).

### Enhancements

* OTLPMetricsWriter: A new perfdata writer for the OpenTelemetry protocol: #10685, #10789, and #10800
* HTTP API-handlers now stream results via chunked encoding where possible: #10554, #10692, #10516, and #10414
* Rework docker images build: #10505, #10666, and #10738
* Better debug log messages for dependencies with non-existing parents or children: #10737
* No longer require the unused `queue` parameter for `v1/events`: #10495
* Allow UID/GID values in `ICINGA2_USER` and `ICINGA2_GROUP` environment variables: #10538
* Add `messages_received_per_type` attribute to endpoints: #10387
* Better error messages on Redis® connection errors: #10727
* New node-setup command option `--no-default-global-zones`: #10028
* Warn on problematic object names: #10770
* New config option `http_response_headers` for ApiListener that allows to set arbitrary HTTP-headers that will be sent
  back with responses: #10563, #10664, and #10662

### Bugfixes

* Fix a race condition in the `v1/console` handler: #10681 and #10675
* InfluxDBWriter: Print full HTTP error body when request fails: #10560
* Fix a crash when querying objects that are simultaneously deleted: #10698
* Fix a race condition leading to double notifications: #10628
* Improve BSD support: #10641, #10640, #10638, and #10635
* TimePeriod: Properly validate `ranges` field: #10633
* Fix recovery notifications outside time period being lost: #10613
* Prevent worst-case exponential complexity in dependency evaluation: #10523
* Fix double-free error in `posix_error::what()`: #10558
* Fix expiry times not applying correctly to Acknowledgements via ExternalCommandProcessor: #10486
* Fix dropped or stalled connections blocking Icinga 2 shutdown on all perfdata writers: #10668 and #10799
* Fix misleading TLS handshake error logging: #10798
* SELinux: Allow to query attrs of a filesystem: #10726

### ITL

* Support for the `check_smart` plugin: #8041
* Add `ssl_cert_long_output` option to `check_ssl_cert` plugin: #10526
* Enhanced SMART attributes monitoring plugin check configuration with more parameters: #10564
* Add plain fping CheckCommand to ITL: #10494
* Remove clear variable from disk CheckCommand: #10531
* Add a check command for NETGEAR monitoring: #10753

### Optimizations

* Several performance optimizations for the Redis® connection: #10391, #10732, and #10744
* IcingaDB: Better config and state update queueing: #10619
* Freeze registries after startup: #10388
* Small code and performance optimizations in `Log` class: #10504
* Improved efficiency of the `CpuBoundWork` implementation: #9990 and #10795

### Miscellaneous

* Documentation Improvements: #10481, #10493, #10501, #10513, #10514, #10683, #10686, #10702, and #10745
* Code Quality Improvements: #9411, #10609, #9728, #9729, #9730, #10499, #10552, #10693, #10715, #10716, and #10756
* Unit-Test Improvements: #10350, #10528, #10561, #10749, #10550, #10767, and #10776

### Windows

* OpenSSL shipped on Windows updated to 3.5.6: #10786
* Boost version shipped on Windows updated to 1.90: #10669

## 2.15.7 (2026-10-27)

This release contains a number of different security fixes. In addition, some other small changes were backported to the
2.15 release branch in order to support them.

If the default email notification scripts are used, an attacker that is able to set the email address of the recipient
could use this to inject arbitrary command line flags to the `mail` binary. The impact depends on what flags are
provided by the underlying implementation. In case of GNU mailutils, it was demonstrated that this can be used to
execute arbitrary commands.

Multiple issues have been fixed that can allow an attacker with valid API credentials to crash the Icinga 2 process,
learn information about config objects they aren't supposed to access (if they have access to related objects), or
retrieve sensitive information from the `diagnostic_information` response value. In order to address the latter issue,
that information is now only provided to users with the newly added `diagnostic-information` permission. In some places
where this previously was the only source of reliable error reporting for API actions, the regular error reporting has
been improved.

Lastly, various instances of unsanitized logging were fixed, that previously allowed unauthenticated attackers to
falsify information contained in Icinga 2 log files.

### Security

* Prevent a command line argument injection in the default `mail-host-notification.sh` and
  `mail-service-notification.sh` notification scripts, that could cause commands passed in the recipient email address
  to be executed ([GHSA-chm5-8fg3-g6fw](https://github.com/Icinga/icinga2/security/advisories/GHSA-chm5-8fg3-g6fw))
* Prevent a crash of the Icinga 2 daemon caused by bad comparators being passed to `Array#sort()`
  ([GHSA-33vf-h78f-99p3](https://github.com/Icinga/icinga2/security/advisories/GHSA-33vf-h78f-99p3))
* Prevent log injection in various instances
  ([GHSA-hhxh-8qx6-pxc3](https://github.com/Icinga/icinga2/security/advisories/GHSA-hhxh-8qx6-pxc3))
* API: Require an explicit permission to receive `diagnostic_information` as it can reveal sensitive information
  ([GHSA-vwj4-g6h6-65gj](https://github.com/Icinga/icinga2/security/advisories/GHSA-vwj4-g6h6-65gj))
* API: Prevent unauthorized reads of joined objects via filter expressions
  ([GHSA-2hhr-ccxm-x85p](https://github.com/Icinga/icinga2/security/advisories/GHSA-2hhr-ccxm-x85p))
* Bump OpenSSL shipped for Windows to v3.5.9 (#11062)

### Miscellaneous

* Fix high response latency with multiple API-requests targeting non-existent hosts or services (#11119)
* Small code and performance optimizations in `Log` class (#11120)
* Allow building with `-DCMAKE_CXX_STANDARD=20` (#11095)

## 2.15.6 (2026-08-18)

This release contains some security enhancements that fix a couple of minor vulnerabilities.

One vulnerability allowed an authenticated `ApiUser` with the `events/*` permission to obtain information about
objects through crafted filter expressions, without holding the relevant `objects/query/*` permission. The fix is to
correctly apply permissions to filter expressions on `/v1/events`.

The other vulnerability allowed an authenticated Icinga 2 node to use the ~1 GB message limit to possibly crash another
node through memory exhaustion. Depending on available memory, multiple compromised nodes may be required for
a successful attack since a node can only make one connection. The fix applies a 16 MiB limit to messages from nodes
lower in the hierarchy.

### Security Enhancements

* Apply user permissions to filter expressions for `/v1/events` similarly to `/v1/objects`
  ([GHSA-v265-w3gm-99vg](https://github.com/Icinga/icinga2/security/advisories/GHSA-v265-w3gm-99vg))
* Introduce an additional 16 MiB message size limit on all child-zone connections
  ([GHSA-wm63-p2jg-5665](https://github.com/Icinga/icinga2/security/advisories/GHSA-wm63-p2jg-5665))
* Don't include sensitive certificate request tickets in log messages (#10987)
* Don't log full object config containing potentially sensitive information (#10989)

## 2.15.5 (2026-07-01)

This is a hotfix release that fixes a regression with the `Json.decode()` DSL function that was introduced in v2.15.4:
The addition of a second argument to the internal `JsonDecode()` function unintentionally leaked into the DSL as a
required argument. This version restores the old and intended behavior of `Json.decode()`.

### Changes

* Restore single-argument `Json.decode()` in the DSL (#10920)

## 2.15.4 (2026-06-29)

This release fixes some critical security vulnerabilities in Icinga 2. Users are advised to upgrade immediately, as two
of them allow an unauthenticated attacker to take over or crash the Icinga 2 process over the network. The other
security fixes only affect authenticated API users.

In addition, a new permission named `filter-expression` is introduced, which allows specifying if individual API users
are allowed to use DSL filter expressions in API queries. This allows further restricting some API users that don't need
this capability, for example, those only submitting individual check results. Due to the incompatibility of this change,
enforcement of this permission is opt-in until v2.17; see the
[upgrading docs](https://icinga.com/docs/icinga-2/latest/doc/16-upgrading-icinga-2/#upgrading-to-2-16-2) for details.

* Verify that certificate update requests come from an authorized endpoint ([GHSA-vj39-ww8j-vvx5](https://github.com/Icinga/icinga2/security/advisories/GHSA-vj39-ww8j-vvx5))
* Fix stack overflow due to deeply nested data structures ([GHSA-wh38-wg57-5w7g](https://github.com/Icinga/icinga2/security/advisories/GHSA-wh38-wg57-5w7g))
* Prevent arbitrary config injection on object creation via the API ([GHSA-jgqj-x5j9-vgcm](https://github.com/Icinga/icinga2/security/advisories/GHSA-jgqj-x5j9-vgcm))
* Add `filter-expression` permission to make it possible to prevent API users from using DSL filter expressions
* Windows: Update bundled OpenSSL to v3.0.21 (#10876)

## 2.15.3 (2026-04-23)

This is a small release containing a few bugfixes backported from the v2.16.0 release.

We will also no longer provide 32bit Windows MSIs via Chocolatey (#10761).

* Bump OpenSSL shipped for Windows to v3.0.20: #10793
* Fixed a race condition in the `v1/console` handler: #10755, and #10740
* Fix double-free error in `posix_error::what()`: #10742
* InfluxDBWriter: print full HTTP error body when request fails: #10739

## 2.15.2 (2026-01-29)

This security release fixes a problem in the Icinga 2 Windows MSI that did not
set proper permissions for `%ProgramData%\icinga2\var`. Additionally, it includes
two minor bug fixes regarding our SELinux policy and updates the OpenSSL version
shipped on Windows.

* CVE-2026-24413: Fix permissions of `%ProgramData%\icinga2\var` on Windows.
* Windows: Update to OpenSSL 3.0.19. #10706
* SELinux: Fix policy to allow `logrotate` to execute the `icinga2` binary in order to send `SIGUSR1` for log rotation. #10643
* SELinux: Fix policy to allow `icinga2` to send `SIGTERM` to nagios plugins processes on timeout. #10694
* doc: Update Windows development docs to use Visual Studio 2022 instead of 2019. #10695

## 2.15.1 (2025-10-16)

This release fixes multiple security issues. Two of them allow authenticated
API users to learn restricted information or crash Icinga 2. A third issue
affects the scripts provided with Icinga 2 and allows a limited privilege
escalation where the Icinga 2 daemon user can trick root into sending signals to
arbitrary processes.

In addition, this version also includes bug fixes regarding config deployments
and improvements to allow for better debugging of problems related to JSON-RPC
cluster communication.

Note that one fix affects the logrotate configuration. If it was modified
locally, it might not be updated automatically by the package manager and
applying the changes manually is necessary. For details, please check the
[upgrading docs](https://icinga.com/docs/icinga-2/latest/doc/16-upgrading-icinga-2/#upgrading-to-2-15-1).

### Security

* CVE-2025-61907: Prevent API users from accessing variables and objects they
  don't have access to within filter expressions. This allowed authenticated
  API users to learn information they aren't allowed to access directly.
* CVE-2025-61908: Add a missing null pointer check while evaluating
  expressions. This allowed authenticated API users to crash the Icinga 2
  daemon by supplying a crafted filter expression.
* CVE-2025-61909: Don't send signals as root in safe-reload script and
  logrotate config. This allowed a limited privilege escalation from the Icinga
  2 service user to root. The scope is limited to sending SIGHUP or SIGUSR1 to
  an arbitrary process. #10590
* Windows: Update to OpenSSL 3.0.18. #10591

### Bugfixes

* When a reload triggered from Icinga Director (or the /v1/config API) fails,
  the corresponding state is cleared, allowing to deploy a new config without
  having to restart Icinga 2 manually first. #10584

### Enhancements

* Add JSON-RPC utilization metrics and troubleshooting docs. #10586
* When sending cluster messages to other zones, prefer endpoints in the order
  as specified in the zone configuration. #10587
* Track the number of JSON-RPC messages received for each message type per
  endpoint. #10585
* Add support for building with Boost v1.89 and use it on Windows. #10578

## 2.15.0 (2025-06-18)

This Icinga 2 release is focused on adding Icinga 2 dependencies support to Icinga DB, but also includes a number
of bugfixes, enhancements and code quality improvements. Below is a summary of the most important changes, for the
complete list of issues and PRs, please see the [milestone on GitHub](https://github.com/Icinga/icinga2/issues?q=is%3Aclosed+milestone%3A2.15.0).

### Notes

Thanks to all contributors:
[ChrLau](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3AChrLau),
[Josef-Friedrich](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3AJosef-Friedrich),
[LordHepipud](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ALordHepipud),
[OdyX](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3AOdyX),
[RincewindsHat](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ARincewindsHat),
[SebastianOpeni](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ASebastianOpeni),
[SpeedD3](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ASpeedD3),
[Tqnsls](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ATqnsls),
[botovq](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Abotovq),
[cycloon](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Acycloon),
[legioner0](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Alegioner0),
[legna-namor](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Alegna-namor),
[macdems](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Amacdems),
[mathiasaerts](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Amathiasaerts),
[mcodato](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Amcodato),
[n-rodriguez](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3An-rodriguez),
[netphantm](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Anetphantm),
[nicolasberens](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Anicolasberens),
[oldelvet](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Aoldelvet),
[peteeckel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Apeteeckel),
[tbauriedel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Atbauriedel),
[w1ll-i-code](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Aw1ll-i-code),
[ymartin-ovh](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Aymartin-ovh)

### Breaking Changes

* API: Fix `/v1/objects/*` queries with `attrs` set to `[]` to return empty attributes instead of all of them. #8169
* Drop the undocumented `Checkable#process_check_result` and broken `System#track_parents` DSL functions. #10457

### Enhancements

* Gracefully disconnect all clients on shutdown and prevent from accepting new connections. #10460
* Icinga DB: Send data to Redis® exactly as they're stored in the database to avoid extra value-mapping routines by the Go daemon. #10452
* Add support for Icinga 2 dependencies in Icinga DB. #10290
* Take host/service reachability into account when computing its severity. #10399
* Rework the dependency cycle detection to efficiently handle large configs and provide better error messages. #10360
* Don't log next check timestamp in scientific notation. #10352
* Automatically remove child downtimes when removing parent downtime. #10345
* Ensure compatibility with Boost version up to v1.88. #10278 #10419
* Reject infinite performance data values. #10077
* Support `host_template` and `service_template` tags in `ElasticsearchWriter`. #10074
* Icinga DB: Support Redis® username authentication. #10102
* Cluster: Distribute host child objects (e.g. services, notifications, etc.) based on the host's name. #10161
* Icinga DB Check: Report an error if both Icinga DB instances are responsible in a HA setup. #10188
* Windows: upgrade build toolchain to Visual Studio 2022. #9747

### Bugfixes

* Core
  * Use `Checkable#check_timeout` also for rescheduling remote checks. #10443
  * Log: Don't unnecessarily buffer log messages that are going to be dropped anyway. #10177
  * Don't loose perfdata counter (`c`) unit when normalizing performance data for Icinga DB. #10432
  * Fix broken SELinux policy on Fedora ≥ 41 due to the new `/usr/sbin` to `/usr/bin` equivalence. #10429
  * Don't load `Notification` objects before `User` and `UserGroup` objects to allow them to be referenced in notifications. #10427
  * Ensure consistent DST handling across different platforms. #10422
  * Fix Icinga 2 doesn't generate a core dump when it crashes with SIGABRT. #10416
  * Don't process concurrent checks for the same checkable. #10372
  * Don't process check results after the checker and API listener have been stopped. #10397
  * Avoid zombie processes on plugin execution timeout on busy systems. #10375
  * Properly restore the notification object state on `Recovery` notification. #10361
  * Fix incorrectly dropped acknowledgement and recovery notifications. #10211
  * Prevent checks from always being rescheduled outside the configured `check_period`. #10070
  * Don't send reminder notifications after a `Custom` notification while `interval` is set to `0`. #7818
  * Reset all signal handlers of child processes to their defaults before starting a plugin. #8011
  * tests: Fix `FormatDateTime` test cases with invalid formats on macOS and all BSD-based systems. #10149
  * Mark move constructor and assignment operator in `String` as `noexcept` to allow optimizations. #10353 #10365
* Cluster and API
  * Fix an inverted condition in `ApiListener#IsHACluster()` that caused to always return `true` in a non-HA setup. #10417
  * Don't silently accept authenticated JSON-RPC connections with no valid endpoint. #10415
  * Sync `Notification#notified_problem_users` across the cluster to prevent lost recovery notifications. #10380
  * Remove superfluous `)` from a HTTP request log message. #9966
  * Disable TLS renegotiation (handshake on existing connection) on OpenBSD as well. #9943
  * Log also the underlying error message when a HTTP request is closed with `No data received` by Icinga 2. #9928
  * Fix a deadlock triggered by concurrent `/v1/actions/add-comment` and `/v1/actions/acknowledge-problem` requests on
    the same checkable, as well as a crash that might occur when running perfectly timed `/v1/actions/add-comment`
    and `/v1/actions/remove-comment` requests targeting the same comment. #9924
* Icinga DB
  * Fix missing acknowledgement and flapping history entries due to a number overflow. #10467
  * Send downtime `cancel_time` only if it is cancelled. #10379
  * Send only the necessary data to the `icinga:stats` Redis® stream. #10359
  * Remove a spin lock in `RedisConnection#Connect()` to avoid busy waiting. #10265
* Writers
  * Serialize all required metrics before queueing them to a `WorkQueue`. #10420
  * `OpenTsdbWriter`: Include checkable name in log messages to ease troubleshooting. #10009
  * `OpenTsdbWriter`: Don't send custom empty tags. #7928
  * `InfluxDBWriter`: Add missing closing quote in validation error message. #10174

### ITL

* Add `--maintenance_mode_state` (`$vmware_maintenance_mode_state`) argument to `vmware-esx-command` check command. #10435
* Add `-n` (`$load_procs_to_show$`) argument to `load` check command. #10426
* Add `--inode-perfdata` (`$disk_np_inode_perfdata$`) argument to `disk` check command. #10395
* Add `-r` (`$ssh_remote_version$`) and `-P` (`$ssh_remote_protocol$`) arguments to `ssh` check command. #10283
* Add `--unplugged_nics_state` (`$vmware_unplugged_nics_state$`) argument to `vmware-esx-soap-host-net` and `vmware-esx-soap-host-net-nic` check commands. #10261
* Add `-X` (`$proc_exclude_process$`) argument to `procs` check command. #10232
* Add `--dane` (`$ssl_cert_dane$`) argument to `ssl_cert` check command. #10196
* Fix `check_ssl_cert` deprecation warnings. #9758
* Fix `check_systemd` executable name add add all missing arguments. #10035
* Add `-M` (`$snmp_multiplier$` & `$snmpv3_multiplier$`) argument to `snmp` and `snmpv3` check commands. #9975
* Add `--continue-after-certificate` (`$http_certificate_continue$`) argument to `http` check command. #9974
* Add `--ignore-maximum-validity` (`$ssl_cert_ignore_maximum_validity$`) argument to `ssl_cert` check command. #10396
* Add `--maximum-validity` (`$ssl_cert_maximum_validity$`) argument to `ssl_cert` check command. #9881
* Add `--url` (`$ssl_cert_http_url$`) argument to `ssl_cert` check command. #9759
* Add `fuse.sshfs` and `fuse.*` (supported only by Monitoring Plugins) to the list of default disk exclude types. #9749
* Add `check_curl` check command. #9205
* Add the `--extra-opts` argument to various commands that support it. #8010

### Documentation

* Don't use `dnf config-manager` to configure Fedora repository and mention `icingadb-redis-selinux` package. #10479
* Update the outdated cold startup duration documentation to reflect the current behavior. #10446
* Indent second-level unordered lists with four spaces to correctly render them in the HTML documentation. #10441
* Add a reference to the check result state documentation from within the Advanced Topics section. #10421
* Improve the documentation of how to generate Icinga 2 core dumps. #10418
* Update Icinga 2 CLI output examples to match the current output. #10323
* Fix incorrect `ping_timeout` value in the `hostalive` check command documentation. #10069

### Code Quality

* Simplify deferred SSL shutdown in `ApiListener#NewClientHandlerInternal()`. #10301
* Don't unnecessarily shuffle configuration items during config load. #10008
* Sort config types by their load dependencies at namespace initialization time to save some round trips during config load. #10148
* Fix `livestatus` build error on macOS without unity builds. #10176
* Remove unused methods in `SharedObject` class. #10456
* Remove unused `ProcessingResult#NoCheckResult` enum value. #10444
* CMake: Drop all third-party cmake modules and use the ones shipped with CMake v3.8+. #10403
* CMake: Raise the minimum required policy to `3.8`. #10402 #10478
* CMake: Turn on `-Wsuggest-override` to warn about missing `override` specifiers. #10225 #10356
* Make `icinga::Empty` a constant to prevent accidental modifications. #10224
* Remove various unused methods in the `Registry` class. #10222
* Fix missing parent `std::atomic<T>` constructor call in our `Atomic<T>` wrapper class. #10215
* Drop unused `m_NextHeartbeat` member variable from `JsonRpcConnection`. #10208
* Enhance some of the validation error messages. #10201
* Don't allow `Type#GetLoadDependencies()` to return non-config object type dependencies. #10169
* Don't allow `Type#GetLoadDependencies()` to return a set of nullptr type dependencies. #10155
* Remove EOL distros detection code from `Utility::ReleaseHelper()` function. #10147
* Remove dead code in TLS `GetSignatureAlgorithm()` function. #9882
* Mark `Logger#GetSeverity()` as non-virtual to avoid unnecessary vtable lookups. #9851
* Remove unused `Stream#Peak()` method and unused `allow_partial` parameter from `Stream#Read()`. #9734 #9736
* Suppress compiler warnings in third-party libraries. #9732
* Fix various compiler warnings. #9731 #10442
* Reduce task function allocation overhead by using a per-thread created lambda in `WorkQueue`. #9575
* Remove redundant trailing empty lines and add missing newlines in some files. #7799

## 2.14.10 (2026-07-01)

This is a hotfix release that fixes a regression with the `Json.decode()` DSL function that was introduced in v2.14.9:
The addition of a second argument to the internal `JsonDecode()` function unintentionally leaked into the DSL as a
required argument. This version restores the old and intended behavior of `Json.decode()`.

### Changes

* Restore single-argument `Json.decode()` in the DSL (#10922)

## 2.14.9 (2026-06-29)

This release fixes some critical security vulnerabilities in Icinga 2. Users are advised to upgrade immediately, as two
of them allow an unauthenticated attacker to take over or crash the Icinga 2 process over the network. The other
security fixes only affect authenticated API users.

In addition, a new permission named `filter-expression` is introduced, which allows specifying if individual API users
are allowed to use DSL filter expressions in API queries. This allows further restricting some API users that don't need
this capability, for example, those only submitting individual check results. Due to the incompatibility of this change,
enforcement of this permission is opt-in until v2.17; see the
[upgrading docs](https://icinga.com/docs/icinga-2/latest/doc/16-upgrading-icinga-2/#upgrading-to-2-16-2) for details.

* Verify that certificate update requests come from an authorized endpoint ([GHSA-vj39-ww8j-vvx5](https://github.com/Icinga/icinga2/security/advisories/GHSA-vj39-ww8j-vvx5))
* Fix stack overflow due to deeply nested data structures ([GHSA-wh38-wg57-5w7g](https://github.com/Icinga/icinga2/security/advisories/GHSA-wh38-wg57-5w7g))
* Prevent arbitrary config injection on object creation via the API ([GHSA-jgqj-x5j9-vgcm](https://github.com/Icinga/icinga2/security/advisories/GHSA-jgqj-x5j9-vgcm))
* Add `filter-expression` permission to make it possible to prevent API users from using DSL filter expressions
* Windows: Update bundled OpenSSL to v3.0.21 (#10894)

## 2.14.8 (2026-01-29)

This security release fixes a problem in the Icinga 2 Windows MSI that did not
set proper permissions for `%ProgramData%\icinga2\var`. Additionally, it
updates the bundled OpenSSL library and includes changes to allow building with
newer toolchains.

* CVE-2026-24413: Fix permissions of `%ProgramData%\icinga2\var` on Windows.
* Windows: Update to OpenSSL 3.0.19. #10705
* Bump Boost shipped for Windows to v1.87. #10651
* Allow building with CMake 4. #10624

## 2.14.7 (2025-10-16)

This release fixes multiple security issues. Two of them allow authenticated
API users to learn restricted information or crash Icinga 2. A third issue
affects the scripts provided with Icinga 2 and allows a limited privilege
escalation where the Icinga 2 daemon user can trick root into sending signals to
arbitrary processes.

Note that one fix affects the logrotate configuration. If it was modified
locally, it might not be updated automatically by the package manager and
applying the changes manually is necessary. For details, please check the
[upgrading docs](https://icinga.com/docs/icinga-2/latest/doc/16-upgrading-icinga-2/#upgrading-to-2-15-1).

* CVE-2025-61907: Prevent API users from accessing variables and objects they
  don't have access to within filter expressions. This allowed authenticated
  API users to learn information they aren't allowed to access directly.
* CVE-2025-61908: Add a missing null pointer check while evaluating
  expressions. This allowed authenticated API users to crash the Icinga 2
  daemon by supplying a crafted filter expression.
* CVE-2025-61909: Don't send signals as root in safe-reload script and
  logrotate config. This allowed a limited privilege escalation from the Icinga
  2 service user to root. The scope is limited to sending SIGHUP or SIGUSR1 to
  an arbitrary process. #10597
* Windows: Update to OpenSSL 3.0.18. #10595
* Windows: upgrade build toolchain to Visual Studio 2022. #10594

## 2.14.6 (2025-05-27)

This security release fixes a critical issue in the certificate renewal logic in Icinga 2, which
might incorrectly renew an invalid certificate. However, only nodes with access to the Icinga CA
private key running with OpenSSL older than version 1.1.0 (released in 2016) are vulnerable. So this
typically affects Icinga 2 masters running on operating systems like RHEL 7 and Amazon Linux 2.

* CVE-2025-48057: Prevent invalid certificates from being renewed with OpenSSL older than v1.1.0.
* Fix use-after-free in VerifyCertificate(): Additionally, a use-after-free was found in the same
  function which is fixed as well, but in case it is triggered, typically only a wrong error code
  may be shown in a log message.
* Windows: Update OpenSSL shipped on Windows to v3.0.16.

## 2.14.5 (2025-02-06)

This release fixes a regression introduced in 2.14.4 that caused the `icinga2 node setup`,
`icinga2 node wizard`, and `icinga2 pki request` commands to fail if a certificate was
requested from a node that has to forward the request to another node for signing.
Additionally, it fixes a small bug in the performance data normalization and includes
various documentation improvements.

### Bug Fixes

* Don't close anonymous connections before sending the response for a certificate request #10337
* Performance data: Don't discard min/max values even if crit/warn thresholds aren’t given #10339
* Fix a failing test case on systems `time_t` is only 32 bits #10343

### Documentation

* Document the -X option for the mail-host-notification and mail-service-notification commands #10335
* Include Nagios in the migration docs #10324
* Remove RHEL 7 from installation instructions #10334
* Add instructions for installing build dependencies on Windows Server #10336

## 2.14.4 (2025-01-23)

This bugfix release is focused on improving HA cluster stability and easing
troubleshooting of issues in this area. It also addresses several crashes,
in the core itself and both in Icinga DB and IDO (numbers out of range).
In addition, it fixes several other issues such as lost notifications
or TimePeriod/ScheduledDowntime exceeding specified date ranges.

### Crash Fixes

* Invalid `DateTime#format()` arguments in config and console on Windows Server 2016 and older. #10112
* Downtime scheduling at runtime with non-existent trigger. #10049
* Object creation at runtime during Icinga DB initialization. #10151
* Comment on a service of a non-existent host. #9861

### Miscellaneous Bugfixes

* Lost notifications after recovery outside the notification time period. #10187
* TimePeriod/ScheduledDowntime exceeding specified date range. #9983 #10107
* Clean up failure for obsolete Downtimes. #10062
* ifw-api check command: use correct process-finished handler. #10140
* Email notification scripts: strip 0x0D (CR) for a proper Content-Type. #10061
* Several fixes and improvements of the code quality. #10066 #10214 #10254 #10263 #10264

### Cluster and API

* Sync runtime objects in topological order to honor their dependencies. #10000
* Make parallel config syncs more robust. #10013
* After object creation via API fails, clean up properly for the next try. #10111
* Close HTTPS connections properly to prevent leaks. #10005 #10006
* Reduce the number of cluster messages in memory at the same time. #9991 #9999 #10210
* Once a cluster connection shall be closed, stop communicating. #10213 #10221
* Remove unnecessary blocking of semaphores. #9992 #9994
* Reduce unnecessary cluster messages setting the next check time. #10011

### Icinga DB and IDO

* IDO: fix object relations after aborted synchronization. #10065
* Icinga DB, IDO: limit all timestamps to four year digits. #10058 #10059
* Icinga DB: limit execution\_time and latency (milliseconds) to database schema. #10060

### Troubleshooting

* Add `/v1/debug/malloc_info` which calls `malloc_info(3)` if available. #10015
* Add log messages about own network I/O. #9993 #10141 #10207
* Several fixes and improvements of log messages. #9997 #10021 #10209

### Windows

* Update OpenSSL shipped on Windows to v3.0.15. #10170
* Update Boost shipped on Windows to v1.86. #10114
* Support CMake v3.29. #10037
* Don't require to build .msi as admin. #10137
* Build configuration scripts: allow custom `$CMAKE_ARGS`. #10312

### Documentation

* Distributed Monitoring: add section "External CA/PKI". #9825
* Explain how to enable/disable debug logging on the fly. #9981
* Update supported OS versions and repository configuration. #10064 #10090 #10120 #10135 #10136 #10205
* Several fixes and improvements. #9960 #10050 #10071 #10156 #10194
* Replace broken links. #10115 #10118 #10282
* Fix typographical and similarly trivial errors. #9953 #9967 #10056 #10116 #10152 #10153 #10204

## 2.14.3 (2024-11-12)

This security release fixes a TLS certificate validation bypass.
Given the severity of that issue, users are advised to upgrade all nodes immediately.

* Security: fix TLS certificate validation bypass. CVE-2024-49369
* Security: update OpenSSL shipped on Windows to v3.0.15.
* Windows: sign MSI packages with a certificate the OS trusts by default.

## 2.14.2 (2024-01-18)

Version 2.14.2 is a hotfix release for master nodes that mainly
fixes excessive disk usage caused by the InfluxDB writers.

* InfluxDB: truncate timestamps to whole seconds to save disk space. #9969
* HttpServerConnection: log request processing time as well. #9970
* Update Boost shipped on Windows to v1.84. #9970

## 2.14.1 (2023-12-21)

Version 2.14.1 is a hotfix release for masters and satellites that mainly
prevents permanent disintegration of a whole cluster due to root CA expiry.

### Security

* Automatically renew own root CA and distribute it to all nodes. #9933
* Update OpenSSL shipped on Windows to v3.0.12. #9946
* Disable TLS renegotiation (handshake on existing connection). #9946

### Bugfixes

* Icinga DB feature: fix crash due to missing NULL pointer check. #9946
* Icinga DB feature: fix data written into Redis crashing the Go daemon. #9946
* GelfWriter: fix deadlock on stop/reload caused by busy queue. #9947
* Don't lose notifications due to too long output, truncate it. #9947

### Enhancements

* Discard duplicate problem notifications due to state filtering. #9932
* Speed up API filters targeting specific hosts/services to O(1). #9944
* POST /v1/console/\*: return HTTP 503 while Icinga is reloading. #9947
* Update Boost shipped on Windows to v1.83. #9946
* Documentation: several fixes and improvements. #9921

## 2.14.0 (2023-07-12)

[Issues and PRs](https://github.com/Icinga/icinga2/issues?q=is%3Aclosed+milestone%3A2.14.0)

### Notes

Upgrading docs: https://icinga.com/docs/icinga2/snapshot/doc/16-upgrading-icinga-2/#upgrading-to-2-14

Thanks to all contributors:
[atj](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Aatj),
[atwebm](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Aatwebm),
[cspeterson](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Acspeterson),
[cycloon](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Acycloon),
[DamianoChini](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3ADamianoChini),
[efuss](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Aefuss),
[fabieins](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Afabieins),
[haxtibal](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Ahaxtibal),
[jaapmarcus](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Ajaapmarcus),
[log1-c](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Alog1-c),
[lrupp](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Alrupp),
[maggu](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Amaggu),
[mcodato](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Amcodato),
[Napsty](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3ANapsty),
[orbison](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Aorbison),
[peteeckel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Apeteeckel),
[slalomsk8er](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Aslalomsk8er),
[stevie-sy](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3Astevie-sy),
[Tqnsls](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.14.0+author%3ATqnsls)

### Breaking Changes

* Remove CheckResultReader (which has been deprecated since v2.9). #9714
* Remove StatusDataWriter (which has been deprecated since v2.9). #9715
* ElasticsearchWriter: drop support for Elasticsearch < v7. #9812
* Consider a checkable unreachable once one Dependency fails.
  Previously all of them had to fail. (Consult the upgrading docs.) #8218
* API: reject config modifications during reload with HTTP status 503. #9445
* `icinga2 daemon`: to reduce config load time, write file needed by
  `icinga2 object list` only if `--dump-objects` is given. #9586 #9591
* Default email notification scripts: link to Icinga DB Web,
  not the monitoring module. (Consult the upgrading docs.) #9742 #9757
* API: for security reasons hide TicketSalt in /v1/variables. #7863

#### Icinga 2 Config DSL

* Disallow global variable modification after config commit start (i.e.
  inside `object/apply T "x" { ... }`) to reduce config load time. #9740
* Forbid Dependency cycles at config load time. #8389
* Allow only strings in the arrays Host#groups, Service#groups and
  User#groups. Needed for consistency, especially by the IDO. #9057
* Disallow empty object names. (They worked only partially anyway.) #9409

#### Windows Agent only

The official MSIs don't include the following features anymore.
They weren't intended, tested or needed on Windows and only waste build time,
bandwidth and disk space. Both new installations and upgrades are affected.

* ElasticsearchWriter #9704
* GelfWriter #9704
* GraphiteWriter #9704
* InfluxdbWriter and Influxdb2Writer #9704
* OpenTsdbWriter #9704
* PerfdataWriter #9704

We also don't ship the following files anymore.
(You can still obtain them manually.)

* `NSCP.msi` (NSClient++ installer) #9703
* [doc/](doc) (Icinga 2 markdown documentation) #9705

On the other hand MSIs are now 75% smaller than before.

### Enhancements

* Significantly reduce config load time of large setups.
  #8118 #9555 #9557 #9572 #9577 #9603 #9608 #9627 #9648 #9657 #9662
* Allow to connect dependencies via redundancy groups. Only parents within
  one group are assumed to provide redundancy for each other. #8218
* Built-in check command ifw-api, communicates directly with the Icinga for
  Windows REST API. (Doesn't spawn a PowerShell process for that.) #9062
* JournaldLogger which logs to systemd journal. #9000
* API: POST /v1/objects: allow to discard some previously modified attributes,
  i.e. to restore the config files' values. #9783
* ElasticsearchWriter: support Elasticsearch v8. #9812
* Support `$env.ENV_VAR_NAME$` macros. #8302
* Speed up Icinga DB config dump. #9524
* Default mail notification scripts: also print `$host.notes$` and `$service.notes$`. #9713
* Enable built-in OpenSSL DH parameters to allow DHE TLS ciphers. #9811
* Clean up global default TLS cipher list to improve security. #9809
* Influxdb(2)Writer: write more precise timestamps (nanoseconds). #9599

### Bugfixes

* Icinga DB feature: normalize several Redis data not to crash the Go daemon.
  #9772 #9775 #9792 #9793 #9794 #9805
* Fix parsing of perfdata across multiple lines in plugin output. #8969
* icinga check: fix last reload failure time. #8429 #9827
* Resolve macros inside custom vars of IcingaApplication. #9779
* SELinux: allow Icinga and its plugins to write to syslog. #9688
* ElasticsearchWriter: fix data buffer flush race condition during stop. #9810
* Trigger flexible downtimes not in the past if checkable is already down. #9726
* Send downtime expiration notifications immediately, not after up to a minute. #9726

#### Cluster

* Don't hang in timed out connection attempt. #9711 #9725
* Fix lost acknowledgements after re-connect. #9718
* cluster-zone check: don't complain about not connected
  other local zone members if there aren't any. #8595
* Allow agent to update executions delegated to it via /v1/actions/execute-command. #8627

#### API

* Disallow breaking inter-object relationships by changing
  relationship attributes at runtime, e.g. `Service#host_name`. #9407
* Correct several HTTP response status codes. #7958 #9354
* Correct Boolean field types previously reported by /v1/types as Number. #9514

#### CLI

* `icinga2 daemon`: fix -DConfiguration.Concurrency= flag
  which now allows to override the number of threads. #9643
* `icinga2 node wizard`: avoid unnecessary chown(2) which may fail and abort the wizard. #8744
* Correct several log messages. #8895 #8965 #9663

### ITL

Add `linux_netdev` check command. #9045

#### Command Argument Changes

* `disk`: don't pass -m (`disk_megabytes`) by default. #9642
* `disk`: pass -X fuse.portal (`disk_exclude_type`) by default. #9459
* `http`: support multiple -k (`http_header`) as array. #8574
* `icmp`: double defaults for -w (`icmp_wpl`) and -c (`icmp_cpl`). #9041
* `logfiles`: pass --winwarncrit (`logfiles_winwarncrit`) without argument. #9056
* `nwc_health`: pass SNMPv3-only args only when using SNMPv3. #9095
* `vmware-esx-dc-runtime-tools` and `vmware-esx-soap-vm-runtime-tools`:
  rename `--open-vm-tools` to `--open_vm_tools_ok` (`vmware_openvmtools`). #9611

#### New Command Arguments

| Command                            | Argument                     | Custom Variable                          | PR    |
|------------------------------------|------------------------------|------------------------------------------|-------|
| `disk`                             | `-P`                         | `disk_inode_perfdata`                    | #9494 |
| `esxi_hardware`                    | `--format`                   | `esxi_hardware_format`                   | #9435 |
| `esxi_hardware`                    | `--pretty`                   | `esxi_hardware_pretty`                   | #9435 |
| `http`                             | `--verify-host`              | `http_verify_host`                       | #8005 |
| `icingacli-businessprocess`        | `--ack-is-ok`                | `icingacli_businessprocess_ackisok`      | #9103 |
| `icingacli-businessprocess`        | `--blame`                    | `icingacli_businessprocess_blame`        | #9103 |
| `icingacli-businessprocess`        | `--colors`                   | `icingacli_businessprocess_colors`       | #9103 |
| `icingacli-businessprocess`        | `--downtime-is-ok`           | `icingacli_businessprocess_downtimeisok` | #9103 |
| `icingacli-businessprocess`        | `--root-cause`               | `icingacli_businessprocess_rootcause`    | #9103 |
| `mem`                              | `-a`                         | `mem_available`                          | #9385 |
| `mongodb`                          | `--disable_retry_writes`     | `mongodb_disableretrywrites`             | #9539 |
| `mongodb`                          | `--ssl-ca-cert-file`         | `mongodb_ssl_ca_cert_file`               | #9610 |
| `mysql`                            | `--extra-opts`               | `mysql_extra_opts`                       | #9197 |
| `nrpe`                             | `-3`                         | `nrpe_version_3`                         | #9296 |
| `nrpe`                             | `-D`                         | `nrpe_no_logging`                        | #9016 |
| `nrpe`                             | `-P`                         | `nrpe_payload_size`                      | #9032 |
| `pgsql`                            | `--extra-opts`               | `pgsql_extra_opts`                       | #9197 |
| `postgres`                         | `$PGCONTROLDATA` (env. var.) | `postgres_pgcontroldata`                 | #8929 |
| `postgres`                         | `--datadir`                  | `postgres_datadir`                       | #8924 |
| `postgres`                         | `--language`                 | `postgres_language`                      | #8924 |
| `postgres`                         | `--perflimit`                | `postgres_perflimit`                     | #8924 |
| `ssl_cert`                         | `--ignore-host-cn`           | `ssl_cert_ignore_host_cn`                | #9512 |
| `ssl_cert`                         | `--ignore-ocsp-errors`       | `ssl_cert_ignore_ocsp_errors`            | #9512 |
| `ssl_cert`                         | `--ignore-ocsp-timeout`      | `ssl_cert_ignore_ocsp_timeout`           | #9512 |
| `ssl_cert`                         | `--ignore-tls-renegotiation` | `ssl_cert_ignore_tls_renegotiation`      | #9042 |
| `ssl_cert`                         | `--proxy`                    | `ssl_cert_proxy`                         | #8927 |
| `tcp`                              | `--sni`                      | `tcp_sni`                                | #9347 |
| `vmware-esx-dc-runtime-tools`      | `--no_vm_tools_ok`           | `vmware_novmtools`                       | #9611 |
| `vmware-esx-soap-vm-runtime-tools` | `--no_vm_tools_ok`           | `vmware_novmtools`                       | #9611 |

### Miscellaneous

* Require GCC 7+ for building to enable C++17. #9133 #9485 #9489
* Require CMake v2.8.12+ for building.
  (Compatibility with older ones will be removed from a future CMake version.) #9706
* Repair config reload on OpenBSD by using waitpid(2), not a SIGCHLD handler. #9518
* Ignore SIGHUP in main process to allow `/etc/rc.d/icinga2 reload`
  sending it to all Icinga 2 processes on OpenBSD. #9622
* Fix crash in debug build on macOS when API and debug log are enabled. #9497
* Update Boost shipped on Windows to v1.82. #9761
* Update OpenSSL shipped on Windows to v3.0.9. #9787
* Update vendored https://github.com/nlohmann/json to v3.9.1. #9675
* Update vendored https://github.com/nemtrif/utfcpp to v3.2.3. #9683
* Documentation: several fixes and improvements.  #8954 #9741 #9763 #9767 #9769 #9777
* Several code quality improvements. #8815 #9106 #9250
  #9508 #9517 #9537 #9594 #9605 #9606 #9641 #9658 #9702 #9717 #9738

## 2.13.14 (2026-01-29)

This security release fixes a problem in the Icinga 2 Windows MSI that did not
set proper permissions for `%ProgramData%\icinga2\var`. Additionally, it
updates the bundled OpenSSL library and includes changes to allow building with
newer toolchains.

* CVE-2026-24413: Fix permissions of `%ProgramData%\icinga2\var` on Windows.
* Windows: Update to OpenSSL 3.0.19. #10704
* Allow building with CMake 4. #10625

## 2.13.13 (2025-10-16)

This release fixes multiple security issues. Two of them allow authenticated
API users to learn restricted information or crash Icinga 2. A third issue
affects the scripts provided with Icinga 2 and allows a limited privilege
escalation where the Icinga 2 daemon user can trick root into sending signals to
arbitrary processes.

Note that one fix affects the logrotate configuration. If it was modified
locally, it might not be updated automatically by the package manager and
applying the changes manually is necessary. For details, please check the
[upgrading docs](https://icinga.com/docs/icinga-2/latest/doc/16-upgrading-icinga-2/#upgrading-to-2-15-1).

* CVE-2025-61907: Prevent API users from accessing variables and objects they
  don't have access to within filter expressions. This allowed authenticated
  API users to learn information they aren't allowed to access directly. In this
  version this also applies to the TicketSalt variable which was previously
  accessible through the /v1/variables API in this version.
* CVE-2025-61908: Add a missing null pointer check while evaluating
  expressions. This allowed authenticated API users to crash the Icinga 2
  daemon by supplying a crafted filter expression.
* CVE-2025-61909: Don't send signals as root in safe-reload script and
  logrotate config. This allowed a limited privilege escalation from the Icinga
  2 service user to root. The scope is limited to sending SIGHUP or SIGUSR1 to
  an arbitrary process. #10601
* Windows: Update to OpenSSL 3.0.18. #10602
* Windows: upgrade build toolchain to Visual Studio 2022. #10598

## 2.13.12 (2025-05-27)

This security release fixes a critical issue in the certificate renewal logic in Icinga 2, which
might incorrectly renew an invalid certificate. However, only nodes with access to the Icinga CA
private key running with OpenSSL older than version 1.1.0 (released in 2016) are vulnerable. So this
typically affects Icinga 2 masters running on operating systems like RHEL 7 and Amazon Linux 2.

* CVE-2025-48057: Prevent invalid certificates from being renewed with OpenSSL older than v1.1.0.
* Fix use-after-free in VerifyCertificate(): Additionally, a use-after-free was found in the same
  function which is fixed as well, but in case it is triggered, typically only a wrong error code
  may be shown in a log message.
* Windows: Update OpenSSL shipped on Windows to v3.0.16.
* Fix a failing test case on systems `time_t` is only 32 bits #10344.

## 2.13.11 (2025-01-23)

This bugfix release addresses several crashes,
both in the core itself and in Icinga DB (numbers out of range).
In addition, it fixes several other issues such as lost notifications
or TimePeriod/ScheduledDowntime exceeding specified date ranges.

### Crash Fixes

* Invalid `DateTime#format()` arguments in config and console on Windows Server 2016 and older. #10165
* Downtime scheduling at runtime with non-existent trigger. #10127
* Object creation at runtime during Icinga DB initialization. #10164
* Icinga DB: several numbers out of database schema range. #10244

### Miscellaneous Bugfixes

* Lost notifications after recovery outside the notification time period. #10241
* TimePeriod/ScheduledDowntime exceeding specified date range. #10128 #10133
* Make parallel config syncs more robust. #10126
* Reduce unnecessary cluster messages setting the next check time. #10168

### Windows

* Update OpenSSL shipped on Windows to v3.0.15. #10175
* Update Boost shipped on Windows to v1.86. #10134
* Support CMake v3.29. #10087
* Don't require to build .msi as admin. #10305
* Build configuration scripts: allow custom `$CMAKE_ARGS`. #10315

## 2.13.10 (2024-11-12)

This security release fixes a TLS certificate validation bypass.
Given the severity of that issue, users are advised to upgrade all nodes immediately.

* Security: fix TLS certificate validation bypass. CVE-2024-49369
* Security: update OpenSSL shipped on Windows to v3.0.15.
* Windows: sign MSI packages with a certificate the OS trusts by default.

## 2.13.9 (2023-12-21)

Version 2.13.9 is a hotfix release for masters and satellites that mainly
prevents permanent disintegration of a whole cluster due to root CA expiry.

### Security

* Automatically renew own root CA and distribute it to all nodes. #9934
* Update OpenSSL shipped on Windows to v3.0.12. #9945
* Disable TLS renegotiation (handshake on existing connection). #9945

### Bugfixes

* Icinga DB feature: fix crash due to missing NULL pointer check. #9945
* Icinga DB feature: fix data written into Redis crashing the Go daemon. #9945

### Updates

* Update Boost shipped on Windows to v1.83. #9945

## 2.13.8 (2023-07-12)

Version 2.13.8 is a maintenance release that fixes some bugs,
especially Icinga DB crashes, and updates several bundled libraries.

### Bugfixes

* Icinga DB feature: normalize several Redis data not to crash the Go daemon. #9814
* Don't hang in timed out connection attempt. #9815
* Trigger flexible downtimes not in the past if checkable is already down. #9817
* ElasticsearchWriter: fix data buffer flush race condition during stop. #9818
* SELinux: allow Icinga and its plugins to write to syslog. #9819
* Fix lost acknowledgements after re-connect. #9820
* Fix parsing of perfdata across multiple lines in plugin output. #9821
* cluster-zone check: don't complain about not connected
  other local zone members if there aren't any. #9822

### Updates

* Update Boost shipped on Windows to v1.82. #9816
* Update OpenSSL shipped on Windows to v3.0.9. #9816
* Update vendored https://github.com/nlohmann/json to v3.9.1. #9816
* Update vendored https://github.com/nemtrif/utfcpp to v3.2.3. #9816

## 2.13.7 (2023-02-16)

This security release updates Boost and OpenSSL libraries bundled on Windows
and repairs broken SELinux policies. By the way it fixes several other bugs.

### Security

* Windows: update bundled OpenSSL to v1.1.1t. #9672

### Bugfixes

* SELinux: fix user and domain creation by explicitly setting the role. #9690
* Signal handlers: don't interrupt and break plugins spawning. #9682
* Icinga DB: take check\_period into account during overdue calculation. #9679
* Avoid corrupted files: use fsync(2)/FlushFileBuffers() everywhere. #9681
* Solaris: fix compile error. #9680

### Enhancements

* Windows: update bundled Boost to v1.81. #9678
* Documentation: several fixes and improvements. #9671

## 2.13.6 (2022-11-08)

The main focus of version 2.13.6 is improved performance of Icinga DB and apply rules.
Additionally, it includes bug fixes related to config loading and API permissions.

### Bugfixes

* Improve the throughput of the Icinga DB feature. #9550
* Multiple changes to speed up evaluation of apply rules. #9559 #9565 #9558
* Fix a possible crash on config loading related to `ignore_on_error`. #9560
* Check API user permission on objects returned by joins. #9561
* Windows: update bundled Boost and OpenSSL versions. #9562 #9567

## 2.13.5 (2022-08-11)

Version 2.13.5 is a maintenance release that fixes some bugs,
improves logging and updates the documentation as well as a bundled library.

### Bugfixes

* Ensure not to write an incomplete (i.e. corrupt) state file. #9467
* ITL: Render vars.apt\_upgrade=true as --upgrade, not --upgrade=true. #9458
* Icinga DB: Don't surprise (and crash) the Go daemon with config types it doesn't know. #9480
* Icinga DB: Add missing Redis SELinux policy. #9473
* Windows: Don't spam the event log with non-error startup messages. #9457
* Windows: Update bundled version of OpenSSL. #9460
* Docs: Update RHEL 8 installation instructions. #9482
* Docs: Add RHEL 9 installation instructions. #9482

## 2.13.4 (2022-06-30)

This release brings the final changes needed for the Icinga DB 1.0 release.
Addtionally, it includes some fixes and a performance improvement resulting
in faster config validation and reload times.

### Bugfixes

* Fix a race-condition involving object attribute updates that could result in a crash. #9395
* After a host recovered, only send problem notifications for services after
  they have been rechecked afterwards to avoid false notifications. #9348
* Speed up config validation by avoiding redundant serialization of objects. #9400
* Add a `separator` attribute to allow using arguments like `--key=value` as required by some
  check plugins. This fixes the `--upgrade` and `--dist-upgrade` arguments of `check_apt`. #9397
* Windows: Update bundled versions of Boost and OpenSSL. #9360 #9415

### Icinga DB

* Add an `icingadb` CheckCommand to allow checking if Icinga DB is healthy. #9417
* Update documentation related to Icinga DB. #9423
* Fix a bug where history events could miss the environment ID. #9396
* Properly serialize attributes of command arguments when explicitly set to `null`. #9398
* Rename some attributes to make the database schema more consistent. #9399 #9419 #9421
* Make the error message more helpful if the API isn't set up #9418

## 2.13.3 (2022-04-14)

This version includes bugfixes for many features of Icinga 2, including fixes for multiple crashes.
It also includes a number of fixes and improvements for Icinga DB.

### API

* The /v1/config/stages endpoint now immediately rejects parallel config updates
  instead of accepting and then later failing to verify and activate them. #9328

### Certificates

* The lifetime of newly issued node certificates is reduced from 15 years to 397 days. #9337
* Compare cluster certificate tickets in constant time. #9333

### Notifications

* Fix a crash that could happen while sending notifications shortly after Icinga 2 started. #9124
* Fix missing or redundant notifications after certain combinations of state changes happened
  while notifications were suppressed, for example during a downtime. #9285

### Checks and Commands

* Fix a deadlock when processing check results for checkables with dependencies. #9228
* Fix a message routing loop that can happen for event commands that are executed within a zone
  using `command_endpoint` that resulted in excessive execution of the command. #9260

### Downtimes

* Fix scheduling of downtimes for all services on child hosts. #9159
* Creating fixed downtimes starting immediately now send a corresponding notification. #9158
* Fix some issues involving daylight saving time changes that could result in an hour missing
  from scheduled downtimes. This fix applies to time periods as well. #9238

### Configuration

* Fix the evaluation order of default templates when used in combination with apply rules.
  Now default templates are imported first as stated in the documentation and
  as it already happens for objects defined without using apply. #9290

### IDO

* Fix an issue where contacts were not written correctly to the notification history
  if multiple IDO instances are active on the same node. #9242
* Explicitly set the encoding for MySQL connections as a workaround for changed defaults
  in Debian bullseye. #9312
* Ship a MySQL schema upgrade that fixes inconsistent version information in the
  full schema file and upgrade files which could have resulted in inaccurate reports
  of an outdated schema version. #9139

### Performance Data Writers

* Fix a race condition in the InfluxDB Writers that could result in a crash. #9237
* Fix a log message where Influxdb2Writer logged as InfluxdbWriter. #9315
* All writers no longer send metrics multiple times after HA failovers. #9322

### Build

* Fix the order of linker flags to fix builds on some ARM platforms. #9164
* Fix a regression introduced in 2.13.2 preventing non-unity builds. #9094
* Fix an issue when building within an unrelated Git repository,
  version information from that repository could incorrectly be used for Icinga 2. #9155
* Windows: Update bundled Boost version to 1.78.0 and OpenSSL to 1.1.1n #9325

### Internals

* Fix some race conditions due to missing synchronization.
  These race conditions should not have caused any practical problems
  besides incorrect numbers in debug log message. #9306
* Move the startup.log and status files created when validating incoming cluster config updates
  to /var/lib/icinga2/api and always keep the last failed startup.log to ease debugging. #9335

### Icinga DB

* The `severity` attribute was updated to match the sort order Icinga Web 2 uses for the IDO.
  The documentation for this attribute was already incorrect before and was updated
  to reflect the current functionality. #9239 #9240
* Fix the `is_sticky` attribute for comments. #9303
* Fix missing updates of `is_reachable` and `severity` in the state tables. #9241
* Removing an acknowledgement no longer incorrectly writes comment history. #9302
* Fix multiple issues so that in an HA zone, both nodes now write consistent history. #9157 #9182 #9190
* Fix that history events are no longer written when state information should be updated. #9252
* Fix an issue where incomplete comment history events were generated. #9301
  **Note:** when removing comments using the API, the dedicated remove-comment action
  should be used instead of the objects API, otherwise no history event will be generated.
* Fix handling of non-integer values for the order attribute of command arguments. #9181
  **Note:** You should only specify integer values for order, other values are converted to integer
  before use so using fractional numbers there has no effect.
* Add a dependency on icingadb-redis.service to the systemd service file
  so that Redis is stopped after Icinga 2. #9304
* Buffer history events in memory when the Redis connection is lost. #9271
* Add the previous soft state to the state tables. #9214
* Add missing locking on object runtime updates. #9300

## 2.13.2 (2021-11-12)

This version only includes changes needed for the release of Icinga DB 1.0.0 RC2 and doesn't include any other bugfixes or features.

### Icinga DB

* Prefix command_id with command type #9085
* Decouple environment from Icinga 2 Environment constant #9082
* Make icinga:history:stream:*#event_id deterministic #9076
* Add downtime.duration & service_state.host_id to Redis #9084
* Sync checkables along with their states first #9081
* Flush both buffered states and state checksums on initial dump #9079
* Introduce icinga:history:stream:downtime#scheduled_by #9080
* Actually write parent to parent_id of zones #9078
* Set value in milliseconds for program_start in stats/heartbeat #9077
* Clean up vanished objects from icinga:checksum:*:state #9074
* Remove usernotification history stream #9073
* Write IDs of notified users into notification history stream #9071
* Make CheckResult#scheduling_source available to Icinga DB #9072
* Stream runtime state updates only to icinga:runtime:state #9068
* Publish Redis schema version via XADD icinga:schema #9069
* Don't include checkable types in history IDs #9070
* Remove unused Redis key 'icinga:zone:parent' #9075
* Make sure object relationships are handled correctly during runtime updates #9089
* Only log queries at debug level #9088

## 2.13.1 (2021-08-19)

The main focus of this version is a security vulnerability in the TLS certificate verification of our metrics writers ElasticsearchWriter, GelfWriter, InfluxdbWriter and Influxdb2Writer.

Version 2.13.1 also fixes two issues indroduced with the 2.13.0 release.

### Security

* Add TLS server certificate validation to ElasticsearchWriter, GelfWriter, InfluxdbWriter and Influxdb2Writer ([GHSA-cxfm-8j5v-5qr2](https://github.com/Icinga/icinga2/security/advisories/GHSA-cxfm-8j5v-5qr2))

Depending on your setup, manual intervention beyond installing the new versions
may be required, so please read the more detailed information in the
[release blog post](https://icinga.com/blog/2021/08/19/icinga-2-13-1-security-release//)
carefully

### Bugfixes

* IDO PgSQL: Fix a string quoting regression introduced in 2.13.0 #8958
* ApiListener: Automatically fall back to IPv4 in default configuration on systems without IPv6 support #8961

## 2.13.0 (2021-08-03)

[Issues and PRs](https://github.com/Icinga/icinga2/issues?utf8=%E2%9C%93&q=milestone%3A2.13.0)

### Notes

Upgrading docs: https://icinga.com/docs/icinga2/snapshot/doc/16-upgrading-icinga-2/#upgrading-to-v213

Thanks to all contributors:
[andygrunwald](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aandygrunwald+milestone%3A2.13.0),
[BausPhi](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ABausPhi+milestone%3A2.13.0),
[bebehei](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Abebehei+milestone%3A2.13.0),
[Bobobo-bo-Bo-bobo](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ABobobo-bo-Bo-bobo+milestone%3A2.13.0),
[efuss](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aefuss+milestone%3A2.13.0),
[froehl](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Afroehl+milestone%3A2.13.0),
[iustin](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aiustin+milestone%3A2.13.0),
[JochenFriedrich](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AJochenFriedrich+milestone%3A2.13.0),
[leeclemens](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aleeclemens+milestone%3A2.13.0),
[log1-c](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Alog1-c+milestone%3A2.13.0),
[lyknode](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Alyknode+milestone%3A2.13.0),
[m41kc0d3](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Am41kc0d3+milestone%3A2.13.0),
[MarcusCaepio](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AMarcusCaepio+milestone%3A2.13.0),
[mathiasaerts](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amathiasaerts+milestone%3A2.13.0),
[mcktr](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amcktr+milestone%3A2.13.0),
[MEschenbacher](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AMEschenbacher+milestone%3A2.13.0),
[Napsty](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ANapsty+milestone%3A2.13.0),
[netson](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Anetson+milestone%3A2.13.0),
[pdolinic](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Apdolinic+milestone%3A2.13.0),
[Ragnra](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ARagnra+milestone%3A2.13.0),
[RincewindsHat](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ARincewindsHat+milestone%3A2.13.0),
[sbraz](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Asbraz+milestone%3A2.13.0),
[sni](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Asni+milestone%3A2.13.0),
[sysadt](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Asysadt+milestone%3A2.13.0),
[XnS](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AXnS+milestone%3A2.13.0),
[yayayayaka](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Ayayayayaka+milestone%3A2.13.0)

### Enhancements

* Core
  * PerfdataValue: Add units of measurement #7871
  * Flapping: Allow to ignore states in flapping detection #8600
* Cluster
  * Display log message if two nodes run on incompatible versions #8088
* API
  * /v1/actions/remove-downtime: Also remove child downtimes #8913
  * Add API endpoint: /v1/actions/execute-command #8040
  * /v1/actions/add-comment: Add param expiry #8035
  * API-Event StateChange & CheckResult: Add acknowledgement and downtime_depth #7736
  * Implement new API events ObjectCreated, ObjectDeleted and ObjectModified #8083
  * Implement scheduling_endpoint attribute to checkable #6326
* Windows
  * Add support for Windows Event Log and write early log messages to it #8710
* IDO
  * MySQL: support larger host and service names #8425
* ITL
  * Add -S parameter for esxi_hardware ITL #8814
  * Add CheckCommands for Thola #8683
  * Add option ignore-sct for ssl_cert to ITL #8625
  * Improve check_dns command when used with monitoring-plugins 2.3 #8589
  * Add parameter -f to snmp-process #8569
  * Add systemd CheckCommand #8568
  * Add new options for ipmi-sensor #8498
  * check_snmp_int: support -a #8003
  * check_fail2ban: Add parameter fail2ban_jail to monitor a specific jail only #7960
  * check_nrpe: Add parameters needed for PKI usage #7907
* Metrics
  * Support InfluxDB 2.0 #8719
  * Add support for InfluxDB basic auth #8314
* Docs
  * Add info about ongoing support for IDO #8446
  * Improve instructions on how to setup a Windows dev env #8400
  * Improve instructions for installing wixtoolset on Windows #8397
  * Add section about usage of satellites #8458
  * Document command for verifying the parent node's certificate #8221
  * Clarify TimePeriod/ScheduledDowntime time zone handling #8001
* Misc
  * Support TLS 1.3 #8718
  * Livestatus: append app name to program_version #7931
  * sd_notify() systemd about what we're doing right now #7874

### Bugfixes

* Core
  * Fix state not being UNKNOWN after process timeout #8937
  * Set a default severity for loggers #8846
  * Fix integer overflow when converting large unsigned integers to string #8742
  * StartUnixWorker(): don't exit() on fork() failure #8427
  * Fix perf data parser not recognizing scientific notation #8492
  * Close FDs based on /proc/self/fd #8442
  * Fix check source getting overwritten on passive check result #8158
  * Clean up temp files #8157
  * Improve perf data parser to allow for special output (e.g. ASCII tables) #8008
  * On check timeout first send SIGTERM #7918
* Cluster
  * Drop passive check results for unreachable hosts/services #8267
  * Fix state timestamps set by the same check result differing across nodes #8101
* API
  * Do not override status codes that are not 200 #8532
  * Update the SSL context after accepting incoming connections #8515
  * Allow to create API User with password #8321
  * Send Content-Type as API response header too #8108
  * Display a correct status when removing a downtime #8104
  * Display log message if a permission error occurs #8087
  * Replace broken package name validation regex #8825 #8946
* Windows
  * Fix Windows command escape for \" #7092
* Notifications/Downtimes
  * Fix no re-notification for non OK state changes with time delay #8562
  * TimePeriod/ScheduledDowntime: Improve DST handling #8921
  * Don't send notifications while suppressed by checkable #8513
  * Fix a crash while removing a downtime from a disappeared checkable #8229
* IDO
  * Update program status on stop #8730
  * Also mark objects inactive in memory on object deactivation #8626
  * IdoCheckTask: Don't override checkable critical with warn state #8613
  * PostgreSQL: Do not set standard_conforming_strings to off #8123
* ITL
  * check_http: Fix assignment of check_adress blocking check by hostname #8109
  * check_mysql: Don't set -H if -s is given #8020
* Metrics
  * OpenTSDB-Writer: Remove incorrect space causing missing tag error #8245

## 2.12.12 (2025-05-27)

This security release fixes a critical issue in the certificate renewal logic in Icinga 2, which
might incorrectly renew an invalid certificate. However, only nodes with access to the Icinga CA
private key running with OpenSSL older than version 1.1.0 (released in 2016) are vulnerable. So this
typically affects Icinga 2 masters running on operating systems like RHEL 7 and Amazon Linux 2.

* CVE-2025-48057: Prevent invalid certificates from being renewed with OpenSSL older than v1.1.0.
* Fix use-after-free in VerifyCertificate(): Additionally, a use-after-free was found in the same
  function which is fixed as well, but in case it is triggered, typically only a wrong error code
  may be shown in a log message.
* Windows: Update OpenSSL shipped on Windows to v3.0.16. #10455
* Windows: Fix unknown ctest(1) `--log_level` argument. #10453
* Don't require to build .msi as admin. #10454

## 2.12.11 (2024-11-12)

This security release fixes a TLS certificate validation bypass.
Given the severity of that issue, users are advised to upgrade all nodes immediately.

* Security: fix TLS certificate validation bypass. CVE-2024-49369
* Security: update OpenSSL shipped on Windows to v3.0.15.
* Windows: sign MSI packages with a certificate the OS trusts by default.

## 2.12.10 (2023-02-16)

This security release updates Boost and OpenSSL libraries bundled on Windows
and repairs broken SELinux policies.

### Security

* Windows: update bundled OpenSSL to v1.1.1t. #9686

### Bugfixes

* SELinux: fix user and domain creation by explicitly setting the role. #9689

### Enhancements

* Windows: update bundled Boost to v1.81. #9686

## 2.12.9 (2022-06-30)

This release includes some fixes and a performance improvement
resulting in faster config validation and reload times.

### Bugfixes

* Fix a race-condition involving object attribute updates that could result in a crash. #9394
* Speed up config validation by avoiding redundant serialization of objects. #9401
* Windows: Update bundled version OpenSSL. #9414

## 2.12.8 (2022-04-28)

In the previous version 2.12.7, one bugfix was applied incorrectly. This is fixed by this release.

### Downtimes

* Scheduling downtimes for all children and all services no longer fails due to an object name conflict.
  Only version 2.11.7 was affected by this issue. #9349

### Windows

* Update the bundled version of Boost to 1.79.0. #9359

## 2.12.7 (2022-04-14)

This version includes bugfixes for many features of Icinga 2, including fixes for multiple crashes.

### API

* The /v1/config/stages endpoint now immediately rejects parallel config updates
  instead of accepting and then later failing to verify and activate them. #9326

### Certificates

* The lifetime of newly issued node certificates is reduced from 15 years to 397 days. #9338
* Compare cluster certificate tickets in constant time. #9334

### Notifications

* Fix a crash that could happen while sending notifications shortly after Icinga 2 started. #9125

### Checks and Commands

* Fix a deadlock when processing check results for checkables with dependencies. #9229
* Fix a message routing loop that can happen for event commands that are executed within a zone
  using `command_endpoint` that resulted in excessive execution of the command. #9261

### Downtimes

* Fix scheduling of downtimes for all services on child hosts. #9184
* Creating fixed downtimes starting immediately now send a corresponding notification. #9185
* Fix some issues involving daylight saving time changes that could result in an hour missing
  from scheduled downtimes. This fix applies to time periods as well. #9246
* Fix a bug where downtimes on the day after a daylight saving time change could be off by an hour. #9253

### Configuration

* Fix the evaluation order of default templates when used in combination with apply rules.
  Now default templates are imported first as stated in the documentation and
  as it already happens for objects defined without using apply. #9294

### IDO

* Fix an issue where contacts were not written correctly to the notification history
  if multiple IDO instances are active on the same node. #9243
* Explicitly set the encoding for MySQL connections as a workaround for changed defaults
  in Debian bullseye. #9313
* Ship a MySQL schema upgrade that fixes inconsistent version information in the
  full schema file and upgrade files which could have resulted in inaccurate reports
  of an outdated schema version. #9140

### Performance Data Writers

* Fix a race condition in the InfluxDB Writers that could result in a crash. #9247
* All writers no longer send metrics multiple times after HA failovers. #9329

### Build

* Fix the order of linker flags to fix builds on some ARM platforms. #9167
* Fix an issue when building within an unrelated Git repository,
  version information from that repository could incorrectly be used for Icinga 2. #9156
* Windows: Update bundled Boost version to 1.78.0 and OpenSSL to 1.1.1n #9320 #9327

### Internals

* Fix some race conditions due to missing synchronization.
  These race conditions should not have caused any practical problems
  besides incorrect numbers in debug log message. #9305
* Move the startup.log and status files created when validating incoming cluster config updates
  to /var/lib/icinga2/api and always keep the last failed startup.log to ease debugging. #9336
* Remove outdated and incorrect of the severity attributes #9244

## 2.12.6 (2021-08-19)

The main focus of these versions is a security vulnerability in the TLS certificate verification of our metrics writers ElasticsearchWriter, GelfWriter and InfluxdbWriter.

### Security

* Add TLS server certificate validation to ElasticsearchWriter, GelfWriter and InfluxdbWriter

Depending on your setup, manual intervention beyond installing the new versions
may be required, so please read the more detailed information in the
[release blog post](https://icinga.com/blog/2021/08/19/icinga-2-13-1-security-release//)
carefully

## 2.12.5 (2021-07-15)

Version 2.12.5 fixes two security vulnerabilities that may lead to privilege
escalation for authenticated API users. Other improvements include several
bugfixes related to downtimes, downtime notifications, and more reliable
connection handling.

### Security

* Don't expose the PKI ticket salt via the API. This may lead to privilege
  escalation for authenticated API users by them being able to request
  certificates for other identities (CVE-2021-32739)
* Don't expose IdoMysqlConnection, IdoPgsqlConnection, IcingaDB, and
  ElasticsearchWriter passwords via the API (CVE-2021-32743)
* Windows: Update bundled OpenSSL to version 1.1.1k #8885

Depending on your setup, manual intervention beyond installing the new versions
may be required, so please read the more detailed information in the
[release blog post](https://icinga.com/blog/2021/07/15/releasing-icinga-2-12-5-and-2-11-10/)
carefully.

### Bugfixes

* Don't send downtime end notification if downtime hasn't started #8877
* Don't let a failed downtime creation block the others #8863
* Support downtimes and comments for checkables with long names #8864
* Trigger fixed downtimes immediately if the current time matches
  (instead of waiting for the timer) #8889
* Add configurable timeout for full connection handshake #8866

### Enhancements

* Replace existing downtimes on ScheduledDowntime change #8879
* Improve crashlog #8865

## 2.12.4 (2021-05-27)

Version 2.12.4 is a maintenance release that fixes some crashes, improves error handling
and adds compatibility for systems coming with newer Boost versions.

### Bugfixes

* Fix a crash when notification objects are deleted using the API #8782
* Fix crashes that might occur during downtime scheduling if host or downtime objects are deleted using the API #8785
* Fix an issue where notifications may incorrectly be skipped after a downtime ends #8775
* Don't send reminder notification if the notification is still suppressed by a time period #8808
* Fix an issue where attempting to create a duplicate object using the API
  might result in the original object being deleted #8787
* IDO: prioritize program status updates #8809
* Improve exceptions handling, including a fix for an uncaught exception on Windows #8777
* Retry file rename operations on Windows to avoid intermittent locking issues #8771

### Enhancements

* Support Boost 1.74 (Ubuntu 21.04, Fedora 34) #8792

## 2.12.3 (2020-12-15)

Version 2.12.3 resolves a security vulnerability with revoked certificates being
renewed automatically ignoring the CRL.

This version also resolves issues with high load on Windows regarding the config sync
and not being able to disable/enable Icinga 2 features over the API.

### Security

* Fix that revoked certificates due for renewal will automatically be renewed ignoring the CRL (CVE-2020-29663)

When a CRL is specified in the ApiListener configuration, Icinga 2 only used it
when connections were established so far, but not when a certificate is requested.
This allows a node to automatically renew a revoked certificate if it meets the
other conditions for auto renewal (issued before 2017 or expires in less than 30 days).

Because Icinga 2 currently (v2.12.3 and earlier) uses a validity duration of 15 years,
this only affects setups with external certificate signing and revoked certificates
that expire in less then 30 days.

### Bugfixes

* Improve config sync locking - resolves high load issues on Windows #8511
* Fix runtime config updates being ignored for objects without zone #8549
* Use proper buffer size for OpenSSL error messages #8542

### Enhancements

* On checkable recovery: re-check children that have a problem #8506

## 2.12.2 (2020-12-01)

Version 2.12.2 fixes several issues to improve the reliability of the cluster functionality.

### Bugfixes

* Fix a connection leak with misconfigured agents #8483
* Properly sync changes of config objects in global zones done via the API #8474 #8470
* Prevent other clients from being disconnected when replaying the cluster log takes very long #8496
* Avoid duplicate connections between endpoints #8465
* Ignore incoming config object updates for unknown zones #8461
* Check timestamps before removing files in config sync #8495

### Enhancements

* Include HTTP status codes in log #8467

## 2.12.1 (2020-10-15)

Version 2.12.1 fixes several crashes, deadlocks and excessive check latencies.
It also addresses several bugs regarding IDO, API, notifications and checks.

### Bugfixes

* Core
  * Fix crashes during config update #8348 #8345
  * Fix crash while removing a downtime #8228
  * Ensure the daemon doesn't get killed by logrotate #8170
  * Fix hangup during shutdown #8211
  * Fix a deadlock in Icinga DB #8168
  * Clean up zombie processes during reload #8376
  * Reduce check latency #8276
* IDO
  * Prevent unnecessary IDO updates #8327 #8320
  * Commit IDO MySQL transactions earlier #8349
  * Make sure to insert IDO program status #8330
  * Improve IDO queue stats logging #8271 #8328 #8379
* Misc
  * Ensure API connections are closed properly #8293
  * Prevent unnecessary notifications #8299
  * Don't skip null values of command arguments #8174
  * Fix Windows .exe version #8234
  * Reset Icinga check warning after successful config update #8189

## 2.12.0 (2020-08-05)

[Issue and PRs](https://github.com/Icinga/icinga2/issues?utf8=%E2%9C%93&q=milestone%3A2.12.0)

### Notes

Upgrading docs: https://icinga.com/docs/icinga2/snapshot/doc/16-upgrading-icinga-2/#upgrading-to-v212

Thanks to all contributors:
[Ant1x](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AAnt1x+milestone%3A2.12.0),
[azthec](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aazthec+milestone%3A2.12.0),
[baurmatt](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Abaurmatt+milestone%3A2.12.0),
[bootc](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Abootc+milestone%3A2.12.0),
[Foxeronie](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AFoxeronie+milestone%3A2.12.0),
[ggzengel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aggzengel+milestone%3A2.12.0),
[islander](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aislander+milestone%3A2.12.0),
[joni1993](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Ajoni1993+milestone%3A2.12.0),
[KAMI911](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AKAMI911+milestone%3A2.12.0),
[mcktr](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amcktr+milestone%3A2.12.0),
[MichalMMac](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AMichalMMac+milestone%3A2.12.0),
[sebastic](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Asebastic+milestone%3A2.12.0),
[sthen](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Asthen+milestone%3A2.12.0),
[unki](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aunki+milestone%3A2.12.0),
[vigiroux](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Avigiroux+milestone%3A2.12.0),
[wopfel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Awopfel+milestone%3A2.12.0)

### Breaking changes

* Deprecate Windows plugins in favor of our
  [PowerShell plugins](https://github.com/Icinga/icinga-powershell-plugins) #8071
* Deprecate Livestatus #8051
* Refuse acknowledging an already acknowledged checkable #7695
* Config lexer: complain on EOF in heredocs, i.e. `{{{abc<EOF>` #7541

### Enhancements

* Core
  * Implement new database backend: Icinga DB #7571
  * Re-send notifications previously suppressed by their time periods #7816
* API
  * Host/Service: Add `acknowledgement_last_change` and `next_update` attributes #7881 #7534
  * Improve error message for POST queries #7681
  * /v1/actions/remove-comment: let users specify themselves #7646
  * /v1/actions/remove-downtime: let users specify themselves #7645
  * /v1/config/stages: Add 'activate' parameter #7535
* CLI
  * Add `pki verify` command for better TLS certificate troubleshooting #7843
  * Add OpenSSL version to 'Build' section in --version #7833
  * Improve experience with 'Node Setup for Agents/Satellite' #7835
* DSL
  * Add `get_template()` and `get_templates()` #7632
  * `MacroProcessor::ResolveArguments()`: skip null argument values #7567
  * Fix crash due to dependency apply rule with `ignore_on_error` and non-existing parent #7538
  * Introduce ternary operator (`x ? y : z`) #7442
  * LegacyTimePeriod: support specifying seconds #7439
  * Add support for Lambda Closures (`() use(x) => x and () use(x) => { return x }`) #7417
* ITL
  * Add notemp parameter to oracle health #7748
  * Add extended checks options to snmp-interface command template #7602
  * Add file age check for Windows command definition #7540
* Docs
  * Development: Update debugging instructions #7867
  * Add new API clients #7859
  * Clarify CRITICAL vs. UNKNOWN #7665
  * Explicitly explain how to disable freshness checks #7664
  * Update installation for RHEL/CentOS 8 and SLES 15 #7640
  * Add Powershell example to validate the certificate #7603
* Misc
  * Don't send `event::Heartbeat` to unauthenticated peers #7747
  * OpenTsdbWriter: Add custom tag support #7357

### Bugfixes

* Core
  * Fix JSON-RPC crashes #7532 #7737
  * Fix zone definitions in zones #7546
  * Fix deadlock during start on OpenBSD #7739
  * Consider PENDING not a problem #7685
  * Fix zombie processes after reload #7606
  * Don't wait for checks to finish during reload #7894
* Cluster
  * Fix segfault during heartbeat timeout with clients not yet signed #7970
  * Make the config update process mutually exclusive (Prevents file system race conditions) #7936
  * Fix `check_timeout` not being forwarded to agent command endpoints #7861
  * Config sync: Use a more friendly message when configs are equal and don't need a reload #7811
  * Fix open connections when agent waits for CA approval #7686
  * Consider a JsonRpcConnection alive on a single byte of TLS payload, not only on a whole message #7836
  * Send JsonRpcConnection heartbeat every 20s instead of 10s #8102
  * Use JsonRpcConnection heartbeat only to update connection liveness (m\_Seen) #8142
  * Fix TLS context not being updated on signed certificate messages on agents #7654
* API
  * Close connections w/o successful TLS handshakes after 10s #7809
  * Handle permission exceptions soon enough, returning 404 #7528
* SELinux
  * Fix safe-reload #7858
  * Allow direct SMTP notifications #7749
* Windows
  * Terminate check processes with UNKNOWN state on timeout #7788
  * Ensure that log replay files are properly renamed #7767
* Metrics
  * Graphite/OpenTSDB: Ensure that reconnect failure is detected #7765
  * Always send 0 as value for thresholds #7696
* Scripts
  * Fix notification scripts to stay compatible with Dash #7706
  * Fix bash line continuation in mail-host-notification.sh #7701
  * Fix notification scripts string comparison #7647
  * Service and host mail-notifications: Add line-breaks to very long output #6822
  * Set correct UTF-8 email subject header (RFC1342) #6369
* Misc
  * DSL: Fix segfault due to passing null as custom function to `Array#{sort,map,reduce,filter,any,all}()` #8053
  * CLI: `pki save-cert`: allow to specify --key and --cert for backwards compatibility #7995
  * Catch exception when trusted cert is not readable during node setup on agent/satellite #7838
  * CheckCommand ssl: Fix wrong parameter `-N` #7741
  * Code quality fixes
  * Small documentation fixes

## 2.12.0 RC1 (2020-03-13)

[Issue and PRs](https://github.com/Icinga/icinga2/issues?utf8=%E2%9C%93&q=milestone%3A2.12.0)

### Notes

Upgrading docs: https://icinga.com/docs/icinga2/snapshot/doc/16-upgrading-icinga-2/#upgrading-to-v212

Thanks to all contributors:
[Ant1x](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AAnt1x+milestone%3A2.12.0),
[azthec](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aazthec+milestone%3A2.12.0),
[baurmatt](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Abaurmatt+milestone%3A2.12.0),
[bootc](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Abootc+milestone%3A2.12.0),
[Foxeronie](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AFoxeronie+milestone%3A2.12.0),
[ggzengel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aggzengel+milestone%3A2.12.0),
[islander](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aislander+milestone%3A2.12.0),
[joni1993](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Ajoni1993+milestone%3A2.12.0),
[KAMI911](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AKAMI911+milestone%3A2.12.0),
[mcktr](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amcktr+milestone%3A2.12.0),
[MichalMMac](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AMichalMMac+milestone%3A2.12.0),
[sebastic](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Asebastic+milestone%3A2.12.0),
[sthen](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Asthen+milestone%3A2.12.0),
[unki](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aunki+milestone%3A2.12.0),
[vigiroux](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Avigiroux+milestone%3A2.12.0),
[wopfel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Awopfel+milestone%3A2.12.0),

### Breaking changes

* Refuse acknowledging an already acknowledged checkable #7695
* Config lexer: complain on EOF in heredocs, i.e. `{{{abc<EOF>` #7541

### Enhancements

* Core
  * Implement new database backend: Icinga DB #7571
* API
  * Host/Service: Add `acknowledgement_last_change` and `next_update` attributes #7881 #7534
  * Improve error message for POST queries #7681
  * /v1/actions/remove-comment: let users specify themselves #7646
  * /v1/actions/remove-downtime: let users specify themselves #7645
  * /v1/config/stages: Add 'activate' parameter #7535
* CLI
  * Add `pki verify` command for better TLS certificate troubleshooting #7843
  * Add OpenSSL version to 'Build' section in --version #7833
  * Improve experience with 'Node Setup for Agents/Satellite' #7835
* DSL
  * Add `get_template()` and `get_templates()` #7632
  * `MacroProcessor::ResolveArguments()`: skip null argument values #7567
  * Fix crash due to dependency apply rule with `ignore_on_error` and non-existing parent #7538
  * Introduce ternary operator (`x ? y : z`) #7442
  * LegacyTimePeriod: support specifying seconds #7439
  * Add support for Lambda Closures (`() use(x) => x and () use(x) => { return x }`) #7417
* ITL
  * Add notemp parameter to oracle health #7748
  * Add extended checks options to snmp-interface command template #7602
  * Add file age check for Windows command definition #7540
* Docs
  * Development: Update debugging instructions #7867
  * Add new API clients #7859
  * Clarify CRITICAL vs. UNKNOWN #7665
  * Explicitly explain how to disable freshness checks #7664
  * Update installation for RHEL/CentOS 8 and SLES 15 #7640
  * Add Powershell example to validate the certificate #7603
* Misc
  * Don't send `event::Heartbeat` to unauthenticated peers #7747
  * OpenTsdbWriter: Add custom tag support #7357

### Bugfixes

* Core
  * Fix JSON-RPC crashes #7532 #7737
  * Fix zone definitions in zones #7546
  * Fix deadlock during start on OpenBSD #7739
  * Consider PENDING not a problem #7685
  * Fix zombie processes after reload #7606
* Cluster
  * Fix `check_timeout` not being forwarded to agent command endpoints #7861
  * Config sync: Use a more friendly message when configs are equal and don't need a reload #7811
  * Fix open connections when agent waits for CA approval #7686
  * Fix TLS context not being updated on signed certificate messages on agents #7654
* API
  * Close connections w/o successful TLS handshakes after 10s #7809
  * Handle permission exceptions soon enough, returning 404 #7528
* SELinux
  * Fix safe-reload #7858
  * Allow direct SMTP notifications #7749
* Windows
  * Terminate check processes with UNKNOWN state on timeout #7788
  * Ensure that log replay files are properly renamed #7767
* Metrics
  * Graphite/OpenTSDB: Ensure that reconnect failure is detected #7765
  * Always send 0 as value for thresholds #7696
* Scripts
  * Fix notification scripts to stay compatible with Dash #7706
  * Fix bash line continuation in mail-host-notification.sh #7701
  * Fix notification scripts string comparison #7647
  * Service and host mail-notifications: Add line-breaks to very long output #6822
  * Set correct UTF-8 email subject header (RFC1342) #6369
* Misc
  * Catch exception when trusted cert is not readable during node setup on agent/satellite #7838
  * CheckCommand ssl: Fix wrong parameter `-N` #7741
  * Code quality fixes
  * Small documentation fixes

## 2.11.12 (2024-11-12)

This security release fixes a TLS certificate validation bypass.
Given the severity of that issue, users are advised to upgrade all nodes immediately.

* Security: fix TLS certificate validation bypass. CVE-2024-49369
* Security: update OpenSSL shipped on Windows to v3.0.15.
* Windows: sign MSI packages with a certificate the OS trusts by default.

## 2.11.11 (2021-08-19)

The main focus of these versions is a security vulnerability in the TLS certificate verification of our metrics writers ElasticsearchWriter, GelfWriter and InfluxdbWriter.

### Security

* Add TLS server certificate validation to ElasticsearchWriter, GelfWriter and InfluxdbWriter

Depending on your setup, manual intervention beyond installing the new versions
may be required, so please read the more detailed information in the
[release blog post](https://icinga.com/blog/2021/08/19/icinga-2-13-1-security-release//)
carefully

## 2.11.10 (2021-07-15)

Version 2.11.10 fixes two security vulnerabilities that may lead to privilege
escalation for authenticated API users. Other improvements include several
bugfixes related to downtimes, downtime notifications, and more reliable
connection handling.

### Security

* Don't expose the PKI ticket salt via the API. This may lead to privilege
  escalation for authenticated API users by them being able to request
  certificates for other identities (CVE-2021-32739)
* Don't expose IdoMysqlConnection, IdoPgsqlConnection, and ElasticsearchWriter
  passwords via the API (CVE-2021-32743)
* Windows: Update bundled OpenSSL to version 1.1.1k #8888

Depending on your setup, manual intervention beyond installing the new versions
may be required, so please read the more detailed information in the
[release blog post](https://icinga.com/blog/2021/07/15/releasing-icinga-2-12-5-and-2-11-10/)
carefully.

### Bugfixes

* Don't send downtime end notification if downtime hasn't started #8878
* Don't let a failed downtime creation block the others #8871
* Support downtimes and comments for checkables with long names #8870
* Trigger fixed downtimes immediately if the current time matches
  (instead of waiting for the timer) #8891
* Add configurable timeout for full connection handshake #8872

### Enhancements

* Replace existing downtimes on ScheduledDowntime change #8880
* Improve crashlog #8869

## 2.11.9 (2021-05-27)

Version 2.11.9 is a maintenance release that fixes some crashes, improves error handling
and adds compatibility for systems coming with newer Boost versions.

### Bugfixes

* Fix a crash when notification objects are deleted using the API #8780
* Fix crashes that might occur during downtime scheduling if host or downtime objects are deleted using the API #8784
* Fix an issue where notifications may incorrectly be skipped after a downtime ends #8772
* Fix an issue where attempting to create a duplicate object using the API
  might result in the original object being deleted #8788
* IDO: prioritize program status updates #8810
* Improve exceptions handling, including a fix for an uncaught exception on Windows #8776
* Retry file rename operations on Windows to avoid intermittent locking issues #8770

### Enhancements

* Support Boost 1.74 (Ubuntu 21.04, Fedora 34) #8793 #8802

## 2.11.8 (2020-12-15)

Version 2.11.8 resolves a security vulnerability with revoked certificates being
renewed automatically ignoring the CRL.

This version also resolves issues with high load on Windows regarding the config sync
and not being able to disable/enable Icinga 2 features over the API.

### Security

* Fix that revoked certificates due for renewal will automatically be renewed ignoring the CRL (CVE-2020-29663)

When a CRL is specified in the ApiListener configuration, Icinga 2 only used it
when connections were established so far, but not when a certificate is requested.
This allows a node to automatically renew a revoked certificate if it meets the
other conditions for auto renewal (issued before 2017 or expires in less than 30 days).

Because Icinga 2 currently (v2.12.3 and earlier) uses a validity duration of 15 years,
this only affects setups with external certificate signing and revoked certificates
that expire in less then 30 days.

### Bugfixes

* Improve config sync locking - resolves high load issues on Windows #8510
* Fix runtime config updates being ignored for objects without zone #8550
* Use proper buffer size for OpenSSL error messages #8543

### Enhancements

* On checkable recovery: re-check children that have a problem #8560 

## 2.11.7 (2020-12-01)

Version 2.11.7 fixes several issues to improve the reliability of the cluster functionality.

### Bugfixes

* Fix a connection leak with misconfigured agents #8482
* Properly sync changes of config objects in global zones done via the API #8473 #8457
* Prevent other clients from being disconnected when replaying the cluster log takes very long #8475
* Avoid duplicate connections between endpoints #8399
* Ignore incoming config object updates for unknown zones #8459
* Check timestamps before removing files in config sync #8486

### Enhancements

* Include HTTP status codes in log #8454

## 2.11.6 (2020-10-15)

Version 2.11.6 fixes several crashes, prevents unnecessary notifications
and addresses several bugs in IDO and API.

### Bugfixes

* Crashes
  * Fix crashes during config update #8337 #8308
  * Fix crash while removing a downtime #8226
  * Ensure the daemon doesn't get killed by logrotate #8227
* IDO
  * Prevent unnecessary IDO updates #8316 #8305
  * Commit IDO MySQL transactions earlier #8298
  * Make sure to insert IDO program status #8291
  * Improve IDO queue stats logging #8270 #8325 #8378
* API
  * Ensure API connections are closed properly #8292
  * Fix open connections when agent waits for CA approval #8230
  * Close connections without successful TLS handshakes within 10s #8224
* Misc
  * Prevent unnecessary notifications #8300
  * Fix Windows .exe version #8235
  * Reset Icinga check warning after successful config update #8225

## 2.11.5 (2020-08-05)

Version 2.11.5 fixes file system race conditions
in the config update process occurring in large HA environments
and improves the cluster connection liveness mechanisms.

### Bugfixes

* Make the config update process mutually exclusive (Prevents file system race conditions) #8093
* Consider a JsonRpcConnection alive on a single byte of TLS payload, not only on a whole message #8094
* Send JsonRpcConnection heartbeat every 20s instead of 10s #8103
* Use JsonRpcConnection heartbeat only to update connection liveness (m\_Seen) #8097

## 2.11.4 (2020-06-18)

Version 2.11.4 fixes a crash during a heartbeat timeout with clients not yet signed. It also resolves
an issue with endpoints not reconnecting after a reload/deploy, which caused a lot of UNKNOWN states.

### Bugfixes

* Cluster
  * Fix segfault during heartbeat timeout with clients not yet signed #7997
  * Fix endpoints not reconnecting after reload (UNKNOWN hosts/services after reload) #8043
* Setup
  * Fix exception on trusted cert not readable during node setup #8044
  * prepare-dirs: Only set permissions during directory creation #8046
* DSL
  * Fix segfault on missing compare function in Array functions (sort, map, reduce, filter, any, all) #8054

## 2.11.3 (2020-03-02)

The 2.11.3 release fixes a critical crash in our JSON-RPC connections. This mainly affects large HA
enabled environments.

### Bugfixes

* Cluster
  * JSON-RPC Crashes with 2.11 #7532

## 2.11.2 (2019-10-24)

2.11.2 fixes a problem where the newly introduced config sync "check-change-then-reload" functionality
could cause endless reload loops with agents. The most visible parts are failing command endpoint checks
with "not connected" UNKNOWN state. **Only applies to HA enabled zones with 2 masters and/or 2 satellites.**

### Bugfixes

* Cluster Config Sync
  * Config sync checksum change detection may not work within high load HA clusters #7565

## 2.11.1 (2019-10-17)

This release fixes a hidden long lasting bug unveiled with 2.11 and distributed setups.
If you are affected by agents/satellites not accepting configuration
anymore, or not reloading, please upgrade.

### Bugfixes

* Cluster Config Sync
  * Never accept authoritative config markers from other instances #7552
  * This affects setups where agent/satellites are newer than the config master, e.g. satellite/agent=2.11.0, master=2.10.
* Configuration
  * Error message for `command_endpoint` should hint that zone is not set #7514
  * Global variable 'ActiveStageOverride' has been set implicitly via 'ActiveStageOverride ... #7521

### Documentation

* Docs: Add upgrading/troubleshooting details for repos, config sync, agents #7526
  * Explain repository requirements for 2.11: https://icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/#added-boost-166
  * `command_endpoint` objects require a zone: https://icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/#agent-hosts-with-command-endpoint-require-a-zone
  * Zones declared in zones.d are not loaded anymore: https://icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/#config-sync-zones-in-zones


## 2.11.0 (2019-09-19)

[Issue and PRs](https://github.com/Icinga/icinga2/issues?utf8=%E2%9C%93&q=milestone%3A2.11.0)

### Notes

Upgrading docs: https://icinga.com/docs/icinga2/snapshot/doc/16-upgrading-icinga-2/

Thanks to all contributors: [Obihoernchen](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AObihoernchen), [dasJ](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AdasJ), [sebastic](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Asebastic), [waja](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Awaja), [BarbUk](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ABarbUk), [alanlitster](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aalanlitster), [mcktr](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amcktr), [KAMI911](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AKAMI911), [peteeckel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Apeteeckel), [breml](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Abreml), [episodeiv](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aepisodeiv), [Crited](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ACrited), [robert-scheck](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Arobert-scheck), [west0rmann](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Awest0rmann), [Napsty](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ANapsty), [Elias481](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AElias481), [uubk](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Auubk), [miso231](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amiso231), [neubi4](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aneubi4), [atj](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aatj), [mvanduren-itisit](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amvanduren-itisit), [jschanz](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Ajschanz), [MaBauMeBad](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AMaBauMeBad), [markleary](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amarkleary), [leeclemens](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aleeclemens), [m4k5ym](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Am4k5ym)

### Enhancements

* Core
  * Rewrite Network Stack (cluster, REST API) based on Boost Asio, Beast, Coroutines
     * Technical concept: #7041
     * Requires package updates: Boost >1.66 (either from packages.icinga.com, EPEL or backports). SLES11 & Ubuntu 14 are EOL.
     * Require TLS 1.2 and harden default cipher list
  * Improved Reload Handling (umbrella process, now 3 processes at runtime)
    * Support running Icinga 2 in (Docker) containers natively in foreground
  * Quality: Use Modern JSON for C++ library instead of YAJL (dead project)
  * Quality: Improve handling of invalid UTF8 strings
* API
  * Fix crashes on Linux, Unix and Windows from Nessus scans #7431
  * Locks and stalled waits are fixed with the core rewrite in #7071
  * schedule-downtime action supports `all_services` for host downtimes
  * Improve storage handling for runtime created objects in the `_api` package
* Cluster
  * HA aware features & improvements for failover handling #2941 #7062
  * Improve cluster config sync with staging #6716
  * Fixed that same downtime/comment objects would be synced again in a cluster loop #7198
* Checks & Notifications
  * Ensure that notifications during a restart are sent
  * Immediately notify about a problem after leaving a downtime and still NOT-OK
  * Improve reload handling and wait for features/metrics
  * Store notification command results and sync them in HA enabled zones #6722
* DSL/Configuration
  * Add getenv() function
  * Fix TimePeriod range support over midnight
  * `concurrent_checks` in the Checker feature has no effect, use the global MaxConcurrentChecks constant instead
* CLI
  * Permissions: node wizard/setup, feature, api setup now run in the Icinga user context, not root
  * `ca list` shows pending CSRs by default, `ca remove/restore` allow to delete signing requests
* ITL
  * Add new commands and missing attributes
* Windows
  * Update bundled NSClient++ to 0.5.2.39
  * Refine agent setup wizard & update requirements to .NET 4.6
* Documentation
  * Service Monitoring: How to create plugins by example, check commands and a modern version of the supported plugin API with best practices
  * Features: Better structure on metrics, and supported features
  * Technical Concepts: TLS Network IO, Cluster Feature HA, Cluster Config Sync
  * Development: Rewritten for better debugging and development experience for contributors including a style guide.  Add nightly build setup instructions.
  * Packaging: INSTALL.md was integrated into the Development chapter, being available at https://icinga.com/docs too.




## 2.11.0 RC1 (2019-07-25)

[Issue and PRs](https://github.com/Icinga/icinga2/issues?utf8=%E2%9C%93&q=milestone%3A2.11.0)

### Notes

**This is the first release candidate for 2.11.**

Upgrading docs: https://icinga.com/docs/icinga2/snapshot/doc/16-upgrading-icinga-2/

Thanks to all contributors: [BarbUk](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ABarbUk), [alanlitster](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aalanlitster), [mcktr](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amcktr), [KAMI911](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AKAMI911), [peteeckel](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Apeteeckel), [breml](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Abreml), [episodeiv](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aepisodeiv), [Crited](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ACrited), [robert-scheck](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Arobert-scheck), [west0rmann](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Awest0rmann), [Napsty](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3ANapsty), [Elias481](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AElias481), [uubk](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Auubk), [miso231](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amiso231), [neubi4](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aneubi4), [atj](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aatj), [mvanduren-itisit](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amvanduren-itisit), [jschanz](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Ajschanz), [MaBauMeBad](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3AMaBauMeBad), [markleary](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Amarkleary), [leeclemens](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Aleeclemens), [m4k5ym](https://github.com/Icinga/icinga2/pulls?q=is%3Apr+author%3Am4k5ym)

### Enhancements

* Core
  * Rewrite Network Stack (cluster, REST API) based on Boost Asio, Beast, Coroutines
     * Technical concept: #7041
     * Requires package updates: Boost >1.66 (either from packages.icinga.com, EPEL or backports). SLES11 & Ubuntu 14 are EOL.
     * Require TLS 1.2 and harden default cipher list
  * Improved Reload Handling (umbrella process, now 3 processes at runtime)
    * Support running Icinga 2 in (Docker) containers natively in foreground
  * Quality: Use Modern JSON for C++ library instead of YAJL (dead project)
  * Quality: Improve handling of invalid UTF8 strings
* API
  * Fix crashes and problems with permission filters from recent Namespace introduction #6785 (thanks Elias Ohm) #6874 (backported to 2.10.5)
  * Locks and stalled waits are fixed with the core rewrite in #7071
  * schedule-downtime action supports `all_services` for host downtimes
  * Improve storage handling for runtime created objects in the `_api` package
* Cluster
  * HA aware features & improvements for failover handling #2941 #7062
  * Improve cluster config sync with staging #6716
* Checks & Notifications
  * Ensure that notifications during a restart are sent
  * Immediately notify about a problem after leaving a downtime and still NOT-OK
  * Improve reload handling and wait for features/metrics
  * Store notification command results and sync them in HA enabled zones #6722
* DSL/Configuration
  * Add getenv() function
  * Fix TimePeriod range support over midnight
  * `concurrent_checks` in the Checker feature has no effect, use the global MaxConcurrentChecks constant instead
* CLI
  * Permissions: node wizard/setup, feature, api setup now run in the Icinga user context, not root
  * `ca list` shows pending CSRs by default, `ca remove/restore` allow to delete signing requests
* ITL
  * Add new commands and missing attributes - thanks to all contributors!
* Windows
  * Update bundled NSClient++ to 0.5.2.39
  * Update agent installer and OpenSSL
* Documentation
  * Service Monitoring: How to create plugins by example, check commands and a modern version of the supported plugin API with best practices.
  * Features: Better structure on metrics, and supported features.
  * Basics: Rename `Custom Attributes` to `Custom Variables`.
  * Basics: Refine explanation of command arguments.
  * Distributed: Reword `Icinga client` into `Icinga agent` and add new images for scenarios and modes.
  * Security: Add TLS v1.2+ requirement, hardened cipher lists
  * Technical Concepts: TLS Network IO, Cluster Feature HA, Cluster Config Sync, Core Reload Handling.
  * Development: Rewritten for better debugging and development experience for contributors including a style guide.  Add nightly build setup instructions.
  * Packaging: INSTALL.md was integrated into the Development chapter available at https://icinga.com/docs too.




## 2.10.7 (2019-10-17)

[Issue and PRs](https://github.com/Icinga/icinga2/issues?utf8=%E2%9C%93&q=milestone%3A2.10.7)

### Bugfixes

* Cluster config master must not load/sync its marker to other instances #7544
  * This affects scenarios where the satellite/agent is newer than the master, e.g. master=2.10.x satellite=2.11.0


## 2.10.6 (2019-07-30)

[Issue and PRs](https://github.com/Icinga/icinga2/issues?utf8=%E2%9C%93&q=milestone%3A2.10.6)

### Bugfixes

* Fix el7 not loading ECDHE cipher suites #7247


## 2.10.5 (2019-05-23)

[Issues and PRs](https://github.com/Icinga/icinga2/milestone/81?closed=1)

### Bugfixes

* Core
  * Fix crashes with logrotate signals #6737 (thanks Elias Ohm)
* API
  * Fix crashes and problems with permission filters from recent Namespace introduction #6785 (thanks Elias Ohm) #6874 (backported from 2.11)
  * Reduce log spam with locked connections (real fix is the network stack rewrite in 2.11) #6877
* Cluster
  * Fix problems with replay log rotation and storage #6932 (thanks Peter Eckel)
* IDO DB
  * Fix that reload shutdown deactivates hosts and hostgroups (introduced in 2.9) #7157
* Documentation
  * Improve the [REST API](https://icinga.com/docs/icinga2/latest/doc/12-icinga2-api/) chapter: Unix timestamp handling, filters, unify POST requests with filters in the body
  * Better layout for the [features](https://icinga.com/docs/icinga2/latest/doc/14-features/) chapter, specifically metrics and events
  * Split [object types](https://icinga.com/docs/icinga2/latest/doc/09-object-types/) into monitoring, runtime, features
  * Add technical concepts for [cluster messages](https://icinga.com/docs/icinga2/latest/doc/19-technical-concepts/#json-rpc-message-api)


## 2.10.4 (2019-03-19)

### Notes

* Fix TLS connections in Influxdb/Elasticsearch features leaking file descriptors (#6989 #7018 ref/IP/12219)
* Fixes for delayed and one-time notifications (#5561 #6757)
* Improve performance for downtimes/comments added in HA clusters (#6885 ref/IP/9235)
* check_perfmon supports non-localized performance counter names (#5546 #6418)

### Enhancement

* [#6732](https://github.com/icinga/icinga2/issues/6732) (Windows, PR): Update Windows Agent with new design
* [#6729](https://github.com/icinga/icinga2/issues/6729) (Windows): Polish the Windows Agent design
* [#6418](https://github.com/icinga/icinga2/issues/6418) (Windows): check\_perfmon.exe: Add fallback support for localized performance counters

### Bug

* [#7020](https://github.com/icinga/icinga2/issues/7020) (Elasticsearch, PR): ElasticsearchWriter: don't leak sockets
* [#7018](https://github.com/icinga/icinga2/issues/7018) (Elasticsearch): ElasticsearchWriter not closing SSL connections on  Icinga2 2.10.3.1
* [#6991](https://github.com/icinga/icinga2/issues/6991) (CLI, PR): PkiUtility::NewCa\(\): just warn if the CA files already exist
* [#6990](https://github.com/icinga/icinga2/issues/6990) (InfluxDB, PR): InfluxdbWriter: don't leak sockets
* [#6989](https://github.com/icinga/icinga2/issues/6989) (InfluxDB): InfluxdbWriter not closing connections Icinga2 2.10.3 CentOS 7
* [#6976](https://github.com/icinga/icinga2/issues/6976) (Cluster, PR): Don't require OS headers to provide SO\_REUSEPORT
* [#6896](https://github.com/icinga/icinga2/issues/6896) (Notifications, PR): Notification\#BeginExecuteNotification\(\): SetNextNotification\(\) correctly
* [#6885](https://github.com/icinga/icinga2/issues/6885) (API, Configuration, PR): Don't run UpdateObjectAuthority for Comments and Downtimes
* [#6800](https://github.com/icinga/icinga2/issues/6800) (Plugins, Windows, PR): Fix check\_perfmon to support non-localized names
* [#6757](https://github.com/icinga/icinga2/issues/6757) (Notifications, PR): Fix that no\_more\_notifications gets reset when Recovery notifications are filtered away
* [#5561](https://github.com/icinga/icinga2/issues/5561) (Notifications): Set the notification mode times.begin is not 0, the first notification has a delay
* [#5546](https://github.com/icinga/icinga2/issues/5546) (Plugins, Windows): check\_perfmon.exe doesn't support cyrillic names of perf counters

### Documentation

* [#7033](https://github.com/icinga/icinga2/issues/7033) (Documentation, PR): Docs: Update supported package repos in Getting Started chapter
* [#7028](https://github.com/icinga/icinga2/issues/7028) (Documentation, PR): Fix heading level in development chapter
* [#7001](https://github.com/icinga/icinga2/issues/7001) (Documentation, PR): Assignment operators doc: tell what the { } are for
* [#6995](https://github.com/icinga/icinga2/issues/6995) (Documentation, PR): Typo and link fix
* [#6979](https://github.com/icinga/icinga2/issues/6979) (Documentation, PR): Doc: write systemd lower-case
* [#6975](https://github.com/icinga/icinga2/issues/6975) (Documentation, PR): Fix nested hostgroup example
* [#6949](https://github.com/icinga/icinga2/issues/6949) (Documentation, PR): Doc fix: update check\_rbl parameter
* [#6708](https://github.com/icinga/icinga2/issues/6708) (Documentation, PR): Docs: Alpine needs 'edge/main' repository too
* [#5430](https://github.com/icinga/icinga2/issues/5430) (Documentation): Documentation about dictionaries and assignements

### Support

* [#7032](https://github.com/icinga/icinga2/issues/7032) (code-quality, PR): Backport Defer class for 2.10
* [#7030](https://github.com/icinga/icinga2/issues/7030) (Packages, PR): SELinux: add unreserved\_port\_type attribute to icinga2\_port\_t
* [#7029](https://github.com/icinga/icinga2/issues/7029) (Packages): Add unreserved\_port\_type attribute to icinga2\_port\_t
* [#7002](https://github.com/icinga/icinga2/issues/7002) (Plugins, Windows, PR): check\_network -h: drop non-existent feature
* [#6987](https://github.com/icinga/icinga2/issues/6987) (Tests): base-base\_utility/comparepasswords\_issafe test fails on i386
* [#6977](https://github.com/icinga/icinga2/issues/6977) (Tests, PR): Ignore failure of unit test base\_utility/comparepasswords\_issafe

## 2.10.3 (2019-02-26)

### Notes

Bugfixes:

- Stalled TLS connections on reload/Director deployments (#6816 #6898 ref/NC/588119)
- 'Connection: close' header leading to unstable instance, affects Ruby clients (#6799)
- Server time in the future breaks check result processing (#6797 ref/NC/595861)
- ScheduledDowntimes: Generate downtime objects only on one HA endpoint (#2844 ref/IC/9673 ref/NC/590167 ref/NC/591721)
- Improve activation & syncing for downtime objects generated from ScheduledDowntimes (#6826 ref/IC/9673 ref/NC/585559)
- Generate a runtime downtime object from already running ScheduledDowntime objects (#6704)
- DB IDO: Don't enqueue queries when the feature is paused in HA zones (#5876)
- Crashes with localtime_r errors (#6887)

Documentation updates:

- Ephemeral port range blocking on Windows agents (ref/NC/597307)
- Technical concepts for the check scheduler (#6775)
- DB IDO cleanup (#6791)
- Unified development docs (#6819)

### Bug

* [#6971](https://github.com/icinga/icinga2/issues/6971) (Notifications, PR): Activate downtimes before any checkable object
* [#6968](https://github.com/icinga/icinga2/issues/6968) (API, PR): Secure ApiUser::GetByAuthHeader\(\) against timing attacks
* [#6940](https://github.com/icinga/icinga2/issues/6940) (Plugins, Windows, PR): Fix check\_swap percentage calculation
* [#6925](https://github.com/icinga/icinga2/issues/6925) (Plugins, Windows, PR): Fix check\_swap formatting
* [#6924](https://github.com/icinga/icinga2/issues/6924) (PR): Fix double to long conversions
* [#6922](https://github.com/icinga/icinga2/issues/6922) (API, DB IDO): IDO MySQL fails on start if check\_interval is a float \(Icinga 2.9.2\)
* [#6920](https://github.com/icinga/icinga2/issues/6920) (PR): Downtime::AddDowntime\(\): place Downtimes in the same zone as the origin ScheduledDowntimes
* [#6917](https://github.com/icinga/icinga2/issues/6917) (Cluster, Log, PR): Cluster: Delete object message should log that
* [#6916](https://github.com/icinga/icinga2/issues/6916) (PR): Don't allow retry\_interval \<= 0
* [#6914](https://github.com/icinga/icinga2/issues/6914) (Cluster, PR): ClusterEvents::AcknowledgementSet event should forward 'persistent' attribute
* [#6913](https://github.com/icinga/icinga2/issues/6913) (Plugins, Windows): check\_swap return value wrong when no swap file configured
* [#6901](https://github.com/icinga/icinga2/issues/6901) (API, PR): TcpSocket\#Bind\(\): also set SO\_REUSEPORT
* [#6899](https://github.com/icinga/icinga2/issues/6899) (PR): Log: Ensure not to pass negative values to localtime\(\)
* [#6898](https://github.com/icinga/icinga2/issues/6898) (API): API action restart-process fails on FreeBSD
* [#6894](https://github.com/icinga/icinga2/issues/6894) (Check Execution, PR): Fix checkresults from the future breaking checks
* [#6887](https://github.com/icinga/icinga2/issues/6887) (Check Execution, Windows): Icinga2 Windows Service does not start critical/checker: Exception occurred while checking 'hostname.tld'
* [#6883](https://github.com/icinga/icinga2/issues/6883) (Check Execution, PR): Allow Checkable\#retry\_interval to be 0
* [#6871](https://github.com/icinga/icinga2/issues/6871): Icinga2 crashes after localtime\_r call
* [#6857](https://github.com/icinga/icinga2/issues/6857) (Plugins, Windows, PR): Url\#m\_Query: preserve order
* [#6826](https://github.com/icinga/icinga2/issues/6826) (Configuration, PR): Downtime\#HasValidConfigOwner\(\): wait for ScheduledDowntimes
* [#6821](https://github.com/icinga/icinga2/issues/6821) (Cluster, Configuration, PR): Don't delete downtimes in satellite zones
* [#6820](https://github.com/icinga/icinga2/issues/6820) (Cluster, PR): Only create downtimes from non-paused ScheduledDowntime objects in HA enabled cluster zones
* [#6817](https://github.com/icinga/icinga2/issues/6817) (API, PR): HttpServerConnection\#DataAvailableHandler\(\): be aware of being called multiple times concurrently
* [#6816](https://github.com/icinga/icinga2/issues/6816) (API, Cluster): Stalled TLS connections and lock waits in SocketEventEngine
* [#6814](https://github.com/icinga/icinga2/issues/6814) (API, PR): Restore 'Connection: close' behaviour in HTTP responses
* [#6811](https://github.com/icinga/icinga2/issues/6811) (Plugins, Windows, PR): Fix state conditions in check\_memory and check\_swap
* [#6810](https://github.com/icinga/icinga2/issues/6810) (Plugins, Windows): Windows check\_memory never gets critical
* [#6808](https://github.com/icinga/icinga2/issues/6808) (API, PR): Remove redundand check for object existence on creation via API
* [#6807](https://github.com/icinga/icinga2/issues/6807) (API): \[2.10.2\] Director deploy crashes the Icinga service \[FreeBSD\]
* [#6799](https://github.com/icinga/icinga2/issues/6799) (API): "Connection: close" header leads to unstable instance
* [#6797](https://github.com/icinga/icinga2/issues/6797) (Check Execution): Servertime in the future breaks check results processing
* [#6750](https://github.com/icinga/icinga2/issues/6750) (Configuration, PR): \#6749 Wrong operator on stride variable causing incorrect behaviour
* [#6749](https://github.com/icinga/icinga2/issues/6749) (Configuration): Stride is misinterpreted in multi-date legacydatetime
* [#6748](https://github.com/icinga/icinga2/issues/6748) (CLI, PR): Fix api setup to automatically create the conf.d directory
* [#6718](https://github.com/icinga/icinga2/issues/6718) (API, Cluster, PR): Call SSL\_shutdown\(\) at least twice
* [#6704](https://github.com/icinga/icinga2/issues/6704) (Notifications, PR): Put newly configured already running ScheduledDowntime immediately in effect
* [#6542](https://github.com/icinga/icinga2/issues/6542) (Configuration, Log): /var/log/icinga2/icinga2.log is growing very fast on satellites 
* [#6536](https://github.com/icinga/icinga2/issues/6536) (Windows, help wanted): check\_nscp\_api: Query arguments are sorted on Url::Format\(\)
* [#4790](https://github.com/icinga/icinga2/issues/4790) (Notifications): Newly configured already running ScheduledDowntime not put into effect
* [#3937](https://github.com/icinga/icinga2/issues/3937) (API): Icinga2 API: PUT request fails at 0-byte file
* [#2844](https://github.com/icinga/icinga2/issues/2844) (Cluster): Duplicated scheduled downtimes created in cluster HA zone

### Documentation

* [#6956](https://github.com/icinga/icinga2/issues/6956) (Documentation, PR): Escape pipe symbol in api documentation
* [#6944](https://github.com/icinga/icinga2/issues/6944) (Documentation, PR): Troubleshooting: Add notes on ephemeral port range blocking on Windows agents
* [#6928](https://github.com/icinga/icinga2/issues/6928) (Documentation, PR): Doc: Add .NET 3.5 to the windows build stack
* [#6825](https://github.com/icinga/icinga2/issues/6825) (Documentation, PR): Document that retry\_interval is only used after an active check result
* [#6819](https://github.com/icinga/icinga2/issues/6819) (Documentation, PR): Enhance and unify development docs for debug, develop, package
* [#6791](https://github.com/icinga/icinga2/issues/6791) (Documentation, PR): Docs: Add a section for DB IDO Cleanup
* [#6776](https://github.com/icinga/icinga2/issues/6776) (Documentation, PR): Doc fix: update apache section
* [#6775](https://github.com/icinga/icinga2/issues/6775) (Documentation, PR): Add technical docs for the check scheduler \(general, initial check, offsets\)
* [#6751](https://github.com/icinga/icinga2/issues/6751) (Documentation, PR): Doc fix: documentation link for apt
* [#6743](https://github.com/icinga/icinga2/issues/6743) (Documentation, PR): Doc fix: error in example path.
* [#5341](https://github.com/icinga/icinga2/issues/5341) (Documentation): Enhance development documentation

### Support

* [#6972](https://github.com/icinga/icinga2/issues/6972) (PR): Fix formatting in development docs
* [#6958](https://github.com/icinga/icinga2/issues/6958) (code-quality, PR): Debug: Log calls to ConfigObject::Deactivate\(\)
* [#6897](https://github.com/icinga/icinga2/issues/6897) (PR): Validate Zone::GetLocalZone\(\) before using
* [#6872](https://github.com/icinga/icinga2/issues/6872) (Windows): 2.10 is unstable \(Windows Agent\)
* [#6843](https://github.com/icinga/icinga2/issues/6843) (Tests, Windows, PR): Improve AppVeyor builds
* [#6479](https://github.com/icinga/icinga2/issues/6479) (code-quality, PR): SocketEvents: inherit from Stream
* [#6477](https://github.com/icinga/icinga2/issues/6477) (code-quality): SocketEvents: inherit from Object

## 2.10.2 (2018-11-14)

### Bug

* [#6770](https://github.com/icinga/icinga2/issues/6770) (PR): Fix deadlock in GraphiteWriter
* [#6769](https://github.com/icinga/icinga2/issues/6769) (Cluster): Hanging TLS connections
* [#6759](https://github.com/icinga/icinga2/issues/6759) (Log, PR): Fix possible double free in StreamLogger::BindStream\(\)
* [#6753](https://github.com/icinga/icinga2/issues/6753): Icinga2.service state is reloading in systemd after safe-reload until systemd time-out
* [#6740](https://github.com/icinga/icinga2/issues/6740) (DB IDO, PR): DB IDO: Don't enqueue queries when the feature is paused \(HA\)
* [#6738](https://github.com/icinga/icinga2/issues/6738) (API, Cluster, PR): Ensure that API/JSON-RPC messages in the same session are processed and not stalled
* [#6736](https://github.com/icinga/icinga2/issues/6736) (Crash): Stability issues with Icinga 2.10.x
* [#6717](https://github.com/icinga/icinga2/issues/6717) (API, PR): Improve error handling for invalid child\_options for API downtime actions
* [#6712](https://github.com/icinga/icinga2/issues/6712) (API): Downtime name not returned when error occurs
* [#6711](https://github.com/icinga/icinga2/issues/6711) (API, Cluster): Slow API \(TLS-Handshake\)
* [#6709](https://github.com/icinga/icinga2/issues/6709) (PR):  Fix the Icinga2 version check for versions with more than 5 characters
* [#6707](https://github.com/icinga/icinga2/issues/6707) (Compat, PR): Fix regression for wrong objects.cache path overwriting icinga2.debug file
* [#6705](https://github.com/icinga/icinga2/issues/6705) (CLI, Compat, Configuration): Crash "icinga2 object list" command with 2.10.1-1 on CentOS 7
* [#6703](https://github.com/icinga/icinga2/issues/6703): Check command 'icinga' breaks when vars.icinga\_min\_version is defined \(2.10.x\)
* [#6635](https://github.com/icinga/icinga2/issues/6635) (API): API TLS session connection closed after 2 requests
* [#5876](https://github.com/icinga/icinga2/issues/5876) (DB IDO): IDO Work queue on the inactive node growing when switching connection between redundant master servers

### Documentation

* [#6714](https://github.com/icinga/icinga2/issues/6714) (Documentation, PR): Docs: Add package related changes to the upgrading docs

### Support

* [#6773](https://github.com/icinga/icinga2/issues/6773) (Installation, Packages, PR): Initialize ICINGA2\_ERROR\_LOG inside the systemd environment
* [#6771](https://github.com/icinga/icinga2/issues/6771) (Tests, PR): Implement unit tests for Dictionary initializers
* [#6760](https://github.com/icinga/icinga2/issues/6760) (Packages, Tests, PR): armhf: Apply workaround for timer tests with std::bind callbacks
* [#6710](https://github.com/icinga/icinga2/issues/6710) (Packages): Crash when upgrading from 2.10.0 to 2.10.1 \(SELinux related\)

## 2.10.1 (2018-10-18)

### Bug

* [#6696](https://github.com/icinga/icinga2/issues/6696) (PR): Remove default environment, regression from e678fa1aa5
* [#6694](https://github.com/icinga/icinga2/issues/6694): v2.10.0 sets a default environment "production" in SNI
* [#6691](https://github.com/icinga/icinga2/issues/6691) (PR): Add missing shutdown/program state dumps for SIGUSR2 reload handler
* [#6689](https://github.com/icinga/icinga2/issues/6689): State file not updated on reload
* [#6685](https://github.com/icinga/icinga2/issues/6685) (API, PR): Fix regression with API permission filters and namespaces in v2.10
* [#6682](https://github.com/icinga/icinga2/issues/6682) (API): API process-check-result fails in 2.10.0
* [#6679](https://github.com/icinga/icinga2/issues/6679) (Windows, PR): Initialize Configuration::InitRunDir for Windows and writing the PID file
* [#6624](https://github.com/icinga/icinga2/issues/6624) (Check Execution): Master Reload Causes Passive Check State Change
* [#6592](https://github.com/icinga/icinga2/issues/6592): Reloads seem to reset the check atempt count. Also notifications go missing shortly after a reload.

### Documentation

* [#6701](https://github.com/icinga/icinga2/issues/6701) (Documentation, PR): Add GitHub release tag to README
* [#6700](https://github.com/icinga/icinga2/issues/6700) (Documentation, PR): Enhance the addon chapter in the docs
* [#6699](https://github.com/icinga/icinga2/issues/6699) (Documentation, PR): Update to https://icinga.com/
* [#6692](https://github.com/icinga/icinga2/issues/6692) (Documentation, PR): Update release docs for Chocolatey
* [#6690](https://github.com/icinga/icinga2/issues/6690) (Documentation, PR): Extend 09-object-types.md with argument array
* [#6674](https://github.com/icinga/icinga2/issues/6674) (Documentation, PR): Add a note to the docs on \>2 endpoints in a zone
* [#6673](https://github.com/icinga/icinga2/issues/6673) (Documentation, PR): Update RELEASE docs
* [#6672](https://github.com/icinga/icinga2/issues/6672) (Documentation, PR): Extend upgrade docs
* [#6671](https://github.com/icinga/icinga2/issues/6671) (Documentation): Zone requirements changed in 2.10 - Undocumented Change

### Support

* [#6681](https://github.com/icinga/icinga2/issues/6681) (code-quality, PR): Fix spelling errors.
* [#6677](https://github.com/icinga/icinga2/issues/6677) (Packages, Windows): icinga does not start after Update to 2.10

## 2.10.0 (2018-10-11)

### Notes

* Support for namespaces, details in [this blogpost](https://icinga.com/2018/09/17/icinga-2-dsl-feature-namespaces-coming-in-v2-10/)
* Only send acknowledgement notification to users notified about a problem before, thanks for sponsoring to the [Max-Planck-Institut for Marine Mikrobiologie](https://www.mpi-bremen.de)
* More child options for scheduled downtimes
* Performance improvements and fixes for the TLS connections inside cluster/REST API
* Better logging for HTTP requests and less verbose object creation (e.g. downtimes via Icinga Web 2 & REST API)
* New configuration path constants, e.g. ConfigDir
* Fixed problem with dependencies rescheduling parent checks too fast
* Fixed problem with logging in systemd and syslog
* Improved vim syntax highlighting
* [Technical concepts docs](https://icinga.com/docs/icinga2/latest/doc/19-technical-concepts/) update with config compiler and TLS network IO

### Enhancement

* [#6663](https://github.com/icinga/icinga2/issues/6663) (API, Log, PR): Silence config compiler logging for runtime created objects
* [#6657](https://github.com/icinga/icinga2/issues/6657) (API, Log, PR): Enable the HTTP request body debug log entry for release builds
* [#6655](https://github.com/icinga/icinga2/issues/6655) (API, Log, PR): Improve logging for disconnected HTTP clients
* [#6651](https://github.com/icinga/icinga2/issues/6651) (Plugins, PR): Add 'used' feature to check\_swap
* [#6633](https://github.com/icinga/icinga2/issues/6633) (API, Cluster, PR): Use a dynamic thread pool for API connections
* [#6632](https://github.com/icinga/icinga2/issues/6632) (Cluster, PR): Increase the cluster reconnect frequency to 10s
* [#6616](https://github.com/icinga/icinga2/issues/6616) (API, Cluster, PR): Add ApiListener\#tls\_handshake\_timeout option
* [#6611](https://github.com/icinga/icinga2/issues/6611) (Notifications): Allow types = \[ Recovery \] to always send recovery notifications 
* [#6595](https://github.com/icinga/icinga2/issues/6595) (API, Cluster, PR): Allow to configure anonymous clients limit inside the ApiListener object
* [#6532](https://github.com/icinga/icinga2/issues/6532) (Configuration, PR): Add child\_options to ScheduledDowntime
* [#6531](https://github.com/icinga/icinga2/issues/6531) (API, PR): Expose Zone\#all\_parents via API
* [#6527](https://github.com/icinga/icinga2/issues/6527) (Notifications, PR): Acknowledgment notifications should only be send if problem notification has been send
* [#6521](https://github.com/icinga/icinga2/issues/6521) (Configuration, PR): Implement references
* [#6512](https://github.com/icinga/icinga2/issues/6512) (Cluster, PR): Refactor environment for API connections
* [#6511](https://github.com/icinga/icinga2/issues/6511) (Cluster, PR): ApiListener: Add support for dynamic port handling
* [#6509](https://github.com/icinga/icinga2/issues/6509) (Configuration, PR): Implement support for namespaces
* [#6508](https://github.com/icinga/icinga2/issues/6508) (Configuration, PR): Implement the Dictionary\#clear script function
* [#6506](https://github.com/icinga/icinga2/issues/6506) (PR): Improve path handling in cmake and daemon
* [#6460](https://github.com/icinga/icinga2/issues/6460) (Log, help wanted): Feature suggestion: Do not log warnings when env elements are undefined in CheckCommand objects
* [#6455](https://github.com/icinga/icinga2/issues/6455) (Log, PR): Log something when the Filelogger has been started
* [#6379](https://github.com/icinga/icinga2/issues/6379) (Configuration, PR): Throw config error when using global zones as parent
* [#6356](https://github.com/icinga/icinga2/issues/6356) (Log, PR): Fix logging under systemd
* [#6339](https://github.com/icinga/icinga2/issues/6339) (Log, help wanted): On systemd, icinga2 floods the system log, and this cannot simply be opted out of
* [#6110](https://github.com/icinga/icinga2/issues/6110) (Configuration, PR): Implement support for optionally specifying the 'var' keyword in 'for' loops
* [#6047](https://github.com/icinga/icinga2/issues/6047) (Notifications): Acknowledgment notifications should only be sent if the user already received a problem notification
* [#4282](https://github.com/icinga/icinga2/issues/4282) (API, Log): Icinga should log HTTP bodies for API requests

### Bug

* [#6658](https://github.com/icinga/icinga2/issues/6658) (API, PR): Ensure that HTTP/1.0 or 'Connection: close' headers are properly disconnecting the client
* [#6652](https://github.com/icinga/icinga2/issues/6652) (Plugins, PR): Fix check\_memory thresholds in 'used' mode
* [#6647](https://github.com/icinga/icinga2/issues/6647) (CLI, PR): node setup: always respect --accept-config and --accept-commands
* [#6643](https://github.com/icinga/icinga2/issues/6643) (Check Execution, Notifications, PR): Fix that check\_timeout was used for Event/Notification commands too
* [#6639](https://github.com/icinga/icinga2/issues/6639) (Windows, PR): Ensure to \_unlink before renaming replay log on Windows
* [#6622](https://github.com/icinga/icinga2/issues/6622) (DB IDO, PR): Ensure to use UTC timestamps for IDO PgSQL cleanup queries
* [#6603](https://github.com/icinga/icinga2/issues/6603) (Check Execution, Cluster): CheckCommand 'icinga' seems to ignore retry interval via command\_endpoint
* [#6575](https://github.com/icinga/icinga2/issues/6575): LTO builds fail on Linux
* [#6566](https://github.com/icinga/icinga2/issues/6566) (Cluster): Master disconnects during signing process
* [#6546](https://github.com/icinga/icinga2/issues/6546) (API, CLI, PR): Overridden path constants not passed to config validation in /v1/config/stages API call
* [#6530](https://github.com/icinga/icinga2/issues/6530) (DB IDO, PR): IDO/MySQL: avoid empty queries
* [#6519](https://github.com/icinga/icinga2/issues/6519) (CLI, PR): Reset terminal on erroneous console exit
* [#6517](https://github.com/icinga/icinga2/issues/6517) (Cluster): Not all Endpoints can't reconnect due to "Client TLS handshake failed" error after "reload or restart"
* [#6514](https://github.com/icinga/icinga2/issues/6514) (API): API using "Connection: close" header results in infinite threads
* [#6507](https://github.com/icinga/icinga2/issues/6507) (Cluster): Variable name conflict in constants.conf / Problem with TLS verification, CN and Environment variable
* [#6503](https://github.com/icinga/icinga2/issues/6503) (Log, PR): Reduce the log level for missing env macros to debug
* [#6485](https://github.com/icinga/icinga2/issues/6485) (Log): Icinga logs discarding messages still as warning and not as notice
* [#6475](https://github.com/icinga/icinga2/issues/6475) (Compat, PR): lib-\>compat-\>statusdatawriter: fix notifications\_enabled
* [#6430](https://github.com/icinga/icinga2/issues/6430) (Log, PR): Fix negative 'empty in' value in WorkQueue log message
* [#6427](https://github.com/icinga/icinga2/issues/6427) (Configuration, Crash, PR): Improve error message for serializing objects with recursive references
* [#6409](https://github.com/icinga/icinga2/issues/6409) (Configuration, Crash): Assigning vars.x = vars causes Icinga 2 segfaults
* [#6408](https://github.com/icinga/icinga2/issues/6408) (PR): ObjectLock\#Unlock\(\): don't reset m\_Object-\>m\_LockOwner too early
* [#6386](https://github.com/icinga/icinga2/issues/6386) (Configuration, PR): Fix that TimePeriod segments are not cleared on restart
* [#6382](https://github.com/icinga/icinga2/issues/6382) (CLI, help wanted): icinga2 console breaks the terminal on errors
* [#6313](https://github.com/icinga/icinga2/issues/6313) (Plugins, Windows, PR): Fix wrong calculation of check\_swap windows plugin
* [#6304](https://github.com/icinga/icinga2/issues/6304) (Configuration, Notifications): Timeout defined in NotificationCommand is ignored and uses check\_timeout
* [#5815](https://github.com/icinga/icinga2/issues/5815) (Plugins, Windows): swap-windows check delivers wrong result
* [#5375](https://github.com/icinga/icinga2/issues/5375) (Check Execution, PR): Parents who are non-active should not be rescheduled
* [#5052](https://github.com/icinga/icinga2/issues/5052) (Cluster, Windows): Replay log not working with Windows client
* [#5022](https://github.com/icinga/icinga2/issues/5022) (Check Execution): Dependencies may reschedule passive checks, triggering freshness checks

### ITL

* [#6646](https://github.com/icinga/icinga2/issues/6646) (ITL, PR): Update ITL and Docs for memory-windows - show used
* [#6640](https://github.com/icinga/icinga2/issues/6640) (ITL): Update ITL and Docs for memory-windows - show used
* [#6563](https://github.com/icinga/icinga2/issues/6563) (ITL, PR): \[Feature\] Cloudera service health CheckCommand
* [#6561](https://github.com/icinga/icinga2/issues/6561) (ITL, PR): \[Feature\] Ceph health CheckCommand
* [#6504](https://github.com/icinga/icinga2/issues/6504) (ITL, PR): squashfs ignored
* [#6491](https://github.com/icinga/icinga2/issues/6491) (ITL, PR): Feature/itl vmware health
* [#6481](https://github.com/icinga/icinga2/issues/6481) (ITL): command-plugins.conf check\_disk exclude squashfs

### Documentation

* [#6670](https://github.com/icinga/icinga2/issues/6670) (Documentation, PR): Add technical concepts for the config compiler and daemon CLI command
* [#6665](https://github.com/icinga/icinga2/issues/6665) (Documentation, PR): Make the two modes of check\_http more obvious.
* [#6615](https://github.com/icinga/icinga2/issues/6615) (Documentation, PR): Update distributed monitoring docs for 2.10
* [#6610](https://github.com/icinga/icinga2/issues/6610) (Documentation, PR): Add "TLS Network IO" into technical concepts docs
* [#6607](https://github.com/icinga/icinga2/issues/6607) (Documentation, PR): Enhance development docs with GDB backtrace and thread list
* [#6606](https://github.com/icinga/icinga2/issues/6606) (Documentation, PR): Enhance contributing docs
* [#6598](https://github.com/icinga/icinga2/issues/6598) (Documentation, PR): doc/09-object-types: states filter ignored for Acknowledgements
* [#6597](https://github.com/icinga/icinga2/issues/6597) (Documentation, PR): Add Fedora to development docs for debuginfo packages
* [#6593](https://github.com/icinga/icinga2/issues/6593) (Documentation, help wanted): Include CA Proxy in 3rd scenario in Distributed Monitoring docs
* [#6573](https://github.com/icinga/icinga2/issues/6573) (Documentation, PR): Fix operator precedence table
* [#6528](https://github.com/icinga/icinga2/issues/6528) (Documentation, PR): Document default of User\#enable\_notifications
* [#6502](https://github.com/icinga/icinga2/issues/6502) (Documentation, PR): Update 17-language-reference.md
* [#6501](https://github.com/icinga/icinga2/issues/6501) (Documentation, PR): Update 03-monitoring-basics.md
* [#6488](https://github.com/icinga/icinga2/issues/6488) (Documentation, ITL, PR): Fix typo with the CheckCommand cert

### Support

* [#6669](https://github.com/icinga/icinga2/issues/6669) (PR): Don't throw an error when namespace indexers don't find a valid key
* [#6668](https://github.com/icinga/icinga2/issues/6668) (Installation, PR): Enhance vim syntax highlighting for 2.10
* [#6661](https://github.com/icinga/icinga2/issues/6661) (API, Log, code-quality, PR): Cache the peer address in the HTTP server
* [#6642](https://github.com/icinga/icinga2/issues/6642) (PR): Allow to override MaxConcurrentChecks constant
* [#6621](https://github.com/icinga/icinga2/issues/6621) (code-quality, PR): Remove unused timestamp function in DB IDO
* [#6618](https://github.com/icinga/icinga2/issues/6618) (PR): Silence compiler warning for nice\(\)
* [#6591](https://github.com/icinga/icinga2/issues/6591) (PR): Fix static initializer priority for namespaces in LTO builds
* [#6588](https://github.com/icinga/icinga2/issues/6588) (PR): Fix using full path in prepare-dirs/safe-reload scripts
* [#6586](https://github.com/icinga/icinga2/issues/6586) (PR): Fix non-unity builds on CentOS 7 with std::shared\_ptr
* [#6583](https://github.com/icinga/icinga2/issues/6583) (Documentation, Installation, PR): Update PostgreSQL library path variable in INSTALL.md
* [#6574](https://github.com/icinga/icinga2/issues/6574) (PR): Move new downtime constants into the Icinga namespace
* [#6570](https://github.com/icinga/icinga2/issues/6570) (Cluster, PR): Increase limit for simultaneously connected anonymous TLS clients
* [#6567](https://github.com/icinga/icinga2/issues/6567) (PR): ApiListener: Dump the state file port detail as number
* [#6556](https://github.com/icinga/icinga2/issues/6556) (Installation, Windows, PR): windows: Allow suppression of extra actions in the MSI package
* [#6544](https://github.com/icinga/icinga2/issues/6544) (code-quality, PR): Remove \#include for deprecated header file
* [#6539](https://github.com/icinga/icinga2/issues/6539) (PR): Build fix for CentOS 7 and non-unity builds
* [#6526](https://github.com/icinga/icinga2/issues/6526) (code-quality, PR): icinga::PackObject\(\): shorten conversion to string
* [#6510](https://github.com/icinga/icinga2/issues/6510) (Tests, Windows, PR): Update windows build scripts
* [#6494](https://github.com/icinga/icinga2/issues/6494) (Tests, PR): Test PackObject
* [#6489](https://github.com/icinga/icinga2/issues/6489) (code-quality, PR): Implement object packer for consistent hashing
* [#6484](https://github.com/icinga/icinga2/issues/6484) (Packages): Packages from https://packages.icinga.com are not Systemd Type=notify enabled?
* [#6469](https://github.com/icinga/icinga2/issues/6469) (Installation, Windows, PR): Fix Windows Agent resize behavior
* [#6458](https://github.com/icinga/icinga2/issues/6458) (code-quality, PR): Fix debug build log entry for ConfigItem activation priority
* [#6456](https://github.com/icinga/icinga2/issues/6456) (code-quality, PR): Keep notes for immediately log flushing
* [#6440](https://github.com/icinga/icinga2/issues/6440) (code-quality, PR): Fix typo
* [#6410](https://github.com/icinga/icinga2/issues/6410) (code-quality, PR): Remove unused code
* [#4959](https://github.com/icinga/icinga2/issues/4959) (Installation, Windows): Windows Agent Wizard Window resizes with screen, hiding buttons

## 2.9.3 (2019-07-30)

[Issue and PRs](https://github.com/Icinga/icinga2/issues?utf8=%E2%9C%93&q=milestone%3A2.9.3)

### Bugfixes

* Fix el7 not loading ECDHE cipher suites #7247
* Fix checkresults from the future breaking checks #6797 ref/NC/595861
* DB IDO: Don't enqueue queries when the feature is paused (HA) #5876

## 2.9.2 (2018-09-26)

### Enhancement

* [#6602](https://github.com/icinga/icinga2/issues/6602) (API, Cluster, PR): Improve TLS handshake exception logging
* [#6568](https://github.com/icinga/icinga2/issues/6568) (Configuration, PR): Ensure that config object types are committed in dependent load order
* [#6497](https://github.com/icinga/icinga2/issues/6497) (Configuration, PR): Improve error logging for match/regex/cidr\_match functions and unsupported dictionary usage

### Bug

* [#6596](https://github.com/icinga/icinga2/issues/6596) (Crash, PR): Fix crash on API queries with Fedora 28 hardening and GCC 8
* [#6581](https://github.com/icinga/icinga2/issues/6581) (Configuration, PR): Shuffle items before config validation
* [#6569](https://github.com/icinga/icinga2/issues/6569) (DB IDO): Custom Vars not updated after upgrade
* [#6533](https://github.com/icinga/icinga2/issues/6533) (Crash): Icinga2 crashes after using some api-commands on Fedora 28
* [#6505](https://github.com/icinga/icinga2/issues/6505) (Cluster, PR): Fix clusterzonecheck if not connected
* [#6498](https://github.com/icinga/icinga2/issues/6498) (Configuration, PR): Fix regression with MatchAny false conditions on match/regex/cidr\_match
* [#6496](https://github.com/icinga/icinga2/issues/6496) (Configuration): error with match and type matchany

### Documentation

* [#6590](https://github.com/icinga/icinga2/issues/6590) (DB IDO, Documentation, PR): Update workaround for custom vars
* [#6572](https://github.com/icinga/icinga2/issues/6572) (Documentation, PR): Add note about workaround for broken custom vars

### Support

* [#6540](https://github.com/icinga/icinga2/issues/6540) (Configuration): Evaluate a fixed config compiler commit order
* [#6486](https://github.com/icinga/icinga2/issues/6486) (Configuration): Configuration validation w/ ScheduledDowntimes performance decreased in 2.9
* [#6442](https://github.com/icinga/icinga2/issues/6442) (Configuration): Error while evaluating "assign where match" expression: std::bad\_cast

## 2.9.1 (2018-07-24)

### Bug

* [#6457](https://github.com/icinga/icinga2/issues/6457) (PR): Ensure that timer thread is initialized after Daemonize\(\)
* [#6449](https://github.com/icinga/icinga2/issues/6449): icinga r2.9.0-1 init.d script overrides PATH variable
* [#6445](https://github.com/icinga/icinga2/issues/6445): Problem with daemonize \(init scripts, -d\) on Debian 8 / CentOS 6 / Ubuntu 14 / SLES 11 in 2.9
* [#6444](https://github.com/icinga/icinga2/issues/6444) (PR): SELinux: allow systemd notify
* [#6443](https://github.com/icinga/icinga2/issues/6443): selinux and 2.9

### Support

* [#6470](https://github.com/icinga/icinga2/issues/6470) (code-quality, PR): Fix spelling errors.
* [#6467](https://github.com/icinga/icinga2/issues/6467) (Tests, PR): Start and stop the timer thread lazily
* [#6461](https://github.com/icinga/icinga2/issues/6461) (Tests): Broken tests with fix from \#6457
* [#6451](https://github.com/icinga/icinga2/issues/6451) (Packages, PR): Fix initscripts
* [#6450](https://github.com/icinga/icinga2/issues/6450) (Packages): init script helpers - source: not found

## 2.9.0 (2018-07-17)

### Notes

- Elasticsearch 6 Support
- icinga health check supports minimum version parameter, ido thresholds for query rate, dummy check is executed in-memory, avoids plugin call
- `ApplicationVersion` constant in the configuration
- Setup wizards: global zone, disable conf.d inclusion, unified parameter handling
- TTL support for check results, pretty formatting for REST API queries
- TLS support for IDO PostgreSQL
- Improvements for check scheduling, concurrent checks with command endpoints, downtime notification handling, scheduled downtimes and memory handling with many API requests

### Enhancement

* [#6400](https://github.com/icinga/icinga2/issues/6400) (Plugins, Windows, PR): Enhance debug logging for check\_nscp\_api
* [#6321](https://github.com/icinga/icinga2/issues/6321) (Log, PR): Update log message for skipped certificate renewal
* [#6305](https://github.com/icinga/icinga2/issues/6305) (PR): Introduce the 'Environment' variable
* [#6299](https://github.com/icinga/icinga2/issues/6299) (Check Execution, Log, PR): Change log level for failed event command execution
* [#6285](https://github.com/icinga/icinga2/issues/6285) (CLI, Log, PR): Add support for config validation log timestamps
* [#6270](https://github.com/icinga/icinga2/issues/6270) (Configuration, PR): Add activation priority for config object types
* [#6236](https://github.com/icinga/icinga2/issues/6236) (DB IDO, PR): Add TLS support for DB IDO PostgreSQL feature
* [#6219](https://github.com/icinga/icinga2/issues/6219) (Elasticsearch, PR): Add support for Elasticsearch 6
* [#6211](https://github.com/icinga/icinga2/issues/6211) (DB IDO): IDO pgsql with TLS support
* [#6209](https://github.com/icinga/icinga2/issues/6209) (CLI, PR): Unify zone name settings in node setup/wizard; add connection-less mode for node setup
* [#6208](https://github.com/icinga/icinga2/issues/6208) (CLI): Add connection-less support for node setup CLI command
* [#6206](https://github.com/icinga/icinga2/issues/6206) (Configuration, PR): Add ApplicationVersion built-in constant
* [#6205](https://github.com/icinga/icinga2/issues/6205) (API, PR): API: Unify verbose error messages
* [#6194](https://github.com/icinga/icinga2/issues/6194) (Elasticsearch, Graylog, PR): Elasticsearch/GELF: Add metric unit to performance data fields
* [#6170](https://github.com/icinga/icinga2/issues/6170) (Configuration, Windows, PR): Add option to windows installer to add global zones
* [#6158](https://github.com/icinga/icinga2/issues/6158) (API, Log): Review API debugging: verboseErrors and diagnostic information
* [#6136](https://github.com/icinga/icinga2/issues/6136) (Check Execution, PR): Add counter for current concurrent checks to Icinga check
* [#6131](https://github.com/icinga/icinga2/issues/6131) (Log, PR): Log which ticket was invalid on the master
* [#6109](https://github.com/icinga/icinga2/issues/6109) (Plugins, PR): Add 'used' feature to check\_memory
* [#6090](https://github.com/icinga/icinga2/issues/6090) (Notifications, PR): Fixed URL encoding for HOSTNAME and SERVICENAME in mail notification
* [#6078](https://github.com/icinga/icinga2/issues/6078) (Check Execution, PR): Add more metrics and details to built-in 'random' check
* [#6039](https://github.com/icinga/icinga2/issues/6039) (Configuration, PR): Improve location info for some error messages
* [#6033](https://github.com/icinga/icinga2/issues/6033) (Compat): Deprecate StatusDataWriter
* [#6032](https://github.com/icinga/icinga2/issues/6032) (Compat): Deprecate CompatLogger
* [#6010](https://github.com/icinga/icinga2/issues/6010) (Cluster, PR): Move the endpoint list into a new line for the 'cluster' check
* [#5996](https://github.com/icinga/icinga2/issues/5996) (PR): Add systemd watchdog and adjust reload behaviour
* [#5985](https://github.com/icinga/icinga2/issues/5985) (DB IDO, PR): Add query thresholds for the 'ido' check: Rate and pending queries
* [#5979](https://github.com/icinga/icinga2/issues/5979) (CLI, PR): Add quit, exit and help
* [#5973](https://github.com/icinga/icinga2/issues/5973) (API, Check Execution, PR): Add 'ttl' support for check result freshness via REST API
* [#5959](https://github.com/icinga/icinga2/issues/5959) (API, PR): API: Add 'pretty' parameter for beautified JSON response bodies
* [#5905](https://github.com/icinga/icinga2/issues/5905) (Elasticsearch): Add support for Elasticsearch 6
* [#5888](https://github.com/icinga/icinga2/issues/5888) (DB IDO, PR): FindMySQL: Support mariadbclient implementation
* [#5877](https://github.com/icinga/icinga2/issues/5877) (API): Add pretty format to REST API parameters \(for debugging\)
* [#5811](https://github.com/icinga/icinga2/issues/5811) (CLI, PR): Update NodeName/ZoneName constants with 'api setup'
* [#5767](https://github.com/icinga/icinga2/issues/5767) (CLI, PR): Implement ability to make global zones configurable during node wizard/setup
* [#5733](https://github.com/icinga/icinga2/issues/5733) (Plugins, Windows, PR): Make --perf-syntax also change short message
* [#5729](https://github.com/icinga/icinga2/issues/5729) (CLI, Cluster, PR): Correct node wizard output formatting
* [#5675](https://github.com/icinga/icinga2/issues/5675) (InfluxDB, PR): Add pdv unit to influxdbwriter if not empty + doc
* [#5627](https://github.com/icinga/icinga2/issues/5627) (InfluxDB, Metrics): InfluxDBWriter: Send metric unit \(perfdata\)
* [#5605](https://github.com/icinga/icinga2/issues/5605) (CLI, Cluster, Configuration): Disable conf.d inclusion in node setup wizards
* [#5509](https://github.com/icinga/icinga2/issues/5509) (Cluster, wishlist): Add metrics about communication between endpoints
* [#5444](https://github.com/icinga/icinga2/issues/5444) (Cluster): Display endpoints in the second line of the ClusterCheckTask output
* [#5426](https://github.com/icinga/icinga2/issues/5426) (CLI, Configuration, PR): Add the ability to disable the conf.d inclusion through the node wizard
* [#5418](https://github.com/icinga/icinga2/issues/5418) (Plugins, Windows): Feature request: check\_perfmon.exe - Change name of counter in output
* [#4966](https://github.com/icinga/icinga2/issues/4966) (CLI, Cluster): Unify setting of master zones name
* [#4508](https://github.com/icinga/icinga2/issues/4508) (CLI): node wizard/setup: allow to disable conf.d inclusion
* [#3455](https://github.com/icinga/icinga2/issues/3455) (API, Log): startup.log in stage dir has no timestamps
* [#3245](https://github.com/icinga/icinga2/issues/3245) (CLI, help wanted, wishlist): Add option to Windows installer to add global zone during setup
* [#2287](https://github.com/icinga/icinga2/issues/2287) (help wanted, wishlist): Please support systemd startup notification

### Bug

* [#6429](https://github.com/icinga/icinga2/issues/6429) (PR): Make HttpServerConnection\#m\_DataHandlerMutex a boost::recursive\_mutex
* [#6428](https://github.com/icinga/icinga2/issues/6428) (API): Director kickstart wizard querying the API results in TLS stream disconnected infinite loop
* [#6411](https://github.com/icinga/icinga2/issues/6411) (Plugins, Windows, PR): Windows: Conform to the Plugin API spec for performance label quoting
* [#6407](https://github.com/icinga/icinga2/issues/6407) (Windows, PR): Fix wrong UOM in check\_uptime windows plugin
* [#6405](https://github.com/icinga/icinga2/issues/6405) (Windows, PR): TcpSocket\#Bind\(\): reuse socket addresses on Windows, too
* [#6403](https://github.com/icinga/icinga2/issues/6403) (API, PR): Conform to RFC for CRLF in HTTP requests
* [#6401](https://github.com/icinga/icinga2/issues/6401) (Elasticsearch, InfluxDB, PR): Fix connection error handling in Elasticsearch and InfluxDB features
* [#6397](https://github.com/icinga/icinga2/issues/6397) (Plugins, Windows, PR): TlsStream\#IsEof\(\): fix false positive EOF indicator
* [#6394](https://github.com/icinga/icinga2/issues/6394) (Crash, Elasticsearch): Icinga will throw an exception, if ElasticSearch is not reachable
* [#6393](https://github.com/icinga/icinga2/issues/6393) (API, Elasticsearch, PR): Stream\#ReadLine\(\): fix false positive buffer underflow indicator
* [#6387](https://github.com/icinga/icinga2/issues/6387) (Configuration, Crash, Windows, PR): Remove ApiUser password\_hash functionality
* [#6383](https://github.com/icinga/icinga2/issues/6383) (API, CLI, PR): HttpRequest\#ParseBody\(\): indicate success on complete body
* [#6378](https://github.com/icinga/icinga2/issues/6378) (Windows): Analyze Windows reload behaviour
* [#6371](https://github.com/icinga/icinga2/issues/6371) (API, Cluster, PR): ApiListener\#NewClientHandlerInternal\(\): Explicitly close the TLS stream on any failure
* [#6368](https://github.com/icinga/icinga2/issues/6368) (CLI, PR): Fix program option parsing
* [#6365](https://github.com/icinga/icinga2/issues/6365) (CLI): Different behavior between `icinga2 -V` and `icinga2 --version`
* [#6355](https://github.com/icinga/icinga2/issues/6355) (API): HTTP header size too low: Long URLs and session cookies cause bad requests
* [#6354](https://github.com/icinga/icinga2/issues/6354) (Elasticsearch): ElasticsearchWriter not writing to ES
* [#6336](https://github.com/icinga/icinga2/issues/6336) (Log, PR): Fix unnecessary blank in log message
* [#6324](https://github.com/icinga/icinga2/issues/6324) (Crash, PR): Ensure that password hash generation from OpenSSL is atomic
* [#6319](https://github.com/icinga/icinga2/issues/6319) (Windows): Windows service restart fails and config validate runs forever
* [#6297](https://github.com/icinga/icinga2/issues/6297) (Cluster, PR): Execute event commands only on actively checked host/service objects in an HA zone
* [#6294](https://github.com/icinga/icinga2/issues/6294) (API, Configuration, PR): Ensure that group memberships on API object creation are unique
* [#6292](https://github.com/icinga/icinga2/issues/6292) (Notifications, PR): Fix problem with reminder notifications if the checkable is flapping
* [#6290](https://github.com/icinga/icinga2/issues/6290) (OpenTSDB, PR): Fixed opentsdb metric name with colon chars
* [#6282](https://github.com/icinga/icinga2/issues/6282) (Configuration): Issue when using excludes in TimePeriod Objects
* [#6279](https://github.com/icinga/icinga2/issues/6279) (Crash): segfault with sha1\_block\_data\_order\_avx of libcrypto
* [#6255](https://github.com/icinga/icinga2/issues/6255) (Configuration): On debian based systems /etc/default/icinga2 is not read/used
* [#6242](https://github.com/icinga/icinga2/issues/6242) (Plugins, Windows): Sporadic check\_nscp\_api timeouts
* [#6239](https://github.com/icinga/icinga2/issues/6239) (Plugins, Windows, PR): Fix Windows check\_memory rounding
* [#6231](https://github.com/icinga/icinga2/issues/6231) (Notifications): icinga2.8 - Notifications are sent even in downtime
* [#6218](https://github.com/icinga/icinga2/issues/6218) (PR): attempt to fix issue \#5277
* [#6217](https://github.com/icinga/icinga2/issues/6217) (Check Execution, PR): Fix check behavior on restart
* [#6204](https://github.com/icinga/icinga2/issues/6204) (API, PR): API: Check if objects exists and return proper error message
* [#6195](https://github.com/icinga/icinga2/issues/6195) (API, Crash, PR): Fix crash in remote api console
* [#6193](https://github.com/icinga/icinga2/issues/6193) (Crash, Graylog, PR): GelfWriter: Fix crash on invalid performance data metrics
* [#6184](https://github.com/icinga/icinga2/issues/6184) (API): debug console with API connection sometimes hangs since 2.8.2
* [#6125](https://github.com/icinga/icinga2/issues/6125) (Configuration, PR): Fix description of the NotificationComponent in notification.conf
* [#6077](https://github.com/icinga/icinga2/issues/6077) (API, PR): Allow to pass raw performance data in 'process-check-result' API action
* [#6057](https://github.com/icinga/icinga2/issues/6057) (Notifications): Icinga2 sends notifications without logging about it and despite having a downtime
* [#6020](https://github.com/icinga/icinga2/issues/6020) (CLI, PR): Fix crash when running 'icinga2 console' without HOME environment variable
* [#6019](https://github.com/icinga/icinga2/issues/6019): icinga2 console -r crashes when run without a HOME environment variable
* [#6016](https://github.com/icinga/icinga2/issues/6016) (Notifications, PR): Check notification state filters for problems only, not for Custom, etc.
* [#5988](https://github.com/icinga/icinga2/issues/5988) (Check Execution, Cluster, PR): Fix concurrent checks limit while using command\_endpoint
* [#5964](https://github.com/icinga/icinga2/issues/5964) (Metrics, OpenTSDB, PR): OpenTSDB writer - Fix function for escaping host tag chars.
* [#5963](https://github.com/icinga/icinga2/issues/5963) (Metrics, OpenTSDB): OpenTSDB writer is escaping wrong chars for host names.
* [#5952](https://github.com/icinga/icinga2/issues/5952) (Notifications): Custom notifications are filtered by object state
* [#5940](https://github.com/icinga/icinga2/issues/5940) (PR): Remove deprecated Chocolatey functions
* [#5928](https://github.com/icinga/icinga2/issues/5928) (PR): Fix build problem with MSVC
* [#5908](https://github.com/icinga/icinga2/issues/5908) (Windows): Icinga2 fails to build on Windows
* [#5901](https://github.com/icinga/icinga2/issues/5901) (PR): Do not replace colons in plugin output
* [#5885](https://github.com/icinga/icinga2/issues/5885) (PR): Workaround for GCC bug 61321
* [#5884](https://github.com/icinga/icinga2/issues/5884): Icinga2 fails to build
* [#5872](https://github.com/icinga/icinga2/issues/5872) (PR): Replace incorrect fclose\(\) call with pclose\(\)
* [#5863](https://github.com/icinga/icinga2/issues/5863) (PR): Fix glob error handling
* [#5861](https://github.com/icinga/icinga2/issues/5861) (PR): Fix incorrect memory access
* [#5860](https://github.com/icinga/icinga2/issues/5860) (PR): Fix memory leaks in the unit tests
* [#5853](https://github.com/icinga/icinga2/issues/5853) (Plugins, Windows, PR): Fix missing space in check\_service output
* [#5840](https://github.com/icinga/icinga2/issues/5840) (Elasticsearch, PR): Fix newline terminator for bulk requests in ElasticsearchWriter
* [#5796](https://github.com/icinga/icinga2/issues/5796) (CLI, PR): Fix error reporting for 'icinga2 console -r'
* [#5795](https://github.com/icinga/icinga2/issues/5795) (Elasticsearch): ElasticsearchWriter gives "Unexpected response code 400" with Elasticsearch 6.x
* [#5763](https://github.com/icinga/icinga2/issues/5763) (API): "icinga2 api setup" should explicitly set the NodeName constant in constants.conf
* [#5753](https://github.com/icinga/icinga2/issues/5753) (API, Cluster, Metrics, PR): Fix that RingBuffer does not get updated and add metrics about communication between endpoints
* [#5718](https://github.com/icinga/icinga2/issues/5718) (API, PR): API: Fix http status codes
* [#5550](https://github.com/icinga/icinga2/issues/5550) (API): Verify error codes and returned log messages in API actions
* [#5277](https://github.com/icinga/icinga2/issues/5277) (Notifications): Flexible downtime is expired at end\_time, not trigger\_time+duration
* [#5095](https://github.com/icinga/icinga2/issues/5095) (API): Wrong HTTP status code when API request fails
* [#5083](https://github.com/icinga/icinga2/issues/5083) (Check Execution): Initial checks are not executed immediately
* [#4786](https://github.com/icinga/icinga2/issues/4786) (API): API: Command process-check-result fails if it contains performance data
* [#4785](https://github.com/icinga/icinga2/issues/4785) (Compat): Semicolons in plugin output are converted to colon
* [#4732](https://github.com/icinga/icinga2/issues/4732) (API, Configuration): Duplicate groups allowed when creating host
* [#4436](https://github.com/icinga/icinga2/issues/4436) (Check Execution): New objects not scheduled to check immediately
* [#4272](https://github.com/icinga/icinga2/issues/4272) (Cluster, Configuration): Duplicating downtime from ScheduledDowntime object on each restart
* [#3431](https://github.com/icinga/icinga2/issues/3431) (Cluster): Eventhandler trigger on all endpoints in high available zone 

### ITL

* [#6389](https://github.com/icinga/icinga2/issues/6389) (ITL, PR): New ITL command nscp-local-tasksched
* [#6348](https://github.com/icinga/icinga2/issues/6348) (ITL, PR): Fix for catalogued locally databases. Fixes \#6338
* [#6338](https://github.com/icinga/icinga2/issues/6338) (ITL): db2\_health not working with catalogued databases, as --hostname is always used
* [#6308](https://github.com/icinga/icinga2/issues/6308) (ITL, PR): Update lsi-raid ITL command
* [#6263](https://github.com/icinga/icinga2/issues/6263) (ITL, PR): ITL: Add default thresholds to windows check commands
* [#6139](https://github.com/icinga/icinga2/issues/6139) (ITL, PR): itl/disk: Ignore overlay and netfs filesystems
* [#6045](https://github.com/icinga/icinga2/issues/6045) (ITL, PR): Move the "passive" check command to command-icinga.conf
* [#6043](https://github.com/icinga/icinga2/issues/6043) (ITL): ITL "plugins" has an implicit dependency on "itl"
* [#6034](https://github.com/icinga/icinga2/issues/6034) (ITL, PR): ITL by\_ssh add -E parameter
* [#5958](https://github.com/icinga/icinga2/issues/5958) (ITL, PR): Add minimum version check to the built-in icinga command
* [#5954](https://github.com/icinga/icinga2/issues/5954) (ITL, PR): ITL: Add mongodb --authdb parameter support
* [#5951](https://github.com/icinga/icinga2/issues/5951) (ITL, PR): itl: Add command parameters for snmp-memory
* [#5921](https://github.com/icinga/icinga2/issues/5921) (ITL, PR): Add icingacli-director check to ITL
* [#5920](https://github.com/icinga/icinga2/issues/5920) (ITL): Add Check for Director Jobs to ITL
* [#5914](https://github.com/icinga/icinga2/issues/5914) (ITL, PR): Fix for wrong attribute in ITL mongodb CheckCommand
* [#5906](https://github.com/icinga/icinga2/issues/5906) (ITL, PR): Add check\_openmanage command to ITL.
* [#5902](https://github.com/icinga/icinga2/issues/5902) (ITL, PR): Add parameter --octetlength to snmp-storage command.
* [#5817](https://github.com/icinga/icinga2/issues/5817) (ITL): mongodb\_address vs mongodb\_host
* [#5812](https://github.com/icinga/icinga2/issues/5812) (ITL): Better way to check required parameters in notification scripts
* [#5805](https://github.com/icinga/icinga2/issues/5805) (ITL, PR): Add support for LD\_LIBRARY\_PATH env variable in oracle\_health ITL CheckCommand
* [#5792](https://github.com/icinga/icinga2/issues/5792) (ITL, PR): ITL: Add check\_rpc
* [#5787](https://github.com/icinga/icinga2/issues/5787) (Check Execution, ITL): random check should provide performance data metrics
* [#5744](https://github.com/icinga/icinga2/issues/5744) (Check Execution, ITL, PR): Implement DummyCheckTask and move dummy into embedded in-memory checks
* [#5717](https://github.com/icinga/icinga2/issues/5717) (ITL, PR): add order tags to disk check
* [#5714](https://github.com/icinga/icinga2/issues/5714) (ITL): disk check in icinga2/itl/command-plugins.conf lacks order tags
* [#5260](https://github.com/icinga/icinga2/issues/5260) (ITL): CheckCommand mongodb does not expose authdb option

### Documentation

* [#6436](https://github.com/icinga/icinga2/issues/6436) (Documentation, PR): Update tested Elasticsearch version
* [#6435](https://github.com/icinga/icinga2/issues/6435) (Documentation, PR): Add note on sysconfig shell variables for Systemd to the Upgrading docs
* [#6433](https://github.com/icinga/icinga2/issues/6433) (Documentation, PR): Docs: Fix typos in 03-monitoring-basics.md
* [#6426](https://github.com/icinga/icinga2/issues/6426) (Documentation, PR): Update 'Upgrading to 2.9' docs
* [#6413](https://github.com/icinga/icinga2/issues/6413) (Documentation, PR): Fix table in Livestatus Filters
* [#6391](https://github.com/icinga/icinga2/issues/6391) (Documentation, PR): Docs: Fix icinga.com link
* [#6390](https://github.com/icinga/icinga2/issues/6390) (Documentation, Windows, PR): Docs: Update Windows wizard images
* [#6375](https://github.com/icinga/icinga2/issues/6375) (Documentation, PR): some minor fixes in the flapping documentation
* [#6374](https://github.com/icinga/icinga2/issues/6374) (Documentation, PR): Docs: Add an additional note for VMWare timeouts on Ubuntu 16.04 LTS
* [#6373](https://github.com/icinga/icinga2/issues/6373) (Documentation, PR): Drop command template imports for versions \< 2.6 in the docs
* [#6372](https://github.com/icinga/icinga2/issues/6372) (Documentation, PR): Remove the import of 'legacy-timeperiod' in the docs
* [#6350](https://github.com/icinga/icinga2/issues/6350) (Documentation, PR): clarify the permision system of the api in the docs
* [#6344](https://github.com/icinga/icinga2/issues/6344) (Documentation, PR): README: Fix broken community link
* [#6330](https://github.com/icinga/icinga2/issues/6330) (Documentation, PR): Fix $ipaddress6$ attribute name typo in the docs
* [#6317](https://github.com/icinga/icinga2/issues/6317) (Documentation, PR): Add a note on Windows NSClient++ CPU checks to the docs
* [#6289](https://github.com/icinga/icinga2/issues/6289) (Documentation, PR): Update release documentation with git tag signing key configuration
* [#6286](https://github.com/icinga/icinga2/issues/6286) (Documentation): Update Windows wizard screenshots in the docs
* [#6283](https://github.com/icinga/icinga2/issues/6283) (Documentation, PR): edit Icinga license info so that GitHub recognizes it
* [#6271](https://github.com/icinga/icinga2/issues/6271) (Documentation, PR): Enhance advanced topics with \(scheduled\) downtimes
* [#6267](https://github.com/icinga/icinga2/issues/6267) (Documentation, PR): Update docs to reflect required user\* attributes for notification objects
* [#6265](https://github.com/icinga/icinga2/issues/6265) (Documentation): Notifications user/user\_groups required
* [#6264](https://github.com/icinga/icinga2/issues/6264) (Documentation, PR): Enhance "Getting Started" chapter
* [#6262](https://github.com/icinga/icinga2/issues/6262) (Documentation, PR): Enhance the environment variables chapter
* [#6254](https://github.com/icinga/icinga2/issues/6254) (Documentation, PR): Enhance release documentation
* [#6253](https://github.com/icinga/icinga2/issues/6253) (Documentation, PR): Doc: Add note for not fully supported Plugin collections
* [#6243](https://github.com/icinga/icinga2/issues/6243) (Documentation, PR): Update PostgreSQL documentation
* [#6226](https://github.com/icinga/icinga2/issues/6226) (Documentation, PR): Fix broken SELinux anchor in the documentation
* [#6224](https://github.com/icinga/icinga2/issues/6224) (Documentation, PR): Update volatile docs
* [#6216](https://github.com/icinga/icinga2/issues/6216) (Documentation): Volatile service explanation 
* [#6180](https://github.com/icinga/icinga2/issues/6180) (Documentation, PR): Doc: fixed wrong information about defaulting
* [#6128](https://github.com/icinga/icinga2/issues/6128) (Documentation, PR): Adding documentation for configurable global zones during setup
* [#6067](https://github.com/icinga/icinga2/issues/6067) (Documentation, Windows, PR): Improve Windows builds and testing
* [#6022](https://github.com/icinga/icinga2/issues/6022) (Configuration, Documentation, PR): Update default config and documentation for the "library" keyword
* [#6018](https://github.com/icinga/icinga2/issues/6018) (Documentation): Move init configuration from getting-started
* [#6000](https://github.com/icinga/icinga2/issues/6000) (Documentation, PR): Add newline to COPYING to fix Github license detection
* [#5948](https://github.com/icinga/icinga2/issues/5948) (Documentation, PR): doc: Improve INSTALL documentation
* [#4958](https://github.com/icinga/icinga2/issues/4958) (Check Execution, Documentation): How to set the HOME environment variable

### Support

* [#6439](https://github.com/icinga/icinga2/issues/6439) (PR): Revert "Fix obsolete parameter in Systemd script"
* [#6423](https://github.com/icinga/icinga2/issues/6423) (PR): Fix missing next check update causing the scheduler to execute checks too often
* [#6421](https://github.com/icinga/icinga2/issues/6421) (Check Execution): High CPU load due to seemingly ignored check\_interval
* [#6412](https://github.com/icinga/icinga2/issues/6412) (Plugins, Windows, PR): Fix output formatting in windows plugins
* [#6402](https://github.com/icinga/icinga2/issues/6402) (Cluster, code-quality, PR): Use SSL\_pending\(\) for remaining TLS stream data
* [#6384](https://github.com/icinga/icinga2/issues/6384) (PR): Remove leftover for sysconfig file parsing
* [#6381](https://github.com/icinga/icinga2/issues/6381) (Packages, PR): Fix sysconfig not being handled correctly by sysvinit
* [#6377](https://github.com/icinga/icinga2/issues/6377) (code-quality, PR): Fix missing name for workqueue while creating runtime objects via API
* [#6364](https://github.com/icinga/icinga2/issues/6364) (code-quality): lib/base/workqueue.cpp:212: assertion failed: !m\_Name.IsEmpty\(\)
* [#6361](https://github.com/icinga/icinga2/issues/6361) (API, Cluster): Analyse socket IO handling with HTTP/JSON-RPC
* [#6359](https://github.com/icinga/icinga2/issues/6359) (Configuration, PR): Fix ScheduledDowntimes replicating on restart
* [#6357](https://github.com/icinga/icinga2/issues/6357) (API, PR): Increase header size to 8KB for HTTP requests
* [#6347](https://github.com/icinga/icinga2/issues/6347) (Packages, PR): SELinux: Allow notification plugins to read local users 
* [#6343](https://github.com/icinga/icinga2/issues/6343) (Check Execution, Cluster, PR): Fix that checks with command\_endpoint don't return any check results
* [#6337](https://github.com/icinga/icinga2/issues/6337): Checks via command\_endpoint are not executed \(snapshot packages only\)
* [#6328](https://github.com/icinga/icinga2/issues/6328) (Installation, Packages, PR): Rework sysconfig file/startup environment
* [#6320](https://github.com/icinga/icinga2/issues/6320) (PR): Ensure that icinga\_min\_version parameter is optional
* [#6309](https://github.com/icinga/icinga2/issues/6309) (PR): Fix compiler warning in checkercomponent.ti
* [#6306](https://github.com/icinga/icinga2/issues/6306) (code-quality, PR): Adjust message for CheckResultReader deprecation
* [#6301](https://github.com/icinga/icinga2/issues/6301) (Documentation, code-quality, PR): Adjust deprecation removal for compat features
* [#6295](https://github.com/icinga/icinga2/issues/6295) (Compat, PR): Deprecate compatlog feature
* [#6238](https://github.com/icinga/icinga2/issues/6238) (Notifications, PR): Implement better way to check parameters in notification scripts
* [#6233](https://github.com/icinga/icinga2/issues/6233) (Check Execution): Verify next check execution on daemon reload
* [#6229](https://github.com/icinga/icinga2/issues/6229) (Packages, PR): Don't use shell variables in sysconfig
* [#6214](https://github.com/icinga/icinga2/issues/6214) (Packages): Reload-internal with unresolved shell variable
* [#6201](https://github.com/icinga/icinga2/issues/6201) (Windows, PR): Handle exceptions from X509Certificate2
* [#6199](https://github.com/icinga/icinga2/issues/6199) (API, PR): Return 500 when no api action is successful
* [#6198](https://github.com/icinga/icinga2/issues/6198) (Compat, PR): Deprecate Statusdatawriter
* [#6187](https://github.com/icinga/icinga2/issues/6187) (code-quality, PR): Remove Icinga Studio Screenshots
* [#6181](https://github.com/icinga/icinga2/issues/6181) (Tests, PR): tests: Ensure IcingaApplication is initialized before adding config
* [#6174](https://github.com/icinga/icinga2/issues/6174) (API, PR): Fix crash without CORS setting
* [#6173](https://github.com/icinga/icinga2/issues/6173) (API, Crash): Using the API crashes Icinga2 in v2.8.1-537-g064fc80
* [#6171](https://github.com/icinga/icinga2/issues/6171) (code-quality, PR): Update copyright of the Windows Agent to 2018
* [#6163](https://github.com/icinga/icinga2/issues/6163) (PR): Fix reload handling by updating the PID file before process overtake
* [#6160](https://github.com/icinga/icinga2/issues/6160) (code-quality, PR): Replace std::vector:push\_back calls with initializer list
* [#6126](https://github.com/icinga/icinga2/issues/6126) (PR): Require systemd headers
* [#6113](https://github.com/icinga/icinga2/issues/6113) (Tests, PR): appveyor: Disable artifacts until we use them
* [#6107](https://github.com/icinga/icinga2/issues/6107) (code-quality, PR): Allow MYSQL\_LIB to be specified by ENV variable
* [#6105](https://github.com/icinga/icinga2/issues/6105) (Tests): Snapshot builds fail on livestatus tests
* [#6098](https://github.com/icinga/icinga2/issues/6098) (API, code-quality, PR): Clean up CORS implementation
* [#6085](https://github.com/icinga/icinga2/issues/6085) (Cluster, Crash, PR): Fix crash with anonymous clients on certificate signing request and storing sent bytes
* [#6083](https://github.com/icinga/icinga2/issues/6083) (Log, code-quality, PR): Fix wrong type logging in ConfigItem::Commit
* [#6082](https://github.com/icinga/icinga2/issues/6082) (Installation, Packages): PID file removed after reload
* [#6063](https://github.com/icinga/icinga2/issues/6063) (Compat, PR): Deprecate CheckResultReader
* [#6062](https://github.com/icinga/icinga2/issues/6062) (code-quality, PR): Remove the obsolete 'make-agent-config.py' script
* [#6061](https://github.com/icinga/icinga2/issues/6061) (code-quality, PR): Remove jenkins test scripts
* [#6060](https://github.com/icinga/icinga2/issues/6060) (code-quality, PR): Remove Icinga development docker scripts
* [#6059](https://github.com/icinga/icinga2/issues/6059) (code-quality, PR): Remove Icinga Studio
* [#6058](https://github.com/icinga/icinga2/issues/6058) (code-quality, PR): Clean up the Icinga plugins a bit
* [#6055](https://github.com/icinga/icinga2/issues/6055) (Check Execution, Windows, code-quality, PR): methods: Remove unused clrchecktask feature
* [#6054](https://github.com/icinga/icinga2/issues/6054) (Check Execution, Windows, code-quality): Remove unused clrchecktask
* [#6051](https://github.com/icinga/icinga2/issues/6051) (code-quality, PR): Set FOLDER cmake property for the icingaloader target
* [#6050](https://github.com/icinga/icinga2/issues/6050) (code-quality, PR): Replace boost::algorithm::split calls with String::Split
* [#6044](https://github.com/icinga/icinga2/issues/6044) (code-quality, PR): Implement support for frozen arrays and dictionaries
* [#6038](https://github.com/icinga/icinga2/issues/6038) (PR): Fix missing include for boost::split
* [#6037](https://github.com/icinga/icinga2/issues/6037) (PR): Fix build error on Windows
* [#6029](https://github.com/icinga/icinga2/issues/6029) (code-quality, PR): Remove duplicate semicolons
* [#6028](https://github.com/icinga/icinga2/issues/6028) (Packages): python notification not running when icinga ran as a service
* [#6026](https://github.com/icinga/icinga2/issues/6026) (Check Execution, Windows, PR): Fix flapping support for Windows
* [#6025](https://github.com/icinga/icinga2/issues/6025) (Windows): Implement Flapping on Windows
* [#6023](https://github.com/icinga/icinga2/issues/6023): Icinga should check whether the libsystemd library is available
* [#6017](https://github.com/icinga/icinga2/issues/6017) (PR): Remove build breaking include
* [#6015](https://github.com/icinga/icinga2/issues/6015) (code-quality, PR): Fix whitespaces in CMakeLists files
* [#6009](https://github.com/icinga/icinga2/issues/6009) (PR): Build fix for ancient versions of GCC
* [#6008](https://github.com/icinga/icinga2/issues/6008) (PR): Fix compatibility with CMake \< 3.1
* [#6007](https://github.com/icinga/icinga2/issues/6007) (PR): Fix missing include
* [#6005](https://github.com/icinga/icinga2/issues/6005) (PR): Fix incorrect dependencies for mkunity targets
* [#5999](https://github.com/icinga/icinga2/issues/5999) (PR): Build fix
* [#5998](https://github.com/icinga/icinga2/issues/5998) (code-quality, PR): Build all remaining libraries as object libraries
* [#5997](https://github.com/icinga/icinga2/issues/5997) (PR): Use gcc-ar and gcc-ranlib when building with -flto
* [#5994](https://github.com/icinga/icinga2/issues/5994) (InfluxDB, PR): InfluxDBWriter: Fix macro in template
* [#5993](https://github.com/icinga/icinga2/issues/5993) (code-quality, PR): Use CMake object libraries for our libs
* [#5992](https://github.com/icinga/icinga2/issues/5992) (code-quality, PR): Remove unused includes
* [#5984](https://github.com/icinga/icinga2/issues/5984) (DB IDO, PR): Fix missing static libraries for DB IDO
* [#5983](https://github.com/icinga/icinga2/issues/5983) (code-quality, PR): Use initializer lists for arrays and dictionaries
* [#5980](https://github.com/icinga/icinga2/issues/5980) (code-quality, PR): Explicitly pass 1 or 0 for notification filters in DB IDO
* [#5974](https://github.com/icinga/icinga2/issues/5974) (PR): Fix non-unity builds with the icinga check
* [#5971](https://github.com/icinga/icinga2/issues/5971) (code-quality, PR): Remove libdemo and libhello
* [#5970](https://github.com/icinga/icinga2/issues/5970) (code-quality, PR): Allocate ConfigItemBuilder objects on the stack
* [#5969](https://github.com/icinga/icinga2/issues/5969) (code-quality, PR): Remove the WorkQueue::m\_StatsMutex instance variable
* [#5968](https://github.com/icinga/icinga2/issues/5968) (code-quality, PR): Update the RingBuffer class to use a regular mutex instead of ObjectLock
* [#5967](https://github.com/icinga/icinga2/issues/5967) (code-quality, PR): Avoid accessing attributes for validators where not necessary
* [#5965](https://github.com/icinga/icinga2/issues/5965) (code-quality, PR): Avoid unnecessary casts in the JSON encoder
* [#5961](https://github.com/icinga/icinga2/issues/5961) (PR): Fix macro warning from the icinga check
* [#5960](https://github.com/icinga/icinga2/issues/5960): Macro warning from the icinga check
* [#5957](https://github.com/icinga/icinga2/issues/5957) (code-quality, PR): Change a bunch more copyright headers for 2018
* [#5955](https://github.com/icinga/icinga2/issues/5955) (Configuration, code-quality, PR): Avoid mutex contention in the config parser
* [#5946](https://github.com/icinga/icinga2/issues/5946) (code-quality, PR): Use clang-tidy to add some more C++11 features
* [#5945](https://github.com/icinga/icinga2/issues/5945) (code-quality, PR): Fix incorrect indentation for code generated by mkclass
* [#5944](https://github.com/icinga/icinga2/issues/5944) (code-quality, PR): Add the final keyword to classes
* [#5939](https://github.com/icinga/icinga2/issues/5939) (PR): Build fix for Debian wheezy
* [#5937](https://github.com/icinga/icinga2/issues/5937) (code-quality, PR): Remove inline methods and use explicit template instantiation to minimize the number of weak symbols
* [#5936](https://github.com/icinga/icinga2/issues/5936) (code-quality, PR): Clean up source lists in the CMakeLists.txt files
* [#5935](https://github.com/icinga/icinga2/issues/5935) (code-quality, PR): Implement support for precompiled headers
* [#5934](https://github.com/icinga/icinga2/issues/5934) (code-quality, PR): Add more include/library paths for MySQL and PostgreSQL
* [#5933](https://github.com/icinga/icinga2/issues/5933) (code-quality, PR): Change copyright headers for 2018
* [#5932](https://github.com/icinga/icinga2/issues/5932) (code-quality, PR): Fix copyright header in cli/troubleshootcommand.hpp
* [#5931](https://github.com/icinga/icinga2/issues/5931) (code-quality, PR): Improve detection for linker flags
* [#5930](https://github.com/icinga/icinga2/issues/5930) (code-quality, PR): Replace boost::function with std::function
* [#5929](https://github.com/icinga/icinga2/issues/5929) (code-quality, PR): Get rid of boost::assign::list\_of in mkclass
* [#5927](https://github.com/icinga/icinga2/issues/5927) (code-quality, PR): Build libraries as static libraries
* [#5909](https://github.com/icinga/icinga2/issues/5909) (code-quality, PR): WIP: Improve build times
* [#5903](https://github.com/icinga/icinga2/issues/5903) (code-quality, PR): Cleanup CompatUtility class and features
* [#5897](https://github.com/icinga/icinga2/issues/5897) (code-quality, PR): Remove unnecessary inline statements
* [#5894](https://github.com/icinga/icinga2/issues/5894) (code-quality, PR): Remove string\_iless
* [#5891](https://github.com/icinga/icinga2/issues/5891) (code-quality, PR): Update .gitignore
* [#5889](https://github.com/icinga/icinga2/issues/5889) (code-quality, PR): execvpe: Fixup indention for readability
* [#5887](https://github.com/icinga/icinga2/issues/5887) (PR): Windows build fix
* [#5886](https://github.com/icinga/icinga2/issues/5886) (code-quality): Remove unnecessary 'inline' keyword
* [#5882](https://github.com/icinga/icinga2/issues/5882) (code-quality, PR): Avoid unnecessary allocations
* [#5871](https://github.com/icinga/icinga2/issues/5871) (code-quality, PR): Unit tests for the LegacyTimePeriod class
* [#5868](https://github.com/icinga/icinga2/issues/5868) (Configuration, code-quality, PR): Use std::unique\_ptr for Expression objects
* [#5865](https://github.com/icinga/icinga2/issues/5865) (code-quality, PR): Add missing initializer in Utility::NewUniqueID\(\)
* [#5862](https://github.com/icinga/icinga2/issues/5862) (code-quality, PR): Replace a few more NULLs with nullptr
* [#5858](https://github.com/icinga/icinga2/issues/5858) (Tests, code-quality, PR): Travis: Add support for Coverity
* [#5857](https://github.com/icinga/icinga2/issues/5857) (code-quality, PR): Fix compiler warnings
* [#5855](https://github.com/icinga/icinga2/issues/5855) (PR): Fix build problems with Visual Studio 2017
* [#5848](https://github.com/icinga/icinga2/issues/5848) (code-quality, PR): Fix COPYING format
* [#5846](https://github.com/icinga/icinga2/issues/5846) (code-quality, PR): Fix compiler warnings
* [#5831](https://github.com/icinga/icinga2/issues/5831) (Check Execution, Configuration): No checks were launched on snapshot version 2.8.0.71 \(RHEL6\)
* [#5827](https://github.com/icinga/icinga2/issues/5827) (code-quality, PR): Replace StatsFunction with Function
* [#5825](https://github.com/icinga/icinga2/issues/5825) (code-quality, PR): Replace boost::assign::list\_of with initializer lists
* [#5824](https://github.com/icinga/icinga2/issues/5824) (code-quality, PR): Replace a few Boost features with equivalent C++11 features
* [#5821](https://github.com/icinga/icinga2/issues/5821) (Packages, Windows): check\_disk build error
* [#5819](https://github.com/icinga/icinga2/issues/5819) (code-quality, PR): Avoid unnecessary allocations in the FunctionCallExpression class
* [#5816](https://github.com/icinga/icinga2/issues/5816) (code-quality, PR): Re-implement WrapFunction\(\) using C++11 features
* [#5809](https://github.com/icinga/icinga2/issues/5809) (Documentation, Installation, PR): Raise required OpenSSL version to 1.0.1
* [#5758](https://github.com/icinga/icinga2/issues/5758) (Documentation, Packages): Completely remove the spec file from the icinga2 repository
* [#5743](https://github.com/icinga/icinga2/issues/5743) (CLI, Configuration, Installation): node setup: Deprecate --master\_host and use --parent\_host instead
* [#5725](https://github.com/icinga/icinga2/issues/5725) (code-quality, PR): Use real UUIDs for Utility::NewUniqueID
* [#5388](https://github.com/icinga/icinga2/issues/5388) (Packages, PR): Handle mis-detection with clang on RHEL/CentOS 7
* [#3246](https://github.com/icinga/icinga2/issues/3246) (Installation): Add option to windows installer to disable inclusion of conf.d directory

## 2.8.4 (2018-04-25)

### Bug

* [#6257](https://github.com/icinga/icinga2/issues/6257) (Check Execution): Plugins crash when run from icinga2-2.8.3 

### Support

* [#6260](https://github.com/icinga/icinga2/issues/6260) (Check Execution, PR): Revert "fixup set rlimit stack failed condition"

## 2.8.3 (2018-04-24)

### Notes

- Fix InfluxDB backslash escaping
- Fix Elasticsearch crash on invalid performance data
- Sysconfig file settings are taken into account
- Support multiple parameters for check_nscp_api
- Documentation enhancements and fixes

### Bug

* [#6207](https://github.com/icinga/icinga2/issues/6207) (Plugins, Windows, PR): Fix multiple parameter problems for check\_nscp\_api
* [#6196](https://github.com/icinga/icinga2/issues/6196) (InfluxDB, Metrics, PR): Fix InfluxDB backslash escaping
* [#6192](https://github.com/icinga/icinga2/issues/6192) (Crash, Elasticsearch, PR): Elasticsearch: Fix crash with invalid performance data metrics
* [#6191](https://github.com/icinga/icinga2/issues/6191) (Crash, Elasticsearch): Invalid Perfdata causing Segmentation fault with ElasticsearchWriter
* [#6182](https://github.com/icinga/icinga2/issues/6182) (InfluxDB): Windows Disk performance data broken in InfluxDB
* [#6179](https://github.com/icinga/icinga2/issues/6179) (CLI, Crash, PR): Fix crash in api user command
* [#6178](https://github.com/icinga/icinga2/issues/6178) (API, Crash): Error: boost::bad\_any\_cast: failed conversion using boost::any\_cast
* [#6140](https://github.com/icinga/icinga2/issues/6140): Force check has no effect
* [#6119](https://github.com/icinga/icinga2/issues/6119) (PR): fixup set rlimit stack failed condition
* [#5925](https://github.com/icinga/icinga2/issues/5925) (Crash, PR): Fix missing variable name in ApiListener::Start
* [#5924](https://github.com/icinga/icinga2/issues/5924) (Crash): The lock variable in ApiListener::Start is missing its name
* [#5881](https://github.com/icinga/icinga2/issues/5881) (API, PR): Fix package error message
* [#5706](https://github.com/icinga/icinga2/issues/5706) (Plugins, Windows): nscp\_api - cannot use check\_cpu with "time" argument used multiple times

### Documentation

* [#6227](https://github.com/icinga/icinga2/issues/6227) (Documentation, PR): Fix missing anchors in CLI commands chapter
* [#6203](https://github.com/icinga/icinga2/issues/6203) (Documentation, PR): Add docs for script debugger and API filters
* [#6177](https://github.com/icinga/icinga2/issues/6177) (Documentation, PR): Doc: Fix typo in API user creation example
* [#6176](https://github.com/icinga/icinga2/issues/6176) (Documentation, PR): hashed\_password -\> password\_hash. Fixes \#6175
* [#6175](https://github.com/icinga/icinga2/issues/6175) (Documentation): ApiUser does not know hashed\_password Attribute
* [#6166](https://github.com/icinga/icinga2/issues/6166) (Documentation, PR): Fix broken link in README
* [#6145](https://github.com/icinga/icinga2/issues/6145) (Documentation, PR): Fix incorrect parameter name in the API documentation
* [#6102](https://github.com/icinga/icinga2/issues/6102) (Documentation, PR): Fix typo in Apply for Rules documentation
* [#6080](https://github.com/icinga/icinga2/issues/6080) (Documentation, PR): Document the 'ignore\_on\_error' attribute for object creation
* [#6068](https://github.com/icinga/icinga2/issues/6068) (Documentation, PR): Fix the explanation of `types` and `states` for user objects
* [#5913](https://github.com/icinga/icinga2/issues/5913) (Documentation, ITL, PR): Enhance http\_certificate parameter documentation
* [#5838](https://github.com/icinga/icinga2/issues/5838) (Documentation, PR): services.conf has also be moved to zones.d/global-templates/
* [#5797](https://github.com/icinga/icinga2/issues/5797) (Documentation): Document the ignore\_on\_error parameter for CreateObjectHandler::HandleRequest
* [#5610](https://github.com/icinga/icinga2/issues/5610) (Documentation, ITL): http check doesn't map the critical ssl certificate age option

### Support

* [#6250](https://github.com/icinga/icinga2/issues/6250) (PR): Fix typo
* [#6241](https://github.com/icinga/icinga2/issues/6241) (Packages, PR): Fix Sysconfig file detection for Icinga 2 settings
* [#6230](https://github.com/icinga/icinga2/issues/6230) (PR): Unbreak build against Boost 1.67
* [#6215](https://github.com/icinga/icinga2/issues/6215) (Configuration, Packages): Sysconfig limits and settings are not respected
* [#6202](https://github.com/icinga/icinga2/issues/6202) (Packages, code-quality, PR): Use VERSION instead of icinga2.spec

## 2.8.2 (2018-03-22)

### Notes

A bugfix release with a focus on security.

Most of these have been brought to our attention by the community and we are very thankful for that. Special thanks to Michael H., Julian and Michael O., who helped by reporting and assisting us in fixing security bugs. CVEs have also been requested for these issues, they are as follows: CVE-2017-16933, CVE-2018-6532, CVE-2018-6533, CVE-2018-6534, CVE-2018-6535, CVE-2018-6536.

### Enhancement

* [#5715](https://github.com/icinga/icinga2/issues/5715) (API, PR): Hash API password and comparison

### Bug

* [#6153](https://github.com/icinga/icinga2/issues/6153) (API, PR): Improve error handling for empty packages in /v1/config/packages
* [#6147](https://github.com/icinga/icinga2/issues/6147) (PR): Fix incorrect argument type for JsonRpc::SendMessage
* [#6146](https://github.com/icinga/icinga2/issues/6146) (PR): Ensure that SetCorked\(\) works properly
* [#6134](https://github.com/icinga/icinga2/issues/6134) (PR): Fix incorrect HTTP content length limits
* [#6133](https://github.com/icinga/icinga2/issues/6133) (PR): Limit the number of HTTP/JSON-RPC requests we read in parallel
* [#6132](https://github.com/icinga/icinga2/issues/6132) (PR): Fix HTTP parser crash/hang
* [#6129](https://github.com/icinga/icinga2/issues/6129): api/packages not created by prepare-dir/daemon
* [#5995](https://github.com/icinga/icinga2/issues/5995) (InfluxDB, PR): Fix InfluxDB requests
* [#5991](https://github.com/icinga/icinga2/issues/5991): Partial privilege escalation via PID file manipulation
* [#5987](https://github.com/icinga/icinga2/issues/5987) (Elasticsearch, InfluxDB, Metrics): InfluxDBWriter and ElasticsearchWriter stop writing to HTTP API
* [#5943](https://github.com/icinga/icinga2/issues/5943) (PR): Fix incorrect ::Start call
* [#5793](https://github.com/icinga/icinga2/issues/5793): CVE-2017-16933: root privilege escalation via prepare-dirs \(init script and systemd service file\)
* [#5760](https://github.com/icinga/icinga2/issues/5760) (Crash, PR): Fix incorrect socket handling for the HTTP client

### Documentation

* [#6172](https://github.com/icinga/icinga2/issues/6172) (Documentation, PR): Docs: Add a note to only query the NSClient++ API from the local Icinga 2 client
* [#6111](https://github.com/icinga/icinga2/issues/6111) (Documentation, PR): Add Upgrading to Icinga 2.8.2 chapter
* [#6089](https://github.com/icinga/icinga2/issues/6089) (Documentation, PR): Docs: Fix bracket in notification example
* [#6086](https://github.com/icinga/icinga2/issues/6086) (Documentation, PR): Upgrading: Make it more clear that the Director script is just an example
* [#6075](https://github.com/icinga/icinga2/issues/6075) (Documentation, PR): Explain how to register functions in the global scope
* [#6014](https://github.com/icinga/icinga2/issues/6014) (Documentation, PR): Docs: Add IDO DB tuning tips
* [#6006](https://github.com/icinga/icinga2/issues/6006) (Documentation, PR): Fix wrong nscp-local include in the docs

### Support

* [#6148](https://github.com/icinga/icinga2/issues/6148) (PR): Fix ApiUser unit test
* [#6135](https://github.com/icinga/icinga2/issues/6135) (API, Cluster, PR): Limit JSON RPC message size
* [#6115](https://github.com/icinga/icinga2/issues/6115) (PR): Fix incorrect size of request limits
* [#6114](https://github.com/icinga/icinga2/issues/6114) (PR): Fix typo in prepare-dirs
* [#6104](https://github.com/icinga/icinga2/issues/6104) (PR): Fix nullptr dereferences
* [#6103](https://github.com/icinga/icinga2/issues/6103) (PR): HTTP Security fixes
* [#5982](https://github.com/icinga/icinga2/issues/5982) (Packages, PR): SELinux: Allows icinga2\_t to send sigkill to all domains it transitions to
* [#5916](https://github.com/icinga/icinga2/issues/5916) (Packages): Unable to kill process group after check timeout if SElinux is enabled
* [#5850](https://github.com/icinga/icinga2/issues/5850) (Installation, PR): init script security fixes
* [#5764](https://github.com/icinga/icinga2/issues/5764) (InfluxDB, code-quality, PR): Improve InfluxdbWriter performance
* [#5759](https://github.com/icinga/icinga2/issues/5759) (code-quality, PR): Make default getters and setters non-virtual

## 2.8.1 (2018-01-17)

### Enhancement

* [#5856](https://github.com/icinga/icinga2/issues/5856) (PR): Implement AppLocal deployment support for UCRT

### Bug

* [#5986](https://github.com/icinga/icinga2/issues/5986) (DB IDO, PR): Fix wrong schema constraint for fresh 2.8.0 installations
* [#5947](https://github.com/icinga/icinga2/issues/5947) (DB IDO): Duplicate entry constraint violations in 2.8
* [#5907](https://github.com/icinga/icinga2/issues/5907) (PR): Windows plugin check\_swap build fix
* [#5808](https://github.com/icinga/icinga2/issues/5808) (Crash, PR): Fix missing variable name which can lead to segfaults
* [#5807](https://github.com/icinga/icinga2/issues/5807) (Crash): icinga v2.8.0 crashes frequently with "segmentation fault" on Debian 8.9
* [#5804](https://github.com/icinga/icinga2/issues/5804) (Log, PR): Silence UpdateRepository message errors
* [#5776](https://github.com/icinga/icinga2/issues/5776) (Cluster, Log): 2.8.0: warning/JsonRpcConnection: Call to non-existent function 'event::UpdateRepository' 
* [#5746](https://github.com/icinga/icinga2/issues/5746) (Livestatus, PR): livestatus: custom variables return empty arrays instead of strings
* [#5716](https://github.com/icinga/icinga2/issues/5716) (Livestatus, PR): add bogus zero reply in livestatus when aggregate and non matching filter
* [#5626](https://github.com/icinga/icinga2/issues/5626) (Livestatus, help wanted): Empty result set with non-matching filters in Livestatus stats query

### ITL

* [#5785](https://github.com/icinga/icinga2/issues/5785) (ITL, PR): ITL: Drop ssl\_sni default setting
* [#5775](https://github.com/icinga/icinga2/issues/5775) (ITL): Default usage of ssl\_sni in check\_tcp

### Documentation

* [#5972](https://github.com/icinga/icinga2/issues/5972) (Documentation, PR): Update 08-advanced-topics.md
* [#5942](https://github.com/icinga/icinga2/issues/5942) (Documentation, PR): Add some technical insights into the cluster-zone health check and log lag
* [#5922](https://github.com/icinga/icinga2/issues/5922) (Documentation, PR): Fix link format in documentation
* [#5918](https://github.com/icinga/icinga2/issues/5918) (Documentation, PR): Fix typo in SELinux documentation
* [#5911](https://github.com/icinga/icinga2/issues/5911) (Documentation, PR): Update ElasticsearchWriter docs for 5.x support only
* [#5866](https://github.com/icinga/icinga2/issues/5866) (Documentation, PR): Remove redundant FreeBSD from restart instructions and add openSUSE
* [#5864](https://github.com/icinga/icinga2/issues/5864) (Documentation, PR): Add missing initdb to PostgreSQL documentation
* [#5835](https://github.com/icinga/icinga2/issues/5835) (Documentation, PR): Fixes postgres schema upgrade path
* [#5833](https://github.com/icinga/icinga2/issues/5833) (Documentation, PR): fix formatting error
* [#5790](https://github.com/icinga/icinga2/issues/5790) (Documentation, PR): Documentation fixes
* [#5783](https://github.com/icinga/icinga2/issues/5783) (Documentation, PR): Fix formatting in value types docs
* [#5773](https://github.com/icinga/icinga2/issues/5773) (Documentation, Windows, PR): Update Windows Client requirements for 2.8
* [#5757](https://github.com/icinga/icinga2/issues/5757) (Documentation, PR): Add documentation about automatic service restarts with systemd

### Support

* [#5989](https://github.com/icinga/icinga2/issues/5989) (PR): changelog.py: Adjust categories and labels: Enhancement, Bug, ITL, Documentation, Support
* [#5938](https://github.com/icinga/icinga2/issues/5938) (Packages, Windows): chocolatey outdated version
* [#5893](https://github.com/icinga/icinga2/issues/5893) (code-quality, PR): Whitespace fix
* [#5892](https://github.com/icinga/icinga2/issues/5892) (Installation, PR): Enable installing the init scripts on Solaris
* [#5851](https://github.com/icinga/icinga2/issues/5851) (Plugins, Windows, PR): Fix check\_service returning Warning instead of Critical
* [#5780](https://github.com/icinga/icinga2/issues/5780) (Packages, Windows): Icinga Agent Windows 2.8.0 msvcr120.dll is missing

## 2.8.0 (2017-11-16)

### Notes

* Certificate path changed to /var/lib/icinga2/certs - check the upgrading docs!
* DB IDO 2.8.0 schema upgrade
* Cluster/Clients: Forward certificate signing requests over multiple levels
* Cluster/Clients: Support on-demand signing next to ticket based certificate request signing
* New flapping detection algorithm
* Add ElasticsearchWriter feature with HTTP proxy support
* Add CORS support for the REST API
* Deprecate `flapping_threshold` config option
* Remove client configuration mode "bottom up"
* Remove classicui meta configuration package
* Remove deprecated `enable_legacy_mode` in Graphite feature
* Spec file was moved to https://github.com/icinga/icinga-packaging
* ITL CheckCommand definition updates
* Documentation updates

### Enhancement

* [#5682](https://github.com/icinga/icinga2/issues/5682) (Cluster, Configuration, PR): Implement support for migrating certificates to /var/lib/icinga2/certs
* [#5681](https://github.com/icinga/icinga2/issues/5681) (CLI, Cluster, Windows): Update Windows wizard from enhanced CSR signing \(optional ticket\)
* [#5679](https://github.com/icinga/icinga2/issues/5679) (CLI, Cluster): Migration path for improved certificate signing in the cluster
* [#5606](https://github.com/icinga/icinga2/issues/5606) (Cluster, PR): Remove bottom-up client mode
* [#5602](https://github.com/icinga/icinga2/issues/5602) (Windows, PR): Add windows process elevation and log message if user does not have privileges to read/write files
* [#5587](https://github.com/icinga/icinga2/issues/5587) (Log, PR): SyslogLogger: Implement option to set syslog facility
* [#5580](https://github.com/icinga/icinga2/issues/5580) (Configuration, PR): Implement new script functions: path\_exists, glob and glob\_recursive
* [#5571](https://github.com/icinga/icinga2/issues/5571) (CLI, Cluster, PR): Implement support for forwarding certificate signing requests in the cluster
* [#5569](https://github.com/icinga/icinga2/issues/5569) (Metrics, PR): ElasticWriter: Add basic auth and TLS support for Elasticsearch behind an HTTP proxy
* [#5554](https://github.com/icinga/icinga2/issues/5554) (API, Cluster, PR): Add subjectAltName extension for all non-CA certificates
* [#5547](https://github.com/icinga/icinga2/issues/5547) (API, PR): Add optional reload parameter to config stage upload
* [#5538](https://github.com/icinga/icinga2/issues/5538) (Metrics): Add ElasticsearchWriter feature
* [#5534](https://github.com/icinga/icinga2/issues/5534) (Configuration, PR): Implement get\_services\(host {name,object}\) and add host object support for get\_service\(\)
* [#5527](https://github.com/icinga/icinga2/issues/5527) (API, PR): API: Add execution\_{start,end} attribute to 'process-check-result' action
* [#5450](https://github.com/icinga/icinga2/issues/5450) (CLI, Cluster): Enhance CSR Autosigning \(CA proxy, etc.\)
* [#5443](https://github.com/icinga/icinga2/issues/5443) (API, PR): Add CORS support and set response header 'Access-Control-Allow-Origin'
* [#5435](https://github.com/icinga/icinga2/issues/5435) (Plugins, Windows, PR): Add -d option to check\_service
* [#5002](https://github.com/icinga/icinga2/issues/5002) (API, wishlist): API process-check-result allow setting timestamp
* [#4912](https://github.com/icinga/icinga2/issues/4912) (Configuration): new function get\_services\(host\_name\)
* [#4799](https://github.com/icinga/icinga2/issues/4799) (Cluster): Remove cluster/client mode "bottom up" w/ repository.d and node update-config
* [#4769](https://github.com/icinga/icinga2/issues/4769) (API): Validate and activate config package stages without triggering a reload
* [#4326](https://github.com/icinga/icinga2/issues/4326) (API): API should provide CORS Header
* [#3891](https://github.com/icinga/icinga2/issues/3891) (Plugins): Add option to specify ServiceDescription instead of ServiceName with check\_service.exe

### Bug

* [#5728](https://github.com/icinga/icinga2/issues/5728) (Plugins, Windows, PR): Fix check\_service not working with names
* [#5720](https://github.com/icinga/icinga2/issues/5720) (Check Execution): Flapping tests and bugs
* [#5710](https://github.com/icinga/icinga2/issues/5710) (CLI, Configuration, PR): Include default global zones during node wizard/setup
* [#5707](https://github.com/icinga/icinga2/issues/5707) (CLI): node wizard/setup override zones.conf but do not include default global zones \(director-global, global-templates\)
* [#5696](https://github.com/icinga/icinga2/issues/5696) (PR): Fix fork error handling
* [#5641](https://github.com/icinga/icinga2/issues/5641) (PR): Fix compiler warnings on macOS 10.13
* [#5635](https://github.com/icinga/icinga2/issues/5635) (Configuration, PR): Fix match\(\), regex\(\), cidr\_match\(\) behaviour with MatchAll and empty arrays
* [#5634](https://github.com/icinga/icinga2/issues/5634) (Configuration): match\(\) for arrays returns boolean true if array is empty
* [#5620](https://github.com/icinga/icinga2/issues/5620) (API, PR): Ensure that the REST API config package/stage creation is atomic
* [#5617](https://github.com/icinga/icinga2/issues/5617): Crash with premature EOF on resource limited OS
* [#5614](https://github.com/icinga/icinga2/issues/5614) (PR): Fixed missing include statement in unit tests
* [#5584](https://github.com/icinga/icinga2/issues/5584) (Windows): Build error on Windows
* [#5581](https://github.com/icinga/icinga2/issues/5581) (API, Cluster, Crash, PR): Fix possible race condition in ApiListener locking
* [#5558](https://github.com/icinga/icinga2/issues/5558) (API, PR): Don't sent scheme and hostname in request
* [#5515](https://github.com/icinga/icinga2/issues/5515) (Windows): Config validation fails on Windows with unprivileged account
* [#5500](https://github.com/icinga/icinga2/issues/5500) (Crash, PR): Process: Fix JSON parsing error on process helper crash
* [#5497](https://github.com/icinga/icinga2/issues/5497) (API, PR): API: Fix requested attrs/joins/meta type errors in object query response
* [#5485](https://github.com/icinga/icinga2/issues/5485) (DB IDO, PR): Ensure that expired/removed downtimes/comments are correctly updated in DB IDO
* [#5377](https://github.com/icinga/icinga2/issues/5377) (API, Log): Sending wrong value for key causes ugly stacktrace
* [#5231](https://github.com/icinga/icinga2/issues/5231) (Check Execution, PR): Report failure to kill check command after exceeding timeout
* [#4981](https://github.com/icinga/icinga2/issues/4981) (Check Execution): Failure to kill check command after exceeding timeout is not reported

### ITL

* [#5678](https://github.com/icinga/icinga2/issues/5678) (ITL, PR): Added missing "-q" parameter to check\_ntp\_peer
* [#5672](https://github.com/icinga/icinga2/issues/5672) (ITL, PR): add itl snmp-service for manubulon plugin check\_snmp\_win.pl
* [#5647](https://github.com/icinga/icinga2/issues/5647) (ITL, PR): Allow to disable thresholds for ipmi CheckCommand
* [#5640](https://github.com/icinga/icinga2/issues/5640) (ITL, PR): ITL: Support weathermap data in snmp\_interface CheckCommand
* [#5638](https://github.com/icinga/icinga2/issues/5638) (ITL, PR): Add support for check\_address as default in database CheckCommand objects
* [#5578](https://github.com/icinga/icinga2/issues/5578) (ITL, PR): ITL: Re-Add ssl\_sni attribute for check\_tcp
* [#5577](https://github.com/icinga/icinga2/issues/5577) (ITL): ssl CheckCommand does not support SNI
* [#5570](https://github.com/icinga/icinga2/issues/5570) (ITL, PR): check\_esxi\_hardware.py with new --no-lcd parameter
* [#5559](https://github.com/icinga/icinga2/issues/5559) (ITL, PR): Exclude configfs from disk checks
* [#5427](https://github.com/icinga/icinga2/issues/5427) (ITL): Update negate CheckCommand definition
* [#5401](https://github.com/icinga/icinga2/issues/5401) (ITL, PR): itl: Add manubulon/check\_snmp\_env.pl as CheckCommand snmp-env
* [#5394](https://github.com/icinga/icinga2/issues/5394) (ITL, PR): itl: add additional mssql\_health arguments
* [#5387](https://github.com/icinga/icinga2/issues/5387) (ITL, PR): Add missing options to snmp CheckCommand definition

### Documentation

* [#5768](https://github.com/icinga/icinga2/issues/5768) (Documentation, PR): Update .mailmap and AUTHORS
* [#5761](https://github.com/icinga/icinga2/issues/5761) (Documentation, PR): Fix wrong anchors in the documentation
* [#5755](https://github.com/icinga/icinga2/issues/5755) (Documentation, PR): Fix missing Accept header in troubleshooting docs
* [#5754](https://github.com/icinga/icinga2/issues/5754) (Documentation, PR): Improve documentation of cipher\_list
* [#5752](https://github.com/icinga/icinga2/issues/5752) (Documentation, PR): Add Noah Hilverling to .mailmap
* [#5748](https://github.com/icinga/icinga2/issues/5748) (Documentation, PR): Fix missing word in pin checks in a zone doc chapter
* [#5741](https://github.com/icinga/icinga2/issues/5741) (Documentation, PR): Fix manual certificate creation chapter in the docs
* [#5738](https://github.com/icinga/icinga2/issues/5738) (Documentation, PR): Update release docs
* [#5734](https://github.com/icinga/icinga2/issues/5734) (Documentation, PR): Fix broken links inside the documentation
* [#5727](https://github.com/icinga/icinga2/issues/5727) (Documentation, PR): Update upgrading documentation for 2.8
* [#5708](https://github.com/icinga/icinga2/issues/5708) (Documentation, PR): Fixed grammar and spelling mistakes
* [#5703](https://github.com/icinga/icinga2/issues/5703) (Documentation): Minor documentation typos in flapping detection description
* [#5695](https://github.com/icinga/icinga2/issues/5695) (Documentation, PR): Enhance Security chapter for Distributed Monitoring documentation
* [#5691](https://github.com/icinga/icinga2/issues/5691) (Documentation, PR): Fixed doc formatting
* [#5690](https://github.com/icinga/icinga2/issues/5690) (Documentation): Improve documentation of cipher\_list
* [#5688](https://github.com/icinga/icinga2/issues/5688) (Documentation, PR): Fixed typos and punctuation
* [#5680](https://github.com/icinga/icinga2/issues/5680) (Documentation): Review documentation for enhanced CSR signing and update migration chapter for 2.8
* [#5677](https://github.com/icinga/icinga2/issues/5677) (Documentation, PR): Fix typo in threshold syntax documentation
* [#5668](https://github.com/icinga/icinga2/issues/5668) (Documentation, PR): Enhance Monitoring Basics in the documentation
* [#5667](https://github.com/icinga/icinga2/issues/5667) (Documentation): Explain which values can be used for set\_if in command arguments
* [#5666](https://github.com/icinga/icinga2/issues/5666) (Documentation): Explain the notification with users defined on host/service in a dedicated docs chapter
* [#5665](https://github.com/icinga/icinga2/issues/5665) (Documentation): Better explanations and iteration details for "apply for" documentation
* [#5664](https://github.com/icinga/icinga2/issues/5664) (Documentation): Add usage examples to the "apply" chapter based on custom attribute values
* [#5663](https://github.com/icinga/icinga2/issues/5663) (Documentation): Explain custom attribute value types and nested dictionaries
* [#5662](https://github.com/icinga/icinga2/issues/5662) (Documentation): Explain how to use a different host check command
* [#5655](https://github.com/icinga/icinga2/issues/5655) (Documentation, PR): Enhance documentation with more details on value types for object attributes
* [#5576](https://github.com/icinga/icinga2/issues/5576) (Documentation, PR): Fixed downtime example in documentation
* [#5568](https://github.com/icinga/icinga2/issues/5568) (Documentation, PR): Add documentation for multi-line plugin output for API actions
* [#5511](https://github.com/icinga/icinga2/issues/5511) (Cluster, Documentation, Windows): SSL errors with leading zeros in certificate serials \(created \< v2.4\) with OpenSSL 1.1.0
* [#5379](https://github.com/icinga/icinga2/issues/5379) (Documentation, PR): Set shell prompt for commands to be \#
* [#5186](https://github.com/icinga/icinga2/issues/5186) (Documentation): Document boolean values understood by set\_if
* [#5060](https://github.com/icinga/icinga2/issues/5060) (Documentation): Missing documentation for macro\(\)
* [#4015](https://github.com/icinga/icinga2/issues/4015) (Documentation): Add documentation for host state calculation from plugin exit codes

### Support

* [#5765](https://github.com/icinga/icinga2/issues/5765) (Configuration, PR): Fix default configuration example for ElasticsearchWriter
* [#5739](https://github.com/icinga/icinga2/issues/5739) (Metrics, PR): Rename ElasticWriter to ElasticsearchWriter
* [#5732](https://github.com/icinga/icinga2/issues/5732) (Check Execution, DB IDO, PR): Fix flapping calculation and events
* [#5730](https://github.com/icinga/icinga2/issues/5730) (PR): Add missing trims to GetMasterHostPort and remove Convert.ToString from variables that are strings already
* [#5719](https://github.com/icinga/icinga2/issues/5719) (Cluster, Installation, Windows, PR): Update Windows Wizard for 2.8 and new signing methods
* [#5687](https://github.com/icinga/icinga2/issues/5687) (Cluster, Log, PR): Improve error message for unknown cluster message functions
* [#5686](https://github.com/icinga/icinga2/issues/5686) (Log): Ugly stacktrace with mismatching versions in cluster
* [#5643](https://github.com/icinga/icinga2/issues/5643) (PR): Fix debug builds on Apple Clang 9.0.0 \(macOS High Sierra\)
* [#5637](https://github.com/icinga/icinga2/issues/5637) (InfluxDB, PR): Fix unnecessary String\(\) casts in InfluxdbWriter
* [#5629](https://github.com/icinga/icinga2/issues/5629) (InfluxDB, Metrics, code-quality): Remove the unnecessary String\(\) casts in influxdbwriter.cpp
* [#5624](https://github.com/icinga/icinga2/issues/5624) (PR): Fixed missing include statement in unit test
* [#5619](https://github.com/icinga/icinga2/issues/5619) (Packages, PR): Exit early in changelog.py if GitHub API fetch fails
* [#5616](https://github.com/icinga/icinga2/issues/5616) (PR): Fix a build warning
* [#5608](https://github.com/icinga/icinga2/issues/5608) (CLI, Cluster, PR): Fix certificate paths for installers
* [#5604](https://github.com/icinga/icinga2/issues/5604) (Packages, PR): Remove the icinga2-classicui-package and update documentation
* [#5601](https://github.com/icinga/icinga2/issues/5601) (Installation, Packages, PR): Ensure that the cache directory always is set and add a note to upgrading docs
* [#5563](https://github.com/icinga/icinga2/issues/5563) (Cluster, PR): Implement additional logging for the JsonRpc class
* [#5545](https://github.com/icinga/icinga2/issues/5545) (Installation, Windows, PR): Add Edit button to Windows Setup Wizard
* [#5488](https://github.com/icinga/icinga2/issues/5488) (code-quality, PR): Implement additional functions for printing values with LLDB/GDB
* [#5486](https://github.com/icinga/icinga2/issues/5486) (Graphite, PR): Graphite: Remove deprecated legacy schema mode
* [#5301](https://github.com/icinga/icinga2/issues/5301) (Installation, Packages): Remove the icinga2-classicui-config package
* [#5258](https://github.com/icinga/icinga2/issues/5258) (Installation, PR): Fix clang compiler detection on Fedora and macOS
* [#4992](https://github.com/icinga/icinga2/issues/4992) (Graphite): Remove deprecated GraphiteWriter feature enable\_legacy\_mode
* [#4982](https://github.com/icinga/icinga2/issues/4982) (Notifications, Tests): Verify and fix flapping detection

## 2.7.2 (2017-11-09)

### Notes

* Fixed invalid attribute names in the systemd unit file
* Fixed incorrect unique constraint for IDO DB
* Moved spec file to the icinga-packaging Git repository
* Documentation updates

### Bug

* [#5636](https://github.com/icinga/icinga2/issues/5636) (DB IDO, PR): Fix unique constraint matching for UPDATE downtime/comment runtime tables in DB IDO
* [#5623](https://github.com/icinga/icinga2/issues/5623) (DB IDO): Duplicate Key on MySQL after upgrading to v2.7.1
* [#5603](https://github.com/icinga/icinga2/issues/5603) (DB IDO): Icinga 2.7.1 IDO Unique Key Constraint Violation with PostgreSQL

### Documentation

* [#5653](https://github.com/icinga/icinga2/issues/5653) (Documentation, PR): Docs: Fix default value for `snmp\_nocrypt` for Manubulon CheckCommand definitions
* [#5652](https://github.com/icinga/icinga2/issues/5652) (Documentation, PR): Docs: Fix missing default value for cluster-zone checks
* [#5632](https://github.com/icinga/icinga2/issues/5632) (Documentation, PR): Docs: Mention SELinux in Getting Started chapter

### Support

* [#5736](https://github.com/icinga/icinga2/issues/5736) (Packages, PR): Remove spec file
* [#5612](https://github.com/icinga/icinga2/issues/5612) (Documentation, Packages, PR): Improve documentation and systemd config on TaskMax

## 2.7.1 (2017-09-21)

### Notes

* Fixes and upgrade documentation for notificatication scripts introduced in 2.7.0
* InfluxdbWriter attribute `socket_timeout` introduced in 2.7.0 was deprecated (will be removed in 2.8.0). Details in #5469 and #5460
* Livestatus bygroup table stats fixes for NagVis
* DB IDO: Fixes for downtime/comment history queries not correctly updating the end time
* check_nscp_api allows white spaces in arguments
* Bugfixes
* Documentation updates

### Enhancement

* [#5523](https://github.com/icinga/icinga2/issues/5523) (Cluster, Log, PR): Enhance client connect/sync logging and include bytes/zone in logs
* [#5474](https://github.com/icinga/icinga2/issues/5474) (Notifications, PR): Notification scripts - make HOSTADDRESS optional
* [#5468](https://github.com/icinga/icinga2/issues/5468) (Notifications, PR): Make notification mails more readable. Remove redundancy and cruft.

### Bug

* [#5585](https://github.com/icinga/icinga2/issues/5585) (DB IDO, PR): Fix where clause for non-matching {downtime,comment}history IDO database updates
* [#5566](https://github.com/icinga/icinga2/issues/5566) (Cluster, Log, PR): Logs: Change config sync update to highlight an information, not an error
* [#5539](https://github.com/icinga/icinga2/issues/5539) (Plugins, Windows, PR): check\_nscp\_api: Allow arguments containing spaces
* [#5537](https://github.com/icinga/icinga2/issues/5537) (Plugins): check\_nscp\_api: support spaces in query arguments
* [#5524](https://github.com/icinga/icinga2/issues/5524) (Cluster, PR): Change FIFO::Optimize\(\) frequency for large messages
* [#5513](https://github.com/icinga/icinga2/issues/5513) (Cluster): Node in Cluster loses connection
* [#5504](https://github.com/icinga/icinga2/issues/5504) (InfluxDB, PR): Fix TLS Race Connecting to InfluxDB
* [#5503](https://github.com/icinga/icinga2/issues/5503) (Livestatus, PR): Fix grouping for Livestatus queries with 'Stats'
* [#5502](https://github.com/icinga/icinga2/issues/5502) (Notifications, PR): Fix duplicate variable in notification scripts
* [#5495](https://github.com/icinga/icinga2/issues/5495) (Notifications, PR): Fix parameter order for AcknowledgeSvcProblem / AcknowledgeHostProblem / apiactions:AcknowledgeProblem
* [#5492](https://github.com/icinga/icinga2/issues/5492) (DB IDO): Comments may not be removed correctly
* [#5484](https://github.com/icinga/icinga2/issues/5484) (Log): Timestamp comparison of config files logs a wrong message
* [#5483](https://github.com/icinga/icinga2/issues/5483) (DB IDO, PR): Fix config validation for DB IDO categories 'DbCatEverything'
* [#5469](https://github.com/icinga/icinga2/issues/5469) (InfluxDB): Failure to connect to InfluxDB increases CPU utilisation by 100%  for every failure
* [#5466](https://github.com/icinga/icinga2/issues/5466) (DB IDO, PR): DB IDO: Fix host's unreachable state in history tables
* [#5460](https://github.com/icinga/icinga2/issues/5460) (InfluxDB): Icinga 2.7 InfluxdbWriter fails to write metrics to InfluxDB over HTTPS
* [#5458](https://github.com/icinga/icinga2/issues/5458) (DB IDO): IDO donwtimehistory records orphaned from scheduleddowntime records following restart
* [#5405](https://github.com/icinga/icinga2/issues/5405) (DB IDO): IDO statehistory table does not show hosts going to "UNREACHABLE" state.
* [#5078](https://github.com/icinga/icinga2/issues/5078) (Compat, Livestatus): Livestatus hostsbygroup and servicesbyhostgroup do not work

### ITL

* [#5543](https://github.com/icinga/icinga2/issues/5543) (ITL, PR): ITL: Correct arguments for ipmi-sensor CheckCommand

### Documentation

* [#5594](https://github.com/icinga/icinga2/issues/5594) (Documentation, PR): Docs: Enhance certificate and configuration troubleshooting chapter
* [#5593](https://github.com/icinga/icinga2/issues/5593) (Documentation, PR): Docs: Add a note for upgrading to 2.7
* [#5583](https://github.com/icinga/icinga2/issues/5583) (Documentation, PR): Docs: Add example for Windows service monitoring with check\_nscp\_api
* [#5582](https://github.com/icinga/icinga2/issues/5582) (Documentation, PR): Docs: Add firewall details for check\_nscp\_api
* [#5549](https://github.com/icinga/icinga2/issues/5549) (Documentation, PR): Fix cli command used to enable debuglog feature on windows
* [#5536](https://github.com/icinga/icinga2/issues/5536) (Documentation, PR): Fixed nscp-disk service example
* [#5522](https://github.com/icinga/icinga2/issues/5522) (Documentation, PR): Docs: Update freshness checks; add chapter for external check results
* [#5516](https://github.com/icinga/icinga2/issues/5516) (Documentation, PR): Updates the install dependencies for Debian 9 'stretch'
* [#5506](https://github.com/icinga/icinga2/issues/5506) (Documentation, PR): Docs: Fix wrong parameter for ITL CheckCommand nscp\_api
* [#5496](https://github.com/icinga/icinga2/issues/5496) (Documentation, PR): Docs: Update examples for match/regex/cidr\_match and mode for arrays \(Match{All,Any}\)
* [#5494](https://github.com/icinga/icinga2/issues/5494) (Documentation, PR): Docs: Add section for multiple template imports
* [#5491](https://github.com/icinga/icinga2/issues/5491) (Documentation, PR): Update "Getting Started" documentation with Alpine Linux
* [#5487](https://github.com/icinga/icinga2/issues/5487) (Documentation, PR): Docs: Enhance Troubleshooting with nscp-local, check\_source, wrong thresholds
* [#5476](https://github.com/icinga/icinga2/issues/5476) (Documentation, PR): Docs: Fix ITL chapter TOC; add introduction with mini TOC
* [#5475](https://github.com/icinga/icinga2/issues/5475) (Documentation, PR): Docs: Add a note on required configuration updates for new notification scripts in v2.7.0
* [#5461](https://github.com/icinga/icinga2/issues/5461) (Documentation, PR): Update Icinga repository release rpm location
* [#5457](https://github.com/icinga/icinga2/issues/5457) (Documentation, PR): Add Changelog generation script for GitHub API
* [#5428](https://github.com/icinga/icinga2/issues/5428) (Documentation): "Plugin Check Commands" section inside ITL docs needs adjustments

### Support

* [#5599](https://github.com/icinga/icinga2/issues/5599) (PR): changelog.py: Add "backported" to the list of ignored labels
* [#5590](https://github.com/icinga/icinga2/issues/5590) (Cluster, Log, PR): Silence log level for configuration file updates
* [#5529](https://github.com/icinga/icinga2/issues/5529) (Log, PR): Change two more loglines for checkables so checkable is quoted
* [#5528](https://github.com/icinga/icinga2/issues/5528) (Log, PR): Change loglines for checkables so checkable is quoted
* [#5501](https://github.com/icinga/icinga2/issues/5501) (Installation, Packages, PR): SELinux: fixes for 2.7.0
* [#5479](https://github.com/icinga/icinga2/issues/5479) (Packages): Icinga2 2.7.0 requires SELinux boolean icinga2\_can\_connect\_all on CentOS 7 even for default port
* [#5477](https://github.com/icinga/icinga2/issues/5477) (Installation, Packages, PR): Systemd: Add DefaultTasksMax=infinity to service file
* [#5392](https://github.com/icinga/icinga2/issues/5392) (Packages, PR): Ensure the cache directory exists
* [#4918](https://github.com/icinga/icinga2/issues/4918) (Packages): cgroup: fork rejected by pids controller in /system.slice/icinga2.service
* [#4414](https://github.com/icinga/icinga2/issues/4414) (Packages): /usr/lib/icinga2/prepare-dirs does not create /var/cache/icinga2

## 2.7.0 (2017-08-02)

### Notes

* New mail notification scripts. Please note that this requires a configuration update to NotificationCommand objects, Notification apply rules for specific settings and of course the notification scripts. More can be found [here](https://github.com/Icinga/icinga2/pull/5475).
* check_nscp_api plugin for NSClient++ REST API checks
* Work queues for features including logs & metrics
* More metrics for the "icinga" check
* Many bugfixes

### Enhancement

* [#5421](https://github.com/icinga/icinga2/issues/5421) (Plugins, Windows, PR): Windows Plugins: Add new parameter to check\_disk to show used space
* [#5348](https://github.com/icinga/icinga2/issues/5348) (Configuration, PR): Implement support for handling exceptions in user scripts
* [#5331](https://github.com/icinga/icinga2/issues/5331) (Graylog, PR): GelfWriter: Add 'check\_command' to CHECK RESULT/\* NOTIFICATION/STATE CHANGE messages
* [#5330](https://github.com/icinga/icinga2/issues/5330) (Graphite, PR): GraphiteWriter: Add 'connected' to stats; fix reconnect exceptions
* [#5329](https://github.com/icinga/icinga2/issues/5329) (Graylog, PR): GelfWriter: Use async work queue and add feature metric stats
* [#5320](https://github.com/icinga/icinga2/issues/5320) (Configuration, PR): zones.conf: Add global-templates & director-global by default
* [#5287](https://github.com/icinga/icinga2/issues/5287) (Graphite, InfluxDB, Metrics, PR): Use workqueues in Graphite and InfluxDB features
* [#5284](https://github.com/icinga/icinga2/issues/5284) (Check Execution, PR): Add feature stats to 'icinga' check as performance data metrics
* [#5280](https://github.com/icinga/icinga2/issues/5280) (API, Cluster, Log, PR): Implement WorkQueue metric stats and periodic logging
* [#5266](https://github.com/icinga/icinga2/issues/5266) (API, Cluster, PR): Add API & Cluster metric stats to /v1/status & icinga check incl. performance data
* [#5264](https://github.com/icinga/icinga2/issues/5264) (Configuration, PR): Implement new array match functionality
* [#5247](https://github.com/icinga/icinga2/issues/5247) (Log, PR): Add target object in cluster error messages to debug log
* [#5246](https://github.com/icinga/icinga2/issues/5246) (API, Cluster, PR): Add subjectAltName X509 ext for certificate requests
* [#5242](https://github.com/icinga/icinga2/issues/5242) (Configuration, PR): Allow expressions for the type in object/template declarations
* [#5241](https://github.com/icinga/icinga2/issues/5241) (InfluxDB, PR): Verbose InfluxDB Error Logging
* [#5239](https://github.com/icinga/icinga2/issues/5239) (Plugins, Windows, PR): Add NSCP API check plugin for NSClient++ HTTP API
* [#5212](https://github.com/icinga/icinga2/issues/5212) (Cluster, Log): Add additional logging for config sync
* [#5145](https://github.com/icinga/icinga2/issues/5145): Add a GitHub issue template
* [#5133](https://github.com/icinga/icinga2/issues/5133) (API, wishlist): ApiListener: Metrics for cluster data
* [#5106](https://github.com/icinga/icinga2/issues/5106) (Configuration): Add director-global as global zone to the default zones.conf configuration
* [#4945](https://github.com/icinga/icinga2/issues/4945) (API, Log): No hint for missing permissions in Icinga2 log for API user
* [#4925](https://github.com/icinga/icinga2/issues/4925): Update changelog generation scripts for GitHub
* [#4411](https://github.com/icinga/icinga2/issues/4411) (InfluxDB, Log, Metrics): Better Debugging for InfluxdbWriter
* [#4288](https://github.com/icinga/icinga2/issues/4288) (Cluster, Log): Add check information to the debuglog when check result is discarded
* [#4242](https://github.com/icinga/icinga2/issues/4242) (Configuration): Default mail notification from header
* [#3557](https://github.com/icinga/icinga2/issues/3557) (Log): Log started and stopped features 

### Bug

* [#5433](https://github.com/icinga/icinga2/issues/5433) (CLI, PR): Fix: update feature list help text
* [#5367](https://github.com/icinga/icinga2/issues/5367) (CLI, Crash): Unable to start icinga2 with kernel-3.10.0-514.21.2 RHEL7
* [#5350](https://github.com/icinga/icinga2/issues/5350) (Plugins): check\_nscp\_api not building on Debian wheezy
* [#5316](https://github.com/icinga/icinga2/issues/5316) (Livestatus, PR): Fix for stats min operator
* [#5308](https://github.com/icinga/icinga2/issues/5308) (Configuration, PR): Improve validation for attributes which must not be 'null'
* [#5297](https://github.com/icinga/icinga2/issues/5297) (PR): Fix compiler warnings
* [#5295](https://github.com/icinga/icinga2/issues/5295) (Notifications, PR): Fix missing apostrophe in notification log
* [#5292](https://github.com/icinga/icinga2/issues/5292) (PR): Build fix for OpenSSL 0.9.8 and stack\_st\_X509\_EXTENSION
* [#5288](https://github.com/icinga/icinga2/issues/5288) (Configuration): Hostgroup using assign for Host with groups = null segfault
* [#5278](https://github.com/icinga/icinga2/issues/5278) (PR): Build fix for I2\_LEAK\_DEBUG
* [#5262](https://github.com/icinga/icinga2/issues/5262) (Graylog, PR): Fix performance data processing in GelfWriter feature
* [#5259](https://github.com/icinga/icinga2/issues/5259) (API, PR): Don't allow acknowledgement expire timestamps in the past
* [#5256](https://github.com/icinga/icinga2/issues/5256) (Configuration): Config type changes break object serialization \(JsonEncode\)
* [#5250](https://github.com/icinga/icinga2/issues/5250) (API, Compat): Acknowledgement expire time in the past
* [#5245](https://github.com/icinga/icinga2/issues/5245) (Notifications, PR): Fix that host downtimes might be triggered even if their state is Up
* [#5224](https://github.com/icinga/icinga2/issues/5224) (Configuration, Notifications): Icinga sends notifications even though a Downtime object exists
* [#5223](https://github.com/icinga/icinga2/issues/5223) (Plugins, Windows): Wrong return Code for Windows ICMP
* [#5219](https://github.com/icinga/icinga2/issues/5219) (InfluxDB): InfluxDBWriter feature might block and leak memory
* [#5211](https://github.com/icinga/icinga2/issues/5211) (API, Cluster): Config received is always accepted by client even if own config is newer
* [#5194](https://github.com/icinga/icinga2/issues/5194) (API, CLI): No subjectAltName in Icinga CA created CSRs
* [#5168](https://github.com/icinga/icinga2/issues/5168) (Windows): include files from other volume/partition
* [#5146](https://github.com/icinga/icinga2/issues/5146) (Configuration): parsing of scheduled downtime object allow typing range instead of ranges
* [#5132](https://github.com/icinga/icinga2/issues/5132) (Graphite): GraphiteWriter can slow down Icinga's check result processing
* [#5062](https://github.com/icinga/icinga2/issues/5062) (Compat): icinga2 checkresults error
* [#5043](https://github.com/icinga/icinga2/issues/5043) (API): API POST request with 'attrs' as array returns bad\_cast error
* [#5040](https://github.com/icinga/icinga2/issues/5040) (Cluster): CRL loading fails due to incorrect return code check
* [#5033](https://github.com/icinga/icinga2/issues/5033) (DB IDO): Flexible downtimes which are not triggered must not update DB IDO's actual\_end\_time in downtimehistory table
* [#4984](https://github.com/icinga/icinga2/issues/4984) (API): Wrong response type when unauthorized
* [#4983](https://github.com/icinga/icinga2/issues/4983) (Livestatus): Typo in livestatus key worst\_services\_state for hostgroups table
* [#4956](https://github.com/icinga/icinga2/issues/4956) (DB IDO, PR): Fix persistent comments for Acknowledgements
* [#4941](https://github.com/icinga/icinga2/issues/4941) (Metrics, PR): PerfData: Server Timeouts for InfluxDB Writer
* [#4927](https://github.com/icinga/icinga2/issues/4927) (InfluxDB, Metrics): InfluxDbWriter error 500 hanging Icinga daemon
* [#4913](https://github.com/icinga/icinga2/issues/4913) (API): acknowledge-problem api sending notifications when notify is false
* [#4909](https://github.com/icinga/icinga2/issues/4909) (CLI): icinga2 feature disable fails on already disabled feature
* [#4896](https://github.com/icinga/icinga2/issues/4896) (Plugins): Windows Agent: performance data of check\_perfmon
* [#4832](https://github.com/icinga/icinga2/issues/4832) (API, Configuration): API max\_check\_attempts validation
* [#4818](https://github.com/icinga/icinga2/issues/4818): Acknowledgements marked with Persistent Comment are not honored
* [#4779](https://github.com/icinga/icinga2/issues/4779): Superflous error messages for non-exisiting lsb\_release/sw\_vers commands \(on NetBSD\)
* [#4778](https://github.com/icinga/icinga2/issues/4778): Fix for traditional glob\(3\) behaviour
* [#4777](https://github.com/icinga/icinga2/issues/4777): NetBSD execvpe.c fix
* [#4709](https://github.com/icinga/icinga2/issues/4709) (API): Posting config stage fails on FreeBSD
* [#4696](https://github.com/icinga/icinga2/issues/4696) (Notifications): Notifications are sent when reloading Icinga 2 even though they're deactivated via modified attributes
* [#4666](https://github.com/icinga/icinga2/issues/4666) (Graylog, Metrics): GelfWriter with enable\_send\_perfdata breaks checks
* [#4532](https://github.com/icinga/icinga2/issues/4532) (Graylog, Metrics): Icinga 2 "hangs" if the GelfWriter cannot send messages
* [#4440](https://github.com/icinga/icinga2/issues/4440) (DB IDO, Log): Exceptions might be better than exit in IDO
* [#3664](https://github.com/icinga/icinga2/issues/3664) (DB IDO): mysql\_error cannot be used for mysql\_init
* [#3483](https://github.com/icinga/icinga2/issues/3483) (Compat): Stacktrace on Command Pipe Error
* [#3410](https://github.com/icinga/icinga2/issues/3410) (Livestatus): Livestatus: Problem with stats min operator
* [#121](https://github.com/icinga/icinga2/issues/121) (CLI, PR): give only warnings if feature is already disabled

### ITL

* [#5384](https://github.com/icinga/icinga2/issues/5384) (ITL, PR): Remove default value for 'dns\_query\_type'
* [#5383](https://github.com/icinga/icinga2/issues/5383) (ITL): Monitoring-Plugins check\_dns command does not support the `-q` flag
* [#5372](https://github.com/icinga/icinga2/issues/5372) (ITL, PR): Update ITL CheckCommand description attribute, part 2
* [#5363](https://github.com/icinga/icinga2/issues/5363) (ITL, PR): Update missing description attributes for ITL CheckCommand definitions
* [#5347](https://github.com/icinga/icinga2/issues/5347) (ITL, PR): Improve ITL CheckCommand description attribute
* [#5344](https://github.com/icinga/icinga2/issues/5344) (ITL, PR): Add ip4-or-ipv6 import to logstash ITL command
* [#5343](https://github.com/icinga/icinga2/issues/5343) (ITL): logstash ITL command misses import
* [#5236](https://github.com/icinga/icinga2/issues/5236) (ITL, PR): ITL: Add some missing arguments to ssl\_cert
* [#5210](https://github.com/icinga/icinga2/issues/5210) (ITL, PR): Add report mode to db2\_health
* [#5170](https://github.com/icinga/icinga2/issues/5170) (ITL, PR): Enhance mail notifications scripts and add support for command line parameters
* [#5139](https://github.com/icinga/icinga2/issues/5139) (ITL, PR): Add more options to ldap CheckCommand
* [#5129](https://github.com/icinga/icinga2/issues/5129) (ITL): Additional parameters for perfout manubulon scripts
* [#5126](https://github.com/icinga/icinga2/issues/5126) (ITL, PR): Added support to NRPE v2 in NRPE CheckCommand
* [#5075](https://github.com/icinga/icinga2/issues/5075) (ITL, PR): fix mitigation for nwc\_health
* [#5063](https://github.com/icinga/icinga2/issues/5063) (ITL, PR): Add additional arguments to mssql\_health
* [#5046](https://github.com/icinga/icinga2/issues/5046) (ITL): Add querytype to dns check
* [#5019](https://github.com/icinga/icinga2/issues/5019) (ITL, PR): Added CheckCommand definitions for SMART, RAID controller and IPMI ping check
* [#5015](https://github.com/icinga/icinga2/issues/5015) (ITL, PR): nwc\_health\_report attribute requires a value
* [#4987](https://github.com/icinga/icinga2/issues/4987) (ITL): Review `dummy` entry in ITL
* [#4985](https://github.com/icinga/icinga2/issues/4985) (ITL): Allow hpasm command from ITL to run in local mode
* [#4964](https://github.com/icinga/icinga2/issues/4964) (ITL, PR): ITL: check\_icmp: add missing TTL attribute
* [#4839](https://github.com/icinga/icinga2/issues/4839) (ITL): Remove deprecated dns\_expected\_answer attribute
* [#4826](https://github.com/icinga/icinga2/issues/4826) (ITL): Prepare icingacli-businessprocess for next release
* [#4661](https://github.com/icinga/icinga2/issues/4661) (ITL): ITL - check\_oracle\_health - report option to shorten output
* [#124](https://github.com/icinga/icinga2/issues/124) (ITL, PR): FreeBSD's /dev/fd can either be inside devfs, or be of type fdescfs.
* [#123](https://github.com/icinga/icinga2/issues/123) (ITL, PR): ITL: Update ipmi CheckCommand attributes 
* [#120](https://github.com/icinga/icinga2/issues/120) (ITL, PR): Add new parameter for check\_http: -L: Wrap output in HTML link
* [#117](https://github.com/icinga/icinga2/issues/117) (ITL, PR): Support --only-critical for check\_apt
* [#115](https://github.com/icinga/icinga2/issues/115) (ITL, PR): Inverse Interface Switch for snmp-interface
* [#114](https://github.com/icinga/icinga2/issues/114) (ITL, PR): Adding -A to snmp interfaces check

### Documentation

* [#5448](https://github.com/icinga/icinga2/issues/5448) (Documentation, PR): Update documentation for 2.7.0
* [#5440](https://github.com/icinga/icinga2/issues/5440) (Documentation, PR): Add missing notification state filter to documentation 
* [#5425](https://github.com/icinga/icinga2/issues/5425) (Documentation, PR): Fix formatting in API docs
* [#5410](https://github.com/icinga/icinga2/issues/5410) (Documentation): Update docs for better compatibility with mkdocs
* [#5393](https://github.com/icinga/icinga2/issues/5393) (Documentation, PR): Fix typo in the documentation
* [#5378](https://github.com/icinga/icinga2/issues/5378) (Documentation, PR): Fixed warnings when using mkdocs
* [#5370](https://github.com/icinga/icinga2/issues/5370) (Documentation, PR): Rename ChangeLog to CHANGELOG.md
* [#5366](https://github.com/icinga/icinga2/issues/5366) (Documentation, PR): Fixed wrong node in documentation chapter Client/Satellite Linux Setup
* [#5365](https://github.com/icinga/icinga2/issues/5365) (Documentation, PR): Update package documentation for Debian Stretch
* [#5358](https://github.com/icinga/icinga2/issues/5358) (Documentation, PR): Add documentation for securing mysql on Debian/Ubuntu.
* [#5357](https://github.com/icinga/icinga2/issues/5357) (Documentation, Notifications, PR): Notification Scripts: Ensure that mail from address works on Debian/RHEL/SUSE \(mailutils vs mailx\)
* [#5354](https://github.com/icinga/icinga2/issues/5354) (Documentation, PR): Docs: Fix built-in template description and URLs
* [#5349](https://github.com/icinga/icinga2/issues/5349) (Documentation, PR): Docs: Fix broken format for notes/tips in CLI command chapter
* [#5339](https://github.com/icinga/icinga2/issues/5339) (Documentation, ITL, PR): Add accept\_cname to dns CheckCommand
* [#5336](https://github.com/icinga/icinga2/issues/5336) (Documentation, PR): Docs: Fix formatting issues and broken URLs
* [#5333](https://github.com/icinga/icinga2/issues/5333) (Documentation, PR): Update documentation for enhanced notification scripts
* [#5324](https://github.com/icinga/icinga2/issues/5324) (Documentation, PR): Fix phrasing in Getting Started chapter
* [#5317](https://github.com/icinga/icinga2/issues/5317) (Documentation, PR): Fix typo in INSTALL.md
* [#5315](https://github.com/icinga/icinga2/issues/5315) (Documentation, PR): Docs: Replace nagios-plugins by monitoring-plugins for Debian/Ubuntu
* [#5314](https://github.com/icinga/icinga2/issues/5314) (Documentation, PR): Document Common name \(CN\) in client setup
* [#5309](https://github.com/icinga/icinga2/issues/5309) (Documentation, PR): Docs: Replace the command pipe w/ the REST API as Icinga Web 2 requirement in 'Getting Started' chapter
* [#5291](https://github.com/icinga/icinga2/issues/5291) (Documentation): Update docs for RHEL/CentOS 5 EOL
* [#5285](https://github.com/icinga/icinga2/issues/5285) (Documentation, PR): Fix sysstat installation in troubleshooting docs
* [#5279](https://github.com/icinga/icinga2/issues/5279) (Documentation, PR): Docs: Add API query example for acknowledgements w/o expire time
* [#5275](https://github.com/icinga/icinga2/issues/5275) (Documentation, PR): Add troubleshooting hints for cgroup fork errors
* [#5244](https://github.com/icinga/icinga2/issues/5244) (Documentation, PR): Add a PR review section to CONTRIBUTING.md
* [#5237](https://github.com/icinga/icinga2/issues/5237) (Documentation, PR): Docs: Add a note for Windows debuglog to the troubleshooting chapter
* [#5227](https://github.com/icinga/icinga2/issues/5227) (Documentation, ITL, PR): feature/itl-vmware-esx-storage-path-standbyok
* [#5216](https://github.com/icinga/icinga2/issues/5216) (Documentation, PR): Remove "... is is ..." in CONTRIBUTING.md
* [#5206](https://github.com/icinga/icinga2/issues/5206) (Documentation): Typo in Getting Started Guide
* [#5203](https://github.com/icinga/icinga2/issues/5203) (Documentation, PR): Fix typo in Getting Started chapter
* [#5184](https://github.com/icinga/icinga2/issues/5184) (Documentation, PR): Doc/appendix: fix malformed markdown links
* [#5181](https://github.com/icinga/icinga2/issues/5181) (Documentation, PR): List SELinux packages required for building RPMs
* [#5178](https://github.com/icinga/icinga2/issues/5178) (Documentation, Windows): Documentation vague on "update-windows" check plugin
* [#5175](https://github.com/icinga/icinga2/issues/5175) (Documentation): Add a note about flapping problems to the docs
* [#5174](https://github.com/icinga/icinga2/issues/5174) (Documentation, PR): Add missing object type to Apply Rules doc example
* [#5173](https://github.com/icinga/icinga2/issues/5173) (Documentation): Object type missing from ping Service example in docs
* [#5167](https://github.com/icinga/icinga2/issues/5167) (Documentation): Add more assign where expression examples
* [#5166](https://github.com/icinga/icinga2/issues/5166) (API, Documentation): Set zone attribute to no\_user\_modify for API POST requests
* [#5165](https://github.com/icinga/icinga2/issues/5165) (Documentation, PR): Syntax error In Dependencies chapter
* [#5164](https://github.com/icinga/icinga2/issues/5164) (Documentation, ITL, PR): ITL: Add CheckCommand ssl\_cert, fix ssl attributes
* [#5161](https://github.com/icinga/icinga2/issues/5161) (Documentation, PR): ITL documentation - disk-windows usage note with % thresholds
* [#5157](https://github.com/icinga/icinga2/issues/5157) (Documentation): "Three Levels with master, Satellites, and Clients" chapter is not clear about client config
* [#5156](https://github.com/icinga/icinga2/issues/5156) (Documentation): Add CONTRIBUTING.md
* [#5155](https://github.com/icinga/icinga2/issues/5155) (Documentation): 3.5. Apply Rules topic in the docs needs work.
* [#5151](https://github.com/icinga/icinga2/issues/5151) (Documentation, PR): Replace http:// links with https:// links where a secure website exists
* [#5150](https://github.com/icinga/icinga2/issues/5150) (Documentation): Invalid links in documentation
* [#5149](https://github.com/icinga/icinga2/issues/5149) (Documentation, PR): Update documentation, change http:// links to https:// links where a website exists
* [#5144](https://github.com/icinga/icinga2/issues/5144) (Documentation): Extend troubleshooting docs w/ environment analysis and common tools
* [#5143](https://github.com/icinga/icinga2/issues/5143) (Documentation): Docs: Explain how to include your own config tree instead of conf.d
* [#5142](https://github.com/icinga/icinga2/issues/5142) (Documentation): Add an Elastic Stack Integrations chapter to feature documentation
* [#5140](https://github.com/icinga/icinga2/issues/5140) (Documentation): Documentation should explain that runtime modifications are not immediately updated for "object list"
* [#5137](https://github.com/icinga/icinga2/issues/5137) (Documentation): Doc updates: Getting Started w/ own config, Troubleshooting w/ debug console
* [#5111](https://github.com/icinga/icinga2/issues/5111) (Documentation): Fix duration attribute requirement for schedule-downtime API action
* [#5104](https://github.com/icinga/icinga2/issues/5104) (Documentation, PR): Correct link to nscp documentation
* [#5097](https://github.com/icinga/icinga2/issues/5097) (Documentation): The last example for typeof\(\) is missing the result
* [#5090](https://github.com/icinga/icinga2/issues/5090) (Cluster, Documentation): EventHandler to be executed at the endpoint
* [#5077](https://github.com/icinga/icinga2/issues/5077) (Documentation): Replace the 'command' feature w/ the REST API for Icinga Web 2
* [#5016](https://github.com/icinga/icinga2/issues/5016) (Documentation, ITL, PR): Add fuse.gvfs-fuse-daemon to disk\_exclude\_type
* [#5010](https://github.com/icinga/icinga2/issues/5010) (Documentation): \[Documentation\] Missing parameter for SNMPv3 auth
* [#3560](https://github.com/icinga/icinga2/issues/3560) (Documentation): Explain check\_memorys and check\_disks thresholds
* [#1880](https://github.com/icinga/icinga2/issues/1880) (Documentation): add a section for 'monitoring the icinga2 node'

### Support

* [#5359](https://github.com/icinga/icinga2/issues/5359) (CLI, PR): Fixed missing closing bracket in CLI command pki new-cert.
* [#5332](https://github.com/icinga/icinga2/issues/5332) (Configuration, Notifications, PR): Notification Scripts: notification\_type is always required
* [#5326](https://github.com/icinga/icinga2/issues/5326) (Documentation, Installation, PR): Install the images directory containing the needed PNGs for the markd
* [#5310](https://github.com/icinga/icinga2/issues/5310) (Packages, PR): RPM: Disable SELinux policy hardlink
* [#5306](https://github.com/icinga/icinga2/issues/5306) (Documentation, Packages, PR): Remove CentOS 5 from 'Getting started' docs
* [#5304](https://github.com/icinga/icinga2/issues/5304) (Documentation, Packages, PR): Update INSTALL.md for RPM builds
* [#5303](https://github.com/icinga/icinga2/issues/5303) (Packages, PR): RPM: Fix builds on Amazon Linux
* [#5299](https://github.com/icinga/icinga2/issues/5299) (Notifications): Ensure that "mail from" works on RHEL/CentOS
* [#5286](https://github.com/icinga/icinga2/issues/5286) (Configuration, PR): Fix verbose mode in notifications scripts
* [#5265](https://github.com/icinga/icinga2/issues/5265) (PR): Move PerfdataValue\(\) class into base library
* [#5252](https://github.com/icinga/icinga2/issues/5252) (Tests, PR): travis: Update to trusty as CI environment
* [#5251](https://github.com/icinga/icinga2/issues/5251) (Tests): Update Travis CI environment to trusty
* [#5248](https://github.com/icinga/icinga2/issues/5248) (Tests, PR): Travis: Run config validation at the end
* [#5238](https://github.com/icinga/icinga2/issues/5238) (DB IDO, PR): Remove deprecated "DbCat1 | DbCat2" notation for DB IDO categories
* [#5229](https://github.com/icinga/icinga2/issues/5229) (Installation, PR): CMake: require a GCC version according to INSTALL.md
* [#5226](https://github.com/icinga/icinga2/issues/5226) (Packages, PR): RPM spec: don't enable features after an upgrade
* [#5225](https://github.com/icinga/icinga2/issues/5225) (DB IDO, PR): Don't call mysql\_error\(\) after a failure of mysql\_init\(\)
* [#5218](https://github.com/icinga/icinga2/issues/5218) (Packages): icinga2.spec: Allow selecting g++ compiler on older SUSE release builds
* [#5189](https://github.com/icinga/icinga2/issues/5189) (Documentation, Packages, PR): RPM packaging updates
* [#5188](https://github.com/icinga/icinga2/issues/5188) (Documentation, Packages): Boost \>= 1.48 required
* [#5177](https://github.com/icinga/icinga2/issues/5177) (Packages): Issues Packing icinga 2.6.3 tar.gz to RPM
* [#5153](https://github.com/icinga/icinga2/issues/5153) (Packages, PR): Changed dependency of selinux subpackage
* [#5127](https://github.com/icinga/icinga2/issues/5127) (Installation, PR): Improve systemd service file
* [#5102](https://github.com/icinga/icinga2/issues/5102) (Compat, Configuration, Packages): Deprecate the icinga2-classicui-config package
* [#5101](https://github.com/icinga/icinga2/issues/5101) (Packages, Windows): Fix incorrect metadata for the Chocolatey package
* [#5100](https://github.com/icinga/icinga2/issues/5100) (Packages, Windows): Update Chocolatey package to match current guidelines
* [#5094](https://github.com/icinga/icinga2/issues/5094) (Cluster, Configuration): Log message "Object cannot be deleted because it was not created using the API"
* [#5087](https://github.com/icinga/icinga2/issues/5087) (Configuration): Function metadata should show available arguments
* [#5042](https://github.com/icinga/icinga2/issues/5042) (DB IDO, PR): Add link to upgrade documentation to log message
* [#4977](https://github.com/icinga/icinga2/issues/4977) (Cluster, Installation): icinga2/api/log directory is not created
* [#4921](https://github.com/icinga/icinga2/issues/4921) (Installation, Packages): No network dependency for /etc/init.d/icinga2
* [#4781](https://github.com/icinga/icinga2/issues/4781) (Packages): Improve SELinux Policy
* [#4776](https://github.com/icinga/icinga2/issues/4776) (Installation): NetBSD install path fixes
* [#4621](https://github.com/icinga/icinga2/issues/4621) (Configuration, Notifications, Packages): notifications always enabled after update

## 2.6.3 (2017-03-29)

### Bug

* [#5080](https://github.com/icinga/icinga2/issues/5080) (DB IDO): Missing index use can cause icinga\_downtimehistory queries to hang indefinitely
* [#4989](https://github.com/icinga/icinga2/issues/4989) (Check Execution): Icinga daemon runs with nice 5 after reload
* [#4930](https://github.com/icinga/icinga2/issues/4930) (Cluster): Change "Discarding 'config update object'" log messages to notice log level
* [#4603](https://github.com/icinga/icinga2/issues/4603) (DB IDO): With too many comments, Icinga reload process won't finish reconnecting to Database

### Documentation

* [#5057](https://github.com/icinga/icinga2/issues/5057) (Documentation): Update Security section in the Distributed Monitoring chapter
* [#5055](https://github.com/icinga/icinga2/issues/5055) (Documentation, ITL): mysql\_socket attribute missing in the documentation for the mysql CheckCommand
* [#5035](https://github.com/icinga/icinga2/issues/5035) (Documentation): Docs: Typo in Distributed Monitoring chapter
* [#5030](https://github.com/icinga/icinga2/issues/5030) (Documentation): Advanced topics: Mention the API and explain stick acks, fixed/flexible downtimes
* [#5029](https://github.com/icinga/icinga2/issues/5029) (Documentation): Advanced topics: Wrong acknowledgement notification filter
* [#4996](https://github.com/icinga/icinga2/issues/4996) (Documentation): documentation: mixed up host names in 6-distributed-monitoring.md
* [#4980](https://github.com/icinga/icinga2/issues/4980) (Documentation): Add OpenBSD and AlpineLinux package repositories to the documentation
* [#4955](https://github.com/icinga/icinga2/issues/4955) (Documentation, ITL): Review CheckCommand documentation including external URLs
* [#4954](https://github.com/icinga/icinga2/issues/4954) (Documentation): Add an example for /v1/actions/process-check-result which uses filter/type
* [#3133](https://github.com/icinga/icinga2/issues/3133) (Documentation): Add practical examples for apply expressions

## 2.6.2 (2017-02-13)

### Bug

* [#4952](https://github.com/icinga/icinga2/issues/4952) (API, CLI): Icinga crashes while trying to remove configuration files for objects which no longer exist

## 2.6.1 (2017-01-31)

### Notes

This release addresses a number of bugs we have identified in version 2.6.0.

The documentation changes reflect our recent move to GitHub.

### Enhancement

* [#4923](https://github.com/icinga/icinga2/issues/4923): Migration to Github
* [#4813](https://github.com/icinga/icinga2/issues/4813): Include argument name for log message about incorrect set\_if values

### Bug

* [#4950](https://github.com/icinga/icinga2/issues/4950): IDO schema update is not compatible to MySQL 5.7
* [#4882](https://github.com/icinga/icinga2/issues/4882): Crash - Error: parse error: premature EOF
* [#4877](https://github.com/icinga/icinga2/issues/4877) (DB IDO): IDO MySQL schema not working on MySQL 5.7
* [#4874](https://github.com/icinga/icinga2/issues/4874) (DB IDO): IDO: Timestamps in PostgreSQL may still have a time zone offset
* [#4867](https://github.com/icinga/icinga2/issues/4867): SIGPIPE shutdown on config reload

### Documentation

* [#4944](https://github.com/icinga/icinga2/issues/4944) (Documentation, PR): doc/6-distributed-monitoring.md: Fix typo
* [#4934](https://github.com/icinga/icinga2/issues/4934) (Documentation): Update contribution section for GitHub
* [#4917](https://github.com/icinga/icinga2/issues/4917) (Documentation): Incorrect license file mentioned in README.md
* [#4916](https://github.com/icinga/icinga2/issues/4916) (Documentation): Add travis-ci build status logo to README.md
* [#4908](https://github.com/icinga/icinga2/issues/4908) (Documentation): Move domain to icinga.com
* [#4885](https://github.com/icinga/icinga2/issues/4885) (Documentation): SLES 12 SP2 libboost\_thread package requires libboost\_chrono
* [#4869](https://github.com/icinga/icinga2/issues/4869) (Documentation): Update RELEASE.md
* [#4868](https://github.com/icinga/icinga2/issues/4868) (Documentation): Add more build details to INSTALL.md
* [#4803](https://github.com/icinga/icinga2/issues/4803) (Documentation): Update Repositories in Docs

### Support

* [#4870](https://github.com/icinga/icinga2/issues/4870) (Packages): SLES11 SP4 dependency on Postgresql \>= 8.4

## 2.6.0 (2016-12-13)

### Notes

* Client/Satellite setup
 * The "bottom up" client configuration mode has been deprecated. Check [#13255](https://dev.icinga.com/issues/13255) for additional details and migration.
* Linux/Unix daemon
 * Ensure that Icinga 2 does not leak file descriptors to executed commands.
 * There are 2 processes started instead of previously just one process.
* Windows client
 * Package bundles NSClient++ 0.5.0. ITL CheckCommands have been updated too.
 * Allow to configure the user account for the Icinga 2 service. This is useful if several checks require administrator permissions (e.g. check_update.exe)
 * Bugfixes for check plugins
* Cluster and API
 * Provide location information for objects and templates in the API
 * Improve log message for ignored config updates
 * Fix cluster resync problem with API created objects (hosts, downtimes, etc.)
 * Fix that API-created objects in a global zone are not synced to child endpoints
* Notifications
 * Several bugfixes for downtime, custom and flapping notifications
* New ITL CheckCommands: logstash, glusterfs, iostats
* Package builds require a compiler which supports C++11 features (gcc-c++ >= 4.7, clang++)
* DB IDO
 * Schema upgrade required (2.6.0.sql)
 * This update fixes timestamp columns required by Icinga Web 2 and might take a while. Please ensure to schedule a maintenance task for your database upgrade.

### Enhancement

* [#4798](https://github.com/icinga/icinga2/issues/4798) (Cluster): Deprecate cluster/client mode "bottom up" w/ repository.d and node update-config
* [#4770](https://github.com/icinga/icinga2/issues/4770) (API): Allow to evaluate macros through the API
* [#4713](https://github.com/icinga/icinga2/issues/4713) (Cluster): Check whether nodes are synchronizing the API log before putting them into UNKNOWN
* [#4651](https://github.com/icinga/icinga2/issues/4651) (Plugins): Review windows plugins performance output
* [#4631](https://github.com/icinga/icinga2/issues/4631) (Configuration): Suppress compiler warnings for auto-generated code
* [#4622](https://github.com/icinga/icinga2/issues/4622) (Cluster): Improve log message for ignored config updates
* [#4590](https://github.com/icinga/icinga2/issues/4590): Make sure that libmethods is automatically loaded even when not using the ITL
* [#4587](https://github.com/icinga/icinga2/issues/4587) (Configuration): Implement support for default templates
* [#4580](https://github.com/icinga/icinga2/issues/4580) (API): Provide location information for objects and templates in the API
* [#4576](https://github.com/icinga/icinga2/issues/4576): Use lambda functions for INITIALIZE\_ONCE
* [#4575](https://github.com/icinga/icinga2/issues/4575): Use 'auto' for iterator declarations
* [#4571](https://github.com/icinga/icinga2/issues/4571): Implement an rvalue constructor for the String and Value classes
* [#4570](https://github.com/icinga/icinga2/issues/4570) (Configuration): Implement a command-line argument for "icinga2 console" to allow specifying a script file
* [#4563](https://github.com/icinga/icinga2/issues/4563) (Configuration): Remove unused method: ApplyRule::DiscardRules
* [#4559](https://github.com/icinga/icinga2/issues/4559): Replace BOOST\_FOREACH with range-based for loops
* [#4557](https://github.com/icinga/icinga2/issues/4557): Add -fvisibility=hidden to the default compiler flags
* [#4537](https://github.com/icinga/icinga2/issues/4537): Implement an environment variable to keep Icinga from closing FDs on startup
* [#4536](https://github.com/icinga/icinga2/issues/4536): Avoid unnecessary string copies
* [#4535](https://github.com/icinga/icinga2/issues/4535): Remove deprecated functions
* [#3684](https://github.com/icinga/icinga2/issues/3684) (Configuration): Command line option for config syntax validation
* [#2968](https://github.com/icinga/icinga2/issues/2968): Better message for apply errors

### Bug

* [#4831](https://github.com/icinga/icinga2/issues/4831) (CLI): Wrong help string for node setup cli command argument --master\_host
* [#4828](https://github.com/icinga/icinga2/issues/4828) (API): Crash in CreateObjectHandler \(regression from \#11684
* [#4802](https://github.com/icinga/icinga2/issues/4802): Icinga tries to delete Downtime objects that were statically configured
* [#4801](https://github.com/icinga/icinga2/issues/4801): Sending a HUP signal to the child process for execution actually kills it
* [#4791](https://github.com/icinga/icinga2/issues/4791) (DB IDO): PostgreSQL: Don't use timestamp with timezone for UNIX timestamp columns
* [#4789](https://github.com/icinga/icinga2/issues/4789) (Notifications): Recovery notifications sent for Not-Problem notification type if notified before
* [#4775](https://github.com/icinga/icinga2/issues/4775) (Cluster): Crash w/ SendNotifications cluster handler and check result with empty perfdata
* [#4771](https://github.com/icinga/icinga2/issues/4771): Config validation crashes when using command\_endpoint without also having an ApiListener object
* [#4752](https://github.com/icinga/icinga2/issues/4752) (Graphite): Performance data writer for Graphite : Values without fraction limited to 2147483647 \(7FFFFFFF\)
* [#4740](https://github.com/icinga/icinga2/issues/4740): SIGALRM handling may be affected by recent commit
* [#4726](https://github.com/icinga/icinga2/issues/4726) (Notifications): Flapping notifications sent for soft state changes
* [#4717](https://github.com/icinga/icinga2/issues/4717) (API): Icinga crashes while deleting a config file which doesn't exist anymore
* [#4678](https://github.com/icinga/icinga2/issues/4678) (Configuration): Configuration validation fails when setting tls\_protocolmin to TLSv1.2
* [#4674](https://github.com/icinga/icinga2/issues/4674) (CLI): Parse error: "premature EOF" when running "icinga2 node update-config"
* [#4665](https://github.com/icinga/icinga2/issues/4665): Crash in ClusterEvents::SendNotificationsAPIHandler
* [#4646](https://github.com/icinga/icinga2/issues/4646) (Notifications): Forced custom notification is setting "force\_next\_notification": true permanently
* [#4644](https://github.com/icinga/icinga2/issues/4644) (API): Crash in HttpRequest::Parse while processing HTTP request
* [#4630](https://github.com/icinga/icinga2/issues/4630) (Configuration): Validation does not highlight the correct attribute
* [#4629](https://github.com/icinga/icinga2/issues/4629) (CLI): broken: icinga2 --version
* [#4620](https://github.com/icinga/icinga2/issues/4620) (API): Invalid API filter error messages
* [#4619](https://github.com/icinga/icinga2/issues/4619) (CLI): Cli: boost::bad\_get on icinga::String::String\(icinga::Value&&\) 
* [#4616](https://github.com/icinga/icinga2/issues/4616): Build fails with Visual Studio 2015
* [#4606](https://github.com/icinga/icinga2/issues/4606): Remove unused last\_in\_downtime field
* [#4602](https://github.com/icinga/icinga2/issues/4602) (CLI): Last option highlighted as the wrong one, even when it is not the culprit
* [#4599](https://github.com/icinga/icinga2/issues/4599): Unexpected state changes with max\_check\_attempts = 2
* [#4583](https://github.com/icinga/icinga2/issues/4583) (Configuration): Debug hints for dictionary expressions are nested incorrectly
* [#4574](https://github.com/icinga/icinga2/issues/4574) (Notifications): Don't send Flapping\* notifications when downtime is active
* [#4573](https://github.com/icinga/icinga2/issues/4573) (DB IDO): Getting error during schema update 
* [#4572](https://github.com/icinga/icinga2/issues/4572) (Configuration): Config validation shouldnt allow 'endpoints = \[ "" \]'
* [#4566](https://github.com/icinga/icinga2/issues/4566) (Notifications): Fixed downtimes scheduled for a future date trigger DOWNTIMESTART notifications
* [#4564](https://github.com/icinga/icinga2/issues/4564): Add missing initializer for WorkQueue::m\_NextTaskID
* [#4555](https://github.com/icinga/icinga2/issues/4555): Fix compiler warnings
* [#4541](https://github.com/icinga/icinga2/issues/4541) (DB IDO): Don't link against libmysqlclient\_r
* [#4538](https://github.com/icinga/icinga2/issues/4538): Don't update TimePeriod ranges for inactive objects
* [#4423](https://github.com/icinga/icinga2/issues/4423) (Metrics): InfluxdbWriter does not write state other than 0
* [#4369](https://github.com/icinga/icinga2/issues/4369) (Plugins): check\_network performance data in invalid format - ingraph
* [#4169](https://github.com/icinga/icinga2/issues/4169) (Cluster): Cluster resync problem with API created objects
* [#4098](https://github.com/icinga/icinga2/issues/4098) (API): Objects created in a global zone are not synced to child endpoints
* [#4010](https://github.com/icinga/icinga2/issues/4010) (API): API requests from execute-script action are too verbose
* [#3802](https://github.com/icinga/icinga2/issues/3802) (Compat): SCHEDULE\_AND\_PROPAGATE\_HOST\_DOWNTIME command missing
* [#3801](https://github.com/icinga/icinga2/issues/3801) (Compat): SCHEDULE\_AND\_PROPAGATE\_TRIGGERED\_HOST\_DOWNTIME command missing
* [#3575](https://github.com/icinga/icinga2/issues/3575) (DB IDO): MySQL 5.7.9, Incorrect datetime value Error
* [#3565](https://github.com/icinga/icinga2/issues/3565) (Plugins): Windows Agent: performance data of check\_perfmon
* [#3564](https://github.com/icinga/icinga2/issues/3564) (Plugins): Windows Agent: Performance data values for check\_perfmon.exe are invalid sometimes
* [#3220](https://github.com/icinga/icinga2/issues/3220) (Plugins): Implement support for resolving DNS hostnames in check\_ping.exe
* [#2847](https://github.com/icinga/icinga2/issues/2847): File descriptors are leaked to child processes which makes SELinux unhappy

### ITL

* [#4842](https://github.com/icinga/icinga2/issues/4842) (ITL): Add tempdir attribute to postgres CheckCommand
* [#4837](https://github.com/icinga/icinga2/issues/4837) (ITL): Add sudo option to mailq CheckCommand
* [#4836](https://github.com/icinga/icinga2/issues/4836) (ITL): Add verbose parameter to http CheckCommand
* [#4835](https://github.com/icinga/icinga2/issues/4835) (ITL): Add timeout option to mysql\_health CheckCommand
* [#4714](https://github.com/icinga/icinga2/issues/4714) (ITL): Default values for check\_swap are incorrect
* [#4710](https://github.com/icinga/icinga2/issues/4710) (ITL): snmp\_miblist variable to feed the -m option of check\_snmp is missing in the snmpv3 CheckCommand object
* [#4684](https://github.com/icinga/icinga2/issues/4684) (ITL): Add a radius CheckCommand for the radius check provide by nagios-plugins
* [#4681](https://github.com/icinga/icinga2/issues/4681) (ITL): Add CheckCommand definition for check\_logstash
* [#4677](https://github.com/icinga/icinga2/issues/4677) (ITL): Problem passing arguments to nscp-local CheckCommand objects
* [#4672](https://github.com/icinga/icinga2/issues/4672) (ITL): Add timeout option to oracle\_health CheckCommand
* [#4618](https://github.com/icinga/icinga2/issues/4618) (ITL): Hangman easter egg is broken
* [#4608](https://github.com/icinga/icinga2/issues/4608) (ITL): Add CheckCommand definition for check\_iostats
* [#4597](https://github.com/icinga/icinga2/issues/4597) (ITL): Default disk plugin check should not check inodes
* [#4595](https://github.com/icinga/icinga2/issues/4595) (ITL): Manubulon: Add missing procurve memory flag
* [#4585](https://github.com/icinga/icinga2/issues/4585) (ITL): Fix code style violations in the ITL
* [#4582](https://github.com/icinga/icinga2/issues/4582) (ITL): Incorrect help text for check\_swap
* [#4543](https://github.com/icinga/icinga2/issues/4543) (ITL): ITL - check\_vmware\_esx - specify a datacenter/vsphere server for esx/host checks
* [#4324](https://github.com/icinga/icinga2/issues/4324) (ITL): Add CheckCommand definition for check\_glusterfs

### Documentation

* [#4862](https://github.com/icinga/icinga2/issues/4862) (Documentation): "2.1.4. Installation Paths" should contain systemd paths
* [#4861](https://github.com/icinga/icinga2/issues/4861) (Documentation): Update "2.1.3. Enabled Features during Installation" - outdated "feature list"
* [#4859](https://github.com/icinga/icinga2/issues/4859) (Documentation): Update package instructions for Fedora
* [#4851](https://github.com/icinga/icinga2/issues/4851) (Documentation): Update README.md and correct project URLs
* [#4846](https://github.com/icinga/icinga2/issues/4846) (Documentation): Add a note for boolean values in the disk CheckCommand section
* [#4845](https://github.com/icinga/icinga2/issues/4845) (Documentation): Troubleshooting: Add examples for fetching the executed command line
* [#4840](https://github.com/icinga/icinga2/issues/4840) (Documentation): Update Windows screenshots in the client documentation
* [#4838](https://github.com/icinga/icinga2/issues/4838) (Documentation): Add example for concurrent\_checks in CheckerComponent object type
* [#4829](https://github.com/icinga/icinga2/issues/4829) (Documentation): Missing API headers for X-HTTP-Method-Override
* [#4827](https://github.com/icinga/icinga2/issues/4827) (Documentation): Fix example in PNP template docs
* [#4821](https://github.com/icinga/icinga2/issues/4821) (Documentation): Add a note about removing "conf.d" on the client for "top down command endpoint" setups
* [#4809](https://github.com/icinga/icinga2/issues/4809) (Documentation): Update API and Library Reference chapters
* [#4804](https://github.com/icinga/icinga2/issues/4804) (Documentation): Add a note about default template import to the CheckCommand object
* [#4800](https://github.com/icinga/icinga2/issues/4800) (Documentation): Docs: Typo in "CLI commands" chapter
* [#4793](https://github.com/icinga/icinga2/issues/4793) (Documentation): Docs: ITL plugins contrib order
* [#4787](https://github.com/icinga/icinga2/issues/4787) (Documentation): Doc: Swap packages.icinga.org w/ DebMon
* [#4780](https://github.com/icinga/icinga2/issues/4780) (Documentation): Add a note about pinning checks w/ command\_endpoint
* [#4736](https://github.com/icinga/icinga2/issues/4736) (Documentation): Docs: wrong heading level for commands.conf and groups.conf
* [#4708](https://github.com/icinga/icinga2/issues/4708) (Documentation): Add more Timeperiod examples in the documentation
* [#4706](https://github.com/icinga/icinga2/issues/4706) (Documentation): Add an example of multi-parents configuration for the Migration chapter
* [#4705](https://github.com/icinga/icinga2/issues/4705) (Documentation): Typo in the documentation
* [#4699](https://github.com/icinga/icinga2/issues/4699) (Documentation): Fix some spelling mistakes
* [#4667](https://github.com/icinga/icinga2/issues/4667) (Documentation): Add documentation for logrotation for the mainlog feature
* [#4653](https://github.com/icinga/icinga2/issues/4653) (Documentation): Corrections for distributed monitoring chapter
* [#4641](https://github.com/icinga/icinga2/issues/4641) (Documentation): Docs: Migrating Notification example tells about filters instead of types
* [#4639](https://github.com/icinga/icinga2/issues/4639) (Documentation): GDB example in the documentation isn't working
* [#4636](https://github.com/icinga/icinga2/issues/4636) (Documentation): Add development docs for writing a core dump file
* [#4601](https://github.com/icinga/icinga2/issues/4601) (Documentation): Typo in distributed monitoring docs
* [#4596](https://github.com/icinga/icinga2/issues/4596) (Documentation): Update service monitoring and distributed docs
* [#4589](https://github.com/icinga/icinga2/issues/4589) (Documentation): Fix help output for update-links.py
* [#4584](https://github.com/icinga/icinga2/issues/4584) (Documentation): Add missing reference to libmethods for the default ITL command templates
* [#4492](https://github.com/icinga/icinga2/issues/4492) (Documentation): Add information about function 'range'

### Support

* [#4796](https://github.com/icinga/icinga2/issues/4796) (Installation): Sort Changelog by category
* [#4792](https://github.com/icinga/icinga2/issues/4792) (Tests): Add unit test for notification state/type filter checks
* [#4724](https://github.com/icinga/icinga2/issues/4724) (Packages): Update .mailmap for icinga.com
* [#4671](https://github.com/icinga/icinga2/issues/4671) (Packages): Windows Installer should include NSClient++ 0.5.0
* [#4612](https://github.com/icinga/icinga2/issues/4612) (Tests): Unit tests randomly crash after the tests have completed
* [#4607](https://github.com/icinga/icinga2/issues/4607) (Packages): Improve support for building the chocolatey package
* [#4588](https://github.com/icinga/icinga2/issues/4588) (Installation): Use raw string literals in mkembedconfig
* [#4578](https://github.com/icinga/icinga2/issues/4578) (Installation): Improve detection for the -flto compiler flag
* [#4569](https://github.com/icinga/icinga2/issues/4569) (Installation): Set versions for all internal libraries
* [#4558](https://github.com/icinga/icinga2/issues/4558) (Installation): Update cmake config to require a compiler that supports C++11
* [#4556](https://github.com/icinga/icinga2/issues/4556) (Installation): logrotate file is not properly generated when the logrotate binary resides in /usr/bin
* [#4551](https://github.com/icinga/icinga2/issues/4551) (Tests): Implement unit tests for state changes
* [#2943](https://github.com/icinga/icinga2/issues/2943) (Installation): Make the user account configurable for the Windows service
* [#2792](https://github.com/icinga/icinga2/issues/2792) (Tests): Livestatus tests don't work on OS X

## 2.5.4 (2016-08-30)

### Notes

* Bugfixes

### Bug

* [#4277](https://github.com/icinga/icinga2/issues/4277): many check commands executed at same time when master reload

## 2.5.3 (2016-08-25)

### Notes

This release addresses an issue with PostgreSQL support for the IDO database module.

### Bug

* [#4554](https://github.com/icinga/icinga2/issues/4554) (DB IDO): ido pgsql migration from 2.4.0 to 2.5.0 : wrong size for config\_hash

## 2.5.2 (2016-08-24)

### Notes

* Bugfixes

### Bug

* [#4550](https://github.com/icinga/icinga2/issues/4550): Icinga 2 sends SOFT recovery notifications
* [#4549](https://github.com/icinga/icinga2/issues/4549) (DB IDO): Newly added group member tables in the IDO database are not updated

### Documentation

* [#4548](https://github.com/icinga/icinga2/issues/4548) (Documentation): Wrong formatting in client docs

## 2.5.1 (2016-08-23)

### Notes

* Bugfixes

### Bug

* [#4544](https://github.com/icinga/icinga2/issues/4544) (Notifications): Icinga 2 sends recovery notifications for SOFT NOT-OK states

## 2.5.0 (2016-08-23)

### Notes

* InfluxdbWriter feature
* API
    * New endpoints: /v1/variables and /v1/templates (GET requests), /v1/action/generate-ticket (POST request)
    * State/type filters for notifications/users are now string values (PUT, POST, GET requests)
* Configuration
    * TimePeriod excludes/includes attributes
    * DateTime object for formatting time strings
    * New prototype methods: Array#filter, Array#unique, Array#map, Array#reduce
    * icinga2.conf now includes plugins-contrib, manubulon, windows-plugins, nscp by default (ITL CheckCommand definitions)
    * Performance improvements (config compiler and validation)
* CLI
    * 'icinga2 object list' formats state/type filters as string values
    * Compiled config files are now visible with "notice" debug level (hidden by default)
    * CA serial file now uses a hash value (HA cluster w/ 2 CA directories)
* Cluster
    * There is a known issue with >2 endpoints inside a zone. Icinga 2 will now log a warning.
    * Support for accepted ciphers and minimum TLS version
    * Connection and error logging has been improved.
* DB IDO
    * Schema upgrade required (2.5.0.sql)
    * Incremental config dump (performance boost)
    * `categories` attribute is now an array. Previous method is deprecated and to be removed.
    * DbCatLog is not enabled by default anymore.
    * SSL support for MySQL
* New packages
    * vim-icinga2 for syntax highlighting
    * libicinga2 (Debian), icinga2-libs (RPM) for Icinga Studio packages

### Enhancement

* [#4516](https://github.com/icinga/icinga2/issues/4516): Remove some unused \#includes
* [#4498](https://github.com/icinga/icinga2/issues/4498): Remove unnecessary Dictionary::Contains calls
* [#4493](https://github.com/icinga/icinga2/issues/4493) (Cluster): Improve performance for Endpoint config validation
* [#4491](https://github.com/icinga/icinga2/issues/4491): Improve performance for type lookups
* [#4487](https://github.com/icinga/icinga2/issues/4487) (DB IDO): Incremental updates for the IDO database
* [#4486](https://github.com/icinga/icinga2/issues/4486) (DB IDO): Remove unused code from the IDO classes
* [#4485](https://github.com/icinga/icinga2/issues/4485) (API): Add API action for generating a PKI ticket
* [#4479](https://github.com/icinga/icinga2/issues/4479) (Configuration): Implement comparison operators for the Array class
* [#4467](https://github.com/icinga/icinga2/issues/4467): Implement the System\#sleep function
* [#4465](https://github.com/icinga/icinga2/issues/4465) (Configuration): Implement support for namespaces
* [#4464](https://github.com/icinga/icinga2/issues/4464) (CLI): Implement support for inspecting variables with LLDB/GDB
* [#4457](https://github.com/icinga/icinga2/issues/4457): Implement support for marking functions as deprecated
* [#4454](https://github.com/icinga/icinga2/issues/4454): Include compiler name/version and build host name in --version
* [#4451](https://github.com/icinga/icinga2/issues/4451) (Configuration): Move internal script functions into the 'Internal' namespace
* [#4449](https://github.com/icinga/icinga2/issues/4449): Improve logging for the WorkQueue class
* [#4445](https://github.com/icinga/icinga2/issues/4445): Rename/Remove experimental script functions
* [#4443](https://github.com/icinga/icinga2/issues/4443): Implement process\_check\_result script method for the Checkable class
* [#4442](https://github.com/icinga/icinga2/issues/4442) (API): Support for determining the Icinga 2 version via the API
* [#4431](https://github.com/icinga/icinga2/issues/4431) (Notifications): Add the notification type into the log message
* [#4424](https://github.com/icinga/icinga2/issues/4424) (Cluster): Enhance TLS handshake error messages with connection information
* [#4415](https://github.com/icinga/icinga2/issues/4415) (API): Remove obsolete debug log message
* [#4410](https://github.com/icinga/icinga2/issues/4410) (Configuration): Add map/reduce and filter functionality for the Array class
* [#4403](https://github.com/icinga/icinga2/issues/4403) (CLI): Add history for icinga2 console
* [#4398](https://github.com/icinga/icinga2/issues/4398) (Cluster): Log a warning if there are more than 2 zone endpoint members
* [#4393](https://github.com/icinga/icinga2/issues/4393) (Cluster): Include IP address and port in the "New connection" log message
* [#4388](https://github.com/icinga/icinga2/issues/4388) (Configuration): Implement the \_\_ptr script function
* [#4386](https://github.com/icinga/icinga2/issues/4386) (Cluster): Improve error messages for failed certificate validation
* [#4381](https://github.com/icinga/icinga2/issues/4381) (Cluster): Improve log message for connecting nodes without configured Endpoint object
* [#4352](https://github.com/icinga/icinga2/issues/4352) (Cluster): Enhance client disconnect message for "No data received on new API connection."
* [#4348](https://github.com/icinga/icinga2/issues/4348) (DB IDO): Do not populate logentries table by default
* [#4325](https://github.com/icinga/icinga2/issues/4325) (API): API: Add missing downtime\_depth attribute
* [#4314](https://github.com/icinga/icinga2/issues/4314) (DB IDO): Change Ido\*Connection 'categories' attribute to an array
* [#4295](https://github.com/icinga/icinga2/issues/4295) (DB IDO): Enhance IDO check with schema version info
* [#4294](https://github.com/icinga/icinga2/issues/4294) (DB IDO): Update DB IDO schema version to 1.14.1
* [#4290](https://github.com/icinga/icinga2/issues/4290) (API): Implement support for getting a list of global variables from the API
* [#4281](https://github.com/icinga/icinga2/issues/4281) (API): Support for enumerating available templates via the API
* [#4268](https://github.com/icinga/icinga2/issues/4268) (Metrics): InfluxDB Metadata
* [#4206](https://github.com/icinga/icinga2/issues/4206) (Cluster): Add lag threshold for cluster-zone check
* [#4178](https://github.com/icinga/icinga2/issues/4178) (API): Improve logging for HTTP API requests
* [#4154](https://github.com/icinga/icinga2/issues/4154) (Configuration): Remove the \(unused\) 'inherits' keyword
* [#4129](https://github.com/icinga/icinga2/issues/4129) (Configuration): Improve performance for field accesses
* [#4061](https://github.com/icinga/icinga2/issues/4061) (Configuration): Allow strings in state/type filters
* [#4048](https://github.com/icinga/icinga2/issues/4048): Cleanup downtimes created by ScheduleDowntime
* [#4046](https://github.com/icinga/icinga2/issues/4046) (Configuration): Config parser should not log names of included files by default
* [#3999](https://github.com/icinga/icinga2/issues/3999) (API): ApiListener: Make minimum TLS version configurable
* [#3997](https://github.com/icinga/icinga2/issues/3997) (API): ApiListener: Force server's preferred cipher
* [#3911](https://github.com/icinga/icinga2/issues/3911) (Graphite): Add acknowledgement type to Graphite, InfluxDB, OpenTSDB metadata
* [#3888](https://github.com/icinga/icinga2/issues/3888) (API): Implement SSL cipher configuration support for the API feature
* [#3763](https://github.com/icinga/icinga2/issues/3763): Add name attribute for WorkQueue class
* [#3562](https://github.com/icinga/icinga2/issues/3562) (Metrics): Add InfluxDbWriter feature
* [#3400](https://github.com/icinga/icinga2/issues/3400): Remove the deprecated IcingaStatusWriter feature
* [#3237](https://github.com/icinga/icinga2/issues/3237) (Metrics): Gelf module: expose 'perfdata' fields for 'CHECK\_RESULT' events
* [#3224](https://github.com/icinga/icinga2/issues/3224) (Configuration): Implement support for formatting date/time
* [#3178](https://github.com/icinga/icinga2/issues/3178) (DB IDO): Add SSL support for the IdoMysqlConnection feature
* [#2970](https://github.com/icinga/icinga2/issues/2970) (Metrics): Add timestamp support for GelfWriter
* [#2040](https://github.com/icinga/icinga2/issues/2040): Exclude option for TimePeriod definitions

### Bug

* [#4534](https://github.com/icinga/icinga2/issues/4534) (CLI): Icinga2 segault on startup
* [#4524](https://github.com/icinga/icinga2/issues/4524) (API): API Remote crash via Google Chrome
* [#4520](https://github.com/icinga/icinga2/issues/4520) (Configuration): Memory leak when using closures
* [#4512](https://github.com/icinga/icinga2/issues/4512) (Cluster): Incorrect certificate validation error message
* [#4511](https://github.com/icinga/icinga2/issues/4511): ClrCheck is null on \*nix
* [#4505](https://github.com/icinga/icinga2/issues/4505) (CLI): Cannot set ownership for user 'icinga' group 'icinga' on file '/var/lib/icinga2/ca/serial.txt'.
* [#4504](https://github.com/icinga/icinga2/issues/4504) (API): API: events for DowntimeTriggered does not provide needed information
* [#4502](https://github.com/icinga/icinga2/issues/4502) (DB IDO): IDO query fails due to key contraint violation for the icinga\_customvariablestatus table
* [#4501](https://github.com/icinga/icinga2/issues/4501) (Cluster): DB IDO started before daemonizing \(no systemd\)
* [#4500](https://github.com/icinga/icinga2/issues/4500) (DB IDO): Query for customvariablestatus incorrectly updates the host's/service's insert ID
* [#4499](https://github.com/icinga/icinga2/issues/4499) (DB IDO): Insert fails for the icinga\_scheduleddowntime table due to duplicate key
* [#4497](https://github.com/icinga/icinga2/issues/4497): Fix incorrect detection of the 'Concurrency' variable
* [#4496](https://github.com/icinga/icinga2/issues/4496) (API): API: action schedule-downtime requires a duration also when fixed is true
* [#4495](https://github.com/icinga/icinga2/issues/4495): Use hash-based serial numbers for new certificates
* [#4490](https://github.com/icinga/icinga2/issues/4490) (Cluster): ClusterEvents::NotificationSentAllUsersAPIHandler\(\) does not set notified\_users
* [#4488](https://github.com/icinga/icinga2/issues/4488): Replace GetType\(\)-\>GetName\(\) calls with GetReflectionType\(\)-\>GetName\(\)
* [#4484](https://github.com/icinga/icinga2/issues/4484) (Cluster): Only allow sending command\_endpoint checks to directly connected child zones
* [#4483](https://github.com/icinga/icinga2/issues/4483) (DB IDO): ido CheckCommand returns returns "Could not connect to database server" when HA enabled
* [#4481](https://github.com/icinga/icinga2/issues/4481) (DB IDO): Fix the "ido" check command for use with command\_endpoint
* [#4478](https://github.com/icinga/icinga2/issues/4478): CompatUtility::GetCheckableNotificationStateFilter is returning an incorrect value
* [#4476](https://github.com/icinga/icinga2/issues/4476) (DB IDO): Importing mysql schema fails
* [#4475](https://github.com/icinga/icinga2/issues/4475) (CLI): pki sign-csr does not log where it is writing the certificate file
* [#4472](https://github.com/icinga/icinga2/issues/4472) (DB IDO): IDO marks objects as inactive on shutdown
* [#4471](https://github.com/icinga/icinga2/issues/4471) (DB IDO): IDO does duplicate config updates
* [#4466](https://github.com/icinga/icinga2/issues/4466) (Configuration): 'use' keyword cannot be used with templates
* [#4462](https://github.com/icinga/icinga2/issues/4462) (Notifications): Add log message if notifications are forced \(i.e. filters are not checked\)
* [#4461](https://github.com/icinga/icinga2/issues/4461) (Notifications): Notification resent, even if interval = 0
* [#4460](https://github.com/icinga/icinga2/issues/4460) (DB IDO): Fixed downtime start does not update actual\_start\_time
* [#4458](https://github.com/icinga/icinga2/issues/4458): Flexible downtimes should be removed after trigger\_time+duration
* [#4455](https://github.com/icinga/icinga2/issues/4455): Disallow casting "" to an Object
* [#4447](https://github.com/icinga/icinga2/issues/4447): Handle I/O errors while writing the Icinga state file more gracefully
* [#4446](https://github.com/icinga/icinga2/issues/4446) (Notifications): Incorrect downtime notification events
* [#4444](https://github.com/icinga/icinga2/issues/4444): Fix building Icinga with -fvisibility=hidden
* [#4439](https://github.com/icinga/icinga2/issues/4439) (Configuration): Icinga doesn't delete temporary icinga2.debug file when config validation fails
* [#4434](https://github.com/icinga/icinga2/issues/4434) (Notifications): Notification sent too fast when one master fails
* [#4430](https://github.com/icinga/icinga2/issues/4430) (Cluster): Remove obsolete README files in tools/syntax
* [#4427](https://github.com/icinga/icinga2/issues/4427) (Notifications): Missing notification for recovery during downtime
* [#4425](https://github.com/icinga/icinga2/issues/4425) (DB IDO): Change the way outdated comments/downtimes are deleted on restart
* [#4420](https://github.com/icinga/icinga2/issues/4420) (Notifications): Multiple notifications when master fails
* [#4418](https://github.com/icinga/icinga2/issues/4418) (DB IDO): icinga2 IDO reload performance significant slower with latest snapshot release
* [#4417](https://github.com/icinga/icinga2/issues/4417) (Notifications): Notification interval mistimed
* [#4413](https://github.com/icinga/icinga2/issues/4413) (DB IDO): icinga2 empties custom variables, host-, servcie- and contactgroup members at the end of IDO database reconnection
* [#4412](https://github.com/icinga/icinga2/issues/4412) (Notifications): Reminder notifications ignore HA mode
* [#4405](https://github.com/icinga/icinga2/issues/4405) (DB IDO): Deprecation warning should include ob