forked from Icinga/icinga2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
1471 lines (1319 loc) · 79 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Icinga 2.x CHANGELOG
Please check [doc/1-about.md].
## What's New
### What's New in Version 2.4.1
#### Changes
* ITL
* Add running_kernel_use_sudo option for the running_kernel check
* Configuration
* Add global constants: `PlatformName`. `PlatformVersion`, `PlatformKernel` and `PlatformKernelVersion`
* CLI
* Use NodeName and ZoneName constants for 'node setup' and 'node wizard'
#### Feature
* Feature 10622: Add by_ssh_options argument for the check_by_ssh plugin
* Feature 10693: Add running_kernel_use_sudo option for the running_kernel check
* Feature 10716: Use NodeName and ZoneName constants for 'node setup' and 'node wizard'
#### Bugfixes
* Bug 10528: Documentation example in "Access Object Attributes at Runtime" doesn't work correctly
* Bug 10615: Build fails on SLES 11 SP3 with GCC 4.8
* Bug 10632: "node wizard" does not ask user to verify SSL certificate
* Bug 10641: API setup command incorrectly overwrites existing certificates
* Bug 10643: Icinga 2 crashes when ScheduledDowntime objects are used
* Bug 10645: Documentation for schedule-downtime is missing required paremeters
* Bug 10648: lib/base/process.cpp SIGSEGV on Debian squeeze / RHEL 6
* Bug 10661: Incorrect web inject URL in documentation
* Bug 10663: Incorrect redirect for stderr in /usr/lib/icinga2/prepare-dirs
* Bug 10667: Indentation in command-plugins.conf
* Bug 10677: node wizard checks for /var/lib/icinga2/ca directory but not the files
* Bug 10690: CLI command 'repository add' doesn't work
* Bug 10692: Fix typos in the documentation
* Bug 10708: Windows setup wizard crashes when InstallDir registry key is not set
* Bug 10710: Incorrect path for icinga2 binary in development documentation
* Bug 10720: Remove --master_zone from --help because it is currently not implemented
### What's New in Version 2.4.0
#### Changes
* API
* RESTful API with basic auth or client certificates
* Filters, types, permissions
* configuration package management
* query/create/modify/delete config objects at runtime
* status queries for global stats
* actions (e.g. acknowledge all service problems)
* event streams
* ITL and Plugin Check Command definitions
* The 'running_kernel' check command was moved to the plugins-contrib section. You have to update your config to include 'plugins-contrib'
* Configuration
* The global constants Enable* and Vars have been removed. Use the IcingaApplication object attributes instead.
* Features
* New Graphite tree. Please check the documentation how enable the legacy schema.
* IcingaStatusWriter feature has been deprecated and will be removed in future versions.
* Modified attributes are not exposed as bit mask to external interfaces anymore (api related changes). External commands like CHANGE_*_MODATTR have been removed.
#### Feature
* Feature 7709: Validators should be implemented in (auto-generated) native code
* Feature 8093: Add icinga, cluster, cluster-zone check information to the ApiListener status handler
* Feature 8149: graphite writer should pass "-" in host names and "." in perf data
* Feature 8666: Allow some of the Array and Dictionary methods to be inlined by the compiler
* Feature 8688: Add embedded DB IDO version health check
* Feature 8689: Add support for current and current-1 db ido schema version
* Feature 8690: 'icinga2 console' should serialize temporary attributes (rather than just config + state)
* Feature 8738: Implement support for CLIENT_MULTI_STATEMENTS
* Feature 8741: Deprecate IcingaStatusWriter feature
* Feature 8775: Move the base command templates into libmethods
* Feature 8776: Implement support for libedit
* Feature 8791: Refactor the startup process
* Feature 8832: Implement constructor-style casts
* Feature 8842: Add support for the C++11 keyword 'override'
* Feature 8867: Use DebugHint information when reporting validation errors
* Feature 8890: Move implementation code from thpp files into separate files
* Feature 8922: Avoid unnecessary dictionary lookups
* Feature 9044: Remove the ScopeCurrent constant
* Feature 9068: Implement sandbox mode for the config parser
* Feature 9074: Basic API framework
* Feature 9076: Reflection support for the API
* Feature 9077: Implement filters for the API
* Feature 9078: Event stream support for the API
* Feature 9079: Implement status queries for the API
* Feature 9080: Add commands (actions) for the API
* Feature 9081: Add modified attribute support for the API
* Feature 9082: Runtime configuration for the API
* Feature 9083: Configuration file management for the API
* Feature 9084: Enable the ApiListener by default
* Feature 9085: Certificate-based authentication for the API
* Feature 9086: Password-based authentication for the API
* Feature 9087: Create default administrative user
* Feature 9088: API permissions
* Feature 9091: API status queries
* Feature 9093: Changelog for modified attributes
* Feature 9095: Disallow changes for certain config attributes at runtime
* Feature 9096: Dependency tracking for objects
* Feature 9098: Update modules to support adding and removing objects at runtime
* Feature 9099: Implement support for writing configuration files
* Feature 9100: Multiple sources for zone configuration tree
* Feature 9101: Commands for adding and removing objects
* Feature 9102: Support validating configuration changes
* Feature 9103: Staging for configuration validation
* Feature 9104: Implement config file management commands
* Feature 9105: API Documentation
* Feature 9175: Move 'running_kernel' check command to plugins-contrib 'operating system' section
* Feature 9286: DB IDO/Livestatus: Add zone object table w/ endpoint members
* Feature 9414: "-Wno-deprecated-register" compiler option breaks builds on SLES 11
* Feature 9447: Implement support for HTTP
* Feature 9448: Define RESTful url schema
* Feature 9461: New Graphite schema
* Feature 9470: Implement URL parser
* Feature 9471: Implement ApiUser type
* Feature 9594: Implement base64 de- and encoder
* Feature 9614: Register ServiceOK, ServiceWarning, HostUp, etc. as constants
* Feature 9647: Move url to /lib/remote from /lib/base
* Feature 9689: Add exceptions for Utility::MkDir{,P}
* Feature 9693: Add Array::FromVector() method
* Feature 9698: Implement support for X-HTTP-Method-Override
* Feature 9704: String::Trim() should return a new string rather than modifying the current string
* Feature 9705: Add real path sanity checks to provided file paths
* Feature 9723: Documentation for config management API
* Feature 9768: Update the url parsers behaviour
* Feature 9777: Make Comments and Downtime types available as ConfigObject type in the API
* Feature 9794: Setting global variables with i2tcl doesn't work
* Feature 9849: Validation for modified attributes
* Feature 9850: Re-implement events for attribute changes
* Feature 9851: Remove GetModifiedAttributes/SetModifiedAttributes
* Feature 9852: Implement support for . in modify_attribute
* Feature 9859: Implement global modified attributes
* Feature 9866: Implement support for attaching GDB to the Icinga process on crash
* Feature 9914: Rename DynamicObject/DynamicType to ConfigObject/ConfigType
* Feature 9919: Allow comments when parsing JSON
* Feature 9921: Implement the 'base' field for the Type class
* Feature 9926: Ensure that runtime config objects are persisted on disk
* Feature 9927: Figure out how to sync dynamically created objects inside the cluster
* Feature 9929: Add override keyword for all relevant methods
* Feature 9930: Document Object#clone
* Feature 9931: Implement Object#clone and rename Array/Dictionary#clone to shallow_clone
* Feature 9933: Implement support for indexers in ConfigObject::RestoreAttribute
* Feature 9935: Implement support for restoring modified attributes
* Feature 9937: Add package attribute for ConfigObject and set its origin
* Feature 9940: Implement support for filter_vars
* Feature 9944: Add String::ToLower/ToUpper
* Feature 9946: Remove debug messages in HttpRequest class
* Feature 9953: Rename config/modules to config/packages
* Feature 9960: Implement ignore_on_error keyword
* Feature 10017: Use an AST node for the 'library' keyword
* Feature 10038: Add plural_name field to /v1/types
* Feature 10039: URL class improvements
* Feature 10042: Implement a demo API client: Icinga Studio
* Feature 10060: Implement joins for status queries
* Feature 10116: Add global status handler for the API
* Feature 10186: Make ConfigObject::{G,S}etField() method public
* Feature 10194: Sanitize error status codes and messages
* Feature 10202: Add documentation for api-users.conf and app.conf
* Feature 10209: Rename statusqueryhandler to objectqueryhandler
* Feature 10212: Move /v1/<type> to /v1/objects/<type>
* Feature 10243: Provide keywords to retrieve the current file name at parse time
* Feature 10257: Change object version to timestamps for diff updates on config sync
* Feature 10329: Pretty-print arrays and dictionaries when converting them to strings
* Feature 10368: Document that modified attributes require accept_config for cluster/clients
* Feature 10374: Add check command nginx_status
* Feature 10383: DB IDO should provide its connected state via /v1/status
* Feature 10385: Add 'support' tracker to changelog.py
* Feature 10387: Use the API for "icinga2 console"
* Feature 10388: Log a warning message on unauthorized http request
* Feature 10392: Original attributes list in IDO
* Feature 10393: Hide internal attributes
* Feature 10394: Add getter for endpoint 'connected' attribute
* Feature 10407: Remove api.cpp, api.hpp
* Feature 10409: Add documentation for apply+for in the language reference chapter
* Feature 10423: Ability to set port on SNMP Checks
* Feature 10431: Add the name for comments/downtimes next to legacy_id to DB IDO
* Feature 10441: Rewrite man page
* Feature 10479: Use ZoneName variable for parent_zone in node update-config
* Feature 10482: Documentation: Reorganize Livestatus and alternative frontends
* Feature 10503: Missing parameters for check jmx4perl
* Feature 10507: Add check command negate
* Feature 10509: Change GetLastStateUp/Down to host attributes
* Feature 10511: Add check command mysql
* Feature 10513: Add ipv4/ipv6 only to tcp and http CheckCommand
* Feature 10522: Change output format for 'icinga2 console'
* Feature 10547: Icinga 2 script debugger
* Feature 10548: Implement CSRF protection for the API
* Feature 10549: Change 'api setup' into a manual step while configuring the API
* Feature 10551: Change object query result set
* Feature 10566: Enhance programmatic examples for the API docs
* Feature 10574: Mention wxWidget (optional) requirement in INSTALL.md
* Feature 10575: Documentation for /v1/console
* Feature 10576: Explain variable names for joined objects in filter expressions
* Feature 10577: Documentation for the script debugger
* Feature 10591: Explain DELETE for config stages/packages
* Feature 10630: Update wxWidgets documentation for Icinga Studio
#### Bugfixes
* Bug 8822: Update OpenSSL for the Windows builds
* Bug 8823: Don't allow users to instantiate the StreamLogger class
* Bug 8830: Make default notifications include users from host.vars.notification.mail.users
* Bug 8865: Failed assertion in IdoMysqlConnection::FieldToEscapedString
* Bug 8907: Validation fails even though field is not required
* Bug 8924: Specify pidfile for status_of_proc in the init script
* Bug 8952: Crash in VMOps::FunctionCall
* Bug 8989: pgsql driver does not have latest mysql changes synced
* Bug 9015: Compiler warnings with latest HEAD 5ac5f98
* Bug 9027: PostgreSQL schema sets default timestamps w/o time zone
* Bug 9053: icinga demo module can not be built
* Bug 9188: Remove incorrect 'ignore where' expression from 'ssh' apply example
* Bug 9455: Fix incorrect datatype for the check_source column in icinga_statehistory table
* Bug 9547: Wrong vars changed handler in api events
* Bug 9576: Overflow in freshness_threshold column (smallint) w/ DB IDO MySQL
* Bug 9590: 'node wizard/setup' should always generate new CN certificates
* Bug 9703: Problem with child nodes in http url registry
* Bug 9735: Broken cluster config sync w/o include_zones
* Bug 9778: Accessing field ID 0 ("prototype") fails
* Bug 9793: Operator - should not work with "" and numbers
* Bug 9795: ScriptFrame's 'Self' attribute gets corrupted when an expression throws an exception
* Bug 9813: win32 build: S_ISDIR is undefined
* Bug 9843: console autocompletion should take into account parent classes' prototypes
* Bug 9868: Crash in ScriptFrame::~ScriptFrame
* Bug 9872: Color codes in console prompt break line editing
* Bug 9876: Crash during cluster log replay
* Bug 9879: Missing conf.d or zones.d cause parse failure
* Bug 9911: Do not let API users create objects with invalid names
* Bug 9966: Fix formatting in mkclass
* Bug 9968: Implement support for '.' when persisting modified attributes
* Bug 9987: Crash in ConfigCompiler::RegisterZoneDir
* Bug 10008: Don't parse config files for branches not taken
* Bug 10012: Unused variable 'dobj' in configobject.tcpp
* Bug 10024: HTTP keep-alive does not work with .NET WebClient
* Bug 10027: Filtering by name doesn't work
* Bug 10034: Unused variable console_type in consolecommand.cpp
* Bug 10041: build failure: demo module
* Bug 10048: Error handling in HttpClient/icinga-studio
* Bug 10110: Add object_id where clause for icinga_downtimehistory
* Bug 10180: API actions do not follow REST guidelines
* Bug 10198: Detect infinite recursion in user scripts
* Bug 10210: Move the Collection status handler to /v1/status
* Bug 10211: PerfdataValue is not properly serialised in status queries
* Bug 10224: URL parser is cutting off last character
* Bug 10234: ASCII NULs don't work in string values
* Bug 10238: Use a temporary file for modified-attributes.conf updates
* Bug 10241: Properly encode URLs in Icinga Studio
* Bug 10249: Config Sync shouldn't send updates for objects the client doesn't have access to
* Bug 10253: /v1/objects/<type> returns an HTTP error when there are no objects of that type
* Bug 10255: Config sync does not set endpoint syncing and plays disconnect-sync ping-pong
* Bug 10256: ConfigWriter::EmitValue should format floating point values properly
* Bug 10326: icinga2 repository host add does not work
* Bug 10350: Remove duplicated text in section "Apply Notifications to Hosts and Services"
* Bug 10355: Version updates are not working properly
* Bug 10360: Icinga2 API performance regression
* Bug 10371: Ensure that modified attributes work with clients with local config and no zone attribute
* Bug 10386: restore_attribute does not work in clusters
* Bug 10403: Escaping $ not documented
* Bug 10406: Misleading wording in generated zones.conf
* Bug 10410: OpenBSD: hang during ConfigItem::ActivateItems() in daemon startup
* Bug 10417: 'which' isn't available in a minimal CentOS container
* Bug 10422: Changing a group's attributes causes duplicate rows in the icinga_*group_members table
* Bug 10433: 'dig_lookup' custom attribute for the 'dig' check command isn't optional
* Bug 10436: Custom variables aren't removed from the IDO database
* Bug 10439: "Command options" is empty when executing icinga2 without any argument.
* Bug 10440: Improve --help output for the --log-level option
* Bug 10455: Improve error handling during log replay
* Bug 10456: Incorrect attribute name in the documentation
* Bug 10457: Don't allow scripts to access FANoUserView attributes in sandbox mode
* Bug 10461: Line continuation is broken in 'icinga2 console'
* Bug 10466: Crash in IndexerExpression::GetReference when attempting to set an attribute on an object other than the current one
* Bug 10473: IDO tries to execute empty UPDATE queries
* Bug 10491: Unique constraint violation with multiple comment inserts in DB IDO
* Bug 10495: Incorrect JSON-RPC message causes Icinga 2 to crash
* Bug 10498: IcingaStudio: Accessing non-ConfigObjects causes ugly exception
* Bug 10501: Plural name rule not treating edge case correcly
* Bug 10504: Increase the default timeout for OS checks
* Bug 10508: Figure out whether we need the Checkable attributes state_raw, last_state_raw, hard_state_raw
* Bug 10510: CreatePipeOverlapped is not thread-safe
* Bug 10512: Mismatch on {comment,downtime}_id vs internal name in the API
* Bug 10517: Circular reference between *Connection and TlsStream objects
* Bug 10518: Crash in ConfigWriter::GetKeywords
* Bug 10527: Fix indentation for Dictionary::ToString
* Bug 10529: Change session_token to integer timestamp
* Bug 10535: Spaces do not work in command arguments
* Bug 10538: Crash in ConfigWriter::EmitIdentifier
* Bug 10539: Don't validate custom attributes that aren't strings
* Bug 10540: Async mysql queries aren't logged in the debug log
* Bug 10545: Broken build - unresolved external symbol "public: void __thiscall icinga::ApiClient::ExecuteScript...
* Bug 10555: Don't try to use --gc-sections on Solaris
* Bug 10556: Update OpenSSL for the Windows builds
* Bug 10558: There's a variable called 'string' in filter expressions
* Bug 10559: Autocompletion doesn't work in the debugger
* Bug 10560: 'api setup' should create a user even when api feature is already enabled
* Bug 10561: 'remove-comment' action does not support filters
* Bug 10562: Documentation should not reference real host names
* Bug 10563: /v1/console should only use a single permission
* Bug 10568: Improve location information for errors in API filters
* Bug 10569: Icinga 2 API Docs
* Bug 10578: API call doesn't fail when trying to use a template that doesn't exist
* Bug 10580: Detailed error message is missing when object creation via API fails
* Bug 10583: modify_attribute: object cannot be cloned
* Bug 10588: Documentation for /v1/types
* Bug 10596: Deadlock in MacroProcessor::EvaluateFunction
* Bug 10601: Don't allow users to set state attributes via PUT
* Bug 10602: API overwrites (and then deletes) config file when trying to create an object that already exists
* Bug 10604: Group memberships are not updated for runtime created objects
* Bug 10629: Download URL for NSClient++ is incorrect
* Bug 10637: Utility::FormatErrorNumber fails when error message uses arguments
### What's New in Version 2.3.11
#### Changes
* Function for performing CIDR matches: cidr_match()
* New methods: String#reverse and Array#reverse
* New ITL command definitions: nwc_health, hpasm, squid, pgsql
* Additional arguments for ITL command definitions: by_ssh, dig, pop, spop, imap, simap
* Documentation updates
* Various bugfixes
#### Features
* Feature 9183: Add timestamp support for OpenTsdbWriter
* Feature 9466: Add FreeBSD setup to getting started
* Feature 9812: add check command for check_nwc_health
* Feature 9854: check_command for plugin check_hpasm
* Feature 10004: escape_shell_arg() method
* Feature 10006: Implement a way for users to resolve commands+arguments in the same way Icinga does
* Feature 10057: Command Execution Bridge: Use of same endpoint names in examples for a better understanding
* Feature 10109: Add check command squid
* Feature 10112: Add check command pgsql
* Feature 10129: Add ipv4/ipv6 only to nrpe CheckCommand
* Feature 10139: expand check command dig
* Feature 10142: Update debug docs for core dumps and full backtraces
* Feature 10157: Update graphing section in the docs
* Feature 10158: Make check_disk.exe CheckCommand Config more verbose
* Feature 10161: Improve documentation for check_memory
* Feature 10197: Implement the Array#reverse and String#reverse methods
* Feature 10207: Find a better description for cluster communication requirements
* Feature 10216: Clarify on cluster/client naming convention and add troubleshooting section
* Feature 10219: Add timeout argument for pop, spop, imap, simap commands
* Feature 10352: Improve timeperiod documentation
* Feature 10354: New method: cidr_match()
* Feature 10379: Add a debug log message for updating the program status table in DB IDO
#### Bugfixes
* Bug 8805: check cluster-zone returns wrong log lag
* Bug 9322: sending multiple Livestatus commands rejects all except the first
* Bug 10002: Deadlock in WorkQueue::Enqueue
* Bug 10079: Improve error message for socket errors in Livestatus
* Bug 10093: Rather use unique SID when granting rights for folders in NSIS on Windows Client
* Bug 10177: Windows Check Update -> Access denied
* Bug 10191: String methods cannot be invoked on an empty string
* Bug 10192: null + null should not be ""
* Bug 10199: Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate
* Bug 10204: Config parser problem with parenthesis and newlines
* Bug 10205: config checker reports wrong error on apply for rules
* Bug 10235: Deadlock in TlsStream::Close
* Bug 10239: Don't throw an exception when replaying the current replay log file
* Bug 10245: Percent character whitespace on Windows
* Bug 10254: Performance Data Labels including '=' will not be displayed correct
* Bug 10262: Don't log messages we've already relayed to all relevant zones
* Bug 10266: "Not after" value overflows in X509 certificates on RHEL5
* Bug 10348: Checkresultreader is unable to process host checks
* Bug 10349: Missing Start call for base class in CheckResultReader
* Bug 10351: Broken table layout in chapter 20
* Bug 10365: ApiListener::SyncRelayMessage doesn't send message to all zone members
* Bug 10377: Wrong connection log message for global zones
### What's New in Version 2.3.10
#### Features
* Feature 9218: Use the command_endpoint name as check_source value if defined
#### Bugfixes
* Bug 9244: String escape problem with PostgreSQL >= 9.1 and standard_conforming_strings=on
* Bug 10003: Nested "outer" macro calls fails on (handled) missing "inner" values
* Bug 10051: Missing fix for reload on Windows in 2.3.9
* Bug 10058: Wrong calculation for host compat state "UNREACHABLE" in DB IDO
* Bug 10074: Missing zero padding for generated CA serial.txt
### What's New in Version 2.3.9
#### Changes
* Fix that the first SOFT state is recognized as second SOFT state
* Implemented reload functionality for Windows
* New ITL check commands
* Documentation updates
* Various other bugfixes
#### Features
* Feature 9527: CheckCommand for check_interfaces
* Feature 9671: Add check_yum to ITL
* Feature 9675: Add check_redis to ITL
* Feature 9686: Update gdb pretty printer docs w/ Python 3
* Feature 9699: Adding "-r" parameter to the check_load command for dividing the load averages by the number of CPUs.
* Feature 9747: check_command for plugin check_clamd
* Feature 9796: Implement Dictionary#get and Array#get
* Feature 9801: Add check_jmx4perl to ITL
* Feature 9811: add check command for check_mailq
* Feature 9827: snmpv3 CheckCommand section improved
* Feature 9882: Implement the Dictionary#keys method
* Feature 9883: Use an empty dictionary for the 'this' scope when executing commands with Livestatus
* Feature 9985: add check command nscp-local-counter
* Feature 9996: Add new arguments openvmtools for Open VM Tools
#### Bugfixes
* Bug 8979: Missing DEL_DOWNTIME_BY_HOST_NAME command required by Classic UI 1.x
* Bug 9262: cluster check w/ immediate parent and child zone endpoints
* Bug 9623: missing config warning on empty port in endpoints
* Bug 9769: Set correct X509 version for certificates
* Bug 9773: Add log for missing EventCommand for command_endpoints
* Bug 9779: Trying to set a field for a non-object instance fails
* Bug 9782: icinga2 node wizard don't take zone_name input
* Bug 9806: Operator + is inconsistent when used with empty and non-empty strings
* Bug 9814: Build fix for Boost 1.59
* Bug 9835: Dict initializer incorrectly re-initializes field that is set to an empty string
* Bug 9860: missing check_perfmon.exe
* Bug 9867: Agent freezes when the check returns massive output
* Bug 9884: Warning about invalid API function icinga::Hello
* Bug 9897: First SOFT state is recognized as second SOFT state
* Bug 9902: typo in docs
* Bug 9912: check_command interfaces option match_aliases has to be boolean
* Bug 9913: Default disk checks on Windows fail because check_disk doesn't support -K
* Bug 9928: Add missing category for IDO query
* Bug 9947: Serial number field is not properly initialized for CA certificates
* Bug 9961: Don't re-download NSCP for every build
* Bug 9962: Utility::Glob on Windows doesn't support wildcards in all but the last path component
* Bug 9972: Icinga2 - too many open files - Exception
* Bug 9984: fix check command nscp-local
* Bug 9992: Duplicate severity type in the documentation for SyslogLogger
### What's New in Version 2.3.8
#### Changes
* Bugfixes
#### Bugfixes
* Bug 9554: Don't allow "ignore where" for groups when there's no "assign where"
* Bug 9634: DB IDO: Do not update endpointstatus table on config updates
* Bug 9637: Wrong parameter for CheckCommand "ping-common-windows"
* Bug 9665: Escaping does not work for OpenTSDB perfdata plugin
* Bug 9666: checkcommand disk does not check free inode - check_disk
### What's New in Version 2.3.7
#### Changes
* Bugfixes
#### Features
* Feature 9610: Enhance troubleshooting ssl errors & cluster replay log
#### Bugfixes
* Bug 9406: Selective cluster reconnecting breaks client communication
* Bug 9535: Config parser ignores "ignore" in template definition
* Bug 9584: Incorrect return value for the macro() function
* Bug 9585: Wrong formatting in DB IDO extensions docs
* Bug 9586: DB IDO: endpoint* tables are cleared on reload causing constraint violations
* Bug 9621: Assertion failed in icinga::ScriptUtils::Intersection
* Bug 9622: Missing lock in ScriptUtils::Union
### What's New in Version 2.3.6
#### Changes
* Require openssl1 on sles11sp3 from Security Module repository
* Bug in SLES 11's OpenSSL version 0.9.8j preventing verification of generated certificates.
* Re-create these certificates with 2.3.6 linking against openssl1 (cli command or CSR auto-signing).
* ITL: Add ldap, ntp_peer, mongodb and elasticsearch CheckCommand definitions
* Bugfixes
#### Features
* Feature 6714: add pagerduty notification documentation
* Feature 9172: Add "ldap" CheckCommand for "check_ldap" plugin
* Feature 9191: Add "mongodb" CheckCommand definition
* Feature 9415: Add elasticsearch checkcommand to itl
* Feature 9416: snmpv3 CheckCommand: Add possibility to set securityLevel
* Feature 9451: Merge documentation fixes from GitHub
* Feature 9523: Add ntp_peer CheckCommand
* Feature 9562: Add new options for ntp_time CheckCommand
* Feature 9578: new options for smtp CheckCommand
#### Bugfixes
* Bug 9205: port empty when using icinga2 node wizard
* Bug 9253: Incorrect variable name in the ITL
* Bug 9303: Missing 'snmp_is_cisco' in Manubulon snmp-memory command definition
* Bug 9436: Functions can't be specified as command arguments
* Bug 9450: node setup: indent accept_config and accept_commands
* Bug 9452: Wrong file reference in README.md
* Bug 9456: Windows client w/ command_endpoint broken with $nscp_path$ and NscpPath detection
* Bug 9463: Incorrect check_ping.exe parameter in the ITL
* Bug 9476: Documentation for checks in an HA zone is wrong
* Bug 9481: Fix stability issues in the TlsStream/Stream classes
* Bug 9489: Add log message for discarded cluster events (e.g. from unauthenticated clients)
* Bug 9490: Missing openssl verify in cluster troubleshooting docs
* Bug 9513: itl/plugins-contrib.d/*.conf should point to PluginContribDir
* Bug 9522: wrong default port documentated for nrpe
* Bug 9549: Generated certificates cannot be verified w/ openssl 0.9.8j on SLES 11
* Bug 9558: mysql-devel is not available in sles11sp3
* Bug 9563: Update getting started for Debian Jessie
### What's New in Version 2.3.5
#### Changes
* NSClient++ is now bundled with the Windows setup wizard and can optionally be installed
* Windows Wizard: "include <nscp>" is set by default
* Windows Wizard: Add update mode
* Plugins: Add check_perfmon plugin for Windows
* ITL: Add CheckCommand objects for Windows plugins ("include <windows-plugins>")
* ITL: Add CheckCommand definitions for "mongodb", "iftraffic", "disk_smb"
* ITL: Add arguments to CheckCommands "dns", "ftp", "tcp", "nscp"
#### Features
* Feature 8116: Extend Windows installer with an update mode
* Feature 8180: Add documentation and CheckCommands for the windows plugins
* Feature 8809: Add check_perfmon plugin for Windows
* Feature 9115: Add SHOWALL to NSCP Checkcommand
* Feature 9130: Add 'check_drivesize' as nscp-local check command
* Feature 9145: Add arguments to "dns" CheckCommand
* Feature 9146: Add arguments to "ftp" CheckCommand
* Feature 9147: Add arguments to "tcp" CheckCommand
* Feature 9176: ITL Documentation: Add a link for passing custom attributes as command parameters
* Feature 9180: Include Windows support details in the documentation
* Feature 9185: Add timestamp support for PerfdataWriter
* Feature 9191: Add "mongodb" CheckCommand definition
* Feature 9238: Bundle NSClient++ in Windows Installer
* Feature 9254: Add 'disk_smb' Plugin CheckCommand definition
* Feature 9256: Determine NSClient++ installation path using MsiGetComponentPath
* Feature 9260: Include <nscp> by default on Windows
* Feature 9261: Add the --load-all and --log options for nscp-local
* Feature 9263: Add support for installing NSClient++ in the Icinga 2 Windows wizard
* Feature 9270: Update service apply for documentation
* Feature 9272: Add 'iftraffic' to plugins-contrib check command definitions
* Feature 9285: Best practices: cluster config sync
* Feature 9297: Add examples for function usage in "set_if" and "command" attributes
* Feature 9310: Add typeof in 'assign/ignore where' expression as example
* Feature 9311: Add local variable scope for *Command to documentation (host, service, etc)
* Feature 9313: Use a more simple example for passing command parameters
* Feature 9318: Explain string concatenation in objects by real-world example
* Feature 9363: Update documentation for escape sequences
* Feature 9419: Enhance cluster/client troubleshooting
* Feature 9420: Enhance cluster docs with HA command_endpoints
* Feature 9431: Documentation: Move configuration before advanced topics
#### Bugfixes
* Bug 8853: Syntax Highlighting: host.address vs host.add
* Bug 8888: Icinga2 --version: Error showing Distribution
* Bug 8891: Node wont connect properly to master if host is is not set for Endpoint on new installs
* Bug 9055: Wrong timestamps w/ historical data replay in DB IDO
* Bug 9109: WIN: syslog is not an enable-able feature in windows
* Bug 9116: node update-config reports critical and warning
* Bug 9121: Possible DB deadlock
* Bug 9131: Missing ")" in last Apply Rules example
* Bug 9142: Downtimes are always "fixed"
* Bug 9143: Incorrect type and state filter mapping for User objects in DB IDO
* Bug 9161: 'disk': wrong order of threshold command arguments
* Bug 9187: SPEC: Give group write permissions for perfdata dir
* Bug 9205: port empty when using icinga2 node wizard
* Bug 9222: Missing custom attributes in backends if name is equal to object attribute
* Bug 9253: Incorrect variable name in the ITL
* Bug 9255: --scm-installs fails when the service is already installed
* Bug 9258: Some checks in the default Windows configuration fail
* Bug 9259: Disk and 'icinga' services are missing in the default Windows config
* Bug 9268: Typo in Configuration Best Practice
* Bug 9269: Wrong permission etc on windows
* Bug 9324: Multi line output not correctly handled from compat channels
* Bug 9328: Multiline vars are broken in objects.cache output
* Bug 9372: plugins-contrib.d/databases.conf: wrong argument for mssql_health
* Bug 9389: Documentation: Typo
* Bug 9390: Wrong service table attributes in Livestatus documentation
* Bug 9393: Documentation: Extend Custom Attributes with the boolean type
* Bug 9394: Including <nscp> on Linux fails with unregistered function
* Bug 9399: Documentation: Typo
* Bug 9406: Selective cluster reconnecting breaks client communication
* Bug 9412: Documentation: Update the link to register a new Icinga account
### What's New in Version 2.3.4
#### Changes
* ITL: Check commands for various databases
* Improve validation messages for time periods
* Update max_check_attempts in generic-{host,service} templates
* Update logrotate configuration
* Bugfixes
#### Features
* Feature 8760: Add database plugins to ITL
* Feature 8803: Agent Wizard: add options for API defaults
* Feature 8893: Improve timeperiod validation error messages
* Feature 8895: Add explanatory note for Icinga2 client documentation
#### Bugfixes
* Bug 8808: logrotate doesn't work on Ubuntu
* Bug 8821: command_endpoint check_results are not replicated to other endpoints in the same zone
* Bug 8879: Reword documentation of check_address
* Bug 8881: Add arguments to the UPS check
* Bug 8889: Fix a minor markdown error
* Bug 8892: Validation errors for time ranges which span the DST transition
* Bug 8894: Default max_check_attempts should be lower for hosts than for services
* Bug 8913: Windows Build: Flex detection
* Bug 8917: Node wizard should only accept 'y', 'n', 'Y' and 'N' as answers for boolean questions
* Bug 8919: Fix complexity class for Dictionary::Get
* Bug 8987: Fix a typo
* Bug 9012: Typo in graphite feature enable documentation
* Bug 9014: Don't update scheduleddowntime table w/ trigger_time column when only adding a downtime
* Bug 9016: Downtimes which have been triggered are not properly recorded in the database
* Bug 9017: scheduled_downtime_depth column is not reset when a downtime ends or when a downtime is being removed
* Bug 9021: Multiple log messages w/ "Attempting to send notifications for notification object"
* Bug 9041: Acknowledging problems w/ expire time does not add the expiry information to the related comment for IDO and compat
* Bug 9045: Vim syntax: Match groups before host/service/user objects
* Bug 9049: check_disk order of command arguments
* Bug 9050: web.conf is not in the RPM package
* Bug 9064: troubleshoot truncates crash reports
* Bug 9069: Documentation: set_if usage with boolean values and functions
* Bug 9073: custom attributes with recursive macro function calls causing sigabrt
### What's New in Version 2.3.3
#### Changes
* New function: parse_performance_data
* Include more details in --version
* Improve documentation
* Bugfixes
#### Features
* Feature 8685: Show state/type filter names in notice/debug log
* Feature 8686: Update documentation for "apply for" rules
* Feature 8693: New function: parse_performance_data
* Feature 8740: Add "access objects at runtime" examples to advanced section
* Feature 8761: Include more details in --version
* Feature 8816: Add "random" CheckCommand for test and demo purposes
* Feature 8827: Move release info in INSTALL.md into a separate file
#### Bugfixes
* Bug 8660: Update syntax highlighting for 2.3 features
* Bug 8677: Re-order the object types in alphabetical order
* Bug 8724: Missing config validator for command arguments 'set_if'
* Bug 8734: startup.log broken when the DB schema needs an update
* Bug 8736: Don't update custom vars for each status update
* Bug 8748: Don't ignore extraneous arguments for functions
* Bug 8749: Build warnings with CMake 3.1.3
* Bug 8750: Flex version check does not reject unsupported versions
* Bug 8753: Fix a typo in the documentation of ICINGA2_WITH_MYSQL and ICINGA2_WITH_PGSQL
* Bug 8755: Fix VIM syntax highlighting for comments
* Bug 8757: Add missing keywords in the syntax highlighting files
* Bug 8762: Plugin "check_http" is missing in Windows environments
* Bug 8763: Typo in doc library-reference
* Bug 8764: Revamp migration documentation
* Bug 8765: Explain processing logic/order of apply rules with for loops
* Bug 8766: Remove prompt to create a TicketSalt from the wizard
* Bug 8767: Typo and invalid example in the runtime macro documentation
* Bug 8769: Improve error message for invalid field access
* Bug 8770: object Notification + apply Service fails with error "...refers to service which doesn't exist"
* Bug 8771: Correct HA documentation
* Bug 8829: Figure out why command validators are not triggered
* Bug 8834: Return doesn't work inside loops
* Bug 8844: Segmentation fault when executing "icinga2 pki new-cert"
* Bug 8862: wrong 'dns_lookup' custom attribute default in command-plugins.conf
* Bug 8866: Fix incorrect perfdata templates in the documentation
* Bug 8869: Array in command arguments doesn't work
### What's New in Version 2.3.2
#### Changes
* Bugfixes
#### Bugfixes
* Bug 8721: Log message for cli commands breaks the init script
### What's New in Version 2.3.1
#### Changes
* Bugfixes
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
#### Features
* Feature 8659: Implement String#contains
#### Bugfixes
* Bug 8540: Kill signal sent only to check process, not whole process group
* Bug 8657: Missing program name in 'icinga2 --version'
* Bug 8658: Fix check_disk thresholds: make sure partitions are the last arguments
* Bug 8672: Api heartbeat message response time problem
* Bug 8673: Fix check_disk default thresholds and document the change of unit
* Bug 8679: Config validation fail because of unexpected new-line
* Bug 8680: Update documentation for DB IDO HA Run-Once
* Bug 8683: Make sure that the /var/log/icinga2/crash directory exists
* Bug 8684: Fix formatting for the GDB stacktrace
* Bug 8687: Crash in Dependency::Stop
* Bug 8691: Debian packages do not create /var/log/icinga2/crash
### What's New in Version 2.3.0
#### Changes
* Improved configuration validation
* Unnecessary escapes are no longer permitted (e.g. \')
* Dashes are no longer permitted in identifier names (as their semantics are ambiguous)
* Unused values are detected (e.g. { "-M" })
* Validation for time ranges has been improved
* Additional validation rules for some object types (Notification and User)
* New language features
* Implement a separate type for boolean values
* Support for user-defined functions
* Support for conditional statements (if/else)
* Support for 'for' and 'while' loops
* Support for local variables using the 'var' keyword
* New operators: % (modulo), ^ (xor), - (unary minus) and + (unary plus)
* Implemented prototype-based methods for most built-in types (e.g. [ 3, 2 ].sort())
* Explicit access to local and global variables using the 'locals' and 'globals' keywords
* Changed the order in which filters are evaluated for apply rules with 'for'
* Make type objects accessible as global variables
* Support for using functions in custom attributes
* Access objects and their runtime attributes in functions (e.g. get_host(NodeName).state)
* ITL improvements
* Additional check commands were added to the ITL
* Additional arguments for existing check commands
* CLI improvements
* Add the 'icinga2 console' CLI command which can be used to test expressions
* Add the 'icinga2 troubleshoot' CLI command for collecting troubleshooting information
* Performance improvements for the 'icinga2 node update-config' CLI command
* Implement argument auto-completion for short options (e.g. daemon -c)
* 'node setup' and 'node wizard' create backups for existing certificate files
* Add ignore_soft_states option for Dependency object configuration
* Fewer threads are used for socket I/O
* Flapping detection for hosts and services is disabled by default
* Added support for OpenTSDB
* New Livestatus tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
* Include GDB backtrace in crash reports
* Various documentation improvements
* Solved a number of issues where cluster instances would not reconnect after intermittent connection problems
* A lot of other, minor changes
* [DB IDO schema upgrade](17-upgrading-icinga-2.md#upgrading-icinga-2) to `1.13.0` required!
#### Features
* Feature 3446: Add troubleshooting collect cli command
* Feature 6109: Don't spawn threads for network connections
* Feature 6570: Disallow side-effect-free r-value expressions in expression lists
* Feature 6697: Plugin Check Commands: add check_vmware_esx
* Feature 6857: Run CheckCommands with C locale (workaround for comma vs dot and plugin api bug)
* Feature 6858: Add some more PNP details
* Feature 6868: Disable flapping detection by default
* Feature 6923: IDO should fill program_end_time on a clean shutdown
* Feature 7136: extended Manubulon SNMP Check Plugin Command
* Feature 7209: ITL: Interfacetable
* Feature 7256: Add OpenTSDB Writer
* Feature 7292: ITL: Check_Mem.pl
* Feature 7294: ITL: ESXi-Hardware
* Feature 7326: Add parent soft states option to Dependency object configuration
* Feature 7361: Livestatus: Add GroupBy tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
* Feature 7545: Please add labels in SNMP checks
* Feature 7564: Access object runtime attributes in custom vars & command arguments
* Feature 7610: Variable from for loop not usable in assign statement
* Feature 7700: Evaluate apply/object rules when the parent objects are created
* Feature 7702: Add an option that hides CLI commands
* Feature 7704: ConfigCompiler::HandleInclude* should return an AST node
* Feature 7706: ConfigCompiler::Compile* should return an AST node
* Feature 7748: Redesign how stack frames work for scripts
* Feature 7767: Rename _DEBUG to I2_DEBUG
* Feature 7774: Implement an AST Expression for T_CONST
* Feature 7778: Missing check_disk output on Windows
* Feature 7784: Implement the DISABLE_HOST_SVC_NOTIFICATIONS and ENABLE_HOST_SVC_NOTIFICATIONS commands
* Feature 7793: Don't build db_ido when both MySQL and PostgreSQL aren't enabled
* Feature 7794: Implement an option to disable building the Livestatus module
* Feature 7795: Implement an option to disable building the Demo component
* Feature 7805: Implement unit tests for the config parser
* Feature 7807: Move the cast functions into libbase
* Feature 7813: Implement the % operator
* Feature 7816: Document operator precedence
* Feature 7822: Make the config parser thread-safe
* Feature 7823: Figure out whether Number + String should implicitly convert the Number argument to a string
* Feature 7824: Implement the "if" and "else" keywords
* Feature 7873: Plugin Check Commands: Add icmp
* Feature 7879: Windows agent is missing the standard plugin check_ping
* Feature 7883: Implement official support for user-defined functions and the "for" keyword
* Feature 7901: Implement socket_path attribute for the IdoMysqlConnection class
* Feature 7910: The lexer shouldn't accept escapes for characters which don't have to be escaped
* Feature 7925: Move the config file for the ido-*sql features into the icinga2-ido-* packages
* Feature 8016: Documentation enhancement for snmp traps and passive checks.
* Feature 8019: Register type objects as global variables
* Feature 8020: Improve output of ToString for type objects
* Feature 8030: Evaluate usage of function()
* Feature 8033: Allow name changed from inside the object
* Feature 8040: Disallow calling strings as functions
* Feature 8043: Implement a boolean sub-type for the Value class
* Feature 8047: ConfigCompiler::HandleInclude should return an inline dictionary
* Feature 8060: Windows plugins should behave like their Linux cousins
* Feature 8065: Implement a way to remove dictionary keys
* Feature 8071: Implement a way to call methods on objects
* Feature 8074: Figure out how variable scopes should work
* Feature 8078: Backport i2tcl's error reporting functionality into "icinga2 console"
* Feature 8096: Document the new language features in 2.3
* Feature 8121: feature enable should use relative symlinks
* Feature 8133: Implement line-continuation for the "console" command
* Feature 8169: Implement additional methods for strings
* Feature 8172: Assignments shouldn't have a "return" value
* Feature 8195: Host/Service runtime macro downtime_depth
* Feature 8226: Make invalid log-severity option output an error instead of a warning
* Feature 8244: Implement keywords to explicitly access globals/locals
* Feature 8259: The check "hostalive" is not working with ipv6
* Feature 8269: Implement the while keyword
* Feature 8277: Add macros $host.check_source$ and $service.check_source$
* Feature 8290: Make operators &&, || behave like in JavaScript
* Feature 8291: Implement validator support for function objects
* Feature 8293: The Zone::global attribute is not documented
* Feature 8316: Extend disk checkcommand
* Feature 8322: Implement Array#join
* Feature 8371: Add path information for objects in object list
* Feature 8374: Add timestamp support for Graphite
* Feature 8386: Add documentation for cli command 'console'
* Feature 8393: Implement support for Json.encode and Json.decode
* Feature 8394: Implement continue/break keywords
* Feature 8399: Backup certificate files in 'node setup'
* Feature 8410: udp check command is missing arguments.
* Feature 8414: Add ITL check command for check_ipmi_sensor
* Feature 8429: add webinject checkcommand
* Feature 8465: Add the ability to use a CA certificate as a way of verifying hosts for CSR autosigning
* Feature 8467: introduce time dependent variable values
* Feature 8498: Snmp CheckCommand misses various options
* Feature 8515: Show slave lag for the cluster-zone check
* Feature 8522: Update Remote Client/Distributed Monitoring Documentation
* Feature 8527: Change Livestatus query log level to 'notice'
* Feature 8548: Add support for else-if
* Feature 8575: Include GDB backtrace in crash reports
* Feature 8599: Remove macro argument for IMPL_TYPE_LOOKUP
* Feature 8600: Add validator for time ranges in ScheduledDowntime objects
* Feature 8610: Support the SNI TLS extension
* Feature 8621: Add check commands for NSClient++
* Feature 8648: Document closures ('use')
#### Bugfixes
* Bug 6171: Remove name and return value for stats functions
* Bug 6959: Scheduled start time will be ignored if the host or service is already in a problem state
* Bug 7311: Invalid macro results in exception
* Bug 7542: Update validators for CustomVarObject
* Bug 7576: validate configured legacy timeperiod ranges
* Bug 7582: Variable expansion is single quoted.
* Bug 7644: Unity build doesn't work with MSVC
* Bug 7647: Avoid rebuilding libbase when the version number changes
* Bug 7731: Reminder notifications not being sent but logged every 5 secs
* Bug 7765: DB IDO: Duplicate entry icinga_{host,service}dependencies
* Bug 7800: Fix the shift/reduce conflicts in the parser
* Bug 7802: Change parameter type for include and include_recursive to T_STRING
* Bug 7808: Unterminated string literals should cause parser to return an error
* Bug 7809: Scoping rules for "for" are broken
* Bug 7810: Return values for functions are broken
* Bug 7811: The __return keyword is broken
* Bug 7812: Validate array subscripts
* Bug 7814: Set expression should check whether LHS is a null pointer
* Bug 7815: - operator doesn't work in expressions
* Bug 7826: Compiler warnings
* Bug 7830: - shouldn't be allowed in identifiers
* Bug 7871: Missing persistent_comment, notify_contact columns for acknowledgement table
* Bug 7894: Fix warnings when using CMake 3.1.0
* Bug 7895: Serialize() fails to serialize objects which don't have a registered type
* Bug 7995: Windows Agent: Missing directory "zones" in setup
* Bug 8018: Value("").IsEmpty() should return true
* Bug 8029: operator precedence for % and > is incorrect
* Bug 8041: len() overflows
* Bug 8061: Confusing error message for import
* Bug 8067: Require at least one user for notification objects (user or as member of user_groups)
* Bug 8076: icinga 2 Config Error needs to be more verbose
* Bug 8081: Location info for strings is incorrect
* Bug 8100: POSTGRES IDO: invalid syntax for integer: "true" while trying to update table icinga_hoststatus
* Bug 8111: User::ValidateFilters isn't being used
* Bug 8117: Agent checks fail when there's already a host with the same name
* Bug 8122: Config file passing validation causes segfault
* Bug 8132: Debug info for indexer is incorrect
* Bug 8136: Icinga crashes when config file name is invalid
* Bug 8164: escaped backslash in string literals
* Bug 8166: parsing include_recursive
* Bug 8173: Segfault on icinga::String::operator= when compiling configuration
* Bug 8175: Compiler warnings
* Bug 8179: Exception on missing config files
* Bug 8184: group assign fails with bad lexical cast when evaluating rules
* Bug 8185: Argument auto-completion doesn't work for short options
* Bug 8211: icinga2 node update should not write config for blacklisted zones/host
* Bug 8230: Lexer term for T_ANGLE_STRING is too aggressive
* Bug 8249: Problems using command_endpoint inside HA zone
* Bug 8257: Report missing command objects on remote agent
* Bug 8260: icinga2 node wizard: Create backups of certificates
* Bug 8289: Livestatus operator =~ is not case-insensitive
* Bug 8294: Running icinga2 command as non privilged user raises error
* Bug 8298: notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
* Bug 8300: ApiListener::ReplayLog shouldn't hold mutex lock during call to Socket::Poll
* Bug 8307: PidPath, VarsPath, ObjectsPath and StatePath no longer read from init.conf
* Bug 8309: Crash in ScheduledDowntime::CreateNextDowntime
* Bug 8313: Incorrectly formatted timestamp in .timestamp file
* Bug 8318: Remote Clients: Add manual setup cli commands
* Bug 8323: Apply rule '' for host does not match anywhere!
* Bug 8333: Icinga2 master doesn't change check-status when "accept_commands = true" is not set at client node
* Bug 8372: Stacktrace on Endpoint not belonging to a zone or multiple zones
* Bug 8383: last_hard_state missing in StatusDataWriter
* Bug 8387: StatusDataWriter: Wrong host notification filters (broken fix in #8192)
* Bug 8388: Config sync authoritative file never created
* Bug 8389: Added downtimes must be triggered immediately if checkable is Not-OK
* Bug 8390: Agent writes CR CR LF in synchronized config files
* Bug 8397: Icinga2 config reset after package update (centos6.6)
* Bug 8425: DB IDO: Duplicate entry icinga_scheduleddowntime
* Bug 8433: Make the arguments for the stats functions const-ref
* Bug 8434: Build fails on OpenBSD
* Bug 8436: Indicate that Icinga2 is shutting down in case of a fatal error
* Bug 8438: DB IDO {host,service}checks command_line value is "Object of type 'icinga::Array'"
* Bug 8444: Don't attempt to restore program state from non-existing state file
* Bug 8452: Livestatus query on commands table with custom vars fails
* Bug 8461: Don't request heartbeat messages until after we've synced the log
* Bug 8473: Exception in WorkQueue::StatusTimerHandler
* Bug 8488: Figure out why 'node update-config' becomes slow over time
* Bug 8493: Misleading ApiListener connection log messages on a master (Endpoint vs Zone)
* Bug 8496: Icinga doesn't update long_output in DB
* Bug 8511: Deadlock with DB IDO dump and forcing a scheduled check
* Bug 8517: Config parser fails non-deterministic on Notification missing Checkable
* Bug 8519: apply-for incorrectly converts loop var to string
* Bug 8529: livestatus limit header not working
* Bug 8535: Crash in ApiEvents::RepositoryTimerHandler
* Bug 8536: Valgrind warning for ExternalCommandListener::CommandPipeThread
* Bug 8537: Crash in DbObject::SendStatusUpdate
* Bug 8544: Hosts: process_performance_data = 0 in database even though enable_perfdata = 1 in config
* Bug 8555: Don't accept config updates for zones for which we have an authoritative copy of the config
* Bug 8559: check_memory tool shows incorrect memory size on windows
* Bug 8593: Memory leak in Expression::GetReference
* Bug 8594: Improve Livestatus query performance
* Bug 8596: Dependency: Validate *_{host,service}_name objects on their existance
* Bug 8604: Attribute hints don't work for nested attributes
* Bug 8627: Icinga2 shuts down when service is reloaded
* Bug 8638: Fix a typo in documentation
### What's New in Version 2.2.4
#### Changes
* Bugfixes
#### Bugfixes
* Bug #6943: Configured recurring downtimes not applied on saturdays
* Bug #7660: livestatus / nsca / etc submits are ignored during reload
* Bug #7685: kUn-Bashify mail-{host,service}-notification.sh
* Bug #8128: Icinga 2.2.2 build fails on SLES11SP3 because of changed boost dependency
* Bug #8131: vfork() hangs on OS X
* Bug #8162: Satellite doesn't use manually supplied 'local zone name'
* Bug #8192: Feature statusdata shows wrong host notification options
* Bug #8201: Update Icinga Web 2 uri to /icingaweb2
* Bug #8214: Fix YAJL detection on Debian squeeze
* Bug #8222: inconsistent URL http(s)://www.icinga.org
* Bug #8223: Typos in readme file for windows plugins
* Bug #8245: check_ssmtp command does NOT support mail_from
* Bug #8256: Restart fails after deleting a Host
* Bug #8288: Crash in DbConnection::ProgramStatusHandler
* Bug #8295: Restart of Icinga hangs
* Bug #8299: Scheduling downtime for host and all services only schedules services
* Bug #8311: Segfault in Checkable::AddNotification
* Bug #8321: enable_event_handlers attribute is missing in status.dat
* Bug #8368: Output in "node wizard" is confusing
### What's New in Version 2.2.3
#### Changes
* Bugfixes
#### Bugfixes
* Bug #8063: Volatile checks trigger invalid notifications on OK->OK state changes
* Bug #8125: Incorrect ticket shouldn't cause "node wizard" to terminate
* Bug #8126: Icinga 2.2.2 doesn't build on i586 SUSE distributions