forked from Icinga/icinga2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
817 lines (744 loc) · 45.5 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
# Icinga 2.x CHANGELOG
Please check [doc/1-about.md].
## What's New
### What's New in Version 2.3.3
#### Changes
* New function: parse_performance_data
* Include more details in --version
* Improve documentation
* Bugfixes
#### Issues
* 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
* 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
#### Issues
* 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
#### Issues
* Feature 8659: Implement String#contains
* 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!
#### Issues
* 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')
* 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
#### Issues
* 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
#### Issues
* 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
* Bug #8143: Windows plugin check_service.exe can't find service NTDS
* Bug #8144: Arguments without values are not used on plugin exec
* Bug #8147: check_interval must be greater than 0 error on update-config
* Bug #8152: DB IDO query queue limit reached on reload
* Bug #8171: Typo in example of StatusDataWriter
* Bug #8178: Icinga 2.2.2 segfaults on FreeBSD
* Bug #8181: icinga2 node update config shows hex instead of human readable names
* Bug #8182: Segfault on update-config old empty config
### What's New in Version 2.2.2
#### Changes
* Bugfixes
#### Issues
* Bug #7045: icinga2 init-script doesn't validate configuration on reload action
* Bug #7064: Missing host downtimes/comments in Livestatus
* Bug #7301: Docs: Better explaination of dependency state filters
* Bug #7314: double macros in command arguments seems to lead to exception
* Bug #7511: Feature `compatlog' should flush output buffer on every new line
* Bug #7518: update-config fails to create hosts
* Bug #7591: CPU usage at 100% when check_interval = 0 in host object definition
* Bug #7618: Repository does not support services which have a slash in their name
* Bug #7683: If a parent host goes down, the child host isn't marked as unrechable in the db ido
* Bug #7707: "node wizard" shouldn't crash when SaveCert fails
* Bug #7745: Cluster heartbeats need to be more aggressive
* Bug #7769: The unit tests still crash sometimes
* Bug #7863: execute checks locally if command_endpoint == local endpoint
* Bug #7878: Segfault on issuing node update-config
* Bug #7882: Improve error reporting when libmysqlclient or libpq are missing
* Bug #7891: CLI `icinga2 node update-config` doesn't sync configs from remote clients as expected
* Bug #7913: /usr/lib/icinga2 is not owned by a package
* Bug #7914: SUSE packages %set_permissions post statement wasn't moved to common
* Bug #7917: update_config not updating configuration
* Bug #7920: Test Classic UI config file with Apache 2.4
* Bug #7929: Apache 2.2 fails with new apache conf
* Bug #8002: typeof() seems to return null for arrays and dictionaries
* Bug #8003: SIGABRT while evaluating apply rules
* Bug #8028: typeof does not work for numbers
* Bug #8039: Livestatus: Replace unixcat with nc -U
* Bug #8048: Wrong command in documentation for installing Icinga 2 pretty printers.
* Bug #8050: exception during config check
* Bug #8051: Update host examples in Dependencies for Network Reachability documentation
* Bug #8058: DB IDO: Missing last_hard_state column update in {host,service}status tables
* Bug #8059: Unit tests fail on FreeBSD
* Bug #8066: Setting a dictionary key to null does not cause the key/value to be removed
* Bug #8070: Documentation: Add note on default notification interval in getting started notifications.conf
* Bug #8075: No option to specify timeout to check_snmp and snmp manubulon commands
### What's New in Version 2.2.1
#### Changes
* Support arrays in [command argument macros](#command-passing-parameters) #6709
* Allows to define multiple parameters for [nrpe -a](#plugin-check-command-nrpe), [nscp -l](#plugin-check-command-nscp), [disk -p](#plugin-check-command-disk), [dns -a](#plugin-check-command-dns).
* Bugfixes
#### Issues
* Feature #6709: Support for arrays in macros
* Feature #7463: Update spec file to use yajl-devel
* Feature #7739: The classicui Apache conf doesn't support Apache 2.4
* Feature #7747: Increase default timeout for NRPE checks
* Feature #7867: Document how arrays in macros work
* Bug #7173: service icinga2 status gives wrong information when run as unprivileged user
* Bug #7602: livestatus large amount of submitting unix socket command results in broken pipes
* Bug #7613: icinga2 checkconfig should fail if group given for command files does not exist
* Bug #7671: object and template with the same name generate duplicate object error
* Bug #7708: Built-in commands shouldn't be run on the master instance in remote command execution mode
* Bug #7725: Windows wizard uses incorrect CLI command
* Bug #7726: Windows wizard is missing --zone argument
* Bug #7730: Restart Icinga - Error Restoring program state from file '/var/lib/icinga2/icinga2.state'
* Bug #7735: 2.2.0 has out-of-date icinga2 man page
* Bug #7738: Systemd rpm scripts are run in wrong package
* Bug #7740: /usr/sbin/icinga-prepare-dirs conflicts in the bin and common package
* Bug #7741: Icinga 2.2 misses the build requirement libyajl-devel for SUSE distributions
* Bug #7743: Icinga2 node add failed with unhandled exception
* Bug #7754: Incorrect error message for localhost
* Bug #7770: Objects created with node update-config can't be seen in Classic UI
* Bug #7786: Move the icinga2-prepare-dirs script elsewhere
* Bug #7806: !in operator returns incorrect result
* Bug #7828: Verify if master radio box is disabled in the Windows wizard
* Bug #7847: Wrong information in section "Linux Client Setup Wizard for Remote Monitoring"
* Bug #7862: Segfault in CA handling
* Bug #7868: Documentation: Explain how unresolved macros are handled
* Bug #7890: Wrong permission in run directory after restart
* Bug #7896: Fix Apache config in the Debian package
### What's New in Version 2.2.0
#### Changes
* DB IDO schema update to version `1.12.0`
* schema files in `lib/db_ido_{mysql,pgsql}/schema` (source)
* Table `programstatus`: New column `program_version`
* Table `customvariables` and `customvariablestatus`: New column `is_json` (required for custom attribute array/dictionary support)
* New features
* [GelfWriter](#gelfwriter): Logging check results, state changes, notifications to GELF (graylog2, logstash) #7619
* Agent/Client/Node framework #7249
* Windows plugins for the client/agent parts #7242 #7243
* New CLI commands #7245
* `icinga2 feature {enable,disable}` replaces `icinga2-{enable,disable}-feature` script #7250
* `icinga2 object list` replaces `icinga2-list-objects` script #7251
* `icinga2 pki` replaces` icinga2-build-{ca,key}` scripts #7247
* `icinga2 repository` manages `/etc/icinga2/repository.d` which must be included in `icinga2.conf` #7255
* `icinga2 node` cli command provides node (master, satellite, agent) setup (wizard) and management functionality #7248
* `icinga2 daemon` for existing daemon arguments (`-c`, `-C`). Removed `-u` and `-g` parameters in favor of [init.conf](#init-conf).
* bash auto-completion & terminal colors #7396
* Configuration
* Former `localhost` example host is now defined in [hosts.conf](#hosts-conf) #7594
* All example services moved into advanced apply rules in [services.conf](#services-conf)
* Updated downtimes configuration example in [downtimes.conf](#downtimes-conf) #7472
* Updated notification apply example in [notifications.conf](#notifications-conf) #7594
* Support for object attribute 'zone' #7400
* Support setting [object variables in apply rules](#dependencies-apply-custom-attributes) #7479
* Support arrays and dictionaries in [custom attributes](#custom-attributes-apply) #6544 #7560
* Add [apply for rules](#using-apply-for) for advanced dynamic object generation #7561
* New attribute `accept_commands` for [ApiListener](#objecttype-apilistener) #7559
* New [init.conf](#init-conf) file included first containing new constants `RunAsUser` and `RunAsGroup`.
* Cluster
* Add [CSR Auto-Signing support](#csr-autosigning-requirements) using generated ticket #7244
* Allow to [execute remote commands](#icinga2-remote-monitoring-client-command-execution) on endpoint clients #7559
* Perfdata
* [PerfdataWriter](#writing-performance-data-files): Don't change perfdata, pass through from plugins #7268
* [GraphiteWriter](#graphite-carbon-cache-writer): Add warn/crit/min/max perfdata and downtime_depth stats values #7366 #6946
* Packages
* `python-icinga2` package dropped in favor of integrated cli commands #7245
* Windows Installer for the agent parts #7243
> **Note**
>
> Please remove `conf.d/hosts/localhost*` after verifying your updated configuration!
#### Issues
* Feature #6544: Support for array in custom variable.
* Feature #6946: Add downtime depth as statistic metric for GraphiteWriter
* Feature #7187: Document how to use multiple assign/ignore statements with logical "and" & "or"
* Feature #7199: Cli commands: add filter capability to 'object list'
* Feature #7241: Windows Wizard
* Feature #7242: Windows plugins
* Feature #7243: Windows installer
* Feature #7244: CSR auto-signing
* Feature #7245: Cli commands
* Feature #7246: Cli command framework
* Feature #7247: Cli command: pki
* Feature #7248: Cli command: Node
* Feature #7249: Node Repository
* Feature #7250: Cli command: Feature
* Feature #7251: Cli command: Object
* Feature #7252: Cli command: SCM
* Feature #7253: Cli Commands: Node Repository Blacklist & Whitelist
* Feature #7254: Documentation: Agent/Satellite Setup
* Feature #7255: Cli command: Repository
* Feature #7262: macro processor needs an array printer
* Feature #7319: Documentation: Add support for locally-scoped variables for host/service in applied Dependency
* Feature #7334: GraphiteWriter: Add support for customized metric prefix names
* Feature #7356: Documentation: Cli Commands
* Feature #7366: GraphiteWriter: Add warn/crit/min/max perfdata values if existing
* Feature #7370: CLI command: variable
* Feature #7391: Add program_version column to programstatus table
* Feature #7396: Implement generic color support for terminals
* Feature #7400: Remove zone keyword and allow to use object attribute 'zone'
* Feature #7415: CLI: List disabled features in feature list too
* Feature #7421: Add -h next to --help
* Feature #7423: Cli command: Node Setup
* Feature #7452: Replace cJSON with a better JSON parser
* Feature #7465: Cli command: Node Setup Wizard (for Satellites and Agents)
* Feature #7467: Remove virtual agent name feature for localhost
* Feature #7472: Update downtimes.conf example config
* Feature #7478: Documentation: Mention 'icinga2 object list' in config validation
* Feature #7479: Set host/service variable in apply rules
* Feature #7480: Documentation: Add host/services variables in apply rules
* Feature #7504: Documentation: Revamp getting started with 1 host and multiple (service) applies
* Feature #7514: Documentation: Move troubleshooting after the getting started chapter
* Feature #7524: Documentation: Explain how to manage agent config in central repository
* Feature #7543: Documentation for arrays & dictionaries in custom attributes and their usage in apply rules for
* Feature #7559: Execute remote commands on the agent w/o local objects by passing custom attributes
* Feature #7560: Support dictionaries in custom attributes
* Feature #7561: Generate objects using apply with foreach in arrays or dictionaries (key => value)
* Feature #7566: Implement support for arbitrarily complex indexers
* Feature #7594: Revamp sample configuration: add NodeName host, move services into apply rules schema
* Feature #7596: Plugin Check Commands: disk is missing '-p', 'x' parameter
* Feature #7619: Add GelfWriter for writing log events to graylog2/logstash
* Feature #7620: Documentation: Update Icinga Web 2 installation
* Feature #7622: Icinga 2 should use less RAM
* Feature #7680: Conditionally enable MySQL and PostgresSQL, add support for FreeBSD and DragonFlyBSD
* Bug #6547: delaying notifications with times.begin should postpone first notification into that window
* Bug #7257: default value for "disable_notifications" in service dependencies is set to "false"
* Bug #7268: Icinga2 changes perfdata order and removes maximum
* Bug #7272: icinga2 returns exponential perfdata format with check_nt
* Bug #7275: snmp-load checkcommand has wrong threshold syntax
* Bug #7276: SLES (Suse Linux Enterprise Server) 11 SP3 package dependency failure
* Bug #7302: ITL: check_procs and check_http are missing arguments
* Bug #7324: config parser crashes on unknown attribute in assign
* Bug #7327: Icinga2 docs: link supported operators from sections about apply rules
* Bug #7331: Error messages for invalid imports missing
* Bug #7338: Docs: Default command timeout is 60s not 5m
* Bug #7339: Importing a CheckCommand in a NotificationCommand results in an exception without stacktrace.
* Bug #7349: Documentation: Wrong check command for snmp-int(erface)
* Bug #7351: snmp-load checkcommand has a wrong "-T" param value
* Bug #7359: Setting snmp_v2 can cause snmp-manubulon-command derived checks to fail
* Bug #7365: Typo for "HTTP Checks" match in groups.conf
* Bug #7369: Fix reading perfdata in compat/checkresultreader
* Bug #7372: custom attribute name 'type' causes empty vars dictionary
* Bug #7373: Wrong usermod command for external command pipe setup
* Bug #7378: Commands are auto-completed when they shouldn't be
* Bug #7379: failed en/disable feature should return error
* Bug #7380: Debian package root permissions interfere with icinga2 cli commands as icinga user
* Bug #7392: Schema upgrade files are missing in /usr/share/icinga2-ido-{mysql,pgsql}
* Bug #7417: CMake warnings on OS X
* Bug #7428: Documentation: 1-about contribute links to non-existing report a bug howto
* Bug #7433: Unity build fails on RHEL 5
* Bug #7446: When replaying logs the secobj attribute is ignored
* Bug #7473: Performance data via API is broken
* Bug #7475: can't assign Service to Host in nested HostGroup
* Bug #7477: Fix typos and other small corrections in documentation
* Bug #7482: OnStateLoaded isn't called for objects which don't have any state
* Bug #7483: Hosts/services should not have themselves as parents
* Bug #7495: Utility::GetFQDN doesn't work on OS X
* Bug #7503: Icinga2 fails to start due to configuration errors
* Bug #7520: Use ScriptVariable::Get for RunAsUser/RunAsGroup
* Bug #7536: Object list dump erraneously evaluates template definitions
* Bug #7537: Nesting an object in a template causes the template to become non-abstract
* Bug #7538: There is no __name available to nested objects
* Bug #7573: link missing in documentation about livestatus
* Bug #7577: Invalid checkresult object causes Icinga 2 to crash
* Bug #7579: only notify users on recovery which have been notified before (not-ok state)
* Bug #7585: Nested templates do not work (anymore)
* Bug #7586: Exception when executing check
* Bug #7597: Compilation Error with boost 1.56 under Windows
* Bug #7599: Plugin execution on Windows does not work
* Bug #7617: mkclass crashes when called without arguments
* Bug #7623: Missing state filter 'OK' must not prevent recovery notifications being sent
* Bug #7624: Installation on Windows fails
* Bug #7625: IDO module crashes on Windows
* Bug #7646: Get rid of static boost::mutex variables
* Bug #7648: Unit tests fail to run
* Bug #7650: Wrong set of dependency state when a host depends on a service
* Bug #7681: CreateProcess fails on Windows 7
* Bug #7688: DebugInfo is missing for nested dictionaries
### What's New in Version 2.1.1
#### Issues
* Bug #6147: Link libcJSON against libm
* Bug #6696: make test fails on openbsd
* Bug #6841: Too many queued messages
* Bug #6862: SSL_read errors during restart
* Bug #6981: SSL errors with interleaved SSL_read/write
* Bug #7029: icinga2.spec: files-attr-not-set for python-icinga2 package
* Bug #7032: "Error parsing performance data" in spite of "enable_perfdata = false"
* Bug #7036: Remove validator for the Script type
* Bug #7037: icinga2-list-objects doesn't work with Python 3
* Bug #7038: Fix rpmlint errors
* Bug #7042: icinga2-list-objects complains about Umlauts and stops output
* Bug #7044: icinga2 init-script terminates with exit code 0 if $DAEMON is not in place or not executable
* Bug #7047: service icinga2 status - prints cat error if the service is stopped
* Bug #7058: Exit code is not initialized for some failed checks
* Bug #7065: pipe2 returns ENOSYS on GNU Hurd and Debian kfreebsd
* Bug #7072: GraphiteWriter should ignore empty perfdata value
* Bug #7080: Missing differentiation between service and systemctl
* Bug #7096: new SSL Errors with too many queued messages
* Bug #7115: Build fails on Haiku
* Bug #7123: Manubulon-Plugin conf Filename wrong
* Bug #7139: GNUInstallDirs.cmake outdated
* Bug #7167: Segfault using cluster in TlsStream::IsEof
* Bug #7168: fping4 doesn't work correctly with the shipped command-plugins.conf
* Bug #7186: Livestatus hangs from time to time
* Bug #7195: fix memory leak ido_pgsql
* Bug #7210: clarify on db ido upgrades
* Feature #6719: Change log message for checking/sending notifications
* Feature #7028: Document how to use @ to escape keywords
* Feature #7033: Add include guards for mkclass files
* Feature #7034: Ensure that namespaces for INITIALIZE_ONCE and REGISTER_TYPE are truly unique
* Feature #7035: Implement support for unity builds
* Feature #7039: Figure out a better way to set the version for snapshot builds
* Feature #7040: Unity builds: Detect whether __COUNTER__ is available
* Feature #7041: Enable unity build for RPM/Debian packages
* Feature #7070: Explain event commands and their integration by a real life example (httpd restart via ssh)
* Feature #7158: Extend documentation for icinga-web on Debian systems
### What's New in Version 2.1.0
#### Changes
* DB IDO schema upgrade ([MySQL](#upgrading-mysql-db),[PostgreSQL](#upgrading-postgresql-db) required!
* new schema version: **1.11.7**
* RPMs install the schema files into `/usr/share/icinga2-ido*` instead of `/usr/share/doc/icinga2-ido*` #6881
* [Information for config objects](#list-configuration-objects) using `icinga2-list-objects` script #6702
* Add Python 2.4 as requirement #6702
* Add search path: If `-c /etc/icinga2/icinga2.conf` is omitted, use `SysconfDir + "/icinga2/icinga2.conf"` #6874
* Change log level for failed commands #6751
* Notifications are load-balanced in a [High Availability cluster setup](#high-availability-notifications) #6203
* New config attribute: `enable_ha`
* DB IDO "run once" or "run everywhere" mode in a [High Availability cluster setup](#high-availability-db-ido) #6203 #6827
* New config attributes: `enable_ha` and `failover_timeout`
* RPMs use the `icingacmd` group for /var/{cache,log,run}/icinga2 #6948
#### Issues
* Bug #6881: make install does not install the db-schema
* Bug #6915: use _rundir macro for configuring the run directory
* Bug #6916: External command pipe: Too many open files
* Bug #6917: enforce /usr/lib as base for the cgi path on SUSE distributions
* Bug #6942: ExternalCommandListener fails open pipe: Too many open files
* Bug #6948: check file permissions in /var/cache/icinga2
* Bug #6962: Commands are processed multiple times
* Bug #6964: Host and service checks stuck in "pending" when hostname = localhost a parent/satellite setup
* Bug #7001: Build fails with Boost 1.56
* Bug #7016: 64-bit RPMs are not installable
* Feature #5219: Cluster support for modified attributes
* Feature #6066: Better log messages for cluster changes
* Feature #6203: Better cluster support for notifications / IDO
* Feature #6205: Log replay sends messages to instances which shouldn't get those messages
* Feature #6702: Information for config objects
* Feature #6704: Release 2.1
* Feature #6751: Change log level for failed commands
* Feature #6874: add search path for icinga2.conf
* Feature #6898: Enhance logging for perfdata/graphitewriter
* Feature #6919: Clean up spec file
* Feature #6920: Recommend related packages on SUSE distributions
* API - Bug #6998: ApiListener ignores bind_host attribute
* DB IDO - Feature #6827: delay ido connect in ha cluster
* Documentation - Bug #6870: Wrong object attribute 'enable_flap_detection'
* Documentation - Bug #6878: Wrong parent in Load Distribution
* Documentation - Bug #6909: clarify on which config tools are available
* Documentation - Bug #6968: Update command arguments 'set_if' and beautify error message
* Documentation - Bug #6995: Keyword "required" used inconsistently for host and service "icon_image*" attributes
* Documentation - Feature #6651: Migration: note on check command timeouts
* Documentation - Feature #6703: Documentation for zones and cluster permissions
* Documentation - Feature #6743: Better explanation for HA config cluster
* Documentation - Feature #6839: Explain how the order attribute works in commands
* Documentation - Feature #6864: Add section for reserved keywords
* Documentation - Feature #6867: add section about disabling re-notifications
* Documentation - Feature #6869: Add systemd options: enable, journal
* Documentation - Feature #6922: Enhance Graphite Writer description
* Documentation - Feature #6949: Add documentation for icinga2-list-objects
* Documentation - Feature #6997: how to add a new cluster node
* Documentation - Feature #7018: add example selinux policy for external command pipe
* Plugins - Feature #6650: Plugin Check Commands: add manubulon snmp plugins
### What's New in Version 2.0.2
* Bug #6450: ipmi-sensors segfault due to stack size
* Bug #6479: Notifications not always triggered
* Bug #6501: Classic UI Debian/Ubuntu: apache 2.4 requires 'a2enmod cgi' & apacheutils installed
* Bug #6548: Add cmake constant for PluginDir
* Bug #6549: GraphiteWriter regularly sends empty lines
* Bug #6550: add log message for invalid performance data
* Bug #6589: Command pipe blocks when trying to open it more than once in parallel
* Bug #6621: Infinite loop in TlsStream::Close
* Bug #6627: Location of the run directory is hard coded and bound to "local_state_dir"
* Bug #6659: RPMLint security warning - missing-call-to-setgroups-before-setuid /usr/sbin/icinga2
* Bug #6682: Missing detailed error messages on ApiListener SSL Errors
* Bug #6686: Event Commands are triggered in OK HARD state everytime
* Bug #6687: Remove superfluous quotes and commas in dictionaries
* Bug #6713: sample config: add check commands location hint (itl/plugin check commands)
* Bug #6718: "order" attribute doesn't seem to work as expected
* Bug #6724: TLS Connections still unstable in 2.0.1
* Bug #6756: GraphiteWriter: Malformatted integer values
* Bug #6765: Config validation without filename argument fails with unhandled exception
* Bug #6768: Repo Error on RHEL 6.5
* Bug #6773: Order doesn't work in check ssh command
* Bug #6782: The "ssl" check command always sets -D
* Bug #6790: Service icinga2 reload command does not cause effect
* Bug #6809: additional group rights missing when Icinga started with -u and -g
* Bug #6810: High Availablity does not synchronise the data like expected
* Bug #6820: Icinga 2 crashes during startup
* Bug #6821: [Patch] Fix build issue and crash found on Solaris, potentially other Unix OSes
* Bug #6825: incorrect sysconfig path on sles11
* Bug #6832: Remove if(NOT DEFINED ICINGA2_SYSCONFIGFILE) in etc/initsystem/CMakeLists.txt
* Bug #6840: Missing space in error message
* Bug #6849: Error handler for getaddrinfo must use gai_strerror
* Bug #6852: Startup logfile is not flushed to disk
* Bug #6856: event command execution does not call finish handler
* Bug #6861: write startup error messages to error.log
* Feature #5818: SUSE packages
* Feature #6655: Build packages for el7
* Feature #6688: Rename README to README.md
* Feature #6698: Require command to be an array when the arguments attribute is used
* Feature #6700: Release 2.0.2
* Feature #6783: Print application paths for --version
* DB IDO - Bug #6414: objects and their ids are inserted twice
* DB IDO - Bug #6608: Two Custom Variables with same name, but Upper/Lowercase creating IDO duplicate entry
* DB IDO - Bug #6646: NULL vs empty string
* DB IDO - Bug #6850: exit application if ido schema version does not match
* Documentation - Bug #6652: clarify on which features are required for classic ui/web/web2
* Documentation - Bug #6708: update installation with systemd usage
* Documentation - Bug #6711: icinga Web: wrong path to command pipe
* Documentation - Bug #6725: Missing documentation about implicit dependency
* Documentation - Bug #6728: wrong path for the file 'localhost.conf'
* Migration - Bug #6558: group names quoted twice in arrays
* Migration - Bug #6560: Service dependencies aren't getting converted properly
* Migration - Bug #6561: $TOTALHOSTSERVICESWARNING$ and $TOTALHOSTSERVICESCRITICAL$ aren't getting converted
* Migration - Bug #6563: Check and retry intervals are incorrect
* Migration - Bug #6786: Fix notification definition if no host_name / service_description given
* Plugins - Feature #6695: Plugin Check Commands: Add expect option to check_http
* Plugins - Feature #6791: Plugin Check Commands: Add timeout option to check_ssh
#### Changes
* DB IDO schema upgrade required (new schema version: 1.11.6)
### What's New in Version 2.0.1
* Bug #6316: application fails to start on wrong log file permissions but does not tell about it
* Bug #6368: Deadlock in ApiListener::RelayMessage
* Bug #6373: base64 on CentOS 5 fails to read certificate bundles
* Bug #6388: Debian package icinga2-classicui needs versioned dependency of icinga-cgi*
* Bug #6488: build warnings
* Bug #6492: icinga2.state could not be opened
* Bug #6493: Copyright problems
* Bug #6498: icinga2 cannot be built with both systemd and init.d files
* Bug #6510: Reminder notifications are sent on disabled services
* Bug #6526: htpasswd should be installed with icinga2-classicui on Ubuntu
* Bug #6529: parsing of double defined command can generate unexpected errors
* Bug #6537: Icinga doesn't send SetLogPosition messages when one of the endpoints fails to connect
* Bug #6551: Improve systemd service definition
* Bug #6565: Dependencies should cache their parent and child object
* Bug #6574: Check command result doesn't match
* Bug #6576: Remove line number information from stack traces
* Bug #6588: Notifications causing segfault from exim
* Bug #6605: Please add --sni option to http check command
* Bug #6612: Icinga stops updating IDO after a while
* Bug #6617: TLS connections are still unstable
* Bug #6620: icinga2-build-ca shouldn't prompt for DN
* Bug #6622: icinga2-sign-key creates ".crt" and ".key" files when the CA passphrase is invalid
* Bug #6657: ICINGA2_SYSCONFIGFILE should use full path using CMAKE_INSTALL_FULL_SYSCONFDIR
* Bug #6662: Increase icinga.cmd Limit
* Bug #6665: Build fails when MySQL is not installed
* Bug #6671: enabled_notification doesn't work as expected
* Bug #6672: Icinga crashes after "Too many queued messages"
* Bug #6673: enable_notifications = false for users has no effect
* Feature #6531: Add port option to check imap/pop/smtp and a new dig
* Feature #6581: Add more options to snmp check
* DB IDO - Bug #5577: PostgreSQL string escaping
* DB IDO - Bug #6577: icinga2-ido-pgsql snapshot package missing dependecy dbconfig-common
* Documentation - Bug #6506: Array section confusing
* Documentation - Bug #6592: Documentation for || and && is missing
* Documentation - Feature #6658: change docs.icinga.org/icinga2/latest to git master
* Livestatus - Bug #6494: Thruk Panorama View cannot query Host Status
* Livestatus - Feature #5312: OutputFormat python
* Migration - Bug #6559: $SERVICEDESC$ isn't getting converted correctly
#### Changes
### Archive