]> granicus.if.org Git - icinga2/blob - doc/1-about.md
Grammar fix in doc/3-monitoring-basics.md
[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"></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.5
58
59 #### Changes
60
61 * NSClient++ is now bundled with the Windows setup wizard and can optionally be installed
62 * Windows Wizard: "include <nscp>" is set by default
63 * Windows Wizard: Add update mode
64 * Plugins: Add check_perfmon plugin for Windows
65 * ITL: Add CheckCommand objects for Windows plugins ("include <windows-plugins>")
66 * ITL: Add CheckCommand definitions for "mongodb", "iftraffic", "disk_smb"
67 * ITL: Add arguments to CheckCommands "dns", "ftp", "tcp", "nscp"
68
69 #### Features
70
71 * Feature [8116](https://dev.icinga.org/issues/8116 "Feature 8116"): Extend Windows installer with an update mode
72 * Feature [8180](https://dev.icinga.org/issues/8180 "Feature 8180"): Add documentation and CheckCommands for the windows plugins
73 * Feature [8809](https://dev.icinga.org/issues/8809 "Feature 8809"): Add check_perfmon plugin for Windows
74 * Feature [9115](https://dev.icinga.org/issues/9115 "Feature 9115"): Add SHOWALL to NSCP Checkcommand
75 * Feature [9130](https://dev.icinga.org/issues/9130 "Feature 9130"): Add 'check_drivesize' as nscp-local check command
76 * Feature [9145](https://dev.icinga.org/issues/9145 "Feature 9145"): Add arguments to "dns" CheckCommand
77 * Feature [9146](https://dev.icinga.org/issues/9146 "Feature 9146"): Add arguments to "ftp" CheckCommand
78 * Feature [9147](https://dev.icinga.org/issues/9147 "Feature 9147"): Add arguments to "tcp" CheckCommand
79 * Feature [9176](https://dev.icinga.org/issues/9176 "Feature 9176"): ITL Documentation: Add a link for passing custom attributes as command parameters
80 * Feature [9180](https://dev.icinga.org/issues/9180 "Feature 9180"): Include Windows support details in the documentation
81 * Feature [9185](https://dev.icinga.org/issues/9185 "Feature 9185"): Add timestamp support for PerfdataWriter
82 * Feature [9191](https://dev.icinga.org/issues/9191 "Feature 9191"): Add "mongodb" CheckCommand definition
83 * Feature [9238](https://dev.icinga.org/issues/9238 "Feature 9238"): Bundle NSClient++ in Windows Installer
84 * Feature [9254](https://dev.icinga.org/issues/9254 "Feature 9254"): Add 'disk_smb' Plugin CheckCommand definition
85 * Feature [9256](https://dev.icinga.org/issues/9256 "Feature 9256"): Determine NSClient++ installation path using MsiGetComponentPath
86 * Feature [9260](https://dev.icinga.org/issues/9260 "Feature 9260"): Include <nscp> by default on Windows
87 * Feature [9261](https://dev.icinga.org/issues/9261 "Feature 9261"): Add the --load-all and --log options for nscp-local
88 * Feature [9263](https://dev.icinga.org/issues/9263 "Feature 9263"): Add support for installing NSClient++ in the Icinga 2 Windows wizard
89 * Feature [9270](https://dev.icinga.org/issues/9270 "Feature 9270"): Update service apply for documentation
90 * Feature [9272](https://dev.icinga.org/issues/9272 "Feature 9272"): Add 'iftraffic' to plugins-contrib check command definitions
91 * Feature [9285](https://dev.icinga.org/issues/9285 "Feature 9285"): Best practices: cluster config sync
92 * Feature [9297](https://dev.icinga.org/issues/9297 "Feature 9297"): Add examples for function usage in "set_if" and "command" attributes
93 * Feature [9310](https://dev.icinga.org/issues/9310 "Feature 9310"): Add typeof in 'assign/ignore where' expression as example
94 * Feature [9311](https://dev.icinga.org/issues/9311 "Feature 9311"): Add local variable scope for *Command to documentation (host, service, etc)
95 * Feature [9313](https://dev.icinga.org/issues/9313 "Feature 9313"): Use a more simple example for passing command parameters
96 * Feature [9318](https://dev.icinga.org/issues/9318 "Feature 9318"): Explain string concatenation in objects by real-world example
97 * Feature [9363](https://dev.icinga.org/issues/9363 "Feature 9363"): Update documentation for escape sequences
98 * Feature [9419](https://dev.icinga.org/issues/9419 "Feature 9419"): Enhance cluster/client troubleshooting
99 * Feature [9420](https://dev.icinga.org/issues/9420 "Feature 9420"): Enhance cluster docs with HA command_endpoints
100 * Feature [9431](https://dev.icinga.org/issues/9431 "Feature 9431"): Documentation: Move configuration before advanced topics
101
102 #### Bugfixes
103
104 * Bug [8853](https://dev.icinga.org/issues/8853 "Bug 8853"): Syntax Highlighting: host.address vs host.add
105 * Bug [8888](https://dev.icinga.org/issues/8888 "Bug 8888"): Icinga2 --version: Error showing Distribution
106 * 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
107 * Bug [9055](https://dev.icinga.org/issues/9055 "Bug 9055"): Wrong timestamps w/ historical data replay in DB IDO
108 * Bug [9109](https://dev.icinga.org/issues/9109 "Bug 9109"): WIN: syslog is not an enable-able feature in windows
109 * Bug [9116](https://dev.icinga.org/issues/9116 "Bug 9116"): node update-config reports critical and warning
110 * Bug [9121](https://dev.icinga.org/issues/9121 "Bug 9121"): Possible DB deadlock
111 * Bug [9131](https://dev.icinga.org/issues/9131 "Bug 9131"): Missing ")" in last Apply Rules example
112 * Bug [9142](https://dev.icinga.org/issues/9142 "Bug 9142"): Downtimes are always "fixed"
113 * Bug [9143](https://dev.icinga.org/issues/9143 "Bug 9143"): Incorrect type and state filter mapping for User objects in DB IDO
114 * Bug [9161](https://dev.icinga.org/issues/9161 "Bug 9161"): 'disk': wrong order of threshold command arguments
115 * Bug [9187](https://dev.icinga.org/issues/9187 "Bug 9187"): SPEC: Give group write permissions for perfdata dir
116 * Bug [9205](https://dev.icinga.org/issues/9205 "Bug 9205"): port empty when using icinga2 node wizard
117 * Bug [9222](https://dev.icinga.org/issues/9222 "Bug 9222"): Missing custom attributes in backends if name is equal to object attribute
118 * Bug [9253](https://dev.icinga.org/issues/9253 "Bug 9253"): Incorrect variable name in the ITL
119 * Bug [9255](https://dev.icinga.org/issues/9255 "Bug 9255"): --scm-installs fails when the service is already installed
120 * Bug [9258](https://dev.icinga.org/issues/9258 "Bug 9258"): Some checks in the default Windows configuration fail
121 * Bug [9259](https://dev.icinga.org/issues/9259 "Bug 9259"): Disk and 'icinga' services are missing in the default Windows config
122 * Bug [9268](https://dev.icinga.org/issues/9268 "Bug 9268"): Typo in Configuration Best Practice
123 * Bug [9269](https://dev.icinga.org/issues/9269 "Bug 9269"): Wrong permission etc on windows
124 * Bug [9324](https://dev.icinga.org/issues/9324 "Bug 9324"): Multi line output not correctly handled from compat channels
125 * Bug [9328](https://dev.icinga.org/issues/9328 "Bug 9328"): Multiline vars are broken in objects.cache output
126 * Bug [9372](https://dev.icinga.org/issues/9372 "Bug 9372"): plugins-contrib.d/databases.conf: wrong argument for mssql_health
127 * Bug [9389](https://dev.icinga.org/issues/9389 "Bug 9389"): Documentation: Typo
128 * Bug [9390](https://dev.icinga.org/issues/9390 "Bug 9390"): Wrong service table attributes in Livestatus documentation
129 * Bug [9393](https://dev.icinga.org/issues/9393 "Bug 9393"): Documentation: Extend Custom Attributes with the boolean type
130 * Bug [9394](https://dev.icinga.org/issues/9394 "Bug 9394"): Including <nscp> on Linux fails with unregistered function
131 * Bug [9399](https://dev.icinga.org/issues/9399 "Bug 9399"): Documentation: Typo
132 * Bug [9406](https://dev.icinga.org/issues/9406 "Bug 9406"): Selective cluster reconnecting breaks client communication
133 * Bug [9412](https://dev.icinga.org/issues/9412 "Bug 9412"): Documentation: Update the link to register a new Icinga account
134
135 ### What's New in Version 2.3.4
136
137 #### Changes
138
139 * ITL: Check commands for various databases
140 * Improve validation messages for time periods
141 * Update max_check_attempts in generic-{host,service} templates
142 * Update logrotate configuration
143 * Bugfixes
144
145 #### Features
146
147 * Feature [8760](https://dev.icinga.org/issues/8760 "Feature 8760"): Add database plugins to ITL
148 * Feature [8803](https://dev.icinga.org/issues/8803 "Feature 8803"): Agent Wizard: add options for API defaults
149 * Feature [8893](https://dev.icinga.org/issues/8893 "Feature 8893"): Improve timeperiod validation error messages
150 * Feature [8895](https://dev.icinga.org/issues/8895 "Feature 8895"): Add explanatory note for Icinga2 client documentation
151
152 #### Bugfixes
153
154 * Bug [8808](https://dev.icinga.org/issues/8808 "Bug 8808"): logrotate doesn't work on Ubuntu
155 * Bug [8821](https://dev.icinga.org/issues/8821 "Bug 8821"): command_endpoint check_results are not replicated to other endpoints in the same zone
156 * Bug [8879](https://dev.icinga.org/issues/8879 "Bug 8879"): Reword documentation of check_address
157 * Bug [8881](https://dev.icinga.org/issues/8881 "Bug 8881"): Add arguments to the UPS check
158 * Bug [8889](https://dev.icinga.org/issues/8889 "Bug 8889"): Fix a minor markdown error
159 * Bug [8892](https://dev.icinga.org/issues/8892 "Bug 8892"): Validation errors for time ranges which span the DST transition
160 * Bug [8894](https://dev.icinga.org/issues/8894 "Bug 8894"): Default max_check_attempts should be lower for hosts than for services
161 * Bug [8913](https://dev.icinga.org/issues/8913 "Bug 8913"): Windows Build: Flex detection
162 * 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
163 * Bug [8919](https://dev.icinga.org/issues/8919 "Bug 8919"): Fix complexity class for Dictionary::Get
164 * Bug [8987](https://dev.icinga.org/issues/8987 "Bug 8987"): Fix a typo
165 * Bug [9012](https://dev.icinga.org/issues/9012 "Bug 9012"): Typo in graphite feature enable documentation
166 * Bug [9014](https://dev.icinga.org/issues/9014 "Bug 9014"): Don't update scheduleddowntime table w/ trigger_time column when only adding a downtime
167 * Bug [9016](https://dev.icinga.org/issues/9016 "Bug 9016"): Downtimes which have been triggered are not properly recorded in the database
168 * 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
169 * Bug [9021](https://dev.icinga.org/issues/9021 "Bug 9021"): Multiple log messages w/ "Attempting to send notifications for notification object"
170 * 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
171 * Bug [9045](https://dev.icinga.org/issues/9045 "Bug 9045"): Vim syntax: Match groups before host/service/user objects
172 * Bug [9049](https://dev.icinga.org/issues/9049 "Bug 9049"): check_disk order of command arguments
173 * Bug [9050](https://dev.icinga.org/issues/9050 "Bug 9050"): web.conf is not in the RPM package
174 * Bug [9064](https://dev.icinga.org/issues/9064 "Bug 9064"): troubleshoot truncates crash reports
175 * Bug [9069](https://dev.icinga.org/issues/9069 "Bug 9069"): Documentation: set_if usage with boolean values and functions
176 * Bug [9073](https://dev.icinga.org/issues/9073 "Bug 9073"): custom attributes with recursive macro function calls causing sigabrt
177
178 ### What's New in Version 2.3.3
179
180 #### Changes
181
182 * New function: parse_performance_data
183 * Include more details in --version
184 * Improve documentation
185 * Bugfixes
186
187 #### Features
188
189 * Feature [8685](https://dev.icinga.org/issues/8685 "Feature 8685"): Show state/type filter names in notice/debug log
190 * Feature [8686](https://dev.icinga.org/issues/8686 "Feature 8686"): Update documentation for "apply for" rules
191 * Feature [8693](https://dev.icinga.org/issues/8693 "Feature 8693"): New function: parse_performance_data
192 * Feature [8740](https://dev.icinga.org/issues/8740 "Feature 8740"): Add "access objects at runtime" examples to advanced section
193 * Feature [8761](https://dev.icinga.org/issues/8761 "Feature 8761"): Include more details in --version
194 * Feature [8816](https://dev.icinga.org/issues/8816 "Feature 8816"): Add "random" CheckCommand for test and demo purposes
195 * Feature [8827](https://dev.icinga.org/issues/8827 "Feature 8827"): Move release info in INSTALL.md into a separate file
196
197 #### Bugfixes
198
199 * Bug [8660](https://dev.icinga.org/issues/8660 "Bug 8660"): Update syntax highlighting for 2.3 features
200 * Bug [8677](https://dev.icinga.org/issues/8677 "Bug 8677"): Re-order the object types in alphabetical order
201 * Bug [8724](https://dev.icinga.org/issues/8724 "Bug 8724"): Missing config validator for command arguments 'set_if'
202 * Bug [8734](https://dev.icinga.org/issues/8734 "Bug 8734"): startup.log broken when the DB schema needs an update
203 * Bug [8736](https://dev.icinga.org/issues/8736 "Bug 8736"): Don't update custom vars for each status update
204 * Bug [8748](https://dev.icinga.org/issues/8748 "Bug 8748"): Don't ignore extraneous arguments for functions
205 * Bug [8749](https://dev.icinga.org/issues/8749 "Bug 8749"): Build warnings with CMake 3.1.3
206 * Bug [8750](https://dev.icinga.org/issues/8750 "Bug 8750"): Flex version check does not reject unsupported versions
207 * Bug [8753](https://dev.icinga.org/issues/8753 "Bug 8753"): Fix a typo in the documentation of ICINGA2_WITH_MYSQL and ICINGA2_WITH_PGSQL
208 * Bug [8755](https://dev.icinga.org/issues/8755 "Bug 8755"): Fix VIM syntax highlighting for comments
209 * Bug [8757](https://dev.icinga.org/issues/8757 "Bug 8757"): Add missing keywords in the syntax highlighting files
210 * Bug [8762](https://dev.icinga.org/issues/8762 "Bug 8762"): Plugin "check_http" is missing in Windows environments
211 * Bug [8763](https://dev.icinga.org/issues/8763 "Bug 8763"): Typo in doc library-reference
212 * Bug [8764](https://dev.icinga.org/issues/8764 "Bug 8764"): Revamp migration documentation
213 * Bug [8765](https://dev.icinga.org/issues/8765 "Bug 8765"): Explain processing logic/order of apply rules with for loops
214 * Bug [8766](https://dev.icinga.org/issues/8766 "Bug 8766"): Remove prompt to create a TicketSalt from the wizard
215 * Bug [8767](https://dev.icinga.org/issues/8767 "Bug 8767"): Typo and invalid example in the runtime macro documentation
216 * Bug [8769](https://dev.icinga.org/issues/8769 "Bug 8769"): Improve error message for invalid field access
217 * Bug [8770](https://dev.icinga.org/issues/8770 "Bug 8770"): object Notification + apply Service fails with error "...refers to service which doesn't exist"
218 * Bug [8771](https://dev.icinga.org/issues/8771 "Bug 8771"): Correct HA documentation
219 * Bug [8829](https://dev.icinga.org/issues/8829 "Bug 8829"): Figure out why command validators are not triggered
220 * Bug [8834](https://dev.icinga.org/issues/8834 "Bug 8834"): Return doesn't work inside loops
221 * Bug [8844](https://dev.icinga.org/issues/8844 "Bug 8844"): Segmentation fault when executing "icinga2 pki new-cert"
222 * Bug [8862](https://dev.icinga.org/issues/8862 "Bug 8862"): wrong 'dns_lookup' custom attribute default in command-plugins.conf
223 * Bug [8866](https://dev.icinga.org/issues/8866 "Bug 8866"): Fix incorrect perfdata templates in the documentation
224 * Bug [8869](https://dev.icinga.org/issues/8869 "Bug 8869"): Array in command arguments doesn't work
225
226 ### What's New in Version 2.3.2
227
228 #### Changes
229
230 * Bugfixes
231
232 #### Bugfixes
233
234 * Bug [8721](https://dev.icinga.org/issues/8721 "Bug 8721"): Log message for cli commands breaks the init script
235
236 ### What's New in Version 2.3.1
237
238 #### Changes
239
240 * Bugfixes
241
242 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
243
244 #### Features
245
246 * Feature [8659](https://dev.icinga.org/issues/8659 "Feature 8659"): Implement String#contains
247
248 #### Bugfixes
249
250 * Bug [8540](https://dev.icinga.org/issues/8540 "Bug 8540"): Kill signal sent only to check process, not whole process group
251 * Bug [8657](https://dev.icinga.org/issues/8657 "Bug 8657"): Missing program name in 'icinga2 --version'
252 * Bug [8658](https://dev.icinga.org/issues/8658 "Bug 8658"): Fix check_disk thresholds: make sure partitions are the last arguments
253 * Bug [8672](https://dev.icinga.org/issues/8672 "Bug 8672"): Api heartbeat message response time problem
254 * Bug [8673](https://dev.icinga.org/issues/8673 "Bug 8673"): Fix check_disk default thresholds and document the change of unit
255 * Bug [8679](https://dev.icinga.org/issues/8679 "Bug 8679"): Config validation fail because of unexpected new-line
256 * Bug [8680](https://dev.icinga.org/issues/8680 "Bug 8680"): Update documentation for DB IDO HA Run-Once
257 * Bug [8683](https://dev.icinga.org/issues/8683 "Bug 8683"): Make sure that the /var/log/icinga2/crash directory exists
258 * Bug [8684](https://dev.icinga.org/issues/8684 "Bug 8684"): Fix formatting for the GDB stacktrace
259 * Bug [8687](https://dev.icinga.org/issues/8687 "Bug 8687"): Crash in Dependency::Stop
260 * Bug [8691](https://dev.icinga.org/issues/8691 "Bug 8691"): Debian packages do not create /var/log/icinga2/crash
261
262 ### What's New in Version 2.3.0
263
264 #### Changes
265
266 * Improved configuration validation
267     * Unnecessary escapes are no longer permitted (e.g. \')
268     * Dashes are no longer permitted in identifier names (as their semantics are ambiguous)
269     * Unused values are detected (e.g. { "-M" })
270     * Validation for time ranges has been improved
271     * Additional validation rules for some object types (Notification and User)
272 * New language features
273     * Implement a separate type for boolean values
274     * Support for user-defined functions
275     * Support for conditional statements (if/else)
276     * Support for 'for' and 'while' loops
277     * Support for local variables using the 'var' keyword
278     * New operators: % (modulo), ^ (xor), - (unary minus) and + (unary plus)
279     * Implemented prototype-based methods for most built-in types (e.g. [ 3, 2 ].sort())
280     * Explicit access to local and global variables using the 'locals' and 'globals' keywords
281     * Changed the order in which filters are evaluated for apply rules with 'for'
282     * Make type objects accessible as global variables
283     * Support for using functions in custom attributes
284     * Access objects and their runtime attributes in functions (e.g. get_host(NodeName).state)
285 * ITL improvements
286     * Additional check commands were added to the ITL
287     * Additional arguments for existing check commands
288 * CLI improvements
289     * Add the 'icinga2 console' CLI command which can be used to test expressions
290     * Add the 'icinga2 troubleshoot' CLI command for collecting troubleshooting information
291     * Performance improvements for the 'icinga2 node update-config' CLI command
292     * Implement argument auto-completion for short options (e.g. daemon -c)
293     * 'node setup' and 'node wizard' create backups for existing certificate files
294 * Add ignore_soft_states option for Dependency object configuration
295 * Fewer threads are used for socket I/O
296 * Flapping detection for hosts and services is disabled by default
297 * Added support for OpenTSDB
298 * New Livestatus tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
299 * Include GDB backtrace in crash reports
300 * Various documentation improvements
301 * Solved a number of issues where cluster instances would not reconnect after intermittent connection problems
302 * A lot of other, minor changes
303
304 * [DB IDO schema upgrade](17-upgrading-icinga-2.md#upgrading-icinga-2) to `1.13.0` required!
305
306 #### Features
307
308 * Feature [3446](https://dev.icinga.org/issues/3446 "Feature 3446"): Add troubleshooting collect cli command
309 * Feature [6109](https://dev.icinga.org/issues/6109 "Feature 6109"): Don't spawn threads for network connections
310 * Feature [6570](https://dev.icinga.org/issues/6570 "Feature 6570"): Disallow side-effect-free r-value expressions in expression lists
311 * Feature [6697](https://dev.icinga.org/issues/6697 "Feature 6697"): Plugin Check Commands: add check_vmware_esx
312 * Feature [6857](https://dev.icinga.org/issues/6857 "Feature 6857"): Run CheckCommands with C locale (workaround for comma vs dot and plugin api bug)
313 * Feature [6858](https://dev.icinga.org/issues/6858 "Feature 6858"): Add some more PNP details
314 * Feature [6868](https://dev.icinga.org/issues/6868 "Feature 6868"): Disable flapping detection by default
315 * Feature [6923](https://dev.icinga.org/issues/6923 "Feature 6923"): IDO should fill program_end_time on a clean shutdown
316 * Feature [7136](https://dev.icinga.org/issues/7136 "Feature 7136"): extended Manubulon SNMP Check Plugin Command
317 * Feature [7209](https://dev.icinga.org/issues/7209 "Feature 7209"): ITL: Interfacetable
318 * Feature [7256](https://dev.icinga.org/issues/7256 "Feature 7256"): Add OpenTSDB Writer
319 * Feature [7292](https://dev.icinga.org/issues/7292 "Feature 7292"): ITL: Check_Mem.pl
320 * Feature [7294](https://dev.icinga.org/issues/7294 "Feature 7294"): ITL: ESXi-Hardware
321 * Feature [7326](https://dev.icinga.org/issues/7326 "Feature 7326"): Add parent soft states option to Dependency object configuration
322 * Feature [7361](https://dev.icinga.org/issues/7361 "Feature 7361"): Livestatus: Add GroupBy tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
323 * Feature [7545](https://dev.icinga.org/issues/7545 "Feature 7545"): Please add labels in SNMP checks
324 * Feature [7564](https://dev.icinga.org/issues/7564 "Feature 7564"): Access object runtime attributes in custom vars & command arguments
325 * Feature [7610](https://dev.icinga.org/issues/7610 "Feature 7610"): Variable from for loop not usable in assign statement
326 * Feature [7700](https://dev.icinga.org/issues/7700 "Feature 7700"): Evaluate apply/object rules when the parent objects are created
327 * Feature [7702](https://dev.icinga.org/issues/7702 "Feature 7702"): Add an option that hides CLI commands
328 * Feature [7704](https://dev.icinga.org/issues/7704 "Feature 7704"): ConfigCompiler::HandleInclude* should return an AST node
329 * Feature [7706](https://dev.icinga.org/issues/7706 "Feature 7706"): ConfigCompiler::Compile* should return an AST node
330 * Feature [7748](https://dev.icinga.org/issues/7748 "Feature 7748"): Redesign how stack frames work for scripts
331 * Feature [7767](https://dev.icinga.org/issues/7767 "Feature 7767"): Rename _DEBUG to I2_DEBUG
332 * Feature [7774](https://dev.icinga.org/issues/7774 "Feature 7774"): Implement an AST Expression for T_CONST
333 * Feature [7778](https://dev.icinga.org/issues/7778 "Feature 7778"): Missing check_disk output on Windows
334 * Feature [7784](https://dev.icinga.org/issues/7784 "Feature 7784"): Implement the DISABLE_HOST_SVC_NOTIFICATIONS and ENABLE_HOST_SVC_NOTIFICATIONS commands
335 * Feature [7793](https://dev.icinga.org/issues/7793 "Feature 7793"): Don't build db_ido when both MySQL and PostgreSQL aren't enabled
336 * Feature [7794](https://dev.icinga.org/issues/7794 "Feature 7794"): Implement an option to disable building the Livestatus module
337 * Feature [7795](https://dev.icinga.org/issues/7795 "Feature 7795"): Implement an option to disable building the Demo component
338 * Feature [7805](https://dev.icinga.org/issues/7805 "Feature 7805"): Implement unit tests for the config parser
339 * Feature [7807](https://dev.icinga.org/issues/7807 "Feature 7807"): Move the cast functions into libbase
340 * Feature [7813](https://dev.icinga.org/issues/7813 "Feature 7813"): Implement the % operator
341 * Feature [7816](https://dev.icinga.org/issues/7816 "Feature 7816"): Document operator precedence
342 * Feature [7822](https://dev.icinga.org/issues/7822 "Feature 7822"): Make the config parser thread-safe
343 * Feature [7823](https://dev.icinga.org/issues/7823 "Feature 7823"): Figure out whether Number + String should implicitly convert the Number argument to a string
344 * Feature [7824](https://dev.icinga.org/issues/7824 "Feature 7824"): Implement the "if" and "else" keywords
345 * Feature [7873](https://dev.icinga.org/issues/7873 "Feature 7873"): Plugin Check Commands: Add icmp
346 * Feature [7879](https://dev.icinga.org/issues/7879 "Feature 7879"): Windows agent is missing the standard plugin check_ping
347 * Feature [7883](https://dev.icinga.org/issues/7883 "Feature 7883"): Implement official support for user-defined functions and the "for" keyword
348 * Feature [7901](https://dev.icinga.org/issues/7901 "Feature 7901"): Implement socket_path attribute for the IdoMysqlConnection class
349 * 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
350 * Feature [7925](https://dev.icinga.org/issues/7925 "Feature 7925"): Move the config file for the ido-*sql features into the icinga2-ido-* packages
351 * Feature [8016](https://dev.icinga.org/issues/8016 "Feature 8016"): Documentation enhancement for snmp traps and passive checks.
352 * Feature [8019](https://dev.icinga.org/issues/8019 "Feature 8019"): Register type objects as global variables
353 * Feature [8020](https://dev.icinga.org/issues/8020 "Feature 8020"): Improve output of ToString for type objects
354 * Feature [8030](https://dev.icinga.org/issues/8030 "Feature 8030"): Evaluate usage of function()
355 * Feature [8033](https://dev.icinga.org/issues/8033 "Feature 8033"): Allow name changed from inside the object
356 * Feature [8040](https://dev.icinga.org/issues/8040 "Feature 8040"): Disallow calling strings as functions
357 * Feature [8043](https://dev.icinga.org/issues/8043 "Feature 8043"): Implement a boolean sub-type for the Value class
358 * Feature [8047](https://dev.icinga.org/issues/8047 "Feature 8047"): ConfigCompiler::HandleInclude should return an inline dictionary
359 * Feature [8060](https://dev.icinga.org/issues/8060 "Feature 8060"): Windows plugins should behave like their Linux cousins
360 * Feature [8065](https://dev.icinga.org/issues/8065 "Feature 8065"): Implement a way to remove dictionary keys
361 * Feature [8071](https://dev.icinga.org/issues/8071 "Feature 8071"): Implement a way to call methods on objects
362 * Feature [8074](https://dev.icinga.org/issues/8074 "Feature 8074"): Figure out how variable scopes should work
363 * Feature [8078](https://dev.icinga.org/issues/8078 "Feature 8078"): Backport i2tcl's error reporting functionality into "icinga2 console"
364 * Feature [8096](https://dev.icinga.org/issues/8096 "Feature 8096"): Document the new language features in 2.3
365 * Feature [8121](https://dev.icinga.org/issues/8121 "Feature 8121"): feature enable should use relative symlinks
366 * Feature [8133](https://dev.icinga.org/issues/8133 "Feature 8133"): Implement line-continuation for the "console" command
367 * Feature [8169](https://dev.icinga.org/issues/8169 "Feature 8169"): Implement additional methods for strings
368 * Feature [8172](https://dev.icinga.org/issues/8172 "Feature 8172"): Assignments shouldn't have a "return" value
369 * Feature [8195](https://dev.icinga.org/issues/8195 "Feature 8195"): Host/Service runtime macro downtime_depth
370 * Feature [8226](https://dev.icinga.org/issues/8226 "Feature 8226"): Make invalid log-severity option output an error instead of a warning
371 * Feature [8244](https://dev.icinga.org/issues/8244 "Feature 8244"): Implement keywords to explicitly access globals/locals
372 * Feature [8259](https://dev.icinga.org/issues/8259 "Feature 8259"): The check "hostalive" is not working with ipv6
373 * Feature [8269](https://dev.icinga.org/issues/8269 "Feature 8269"): Implement the while keyword
374 * Feature [8277](https://dev.icinga.org/issues/8277 "Feature 8277"): Add macros $host.check_source$ and $service.check_source$
375 * Feature [8290](https://dev.icinga.org/issues/8290 "Feature 8290"): Make operators &&, || behave like in JavaScript
376 * Feature [8291](https://dev.icinga.org/issues/8291 "Feature 8291"): Implement validator support for function objects
377 * Feature [8293](https://dev.icinga.org/issues/8293 "Feature 8293"): The Zone::global attribute is not documented
378 * Feature [8316](https://dev.icinga.org/issues/8316 "Feature 8316"): Extend disk checkcommand
379 * Feature [8322](https://dev.icinga.org/issues/8322 "Feature 8322"): Implement Array#join
380 * Feature [8371](https://dev.icinga.org/issues/8371 "Feature 8371"): Add path information for objects in object list
381 * Feature [8374](https://dev.icinga.org/issues/8374 "Feature 8374"): Add timestamp support for Graphite
382 * Feature [8386](https://dev.icinga.org/issues/8386 "Feature 8386"): Add documentation for cli command 'console'
383 * Feature [8393](https://dev.icinga.org/issues/8393 "Feature 8393"): Implement support for Json.encode and Json.decode
384 * Feature [8394](https://dev.icinga.org/issues/8394 "Feature 8394"): Implement continue/break keywords
385 * Feature [8399](https://dev.icinga.org/issues/8399 "Feature 8399"): Backup certificate files in 'node setup'
386 * Feature [8410](https://dev.icinga.org/issues/8410 "Feature 8410"): udp check command is missing arguments.
387 * Feature [8414](https://dev.icinga.org/issues/8414 "Feature 8414"): Add ITL check command for check_ipmi_sensor
388 * Feature [8429](https://dev.icinga.org/issues/8429 "Feature 8429"): add webinject checkcommand
389 * 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
390 * Feature [8467](https://dev.icinga.org/issues/8467 "Feature 8467"): introduce time dependent variable values
391 * Feature [8498](https://dev.icinga.org/issues/8498 "Feature 8498"): Snmp CheckCommand misses various options
392 * Feature [8515](https://dev.icinga.org/issues/8515 "Feature 8515"): Show slave lag for the cluster-zone check
393 * Feature [8522](https://dev.icinga.org/issues/8522 "Feature 8522"): Update Remote Client/Distributed Monitoring Documentation
394 * Feature [8527](https://dev.icinga.org/issues/8527 "Feature 8527"): Change Livestatus query log level to 'notice'
395 * Feature [8548](https://dev.icinga.org/issues/8548 "Feature 8548"): Add support for else-if
396 * Feature [8575](https://dev.icinga.org/issues/8575 "Feature 8575"): Include GDB backtrace in crash reports
397 * Feature [8599](https://dev.icinga.org/issues/8599 "Feature 8599"): Remove macro argument for IMPL_TYPE_LOOKUP
398 * Feature [8600](https://dev.icinga.org/issues/8600 "Feature 8600"): Add validator for time ranges in ScheduledDowntime objects
399 * Feature [8610](https://dev.icinga.org/issues/8610 "Feature 8610"): Support the SNI TLS extension
400 * Feature [8621](https://dev.icinga.org/issues/8621 "Feature 8621"): Add check commands for NSClient++
401 * Feature [8648](https://dev.icinga.org/issues/8648 "Feature 8648"): Document closures ('use')
402
403 #### Bugfixes
404
405 * Bug [6171](https://dev.icinga.org/issues/6171 "Bug 6171"): Remove name and return value for stats functions
406 * 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
407 * Bug [7311](https://dev.icinga.org/issues/7311 "Bug 7311"): Invalid macro results in exception
408 * Bug [7542](https://dev.icinga.org/issues/7542 "Bug 7542"): Update validators for CustomVarObject
409 * Bug [7576](https://dev.icinga.org/issues/7576 "Bug 7576"): validate configured legacy timeperiod ranges
410 * Bug [7582](https://dev.icinga.org/issues/7582 "Bug 7582"): Variable expansion is single quoted.
411 * Bug [7644](https://dev.icinga.org/issues/7644 "Bug 7644"): Unity build doesn't work with MSVC
412 * Bug [7647](https://dev.icinga.org/issues/7647 "Bug 7647"): Avoid rebuilding libbase when the version number changes
413 * Bug [7731](https://dev.icinga.org/issues/7731 "Bug 7731"): Reminder notifications not being sent but logged every 5 secs
414 * Bug [7765](https://dev.icinga.org/issues/7765 "Bug 7765"): DB IDO: Duplicate entry icinga_{host,service}dependencies
415 * Bug [7800](https://dev.icinga.org/issues/7800 "Bug 7800"): Fix the shift/reduce conflicts in the parser
416 * Bug [7802](https://dev.icinga.org/issues/7802 "Bug 7802"): Change parameter type for include and include_recursive to T_STRING
417 * Bug [7808](https://dev.icinga.org/issues/7808 "Bug 7808"): Unterminated string literals should cause parser to return an error
418 * Bug [7809](https://dev.icinga.org/issues/7809 "Bug 7809"): Scoping rules for "for" are broken
419 * Bug [7810](https://dev.icinga.org/issues/7810 "Bug 7810"): Return values for functions are broken
420 * Bug [7811](https://dev.icinga.org/issues/7811 "Bug 7811"): The __return keyword is broken
421 * Bug [7812](https://dev.icinga.org/issues/7812 "Bug 7812"): Validate array subscripts
422 * Bug [7814](https://dev.icinga.org/issues/7814 "Bug 7814"): Set expression should check whether LHS is a null pointer
423 * Bug [7815](https://dev.icinga.org/issues/7815 "Bug 7815"): - operator doesn't work in expressions
424 * Bug [7826](https://dev.icinga.org/issues/7826 "Bug 7826"): Compiler warnings
425 * Bug [7830](https://dev.icinga.org/issues/7830 "Bug 7830"): - shouldn't be allowed in identifiers
426 * Bug [7871](https://dev.icinga.org/issues/7871 "Bug 7871"): Missing persistent_comment, notify_contact columns for acknowledgement table
427 * Bug [7894](https://dev.icinga.org/issues/7894 "Bug 7894"): Fix warnings when using CMake 3.1.0
428 * Bug [7895](https://dev.icinga.org/issues/7895 "Bug 7895"): Serialize() fails to serialize objects which don't have a registered type
429 * Bug [7995](https://dev.icinga.org/issues/7995 "Bug 7995"): Windows Agent: Missing directory "zones" in setup
430 * Bug [8018](https://dev.icinga.org/issues/8018 "Bug 8018"): Value("").IsEmpty() should return true
431 * Bug [8029](https://dev.icinga.org/issues/8029 "Bug 8029"): operator precedence for % and > is incorrect
432 * Bug [8041](https://dev.icinga.org/issues/8041 "Bug 8041"): len() overflows
433 * Bug [8061](https://dev.icinga.org/issues/8061 "Bug 8061"): Confusing error message for import
434 * 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)
435 * Bug [8076](https://dev.icinga.org/issues/8076 "Bug 8076"): icinga 2 Config Error needs to be more verbose
436 * Bug [8081](https://dev.icinga.org/issues/8081 "Bug 8081"): Location info for strings is incorrect
437 * Bug [8100](https://dev.icinga.org/issues/8100 "Bug 8100"): POSTGRES IDO: invalid syntax for integer: "true" while trying to update table icinga_hoststatus
438 * Bug [8111](https://dev.icinga.org/issues/8111 "Bug 8111"): User::ValidateFilters isn't being used
439 * Bug [8117](https://dev.icinga.org/issues/8117 "Bug 8117"): Agent checks fail when there's already a host with the same name
440 * Bug [8122](https://dev.icinga.org/issues/8122 "Bug 8122"): Config file passing validation causes segfault
441 * Bug [8132](https://dev.icinga.org/issues/8132 "Bug 8132"): Debug info for indexer is incorrect
442 * Bug [8136](https://dev.icinga.org/issues/8136 "Bug 8136"): Icinga crashes when config file name is invalid
443 * Bug [8164](https://dev.icinga.org/issues/8164 "Bug 8164"): escaped backslash in string literals
444 * Bug [8166](https://dev.icinga.org/issues/8166 "Bug 8166"): parsing include_recursive
445 * Bug [8173](https://dev.icinga.org/issues/8173 "Bug 8173"): Segfault on icinga::String::operator= when compiling configuration
446 * Bug [8175](https://dev.icinga.org/issues/8175 "Bug 8175"): Compiler warnings
447 * Bug [8179](https://dev.icinga.org/issues/8179 "Bug 8179"): Exception on missing config files
448 * Bug [8184](https://dev.icinga.org/issues/8184 "Bug 8184"): group assign fails with bad lexical cast when evaluating rules
449 * Bug [8185](https://dev.icinga.org/issues/8185 "Bug 8185"): Argument auto-completion doesn't work for short options
450 * Bug [8211](https://dev.icinga.org/issues/8211 "Bug 8211"): icinga2 node update should not write config for blacklisted zones/host
451 * Bug [8230](https://dev.icinga.org/issues/8230 "Bug 8230"): Lexer term for T_ANGLE_STRING is too aggressive
452 * Bug [8249](https://dev.icinga.org/issues/8249 "Bug 8249"): Problems using command_endpoint inside HA zone
453 * Bug [8257](https://dev.icinga.org/issues/8257 "Bug 8257"): Report missing command objects on remote agent
454 * Bug [8260](https://dev.icinga.org/issues/8260 "Bug 8260"): icinga2 node wizard: Create backups of certificates
455 * Bug [8289](https://dev.icinga.org/issues/8289 "Bug 8289"): Livestatus operator =~ is not case-insensitive
456 * Bug [8294](https://dev.icinga.org/issues/8294 "Bug 8294"): Running icinga2 command as non privilged user raises error
457 * Bug [8298](https://dev.icinga.org/issues/8298 "Bug 8298"): notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
458 * Bug [8300](https://dev.icinga.org/issues/8300 "Bug 8300"): ApiListener::ReplayLog shouldn't hold mutex lock during call to Socket::Poll
459 * Bug [8307](https://dev.icinga.org/issues/8307 "Bug 8307"): PidPath, VarsPath, ObjectsPath and StatePath no longer read from init.conf
460 * Bug [8309](https://dev.icinga.org/issues/8309 "Bug 8309"): Crash in ScheduledDowntime::CreateNextDowntime
461 * Bug [8313](https://dev.icinga.org/issues/8313 "Bug 8313"): Incorrectly formatted timestamp in .timestamp file
462 * Bug [8318](https://dev.icinga.org/issues/8318 "Bug 8318"): Remote Clients: Add manual setup cli commands
463 * Bug [8323](https://dev.icinga.org/issues/8323 "Bug 8323"): Apply rule '' for host does not match anywhere!
464 * 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
465 * Bug [8372](https://dev.icinga.org/issues/8372 "Bug 8372"): Stacktrace on Endpoint not belonging to a zone or multiple zones
466 * Bug [8383](https://dev.icinga.org/issues/8383 "Bug 8383"): last_hard_state missing in StatusDataWriter
467 * Bug [8387](https://dev.icinga.org/issues/8387 "Bug 8387"): StatusDataWriter: Wrong host notification filters (broken fix in #8192)
468 * Bug [8388](https://dev.icinga.org/issues/8388 "Bug 8388"): Config sync authoritative file never created
469 * Bug [8389](https://dev.icinga.org/issues/8389 "Bug 8389"): Added downtimes must be triggered immediately if checkable is Not-OK
470 * Bug [8390](https://dev.icinga.org/issues/8390 "Bug 8390"): Agent writes CR CR LF in synchronized config files
471 * Bug [8397](https://dev.icinga.org/issues/8397 "Bug 8397"): Icinga2 config reset after package update (centos6.6)
472 * Bug [8425](https://dev.icinga.org/issues/8425 "Bug 8425"): DB IDO: Duplicate entry icinga_scheduleddowntime
473 * Bug [8433](https://dev.icinga.org/issues/8433 "Bug 8433"): Make the arguments for the stats functions const-ref
474 * Bug [8434](https://dev.icinga.org/issues/8434 "Bug 8434"): Build fails on OpenBSD
475 * Bug [8436](https://dev.icinga.org/issues/8436 "Bug 8436"): Indicate that Icinga2 is shutting down in case of a fatal error
476 * Bug [8438](https://dev.icinga.org/issues/8438 "Bug 8438"): DB IDO {host,service}checks command_line value is "Object of type 'icinga::Array'"
477 * Bug [8444](https://dev.icinga.org/issues/8444 "Bug 8444"): Don't attempt to restore program state from non-existing state file
478 * Bug [8452](https://dev.icinga.org/issues/8452 "Bug 8452"): Livestatus query on commands table with custom vars fails
479 * Bug [8461](https://dev.icinga.org/issues/8461 "Bug 8461"): Don't request heartbeat messages until after we've synced the log
480 * Bug [8473](https://dev.icinga.org/issues/8473 "Bug 8473"): Exception in WorkQueue::StatusTimerHandler
481 * Bug [8488](https://dev.icinga.org/issues/8488 "Bug 8488"): Figure out why 'node update-config' becomes slow over time
482 * Bug [8493](https://dev.icinga.org/issues/8493 "Bug 8493"): Misleading ApiListener connection log messages on a master (Endpoint vs Zone)
483 * Bug [8496](https://dev.icinga.org/issues/8496 "Bug 8496"): Icinga doesn't update long_output in DB
484 * Bug [8511](https://dev.icinga.org/issues/8511 "Bug 8511"): Deadlock with DB IDO dump and forcing a scheduled check
485 * Bug [8517](https://dev.icinga.org/issues/8517 "Bug 8517"): Config parser fails non-deterministic on Notification missing Checkable
486 * Bug [8519](https://dev.icinga.org/issues/8519 "Bug 8519"): apply-for incorrectly converts loop var to string
487 * Bug [8529](https://dev.icinga.org/issues/8529 "Bug 8529"): livestatus limit header not working
488 * Bug [8535](https://dev.icinga.org/issues/8535 "Bug 8535"): Crash in ApiEvents::RepositoryTimerHandler
489 * Bug [8536](https://dev.icinga.org/issues/8536 "Bug 8536"): Valgrind warning for ExternalCommandListener::CommandPipeThread
490 * Bug [8537](https://dev.icinga.org/issues/8537 "Bug 8537"): Crash in DbObject::SendStatusUpdate
491 * Bug [8544](https://dev.icinga.org/issues/8544 "Bug 8544"): Hosts: process_performance_data = 0 in database even though enable_perfdata = 1 in config
492 * 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
493 * Bug [8559](https://dev.icinga.org/issues/8559 "Bug 8559"): check_memory tool shows incorrect memory size on windows
494 * Bug [8593](https://dev.icinga.org/issues/8593 "Bug 8593"): Memory leak in Expression::GetReference
495 * Bug [8594](https://dev.icinga.org/issues/8594 "Bug 8594"): Improve Livestatus query performance
496 * Bug [8596](https://dev.icinga.org/issues/8596 "Bug 8596"): Dependency: Validate *_{host,service}_name objects on their existance
497 * Bug [8604](https://dev.icinga.org/issues/8604 "Bug 8604"): Attribute hints don't work for nested attributes
498 * Bug [8627](https://dev.icinga.org/issues/8627 "Bug 8627"): Icinga2 shuts down when service is reloaded
499 * Bug [8638](https://dev.icinga.org/issues/8638 "Bug 8638"): Fix a typo in documentation
500