]> granicus.if.org Git - icinga2/blob - ChangeLog
Implement constructor-style casts
[icinga2] / ChangeLog
1 # Icinga 2.x CHANGELOG
2
3 Please check [doc/1-about.md].
4
5 ## What's New
6
7 ### What's New in Version 2.3.2
8
9 #### Changes
10
11 * Bugfixes
12
13 #### Issues
14
15 * Bug 8721: Log message for cli commands breaks the init script
16
17 ### What's New in Version 2.3.1
18
19 #### Changes
20
21 * Bugfixes
22
23 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
24
25 #### Issues
26
27 * Feature 8659: Implement String#contains
28
29 * Bug 8540: Kill signal sent only to check process, not whole process group
30 * Bug 8657: Missing program name in 'icinga2 --version'
31 * Bug 8658: Fix check_disk thresholds: make sure partitions are the last arguments
32 * Bug 8672: Api heartbeat message response time problem
33 * Bug 8673: Fix check_disk default thresholds and document the change of unit
34 * Bug 8679: Config validation fail because of unexpected new-line
35 * Bug 8680: Update documentation for DB IDO HA Run-Once
36 * Bug 8683: Make sure that the /var/log/icinga2/crash directory exists
37 * Bug 8684: Fix formatting for the GDB stacktrace
38 * Bug 8687: Crash in Dependency::Stop
39 * Bug 8691: Debian packages do not create /var/log/icinga2/crash
40
41 ### What's New in Version 2.3.0
42
43 #### Changes
44
45 * Improved configuration validation
46     * Unnecessary escapes are no longer permitted (e.g. \')
47     * Dashes are no longer permitted in identifier names (as their semantics are ambiguous)
48     * Unused values are detected (e.g. { "-M" })
49     * Validation for time ranges has been improved
50     * Additional validation rules for some object types (Notification and User)
51 * New language features
52     * Implement a separate type for boolean values
53     * Support for user-defined functions
54     * Support for conditional statements (if/else)
55     * Support for 'for' and 'while' loops
56     * Support for local variables using the 'var' keyword
57     * New operators: % (modulo), ^ (xor), - (unary minus) and + (unary plus)
58     * Implemented prototype-based methods for most built-in types (e.g. [ 3, 2 ].sort())
59     * Explicit access to local and global variables using the 'locals' and 'globals' keywords
60     * Changed the order in which filters are evaluated for apply rules with 'for'
61     * Make type objects accessible as global variables
62     * Support for using functions in custom attributes
63     * Access objects and their runtime attributes in functions (e.g. get_host(NodeName).state)
64 * ITL improvements
65     * Additional check commands were added to the ITL
66     * Additional arguments for existing check commands
67 * CLI improvements
68     * Add the 'icinga2 console' CLI command which can be used to test expressions
69     * Add the 'icinga2 troubleshoot' CLI command for collecting troubleshooting information
70     * Performance improvements for the 'icinga2 node update-config' CLI command
71     * Implement argument auto-completion for short options (e.g. daemon -c)
72     * 'node setup' and 'node wizard' create backups for existing certificate files
73 * Add ignore_soft_states option for Dependency object configuration
74 * Fewer threads are used for socket I/O
75 * Flapping detection for hosts and services is disabled by default
76 * Added support for OpenTSDB
77 * New Livestatus tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
78 * Include GDB backtrace in crash reports
79 * Various documentation improvements
80 * Solved a number of issues where cluster instances would not reconnect after intermittent connection problems
81 * A lot of other, minor changes
82
83 * [DB IDO schema upgrade](17-upgrading-icinga-2.md#upgrading-icinga-2) to `1.13.0` required!
84
85 #### Issues
86
87 * Feature 3446: Add troubleshooting collect cli command
88 * Feature 6109: Don't spawn threads for network connections
89 * Feature 6570: Disallow side-effect-free r-value expressions in expression lists
90 * Feature 6697: Plugin Check Commands: add check_vmware_esx
91 * Feature 6857: Run CheckCommands with C locale (workaround for comma vs dot and plugin api bug)
92 * Feature 6858: Add some more PNP details
93 * Feature 6868: Disable flapping detection by default
94 * Feature 6923: IDO should fill program_end_time on a clean shutdown
95 * Feature 7136: extended Manubulon SNMP Check Plugin Command
96 * Feature 7209: ITL: Interfacetable
97 * Feature 7256: Add OpenTSDB Writer
98 * Feature 7292: ITL: Check_Mem.pl
99 * Feature 7294: ITL: ESXi-Hardware
100 * Feature 7326: Add parent soft states option to Dependency object configuration
101 * Feature 7361: Livestatus: Add GroupBy tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
102 * Feature 7545: Please add labels in SNMP checks
103 * Feature 7564: Access object runtime attributes in custom vars & command arguments
104 * Feature 7610: Variable from for loop not usable in assign statement
105 * Feature 7700: Evaluate apply/object rules when the parent objects are created
106 * Feature 7702: Add an option that hides CLI commands
107 * Feature 7704: ConfigCompiler::HandleInclude* should return an AST node
108 * Feature 7706: ConfigCompiler::Compile* should return an AST node
109 * Feature 7748: Redesign how stack frames work for scripts
110 * Feature 7767: Rename _DEBUG to I2_DEBUG
111 * Feature 7774: Implement an AST Expression for T_CONST
112 * Feature 7778: Missing check_disk output on Windows
113 * Feature 7784: Implement the DISABLE_HOST_SVC_NOTIFICATIONS and ENABLE_HOST_SVC_NOTIFICATIONS commands
114 * Feature 7793: Don't build db_ido when both MySQL and PostgreSQL aren't enabled
115 * Feature 7794: Implement an option to disable building the Livestatus module
116 * Feature 7795: Implement an option to disable building the Demo component
117 * Feature 7805: Implement unit tests for the config parser
118 * Feature 7807: Move the cast functions into libbase
119 * Feature 7813: Implement the % operator
120 * Feature 7816: Document operator precedence
121 * Feature 7822: Make the config parser thread-safe
122 * Feature 7823: Figure out whether Number + String should implicitly convert the Number argument to a string
123 * Feature 7824: Implement the "if" and "else" keywords
124 * Feature 7873: Plugin Check Commands: Add icmp
125 * Feature 7879: Windows agent is missing the standard plugin check_ping
126 * Feature 7883: Implement official support for user-defined functions and the "for" keyword
127 * Feature 7901: Implement socket_path attribute for the IdoMysqlConnection class
128 * Feature 7910: The lexer shouldn't accept escapes for characters which don't have to be escaped
129 * Feature 7925: Move the config file for the ido-*sql features into the icinga2-ido-* packages
130 * Feature 8016: Documentation enhancement for snmp traps and passive checks.
131 * Feature 8019: Register type objects as global variables
132 * Feature 8020: Improve output of ToString for type objects
133 * Feature 8030: Evaluate usage of function()
134 * Feature 8033: Allow name changed from inside the object
135 * Feature 8040: Disallow calling strings as functions
136 * Feature 8043: Implement a boolean sub-type for the Value class
137 * Feature 8047: ConfigCompiler::HandleInclude should return an inline dictionary
138 * Feature 8060: Windows plugins should behave like their Linux cousins
139 * Feature 8065: Implement a way to remove dictionary keys
140 * Feature 8071: Implement a way to call methods on objects
141 * Feature 8074: Figure out how variable scopes should work
142 * Feature 8078: Backport i2tcl's error reporting functionality into "icinga2 console"
143 * Feature 8096: Document the new language features in 2.3
144 * Feature 8121: feature enable should use relative symlinks
145 * Feature 8133: Implement line-continuation for the "console" command
146 * Feature 8169: Implement additional methods for strings
147 * Feature 8172: Assignments shouldn't have a "return" value
148 * Feature 8195: Host/Service runtime macro downtime_depth
149 * Feature 8226: Make invalid log-severity option output an error instead of a warning
150 * Feature 8244: Implement keywords to explicitly access globals/locals
151 * Feature 8259: The check "hostalive" is not working with ipv6
152 * Feature 8269: Implement the while keyword
153 * Feature 8277: Add macros $host.check_source$ and $service.check_source$
154 * Feature 8290: Make operators &&, || behave like in JavaScript
155 * Feature 8291: Implement validator support for function objects
156 * Feature 8293: The Zone::global attribute is not documented
157 * Feature 8316: Extend disk checkcommand
158 * Feature 8322: Implement Array#join
159 * Feature 8371: Add path information for objects in object list
160 * Feature 8374: Add timestamp support for Graphite
161 * Feature 8386: Add documentation for cli command 'console'
162 * Feature 8393: Implement support for Json.encode and Json.decode
163 * Feature 8394: Implement continue/break keywords
164 * Feature 8399: Backup certificate files in 'node setup'
165 * Feature 8410: udp check command is missing arguments.
166 * Feature 8414: Add ITL check command for check_ipmi_sensor
167 * Feature 8429: add webinject checkcommand
168 * Feature 8465: Add the ability to use a CA certificate as a way of verifying hosts for CSR autosigning
169 * Feature 8467: introduce time dependent variable values
170 * Feature 8498: Snmp CheckCommand misses various options
171 * Feature 8515: Show slave lag for the cluster-zone check
172 * Feature 8522: Update Remote Client/Distributed Monitoring Documentation
173 * Feature 8527: Change Livestatus query log level to 'notice'
174 * Feature 8548: Add support for else-if
175 * Feature 8575: Include GDB backtrace in crash reports
176 * Feature 8599: Remove macro argument for IMPL_TYPE_LOOKUP
177 * Feature 8600: Add validator for time ranges in ScheduledDowntime objects
178 * Feature 8610: Support the SNI TLS extension
179 * Feature 8621: Add check commands for NSClient++
180 * Feature 8648: Document closures ('use')
181
182 * Bug 6171: Remove name and return value for stats functions
183 * Bug 6959: Scheduled start time will be ignored if the host or service is already in a problem state
184 * Bug 7311: Invalid macro results in exception
185 * Bug 7542: Update validators for CustomVarObject
186 * Bug 7576: validate configured legacy timeperiod ranges
187 * Bug 7582: Variable expansion is single quoted.
188 * Bug 7644: Unity build doesn't work with MSVC
189 * Bug 7647: Avoid rebuilding libbase when the version number changes
190 * Bug 7731: Reminder notifications not being sent but logged every 5 secs
191 * Bug 7765: DB IDO: Duplicate entry icinga_{host,service}dependencies
192 * Bug 7800: Fix the shift/reduce conflicts in the parser
193 * Bug 7802: Change parameter type for include and include_recursive to T_STRING
194 * Bug 7808: Unterminated string literals should cause parser to return an error
195 * Bug 7809: Scoping rules for "for" are broken
196 * Bug 7810: Return values for functions are broken
197 * Bug 7811: The __return keyword is broken
198 * Bug 7812: Validate array subscripts
199 * Bug 7814: Set expression should check whether LHS is a null pointer
200 * Bug 7815: - operator doesn't work in expressions
201 * Bug 7826: Compiler warnings
202 * Bug 7830: - shouldn't be allowed in identifiers
203 * Bug 7871: Missing persistent_comment, notify_contact columns for acknowledgement table
204 * Bug 7894: Fix warnings when using CMake 3.1.0
205 * Bug 7895: Serialize() fails to serialize objects which don't have a registered type
206 * Bug 7995: Windows Agent: Missing directory "zones" in setup
207 * Bug 8018: Value("").IsEmpty() should return true
208 * Bug 8029: operator precedence for % and > is incorrect
209 * Bug 8041: len() overflows
210 * Bug 8061: Confusing error message for import
211 * Bug 8067: Require at least one user for notification objects (user or as member of user_groups)
212 * Bug 8076: icinga 2 Config Error needs to be more verbose
213 * Bug 8081: Location info for strings is incorrect
214 * Bug 8100: POSTGRES IDO: invalid syntax for integer: "true" while trying to update table icinga_hoststatus
215 * Bug 8111: User::ValidateFilters isn't being used
216 * Bug 8117: Agent checks fail when there's already a host with the same name
217 * Bug 8122: Config file passing validation causes segfault
218 * Bug 8132: Debug info for indexer is incorrect
219 * Bug 8136: Icinga crashes when config file name is invalid
220 * Bug 8164: escaped backslash in string literals
221 * Bug 8166: parsing include_recursive
222 * Bug 8173: Segfault on icinga::String::operator= when compiling configuration
223 * Bug 8175: Compiler warnings
224 * Bug 8179: Exception on missing config files
225 * Bug 8184: group assign fails with bad lexical cast when evaluating rules
226 * Bug 8185: Argument auto-completion doesn't work for short options
227 * Bug 8211: icinga2 node update should not write config for blacklisted zones/host
228 * Bug 8230: Lexer term for T_ANGLE_STRING is too aggressive
229 * Bug 8249: Problems using command_endpoint inside HA zone
230 * Bug 8257: Report missing command objects on remote agent
231 * Bug 8260: icinga2 node wizard: Create backups of certificates
232 * Bug 8289: Livestatus operator =~ is not case-insensitive
233 * Bug 8294: Running icinga2 command as non privilged user raises error
234 * Bug 8298: notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
235 * Bug 8300: ApiListener::ReplayLog shouldn't hold mutex lock during call to Socket::Poll
236 * Bug 8307: PidPath, VarsPath, ObjectsPath and StatePath no longer read from init.conf
237 * Bug 8309: Crash in ScheduledDowntime::CreateNextDowntime
238 * Bug 8313: Incorrectly formatted timestamp in .timestamp file
239 * Bug 8318: Remote Clients: Add manual setup cli commands
240 * Bug 8323: Apply rule '' for host does not match anywhere!
241 * Bug 8333: Icinga2 master doesn't change check-status when "accept_commands = true" is not set at client node
242 * Bug 8372: Stacktrace on Endpoint not belonging to a zone or multiple zones
243 * Bug 8383: last_hard_state missing in StatusDataWriter
244 * Bug 8387: StatusDataWriter: Wrong host notification filters (broken fix in #8192)
245 * Bug 8388: Config sync authoritative file never created
246 * Bug 8389: Added downtimes must be triggered immediately if checkable is Not-OK
247 * Bug 8390: Agent writes CR CR LF in synchronized config files
248 * Bug 8397: Icinga2 config reset after package update (centos6.6)
249 * Bug 8425: DB IDO: Duplicate entry icinga_scheduleddowntime
250 * Bug 8433: Make the arguments for the stats functions const-ref
251 * Bug 8434: Build fails on OpenBSD
252 * Bug 8436: Indicate that Icinga2 is shutting down in case of a fatal error
253 * Bug 8438: DB IDO {host,service}checks command_line value is "Object of type 'icinga::Array'"
254 * Bug 8444: Don't attempt to restore program state from non-existing state file
255 * Bug 8452: Livestatus query on commands table with custom vars fails
256 * Bug 8461: Don't request heartbeat messages until after we've synced the log
257 * Bug 8473: Exception in WorkQueue::StatusTimerHandler
258 * Bug 8488: Figure out why 'node update-config' becomes slow over time
259 * Bug 8493: Misleading ApiListener connection log messages on a master (Endpoint vs Zone)
260 * Bug 8496: Icinga doesn't update long_output in DB
261 * Bug 8511: Deadlock with DB IDO dump and forcing a scheduled check
262 * Bug 8517: Config parser fails non-deterministic on Notification missing Checkable
263 * Bug 8519: apply-for incorrectly converts loop var to string
264 * Bug 8529: livestatus limit header not working
265 * Bug 8535: Crash in ApiEvents::RepositoryTimerHandler
266 * Bug 8536: Valgrind warning for ExternalCommandListener::CommandPipeThread
267 * Bug 8537: Crash in DbObject::SendStatusUpdate
268 * Bug 8544: Hosts: process_performance_data = 0 in database even though enable_perfdata = 1 in config
269 * Bug 8555: Don't accept config updates for zones for which we have an authoritative copy of the config
270 * Bug 8559: check_memory tool shows incorrect memory size on windows
271 * Bug 8593: Memory leak in Expression::GetReference
272 * Bug 8594: Improve Livestatus query performance
273 * Bug 8596: Dependency: Validate *_{host,service}_name objects on their existance
274 * Bug 8604: Attribute hints don't work for nested attributes
275 * Bug 8627: Icinga2 shuts down when service is reloaded
276 * Bug 8638: Fix a typo in documentation
277
278 ### What's New in Version 2.2.4
279
280 #### Changes
281
282 * Bugfixes
283
284 #### Issues
285
286 * Bug #6943: Configured recurring downtimes not applied on saturdays
287 * Bug #7660: livestatus / nsca / etc submits are ignored during reload
288 * Bug #7685: kUn-Bashify mail-{host,service}-notification.sh
289 * Bug #8128: Icinga 2.2.2 build fails on SLES11SP3 because of changed boost dependency
290 * Bug #8131: vfork() hangs on OS X
291 * Bug #8162: Satellite doesn't use manually supplied 'local zone name'
292 * Bug #8192: Feature statusdata shows wrong host notification options
293 * Bug #8201: Update Icinga Web 2 uri to /icingaweb2
294 * Bug #8214: Fix YAJL detection on Debian squeeze
295 * Bug #8222: inconsistent URL http(s)://www.icinga.org
296 * Bug #8223: Typos in readme file for windows plugins
297 * Bug #8245: check_ssmtp command does NOT support mail_from
298 * Bug #8256: Restart fails after deleting a Host
299 * Bug #8288: Crash in DbConnection::ProgramStatusHandler
300 * Bug #8295: Restart of Icinga hangs
301 * Bug #8299: Scheduling downtime for host and all services only schedules services
302 * Bug #8311: Segfault in Checkable::AddNotification
303 * Bug #8321: enable_event_handlers attribute is missing in status.dat
304 * Bug #8368: Output in "node wizard" is confusing
305
306 ### What's New in Version 2.2.3
307
308 #### Changes
309
310 * Bugfixes
311
312 #### Issues
313
314 * Bug #8063: Volatile checks trigger invalid notifications on OK->OK state changes
315 * Bug #8125: Incorrect ticket shouldn't cause "node wizard" to terminate
316 * Bug #8126: Icinga 2.2.2 doesn't build on i586 SUSE distributions
317 * Bug #8143: Windows plugin check_service.exe can't find service NTDS
318 * Bug #8144: Arguments without values are not used on plugin exec
319 * Bug #8147: check_interval must be greater than 0 error on update-config
320 * Bug #8152: DB IDO query queue limit reached on reload
321 * Bug #8171: Typo in example of StatusDataWriter
322 * Bug #8178: Icinga 2.2.2 segfaults on FreeBSD
323 * Bug #8181: icinga2 node update config shows hex instead of human readable names
324 * Bug #8182: Segfault on update-config old empty config
325
326 ### What's New in Version 2.2.2
327
328 #### Changes
329
330 * Bugfixes
331
332 #### Issues
333
334 * Bug #7045: icinga2 init-script doesn't validate configuration on reload action
335 * Bug #7064: Missing host downtimes/comments in Livestatus
336 * Bug #7301: Docs: Better explaination of dependency state filters
337 * Bug #7314: double macros in command arguments seems to lead to exception
338 * Bug #7511: Feature `compatlog' should flush output buffer on every new line
339 * Bug #7518: update-config fails to create hosts
340 * Bug #7591: CPU usage at 100% when check_interval = 0 in host object definition
341 * Bug #7618: Repository does not support services which have a slash in their name
342 * Bug #7683: If a parent host goes down, the child host isn't marked as unrechable in the db ido
343 * Bug #7707: "node wizard" shouldn't crash when SaveCert fails
344 * Bug #7745: Cluster heartbeats need to be more aggressive
345 * Bug #7769: The unit tests still crash sometimes
346 * Bug #7863: execute checks locally if command_endpoint == local endpoint
347 * Bug #7878: Segfault on issuing node update-config
348 * Bug #7882: Improve error reporting when libmysqlclient or libpq are missing
349 * Bug #7891: CLI `icinga2 node update-config` doesn't sync configs from remote clients as expected
350 * Bug #7913: /usr/lib/icinga2 is not owned by a package
351 * Bug #7914: SUSE packages %set_permissions post statement wasn't moved to common
352 * Bug #7917: update_config not updating configuration
353 * Bug #7920: Test Classic UI config file with Apache 2.4
354 * Bug #7929: Apache 2.2 fails with new apache conf
355 * Bug #8002: typeof() seems to return null for arrays and dictionaries
356 * Bug #8003: SIGABRT while evaluating apply rules
357 * Bug #8028: typeof does not work for numbers
358 * Bug #8039: Livestatus: Replace unixcat with nc -U
359 * Bug #8048: Wrong command in documentation for installing Icinga 2 pretty printers.
360 * Bug #8050: exception during config check
361 * Bug #8051: Update host examples in Dependencies for Network Reachability documentation
362 * Bug #8058: DB IDO: Missing last_hard_state column update in {host,service}status tables
363 * Bug #8059: Unit tests fail on FreeBSD
364 * Bug #8066: Setting a dictionary key to null does not cause the key/value to be removed
365 * Bug #8070: Documentation: Add note on default notification interval in getting started notifications.conf
366 * Bug #8075: No option to specify timeout to check_snmp and snmp manubulon commands
367
368 ### What's New in Version 2.2.1
369
370 #### Changes
371
372 * Support arrays in [command argument macros](#command-passing-parameters) #6709
373     * Allows to define multiple parameters for [nrpe -a](#plugin-check-command-nrpe), [nscp -l](#plugin-check-command-nscp), [disk -p](#plugin-check-command-disk), [dns -a](#plugin-check-command-dns).
374 * Bugfixes
375
376 #### Issues
377
378 * Feature #6709: Support for arrays in macros
379 * Feature #7463: Update spec file to use yajl-devel
380 * Feature #7739: The classicui Apache conf doesn't support Apache 2.4
381 * Feature #7747: Increase default timeout for NRPE checks
382 * Feature #7867: Document how arrays in macros work
383
384 * Bug #7173: service icinga2 status gives wrong information when run as unprivileged user
385 * Bug #7602: livestatus large amount of submitting unix socket command results in broken pipes
386 * Bug #7613: icinga2 checkconfig should fail if group given for command files does not exist
387 * Bug #7671: object and template with the same name generate duplicate object error
388 * Bug #7708: Built-in commands shouldn't be run on the master instance in remote command execution mode
389 * Bug #7725: Windows wizard uses incorrect CLI command
390 * Bug #7726: Windows wizard is missing --zone argument
391 * Bug #7730: Restart Icinga - Error Restoring program state from file '/var/lib/icinga2/icinga2.state'
392 * Bug #7735: 2.2.0 has out-of-date icinga2 man page
393 * Bug #7738: Systemd rpm scripts are run in wrong package
394 * Bug #7740: /usr/sbin/icinga-prepare-dirs conflicts in the bin and common package
395 * Bug #7741: Icinga 2.2 misses the build requirement libyajl-devel for SUSE distributions
396 * Bug #7743: Icinga2 node add failed with unhandled exception
397 * Bug #7754: Incorrect error message for localhost
398 * Bug #7770: Objects created with node update-config can't be seen in Classic UI
399 * Bug #7786: Move the icinga2-prepare-dirs script elsewhere
400 * Bug #7806: !in operator returns incorrect result
401 * Bug #7828: Verify if master radio box is disabled in the Windows wizard
402 * Bug #7847: Wrong information in section "Linux Client Setup Wizard for Remote Monitoring"
403 * Bug #7862: Segfault in CA handling
404 * Bug #7868: Documentation: Explain how unresolved macros are handled
405 * Bug #7890: Wrong permission in run directory after restart
406 * Bug #7896: Fix Apache config in the Debian package
407
408 ### What's New in Version 2.2.0
409
410 #### Changes
411
412 * DB IDO schema update to version `1.12.0`
413     * schema files in `lib/db_ido_{mysql,pgsql}/schema` (source)
414     * Table `programstatus`: New column `program_version`
415     * Table `customvariables` and `customvariablestatus`: New column `is_json` (required for custom attribute array/dictionary support)
416 * New features
417     * [GelfWriter](#gelfwriter): Logging check results, state changes, notifications to GELF (graylog2, logstash) #7619
418     * Agent/Client/Node framework #7249
419     * Windows plugins for the client/agent parts #7242 #7243
420 * New CLI commands #7245
421     * `icinga2 feature {enable,disable}` replaces `icinga2-{enable,disable}-feature` script  #7250
422     * `icinga2 object list` replaces `icinga2-list-objects` script  #7251
423     * `icinga2 pki` replaces` icinga2-build-{ca,key}` scripts  #7247
424     * `icinga2 repository` manages `/etc/icinga2/repository.d` which must be included in `icinga2.conf` #7255
425     * `icinga2 node` cli command provides node (master, satellite, agent) setup (wizard) and management functionality #7248
426     * `icinga2 daemon` for existing daemon arguments (`-c`, `-C`). Removed `-u` and `-g` parameters in favor of [init.conf](#init-conf).
427     * bash auto-completion & terminal colors #7396
428 * Configuration
429     * Former `localhost` example host is now defined in [hosts.conf](#hosts-conf) #7594
430     * All example services moved into advanced apply rules in [services.conf](#services-conf)
431     * Updated downtimes configuration example in [downtimes.conf](#downtimes-conf) #7472
432     * Updated notification apply example in [notifications.conf](#notifications-conf) #7594
433     * Support for object attribute 'zone' #7400
434     * Support setting [object variables in apply rules](#dependencies-apply-custom-attributes) #7479
435     * Support arrays and dictionaries in [custom attributes](#custom-attributes-apply) #6544 #7560
436     * Add [apply for rules](#using-apply-for) for advanced dynamic object generation #7561
437     * New attribute `accept_commands` for [ApiListener](#objecttype-apilistener) #7559
438     * New [init.conf](#init-conf) file included first containing new constants `RunAsUser` and `RunAsGroup`.
439 * Cluster
440     * Add [CSR Auto-Signing support](#csr-autosigning-requirements) using generated ticket #7244
441     * Allow to [execute remote commands](#icinga2-remote-monitoring-client-command-execution) on endpoint clients #7559
442 * Perfdata
443     * [PerfdataWriter](#writing-performance-data-files): Don't change perfdata, pass through from plugins #7268
444     * [GraphiteWriter](#graphite-carbon-cache-writer): Add warn/crit/min/max perfdata and downtime_depth stats values #7366 #6946
445 * Packages
446     * `python-icinga2` package dropped in favor of integrated cli commands #7245
447     * Windows Installer for the agent parts #7243
448
449 > **Note**
450 >
451 >  Please remove `conf.d/hosts/localhost*` after verifying your updated configuration!
452
453 #### Issues
454
455 * Feature #6544: Support for array in custom variable.
456 * Feature #6946: Add downtime depth as statistic metric for GraphiteWriter
457 * Feature #7187: Document how to use multiple assign/ignore statements with logical "and" & "or"
458 * Feature #7199: Cli commands: add filter capability to 'object list'
459 * Feature #7241: Windows Wizard
460 * Feature #7242: Windows plugins
461 * Feature #7243: Windows installer
462 * Feature #7244: CSR auto-signing
463 * Feature #7245: Cli commands
464 * Feature #7246: Cli command framework
465 * Feature #7247: Cli command: pki
466 * Feature #7248: Cli command: Node
467 * Feature #7249: Node Repository
468 * Feature #7250: Cli command: Feature
469 * Feature #7251: Cli command: Object
470 * Feature #7252: Cli command: SCM
471 * Feature #7253: Cli Commands: Node Repository Blacklist & Whitelist
472 * Feature #7254: Documentation: Agent/Satellite Setup
473 * Feature #7255: Cli command: Repository
474 * Feature #7262: macro processor needs an array printer
475 * Feature #7319: Documentation: Add support for locally-scoped variables for host/service in applied Dependency
476 * Feature #7334: GraphiteWriter: Add support for customized metric prefix names
477 * Feature #7356: Documentation: Cli Commands
478 * Feature #7366: GraphiteWriter: Add warn/crit/min/max perfdata values if existing
479 * Feature #7370: CLI command: variable
480 * Feature #7391: Add program_version column to programstatus table
481 * Feature #7396: Implement generic color support for terminals
482 * Feature #7400: Remove zone keyword and allow to use object attribute 'zone'
483 * Feature #7415: CLI: List disabled features in feature list too
484 * Feature #7421: Add -h next to --help
485 * Feature #7423: Cli command: Node Setup
486 * Feature #7452: Replace cJSON with a better JSON parser
487 * Feature #7465: Cli command: Node Setup Wizard (for Satellites and Agents)
488 * Feature #7467: Remove virtual agent name feature for localhost
489 * Feature #7472: Update downtimes.conf example config
490 * Feature #7478: Documentation: Mention 'icinga2 object list' in config validation
491 * Feature #7479: Set host/service variable in apply rules
492 * Feature #7480: Documentation: Add host/services variables in apply rules
493 * Feature #7504: Documentation: Revamp getting started with 1 host and multiple (service) applies
494 * Feature #7514: Documentation: Move troubleshooting after the getting started chapter
495 * Feature #7524: Documentation: Explain how to manage agent config in central repository
496 * Feature #7543: Documentation for arrays & dictionaries in custom attributes and their usage in apply rules for
497 * Feature #7559: Execute remote commands on the agent w/o local objects by passing custom attributes
498 * Feature #7560: Support dictionaries in custom attributes
499 * Feature #7561: Generate objects using apply with foreach in arrays or dictionaries (key => value)
500 * Feature #7566: Implement support for arbitrarily complex indexers
501 * Feature #7594: Revamp sample configuration: add NodeName host, move services into apply rules schema
502 * Feature #7596: Plugin Check Commands: disk is missing '-p', 'x' parameter
503 * Feature #7619: Add GelfWriter for writing log events to graylog2/logstash
504 * Feature #7620: Documentation: Update Icinga Web 2 installation
505 * Feature #7622: Icinga 2 should use less RAM
506 * Feature #7680: Conditionally enable MySQL and PostgresSQL, add support for FreeBSD and DragonFlyBSD
507
508 * Bug #6547: delaying notifications with times.begin should postpone first notification into that window
509 * Bug #7257: default value for "disable_notifications" in service dependencies is set to "false"
510 * Bug #7268: Icinga2 changes perfdata order and removes maximum
511 * Bug #7272: icinga2 returns exponential perfdata format with check_nt
512 * Bug #7275: snmp-load checkcommand has wrong threshold syntax
513 * Bug #7276: SLES (Suse Linux Enterprise Server) 11 SP3 package dependency failure
514 * Bug #7302: ITL: check_procs and check_http are missing arguments
515 * Bug #7324: config parser crashes on unknown attribute in assign
516 * Bug #7327: Icinga2 docs: link supported operators from sections about apply rules
517 * Bug #7331: Error messages for invalid imports missing
518 * Bug #7338: Docs: Default command timeout is 60s not 5m
519 * Bug #7339: Importing a CheckCommand in a NotificationCommand results in an exception without stacktrace.
520 * Bug #7349: Documentation: Wrong check command for snmp-int(erface)
521 * Bug #7351: snmp-load checkcommand has a wrong "-T" param value
522 * Bug #7359: Setting snmp_v2 can cause snmp-manubulon-command derived checks to fail
523 * Bug #7365: Typo for "HTTP Checks" match in groups.conf
524 * Bug #7369: Fix reading perfdata in compat/checkresultreader
525 * Bug #7372: custom attribute name 'type' causes empty vars dictionary
526 * Bug #7373: Wrong usermod command for external command pipe setup
527 * Bug #7378: Commands are auto-completed when they shouldn't be
528 * Bug #7379: failed en/disable feature should return error
529 * Bug #7380: Debian package root permissions interfere with icinga2 cli commands as icinga user
530 * Bug #7392: Schema upgrade files are missing in /usr/share/icinga2-ido-{mysql,pgsql}
531 * Bug #7417: CMake warnings on OS X
532 * Bug #7428: Documentation: 1-about contribute links to non-existing report a bug howto
533 * Bug #7433: Unity build fails on RHEL 5
534 * Bug #7446: When replaying logs the secobj attribute is ignored
535 * Bug #7473: Performance data via API is broken
536 * Bug #7475: can't assign Service to Host in nested HostGroup
537 * Bug #7477: Fix typos and other small corrections in documentation
538 * Bug #7482: OnStateLoaded isn't called for objects which don't have any state
539 * Bug #7483: Hosts/services should not have themselves as parents
540 * Bug #7495: Utility::GetFQDN doesn't work on OS X
541 * Bug #7503: Icinga2 fails to start due to configuration errors
542 * Bug #7520: Use ScriptVariable::Get for RunAsUser/RunAsGroup
543 * Bug #7536: Object list dump erraneously evaluates template definitions
544 * Bug #7537: Nesting an object in a template causes the template to become non-abstract
545 * Bug #7538: There is no __name available to nested objects
546 * Bug #7573: link missing in documentation about livestatus
547 * Bug #7577: Invalid checkresult object causes Icinga 2 to crash
548 * Bug #7579: only notify users on recovery which have been notified before (not-ok state)
549 * Bug #7585: Nested templates do not work (anymore)
550 * Bug #7586: Exception when executing check
551 * Bug #7597: Compilation Error with boost 1.56 under Windows
552 * Bug #7599: Plugin execution on Windows does not work
553 * Bug #7617: mkclass crashes when called without arguments
554 * Bug #7623: Missing state filter 'OK' must not prevent recovery notifications being sent
555 * Bug #7624: Installation on Windows fails
556 * Bug #7625: IDO module crashes on Windows
557 * Bug #7646: Get rid of static boost::mutex variables
558 * Bug #7648: Unit tests fail to run
559 * Bug #7650: Wrong set of dependency state when a host depends on a service
560 * Bug #7681: CreateProcess fails on Windows 7
561 * Bug #7688: DebugInfo is missing for nested dictionaries
562
563
564 ### What's New in Version 2.1.1
565
566 #### Issues
567
568 * Bug #6147: Link libcJSON against libm
569 * Bug #6696: make test fails on openbsd
570 * Bug #6841: Too many queued messages
571 * Bug #6862: SSL_read errors during restart
572 * Bug #6981: SSL errors with interleaved SSL_read/write
573 * Bug #7029: icinga2.spec: files-attr-not-set for python-icinga2 package
574 * Bug #7032: "Error parsing performance data" in spite of "enable_perfdata = false"
575 * Bug #7036: Remove validator for the Script type
576 * Bug #7037: icinga2-list-objects doesn't work with Python 3
577 * Bug #7038: Fix rpmlint errors
578 * Bug #7042: icinga2-list-objects complains about Umlauts and stops output
579 * Bug #7044: icinga2 init-script terminates with exit code 0 if $DAEMON is not in place or not executable
580 * Bug #7047: service icinga2 status - prints cat error if the service is stopped
581 * Bug #7058: Exit code is not initialized for some failed checks
582 * Bug #7065: pipe2 returns ENOSYS on GNU Hurd and Debian kfreebsd
583 * Bug #7072: GraphiteWriter should ignore empty perfdata value
584 * Bug #7080: Missing differentiation between service and systemctl
585 * Bug #7096: new SSL Errors with too many queued messages
586 * Bug #7115: Build fails on Haiku
587 * Bug #7123: Manubulon-Plugin conf Filename wrong
588 * Bug #7139: GNUInstallDirs.cmake outdated
589 * Bug #7167: Segfault using cluster in TlsStream::IsEof
590 * Bug #7168: fping4 doesn't work correctly with the shipped command-plugins.conf
591 * Bug #7186: Livestatus hangs from time to time
592 * Bug #7195: fix memory leak ido_pgsql
593 * Bug #7210: clarify on db ido upgrades
594 * Feature #6719: Change log message for checking/sending notifications
595 * Feature #7028: Document how to use @ to escape keywords
596 * Feature #7033: Add include guards for mkclass files
597 * Feature #7034: Ensure that namespaces for INITIALIZE_ONCE and REGISTER_TYPE are truly unique
598 * Feature #7035: Implement support for unity builds
599 * Feature #7039: Figure out a better way to set the version for snapshot builds
600 * Feature #7040: Unity builds: Detect whether __COUNTER__ is available
601 * Feature #7041: Enable unity build for RPM/Debian packages
602 * Feature #7070: Explain event commands and their integration by a real life example (httpd restart via ssh)
603 * Feature #7158: Extend documentation for icinga-web on Debian systems
604
605 ### What's New in Version 2.1.0
606
607 #### Changes
608
609 * DB IDO schema upgrade ([MySQL](#upgrading-mysql-db),[PostgreSQL](#upgrading-postgresql-db) required!
610     * new schema version: **1.11.7**
611     * RPMs install the schema files into `/usr/share/icinga2-ido*` instead of `/usr/share/doc/icinga2-ido*` #6881
612 * [Information for config objects](#list-configuration-objects) using `icinga2-list-objects` script #6702
613 * Add Python 2.4 as requirement #6702
614 * Add search path: If `-c /etc/icinga2/icinga2.conf` is omitted, use `SysconfDir + "/icinga2/icinga2.conf"` #6874
615 * Change log level for failed commands #6751
616 * Notifications are load-balanced in a [High Availability cluster setup](#high-availability-notifications) #6203
617     * New config attribute: `enable_ha`
618 * DB IDO "run once" or "run everywhere" mode in a [High Availability cluster setup](#high-availability-db-ido) #6203 #6827
619     * New config attributes: `enable_ha` and `failover_timeout`
620 * RPMs use the `icingacmd` group for /var/{cache,log,run}/icinga2 #6948
621
622 #### Issues
623
624 * Bug #6881: make install does not install the db-schema
625 * Bug #6915: use _rundir macro for configuring the run directory
626 * Bug #6916: External command pipe: Too many open files
627 * Bug #6917: enforce /usr/lib as base for the cgi path on SUSE distributions
628 * Bug #6942: ExternalCommandListener fails open pipe: Too many open files
629 * Bug #6948: check file permissions in /var/cache/icinga2
630 * Bug #6962: Commands are processed multiple times
631 * Bug #6964: Host and service checks stuck in "pending" when hostname = localhost a parent/satellite setup
632 * Bug #7001: Build fails with Boost 1.56
633 * Bug #7016: 64-bit RPMs are not installable
634 * Feature #5219: Cluster support for modified attributes
635 * Feature #6066: Better log messages for cluster changes
636 * Feature #6203: Better cluster support for notifications / IDO
637 * Feature #6205: Log replay sends messages to instances which shouldn't get those messages
638 * Feature #6702: Information for config objects
639 * Feature #6704: Release 2.1
640 * Feature #6751: Change log level for failed commands
641 * Feature #6874: add search path for icinga2.conf
642 * Feature #6898: Enhance logging for perfdata/graphitewriter
643 * Feature #6919: Clean up spec file
644 * Feature #6920: Recommend related packages on SUSE distributions
645 * API - Bug #6998: ApiListener ignores bind_host attribute
646 * DB IDO - Feature #6827: delay ido connect in ha cluster
647 * Documentation - Bug #6870: Wrong object attribute 'enable_flap_detection'
648 * Documentation - Bug #6878: Wrong parent in Load Distribution
649 * Documentation - Bug #6909: clarify on which config tools are available
650 * Documentation - Bug #6968: Update command arguments 'set_if' and beautify error message
651 * Documentation - Bug #6995: Keyword "required" used inconsistently for host and service "icon_image*" attributes
652 * Documentation - Feature #6651: Migration: note on check command timeouts
653 * Documentation - Feature #6703: Documentation for zones and cluster permissions
654 * Documentation - Feature #6743: Better explanation for HA config cluster
655 * Documentation - Feature #6839: Explain how the order attribute works in commands
656 * Documentation - Feature #6864: Add section for reserved keywords
657 * Documentation - Feature #6867: add section about disabling re-notifications
658 * Documentation - Feature #6869: Add systemd options: enable, journal
659 * Documentation - Feature #6922: Enhance Graphite Writer description
660 * Documentation - Feature #6949: Add documentation for icinga2-list-objects
661 * Documentation - Feature #6997: how to add a new cluster node
662 * Documentation - Feature #7018: add example selinux policy for external command pipe
663 * Plugins - Feature #6650: Plugin Check Commands: add manubulon snmp plugins
664
665
666 ### What's New in Version 2.0.2
667
668 * Bug #6450: ipmi-sensors segfault due to stack size
669 * Bug #6479: Notifications not always triggered
670 * Bug #6501: Classic UI Debian/Ubuntu: apache 2.4 requires 'a2enmod cgi' & apacheutils installed
671 * Bug #6548: Add cmake constant for PluginDir
672 * Bug #6549: GraphiteWriter regularly sends empty lines
673 * Bug #6550: add log message for invalid performance data
674 * Bug #6589: Command pipe blocks when trying to open it more than once in parallel
675 * Bug #6621: Infinite loop in TlsStream::Close
676 * Bug #6627: Location of the run directory is hard coded and bound to "local_state_dir"
677 * Bug #6659: RPMLint security warning - missing-call-to-setgroups-before-setuid /usr/sbin/icinga2
678 * Bug #6682: Missing detailed error messages on ApiListener SSL Errors
679 * Bug #6686: Event Commands are triggered in OK HARD state everytime
680 * Bug #6687: Remove superfluous quotes and commas in dictionaries
681 * Bug #6713: sample config: add check commands location hint (itl/plugin check commands)
682 * Bug #6718: "order" attribute doesn't seem to work as expected
683 * Bug #6724: TLS Connections still unstable in 2.0.1
684 * Bug #6756: GraphiteWriter: Malformatted integer values
685 * Bug #6765: Config validation without filename argument fails with unhandled exception
686 * Bug #6768: Repo Error on RHEL 6.5
687 * Bug #6773: Order doesn't work in check ssh command
688 * Bug #6782: The "ssl" check command always sets -D
689 * Bug #6790: Service icinga2 reload command does not cause effect
690 * Bug #6809: additional group rights missing when Icinga started with -u and -g
691 * Bug #6810: High Availablity does not synchronise the data like expected
692 * Bug #6820: Icinga 2 crashes during startup
693 * Bug #6821: [Patch] Fix build issue and crash found on Solaris, potentially other Unix OSes
694 * Bug #6825: incorrect sysconfig path on sles11
695 * Bug #6832: Remove if(NOT DEFINED ICINGA2_SYSCONFIGFILE) in etc/initsystem/CMakeLists.txt
696 * Bug #6840: Missing space in error message
697 * Bug #6849: Error handler for getaddrinfo must use gai_strerror
698 * Bug #6852: Startup logfile is not flushed to disk
699 * Bug #6856: event command execution does not call finish handler
700 * Bug #6861: write startup error messages to error.log
701 * Feature #5818: SUSE packages
702 * Feature #6655: Build packages for el7
703 * Feature #6688: Rename README to README.md
704 * Feature #6698: Require command to be an array when the arguments attribute is used
705 * Feature #6700: Release 2.0.2
706 * Feature #6783: Print application paths for --version
707 * DB IDO - Bug #6414: objects and their ids are inserted twice
708 * DB IDO - Bug #6608: Two Custom Variables with same name, but Upper/Lowercase creating IDO duplicate entry
709 * DB IDO - Bug #6646: NULL vs empty string
710 * DB IDO - Bug #6850: exit application if ido schema version does not match
711 * Documentation - Bug #6652: clarify on which features are required for classic ui/web/web2
712 * Documentation - Bug #6708: update installation with systemd usage
713 * Documentation - Bug #6711: icinga Web: wrong path to command pipe
714 * Documentation - Bug #6725: Missing documentation about implicit dependency
715 * Documentation - Bug #6728: wrong path for the file 'localhost.conf'
716 * Migration - Bug #6558: group names quoted twice in arrays
717 * Migration - Bug #6560: Service dependencies aren't getting converted properly
718 * Migration - Bug #6561: $TOTALHOSTSERVICESWARNING$ and $TOTALHOSTSERVICESCRITICAL$ aren't getting converted
719 * Migration - Bug #6563: Check and retry intervals are incorrect
720 * Migration - Bug #6786: Fix notification definition if no host_name / service_description given
721 * Plugins - Feature #6695: Plugin Check Commands: Add expect option to check_http
722 * Plugins - Feature #6791: Plugin Check Commands: Add timeout option to check_ssh
723
724 #### Changes
725
726 * DB IDO schema upgrade required (new schema version: 1.11.6)
727
728 ### What's New in Version 2.0.1
729
730 * Bug #6316: application fails to start on wrong log file permissions but does not tell about it
731 * Bug #6368: Deadlock in ApiListener::RelayMessage
732 * Bug #6373: base64 on CentOS 5 fails to read certificate bundles
733 * Bug #6388: Debian package icinga2-classicui needs versioned dependency of icinga-cgi*
734 * Bug #6488: build warnings
735 * Bug #6492: icinga2.state could not be opened
736 * Bug #6493: Copyright problems
737 * Bug #6498: icinga2 cannot be built with both systemd and init.d files
738 * Bug #6510: Reminder notifications are sent on disabled services
739 * Bug #6526: htpasswd should be installed with icinga2-classicui on Ubuntu
740 * Bug #6529: parsing of double defined command can generate unexpected errors
741 * Bug #6537: Icinga doesn't send SetLogPosition messages when one of the endpoints fails to connect
742 * Bug #6551: Improve systemd service definition
743 * Bug #6565: Dependencies should cache their parent and child object
744 * Bug #6574: Check command result doesn't match
745 * Bug #6576: Remove line number information from stack traces
746 * Bug #6588: Notifications causing segfault from exim
747 * Bug #6605: Please add --sni option to http check command
748 * Bug #6612: Icinga stops updating IDO after a while
749 * Bug #6617: TLS connections are still unstable
750 * Bug #6620: icinga2-build-ca shouldn't prompt for DN
751 * Bug #6622: icinga2-sign-key creates ".crt" and ".key" files when the CA passphrase is invalid
752 * Bug #6657: ICINGA2_SYSCONFIGFILE should use full path using CMAKE_INSTALL_FULL_SYSCONFDIR
753 * Bug #6662: Increase icinga.cmd Limit
754 * Bug #6665: Build fails when MySQL is not installed
755 * Bug #6671: enabled_notification doesn't work as expected
756 * Bug #6672: Icinga crashes after "Too many queued messages"
757 * Bug #6673: enable_notifications = false for users has no effect
758 * Feature #6531: Add port option to check imap/pop/smtp and a new dig
759 * Feature #6581: Add more options to snmp check
760 * DB IDO - Bug #5577: PostgreSQL string escaping
761 * DB IDO - Bug #6577: icinga2-ido-pgsql snapshot package missing dependecy dbconfig-common
762 * Documentation - Bug #6506: Array section confusing
763 * Documentation - Bug #6592: Documentation for || and && is missing
764 * Documentation - Feature #6658: change docs.icinga.org/icinga2/latest to git master
765 * Livestatus - Bug #6494: Thruk Panorama View cannot query Host Status
766 * Livestatus - Feature #5312: OutputFormat python
767 * Migration - Bug #6559: $SERVICEDESC$ isn't getting converted correctly
768
769 #### Changes
770
771 ### Archive