@@ -7,6 +7,159 @@ documentation before upgrading to a new release.
77
88Released closed milestones can be found on [ GitHub] ( https://github.com/Icinga/icinga2/milestones?state=closed ) .
99
10+ ## 2.15.0 (2025-06-18)
11+
12+ This Icinga 2 release is focused on adding Icinga 2 dependencies support to Icinga DB, but also includes a number
13+ of bugfixes, enhancements and code quality improvements. Below is a summary of the most important changes, for the
14+ 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 ) .
15+
16+ ### Notes
17+
18+ Thanks to all contributors:
19+ [ ChrLau] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3AChrLau ) ,
20+ [ Josef-Friedrich] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3AJosef-Friedrich ) ,
21+ [ LordHepipud] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ALordHepipud ) ,
22+ [ OdyX] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3AOdyX ) ,
23+ [ RincewindsHat] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ARincewindsHat ) ,
24+ [ SebastianOpeni] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ASebastianOpeni ) ,
25+ [ SpeedD3] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ASpeedD3 ) ,
26+ [ Tqnsls] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3ATqnsls ) ,
27+ [ botovq] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Abotovq ) ,
28+ [ cycloon] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Acycloon ) ,
29+ [ legioner0] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Alegioner0 ) ,
30+ [ legna-namor] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Alegna-namor ) ,
31+ [ macdems] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Amacdems ) ,
32+ [ mathiasaerts] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Amathiasaerts ) ,
33+ [ mcodato] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Amcodato ) ,
34+ [ n-rodriguez] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3An-rodriguez ) ,
35+ [ netphantm] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Anetphantm ) ,
36+ [ nicolasberens] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Anicolasberens ) ,
37+ [ oldelvet] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Aoldelvet ) ,
38+ [ peteeckel] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Apeteeckel ) ,
39+ [ tbauriedel] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Atbauriedel ) ,
40+ [ w1ll-i-code] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Aw1ll-i-code ) ,
41+ [ ymartin-ovh] ( https://github.com/Icinga/icinga2/pulls?q=is%3Apr+is%3Aclosed+milestone%3A2.15.0+author%3Aymartin-ovh )
42+
43+ ### Breaking Changes
44+
45+ * API: Fix ` /v1/objects/* ` queries with ` attrs ` set to ` [] ` to return empty attributes instead of all of them. #8169
46+ * Drop the undocumented ` Checkable#process_check_result ` and broken ` System#track_parents ` DSL functions. #10457
47+
48+ ### Enhancements
49+
50+ * Gracefully disconnect all clients on shutdown and prevent from accepting new connections. #10460
51+ * 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
52+ * Add support for Icinga 2 dependencies in Icinga DB. #10290
53+ * Take host/service reachability into account when computing its severity. #10399
54+ * Rework the dependency cycle detection to efficiently handle large configs and provide better error messages. #10360
55+ * Don't log next check timestamp in scientific notation. #10352
56+ * Automatically remove child downtimes when removing parent downtime. #10345
57+ * Ensure compatibility with Boost version up to v1.88. #10278 #10419
58+ * Reject infinite performance data values. #10077
59+ * Support ` host_template ` and ` service_template ` tags in ` ElasticsearchWriter ` . #10074
60+ * Icinga DB: Support Redis® username authentication. #10102
61+ * Cluster: Distribute host child objects (e.g. services, notifications, etc.) based on the host's name. #10161
62+ * Icinga DB Check: Report an error if both Icinga DB instances are responsible in a HA setup. #10188
63+ * Windows: upgrade build toolchain to Visual Studio 2022. #9747
64+
65+ ### Bugfixes
66+
67+ * Core
68+ * Use ` Checkable#check_timeout ` also for rescheduling remote checks. #10443
69+ * Log: Don't unnecessarily buffer log messages that are going to be dropped anyway. #10177
70+ * Don't loose perfdata counter (` c ` ) unit when normalizing performance data for Icinga DB. #10432
71+ * Fix broken SELinux policy on Fedora ≥ 41 due to the new ` /usr/sbin ` to ` /usr/bin ` equivalence. #10429
72+ * Don't load ` Notification ` objects before ` User ` and ` UserGroup ` objects to allow them to be referenced in notifications. #10427
73+ * Ensure consistent DST handling across different platforms. #10422
74+ * Fix Icinga 2 doesn't generate a core dump when it crashes with SIGABRT. #10416
75+ * Don't process concurrent checks for the same checkable. #10372
76+ * Don't process check results after the checker and API listener have been stopped. #10397
77+ * Avoid zombie processes on plugin execution timeout on busy systems. #10375
78+ * Properly restore the notification object state on ` Recovery ` notification. #10361
79+ * Fix incorrectly dropped acknowledgement and recovery notifications. #10211
80+ * Prevent checks from always being rescheduled outside the configured ` check_period ` . #10070
81+ * Don't send reminder notifications after a ` Custom ` notification while ` interval ` is set to ` 0 ` . #7818
82+ * Reset all signal handlers of child processes to their defaults before starting a plugin. #8011
83+ * tests: Fix ` FormatDateTime ` test cases with invalid formats on macOS and all BSD-based systems. #10149
84+ * Mark move constructor and assignment operator in ` String ` as ` noexcept ` to allow optimizations. #10353 #10365
85+ * Cluster and API
86+ * Fix an inverted condition in ` ApiListener#IsHACluster() ` that caused to always return ` true ` in a non-HA setup. #10417
87+ * Don't silently accept authenticated JSON-RPC connections with no valid endpoint. #10415
88+ * Sync ` Notification#notified_problem_users ` across the cluster to prevent lost recovery notifications. #10380
89+ * Remove superfluous ` ) ` from a HTTP request log message. #9966
90+ * Disable TLS renegotiation (handshake on existing connection) on OpenBSD as well. #9943
91+ * Log also the underlying error message when a HTTP request is closed with ` No data received ` by Icinga 2. #9928
92+ * Fix a deadlock triggered by concurrent ` /v1/actions/add-comment ` and ` /v1/actions/acknowledge-problem ` requests on
93+ the same checkable, as well as a crash that might occur when running perfectly timed ` /v1/actions/add-comment `
94+ and ` /v1/actions/remove-comment ` requests targeting the same comment. #9924
95+ * Icinga DB
96+ * Fix missing acknowledgement and flapping history entries due to a number overflow. #10467
97+ * Send downtime ` cancel_time ` only if it is cancelled. #10379
98+ * Send only the necessary data to the ` icinga:stats ` Redis® stream. #10359
99+ * Remove a spin lock in ` RedisConnection#Connect() ` to avoid busy waiting. #10265
100+ * Writers
101+ * Serialize all required metrics before queueing them to a ` WorkQueue ` . #10420
102+ * ` OpenTsdbWriter ` : Include checkable name in log messages to ease troubleshooting. #10009
103+ * ` OpenTsdbWriter ` : Don't send custom empty tags. #7928
104+ * ` InfluxDBWriter ` : Add missing closing quote in validation error message. #10174
105+
106+ ### ITL
107+
108+ * Add ` --maintenance_mode_state ` (` $vmware_maintenance_mode_state ` ) argument to ` vmware-esx-command ` check command. #10435
109+ * Add ` -n ` (` $load_procs_to_show$ ` ) argument to ` load ` check command. #10426
110+ * Add ` --inode-perfdata ` (` $disk_np_inode_perfdata$ ` ) argument to ` disk ` check command. #10395
111+ * Add ` -r ` (` $ssh_remote_version$ ` ) and ` -P ` (` $ssh_remote_protocol$ ` ) arguments to ` ssh ` check command. #10283
112+ * 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
113+ * Add ` -X ` (` $proc_exclude_process$ ` ) argument to ` procs ` check command. #10232
114+ * Add ` --dane ` (` $ssl_cert_dane$ ` ) argument to ` ssl_cert ` check command. #10196
115+ * Fix ` check_ssl_cert ` deprecation warnings. #9758
116+ * Fix ` check_systemd ` executable name add add all missing arguments. #10035
117+ * Add ` -M ` (` $snmp_multiplier$ ` & ` $snmpv3_multiplier$ ` ) argument to ` snmp ` and ` snmpv3 ` check commands. #9975
118+ * Add ` --continue-after-certificate ` (` $http_certificate_continue$ ` ) argument to ` http ` check command. #9974
119+ * Add ` --ignore-maximum-validity ` (` $ssl_cert_ignore_maximum_validity$ ` ) argument to ` ssl_cert ` check command. #10396
120+ * Add ` --maximum-validity ` (` $ssl_cert_maximum_validity$ ` ) argument to ` ssl_cert ` check command. #9881
121+ * Add ` --url ` (` $ssl_cert_http_url$ ` ) argument to ` ssl_cert ` check command. #9759
122+ * Add ` fuse.sshfs ` and ` fuse.* ` (supported only by Monitoring Plugins) to the list of default disk exclude types. #9749
123+ * Add ` check_curl ` check command. #9205
124+ * Add the ` --extra-opts ` argument to various commands that support it. #8010
125+
126+ ### Documentation
127+
128+ * Don't use ` dnf config-manager ` to configure Fedora repository and mention ` icingadb-redis-selinux ` package. #10479
129+ * Update the outdated cold startup duration documentation to reflect the current behavior. #10446
130+ * Indent second-level unordered lists with four spaces to correctly render them in the HTML documentation. #10441
131+ * Add a reference to the check result state documentation from within the Advanced Topics section. #10421
132+ * Improve the documentation of how to generate Icinga 2 core dumps. #10418
133+ * Update Icinga 2 CLI output examples to match the current output. #10323
134+ * Fix incorrect ` ping_timeout ` value in the ` hostalive ` check command documentation. #10069
135+
136+ ### Code Quality
137+
138+ * Simplify deferred SSL shutdown in ` ApiListener#NewClientHandlerInternal() ` . #10301
139+ * Don't unnecessarily shuffle configuration items during config load. #10008
140+ * Sort config types by their load dependencies at namespace initialization time to save some round trips during config load. #10148
141+ * Fix ` livestatus ` build error on macOS without unity builds. #10176
142+ * Remove unused methods in ` SharedObject ` class. #10456
143+ * Remove unused ` ProcessingResult#NoCheckResult ` enum value. #10444
144+ * CMake: Drop all third-party cmake modules and use the ones shipped with CMake v3.8+. #10403
145+ * CMake: Raise the minimum required policy to ` 3.8 ` . #10402 #10478
146+ * CMake: Turn on ` -Wsuggest-override ` to warn about missing ` override ` specifiers. #10225 #10356
147+ * Make ` icinga::Empty ` a constant to prevent accidental modifications. #10224
148+ * Remove various unused methods in the ` Registry ` class. #10222
149+ * Fix missing parent ` std::atomic<T> ` constructor call in our ` Atomic<T> ` wrapper class. #10215
150+ * Drop unused ` m_NextHeartbeat ` member variable from ` JsonRpcConnection ` . #10208
151+ * Enhance some of the validation error messages. #10201
152+ * Don't allow ` Type#GetLoadDependencies() ` to return non-config object type dependencies. #10169
153+ * Don't allow ` Type#GetLoadDependencies() ` to return a set of nullptr type dependencies. #10155
154+ * Remove EOL distros detection code from ` Utility::ReleaseHelper() ` function. #10147
155+ * Remove dead code in TLS ` GetSignatureAlgorithm() ` function. #9882
156+ * Mark ` Logger#GetSeverity() ` as non-virtual to avoid unnecessary vtable lookups. #9851
157+ * Remove unused ` Stream#Peak() ` method and unused ` allow_partial ` parameter from ` Stream#Read() ` . #9734 #9736
158+ * Suppress compiler warnings in third-party libraries. #9732
159+ * Fix various compiler warnings. #9731 #10442
160+ * Reduce task function allocation overhead by using a per-thread created lambda in ` WorkQueue ` . #9575
161+ * Remove redundant trailing empty lines and add missing newlines in some files. #7799
162+
10163## 2.14.6 (2025-05-27)
11164
12165This security release fixes a critical issue in the certificate renewal logic in Icinga 2, which
0 commit comments