]> granicus.if.org Git - icinga2/blob - doc/1-about.md
Add documentation for the script debugger
[icinga2] / doc / 1-about.md
1 # <a id="about-icinga2"></a> About Icinga 2
2
3 ## <a id="what-is-icinga2"></a> What is Icinga 2?
4
5 Icinga 2 is an open source monitoring system which checks the availability of
6 your network resources, notifies users of outages, and generates performance
7 data for reporting.
8
9 Scalable and extensible, Icinga 2 can monitor large, complex environments across
10 multiple locations.
11
12 ## <a id="licensing"></a> Licensing
13
14 Icinga 2 and the Icinga 2 documentation are licensed under the terms of the GNU
15 General Public License Version 2, you will find a copy of this license in the
16 LICENSE file included in the source package.
17
18 ## <a id="support"></a> Support
19
20 Support for Icinga 2 is available in a number of ways. Please have a look at
21 the [support overview page](https://support.icinga.org).
22
23 ## <a id="contribute"></a> Contribute
24
25 There are many ways to contribute to Icinga - whether it be sending patches,
26 testing, reporting bugs, or reviewing and updating the documentation. Every
27 contribution is appreciated!
28
29 Please get in touch with the Icinga team at https://www.icinga.org/community/.
30
31 If you want to help update this documentation please read
32 [this howto](https://wiki.icinga.org/display/community/Update+the+Icinga+2+documentation).
33
34 ### <a id="development-info"></a> Icinga 2 Development
35
36 You can follow Icinga 2's development closely by checking
37 out these resources:
38
39 * [Development Bug Tracker](https://dev.icinga.org/projects/i2): [How to report a bug?](https://www.icinga.org/icinga/faq/)
40 * Git Repositories: [main mirror on icinga.org](https://git.icinga.org/?p=icinga2.git;a=summary) [release mirror at github.com](https://github.com/Icinga/icinga2)
41 * [Git Checkins Mailinglist](https://lists.icinga.org/mailman/listinfo/icinga-checkins)
42 * [Development](https://lists.icinga.org/mailman/listinfo/icinga-devel) and [Users](https://lists.icinga.org/mailman/listinfo/icinga-users) Mailinglists
43 * [#icinga-devel on irc.freenode.net](http://webchat.freenode.net/?channels=icinga-devel) including a Git Commit Bot
44
45 For general support questions, please refer to the [community support channels](https://support.icinga.org).
46
47 ### <a id="how-to-report-bug-feature-requests"></a> How to Report a Bug or Feature Request
48
49 More details in the [Icinga FAQ](https://www.icinga.org/icinga/faq/).
50
51 * [Register](https://accounts.icinga.org/register) an Icinga account.
52 * Create a new issue at the [Icinga 2 Development Tracker](https://dev.icinga.org/projects/i2).
53 * When reporting a bug, please include the details described in the [Troubleshooting](16-troubleshooting.md#troubleshooting-information-required) chapter (version, configs, logs, etc).
54
55 ## <a id="whats-new"></a> What's New
56
57 ### What's New in Version 2.3.11
58
59 #### Changes
60
61 * Function for performing CIDR matches: cidr_match()
62 * New methods: String#reverse and Array#reverse
63 * New ITL command definitions: nwc_health, hpasm, squid, pgsql
64 * Additional arguments for ITL command definitions: by_ssh, dig, pop, spop, imap, simap
65 * Documentation updates
66 * Various bugfixes
67
68 #### Features
69
70 * Feature [9183](https://dev.icinga.org/issues/9183 "Feature 9183"): Add timestamp support for OpenTsdbWriter
71 * Feature [9466](https://dev.icinga.org/issues/9466 "Feature 9466"): Add FreeBSD setup to getting started
72 * Feature [9812](https://dev.icinga.org/issues/9812 "Feature 9812"): add check command for check_nwc_health
73 * Feature [9854](https://dev.icinga.org/issues/9854 "Feature 9854"): check_command for plugin check_hpasm
74 * Feature [10004](https://dev.icinga.org/issues/10004 "Feature 10004"): escape_shell_arg() method
75 * Feature [10006](https://dev.icinga.org/issues/10006 "Feature 10006"): Implement a way for users to resolve commands+arguments in the same way Icinga does
76 * Feature [10057](https://dev.icinga.org/issues/10057 "Feature 10057"): Command Execution Bridge: Use of same endpoint names in examples for a better understanding
77 * Feature [10109](https://dev.icinga.org/issues/10109 "Feature 10109"): Add check command squid
78 * Feature [10112](https://dev.icinga.org/issues/10112 "Feature 10112"): Add check command pgsql
79 * Feature [10129](https://dev.icinga.org/issues/10129 "Feature 10129"): Add ipv4/ipv6 only to nrpe CheckCommand
80 * Feature [10139](https://dev.icinga.org/issues/10139 "Feature 10139"): expand check command dig
81 * Feature [10142](https://dev.icinga.org/issues/10142 "Feature 10142"): Update debug docs for core dumps and full backtraces
82 * Feature [10157](https://dev.icinga.org/issues/10157 "Feature 10157"): Update graphing section in the docs
83 * Feature [10158](https://dev.icinga.org/issues/10158 "Feature 10158"): Make check_disk.exe CheckCommand Config more verbose
84 * Feature [10161](https://dev.icinga.org/issues/10161 "Feature 10161"): Improve documentation for check_memory
85 * Feature [10197](https://dev.icinga.org/issues/10197 "Feature 10197"): Implement the Array#reverse and String#reverse methods
86 * Feature [10207](https://dev.icinga.org/issues/10207 "Feature 10207"): Find a better description for cluster communication requirements
87 * Feature [10216](https://dev.icinga.org/issues/10216 "Feature 10216"): Clarify on cluster/client naming convention and add troubleshooting section
88 * Feature [10219](https://dev.icinga.org/issues/10219 "Feature 10219"): Add timeout argument for pop, spop, imap, simap commands
89 * Feature [10352](https://dev.icinga.org/issues/10352 "Feature 10352"): Improve timeperiod documentation
90 * Feature [10354](https://dev.icinga.org/issues/10354 "Feature 10354"): New method: cidr_match()
91 * Feature [10379](https://dev.icinga.org/issues/10379 "Feature 10379"): Add a debug log message for updating the program status table in DB IDO
92
93 #### Bugfixes
94
95 * Bug [8805](https://dev.icinga.org/issues/8805 "Bug 8805"): check cluster-zone returns wrong log lag
96 * Bug [9322](https://dev.icinga.org/issues/9322 "Bug 9322"): sending multiple Livestatus commands rejects all except the first
97 * Bug [10002](https://dev.icinga.org/issues/10002 "Bug 10002"): Deadlock in WorkQueue::Enqueue
98 * Bug [10079](https://dev.icinga.org/issues/10079 "Bug 10079"): Improve error message for socket errors in Livestatus
99 * Bug [10093](https://dev.icinga.org/issues/10093 "Bug 10093"): Rather use unique SID when granting rights for folders in NSIS on Windows Client
100 * Bug [10177](https://dev.icinga.org/issues/10177 "Bug 10177"): Windows Check Update -> Access denied
101 * Bug [10191](https://dev.icinga.org/issues/10191 "Bug 10191"): String methods cannot be invoked on an empty string
102 * Bug [10192](https://dev.icinga.org/issues/10192 "Bug 10192"): null + null should not be ""
103 * Bug [10199](https://dev.icinga.org/issues/10199 "Bug 10199"): Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate
104 * Bug [10204](https://dev.icinga.org/issues/10204 "Bug 10204"): Config parser problem with parenthesis and newlines
105 * Bug [10205](https://dev.icinga.org/issues/10205 "Bug 10205"): config checker reports wrong error on apply for rules
106 * Bug [10235](https://dev.icinga.org/issues/10235 "Bug 10235"): Deadlock in TlsStream::Close
107 * Bug [10239](https://dev.icinga.org/issues/10239 "Bug 10239"): Don't throw an exception when replaying the current replay log file
108 * Bug [10245](https://dev.icinga.org/issues/10245 "Bug 10245"): Percent character whitespace on Windows
109 * Bug [10254](https://dev.icinga.org/issues/10254 "Bug 10254"): Performance Data Labels including '=' will not be displayed correct
110 * Bug [10262](https://dev.icinga.org/issues/10262 "Bug 10262"): Don't log messages we've already relayed to all relevant zones
111 * Bug [10266](https://dev.icinga.org/issues/10266 "Bug 10266"): "Not after" value overflows in X509 certificates on RHEL5
112 * Bug [10348](https://dev.icinga.org/issues/10348 "Bug 10348"): Checkresultreader is unable to process host checks
113 * Bug [10349](https://dev.icinga.org/issues/10349 "Bug 10349"): Missing Start call for base class in CheckResultReader
114 * Bug [10351](https://dev.icinga.org/issues/10351 "Bug 10351"): Broken table layout in chapter 20
115 * Bug [10365](https://dev.icinga.org/issues/10365 "Bug 10365"): ApiListener::SyncRelayMessage doesn't send message to all zone members
116 * Bug [10377](https://dev.icinga.org/issues/10377 "Bug 10377"): Wrong connection log message for global zones
117
118 ### What's New in Version 2.3.10
119
120 #### Features
121
122 * Feature [9218](https://dev.icinga.org/issues/9218 "Feature 9218"): Use the command_endpoint name as check_source value if defined
123
124 #### Bugfixes
125
126 * Bug [9244](https://dev.icinga.org/issues/9244 "Bug 9244"): String escape problem with PostgreSQL >= 9.1 and standard_conforming_strings=on
127 * Bug [10003](https://dev.icinga.org/issues/10003 "Bug 10003"): Nested "outer" macro calls fails on (handled) missing "inner" values
128 * Bug [10051](https://dev.icinga.org/issues/10051 "Bug 10051"): Missing fix for reload on Windows in 2.3.9
129 * Bug [10058](https://dev.icinga.org/issues/10058 "Bug 10058"): Wrong calculation for host compat state "UNREACHABLE" in DB IDO
130 * Bug [10074](https://dev.icinga.org/issues/10074 "Bug 10074"): Missing zero padding for generated CA serial.txt
131
132 ### What's New in Version 2.3.9
133
134 #### Changes
135
136 * Fix that the first SOFT state is recognized as second SOFT state
137 * Implemented reload functionality for Windows
138 * New ITL check commands
139 * Documentation updates
140 * Various other bugfixes
141
142 #### Features
143
144 * Feature [9527](https://dev.icinga.org/issues/9527 "Feature 9527"): CheckCommand for check_interfaces
145 * Feature [9671](https://dev.icinga.org/issues/9671 "Feature 9671"): Add check_yum to ITL
146 * Feature [9675](https://dev.icinga.org/issues/9675 "Feature 9675"): Add check_redis to ITL
147 * Feature [9686](https://dev.icinga.org/issues/9686 "Feature 9686"): Update gdb pretty printer docs w/ Python 3
148 * Feature [9699](https://dev.icinga.org/issues/9699 "Feature 9699"): Adding "-r" parameter to the check_load command for dividing the load averages by the number of CPUs.
149 * Feature [9747](https://dev.icinga.org/issues/9747 "Feature 9747"): check_command for plugin check_clamd
150 * Feature [9796](https://dev.icinga.org/issues/9796 "Feature 9796"): Implement Dictionary#get and Array#get
151 * Feature [9801](https://dev.icinga.org/issues/9801 "Feature 9801"): Add check_jmx4perl to ITL
152 * Feature [9811](https://dev.icinga.org/issues/9811 "Feature 9811"): add check command for check_mailq
153 * Feature [9827](https://dev.icinga.org/issues/9827 "Feature 9827"): snmpv3 CheckCommand section improved
154 * Feature [9882](https://dev.icinga.org/issues/9882 "Feature 9882"): Implement the Dictionary#keys method
155 * Feature [9883](https://dev.icinga.org/issues/9883 "Feature 9883"): Use an empty dictionary for the 'this' scope when executing commands with Livestatus
156 * Feature [9985](https://dev.icinga.org/issues/9985 "Feature 9985"): add check command nscp-local-counter
157 * Feature [9996](https://dev.icinga.org/issues/9996 "Feature 9996"): Add new arguments openvmtools for Open VM Tools
158
159 #### Bugfixes
160
161 * Bug [8979](https://dev.icinga.org/issues/8979 "Bug 8979"): Missing DEL_DOWNTIME_BY_HOST_NAME command required by Classic UI 1.x
162 * Bug [9262](https://dev.icinga.org/issues/9262 "Bug 9262"): cluster check w/ immediate parent and child zone endpoints
163 * Bug [9623](https://dev.icinga.org/issues/9623 "Bug 9623"): missing config warning on empty port in endpoints
164 * Bug [9769](https://dev.icinga.org/issues/9769 "Bug 9769"): Set correct X509 version for certificates
165 * Bug [9773](https://dev.icinga.org/issues/9773 "Bug 9773"): Add log for missing EventCommand for command_endpoints
166 * Bug [9779](https://dev.icinga.org/issues/9779 "Bug 9779"): Trying to set a field for a non-object instance fails
167 * Bug [9782](https://dev.icinga.org/issues/9782 "Bug 9782"): icinga2 node wizard don't take zone_name input
168 * Bug [9806](https://dev.icinga.org/issues/9806 "Bug 9806"): Operator + is inconsistent when used with empty and non-empty strings
169 * Bug [9814](https://dev.icinga.org/issues/9814 "Bug 9814"): Build fix for Boost 1.59
170 * Bug [9835](https://dev.icinga.org/issues/9835 "Bug 9835"): Dict initializer incorrectly re-initializes field that is set to an empty string
171 * Bug [9860](https://dev.icinga.org/issues/9860 "Bug 9860"): missing check_perfmon.exe
172 * Bug [9867](https://dev.icinga.org/issues/9867 "Bug 9867"): Agent freezes when the check returns massive output
173 * Bug [9884](https://dev.icinga.org/issues/9884 "Bug 9884"): Warning about invalid API function icinga::Hello
174 * Bug [9897](https://dev.icinga.org/issues/9897 "Bug 9897"): First SOFT state is recognized as second SOFT state
175 * Bug [9902](https://dev.icinga.org/issues/9902 "Bug 9902"): typo in docs
176 * Bug [9912](https://dev.icinga.org/issues/9912 "Bug 9912"): check_command interfaces option match_aliases has to be boolean
177 * Bug [9913](https://dev.icinga.org/issues/9913 "Bug 9913"): Default disk checks on Windows fail because check_disk doesn't support -K
178 * Bug [9928](https://dev.icinga.org/issues/9928 "Bug 9928"): Add missing category for IDO query
179 * Bug [9947](https://dev.icinga.org/issues/9947 "Bug 9947"): Serial number field is not properly initialized for CA certificates
180 * Bug [9961](https://dev.icinga.org/issues/9961 "Bug 9961"): Don't re-download NSCP for every build
181 * Bug [9962](https://dev.icinga.org/issues/9962 "Bug 9962"): Utility::Glob on Windows doesn't support wildcards in all but the last path component
182 * Bug [9972](https://dev.icinga.org/issues/9972 "Bug 9972"): Icinga2 - too many open files - Exception
183 * Bug [9984](https://dev.icinga.org/issues/9984 "Bug 9984"): fix check command nscp-local
184 * Bug [9992](https://dev.icinga.org/issues/9992 "Bug 9992"): Duplicate severity type in the documentation for SyslogLogger
185
186 ### What's New in Version 2.3.8
187
188 #### Changes
189
190 * Bugfixes
191
192 #### Bugfixes
193
194 * Bug [9554](https://dev.icinga.org/issues/9554 "Bug 9554"): Don't allow "ignore where" for groups when there's no "assign where"
195 * Bug [9634](https://dev.icinga.org/issues/9634 "Bug 9634"): DB IDO: Do not update endpointstatus table on config updates
196 * Bug [9637](https://dev.icinga.org/issues/9637 "Bug 9637"): Wrong parameter for CheckCommand "ping-common-windows"
197 * Bug [9665](https://dev.icinga.org/issues/9665 "Bug 9665"): Escaping does not work for OpenTSDB perfdata plugin
198 * Bug [9666](https://dev.icinga.org/issues/9666 "Bug 9666"): checkcommand disk does not check free inode - check_disk
199
200 ### What's New in Version 2.3.7
201
202 #### Changes
203
204 * Bugfixes
205
206 #### Features
207
208 * Feature [9610](https://dev.icinga.org/issues/9610 "Feature 9610"): Enhance troubleshooting ssl errors & cluster replay log
209
210 #### Bugfixes
211
212 * Bug [9406](https://dev.icinga.org/issues/9406 "Bug 9406"): Selective cluster reconnecting breaks client communication
213 * Bug [9535](https://dev.icinga.org/issues/9535 "Bug 9535"): Config parser ignores "ignore" in template definition
214 * Bug [9584](https://dev.icinga.org/issues/9584 "Bug 9584"): Incorrect return value for the macro() function
215 * Bug [9585](https://dev.icinga.org/issues/9585 "Bug 9585"): Wrong formatting in DB IDO extensions docs
216 * Bug [9586](https://dev.icinga.org/issues/9586 "Bug 9586"): DB IDO: endpoint* tables are cleared on reload causing constraint violations
217 * Bug [9621](https://dev.icinga.org/issues/9621 "Bug 9621"): Assertion failed in icinga::ScriptUtils::Intersection
218 * Bug [9622](https://dev.icinga.org/issues/9622 "Bug 9622"): Missing lock in ScriptUtils::Union
219
220 ### What's New in Version 2.3.6
221
222 #### Changes
223
224 * Require openssl1 on sles11sp3 from Security Module repository
225   * Bug in SLES 11's OpenSSL version 0.9.8j preventing verification of generated certificates.
226   * Re-create these certificates with 2.3.6 linking against openssl1 (cli command or CSR auto-signing).
227 * ITL: Add ldap, ntp_peer, mongodb and elasticsearch CheckCommand definitions
228 * Bugfixes
229
230 #### Features
231
232 * Feature [6714](https://dev.icinga.org/issues/6714 "Feature 6714"): add pagerduty notification documentation
233 * Feature [9172](https://dev.icinga.org/issues/9172 "Feature 9172"): Add "ldap" CheckCommand for "check_ldap" plugin
234 * Feature [9191](https://dev.icinga.org/issues/9191 "Feature 9191"): Add "mongodb" CheckCommand definition
235 * Feature [9415](https://dev.icinga.org/issues/9415 "Feature 9415"): Add elasticsearch checkcommand to itl
236 * Feature [9416](https://dev.icinga.org/issues/9416 "Feature 9416"): snmpv3 CheckCommand: Add possibility to set securityLevel
237 * Feature [9451](https://dev.icinga.org/issues/9451 "Feature 9451"): Merge documentation fixes from GitHub
238 * Feature [9523](https://dev.icinga.org/issues/9523 "Feature 9523"): Add ntp_peer CheckCommand
239 * Feature [9562](https://dev.icinga.org/issues/9562 "Feature 9562"): Add new options for ntp_time CheckCommand
240 * Feature [9578](https://dev.icinga.org/issues/9578 "Feature 9578"): new options for smtp CheckCommand
241
242 #### Bugfixes
243
244 * Bug [9205](https://dev.icinga.org/issues/9205 "Bug 9205"): port empty when using icinga2 node wizard
245 * Bug [9253](https://dev.icinga.org/issues/9253 "Bug 9253"): Incorrect variable name in the ITL
246 * Bug [9303](https://dev.icinga.org/issues/9303 "Bug 9303"): Missing 'snmp_is_cisco' in Manubulon snmp-memory command definition
247 * Bug [9436](https://dev.icinga.org/issues/9436 "Bug 9436"): Functions can't be specified as command arguments
248 * Bug [9450](https://dev.icinga.org/issues/9450 "Bug 9450"): node setup: indent accept_config and accept_commands
249 * Bug [9452](https://dev.icinga.org/issues/9452 "Bug 9452"): Wrong file reference in README.md
250 * Bug [9456](https://dev.icinga.org/issues/9456 "Bug 9456"): Windows client w/ command_endpoint broken with $nscp_path$ and NscpPath detection
251 * Bug [9463](https://dev.icinga.org/issues/9463 "Bug 9463"): Incorrect check_ping.exe parameter in the ITL
252 * Bug [9476](https://dev.icinga.org/issues/9476 "Bug 9476"): Documentation for checks in an HA zone is wrong
253 * Bug [9481](https://dev.icinga.org/issues/9481 "Bug 9481"): Fix stability issues in the TlsStream/Stream classes
254 * Bug [9489](https://dev.icinga.org/issues/9489 "Bug 9489"): Add log message for discarded cluster events (e.g. from unauthenticated clients)
255 * Bug [9490](https://dev.icinga.org/issues/9490 "Bug 9490"): Missing openssl verify in cluster troubleshooting docs
256 * Bug [9513](https://dev.icinga.org/issues/9513 "Bug 9513"): itl/plugins-contrib.d/*.conf should point to PluginContribDir
257 * Bug [9522](https://dev.icinga.org/issues/9522 "Bug 9522"): wrong default port documentated for nrpe
258 * Bug [9549](https://dev.icinga.org/issues/9549 "Bug 9549"): Generated certificates cannot be verified w/ openssl 0.9.8j on SLES 11
259 * Bug [9558](https://dev.icinga.org/issues/9558 "Bug 9558"): mysql-devel is not available in sles11sp3
260 * Bug [9563](https://dev.icinga.org/issues/9563 "Bug 9563"): Update getting started for Debian Jessie
261
262 ### What's New in Version 2.3.5
263
264 #### Changes
265
266 * NSClient++ is now bundled with the Windows setup wizard and can optionally be installed
267 * Windows Wizard: "include <nscp>" is set by default
268 * Windows Wizard: Add update mode
269 * Plugins: Add check_perfmon plugin for Windows
270 * ITL: Add CheckCommand objects for Windows plugins ("include <windows-plugins>")
271 * ITL: Add CheckCommand definitions for "mongodb", "iftraffic", "disk_smb"
272 * ITL: Add arguments to CheckCommands "dns", "ftp", "tcp", "nscp"
273
274 #### Features
275
276 * Feature [8116](https://dev.icinga.org/issues/8116 "Feature 8116"): Extend Windows installer with an update mode
277 * Feature [8180](https://dev.icinga.org/issues/8180 "Feature 8180"): Add documentation and CheckCommands for the windows plugins
278 * Feature [8809](https://dev.icinga.org/issues/8809 "Feature 8809"): Add check_perfmon plugin for Windows
279 * Feature [9115](https://dev.icinga.org/issues/9115 "Feature 9115"): Add SHOWALL to NSCP Checkcommand
280 * Feature [9130](https://dev.icinga.org/issues/9130 "Feature 9130"): Add 'check_drivesize' as nscp-local check command
281 * Feature [9145](https://dev.icinga.org/issues/9145 "Feature 9145"): Add arguments to "dns" CheckCommand
282 * Feature [9146](https://dev.icinga.org/issues/9146 "Feature 9146"): Add arguments to "ftp" CheckCommand
283 * Feature [9147](https://dev.icinga.org/issues/9147 "Feature 9147"): Add arguments to "tcp" CheckCommand
284 * Feature [9176](https://dev.icinga.org/issues/9176 "Feature 9176"): ITL Documentation: Add a link for passing custom attributes as command parameters
285 * Feature [9180](https://dev.icinga.org/issues/9180 "Feature 9180"): Include Windows support details in the documentation
286 * Feature [9185](https://dev.icinga.org/issues/9185 "Feature 9185"): Add timestamp support for PerfdataWriter
287 * Feature [9191](https://dev.icinga.org/issues/9191 "Feature 9191"): Add "mongodb" CheckCommand definition
288 * Feature [9238](https://dev.icinga.org/issues/9238 "Feature 9238"): Bundle NSClient++ in Windows Installer
289 * Feature [9254](https://dev.icinga.org/issues/9254 "Feature 9254"): Add 'disk_smb' Plugin CheckCommand definition
290 * Feature [9256](https://dev.icinga.org/issues/9256 "Feature 9256"): Determine NSClient++ installation path using MsiGetComponentPath
291 * Feature [9260](https://dev.icinga.org/issues/9260 "Feature 9260"): Include <nscp> by default on Windows
292 * Feature [9261](https://dev.icinga.org/issues/9261 "Feature 9261"): Add the --load-all and --log options for nscp-local
293 * Feature [9263](https://dev.icinga.org/issues/9263 "Feature 9263"): Add support for installing NSClient++ in the Icinga 2 Windows wizard
294 * Feature [9270](https://dev.icinga.org/issues/9270 "Feature 9270"): Update service apply for documentation
295 * Feature [9272](https://dev.icinga.org/issues/9272 "Feature 9272"): Add 'iftraffic' to plugins-contrib check command definitions
296 * Feature [9285](https://dev.icinga.org/issues/9285 "Feature 9285"): Best practices: cluster config sync
297 * Feature [9297](https://dev.icinga.org/issues/9297 "Feature 9297"): Add examples for function usage in "set_if" and "command" attributes
298 * Feature [9310](https://dev.icinga.org/issues/9310 "Feature 9310"): Add typeof in 'assign/ignore where' expression as example
299 * Feature [9311](https://dev.icinga.org/issues/9311 "Feature 9311"): Add local variable scope for *Command to documentation (host, service, etc)
300 * Feature [9313](https://dev.icinga.org/issues/9313 "Feature 9313"): Use a more simple example for passing command parameters
301 * Feature [9318](https://dev.icinga.org/issues/9318 "Feature 9318"): Explain string concatenation in objects by real-world example
302 * Feature [9363](https://dev.icinga.org/issues/9363 "Feature 9363"): Update documentation for escape sequences
303 * Feature [9419](https://dev.icinga.org/issues/9419 "Feature 9419"): Enhance cluster/client troubleshooting
304 * Feature [9420](https://dev.icinga.org/issues/9420 "Feature 9420"): Enhance cluster docs with HA command_endpoints
305 * Feature [9431](https://dev.icinga.org/issues/9431 "Feature 9431"): Documentation: Move configuration before advanced topics
306
307 #### Bugfixes
308
309 * Bug [8853](https://dev.icinga.org/issues/8853 "Bug 8853"): Syntax Highlighting: host.address vs host.add
310 * Bug [8888](https://dev.icinga.org/issues/8888 "Bug 8888"): Icinga2 --version: Error showing Distribution
311 * Bug [8891](https://dev.icinga.org/issues/8891 "Bug 8891"): Node wont connect properly to master if host is is not set for Endpoint on new installs
312 * Bug [9055](https://dev.icinga.org/issues/9055 "Bug 9055"): Wrong timestamps w/ historical data replay in DB IDO
313 * Bug [9109](https://dev.icinga.org/issues/9109 "Bug 9109"): WIN: syslog is not an enable-able feature in windows
314 * Bug [9116](https://dev.icinga.org/issues/9116 "Bug 9116"): node update-config reports critical and warning
315 * Bug [9121](https://dev.icinga.org/issues/9121 "Bug 9121"): Possible DB deadlock
316 * Bug [9131](https://dev.icinga.org/issues/9131 "Bug 9131"): Missing ")" in last Apply Rules example
317 * Bug [9142](https://dev.icinga.org/issues/9142 "Bug 9142"): Downtimes are always "fixed"
318 * Bug [9143](https://dev.icinga.org/issues/9143 "Bug 9143"): Incorrect type and state filter mapping for User objects in DB IDO
319 * Bug [9161](https://dev.icinga.org/issues/9161 "Bug 9161"): 'disk': wrong order of threshold command arguments
320 * Bug [9187](https://dev.icinga.org/issues/9187 "Bug 9187"): SPEC: Give group write permissions for perfdata dir
321 * Bug [9205](https://dev.icinga.org/issues/9205 "Bug 9205"): port empty when using icinga2 node wizard
322 * Bug [9222](https://dev.icinga.org/issues/9222 "Bug 9222"): Missing custom attributes in backends if name is equal to object attribute
323 * Bug [9253](https://dev.icinga.org/issues/9253 "Bug 9253"): Incorrect variable name in the ITL
324 * Bug [9255](https://dev.icinga.org/issues/9255 "Bug 9255"): --scm-installs fails when the service is already installed
325 * Bug [9258](https://dev.icinga.org/issues/9258 "Bug 9258"): Some checks in the default Windows configuration fail
326 * Bug [9259](https://dev.icinga.org/issues/9259 "Bug 9259"): Disk and 'icinga' services are missing in the default Windows config
327 * Bug [9268](https://dev.icinga.org/issues/9268 "Bug 9268"): Typo in Configuration Best Practice
328 * Bug [9269](https://dev.icinga.org/issues/9269 "Bug 9269"): Wrong permission etc on windows
329 * Bug [9324](https://dev.icinga.org/issues/9324 "Bug 9324"): Multi line output not correctly handled from compat channels
330 * Bug [9328](https://dev.icinga.org/issues/9328 "Bug 9328"): Multiline vars are broken in objects.cache output
331 * Bug [9372](https://dev.icinga.org/issues/9372 "Bug 9372"): plugins-contrib.d/databases.conf: wrong argument for mssql_health
332 * Bug [9389](https://dev.icinga.org/issues/9389 "Bug 9389"): Documentation: Typo
333 * Bug [9390](https://dev.icinga.org/issues/9390 "Bug 9390"): Wrong service table attributes in Livestatus documentation
334 * Bug [9393](https://dev.icinga.org/issues/9393 "Bug 9393"): Documentation: Extend Custom Attributes with the boolean type
335 * Bug [9394](https://dev.icinga.org/issues/9394 "Bug 9394"): Including <nscp> on Linux fails with unregistered function
336 * Bug [9399](https://dev.icinga.org/issues/9399 "Bug 9399"): Documentation: Typo
337 * Bug [9406](https://dev.icinga.org/issues/9406 "Bug 9406"): Selective cluster reconnecting breaks client communication
338 * Bug [9412](https://dev.icinga.org/issues/9412 "Bug 9412"): Documentation: Update the link to register a new Icinga account
339
340 ### What's New in Version 2.3.4
341
342 #### Changes
343
344 * ITL: Check commands for various databases
345 * Improve validation messages for time periods
346 * Update max_check_attempts in generic-{host,service} templates
347 * Update logrotate configuration
348 * Bugfixes
349
350 #### Features
351
352 * Feature [8760](https://dev.icinga.org/issues/8760 "Feature 8760"): Add database plugins to ITL
353 * Feature [8803](https://dev.icinga.org/issues/8803 "Feature 8803"): Agent Wizard: add options for API defaults
354 * Feature [8893](https://dev.icinga.org/issues/8893 "Feature 8893"): Improve timeperiod validation error messages
355 * Feature [8895](https://dev.icinga.org/issues/8895 "Feature 8895"): Add explanatory note for Icinga2 client documentation
356
357 #### Bugfixes
358
359 * Bug [8808](https://dev.icinga.org/issues/8808 "Bug 8808"): logrotate doesn't work on Ubuntu
360 * Bug [8821](https://dev.icinga.org/issues/8821 "Bug 8821"): command_endpoint check_results are not replicated to other endpoints in the same zone
361 * Bug [8879](https://dev.icinga.org/issues/8879 "Bug 8879"): Reword documentation of check_address
362 * Bug [8881](https://dev.icinga.org/issues/8881 "Bug 8881"): Add arguments to the UPS check
363 * Bug [8889](https://dev.icinga.org/issues/8889 "Bug 8889"): Fix a minor markdown error
364 * Bug [8892](https://dev.icinga.org/issues/8892 "Bug 8892"): Validation errors for time ranges which span the DST transition
365 * Bug [8894](https://dev.icinga.org/issues/8894 "Bug 8894"): Default max_check_attempts should be lower for hosts than for services
366 * Bug [8913](https://dev.icinga.org/issues/8913 "Bug 8913"): Windows Build: Flex detection
367 * Bug [8917](https://dev.icinga.org/issues/8917 "Bug 8917"): Node wizard should only accept 'y', 'n', 'Y' and 'N' as answers for boolean questions
368 * Bug [8919](https://dev.icinga.org/issues/8919 "Bug 8919"): Fix complexity class for Dictionary::Get
369 * Bug [8987](https://dev.icinga.org/issues/8987 "Bug 8987"): Fix a typo
370 * Bug [9012](https://dev.icinga.org/issues/9012 "Bug 9012"): Typo in graphite feature enable documentation
371 * Bug [9014](https://dev.icinga.org/issues/9014 "Bug 9014"): Don't update scheduleddowntime table w/ trigger_time column when only adding a downtime
372 * Bug [9016](https://dev.icinga.org/issues/9016 "Bug 9016"): Downtimes which have been triggered are not properly recorded in the database
373 * Bug [9017](https://dev.icinga.org/issues/9017 "Bug 9017"): scheduled_downtime_depth column is not reset when a downtime ends or when a downtime is being removed
374 * Bug [9021](https://dev.icinga.org/issues/9021 "Bug 9021"): Multiple log messages w/ "Attempting to send notifications for notification object"
375 * Bug [9041](https://dev.icinga.org/issues/9041 "Bug 9041"): Acknowledging problems w/ expire time does not add the expiry information to the related comment for IDO and compat
376 * Bug [9045](https://dev.icinga.org/issues/9045 "Bug 9045"): Vim syntax: Match groups before host/service/user objects
377 * Bug [9049](https://dev.icinga.org/issues/9049 "Bug 9049"): check_disk order of command arguments
378 * Bug [9050](https://dev.icinga.org/issues/9050 "Bug 9050"): web.conf is not in the RPM package
379 * Bug [9064](https://dev.icinga.org/issues/9064 "Bug 9064"): troubleshoot truncates crash reports
380 * Bug [9069](https://dev.icinga.org/issues/9069 "Bug 9069"): Documentation: set_if usage with boolean values and functions
381 * Bug [9073](https://dev.icinga.org/issues/9073 "Bug 9073"): custom attributes with recursive macro function calls causing sigabrt
382
383 ### What's New in Version 2.3.3
384
385 #### Changes
386
387 * New function: parse_performance_data
388 * Include more details in --version
389 * Improve documentation
390 * Bugfixes
391
392 #### Features
393
394 * Feature [8685](https://dev.icinga.org/issues/8685 "Feature 8685"): Show state/type filter names in notice/debug log
395 * Feature [8686](https://dev.icinga.org/issues/8686 "Feature 8686"): Update documentation for "apply for" rules
396 * Feature [8693](https://dev.icinga.org/issues/8693 "Feature 8693"): New function: parse_performance_data
397 * Feature [8740](https://dev.icinga.org/issues/8740 "Feature 8740"): Add "access objects at runtime" examples to advanced section
398 * Feature [8761](https://dev.icinga.org/issues/8761 "Feature 8761"): Include more details in --version
399 * Feature [8816](https://dev.icinga.org/issues/8816 "Feature 8816"): Add "random" CheckCommand for test and demo purposes
400 * Feature [8827](https://dev.icinga.org/issues/8827 "Feature 8827"): Move release info in INSTALL.md into a separate file
401
402 #### Bugfixes
403
404 * Bug [8660](https://dev.icinga.org/issues/8660 "Bug 8660"): Update syntax highlighting for 2.3 features
405 * Bug [8677](https://dev.icinga.org/issues/8677 "Bug 8677"): Re-order the object types in alphabetical order
406 * Bug [8724](https://dev.icinga.org/issues/8724 "Bug 8724"): Missing config validator for command arguments 'set_if'
407 * Bug [8734](https://dev.icinga.org/issues/8734 "Bug 8734"): startup.log broken when the DB schema needs an update
408 * Bug [8736](https://dev.icinga.org/issues/8736 "Bug 8736"): Don't update custom vars for each status update
409 * Bug [8748](https://dev.icinga.org/issues/8748 "Bug 8748"): Don't ignore extraneous arguments for functions
410 * Bug [8749](https://dev.icinga.org/issues/8749 "Bug 8749"): Build warnings with CMake 3.1.3
411 * Bug [8750](https://dev.icinga.org/issues/8750 "Bug 8750"): Flex version check does not reject unsupported versions
412 * Bug [8753](https://dev.icinga.org/issues/8753 "Bug 8753"): Fix a typo in the documentation of ICINGA2_WITH_MYSQL and ICINGA2_WITH_PGSQL
413 * Bug [8755](https://dev.icinga.org/issues/8755 "Bug 8755"): Fix VIM syntax highlighting for comments
414 * Bug [8757](https://dev.icinga.org/issues/8757 "Bug 8757"): Add missing keywords in the syntax highlighting files
415 * Bug [8762](https://dev.icinga.org/issues/8762 "Bug 8762"): Plugin "check_http" is missing in Windows environments
416 * Bug [8763](https://dev.icinga.org/issues/8763 "Bug 8763"): Typo in doc library-reference
417 * Bug [8764](https://dev.icinga.org/issues/8764 "Bug 8764"): Revamp migration documentation
418 * Bug [8765](https://dev.icinga.org/issues/8765 "Bug 8765"): Explain processing logic/order of apply rules with for loops
419 * Bug [8766](https://dev.icinga.org/issues/8766 "Bug 8766"): Remove prompt to create a TicketSalt from the wizard
420 * Bug [8767](https://dev.icinga.org/issues/8767 "Bug 8767"): Typo and invalid example in the runtime macro documentation
421 * Bug [8769](https://dev.icinga.org/issues/8769 "Bug 8769"): Improve error message for invalid field access
422 * Bug [8770](https://dev.icinga.org/issues/8770 "Bug 8770"): object Notification + apply Service fails with error "...refers to service which doesn't exist"
423 * Bug [8771](https://dev.icinga.org/issues/8771 "Bug 8771"): Correct HA documentation
424 * Bug [8829](https://dev.icinga.org/issues/8829 "Bug 8829"): Figure out why command validators are not triggered
425 * Bug [8834](https://dev.icinga.org/issues/8834 "Bug 8834"): Return doesn't work inside loops
426 * Bug [8844](https://dev.icinga.org/issues/8844 "Bug 8844"): Segmentation fault when executing "icinga2 pki new-cert"
427 * Bug [8862](https://dev.icinga.org/issues/8862 "Bug 8862"): wrong 'dns_lookup' custom attribute default in command-plugins.conf
428 * Bug [8866](https://dev.icinga.org/issues/8866 "Bug 8866"): Fix incorrect perfdata templates in the documentation
429 * Bug [8869](https://dev.icinga.org/issues/8869 "Bug 8869"): Array in command arguments doesn't work
430
431 ### What's New in Version 2.3.2
432
433 #### Changes
434
435 * Bugfixes
436
437 #### Bugfixes
438
439 * Bug [8721](https://dev.icinga.org/issues/8721 "Bug 8721"): Log message for cli commands breaks the init script
440
441 ### What's New in Version 2.3.1
442
443 #### Changes
444
445 * Bugfixes
446
447 Please note that this version fixes the default thresholds for the disk check which were inadvertently broken in 2.3.0; if you're using percent-based custom thresholds you will need to add the '%' sign to your custom attributes
448
449 #### Features
450
451 * Feature [8659](https://dev.icinga.org/issues/8659 "Feature 8659"): Implement String#contains
452
453 #### Bugfixes
454
455 * Bug [8540](https://dev.icinga.org/issues/8540 "Bug 8540"): Kill signal sent only to check process, not whole process group
456 * Bug [8657](https://dev.icinga.org/issues/8657 "Bug 8657"): Missing program name in 'icinga2 --version'
457 * Bug [8658](https://dev.icinga.org/issues/8658 "Bug 8658"): Fix check_disk thresholds: make sure partitions are the last arguments
458 * Bug [8672](https://dev.icinga.org/issues/8672 "Bug 8672"): Api heartbeat message response time problem
459 * Bug [8673](https://dev.icinga.org/issues/8673 "Bug 8673"): Fix check_disk default thresholds and document the change of unit
460 * Bug [8679](https://dev.icinga.org/issues/8679 "Bug 8679"): Config validation fail because of unexpected new-line
461 * Bug [8680](https://dev.icinga.org/issues/8680 "Bug 8680"): Update documentation for DB IDO HA Run-Once
462 * Bug [8683](https://dev.icinga.org/issues/8683 "Bug 8683"): Make sure that the /var/log/icinga2/crash directory exists
463 * Bug [8684](https://dev.icinga.org/issues/8684 "Bug 8684"): Fix formatting for the GDB stacktrace
464 * Bug [8687](https://dev.icinga.org/issues/8687 "Bug 8687"): Crash in Dependency::Stop
465 * Bug [8691](https://dev.icinga.org/issues/8691 "Bug 8691"): Debian packages do not create /var/log/icinga2/crash
466
467 ### What's New in Version 2.3.0
468
469 #### Changes
470
471 * Improved configuration validation
472     * Unnecessary escapes are no longer permitted (e.g. \')
473     * Dashes are no longer permitted in identifier names (as their semantics are ambiguous)
474     * Unused values are detected (e.g. { "-M" })
475     * Validation for time ranges has been improved
476     * Additional validation rules for some object types (Notification and User)
477 * New language features
478     * Implement a separate type for boolean values
479     * Support for user-defined functions
480     * Support for conditional statements (if/else)
481     * Support for 'for' and 'while' loops
482     * Support for local variables using the 'var' keyword
483     * New operators: % (modulo), ^ (xor), - (unary minus) and + (unary plus)
484     * Implemented prototype-based methods for most built-in types (e.g. [ 3, 2 ].sort())
485     * Explicit access to local and global variables using the 'locals' and 'globals' keywords
486     * Changed the order in which filters are evaluated for apply rules with 'for'
487     * Make type objects accessible as global variables
488     * Support for using functions in custom attributes
489     * Access objects and their runtime attributes in functions (e.g. get_host(NodeName).state)
490 * ITL improvements
491     * Additional check commands were added to the ITL
492     * Additional arguments for existing check commands
493 * CLI improvements
494     * Add the 'icinga2 console' CLI command which can be used to test expressions
495     * Add the 'icinga2 troubleshoot' CLI command for collecting troubleshooting information
496     * Performance improvements for the 'icinga2 node update-config' CLI command
497     * Implement argument auto-completion for short options (e.g. daemon -c)
498     * 'node setup' and 'node wizard' create backups for existing certificate files
499 * Add ignore_soft_states option for Dependency object configuration
500 * Fewer threads are used for socket I/O
501 * Flapping detection for hosts and services is disabled by default
502 * Added support for OpenTSDB
503 * New Livestatus tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
504 * Include GDB backtrace in crash reports
505 * Various documentation improvements
506 * Solved a number of issues where cluster instances would not reconnect after intermittent connection problems
507 * A lot of other, minor changes
508
509 * [DB IDO schema upgrade](17-upgrading-icinga-2.md#upgrading-icinga-2) to `1.13.0` required!
510
511 #### Features
512
513 * Feature [3446](https://dev.icinga.org/issues/3446 "Feature 3446"): Add troubleshooting collect cli command
514 * Feature [6109](https://dev.icinga.org/issues/6109 "Feature 6109"): Don't spawn threads for network connections
515 * Feature [6570](https://dev.icinga.org/issues/6570 "Feature 6570"): Disallow side-effect-free r-value expressions in expression lists
516 * Feature [6697](https://dev.icinga.org/issues/6697 "Feature 6697"): Plugin Check Commands: add check_vmware_esx
517 * Feature [6857](https://dev.icinga.org/issues/6857 "Feature 6857"): Run CheckCommands with C locale (workaround for comma vs dot and plugin api bug)
518 * Feature [6858](https://dev.icinga.org/issues/6858 "Feature 6858"): Add some more PNP details
519 * Feature [6868](https://dev.icinga.org/issues/6868 "Feature 6868"): Disable flapping detection by default
520 * Feature [6923](https://dev.icinga.org/issues/6923 "Feature 6923"): IDO should fill program_end_time on a clean shutdown
521 * Feature [7136](https://dev.icinga.org/issues/7136 "Feature 7136"): extended Manubulon SNMP Check Plugin Command
522 * Feature [7209](https://dev.icinga.org/issues/7209 "Feature 7209"): ITL: Interfacetable
523 * Feature [7256](https://dev.icinga.org/issues/7256 "Feature 7256"): Add OpenTSDB Writer
524 * Feature [7292](https://dev.icinga.org/issues/7292 "Feature 7292"): ITL: Check_Mem.pl
525 * Feature [7294](https://dev.icinga.org/issues/7294 "Feature 7294"): ITL: ESXi-Hardware
526 * Feature [7326](https://dev.icinga.org/issues/7326 "Feature 7326"): Add parent soft states option to Dependency object configuration
527 * Feature [7361](https://dev.icinga.org/issues/7361 "Feature 7361"): Livestatus: Add GroupBy tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
528 * Feature [7545](https://dev.icinga.org/issues/7545 "Feature 7545"): Please add labels in SNMP checks
529 * Feature [7564](https://dev.icinga.org/issues/7564 "Feature 7564"): Access object runtime attributes in custom vars & command arguments
530 * Feature [7610](https://dev.icinga.org/issues/7610 "Feature 7610"): Variable from for loop not usable in assign statement
531 * Feature [7700](https://dev.icinga.org/issues/7700 "Feature 7700"): Evaluate apply/object rules when the parent objects are created
532 * Feature [7702](https://dev.icinga.org/issues/7702 "Feature 7702"): Add an option that hides CLI commands
533 * Feature [7704](https://dev.icinga.org/issues/7704 "Feature 7704"): ConfigCompiler::HandleInclude* should return an AST node
534 * Feature [7706](https://dev.icinga.org/issues/7706 "Feature 7706"): ConfigCompiler::Compile* should return an AST node
535 * Feature [7748](https://dev.icinga.org/issues/7748 "Feature 7748"): Redesign how stack frames work for scripts
536 * Feature [7767](https://dev.icinga.org/issues/7767 "Feature 7767"): Rename _DEBUG to I2_DEBUG
537 * Feature [7774](https://dev.icinga.org/issues/7774 "Feature 7774"): Implement an AST Expression for T_CONST
538 * Feature [7778](https://dev.icinga.org/issues/7778 "Feature 7778"): Missing check_disk output on Windows
539 * Feature [7784](https://dev.icinga.org/issues/7784 "Feature 7784"): Implement the DISABLE_HOST_SVC_NOTIFICATIONS and ENABLE_HOST_SVC_NOTIFICATIONS commands
540 * Feature [7793](https://dev.icinga.org/issues/7793 "Feature 7793"): Don't build db_ido when both MySQL and PostgreSQL aren't enabled
541 * Feature [7794](https://dev.icinga.org/issues/7794 "Feature 7794"): Implement an option to disable building the Livestatus module
542 * Feature [7795](https://dev.icinga.org/issues/7795 "Feature 7795"): Implement an option to disable building the Demo component
543 * Feature [7805](https://dev.icinga.org/issues/7805 "Feature 7805"): Implement unit tests for the config parser
544 * Feature [7807](https://dev.icinga.org/issues/7807 "Feature 7807"): Move the cast functions into libbase
545 * Feature [7813](https://dev.icinga.org/issues/7813 "Feature 7813"): Implement the % operator
546 * Feature [7816](https://dev.icinga.org/issues/7816 "Feature 7816"): Document operator precedence
547 * Feature [7822](https://dev.icinga.org/issues/7822 "Feature 7822"): Make the config parser thread-safe
548 * Feature [7823](https://dev.icinga.org/issues/7823 "Feature 7823"): Figure out whether Number + String should implicitly convert the Number argument to a string
549 * Feature [7824](https://dev.icinga.org/issues/7824 "Feature 7824"): Implement the "if" and "else" keywords
550 * Feature [7873](https://dev.icinga.org/issues/7873 "Feature 7873"): Plugin Check Commands: Add icmp
551 * Feature [7879](https://dev.icinga.org/issues/7879 "Feature 7879"): Windows agent is missing the standard plugin check_ping
552 * Feature [7883](https://dev.icinga.org/issues/7883 "Feature 7883"): Implement official support for user-defined functions and the "for" keyword
553 * Feature [7901](https://dev.icinga.org/issues/7901 "Feature 7901"): Implement socket_path attribute for the IdoMysqlConnection class
554 * Feature [7910](https://dev.icinga.org/issues/7910 "Feature 7910"): The lexer shouldn't accept escapes for characters which don't have to be escaped
555 * Feature [7925](https://dev.icinga.org/issues/7925 "Feature 7925"): Move the config file for the ido-*sql features into the icinga2-ido-* packages
556 * Feature [8016](https://dev.icinga.org/issues/8016 "Feature 8016"): Documentation enhancement for snmp traps and passive checks.
557 * Feature [8019](https://dev.icinga.org/issues/8019 "Feature 8019"): Register type objects as global variables
558 * Feature [8020](https://dev.icinga.org/issues/8020 "Feature 8020"): Improve output of ToString for type objects
559 * Feature [8030](https://dev.icinga.org/issues/8030 "Feature 8030"): Evaluate usage of function()
560 * Feature [8033](https://dev.icinga.org/issues/8033 "Feature 8033"): Allow name changed from inside the object
561 * Feature [8040](https://dev.icinga.org/issues/8040 "Feature 8040"): Disallow calling strings as functions
562 * Feature [8043](https://dev.icinga.org/issues/8043 "Feature 8043"): Implement a boolean sub-type for the Value class
563 * Feature [8047](https://dev.icinga.org/issues/8047 "Feature 8047"): ConfigCompiler::HandleInclude should return an inline dictionary
564 * Feature [8060](https://dev.icinga.org/issues/8060 "Feature 8060"): Windows plugins should behave like their Linux cousins
565 * Feature [8065](https://dev.icinga.org/issues/8065 "Feature 8065"): Implement a way to remove dictionary keys
566 * Feature [8071](https://dev.icinga.org/issues/8071 "Feature 8071"): Implement a way to call methods on objects
567 * Feature [8074](https://dev.icinga.org/issues/8074 "Feature 8074"): Figure out how variable scopes should work
568 * Feature [8078](https://dev.icinga.org/issues/8078 "Feature 8078"): Backport i2tcl's error reporting functionality into "icinga2 console"
569 * Feature [8096](https://dev.icinga.org/issues/8096 "Feature 8096"): Document the new language features in 2.3
570 * Feature [8121](https://dev.icinga.org/issues/8121 "Feature 8121"): feature enable should use relative symlinks
571 * Feature [8133](https://dev.icinga.org/issues/8133 "Feature 8133"): Implement line-continuation for the "console" command
572 * Feature [8169](https://dev.icinga.org/issues/8169 "Feature 8169"): Implement additional methods for strings
573 * Feature [8172](https://dev.icinga.org/issues/8172 "Feature 8172"): Assignments shouldn't have a "return" value
574 * Feature [8195](https://dev.icinga.org/issues/8195 "Feature 8195"): Host/Service runtime macro downtime_depth
575 * Feature [8226](https://dev.icinga.org/issues/8226 "Feature 8226"): Make invalid log-severity option output an error instead of a warning
576 * Feature [8244](https://dev.icinga.org/issues/8244 "Feature 8244"): Implement keywords to explicitly access globals/locals
577 * Feature [8259](https://dev.icinga.org/issues/8259 "Feature 8259"): The check "hostalive" is not working with ipv6
578 * Feature [8269](https://dev.icinga.org/issues/8269 "Feature 8269"): Implement the while keyword
579 * Feature [8277](https://dev.icinga.org/issues/8277 "Feature 8277"): Add macros $host.check_source$ and $service.check_source$
580 * Feature [8290](https://dev.icinga.org/issues/8290 "Feature 8290"): Make operators &&, || behave like in JavaScript
581 * Feature [8291](https://dev.icinga.org/issues/8291 "Feature 8291"): Implement validator support for function objects
582 * Feature [8293](https://dev.icinga.org/issues/8293 "Feature 8293"): The Zone::global attribute is not documented
583 * Feature [8316](https://dev.icinga.org/issues/8316 "Feature 8316"): Extend disk checkcommand
584 * Feature [8322](https://dev.icinga.org/issues/8322 "Feature 8322"): Implement Array#join
585 * Feature [8371](https://dev.icinga.org/issues/8371 "Feature 8371"): Add path information for objects in object list
586 * Feature [8374](https://dev.icinga.org/issues/8374 "Feature 8374"): Add timestamp support for Graphite
587 * Feature [8386](https://dev.icinga.org/issues/8386 "Feature 8386"): Add documentation for cli command 'console'
588 * Feature [8393](https://dev.icinga.org/issues/8393 "Feature 8393"): Implement support for Json.encode and Json.decode
589 * Feature [8394](https://dev.icinga.org/issues/8394 "Feature 8394"): Implement continue/break keywords
590 * Feature [8399](https://dev.icinga.org/issues/8399 "Feature 8399"): Backup certificate files in 'node setup'
591 * Feature [8410](https://dev.icinga.org/issues/8410 "Feature 8410"): udp check command is missing arguments.
592 * Feature [8414](https://dev.icinga.org/issues/8414 "Feature 8414"): Add ITL check command for check_ipmi_sensor
593 * Feature [8429](https://dev.icinga.org/issues/8429 "Feature 8429"): add webinject checkcommand
594 * Feature [8465](https://dev.icinga.org/issues/8465 "Feature 8465"): Add the ability to use a CA certificate as a way of verifying hosts for CSR autosigning
595 * Feature [8467](https://dev.icinga.org/issues/8467 "Feature 8467"): introduce time dependent variable values
596 * Feature [8498](https://dev.icinga.org/issues/8498 "Feature 8498"): Snmp CheckCommand misses various options
597 * Feature [8515](https://dev.icinga.org/issues/8515 "Feature 8515"): Show slave lag for the cluster-zone check
598 * Feature [8522](https://dev.icinga.org/issues/8522 "Feature 8522"): Update Remote Client/Distributed Monitoring Documentation
599 * Feature [8527](https://dev.icinga.org/issues/8527 "Feature 8527"): Change Livestatus query log level to 'notice'
600 * Feature [8548](https://dev.icinga.org/issues/8548 "Feature 8548"): Add support for else-if
601 * Feature [8575](https://dev.icinga.org/issues/8575 "Feature 8575"): Include GDB backtrace in crash reports
602 * Feature [8599](https://dev.icinga.org/issues/8599 "Feature 8599"): Remove macro argument for IMPL_TYPE_LOOKUP
603 * Feature [8600](https://dev.icinga.org/issues/8600 "Feature 8600"): Add validator for time ranges in ScheduledDowntime objects
604 * Feature [8610](https://dev.icinga.org/issues/8610 "Feature 8610"): Support the SNI TLS extension
605 * Feature [8621](https://dev.icinga.org/issues/8621 "Feature 8621"): Add check commands for NSClient++
606 * Feature [8648](https://dev.icinga.org/issues/8648 "Feature 8648"): Document closures ('use')
607
608 #### Bugfixes
609
610 * Bug [6171](https://dev.icinga.org/issues/6171 "Bug 6171"): Remove name and return value for stats functions
611 * Bug [6959](https://dev.icinga.org/issues/6959 "Bug 6959"): Scheduled start time will be ignored if the host or service is already in a problem state
612 * Bug [7311](https://dev.icinga.org/issues/7311 "Bug 7311"): Invalid macro results in exception
613 * Bug [7542](https://dev.icinga.org/issues/7542 "Bug 7542"): Update validators for CustomVarObject
614 * Bug [7576](https://dev.icinga.org/issues/7576 "Bug 7576"): validate configured legacy timeperiod ranges
615 * Bug [7582](https://dev.icinga.org/issues/7582 "Bug 7582"): Variable expansion is single quoted.
616 * Bug [7644](https://dev.icinga.org/issues/7644 "Bug 7644"): Unity build doesn't work with MSVC
617 * Bug [7647](https://dev.icinga.org/issues/7647 "Bug 7647"): Avoid rebuilding libbase when the version number changes
618 * Bug [7731](https://dev.icinga.org/issues/7731 "Bug 7731"): Reminder notifications not being sent but logged every 5 secs
619 * Bug [7765](https://dev.icinga.org/issues/7765 "Bug 7765"): DB IDO: Duplicate entry icinga_{host,service}dependencies
620 * Bug [7800](https://dev.icinga.org/issues/7800 "Bug 7800"): Fix the shift/reduce conflicts in the parser
621 * Bug [7802](https://dev.icinga.org/issues/7802 "Bug 7802"): Change parameter type for include and include_recursive to T_STRING
622 * Bug [7808](https://dev.icinga.org/issues/7808 "Bug 7808"): Unterminated string literals should cause parser to return an error
623 * Bug [7809](https://dev.icinga.org/issues/7809 "Bug 7809"): Scoping rules for "for" are broken
624 * Bug [7810](https://dev.icinga.org/issues/7810 "Bug 7810"): Return values for functions are broken
625 * Bug [7811](https://dev.icinga.org/issues/7811 "Bug 7811"): The __return keyword is broken
626 * Bug [7812](https://dev.icinga.org/issues/7812 "Bug 7812"): Validate array subscripts
627 * Bug [7814](https://dev.icinga.org/issues/7814 "Bug 7814"): Set expression should check whether LHS is a null pointer
628 * Bug [7815](https://dev.icinga.org/issues/7815 "Bug 7815"): - operator doesn't work in expressions
629 * Bug [7826](https://dev.icinga.org/issues/7826 "Bug 7826"): Compiler warnings
630 * Bug [7830](https://dev.icinga.org/issues/7830 "Bug 7830"): - shouldn't be allowed in identifiers
631 * Bug [7871](https://dev.icinga.org/issues/7871 "Bug 7871"): Missing persistent_comment, notify_contact columns for acknowledgement table
632 * Bug [7894](https://dev.icinga.org/issues/7894 "Bug 7894"): Fix warnings when using CMake 3.1.0
633 * Bug [7895](https://dev.icinga.org/issues/7895 "Bug 7895"): Serialize() fails to serialize objects which don't have a registered type
634 * Bug [7995](https://dev.icinga.org/issues/7995 "Bug 7995"): Windows Agent: Missing directory "zones" in setup
635 * Bug [8018](https://dev.icinga.org/issues/8018 "Bug 8018"): Value("").IsEmpty() should return true
636 * Bug [8029](https://dev.icinga.org/issues/8029 "Bug 8029"): operator precedence for % and > is incorrect
637 * Bug [8041](https://dev.icinga.org/issues/8041 "Bug 8041"): len() overflows
638 * Bug [8061](https://dev.icinga.org/issues/8061 "Bug 8061"): Confusing error message for import
639 * Bug [8067](https://dev.icinga.org/issues/8067 "Bug 8067"): Require at least one user for notification objects (user or as member of user_groups)
640 * Bug [8076](https://dev.icinga.org/issues/8076 "Bug 8076"): icinga 2 Config Error needs to be more verbose
641 * Bug [8081](https://dev.icinga.org/issues/8081 "Bug 8081"): Location info for strings is incorrect
642 * Bug [8100](https://dev.icinga.org/issues/8100 "Bug 8100"): POSTGRES IDO: invalid syntax for integer: "true" while trying to update table icinga_hoststatus
643 * Bug [8111](https://dev.icinga.org/issues/8111 "Bug 8111"): User::ValidateFilters isn't being used
644 * Bug [8117](https://dev.icinga.org/issues/8117 "Bug 8117"): Agent checks fail when there's already a host with the same name
645 * Bug [8122](https://dev.icinga.org/issues/8122 "Bug 8122"): Config file passing validation causes segfault
646 * Bug [8132](https://dev.icinga.org/issues/8132 "Bug 8132"): Debug info for indexer is incorrect
647 * Bug [8136](https://dev.icinga.org/issues/8136 "Bug 8136"): Icinga crashes when config file name is invalid
648 * Bug [8164](https://dev.icinga.org/issues/8164 "Bug 8164"): escaped backslash in string literals
649 * Bug [8166](https://dev.icinga.org/issues/8166 "Bug 8166"): parsing include_recursive
650 * Bug [8173](https://dev.icinga.org/issues/8173 "Bug 8173"): Segfault on icinga::String::operator= when compiling configuration
651 * Bug [8175](https://dev.icinga.org/issues/8175 "Bug 8175"): Compiler warnings
652 * Bug [8179](https://dev.icinga.org/issues/8179 "Bug 8179"): Exception on missing config files
653 * Bug [8184](https://dev.icinga.org/issues/8184 "Bug 8184"): group assign fails with bad lexical cast when evaluating rules
654 * Bug [8185](https://dev.icinga.org/issues/8185 "Bug 8185"): Argument auto-completion doesn't work for short options
655 * Bug [8211](https://dev.icinga.org/issues/8211 "Bug 8211"): icinga2 node update should not write config for blacklisted zones/host
656 * Bug [8230](https://dev.icinga.org/issues/8230 "Bug 8230"): Lexer term for T_ANGLE_STRING is too aggressive
657 * Bug [8249](https://dev.icinga.org/issues/8249 "Bug 8249"): Problems using command_endpoint inside HA zone
658 * Bug [8257](https://dev.icinga.org/issues/8257 "Bug 8257"): Report missing command objects on remote agent
659 * Bug [8260](https://dev.icinga.org/issues/8260 "Bug 8260"): icinga2 node wizard: Create backups of certificates
660 * Bug [8289](https://dev.icinga.org/issues/8289 "Bug 8289"): Livestatus operator =~ is not case-insensitive
661 * Bug [8294](https://dev.icinga.org/issues/8294 "Bug 8294"): Running icinga2 command as non privilged user raises error
662 * Bug [8298](https://dev.icinga.org/issues/8298 "Bug 8298"): notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
663 * Bug [8300](https://dev.icinga.org/issues/8300 "Bug 8300"): ApiListener::ReplayLog shouldn't hold mutex lock during call to Socket::Poll
664 * Bug [8307](https://dev.icinga.org/issues/8307 "Bug 8307"): PidPath, VarsPath, ObjectsPath and StatePath no longer read from init.conf
665 * Bug [8309](https://dev.icinga.org/issues/8309 "Bug 8309"): Crash in ScheduledDowntime::CreateNextDowntime
666 * Bug [8313](https://dev.icinga.org/issues/8313 "Bug 8313"): Incorrectly formatted timestamp in .timestamp file
667 * Bug [8318](https://dev.icinga.org/issues/8318 "Bug 8318"): Remote Clients: Add manual setup cli commands
668 * Bug [8323](https://dev.icinga.org/issues/8323 "Bug 8323"): Apply rule '' for host does not match anywhere!
669 * Bug [8333](https://dev.icinga.org/issues/8333 "Bug 8333"): Icinga2 master doesn't change check-status when "accept_commands = true" is not set at client node
670 * Bug [8372](https://dev.icinga.org/issues/8372 "Bug 8372"): Stacktrace on Endpoint not belonging to a zone or multiple zones
671 * Bug [8383](https://dev.icinga.org/issues/8383 "Bug 8383"): last_hard_state missing in StatusDataWriter
672 * Bug [8387](https://dev.icinga.org/issues/8387 "Bug 8387"): StatusDataWriter: Wrong host notification filters (broken fix in #8192)
673 * Bug [8388](https://dev.icinga.org/issues/8388 "Bug 8388"): Config sync authoritative file never created
674 * Bug [8389](https://dev.icinga.org/issues/8389 "Bug 8389"): Added downtimes must be triggered immediately if checkable is Not-OK
675 * Bug [8390](https://dev.icinga.org/issues/8390 "Bug 8390"): Agent writes CR CR LF in synchronized config files
676 * Bug [8397](https://dev.icinga.org/issues/8397 "Bug 8397"): Icinga2 config reset after package update (centos6.6)
677 * Bug [8425](https://dev.icinga.org/issues/8425 "Bug 8425"): DB IDO: Duplicate entry icinga_scheduleddowntime
678 * Bug [8433](https://dev.icinga.org/issues/8433 "Bug 8433"): Make the arguments for the stats functions const-ref
679 * Bug [8434](https://dev.icinga.org/issues/8434 "Bug 8434"): Build fails on OpenBSD
680 * Bug [8436](https://dev.icinga.org/issues/8436 "Bug 8436"): Indicate that Icinga2 is shutting down in case of a fatal error
681 * Bug [8438](https://dev.icinga.org/issues/8438 "Bug 8438"): DB IDO {host,service}checks command_line value is "Object of type 'icinga::Array'"
682 * Bug [8444](https://dev.icinga.org/issues/8444 "Bug 8444"): Don't attempt to restore program state from non-existing state file
683 * Bug [8452](https://dev.icinga.org/issues/8452 "Bug 8452"): Livestatus query on commands table with custom vars fails
684 * Bug [8461](https://dev.icinga.org/issues/8461 "Bug 8461"): Don't request heartbeat messages until after we've synced the log
685 * Bug [8473](https://dev.icinga.org/issues/8473 "Bug 8473"): Exception in WorkQueue::StatusTimerHandler
686 * Bug [8488](https://dev.icinga.org/issues/8488 "Bug 8488"): Figure out why 'node update-config' becomes slow over time
687 * Bug [8493](https://dev.icinga.org/issues/8493 "Bug 8493"): Misleading ApiListener connection log messages on a master (Endpoint vs Zone)
688 * Bug [8496](https://dev.icinga.org/issues/8496 "Bug 8496"): Icinga doesn't update long_output in DB
689 * Bug [8511](https://dev.icinga.org/issues/8511 "Bug 8511"): Deadlock with DB IDO dump and forcing a scheduled check
690 * Bug [8517](https://dev.icinga.org/issues/8517 "Bug 8517"): Config parser fails non-deterministic on Notification missing Checkable
691 * Bug [8519](https://dev.icinga.org/issues/8519 "Bug 8519"): apply-for incorrectly converts loop var to string
692 * Bug [8529](https://dev.icinga.org/issues/8529 "Bug 8529"): livestatus limit header not working
693 * Bug [8535](https://dev.icinga.org/issues/8535 "Bug 8535"): Crash in ApiEvents::RepositoryTimerHandler
694 * Bug [8536](https://dev.icinga.org/issues/8536 "Bug 8536"): Valgrind warning for ExternalCommandListener::CommandPipeThread
695 * Bug [8537](https://dev.icinga.org/issues/8537 "Bug 8537"): Crash in DbObject::SendStatusUpdate
696 * Bug [8544](https://dev.icinga.org/issues/8544 "Bug 8544"): Hosts: process_performance_data = 0 in database even though enable_perfdata = 1 in config
697 * Bug [8555](https://dev.icinga.org/issues/8555 "Bug 8555"): Don't accept config updates for zones for which we have an authoritative copy of the config
698 * Bug [8559](https://dev.icinga.org/issues/8559 "Bug 8559"): check_memory tool shows incorrect memory size on windows
699 * Bug [8593](https://dev.icinga.org/issues/8593 "Bug 8593"): Memory leak in Expression::GetReference
700 * Bug [8594](https://dev.icinga.org/issues/8594 "Bug 8594"): Improve Livestatus query performance
701 * Bug [8596](https://dev.icinga.org/issues/8596 "Bug 8596"): Dependency: Validate *_{host,service}_name objects on their existance
702 * Bug [8604](https://dev.icinga.org/issues/8604 "Bug 8604"): Attribute hints don't work for nested attributes
703 * Bug [8627](https://dev.icinga.org/issues/8627 "Bug 8627"): Icinga2 shuts down when service is reloaded
704 * Bug [8638](https://dev.icinga.org/issues/8638 "Bug 8638"): Fix a typo in documentation
705