* [#5358](https://github.com/icinga/icinga2/issues/5358) (Documentation): Add documentation for securing mysql on Debian/Ubuntu.
* [#5357](https://github.com/icinga/icinga2/issues/5357) (Documentation, Notifications): Notification Scripts: Ensure that mail from address works on Debian/RHEL/SUSE (mailutils vs mailx)
* [#5448](https://github.com/icinga/icinga2/issues/5448) (Documentation): Update documentation for 2.7.0
* [#5440](https://github.com/icinga/icinga2/issues/5440) (Documentation): Add missing notification state filter to documentation
* [#5433](https://github.com/icinga/icinga2/issues/5433) (CLI): Fix: update feature list help text
* [#5425](https://github.com/icinga/icinga2/issues/5425) (Documentation): Fix formatting in API docs
* [#5421](https://github.com/icinga/icinga2/issues/5421) (Plugins, Windows): Windows Plugins: Add new parameter to check_disk to show used space
* [#5410](https://github.com/icinga/icinga2/issues/5410) (Documentation): Update docs for better compatibility with mkdocs
* [#5393](https://github.com/icinga/icinga2/issues/5393) (Documentation): Fix typo in the documentation
* [#5378](https://github.com/icinga/icinga2/issues/5378) (Documentation): Fixed warnings when using mkdocs
* [#5372](https://github.com/icinga/icinga2/issues/5372) (ITL): Update ITL CheckCommand description attribute, part 2
* [#5370](https://github.com/icinga/icinga2/issues/5370) (Documentation): Rename ChangeLog to CHANGELOG.md
* [#5367](https://github.com/icinga/icinga2/issues/5367) (CLI, Crash): Unable to start icinga2 with kernel-3.10.0-514.21.2 RHEL7
* [#5365](https://github.com/icinga/icinga2/issues/5365) (Documentation): Update package documentation for Debian Stretch
* [#5358](https://github.com/icinga/icinga2/issues/5358) (Documentation): Add documentation for securing mysql on Debian/Ubuntu.
* [#5357](https://github.com/icinga/icinga2/issues/5357) (Documentation, Notifications): Notification Scripts: Ensure that mail from address works on Debian/RHEL/SUSE (mailutils vs mailx)
* [#5348](https://github.com/icinga/icinga2/issues/5348) (Configuration): Implement support for handling exceptions in user scripts
* [#5329](https://github.com/icinga/icinga2/issues/5329) (Graylog): GelfWriter: Use async work queue and add feature metric stats
* [#5326](https://github.com/icinga/icinga2/issues/5326) (Documentation, Installation): Install the images directory containing the needed PNGs for the markd…
* [#5324](https://github.com/icinga/icinga2/issues/5324) (Documentation): Fix phrasing in Getting Started chapter
* [#5320](https://github.com/icinga/icinga2/issues/5320) (Configuration): zones.conf: Add global-templates & director-global by default
* [#5317](https://github.com/icinga/icinga2/issues/5317) (Documentation): Fix typo in INSTALL.md
* [#5315](https://github.com/icinga/icinga2/issues/5315) (Documentation): Docs: Replace nagios-plugins by monitoring-plugins for Debian/Ubuntu
* [#5314](https://github.com/icinga/icinga2/issues/5314) (Documentation): Document Common name (CN) in client setup
* [#5309](https://github.com/icinga/icinga2/issues/5309) (Documentation): Docs: Replace the command pipe w/ the REST API as Icinga Web 2 requirement in 'Getting Started' chapter
* [#5157](https://github.com/icinga/icinga2/issues/5157) (Documentation, feedback): "Three Levels with master, Satellites, and Clients" chapter is not clear about client config
* [#5155](https://github.com/icinga/icinga2/issues/5155) (Documentation): 3.5. Apply Rules topic in the docs needs work.
* [#5153](https://github.com/icinga/icinga2/issues/5153) (Packages): Changed dependency of selinux subpackage
* [#5151](https://github.com/icinga/icinga2/issues/5151) (Documentation): Replace http:// links with https:// links where a secure website exists
* [#5150](https://github.com/icinga/icinga2/issues/5150) (Documentation): Invalid links in documentation
* [#5149](https://github.com/icinga/icinga2/issues/5149) (Documentation): Update documentation, change http:// links to https:// links where a website exists
* [#5145](https://github.com/icinga/icinga2/issues/5145): Add a GitHub issue template
* [#5144](https://github.com/icinga/icinga2/issues/5144) (Documentation): Extend troubleshooting docs w/ environment analysis and common tools
* [#5143](https://github.com/icinga/icinga2/issues/5143) (Documentation): Docs: Explain how to include your own config tree instead of conf.d
* [#5142](https://github.com/icinga/icinga2/issues/5142) (Documentation): Add an Elastic Stack Integrations chapter to feature documentation
* [#5140](https://github.com/icinga/icinga2/issues/5140) (Documentation): Documentation should explain that runtime modifications are not immediately updated for "object list"
* [#5139](https://github.com/icinga/icinga2/issues/5139) (ITL): Add more options to ldap CheckCommand
* [#5137](https://github.com/icinga/icinga2/issues/5137) (Documentation): Doc updates: Getting Started w/ own config, Troubleshooting w/ debug console
* [#5133](https://github.com/icinga/icinga2/issues/5133) (API, wishlist): ApiListener: Metrics for cluster data
* [#5129](https://github.com/icinga/icinga2/issues/5129) (ITL): Additional parameters for perfout manubulon scripts
* [#5127](https://github.com/icinga/icinga2/issues/5127) (Installation): Improve systemd service file
* [#5126](https://github.com/icinga/icinga2/issues/5126) (ITL): Added support to NRPE v2 in NRPE CheckCommand
* [#5111](https://github.com/icinga/icinga2/issues/5111) (Documentation): Fix duration attribute requirement for schedule-downtime API action
* [#5106](https://github.com/icinga/icinga2/issues/5106) (Configuration): Add director-global as global zone to the default zones.conf configuration
* [#5104](https://github.com/icinga/icinga2/issues/5104) (Documentation): Correct link to nscp documentation
* [#5102](https://github.com/icinga/icinga2/issues/5102) (Compat, Configuration, Packages): Deprecate the icinga2-classicui-config package
* [#5100](https://github.com/icinga/icinga2/issues/5100) (Packages, Windows): Update Chocolatey package to match current guidelines
* [#5097](https://github.com/icinga/icinga2/issues/5097) (Documentation): The last example for typeof() is missing the result
* [#5094](https://github.com/icinga/icinga2/issues/5094) (Cluster, Configuration): Log message "Object cannot be deleted because it was not created using the API"
* [#5090](https://github.com/icinga/icinga2/issues/5090) (Cluster, question): EventHandler to be executed at the endpoint
* [#5087](https://github.com/icinga/icinga2/issues/5087) (Configuration): Function metadata should show available arguments
* [#5077](https://github.com/icinga/icinga2/issues/5077) (Documentation): Replace the 'command' feature w/ the REST API for Icinga Web 2
* [#5075](https://github.com/icinga/icinga2/issues/5075) (ITL): fix mitigation for nwc_health
* [#5063](https://github.com/icinga/icinga2/issues/5063) (ITL): Add additional arguments to mssql_health
* [#5046](https://github.com/icinga/icinga2/issues/5046) (ITL): Add querytype to dns check
* [#5043](https://github.com/icinga/icinga2/issues/5043) (API): API POST request with 'attrs' as array returns bad_cast error
* [#5042](https://github.com/icinga/icinga2/issues/5042) (DB IDO): Add link to upgrade documentation to log message
* [#5033](https://github.com/icinga/icinga2/issues/5033) (DB IDO): Flexible downtimes which are not triggered must not update DB IDO's actual_end_time in downtimehistory table
* [#5019](https://github.com/icinga/icinga2/issues/5019) (ITL): Added CheckCommand definitions for SMART, RAID controller and IPMI ping check
* [#5016](https://github.com/icinga/icinga2/issues/5016) (Documentation, ITL): Add fuse.gvfs-fuse-daemon to disk_exclude_type
* [#5015](https://github.com/icinga/icinga2/issues/5015) (ITL): nwc_health_report attribute requires a value
* [#5010](https://github.com/icinga/icinga2/issues/5010) (Documentation, feedback): [Documentation] Missing parameter for SNMPv3 auth
* [#4987](https://github.com/icinga/icinga2/issues/4987) (ITL): Review `dummy` entry in ITL
* [#4985](https://github.com/icinga/icinga2/issues/4985) (ITL): Allow hpasm command from ITL to run in local mode
* [#4984](https://github.com/icinga/icinga2/issues/4984) (API): Wrong response type when unauthorized
* [#4983](https://github.com/icinga/icinga2/issues/4983) (Livestatus): Typo in livestatus key worst_services_state for hostgroups table
* [#5295](https://github.com/icinga/icinga2/issues/5295) (Notifications): Fix missing apostrophe in notification log
* [#5292](https://github.com/icinga/icinga2/issues/5292): Build fix for OpenSSL 0.9.8 and stack_st_X509_EXTENSION
* [#5288](https://github.com/icinga/icinga2/issues/5288) (Configuration): Hostgroup using assign for Host with groups = null segfault
* [#5278](https://github.com/icinga/icinga2/issues/5278): Build fix for I2_LEAK_DEBUG
* [#5256](https://github.com/icinga/icinga2/issues/5256) (Configuration): Config type changes break object serialization (JsonEncode)
* [#5250](https://github.com/icinga/icinga2/issues/5250) (API, Compat): Acknowledgement expire time in the past
* [#5245](https://github.com/icinga/icinga2/issues/5245) (Notifications): Fix that host downtimes might be triggered even if their state is Up
* [#5224](https://github.com/icinga/icinga2/issues/5224) (Configuration, Notifications): Icinga sends notifications even though a Downtime object exists
* [#5223](https://github.com/icinga/icinga2/issues/5223) (Plugins, Windows): Wrong return Code for Windows ICMP
* [#5219](https://github.com/icinga/icinga2/issues/5219) (InfluxDB): InfluxDBWriter feature might block and leak memory
* [#5211](https://github.com/icinga/icinga2/issues/5211) (API, Cluster): Config received is always accepted by client even if own config is newer
* [#5194](https://github.com/icinga/icinga2/issues/5194) (API, CLI): No subjectAltName in Icinga CA created CSRs
* [#5168](https://github.com/icinga/icinga2/issues/5168) (Windows): include files from other volume/partition
* [#5146](https://github.com/icinga/icinga2/issues/5146) (Configuration): parsing of scheduled downtime object allow typing range instead of ranges
* [#5132](https://github.com/icinga/icinga2/issues/5132) (Graphite): GraphiteWriter can slow down Icinga's check result processing
* [#5101](https://github.com/icinga/icinga2/issues/5101) (Packages, Windows): Fix incorrect metadata for the Chocolatey package
* [#4709](https://github.com/icinga/icinga2/issues/4709) (API, feedback): Posting config stage fails on FreeBSD
* [#4696](https://github.com/icinga/icinga2/issues/4696) (Notifications): Notifications are sent when reloading Icinga 2 even though they're deactivated via modified attributes
* [#4666](https://github.com/icinga/icinga2/issues/4666) (Graylog, Performance Data): GelfWriter with enable_send_perfdata breaks checks
* [#4621](https://github.com/icinga/icinga2/issues/4621) (Configuration, Notifications, Packages): notifications always enabled after update
* [#4532](https://github.com/icinga/icinga2/issues/4532) (Graylog, Performance Data): Icinga 2 "hangs" if the GelfWriter cannot send messages
* [#4440](https://github.com/icinga/icinga2/issues/4440) (DB IDO, Log): Exceptions might be better than exit in IDO
* [#3664](https://github.com/icinga/icinga2/issues/3664) (DB IDO): mysql_error cannot be used for mysql_init
* [#3483](https://github.com/icinga/icinga2/issues/3483) (Compat): Stacktrace on Command Pipe Error
* [#3410](https://github.com/icinga/icinga2/issues/3410) (Livestatus): Livestatus: Problem with stats min operator
## 2.6.3 (2017-03-29)
### Enhancement
* [#5057](https://github.com/icinga/icinga2/issues/5057) (Documentation): Update Security section in the Distributed Monitoring chapter
* [#5055](https://github.com/icinga/icinga2/issues/5055) (Documentation, ITL): mysql_socket attribute missing in the documentation for the mysql CheckCommand
* [#5035](https://github.com/icinga/icinga2/issues/5035) (Documentation): Docs: Typo in Distributed Monitoring chapter
* [#5030](https://github.com/icinga/icinga2/issues/5030) (Documentation): Advanced topics: Mention the API and explain stick acks, fixed/flexible downtimes
* [#4603](https://github.com/icinga/icinga2/issues/4603) (DB IDO): With too many comments, Icinga reload process won't finish reconnecting to Database
## 2.6.2 (2017-02-13)
### Bug
* [#4952](https://github.com/icinga/icinga2/issues/4952) (API, CLI): Icinga crashes while trying to remove configuration files for objects which no longer exist
* The "bottom up" client configuration mode has been deprecated. Check [#13255](https://dev.icinga.com/issues/13255) for additional details and migration.
* There are 2 processes started instead of previously just one process.
* Windows client
* Package bundles NSClient++ 0.5.0. ITL CheckCommands have been updated too.
* Allow to configure the user account for the Icinga 2 service. This is useful if several checks require administrator permissions (e.g. check_update.exe)
* Bugfixes for check plugins
* Cluster and API
* Provide location information for objects and templates in the API
* Improve log message for ignored config updates
* Fix cluster resync problem with API created objects (hosts, downtimes, etc.)
* Fix that API-created objects in a global zone are not synced to child endpoints
* Notifications
* Several bugfixes for downtime, custom and flapping notifications
* New ITL CheckCommands: logstash, glusterfs, iostats
* Package builds require a compiler which supports C++11 features (gcc-c++ >= 4.7, clang++)
* DB IDO
* Schema upgrade required (2.6.0.sql)
* This update fixes timestamp columns required by Icinga Web 2 and might take a while. Please ensure to schedule a maintenance task for your database upgrade.
* [#4851](https://github.com/icinga/icinga2/issues/4851) (Documentation): Update README.md and correct project URLs
* [#4846](https://github.com/icinga/icinga2/issues/4846) (Documentation): Add a note for boolean values in the disk CheckCommand section
* [#4845](https://github.com/icinga/icinga2/issues/4845) (Documentation): Troubleshooting: Add examples for fetching the executed command line
* [#4842](https://github.com/icinga/icinga2/issues/4842) (ITL): Add tempdir attribute to postgres CheckCommand
* [#4840](https://github.com/icinga/icinga2/issues/4840) (Documentation): Update Windows screenshots in the client documentation
* [#4838](https://github.com/icinga/icinga2/issues/4838) (Documentation): Add example for concurrent_checks in CheckerComponent object type
* [#4837](https://github.com/icinga/icinga2/issues/4837) (ITL): Add sudo option to mailq CheckCommand
* [#4836](https://github.com/icinga/icinga2/issues/4836) (ITL): Add verbose parameter to http CheckCommand
* [#4835](https://github.com/icinga/icinga2/issues/4835) (ITL): Add timeout option to mysql_health CheckCommand
* [#4821](https://github.com/icinga/icinga2/issues/4821) (Documentation): Add a note about removing "conf.d" on the client for "top down command endpoint" setups
* [#4809](https://github.com/icinga/icinga2/issues/4809) (Documentation): Update API and Library Reference chapters
* [#4804](https://github.com/icinga/icinga2/issues/4804) (Documentation): Add a note about default template import to the CheckCommand object
* [#4780](https://github.com/icinga/icinga2/issues/4780) (Documentation): Add a note about pinning checks w/ command_endpoint
* [#4770](https://github.com/icinga/icinga2/issues/4770) (API): Allow to evaluate macros through the API
* [#4724](https://github.com/icinga/icinga2/issues/4724) (Packages): Update .mailmap for icinga.com
* [#4713](https://github.com/icinga/icinga2/issues/4713) (Cluster): Check whether nodes are synchronizing the API log before putting them into UNKNOWN
* [#4708](https://github.com/icinga/icinga2/issues/4708) (Documentation): Add more Timeperiod examples in the documentation
* [#4706](https://github.com/icinga/icinga2/issues/4706) (Documentation): Add an example of multi-parents configuration for the Migration chapter
* [#4684](https://github.com/icinga/icinga2/issues/4684) (ITL): Add a radius CheckCommand for the radius check provide by nagios-plugins
* [#4681](https://github.com/icinga/icinga2/issues/4681) (ITL): Add CheckCommand definition for check_logstash
* [#4672](https://github.com/icinga/icinga2/issues/4672) (ITL): Add timeout option to oracle_health CheckCommand
* [#4671](https://github.com/icinga/icinga2/issues/4671) (Packages): Windows Installer should include NSClient++ 0.5.0
* [#4651](https://github.com/icinga/icinga2/issues/4651) (Plugins): Review windows plugins performance output
* [#4636](https://github.com/icinga/icinga2/issues/4636) (Documentation): Add development docs for writing a core dump file
* [#4631](https://github.com/icinga/icinga2/issues/4631) (Configuration): Suppress compiler warnings for auto-generated code
* [#4622](https://github.com/icinga/icinga2/issues/4622) (Cluster): Improve log message for ignored config updates
* [#4608](https://github.com/icinga/icinga2/issues/4608) (ITL): Add CheckCommand definition for check_iostats
* [#4607](https://github.com/icinga/icinga2/issues/4607) (Packages): Improve support for building the chocolatey package
* [#4596](https://github.com/icinga/icinga2/issues/4596) (Documentation): Update service monitoring and distributed docs
* [#4590](https://github.com/icinga/icinga2/issues/4590): Make sure that libmethods is automatically loaded even when not using the ITL
* [#4588](https://github.com/icinga/icinga2/issues/4588) (Installation): Use raw string literals in mkembedconfig
* [#4587](https://github.com/icinga/icinga2/issues/4587) (Configuration): Implement support for default templates
* [#4584](https://github.com/icinga/icinga2/issues/4584) (Documentation): Add missing reference to libmethods for the default ITL command templates
* [#4580](https://github.com/icinga/icinga2/issues/4580) (API): Provide location information for objects and templates in the API
* [#4578](https://github.com/icinga/icinga2/issues/4578) (Installation): Improve detection for the -flto compiler flag
* [#4576](https://github.com/icinga/icinga2/issues/4576): Use lambda functions for INITIALIZE_ONCE
* [#4575](https://github.com/icinga/icinga2/issues/4575): Use 'auto' for iterator declarations
* [#4571](https://github.com/icinga/icinga2/issues/4571): Implement an rvalue constructor for the String and Value classes
* [#4570](https://github.com/icinga/icinga2/issues/4570) (Configuration): Implement a command-line argument for "icinga2 console" to allow specifying a script file
* [#4569](https://github.com/icinga/icinga2/issues/4569) (Installation): Set versions for all internal libraries
* [#4492](https://github.com/icinga/icinga2/issues/4492) (Documentation): Add information about function 'range'
* [#4324](https://github.com/icinga/icinga2/issues/4324) (ITL): Add CheckCommand definition for check_glusterfs
* [#3684](https://github.com/icinga/icinga2/issues/3684) (Configuration): Command line option for config syntax validation
* [#2968](https://github.com/icinga/icinga2/issues/2968): Better message for apply errors
* [#2943](https://github.com/icinga/icinga2/issues/2943) (Installation): Make the user account configurable for the Windows service
### Bug
* [#4862](https://github.com/icinga/icinga2/issues/4862) (Documentation): "2.1.4. Installation Paths" should contain systemd paths
* [#4861](https://github.com/icinga/icinga2/issues/4861) (Documentation): Update "2.1.3. Enabled Features during Installation" - outdated "feature list"
* [#4859](https://github.com/icinga/icinga2/issues/4859) (Documentation): Update package instructions for Fedora
* [#4831](https://github.com/icinga/icinga2/issues/4831) (CLI): Wrong help string for node setup cli command argument --master_host
* [#4829](https://github.com/icinga/icinga2/issues/4829) (Documentation): Missing API headers for X-HTTP-Method-Override
* [#4828](https://github.com/icinga/icinga2/issues/4828) (API): Crash in CreateObjectHandler (regression from #11684
* [#4827](https://github.com/icinga/icinga2/issues/4827) (Documentation): Fix example in PNP template docs
* [#4802](https://github.com/icinga/icinga2/issues/4802): Icinga tries to delete Downtime objects that were statically configured
* [#4801](https://github.com/icinga/icinga2/issues/4801): Sending a HUP signal to the child process for execution actually kills it
* [#4800](https://github.com/icinga/icinga2/issues/4800) (Documentation): Docs: Typo in "CLI commands" chapter
* [#4791](https://github.com/icinga/icinga2/issues/4791) (DB IDO): PostgreSQL: Don't use timestamp with timezone for UNIX timestamp columns
* [#4789](https://github.com/icinga/icinga2/issues/4789) (Notifications): Recovery notifications sent for Not-Problem notification type if notified before
* [#4775](https://github.com/icinga/icinga2/issues/4775) (Cluster): Crash w/ SendNotifications cluster handler and check result with empty perfdata
* [#4771](https://github.com/icinga/icinga2/issues/4771): Config validation crashes when using command_endpoint without also having an ApiListener object
* [#4752](https://github.com/icinga/icinga2/issues/4752) (Graphite): Performance data writer for Graphite : Values without fraction limited to 2147483647 (7FFFFFFF)
* [#4740](https://github.com/icinga/icinga2/issues/4740): SIGALRM handling may be affected by recent commit
* [#4736](https://github.com/icinga/icinga2/issues/4736) (Documentation): Docs: wrong heading level for commands.conf and groups.conf
* [#4726](https://github.com/icinga/icinga2/issues/4726) (Notifications): Flapping notifications sent for soft state changes
* [#4717](https://github.com/icinga/icinga2/issues/4717) (API): Icinga crashes while deleting a config file which doesn't exist anymore
* [#4714](https://github.com/icinga/icinga2/issues/4714) (ITL): Default values for check_swap are incorrect
* [#4710](https://github.com/icinga/icinga2/issues/4710) (ITL): snmp_miblist variable to feed the -m option of check_snmp is missing in the snmpv3 CheckCommand object
* [#4705](https://github.com/icinga/icinga2/issues/4705) (Documentation): Typo in the documentation
* [#4699](https://github.com/icinga/icinga2/issues/4699) (Documentation): Fix some spelling mistakes
* [#4678](https://github.com/icinga/icinga2/issues/4678) (Configuration): Configuration validation fails when setting tls_protocolmin to TLSv1.2
* [#4677](https://github.com/icinga/icinga2/issues/4677) (ITL): Problem passing arguments to nscp-local CheckCommand objects
* [#4566](https://github.com/icinga/icinga2/issues/4566) (Notifications): Fixed downtimes scheduled for a future date trigger DOWNTIMESTART notifications
* [#4564](https://github.com/icinga/icinga2/issues/4564): Add missing initializer for WorkQueue::m_NextTaskID
* [#4556](https://github.com/icinga/icinga2/issues/4556) (Installation): logrotate file is not properly generated when the logrotate binary resides in /usr/bin
* [#4493](https://github.com/icinga/icinga2/issues/4493) (Cluster): Improve performance for Endpoint config validation
* [#4491](https://github.com/icinga/icinga2/issues/4491): Improve performance for type lookups
* [#4487](https://github.com/icinga/icinga2/issues/4487) (DB IDO): Incremental updates for the IDO database
* [#4486](https://github.com/icinga/icinga2/issues/4486) (DB IDO): Remove unused code from the IDO classes
* [#4485](https://github.com/icinga/icinga2/issues/4485) (API): Add API action for generating a PKI ticket
* [#4479](https://github.com/icinga/icinga2/issues/4479) (Configuration): Implement comparison operators for the Array class
* [#4477](https://github.com/icinga/icinga2/issues/4477) (ITL): Add perfsyntax parameter to nscp-local-counter CheckCommand
* [#4468](https://github.com/icinga/icinga2/issues/4468) (Documentation): Add URL and short description for Monitoring Plugins inside the ITL documentation
* [#4467](https://github.com/icinga/icinga2/issues/4467): Implement the System#sleep function
* [#4465](https://github.com/icinga/icinga2/issues/4465) (Configuration): Implement support for namespaces
* [#4464](https://github.com/icinga/icinga2/issues/4464) (CLI): Implement support for inspecting variables with LLDB/GDB
* [#4457](https://github.com/icinga/icinga2/issues/4457): Implement support for marking functions as deprecated
* [#4456](https://github.com/icinga/icinga2/issues/4456) (ITL): Add custom variables for all check_swap arguments
* [#4454](https://github.com/icinga/icinga2/issues/4454): Include compiler name/version and build host name in --version
* [#4453](https://github.com/icinga/icinga2/issues/4453) (Documentation): Rewrite Client and Cluster chapter and; add service monitoring chapter
* [#4451](https://github.com/icinga/icinga2/issues/4451) (Configuration): Move internal script functions into the 'Internal' namespace
* [#4449](https://github.com/icinga/icinga2/issues/4449): Improve logging for the WorkQueue class
* [#4511](https://github.com/icinga/icinga2/issues/4511): ClrCheck is null on *nix
* [#4510](https://github.com/icinga/icinga2/issues/4510) (Documentation): Docs: API example uses wrong attribute name
* [#4505](https://github.com/icinga/icinga2/issues/4505) (CLI): Cannot set ownership for user 'icinga' group 'icinga' on file '/var/lib/icinga2/ca/serial.txt'.
* [#4504](https://github.com/icinga/icinga2/issues/4504) (API): API: events for DowntimeTriggered does not provide needed information
* [#4502](https://github.com/icinga/icinga2/issues/4502) (DB IDO): IDO query fails due to key contraint violation for the icinga_customvariablestatus table
* [#4501](https://github.com/icinga/icinga2/issues/4501) (Cluster): DB IDO started before daemonizing (no systemd)
* [#4500](https://github.com/icinga/icinga2/issues/4500) (DB IDO): Query for customvariablestatus incorrectly updates the host's/service's insert ID
* [#4499](https://github.com/icinga/icinga2/issues/4499) (DB IDO): Insert fails for the icinga_scheduleddowntime table due to duplicate key
* [#4497](https://github.com/icinga/icinga2/issues/4497): Fix incorrect detection of the 'Concurrency' variable
* [#4496](https://github.com/icinga/icinga2/issues/4496) (API): API: action schedule-downtime requires a duration also when fixed is true
* [#4495](https://github.com/icinga/icinga2/issues/4495): Use hash-based serial numbers for new certificates
* [#4494](https://github.com/icinga/icinga2/issues/4494) (Installation): Remove unused functions from icinga-installer
* [#4490](https://github.com/icinga/icinga2/issues/4490) (Cluster): ClusterEvents::NotificationSentAllUsersAPIHandler() does not set notified_users
* [#4489](https://github.com/icinga/icinga2/issues/4489) (Documentation): Missing documentation for "legacy-timeperiod" template
* [#4488](https://github.com/icinga/icinga2/issues/4488): Replace GetType()->GetName() calls with GetReflectionType()->GetName()
* [#4484](https://github.com/icinga/icinga2/issues/4484) (Cluster): Only allow sending command_endpoint checks to directly connected child zones
* [#4483](https://github.com/icinga/icinga2/issues/4483) (DB IDO): ido CheckCommand returns returns "Could not connect to database server" when HA enabled
* [#4481](https://github.com/icinga/icinga2/issues/4481) (DB IDO): Fix the "ido" check command for use with command_endpoint
* [#4478](https://github.com/icinga/icinga2/issues/4478): CompatUtility::GetCheckableNotificationStateFilter is returning an incorrect value
* [#4476](https://github.com/icinga/icinga2/issues/4476) (DB IDO): Importing mysql schema fails
* [#4475](https://github.com/icinga/icinga2/issues/4475) (CLI): pki sign-csr does not log where it is writing the certificate file
* [#4472](https://github.com/icinga/icinga2/issues/4472) (DB IDO): IDO marks objects as inactive on shutdown
* [#4471](https://github.com/icinga/icinga2/issues/4471) (DB IDO): IDO does duplicate config updates
* [#4470](https://github.com/icinga/icinga2/issues/4470) (Documentation): The description for the http_certificate attribute doesn't have the right default value
* [#4466](https://github.com/icinga/icinga2/issues/4466) (Configuration): 'use' keyword cannot be used with templates
* [#4462](https://github.com/icinga/icinga2/issues/4462) (Notifications): Add log message if notifications are forced (i.e. filters are not checked)
* [#4461](https://github.com/icinga/icinga2/issues/4461) (Notifications): Notification resent, even if interval = 0
* [#4460](https://github.com/icinga/icinga2/issues/4460) (DB IDO): Fixed downtime start does not update actual_start_time
* [#4458](https://github.com/icinga/icinga2/issues/4458): Flexible downtimes should be removed after trigger_time+duration
* [#4455](https://github.com/icinga/icinga2/issues/4455): Disallow casting "" to an Object
* [#4452](https://github.com/icinga/icinga2/issues/4452) (Packages): Error compiling on windows due to changes in apilistener around minimum tls version
* [#4447](https://github.com/icinga/icinga2/issues/4447): Handle I/O errors while writing the Icinga state file more gracefully
* [#4413](https://github.com/icinga/icinga2/issues/4413) (DB IDO): icinga2 empties custom variables, host-, servcie- and contactgroup members at the end of IDO database reconnection
* [#4412](https://github.com/icinga/icinga2/issues/4412) (Notifications): Reminder notifications ignore HA mode
* [#4405](https://github.com/icinga/icinga2/issues/4405) (DB IDO): Deprecation warning should include object type and name
* [#4401](https://github.com/icinga/icinga2/issues/4401) (Performance Data): Incorrect escaping / formatting of perfdata to InfluxDB
* [#4399](https://github.com/icinga/icinga2/issues/4399): Icinga stats min_execution_time and max_execution_time are invalid
* [#4396](https://github.com/icinga/icinga2/issues/4396) (Documentation): Missing explanation for three level clusters with CSR auto-signing
* [#4395](https://github.com/icinga/icinga2/issues/4395) (Documentation): Incorrect documentation about apply rules in zones.d directories
* [#4394](https://github.com/icinga/icinga2/issues/4394): icinga check reports "-1" for minimum latency and execution time and only uptime has a number but 0
* [#4391](https://github.com/icinga/icinga2/issues/4391) (DB IDO): Do not clear {host,service,contact}group_members tables on restart
* [#4387](https://github.com/icinga/icinga2/issues/4387) (Documentation): Improve author information about check_yum
* [#4384](https://github.com/icinga/icinga2/issues/4384) (API): Fix URL encoding for '&'
* [#4378](https://github.com/icinga/icinga2/issues/4378) (Notifications): Optimize two ObjectLocks into one in Notification::BeginExecuteNotification method
* [#4376](https://github.com/icinga/icinga2/issues/4376) (Cluster): CheckerComponent sometimes fails to schedule checks in time
* [#4375](https://github.com/icinga/icinga2/issues/4375) (Cluster): Duplicate messages for command_endpoint w/ master and satellite
* [#4372](https://github.com/icinga/icinga2/issues/4372) (API): state_filters_real shouldn't be visible in the API
* [#4371](https://github.com/icinga/icinga2/issues/4371) (Notifications): notification.notification_number runtime attribute returning 0 (instead of 1) in first notification e-mail
* [#4370](https://github.com/icinga/icinga2/issues/4370): Test the change with HARD OK transitions
* [#4363](https://github.com/icinga/icinga2/issues/4363) (DB IDO): IDO module starts threads before daemonize
* [#4361](https://github.com/icinga/icinga2/issues/4361) (Documentation): pkg-config is not listed as a build requirement in INSTALL.md
* [#4359](https://github.com/icinga/icinga2/issues/4359) (ITL): ITL: check_iftraffic64.pl default values, wrong postfix value in CheckCommand
* [#4356](https://github.com/icinga/icinga2/issues/4356) (DB IDO): DB IDO query queue does not clean up with v2.4.10-520-g124c80b
* [#4349](https://github.com/icinga/icinga2/issues/4349) (DB IDO): Add missing index on state history for DB IDO cleanup
* [#4345](https://github.com/icinga/icinga2/issues/4345): Ensure to clear the SSL error queue before calling SSL_{read,write,do_handshake}
* [#4344](https://github.com/icinga/icinga2/issues/4344) (Packages): Build fails with Visual Studio 2013
* [#4343](https://github.com/icinga/icinga2/issues/4343) (Configuration): include_recursive should gracefully handle inaccessible files
* [#4341](https://github.com/icinga/icinga2/issues/4341) (API): Icinga incorrectly disconnects all endpoints if one has a wrong certificate
* [#4340](https://github.com/icinga/icinga2/issues/4340) (DB IDO): deadlock in ido reconnect
* [#4337](https://github.com/icinga/icinga2/issues/4337) (Documentation): Add a note to the docs that API POST updates to custom attributes/groups won't trigger re-evaluation
* [#4333](https://github.com/icinga/icinga2/issues/4333) (Documentation): Documentation: Setting up Plugins section is broken
* [#4329](https://github.com/icinga/icinga2/issues/4329) (Performance Data): Key Escapes in InfluxDB Writer Don't Work
* [#4328](https://github.com/icinga/icinga2/issues/4328) (Documentation): Typo in Manubulon CheckCommand documentation
* [#4327](https://github.com/icinga/icinga2/issues/4327) (Packages): Icinga fails to build with OpenSSL 1.1.0
* [#4318](https://github.com/icinga/icinga2/issues/4318) (Documentation): Migration docs still show unsupported CHANGE_*MODATTR external commands
* [#4313](https://github.com/icinga/icinga2/issues/4313) (Configuration): Icinga crashes when using include_recursive in an object definition
* [#4278](https://github.com/icinga/icinga2/issues/4278) (DB IDO): SOFT state changes with the same state are not logged
* [#4275](https://github.com/icinga/icinga2/issues/4275) (API): Trying to delete an object protected by a permissions filter, ends up deleting all objects that match the filter instead
* [#4217](https://github.com/icinga/icinga2/issues/4217) (Documentation): node setup: Add a note for --endpoint syntax for client-master connection
* [#4211](https://github.com/icinga/icinga2/issues/4211) (Packages): Incorrect filter in pick.py
* [#4187](https://github.com/icinga/icinga2/issues/4187): Icinga 2 client gets killed during network scans
* [#4171](https://github.com/icinga/icinga2/issues/4171) (DB IDO): Outdated downtime/comments not removed from IDO database (restart)
* [#4148](https://github.com/icinga/icinga2/issues/4148) (Packages): RPM update starts disabled icinga2 service
* [#4147](https://github.com/icinga/icinga2/issues/4147) (Packages): Reload permission error with SELinux
* [#4134](https://github.com/icinga/icinga2/issues/4134) (Configuration): Don't allow flow control keywords outside of other flow control constructs
* [#4121](https://github.com/icinga/icinga2/issues/4121) (Notifications): notification interval = 0 not honoured in HA clusters
* [#4106](https://github.com/icinga/icinga2/issues/4106) (Notifications): last_problem_notification should be synced in HA cluster
* [#4077](https://github.com/icinga/icinga2/issues/4077): Numbers are not properly formatted in runtime macro strings
* [#4002](https://github.com/icinga/icinga2/issues/4002): Don't violate POSIX by ensuring that the argument to usleep(3) is less than 1000000
* [#3954](https://github.com/icinga/icinga2/issues/3954) (Cluster): High load when pinning command endpoint on HA cluster
* [#3949](https://github.com/icinga/icinga2/issues/3949) (DB IDO): IDO: entry_time of all comments is set to the date and time when Icinga 2 was restarted
* [#3902](https://github.com/icinga/icinga2/issues/3902): Hang in TlsStream::Handshake
* [#3820](https://github.com/icinga/icinga2/issues/3820) (Configuration): High CPU usage with self-referenced parent zone config
* [#4225](https://github.com/icinga/icinga2/issues/4225) (Compat): Command Pipe thread 100% CPU Usage
* [#4224](https://github.com/icinga/icinga2/issues/4224): Checks are not executed anymore on command
* [#4222](https://github.com/icinga/icinga2/issues/4222) (Configuration): Segfault when trying to start 2.4.8
* [#4221](https://github.com/icinga/icinga2/issues/4221) (Performance Data): Error: Function call 'rename' for file '/var/spool/icinga2/tmp/service-perfdata' failed with error code 2, 'No such file or directory'
* [#4184](https://github.com/icinga/icinga2/issues/4184) (ITL): 'disk' CheckCommand: Exclude 'cgroup' and 'tracefs' by default
* [#4149](https://github.com/icinga/icinga2/issues/4149) (CLI): Implement SNI support for the CLI commands
* [#4103](https://github.com/icinga/icinga2/issues/4103): Add support for subjectAltName in SSL certificates
* [#3919](https://github.com/icinga/icinga2/issues/3919) (Configuration): Internal check for config problems
* [#3634](https://github.com/icinga/icinga2/issues/3634) (ITL): Provide icingacli in the ITL
* [#3321](https://github.com/icinga/icinga2/issues/3321): "icinga" check should have state WARNING when the last reload failed
* [#2993](https://github.com/icinga/icinga2/issues/2993) (Performance Data): PerfdataWriter: Better failure handling for file renames across file systems
* [#2896](https://github.com/icinga/icinga2/issues/2896) (Cluster): Alert config reload failures with the icinga check
* [#2468](https://github.com/icinga/icinga2/issues/2468): Maximum concurrent service checks
### Bug
* [#4219](https://github.com/icinga/icinga2/issues/4219) (DB IDO): Postgresql warnings on startup
* [#4182](https://github.com/icinga/icinga2/issues/4182): Crash in UnameHelper
* [#4180](https://github.com/icinga/icinga2/issues/4180): Expired downtimes are not removed
* [#4170](https://github.com/icinga/icinga2/issues/4170) (API): Icinga Crash with the workflow Create_Host-> Downtime for the Host -> Delete Downtime -> Remove Host
* [#4146](https://github.com/icinga/icinga2/issues/4146) (Packages): Update chocolatey packages and RELEASE.md
* [#3881](https://github.com/icinga/icinga2/issues/3881) (Cluster): Icinga2 agent gets stuck after disconnect and won't relay messages
* [#3707](https://github.com/icinga/icinga2/issues/3707) (Configuration): Comments and downtimes of deleted checkable objects are not deleted
* [#3526](https://github.com/icinga/icinga2/issues/3526): Icinga crashes with a segfault on receiving a lot of check results for nonexisting hosts/services
* [#3316](https://github.com/icinga/icinga2/issues/3316) (Configuration): Service apply without name possible
* [#4119](https://github.com/icinga/icinga2/issues/4119) (Installation): Update chocolatey uninstall script for the MSI package
* [#4117](https://github.com/icinga/icinga2/issues/4117) (Installation): Make sure to update the agent wizard banner
* [#4073](https://github.com/icinga/icinga2/issues/4073) (Installation): Install 64-bit version of NSClient++ on 64-bit versions of Windows
* [#4072](https://github.com/icinga/icinga2/issues/4072) (Installation): Update NSClient++ to version 0.4.4.19
* [#4064](https://github.com/icinga/icinga2/issues/4064) (Packages): Build 64-bit packages for Windows
* [#4055](https://github.com/icinga/icinga2/issues/4055) (Documentation): Add silent install / reference to NSClient++ to documentation
* [#4039](https://github.com/icinga/icinga2/issues/4039) (Documentation): Update .mailmap for Markus Frosch
* [#3953](https://github.com/icinga/icinga2/issues/3953) (ITL): Add --units, --rate and --rate-multiplier support for the snmpv3 check command
* [#3903](https://github.com/icinga/icinga2/issues/3903) (ITL): Add --method parameter for check_{oracle,mysql,mssql}_health CheckCommands
* [#3145](https://github.com/icinga/icinga2/issues/3145) (Documentation): Add Windows setup wizard screenshots
* [#3023](https://github.com/icinga/icinga2/issues/3023) (Configuration): Implement support for overriding check command timeout
### Bug
* [#4131](https://github.com/icinga/icinga2/issues/4131) (Configuration): Vim Syntax Highlighting does not work with assign where
* [#4127](https://github.com/icinga/icinga2/issues/4127) (Installation): Windows installer does not copy "features-enabled" on upgrade
* [#4122](https://github.com/icinga/icinga2/issues/4122) (Documentation): Remove instance_name from Ido*Connection example
* [#4118](https://github.com/icinga/icinga2/issues/4118) (Installation): icinga2-installer.exe doesn't wait until NSIS uninstall.exe exits
* [#4116](https://github.com/icinga/icinga2/issues/4116) (API): icinga2 crashes when a command_endpoint is set, but the api feature is not active
* [#4114](https://github.com/icinga/icinga2/issues/4114): Compiler warning in NotifyActive
* [#4113](https://github.com/icinga/icinga2/issues/4113) (Installation): Package fails to build on *NIX
* [#4109](https://github.com/icinga/icinga2/issues/4109) (API): Navigation attributes are missing in /v1/objects/<type>
* [#4108](https://github.com/icinga/icinga2/issues/4108) (Documentation): Incorrect link in the documentation
* [#4104](https://github.com/icinga/icinga2/issues/4104) (Configuration): Segfault during config validation if host exists, service does not exist any longer and downtime expires
* [#4099](https://github.com/icinga/icinga2/issues/4099) (Installation): make install overwrites configuration files
* [#4095](https://github.com/icinga/icinga2/issues/4095): DowntimesExpireTimerHandler crashes Icinga2 with <unknownfunction>
* [#4089](https://github.com/icinga/icinga2/issues/4089): Make the socket event engine configurable
* [#4080](https://github.com/icinga/icinga2/issues/4080) (Documentation): Update documentation URL for Icinga Web 2
* [#4078](https://github.com/icinga/icinga2/issues/4078) (Configuration): Overwriting global type variables causes crash in ConfigItem::Commit()
* [#4076](https://github.com/icinga/icinga2/issues/4076) (API): API User gets wrongly authenticated (client_cn and no password)
* [#4074](https://github.com/icinga/icinga2/issues/4074) (Installation): FatalError() returns when called before Application.Run
* [#4069](https://github.com/icinga/icinga2/issues/4069) (Installation): Error compiling icinga2 targeted for x64 on Windows
* [#4066](https://github.com/icinga/icinga2/issues/4066): ConfigSync broken from 2.4.3. to 2.4.4 under Windows
* [#4057](https://github.com/icinga/icinga2/issues/4057) (Documentation): Update the CentOS installation documentation
* [#4056](https://github.com/icinga/icinga2/issues/4056) (CLI): Remove semi-colons in the auto-generated configs
* [#4053](https://github.com/icinga/icinga2/issues/4053) (Installation): Icinga 2 Windows Agent does not honor install path during upgrade
* [#4052](https://github.com/icinga/icinga2/issues/4052) (API): Config validation for Notification objects should check whether the state filters are valid
* [#4043](https://github.com/icinga/icinga2/issues/4043) (Documentation): Docs: Remove the migration script chapter
* [#4041](https://github.com/icinga/icinga2/issues/4041) (Documentation): Explain how to use functions for wildcard matches for arrays and/or dictionaries in assign where expressions
* [#4032](https://github.com/icinga/icinga2/issues/4032) (Packages): Remove dependency for .NET 3.5 from the chocolatey package
* [#4031](https://github.com/icinga/icinga2/issues/4031): Downtimes are not always activated/expired on restart
* [#4016](https://github.com/icinga/icinga2/issues/4016): Symlink subfolders not followed/considered for config files
* [#4014](https://github.com/icinga/icinga2/issues/4014): Use retry_interval instead of check_interval for first OK -> NOT-OK state change
* [#3988](https://github.com/icinga/icinga2/issues/3988) (Packages): Incorrect base URL in the icinga-rpm-release packages for Fedora
* [#3973](https://github.com/icinga/icinga2/issues/3973) (Cluster): Downtimes and Comments are not synced to child zones
* [#3970](https://github.com/icinga/icinga2/issues/3970) (API): Socket Exceptions (Operation not permitted) while reading from API
* [#3907](https://github.com/icinga/icinga2/issues/3907) (Configuration): Too many assign where filters cause stack overflow
* [#3780](https://github.com/icinga/icinga2/issues/3780) (DB IDO): DB IDO: downtime is not in effect after restart
* [#3658](https://github.com/icinga/icinga2/issues/3658) (Packages): Add application manifest for the Windows agent wizard
* [#2998](https://github.com/icinga/icinga2/issues/2998) (Installation): logrotate fails since the "su" directive was removed
## 2.4.4 (2016-03-16)
### Notes
* Bugfixes
### Enhancement
* [#3958](https://github.com/icinga/icinga2/issues/3958) (ITL): Add "query" option to check_postgres command.
* [#3484](https://github.com/icinga/icinga2/issues/3484) (ITL): ITL: Allow to enforce specific SSL versions using the http check command
### Bug
* [#4036](https://github.com/icinga/icinga2/issues/4036) (CLI): Add the executed cli command to the Windows wizard error messages
* [#4033](https://github.com/icinga/icinga2/issues/4033) (Documentation): Update development docs to use 'thread apply all bt full'
* [#4027](https://github.com/icinga/icinga2/issues/4027) (Packages): Chocolatey package is missing uninstall function
* [#4019](https://github.com/icinga/icinga2/issues/4019) (Configuration): Segmentation fault during 'icinga2 daemon -C'
* [#4018](https://github.com/icinga/icinga2/issues/4018) (Documentation): Docs: Add API examples for creating services and check commands
* [#4017](https://github.com/icinga/icinga2/issues/4017) (CLI): 'icinga2 feature list' fails when all features are disabled
* [#4011](https://github.com/icinga/icinga2/issues/4011) (Packages): Update build requirements for SLES 11 SP4
* [#4009](https://github.com/icinga/icinga2/issues/4009) (Documentation): Typo in API docs
* [#4008](https://github.com/icinga/icinga2/issues/4008) (Configuration): Windows wizard error "too many arguments"
* [#4006](https://github.com/icinga/icinga2/issues/4006): Volatile transitions from HARD NOT-OK->NOT-OK do not trigger notifications
* [#3996](https://github.com/icinga/icinga2/issues/3996): epoll_ctl might cause oops on Ubuntu trusty
* [#3990](https://github.com/icinga/icinga2/issues/3990): Services status updated multiple times within check_interval even though no retry was triggered
* [#3987](https://github.com/icinga/icinga2/issues/3987): Incorrect check interval when passive check results are used
* [#3985](https://github.com/icinga/icinga2/issues/3985): Active checks are executed even though passive results are submitted
* [#3981](https://github.com/icinga/icinga2/issues/3981): DEL_DOWNTIME_BY_HOST_NAME does not accept optional arguments
* [#3961](https://github.com/icinga/icinga2/issues/3961) (CLI): Wrong log message for trusted cert in node setup command
* [#3960](https://github.com/icinga/icinga2/issues/3960) (Installation): CMake does not find MySQL libraries on Windows
* [#3939](https://github.com/icinga/icinga2/issues/3939) (CLI): Common name in node wizard isn't case sensitive
* [#3908](https://github.com/icinga/icinga2/issues/3908) (ITL): ITL: Missing documentation for nwc_health "mode" parameter
* [#3845](https://github.com/icinga/icinga2/issues/3845) (Documentation): Explain how to join hosts/services for /v1/objects/comments
* [#3755](https://github.com/icinga/icinga2/issues/3755) (Documentation): http check's URI is really just Path
* [#3745](https://github.com/icinga/icinga2/issues/3745) (API): Status code 200 even if an object could not be deleted.
* [#3742](https://github.com/icinga/icinga2/issues/3742) (DB IDO): DB IDO: User notification type filters are incorrect
* [#3442](https://github.com/icinga/icinga2/issues/3442) (API): MkDirP not working on Windows
* [#3439](https://github.com/icinga/icinga2/issues/3439) (Notifications): Host notification type is PROBLEM but should be RECOVERY
* [#3303](https://github.com/icinga/icinga2/issues/3303) (Notifications): Problem notifications while Flapping is active
* [#3153](https://github.com/icinga/icinga2/issues/3153) (Notifications): Flapping notifications are sent for hosts/services which are in a downtime
## 2.4.3 (2016-02-24)
### Notes
* Bugfixes
### Bug
* [#3963](https://github.com/icinga/icinga2/issues/3963): Wrong permissions for files in /var/cache/icinga2/*
* [#3962](https://github.com/icinga/icinga2/issues/3962) (Configuration): Permission problem after running icinga2 node wizard
* [#3857](https://github.com/icinga/icinga2/issues/3857) (Cluster): Support TLSv1.1 and TLSv1.2 for the cluster transport encryption
* [#3836](https://github.com/icinga/icinga2/issues/3836) (Documentation): Troubleshooting: Explain how to fetch the executed command
* [#3826](https://github.com/icinga/icinga2/issues/3826) (Documentation): Add example how to use custom functions in attributes
* [#3810](https://github.com/icinga/icinga2/issues/3810) (Plugins): Add Timeout parameter to snmpv3 check
* [#3793](https://github.com/icinga/icinga2/issues/3793) (Documentation): "setting up check plugins" section should be enhanced with package manager examples
* [#3785](https://github.com/icinga/icinga2/issues/3785) (DB IDO): Log DB IDO query queue stats
* [#3784](https://github.com/icinga/icinga2/issues/3784) (DB IDO): DB IDO: Add a log message when the connection handling is completed
* [#3760](https://github.com/icinga/icinga2/issues/3760) (Configuration): Raise a config error for "Checkable" objects in global zones
* [#3754](https://github.com/icinga/icinga2/issues/3754) (Plugins): Add "-x" parameter in command definition for disk-windows CheckCommand
* [#3747](https://github.com/icinga/icinga2/issues/3747) (ITL): Add check_iostat to ITL
* [#3679](https://github.com/icinga/icinga2/issues/3679) (Installation): Add CMake flag for disabling the unit tests
### Bug
* [#3957](https://github.com/icinga/icinga2/issues/3957) (CLI): "node setup" tries to chown() files before they're created
* [#3947](https://github.com/icinga/icinga2/issues/3947): CentOS 5 doesn't support epoll_create1
* [#3946](https://github.com/icinga/icinga2/issues/3946) (Documentation): Documentation: Unescaped pipe character in tables
* [#3922](https://github.com/icinga/icinga2/issues/3922) (Configuration): YYYY-MM-DD time specs are parsed incorrectly
* [#3915](https://github.com/icinga/icinga2/issues/3915) (API): Connections are not cleaned up properly
* [#3913](https://github.com/icinga/icinga2/issues/3913) (Cluster): Cluster WQ thread dies after fork()
* [#3910](https://github.com/icinga/icinga2/issues/3910): Clean up unused variables a bit
* [#3905](https://github.com/icinga/icinga2/issues/3905) (DB IDO): Problem with hostgroup_members table cleanup
* [#3900](https://github.com/icinga/icinga2/issues/3900) (Packages): Windows build fails on InterlockedIncrement type
* [#3898](https://github.com/icinga/icinga2/issues/3898) (API): API queries on non-existant objects cause exception
* [#3897](https://github.com/icinga/icinga2/issues/3897) (Configuration): Crash in ConfigItem::RunWithActivationContext
* [#3896](https://github.com/icinga/icinga2/issues/3896) (Cluster): Ensure that config sync updates are always sent on reconnect
* [#3893](https://github.com/icinga/icinga2/issues/3893) (Documentation): Outdated link to icingaweb2-module-nagvis
* [#3892](https://github.com/icinga/icinga2/issues/3892) (Documentation): Partially missing escaping in doc/7-icinga-template-library.md
* [#3889](https://github.com/icinga/icinga2/issues/3889) (DB IDO): Deleting an object via API does not disable it in DB IDO
* [#3871](https://github.com/icinga/icinga2/issues/3871) (Cluster): Master reloads with agents generate false alarms
* [#3870](https://github.com/icinga/icinga2/issues/3870) (DB IDO): next_check noise in the IDO
* [#3866](https://github.com/icinga/icinga2/issues/3866) (Cluster): Check event duplication with parallel connections involved
* [#3863](https://github.com/icinga/icinga2/issues/3863) (Cluster): Segfault in ApiListener::ConfigUpdateObjectAPIHandler
* [#3861](https://github.com/icinga/icinga2/issues/3861) (Documentation): Incorrect IdoPgSqlConnection Example in Documentation
* [#3859](https://github.com/icinga/icinga2/issues/3859): Stream buffer size is 512 bytes, could be raised
* [#3858](https://github.com/icinga/icinga2/issues/3858) (CLI): Escaped sequences not properly generated with 'node update-config'
* [#3850](https://github.com/icinga/icinga2/issues/3850) (Documentation): Incorrect name in AUTHORS
* [#3848](https://github.com/icinga/icinga2/issues/3848) (Configuration): Mistake in mongodb command definition (mongodb_replicaset)
* [#3843](https://github.com/icinga/icinga2/issues/3843): Modified attributes do not work for the IcingaApplication object w/ external commands
* [#3838](https://github.com/icinga/icinga2/issues/3838) (Installation): Race condition when using systemd unit file
* [#3835](https://github.com/icinga/icinga2/issues/3835) (Cluster): high load and memory consumption on icinga2 agent v2.4.1
* [#3833](https://github.com/icinga/icinga2/issues/3833) (Documentation): Better explaination for array values in "disk" CheckCommand docs
* [#3832](https://github.com/icinga/icinga2/issues/3832) (Installation): Compiler warnings in lib/remote/base64.cpp
* [#3827](https://github.com/icinga/icinga2/issues/3827) (Configuration): Icinga state file corruption with temporary file creation
* [#3818](https://github.com/icinga/icinga2/issues/3818) (Installation): Logrotate on systemd distros should use systemctl not service
* [#3817](https://github.com/icinga/icinga2/issues/3817) (Cluster): Cluster config sync: Ensure that /var/lib/icinga2/api/zones/* exists
* [#3816](https://github.com/icinga/icinga2/issues/3816) (Cluster): Exception stack trace on icinga2 client when the master reloads the configuration
* [#3812](https://github.com/icinga/icinga2/issues/3812) (API): API actions: Decide whether fixed: false is the right default
* [#3808](https://github.com/icinga/icinga2/issues/3808) (Documentation): Typos in the "troubleshooting" section of the documentation
* [#3798](https://github.com/icinga/icinga2/issues/3798) (DB IDO): is_active in IDO is only re-enabled on "every second" restart
* [#3741](https://github.com/icinga/icinga2/issues/3741) (DB IDO): Avoid duplicate config and status updates on startup
* [#3735](https://github.com/icinga/icinga2/issues/3735) (Configuration): Disallow lambda expressions where side-effect-free expressions are not allowed
* [#3730](https://github.com/icinga/icinga2/issues/3730): Missing path in mkdir() exceptions
* [#3728](https://github.com/icinga/icinga2/issues/3728) (DB IDO): build of icinga2 with gcc 4.4.7 segfaulting with ido
* [#3723](https://github.com/icinga/icinga2/issues/3723) (Installation): Crash on startup with incorrect directory permissions
* [#3722](https://github.com/icinga/icinga2/issues/3722) (API): Missing num_hosts_pending in /v1/status/CIB
* [#3715](https://github.com/icinga/icinga2/issues/3715) (CLI): node wizard does not remember user defined port
* [#3712](https://github.com/icinga/icinga2/issues/3712) (CLI): Remove the local zone name question in node wizard
* [#3705](https://github.com/icinga/icinga2/issues/3705) (API): API is not working on wheezy
* [#3704](https://github.com/icinga/icinga2/issues/3704) (Cluster): ApiListener::ReplayLog can block with a lot of clients
* [#3702](https://github.com/icinga/icinga2/issues/3702) (Cluster): Zone::CanAccessObject is very expensive
* [#3697](https://github.com/icinga/icinga2/issues/3697) (Compat): Crash in ExternalCommandListener
* [#3677](https://github.com/icinga/icinga2/issues/3677) (API): API queries cause memory leaks
* [#3613](https://github.com/icinga/icinga2/issues/3613) (DB IDO): Non-UTF8 characters from plugins causes IDO to fail
* [#3606](https://github.com/icinga/icinga2/issues/3606) (Plugins): check_network performance data in invalid format
* [#3571](https://github.com/icinga/icinga2/issues/3571) (Plugins): check_memory and check_swap plugins do unit conversion and rounding before percentage calculations resulting in imprecise percentages
* [#3550](https://github.com/icinga/icinga2/issues/3550) (Documentation): A PgSQL DB for the IDO can't be created w/ UTF8
* [#3549](https://github.com/icinga/icinga2/issues/3549) (Documentation): Incorrect SQL command for creating the user of the PostgreSQL DB for the IDO
* [#3710](https://github.com/icinga/icinga2/issues/3710) (CLI): Remove --master_zone from --help because it is currently not implemented
* [#3701](https://github.com/icinga/icinga2/issues/3701) (Documentation): Incorrect path for icinga2 binary in development documentation
* [#3699](https://github.com/icinga/icinga2/issues/3699) (Installation): Windows setup wizard crashes when InstallDir registry key is not set
* [#3690](https://github.com/icinga/icinga2/issues/3690) (Documentation): Fix typos in the documentation
* [#3689](https://github.com/icinga/icinga2/issues/3689) (CLI): CLI command 'repository add' doesn't work
* [#3685](https://github.com/icinga/icinga2/issues/3685) (CLI): node wizard checks for /var/lib/icinga2/ca directory but not the files
* [#3682](https://github.com/icinga/icinga2/issues/3682) (ITL): Indentation in command-plugins.conf
* [#3680](https://github.com/icinga/icinga2/issues/3680) (Installation): Incorrect redirect for stderr in /usr/lib/icinga2/prepare-dirs
* [#3674](https://github.com/icinga/icinga2/issues/3674): lib/base/process.cpp SIGSEGV on Debian squeeze / RHEL 6
* [#3673](https://github.com/icinga/icinga2/issues/3673) (Documentation): Documentation for schedule-downtime is missing required paremeters
* [#3671](https://github.com/icinga/icinga2/issues/3671) (API): Icinga 2 crashes when ScheduledDowntime objects are used
* [#3670](https://github.com/icinga/icinga2/issues/3670) (CLI): API setup command incorrectly overwrites existing certificates
* [#3665](https://github.com/icinga/icinga2/issues/3665) (CLI): "node wizard" does not ask user to verify SSL certificate
* [#3656](https://github.com/icinga/icinga2/issues/3656) (Packages): Build fails on SLES 11 SP3 with GCC 4.8
* [#3594](https://github.com/icinga/icinga2/issues/3594) (Documentation): Documentation example in "Access Object Attributes at Runtime" doesn't work correctly
* [#3391](https://github.com/icinga/icinga2/issues/3391) (Documentation): Incorrect web inject URL in documentation
* 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.
* [#2755](https://github.com/icinga/icinga2/issues/2755) (DB IDO): Implement support for CLIENT_MULTI_STATEMENTS
* [#2741](https://github.com/icinga/icinga2/issues/2741) (DB IDO): Add support for current and current-1 db ido schema version
* [#2740](https://github.com/icinga/icinga2/issues/2740) (DB IDO): Add embedded DB IDO version health check
* [#2722](https://github.com/icinga/icinga2/issues/2722): Allow some of the Array and Dictionary methods to be inlined by the compiler
* [#2514](https://github.com/icinga/icinga2/issues/2514): 'icinga2 console' should serialize temporary attributes (rather than just config + state)
* [#2474](https://github.com/icinga/icinga2/issues/2474) (Graphite): graphite writer should pass "-" in host names and "." in perf data
* [#2438](https://github.com/icinga/icinga2/issues/2438) (API): Add icinga, cluster, cluster-zone check information to the ApiListener status handler
* [#2268](https://github.com/icinga/icinga2/issues/2268) (Configuration): Validators should be implemented in (auto-generated) native code
### Bug
* [#3669](https://github.com/icinga/icinga2/issues/3669): Use notify_one in WorkQueue::Enqueue
* [#3667](https://github.com/icinga/icinga2/issues/3667): Utility::FormatErrorNumber fails when error message uses arguments
* [#3662](https://github.com/icinga/icinga2/issues/3662) (Packages): Download URL for NSClient++ is incorrect
* [#3649](https://github.com/icinga/icinga2/issues/3649) (DB IDO): Group memberships are not updated for runtime created objects
* [#3648](https://github.com/icinga/icinga2/issues/3648) (API): API overwrites (and then deletes) config file when trying to create an object that already exists
* [#3647](https://github.com/icinga/icinga2/issues/3647) (API): Don't allow users to set state attributes via PUT
* [#3645](https://github.com/icinga/icinga2/issues/3645): Deadlock in MacroProcessor::EvaluateFunction
* [#3638](https://github.com/icinga/icinga2/issues/3638) (Documentation): Documentation for /v1/types
* [#3635](https://github.com/icinga/icinga2/issues/3635): modify_attribute: object cannot be cloned
* [#3633](https://github.com/icinga/icinga2/issues/3633) (API): Detailed error message is missing when object creation via API fails
* [#3632](https://github.com/icinga/icinga2/issues/3632) (API): API call doesn't fail when trying to use a template that doesn't exist
* [#3626](https://github.com/icinga/icinga2/issues/3626) (Documentation): Icinga 2 API Docs
* [#3625](https://github.com/icinga/icinga2/issues/3625): Improve location information for errors in API filters
* [#3622](https://github.com/icinga/icinga2/issues/3622) (API): /v1/console should only use a single permission
* [#3621](https://github.com/icinga/icinga2/issues/3621) (Documentation): Documentation should not reference real host names
* [#3620](https://github.com/icinga/icinga2/issues/3620) (API): 'remove-comment' action does not support filters
* [#3619](https://github.com/icinga/icinga2/issues/3619) (CLI): 'api setup' should create a user even when api feature is already enabled
* [#3618](https://github.com/icinga/icinga2/issues/3618) (CLI): Autocompletion doesn't work in the debugger
* [#3617](https://github.com/icinga/icinga2/issues/3617) (API): There's a variable called 'string' in filter expressions
* [#3615](https://github.com/icinga/icinga2/issues/3615) (Packages): Update OpenSSL for the Windows builds
* [#3614](https://github.com/icinga/icinga2/issues/3614) (Installation): Don't try to use --gc-sections on Solaris
* [#3602](https://github.com/icinga/icinga2/issues/3602) (DB IDO): Async mysql queries aren't logged in the debug log
* [#3601](https://github.com/icinga/icinga2/issues/3601): Don't validate custom attributes that aren't strings
* [#3600](https://github.com/icinga/icinga2/issues/3600): Crash in ConfigWriter::EmitIdentifier
* [#3598](https://github.com/icinga/icinga2/issues/3598) (CLI): Spaces do not work in command arguments
* [#3595](https://github.com/icinga/icinga2/issues/3595) (DB IDO): Change session_token to integer timestamp
* [#3593](https://github.com/icinga/icinga2/issues/3593): Fix indentation for Dictionary::ToString
* [#3587](https://github.com/icinga/icinga2/issues/3587): Crash in ConfigWriter::GetKeywords
* [#3586](https://github.com/icinga/icinga2/issues/3586) (Cluster): Circular reference between *Connection and TlsStream objects
* [#3583](https://github.com/icinga/icinga2/issues/3583) (API): Mismatch on {comment,downtime}_id vs internal name in the API
* [#3581](https://github.com/icinga/icinga2/issues/3581): CreatePipeOverlapped is not thread-safe
* [#3579](https://github.com/icinga/icinga2/issues/3579): Figure out whether we need the Checkable attributes state_raw, last_state_raw, hard_state_raw
* [#3577](https://github.com/icinga/icinga2/issues/3577) (Plugins): Increase the default timeout for OS checks
* [#3574](https://github.com/icinga/icinga2/issues/3574) (API): Plural name rule not treating edge case correcly
* [#3554](https://github.com/icinga/icinga2/issues/3554) (Configuration): Crash in IndexerExpression::GetReference when attempting to set an attribute on an object other than the current one
* [#3551](https://github.com/icinga/icinga2/issues/3551) (Configuration): Line continuation is broken in 'icinga2 console'
* [#3548](https://github.com/icinga/icinga2/issues/3548) (Configuration): Don't allow scripts to access FANoUserView attributes in sandbox mode
* [#3547](https://github.com/icinga/icinga2/issues/3547) (Documentation): Incorrect attribute name in the documentation
* [#3546](https://github.com/icinga/icinga2/issues/3546) (Cluster): Improve error handling during log replay
* [#3536](https://github.com/icinga/icinga2/issues/3536) (CLI): Improve --help output for the --log-level option
* [#3535](https://github.com/icinga/icinga2/issues/3535) (CLI): "Command options" is empty when executing icinga2 without any argument.
* [#3534](https://github.com/icinga/icinga2/issues/3534) (DB IDO): Custom variables aren't removed from the IDO database
* [#3532](https://github.com/icinga/icinga2/issues/3532) (ITL): 'dig_lookup' custom attribute for the 'dig' check command isn't optional
* [#3524](https://github.com/icinga/icinga2/issues/3524) (DB IDO): Changing a group's attributes causes duplicate rows in the icinga_*group_members table
* [#3522](https://github.com/icinga/icinga2/issues/3522) (Packages): 'which' isn't available in a minimal CentOS container
* [#3517](https://github.com/icinga/icinga2/issues/3517): OpenBSD: hang during ConfigItem::ActivateItems() in daemon startup
* [#3514](https://github.com/icinga/icinga2/issues/3514) (CLI): Misleading wording in generated zones.conf
* [#3511](https://github.com/icinga/icinga2/issues/3511) (Documentation): Escaping $ not documented
* [#3501](https://github.com/icinga/icinga2/issues/3501) (API): restore_attribute does not work in clusters
* [#3489](https://github.com/icinga/icinga2/issues/3489) (API): Ensure that modified attributes work with clients with local config and no zone attribute
* [#3485](https://github.com/icinga/icinga2/issues/3485) (API): Icinga2 API performance regression
* [#3482](https://github.com/icinga/icinga2/issues/3482) (API): Version updates are not working properly
* [#3477](https://github.com/icinga/icinga2/issues/3477) (Documentation): Remove duplicated text in section "Apply Notifications to Hosts and Services"
* [#3468](https://github.com/icinga/icinga2/issues/3468) (CLI): icinga2 repository host add does not work
* [#3462](https://github.com/icinga/icinga2/issues/3462): ConfigWriter::EmitValue should format floating point values properly
* [#3461](https://github.com/icinga/icinga2/issues/3461) (API): Config sync does not set endpoint syncing and plays disconnect-sync ping-pong
* [#3459](https://github.com/icinga/icinga2/issues/3459) (API): /v1/objects/<type> returns an HTTP error when there are no objects of that type
* [#3457](https://github.com/icinga/icinga2/issues/3457) (API): Config Sync shouldn't send updates for objects the client doesn't have access to
* [#3451](https://github.com/icinga/icinga2/issues/3451) (API): Properly encode URLs in Icinga Studio
* [#3448](https://github.com/icinga/icinga2/issues/3448) (API): Use a temporary file for modified-attributes.conf updates
* [#3445](https://github.com/icinga/icinga2/issues/3445) (Configuration): ASCII NULs don't work in string values
* [#3438](https://github.com/icinga/icinga2/issues/3438) (API): URL parser is cutting off last character
* [#3434](https://github.com/icinga/icinga2/issues/3434) (API): PerfdataValue is not properly serialised in status queries
* [#3433](https://github.com/icinga/icinga2/issues/3433) (API): Move the Collection status handler to /v1/status
* [#3422](https://github.com/icinga/icinga2/issues/3422) (Configuration): Detect infinite recursion in user scripts
* [#3411](https://github.com/icinga/icinga2/issues/3411) (API): API actions do not follow REST guidelines
* [#3383](https://github.com/icinga/icinga2/issues/3383) (DB IDO): Add object_id where clause for icinga_downtimehistory
* [#3345](https://github.com/icinga/icinga2/issues/3345) (API): Error handling in HttpClient/icinga-studio
* [#3338](https://github.com/icinga/icinga2/issues/3338) (CLI): Unused variable console_type in consolecommand.cpp
* [#3336](https://github.com/icinga/icinga2/issues/3336) (API): Filtering by name doesn't work
* [#3335](https://github.com/icinga/icinga2/issues/3335) (API): HTTP keep-alive does not work with .NET WebClient
* [#3330](https://github.com/icinga/icinga2/issues/3330): Unused variable 'dobj' in configobject.tcpp
* [#3328](https://github.com/icinga/icinga2/issues/3328) (Configuration): Don't parse config files for branches not taken
* [#3315](https://github.com/icinga/icinga2/issues/3315) (Configuration): Crash in ConfigCompiler::RegisterZoneDir
* [#3302](https://github.com/icinga/icinga2/issues/3302) (API): Implement support for '.' when persisting modified attributes
* [#3301](https://github.com/icinga/icinga2/issues/3301): Fix formatting in mkclass
* [#3264](https://github.com/icinga/icinga2/issues/3264) (API): Do not let API users create objects with invalid names
* [#3250](https://github.com/icinga/icinga2/issues/3250) (API): Missing conf.d or zones.d cause parse failure
* [#3248](https://github.com/icinga/icinga2/issues/3248): Crash during cluster log replay
* [#3244](https://github.com/icinga/icinga2/issues/3244) (CLI): Color codes in console prompt break line editing
* [#3242](https://github.com/icinga/icinga2/issues/3242) (CLI): Crash in ScriptFrame::~ScriptFrame
* [#3227](https://github.com/icinga/icinga2/issues/3227) (CLI): console autocompletion should take into account parent classes' prototypes
* [#3215](https://github.com/icinga/icinga2/issues/3215) (API): win32 build: S_ISDIR is undefined
* [#3205](https://github.com/icinga/icinga2/issues/3205) (Configuration): ScriptFrame's 'Self' attribute gets corrupted when an expression throws an exception
* [#3202](https://github.com/icinga/icinga2/issues/3202) (Configuration): Operator - should not work with "" and numbers
* [#3198](https://github.com/icinga/icinga2/issues/3198): Accessing field ID 0 ("prototype") fails
* [#3087](https://github.com/icinga/icinga2/issues/3087) (DB IDO): Fix incorrect datatype for the check_source column in icinga_statehistory table
* [#2974](https://github.com/icinga/icinga2/issues/2974) (Configuration): Remove incorrect 'ignore where' expression from 'ssh' apply example
* [#2939](https://github.com/icinga/icinga2/issues/2939) (Cluster): Wrong vars changed handler in api events
* [#2893](https://github.com/icinga/icinga2/issues/2893) (Installation): icinga demo module can not be built
* [#2884](https://github.com/icinga/icinga2/issues/2884) (DB IDO): PostgreSQL schema sets default timestamps w/o time zone
* [#2879](https://github.com/icinga/icinga2/issues/2879): Compiler warnings with latest HEAD 5ac5f98
* [#2870](https://github.com/icinga/icinga2/issues/2870) (DB IDO): pgsql driver does not have latest mysql changes synced
* [#2863](https://github.com/icinga/icinga2/issues/2863) (Configuration): Crash in VMOps::FunctionCall
* [#2858](https://github.com/icinga/icinga2/issues/2858) (Packages): Specify pidfile for status_of_proc in the init script
* [#2850](https://github.com/icinga/icinga2/issues/2850) (Configuration): Validation fails even though field is not required
* [#2824](https://github.com/icinga/icinga2/issues/2824) (DB IDO): Failed assertion in IdoMysqlConnection::FieldToEscapedString
* [#2808](https://github.com/icinga/icinga2/issues/2808) (Configuration): Make default notifications include users from host.vars.notification.mail.users
* [#2803](https://github.com/icinga/icinga2/issues/2803): Don't allow users to instantiate the StreamLogger class
* [#2802](https://github.com/icinga/icinga2/issues/2802) (Packages): Update OpenSSL for the Windows builds
* [#3351](https://github.com/icinga/icinga2/issues/3351) (Documentation): Command Execution Bridge: Use of same endpoint names in examples for a better understanding
* [#3327](https://github.com/icinga/icinga2/issues/3327): Implement a way for users to resolve commands+arguments in the same way Icinga does
* [#3235](https://github.com/icinga/icinga2/issues/3235) (ITL): check_command for plugin check_hpasm
* [#3214](https://github.com/icinga/icinga2/issues/3214) (ITL): add check command for check_nwc_health
* [#3092](https://github.com/icinga/icinga2/issues/3092) (Documentation): Add FreeBSD setup to getting started
* [#2969](https://github.com/icinga/icinga2/issues/2969) (Performance Data): Add timestamp support for OpenTsdbWriter
### Bug
* [#3492](https://github.com/icinga/icinga2/issues/3492) (Cluster): Wrong connection log message for global zones
* [#3491](https://github.com/icinga/icinga2/issues/3491): cidr_match() doesn't properly validate IP addresses
* [#3487](https://github.com/icinga/icinga2/issues/3487) (Cluster): ApiListener::SyncRelayMessage doesn't send message to all zone members
* [#3478](https://github.com/icinga/icinga2/issues/3478) (Documentation): Broken table layout in chapter 20
* [#3476](https://github.com/icinga/icinga2/issues/3476) (Compat): Missing Start call for base class in CheckResultReader
* [#3475](https://github.com/icinga/icinga2/issues/3475) (Compat): Checkresultreader is unable to process host checks
* [#3466](https://github.com/icinga/icinga2/issues/3466): "Not after" value overflows in X509 certificates on RHEL5
* [#3464](https://github.com/icinga/icinga2/issues/3464) (Cluster): Don't log messages we've already relayed to all relevant zones
* [#3460](https://github.com/icinga/icinga2/issues/3460) (Performance Data): Performance Data Labels including '=' will not be displayed correct
* [#3454](https://github.com/icinga/icinga2/issues/3454): Percent character whitespace on Windows
* [#3449](https://github.com/icinga/icinga2/issues/3449) (Cluster): Don't throw an exception when replaying the current replay log file
* [#3446](https://github.com/icinga/icinga2/issues/3446): Deadlock in TlsStream::Close
* [#3428](https://github.com/icinga/icinga2/issues/3428) (Configuration): config checker reports wrong error on apply for rules
* [#3427](https://github.com/icinga/icinga2/issues/3427) (Configuration): Config parser problem with parenthesis and newlines
* [#3423](https://github.com/icinga/icinga2/issues/3423) (Configuration): Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate
* [#3417](https://github.com/icinga/icinga2/issues/3417) (Configuration): null + null should not be ""
* [#3416](https://github.com/icinga/icinga2/issues/3416) (API): Problem with customvariable table update/insert queries
* [#3409](https://github.com/icinga/icinga2/issues/3409) (Documentation): Windows Check Update -> Access denied
* [#3379](https://github.com/icinga/icinga2/issues/3379) (Installation): Rather use unique SID when granting rights for folders in NSIS on Windows Client
* [#3373](https://github.com/icinga/icinga2/issues/3373) (Livestatus): Improve error message for socket errors in Livestatus
* [#3324](https://github.com/icinga/icinga2/issues/3324) (Cluster): Deadlock in WorkQueue::Enqueue
* [#3204](https://github.com/icinga/icinga2/issues/3204) (Configuration): String methods cannot be invoked on an empty string
* [#3045](https://github.com/icinga/icinga2/issues/3045) (Packages): icinga2 ido mysql misspelled database username
* [#3038](https://github.com/icinga/icinga2/issues/3038) (Livestatus): sending multiple Livestatus commands rejects all except the first
* [#2568](https://github.com/icinga/icinga2/issues/2568) (Cluster): check cluster-zone returns wrong log lag
* [#3254](https://github.com/icinga/icinga2/issues/3254) (Livestatus): Use an empty dictionary for the 'this' scope when executing commands with Livestatus
* [#3253](https://github.com/icinga/icinga2/issues/3253): Implement the Dictionary#keys method
* [#3213](https://github.com/icinga/icinga2/issues/3213) (ITL): add check command for check_mailq
* [#3208](https://github.com/icinga/icinga2/issues/3208) (ITL): Add check_jmx4perl to ITL
* [#3206](https://github.com/icinga/icinga2/issues/3206): Implement Dictionary#get and Array#get
* [#3186](https://github.com/icinga/icinga2/issues/3186) (ITL): check_command for plugin check_clamd
* [#3170](https://github.com/icinga/icinga2/issues/3170) (Configuration): Adding "-r" parameter to the check_load command for dividing the load averages by the number of CPUs.
* [#3222](https://github.com/icinga/icinga2/issues/3222) (Configuration): Dict initializer incorrectly re-initializes field that is set to an empty string
* [#3216](https://github.com/icinga/icinga2/issues/3216) (Tests): Build fix for Boost 1.59
* [#3211](https://github.com/icinga/icinga2/issues/3211) (Configuration): Operator + is inconsistent when used with empty and non-empty strings
* [#3200](https://github.com/icinga/icinga2/issues/3200) (CLI): icinga2 node wizard don't take zone_name input
* [#3199](https://github.com/icinga/icinga2/issues/3199): Trying to set a field for a non-object instance fails
* [#3196](https://github.com/icinga/icinga2/issues/3196) (Cluster): Add log for missing EventCommand for command_endpoints
* [#3194](https://github.com/icinga/icinga2/issues/3194): Set correct X509 version for certificates
* [#3149](https://github.com/icinga/icinga2/issues/3149) (CLI): missing config warning on empty port in endpoints
* [#3010](https://github.com/icinga/icinga2/issues/3010) (Cluster): cluster check w/ immediate parent and child zone endpoints
* [#2867](https://github.com/icinga/icinga2/issues/2867): Missing DEL_DOWNTIME_BY_HOST_NAME command required by Classic UI 1.x
* [#2352](https://github.com/icinga/icinga2/issues/2352) (Cluster): Reload does not work on Windows
* [#3085](https://github.com/icinga/icinga2/issues/3085) (Documentation): Merge documentation fixes from GitHub
* [#3081](https://github.com/icinga/icinga2/issues/3081) (Installation): changelog.py: Allow to define project, make custom_fields and changes optional
* [#3073](https://github.com/icinga/icinga2/issues/3073) (Installation): Enhance changelog.py with wordpress blogpost output
* [#3066](https://github.com/icinga/icinga2/issues/3066) (ITL): snmpv3 CheckCommand: Add possibility to set securityLevel
* [#3064](https://github.com/icinga/icinga2/issues/3064) (ITL): Add elasticsearch checkcommand to itl
* [#2994](https://github.com/icinga/icinga2/issues/2994) (Installation): Bundle NSClient++ in Windows Installer
* [#2971](https://github.com/icinga/icinga2/issues/2971) (Performance Data): Add timestamp support for PerfdataWriter
* [#2966](https://github.com/icinga/icinga2/issues/2966) (Documentation): Include Windows support details in the documentation
* [#2965](https://github.com/icinga/icinga2/issues/2965) (Documentation): ITL Documentation: Add a link for passing custom attributes as command parameters
* [#2956](https://github.com/icinga/icinga2/issues/2956) (ITL): Add arguments to "tcp" CheckCommand
* [#2955](https://github.com/icinga/icinga2/issues/2955) (ITL): Add arguments to "ftp" CheckCommand
* [#2954](https://github.com/icinga/icinga2/issues/2954) (ITL): Add arguments to "dns" CheckCommand
* [#2949](https://github.com/icinga/icinga2/issues/2949) (ITL): Add 'check_drivesize' as nscp-local check command
* [#2938](https://github.com/icinga/icinga2/issues/2938) (ITL): Add SHOWALL to NSCP Checkcommand
* [#2817](https://github.com/icinga/icinga2/issues/2817) (Configuration): Add CheckCommand objects for Windows plugins
* [#2794](https://github.com/icinga/icinga2/issues/2794) (Plugins): Add check_perfmon plugin for Windows
* [#2451](https://github.com/icinga/icinga2/issues/2451) (Installation): Extend Windows installer with an update mode
* [#2279](https://github.com/icinga/icinga2/issues/2279) (Documentation): Add documentation and CheckCommands for the windows plugins
### Bug
* [#3062](https://github.com/icinga/icinga2/issues/3062) (Documentation): Documentation: Update the link to register a new Icinga account
* [#3051](https://github.com/icinga/icinga2/issues/3051) (Plugins): plugins-contrib.d/databases.conf: wrong argument for mssql_health
* [#3043](https://github.com/icinga/icinga2/issues/3043) (Compat): Multiline vars are broken in objects.cache output
* [#3039](https://github.com/icinga/icinga2/issues/3039) (Compat): Multi line output not correctly handled from compat channels
* [#3016](https://github.com/icinga/icinga2/issues/3016) (Installation): Wrong permission etc on windows
* [#3015](https://github.com/icinga/icinga2/issues/3015) (Documentation): Typo in Configuration Best Practice
* [#3007](https://github.com/icinga/icinga2/issues/3007) (Configuration): Disk and 'icinga' services are missing in the default Windows config
* [#3006](https://github.com/icinga/icinga2/issues/3006) (Configuration): Some checks in the default Windows configuration fail
* [#3004](https://github.com/icinga/icinga2/issues/3004) (Installation): --scm-installs fails when the service is already installed
* [#2986](https://github.com/icinga/icinga2/issues/2986) (DB IDO): Missing custom attributes in backends if name is equal to object attribute
* [#2973](https://github.com/icinga/icinga2/issues/2973) (Packages): SPEC: Give group write permissions for perfdata dir
* [#2959](https://github.com/icinga/icinga2/issues/2959) (ITL): 'disk': wrong order of threshold command arguments
* [#2952](https://github.com/icinga/icinga2/issues/2952) (DB IDO): Incorrect type and state filter mapping for User objects in DB IDO
* [#2951](https://github.com/icinga/icinga2/issues/2951) (DB IDO): Downtimes are always "fixed"
* [#2950](https://github.com/icinga/icinga2/issues/2950) (Documentation): Missing ")" in last Apply Rules example
* [#2945](https://github.com/icinga/icinga2/issues/2945) (DB IDO): Possible DB deadlock
* [#2940](https://github.com/icinga/icinga2/issues/2940) (Configuration): node update-config reports critical and warning
* [#2935](https://github.com/icinga/icinga2/issues/2935) (Configuration): WIN: syslog is not an enable-able feature in windows
* [#2894](https://github.com/icinga/icinga2/issues/2894) (DB IDO): Wrong timestamps w/ historical data replay in DB IDO
* [#2880](https://github.com/icinga/icinga2/issues/2880) (ITL): Including <nscp> on Linux fails with unregistered function
* [#2839](https://github.com/icinga/icinga2/issues/2839) (CLI): Node wont connect properly to master if host is is not set for Endpoint on new installs
* [#2836](https://github.com/icinga/icinga2/issues/2836): Icinga2 --version: Error showing Distribution
* [#2819](https://github.com/icinga/icinga2/issues/2819) (Configuration): Syntax Highlighting: host.address vs host.add
* [#2891](https://github.com/icinga/icinga2/issues/2891) (ITL): web.conf is not in the RPM package
* [#2890](https://github.com/icinga/icinga2/issues/2890) (ITL): check_disk order of command arguments
* [#2888](https://github.com/icinga/icinga2/issues/2888) (Installation): Vim syntax: Match groups before host/service/user objects
* [#2886](https://github.com/icinga/icinga2/issues/2886): Acknowledging problems w/ expire time does not add the expiry information to the related comment for IDO and compat
* [#2883](https://github.com/icinga/icinga2/issues/2883) (Notifications): Multiple log messages w/ "Attempting to send notifications for notification object"
* [#2882](https://github.com/icinga/icinga2/issues/2882) (DB IDO): scheduled_downtime_depth column is not reset when a downtime ends or when a downtime is being removed
* [#2881](https://github.com/icinga/icinga2/issues/2881) (DB IDO): Downtimes which have been triggered are not properly recorded in the database
* [#2878](https://github.com/icinga/icinga2/issues/2878) (DB IDO): Don't update scheduleddowntime table w/ trigger_time column when only adding a downtime
* [#2876](https://github.com/icinga/icinga2/issues/2876) (Documentation): Typo in graphite feature enable documentation
* [#2868](https://github.com/icinga/icinga2/issues/2868) (Documentation): Fix a typo
* [#2855](https://github.com/icinga/icinga2/issues/2855): Fix complexity class for Dictionary::Get
* [#2853](https://github.com/icinga/icinga2/issues/2853) (CLI): Node wizard should only accept 'y', 'n', 'Y' and 'N' as answers for boolean questions
* [#2852](https://github.com/icinga/icinga2/issues/2852) (Installation): Windows Build: Flex detection
* [#2842](https://github.com/icinga/icinga2/issues/2842) (Configuration): Default max_check_attempts should be lower for hosts than for services
* [#2840](https://github.com/icinga/icinga2/issues/2840) (Configuration): Validation errors for time ranges which span the DST transition
* [#2837](https://github.com/icinga/icinga2/issues/2837) (Documentation): Fix a minor markdown error
* [#2834](https://github.com/icinga/icinga2/issues/2834) (ITL): Add arguments to the UPS check
* [#2832](https://github.com/icinga/icinga2/issues/2832) (Documentation): Reword documentation of check_address
* [#2827](https://github.com/icinga/icinga2/issues/2827) (Configuration): logrotate does not work
* [#2801](https://github.com/icinga/icinga2/issues/2801) (Cluster): command_endpoint check_results are not replicated to other endpoints in the same zone
* [#2793](https://github.com/icinga/icinga2/issues/2793) (Packages): logrotate doesn't work on Ubuntu
* [#2806](https://github.com/icinga/icinga2/issues/2806) (Documentation): Move release info in INSTALL.md into a separate file
* [#2799](https://github.com/icinga/icinga2/issues/2799) (ITL): Add "random" CheckCommand for test and demo purposes
* [#2771](https://github.com/icinga/icinga2/issues/2771): Include more details in --version
* [#2756](https://github.com/icinga/icinga2/issues/2756) (Documentation): Add "access objects at runtime" examples to advanced section
* [#2743](https://github.com/icinga/icinga2/issues/2743): New function: parse_performance_data
* [#2738](https://github.com/icinga/icinga2/issues/2738) (Documentation): Update documentation for "apply for" rules
* [#2737](https://github.com/icinga/icinga2/issues/2737) (Notifications): Show state/type filter names in notice/debug log
### Bug
* [#2828](https://github.com/icinga/icinga2/issues/2828): Array in command arguments doesn't work
* [#2825](https://github.com/icinga/icinga2/issues/2825) (Documentation): Fix incorrect perfdata templates in the documentation
* [#2823](https://github.com/icinga/icinga2/issues/2823) (ITL): wrong 'dns_lookup' custom attribute default in command-plugins.conf
* [#2818](https://github.com/icinga/icinga2/issues/2818) (Configuration): Local variables in "apply for" are overridden
* [#2816](https://github.com/icinga/icinga2/issues/2816) (CLI): Segmentation fault when executing "icinga2 pki new-cert"
* [#2812](https://github.com/icinga/icinga2/issues/2812) (Configuration): Return doesn't work inside loops
* [#2807](https://github.com/icinga/icinga2/issues/2807) (Configuration): Figure out why command validators are not triggered
* [#2779](https://github.com/icinga/icinga2/issues/2779) (Documentation): Correct HA documentation
* [#2778](https://github.com/icinga/icinga2/issues/2778) (Configuration): object Notification + apply Service fails with error "...refers to service which doesn't exist"
* [#2777](https://github.com/icinga/icinga2/issues/2777) (Documentation): Typo and invalid example in the runtime macro documentation
* [#2776](https://github.com/icinga/icinga2/issues/2776) (Documentation): Remove prompt to create a TicketSalt from the wizard
* [#2775](https://github.com/icinga/icinga2/issues/2775) (Documentation): Explain processing logic/order of apply rules with for loops
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
* [#2657](https://github.com/icinga/icinga2/issues/2657) (Cluster): Show slave lag for the cluster-zone check
* [#2652](https://github.com/icinga/icinga2/issues/2652) (ITL): Rename PluginsContribDir to PluginContribDir
* [#2649](https://github.com/icinga/icinga2/issues/2649) (ITL): Snmp CheckCommand misses various options
* [#2635](https://github.com/icinga/icinga2/issues/2635) (Configuration): introduce time dependent variable values
* [#2634](https://github.com/icinga/icinga2/issues/2634) (Cluster): Add the ability to use a CA certificate as a way of verifying hosts for CSR autosigning
* [#2429](https://github.com/icinga/icinga2/issues/2429) (Configuration): Figure out how variable scopes should work
* [#2426](https://github.com/icinga/icinga2/issues/2426) (Configuration): Implement a way to call methods on objects
* [#2421](https://github.com/icinga/icinga2/issues/2421) (Configuration): Implement a way to remove dictionary keys
* [#2418](https://github.com/icinga/icinga2/issues/2418) (Plugins): Windows plugins should behave like their Linux cousins
* [#2408](https://github.com/icinga/icinga2/issues/2408) (Configuration): ConfigCompiler::HandleInclude should return an inline dictionary
* [#2407](https://github.com/icinga/icinga2/issues/2407) (Configuration): Implement a boolean sub-type for the Value class
* [#2405](https://github.com/icinga/icinga2/issues/2405): Disallow calling strings as functions
* [#2399](https://github.com/icinga/icinga2/issues/2399) (Documentation): Allow name changed from inside the object
* [#2396](https://github.com/icinga/icinga2/issues/2396) (Configuration): Evaluate usage of function()
* [#2391](https://github.com/icinga/icinga2/issues/2391): Improve output of ToString for type objects
* [#2390](https://github.com/icinga/icinga2/issues/2390): Register type objects as global variables
* [#2387](https://github.com/icinga/icinga2/issues/2387) (Documentation): Documentation enhancement for snmp traps and passive checks.
* [#2374](https://github.com/icinga/icinga2/issues/2374) (Packages): Move the config file for the ido-*sql features into the icinga2-ido-* packages
* [#2367](https://github.com/icinga/icinga2/issues/2367) (Configuration): The lexer shouldn't accept escapes for characters which don't have to be escaped
* [#2365](https://github.com/icinga/icinga2/issues/2365) (DB IDO): Implement socket_path attribute for the IdoMysqlConnection class
* [#2355](https://github.com/icinga/icinga2/issues/2355) (Configuration): Implement official support for user-defined functions and the "for" keyword
* [#2351](https://github.com/icinga/icinga2/issues/2351) (Plugins): Windows agent is missing the standard plugin check_ping
* [#2324](https://github.com/icinga/icinga2/issues/2324) (Configuration): Implement the "if" and "else" keywords
* [#2323](https://github.com/icinga/icinga2/issues/2323) (Configuration): Figure out whether Number + String should implicitly convert the Number argument to a string
* [#2322](https://github.com/icinga/icinga2/issues/2322) (Configuration): Make the config parser thread-safe
* [#2318](https://github.com/icinga/icinga2/issues/2318) (Configuration): Implement the % operator
* [#2312](https://github.com/icinga/icinga2/issues/2312): Move the cast functions into libbase
* [#2310](https://github.com/icinga/icinga2/issues/2310) (Configuration): Implement unit tests for the config parser
* [#2304](https://github.com/icinga/icinga2/issues/2304): Implement an option to disable building the Demo component
* [#2303](https://github.com/icinga/icinga2/issues/2303): Implement an option to disable building the Livestatus module
* [#2302](https://github.com/icinga/icinga2/issues/2302) (Installation): Don't build db_ido when both MySQL and PostgreSQL aren't enabled
* [#2300](https://github.com/icinga/icinga2/issues/2300) (Notifications): Implement the DISABLE_HOST_SVC_NOTIFICATIONS and ENABLE_HOST_SVC_NOTIFICATIONS commands
* [#2298](https://github.com/icinga/icinga2/issues/2298) (Plugins): Missing check_disk output on Windows
* [#2294](https://github.com/icinga/icinga2/issues/2294) (Configuration): Implement an AST Expression for T_CONST
* [#2290](https://github.com/icinga/icinga2/issues/2290): Rename _DEBUG to I2_DEBUG
* [#2286](https://github.com/icinga/icinga2/issues/2286) (Configuration): Redesign how stack frames work for scripts
* [#2265](https://github.com/icinga/icinga2/issues/2265): ConfigCompiler::Compile* should return an AST node
* [#2264](https://github.com/icinga/icinga2/issues/2264) (Configuration): ConfigCompiler::HandleInclude* should return an AST node
* [#2262](https://github.com/icinga/icinga2/issues/2262) (CLI): Add an option that hides CLI commands
* [#2260](https://github.com/icinga/icinga2/issues/2260) (Configuration): Evaluate apply/object rules when the parent objects are created
* [#2211](https://github.com/icinga/icinga2/issues/2211) (Configuration): Variable from for loop not usable in assign statement
* [#2186](https://github.com/icinga/icinga2/issues/2186) (Configuration): Access object runtime attributes in custom vars & command arguments
* [#2176](https://github.com/icinga/icinga2/issues/2176) (Configuration): Please add labels in SNMP checks
* [#2697](https://github.com/icinga/icinga2/issues/2697) (Configuration): Memory leak in Expression::GetReference
* [#2695](https://github.com/icinga/icinga2/issues/2695) (Configuration): else if doesn't work without an else branch
* [#2693](https://github.com/icinga/icinga2/issues/2693): Check whether the new TimePeriod validator is working as expected
* [#2692](https://github.com/icinga/icinga2/issues/2692) (CLI): Resource leak in TroubleshootCommand::ObjectInfo
* [#2691](https://github.com/icinga/icinga2/issues/2691) (CLI): Resource leak in TroubleshootCommand::Run
* [#2689](https://github.com/icinga/icinga2/issues/2689): Check if scheduled downtimes work properly
* [#2688](https://github.com/icinga/icinga2/issues/2688) (Plugins): check_memory tool shows incorrect memory size on windows
* [#2685](https://github.com/icinga/icinga2/issues/2685) (Cluster): Don't accept config updates for zones for which we have an authoritative copy of the config
* [#2684](https://github.com/icinga/icinga2/issues/2684) (Cluster): Icinga crashed on SocketEvent
* [#2683](https://github.com/icinga/icinga2/issues/2683) (Cluster): Crash in ApiClient::TimeoutTimerHandler
* [#2680](https://github.com/icinga/icinga2/issues/2680): Deadlock in TlsStream::Handshake
* [#2679](https://github.com/icinga/icinga2/issues/2679) (Cluster): Deadlock in ApiClient::Disconnect
* [#2677](https://github.com/icinga/icinga2/issues/2677): Crash in SocketEvents::Register
* [#2676](https://github.com/icinga/icinga2/issues/2676) (Livestatus): Windows build fails
* [#2674](https://github.com/icinga/icinga2/issues/2674) (DB IDO): Hosts: process_performance_data = 0 in database even though enable_perfdata = 1 in config
* [#2671](https://github.com/icinga/icinga2/issues/2671) (DB IDO): Crash in DbObject::SendStatusUpdate
* [#2670](https://github.com/icinga/icinga2/issues/2670) (Compat): Valgrind warning for ExternalCommandListener::CommandPipeThread
* [#2669](https://github.com/icinga/icinga2/issues/2669): Crash in ApiEvents::RepositoryTimerHandler
* [#2665](https://github.com/icinga/icinga2/issues/2665) (Livestatus): livestatus limit header not working
* [#2661](https://github.com/icinga/icinga2/issues/2661) (ITL): ITL: The procs check command uses spaces instead of tabs
* [#2660](https://github.com/icinga/icinga2/issues/2660) (Configuration): apply-for incorrectly converts loop var to string
* [#2593](https://github.com/icinga/icinga2/issues/2593) (Compat): last_hard_state missing in StatusDataWriter
* [#2589](https://github.com/icinga/icinga2/issues/2589) (Configuration): Stacktrace on Endpoint not belonging to a zone or multiple zones
* [#2586](https://github.com/icinga/icinga2/issues/2586): Icinga2 master doesn't change check-status when "accept_commands = true" is not set at client node
* [#2579](https://github.com/icinga/icinga2/issues/2579) (Configuration): Apply rule '' for host does not match anywhere!
* [#2452](https://github.com/icinga/icinga2/issues/2452) (Cluster): Agent checks fail when there's already a host with the same name
* [#2448](https://github.com/icinga/icinga2/issues/2448) (Configuration): User::ValidateFilters isn't being used
* [#2447](https://github.com/icinga/icinga2/issues/2447) (Configuration): ConfigCompilerContext::WriteObject crashes after ConfigCompilerContext::FinishObjectsFile was called
* [#2445](https://github.com/icinga/icinga2/issues/2445) (Configuration): segfault on startup
* [#2442](https://github.com/icinga/icinga2/issues/2442) (DB IDO): POSTGRES IDO: invalid syntax for integer: "true" while trying to update table icinga_hoststatus
* [#2441](https://github.com/icinga/icinga2/issues/2441) (CLI): console: Don't repeat line when we're reporting an error for the last line
* [#2435](https://github.com/icinga/icinga2/issues/2435) (Configuration): Location info for strings is incorrect
* [#2434](https://github.com/icinga/icinga2/issues/2434) (Configuration): Setting an attribute on an r-value fails
* [#2433](https://github.com/icinga/icinga2/issues/2433) (Configuration): Confusing error message when trying to set a field on a string
* [#2431](https://github.com/icinga/icinga2/issues/2431) (Configuration): icinga 2 Config Error needs to be more verbose
* [#2428](https://github.com/icinga/icinga2/issues/2428) (Configuration): Debug visualizer for the Value class is broken
* [#2427](https://github.com/icinga/icinga2/issues/2427) (Configuration): if doesn't work for non-boolean arguments
* [#2423](https://github.com/icinga/icinga2/issues/2423) (Configuration): Require at least one user for notification objects (user or as member of user_groups)
* [#2419](https://github.com/icinga/icinga2/issues/2419) (Configuration): Confusing error message for import
* [#2410](https://github.com/icinga/icinga2/issues/2410): The Boolean type change broke set_if
* [#2446](https://github.com/icinga/icinga2/issues/2446) (Compat): StatusDataWriter: Wrong export of event_handler_enabled
* [#2444](https://github.com/icinga/icinga2/issues/2444) (CLI): Remove usage info from --version
* [#2430](https://github.com/icinga/icinga2/issues/2430) (ITL): No option to specify timeout to check_snmp and snmp manubulon commands
* [#2422](https://github.com/icinga/icinga2/issues/2422) (Documentation): Setting a dictionary key to null does not cause the key/value to be removed
* [#2417](https://github.com/icinga/icinga2/issues/2417) (Tests): Unit tests fail on FreeBSD
* [#2416](https://github.com/icinga/icinga2/issues/2416) (DB IDO): DB IDO: Missing last_hard_state column update in {host,service}status tables
* [#2412](https://github.com/icinga/icinga2/issues/2412) (Documentation): Update host examples in Dependencies for Network Reachability documentation
* [#2411](https://github.com/icinga/icinga2/issues/2411): exception during config check
* [#2409](https://github.com/icinga/icinga2/issues/2409) (Documentation): Wrong command in documentation for installing Icinga 2 pretty printers.
* [#2404](https://github.com/icinga/icinga2/issues/2404) (Documentation): Livestatus: Replace unixcat with nc -U
* [#2394](https://github.com/icinga/icinga2/issues/2394): typeof does not work for numbers
* [#2381](https://github.com/icinga/icinga2/issues/2381): SIGABRT while evaluating apply rules
* [#2380](https://github.com/icinga/icinga2/issues/2380) (Configuration): typeof() seems to return null for arrays and dictionaries
* [#2376](https://github.com/icinga/icinga2/issues/2376) (Configuration): Apache 2.2 fails with new apache conf
* [#2371](https://github.com/icinga/icinga2/issues/2371) (Configuration): Test Classic UI config file with Apache 2.4
* [#2370](https://github.com/icinga/icinga2/issues/2370) (Cluster): update_config not updating configuration
* [#2369](https://github.com/icinga/icinga2/issues/2369) (Packages): SUSE packages %set_permissions post statement wasn't moved to common
* [#2368](https://github.com/icinga/icinga2/issues/2368) (Packages): /usr/lib/icinga2 is not owned by a package
* [#2360](https://github.com/icinga/icinga2/issues/2360): CLI `icinga2 node update-config` doesn't sync configs from remote clients as expected
* [#2354](https://github.com/icinga/icinga2/issues/2354) (DB IDO): Improve error reporting when libmysqlclient or libpq are missing
* [#2350](https://github.com/icinga/icinga2/issues/2350) (Cluster): Segfault on issuing node update-config
* [#2341](https://github.com/icinga/icinga2/issues/2341) (Cluster): execute checks locally if command_endpoint == local endpoint
* [#2292](https://github.com/icinga/icinga2/issues/2292) (Tests): The unit tests still crash sometimes
* [#2283](https://github.com/icinga/icinga2/issues/2283) (Cluster): Cluster heartbeats need to be more aggressive
* [#2266](https://github.com/icinga/icinga2/issues/2266) (CLI): "node wizard" shouldn't crash when SaveCert fails
* [#2255](https://github.com/icinga/icinga2/issues/2255) (DB IDO): If a parent host goes down, the child host isn't marked as unrechable in the db ido
* [#2216](https://github.com/icinga/icinga2/issues/2216) (Cluster): Repository does not support services which have a slash in their name
* [#2202](https://github.com/icinga/icinga2/issues/2202) (Configuration): CPU usage at 100% when check_interval = 0 in host object definition
* [#2180](https://github.com/icinga/icinga2/issues/2180) (Documentation): Documentation: Add note on default notification interval in getting started notifications.conf
* [#2154](https://github.com/icinga/icinga2/issues/2154) (Cluster): update-config fails to create hosts
* [#2148](https://github.com/icinga/icinga2/issues/2148) (Compat): Feature `compatlog' should flush output buffer on every new line
* [#2021](https://github.com/icinga/icinga2/issues/2021): double macros in command arguments seems to lead to exception
* [#2016](https://github.com/icinga/icinga2/issues/2016) (Notifications): Docs: Better explaination of dependency state filters
* [#1947](https://github.com/icinga/icinga2/issues/1947) (Livestatus): Missing host downtimes/comments in Livestatus
* [#2343](https://github.com/icinga/icinga2/issues/2343) (Documentation): Document how arrays in macros work
* [#2285](https://github.com/icinga/icinga2/issues/2285) (ITL): Increase default timeout for NRPE checks
* [#2277](https://github.com/icinga/icinga2/issues/2277) (Configuration): The classicui Apache conf doesn't support Apache 2.4
* [#2117](https://github.com/icinga/icinga2/issues/2117) (Packages): Update spec file to use yajl-devel
* [#1790](https://github.com/icinga/icinga2/issues/1790): Support for arrays in macros
### Bug
* [#2363](https://github.com/icinga/icinga2/issues/2363) (Packages): Fix Apache config in the Debian package
* [#2359](https://github.com/icinga/icinga2/issues/2359) (Packages): Wrong permission in run directory after restart
* [#2344](https://github.com/icinga/icinga2/issues/2344) (Documentation): Documentation: Explain how unresolved macros are handled
* [#2340](https://github.com/icinga/icinga2/issues/2340) (CLI): Segfault in CA handling
* [#2336](https://github.com/icinga/icinga2/issues/2336) (Documentation): Wrong information in section "Linux Client Setup Wizard for Remote Monitoring"
* [#2328](https://github.com/icinga/icinga2/issues/2328) (Cluster): Verify if master radio box is disabled in the Windows wizard
* [#2311](https://github.com/icinga/icinga2/issues/2311) (Configuration): !in operator returns incorrect result
* [#2301](https://github.com/icinga/icinga2/issues/2301) (Packages): Move the icinga2-prepare-dirs script elsewhere
* [#2293](https://github.com/icinga/icinga2/issues/2293) (Configuration): Objects created with node update-config can't be seen in Classic UI
* [#2288](https://github.com/icinga/icinga2/issues/2288) (Cluster): Incorrect error message for localhost
* [#2282](https://github.com/icinga/icinga2/issues/2282) (Cluster): Icinga2 node add failed with unhandled exception
* [#2280](https://github.com/icinga/icinga2/issues/2280) (Packages): Icinga 2.2 misses the build requirement libyajl-devel for SUSE distributions
* [#2278](https://github.com/icinga/icinga2/issues/2278) (Packages): /usr/sbin/icinga-prepare-dirs conflicts in the bin and common package
* [#2276](https://github.com/icinga/icinga2/issues/2276) (Packages): Systemd rpm scripts are run in wrong package
* [#2275](https://github.com/icinga/icinga2/issues/2275) (Documentation): 2.2.0 has out-of-date icinga2 man page
* [#2273](https://github.com/icinga/icinga2/issues/2273): Restart Icinga - Error Restoring program state from file '/var/lib/icinga2/icinga2.state'
* [#2272](https://github.com/icinga/icinga2/issues/2272) (Cluster): Windows wizard is missing --zone argument
* [#2271](https://github.com/icinga/icinga2/issues/2271) (Cluster): Windows wizard uses incorrect CLI command
* [#2267](https://github.com/icinga/icinga2/issues/2267) (Cluster): Built-in commands shouldn't be run on the master instance in remote command execution mode
* [#2251](https://github.com/icinga/icinga2/issues/2251) (Documentation): object and template with the same name generate duplicate object error
* [#2212](https://github.com/icinga/icinga2/issues/2212) (Packages): icinga2 checkconfig should fail if group given for command files does not exist
* [#2207](https://github.com/icinga/icinga2/issues/2207) (Livestatus): livestatus large amount of submitting unix socket command results in broken pipes
* [#1968](https://github.com/icinga/icinga2/issues/1968) (Packages): service icinga2 status gives wrong information when run as unprivileged user
* [#2253](https://github.com/icinga/icinga2/issues/2253) (Packages): Conditionally enable MySQL and PostgresSQL, add support for FreeBSD and DragonFlyBSD
* [#2236](https://github.com/icinga/icinga2/issues/2236) (Packages): Enable parallel builds for the Debian package
* [#2219](https://github.com/icinga/icinga2/issues/2219): Icinga 2 should use less RAM
* [#2218](https://github.com/icinga/icinga2/issues/2218) (Documentation): Documentation: Update Icinga Web 2 installation
* [#2217](https://github.com/icinga/icinga2/issues/2217) (Performance Data): Add GelfWriter for writing log events to graylog2/logstash
* [#2213](https://github.com/icinga/icinga2/issues/2213): Optimize class layout
* [#2204](https://github.com/icinga/icinga2/issues/2204) (ITL): Plugin Check Commands: disk is missing '-p', 'x' parameter
* [#2189](https://github.com/icinga/icinga2/issues/2189) (Configuration): Refactor AST into multiple classes
* [#2187](https://github.com/icinga/icinga2/issues/2187) (Configuration): Implement support for arbitrarily complex indexers
* [#2184](https://github.com/icinga/icinga2/issues/2184) (Configuration): Generate objects using apply with foreach in arrays or dictionaries (key => value)
* [#2183](https://github.com/icinga/icinga2/issues/2183) (Configuration): Support dictionaries in custom attributes
* [#2182](https://github.com/icinga/icinga2/issues/2182) (Cluster): Execute remote commands on the agent w/o local objects by passing custom attributes
* [#2175](https://github.com/icinga/icinga2/issues/2175) (Documentation): Documentation for arrays & dictionaries in custom attributes and their usage in apply rules for
* [#2161](https://github.com/icinga/icinga2/issues/2161) (CLI): Cli Command: Rename 'agent' to 'node'
* [#2160](https://github.com/icinga/icinga2/issues/2160) (Documentation): Documentation: Explain how to manage agent config in central repository
* [#2158](https://github.com/icinga/icinga2/issues/2158) (Cluster): Require --zone to be specified for "node setup"
* [#2152](https://github.com/icinga/icinga2/issues/2152) (Cluster): Rename --agent to --zone (for blacklist/whitelist)
* [#2150](https://github.com/icinga/icinga2/issues/2150) (Documentation): Documentation: Move troubleshooting after the getting started chapter
* [#2143](https://github.com/icinga/icinga2/issues/2143) (Documentation): Documentation: Revamp getting started with 1 host and multiple (service) applies
* [#2140](https://github.com/icinga/icinga2/issues/2140) (CLI): Cli: Use Node Blacklist functionality in 'node update-config'
* [#2138](https://github.com/icinga/icinga2/issues/2138) (CLI): Find a better name for 'repository commit --clear'
* [#2131](https://github.com/icinga/icinga2/issues/2131) (Configuration): Set host/service variable in apply rules
* [#2031](https://github.com/icinga/icinga2/issues/2031) (Graphite): GraphiteWriter: Add support for customized metric prefix names
* [#2024](https://github.com/icinga/icinga2/issues/2024) (Documentation): Documentation: Add support for locally-scoped variables for host/service in applied Dependency
* [#2013](https://github.com/icinga/icinga2/issues/2013) (Documentation): Documentation: Add host/services variables in apply rules
* [#2003](https://github.com/icinga/icinga2/issues/2003): macro processor needs an array printer
* [#1972](https://github.com/icinga/icinga2/issues/1972) (Documentation): Document how to use multiple assign/ignore statements with logical "and" & "or"
* [#1901](https://github.com/icinga/icinga2/issues/1901) (Cluster): Windows installer
* [#1895](https://github.com/icinga/icinga2/issues/1895) (Graphite): Add downtime depth as statistic metric for GraphiteWriter
* [#1717](https://github.com/icinga/icinga2/issues/1717) (Configuration): Support for array in custom variable.
* [#894](https://github.com/icinga/icinga2/issues/894): Add copyright header to .ti files and add support for comments in mkclass
### Bug
* [#2258](https://github.com/icinga/icinga2/issues/2258) (Configuration): Names for nested objects are evaluated at the wrong time
* [#2257](https://github.com/icinga/icinga2/issues/2257) (Configuration): DebugInfo is missing for nested dictionaries
* [#2254](https://github.com/icinga/icinga2/issues/2254): CreateProcess fails on Windows 7
* [#2241](https://github.com/icinga/icinga2/issues/2241) (Cluster): node wizard uses incorrect path for the CA certificate
* [#2237](https://github.com/icinga/icinga2/issues/2237) (Configuration): Wrong set of dependency state when a host depends on a service
* [#2235](https://github.com/icinga/icinga2/issues/2235): Unit tests fail to run
* [#2233](https://github.com/icinga/icinga2/issues/2233): Get rid of static boost::mutex variables
* [#2222](https://github.com/icinga/icinga2/issues/2222) (DB IDO): IDO module crashes on Windows
* [#2221](https://github.com/icinga/icinga2/issues/2221): Installation on Windows fails
* [#2220](https://github.com/icinga/icinga2/issues/2220) (Notifications): Missing state filter 'OK' must not prevent recovery notifications being sent
* [#2215](https://github.com/icinga/icinga2/issues/2215): mkclass crashes when called without arguments
* [#2156](https://github.com/icinga/icinga2/issues/2156) (Cluster): Use ScriptVariable::Get for RunAsUser/RunAsGroup
* [#2155](https://github.com/icinga/icinga2/issues/2155) (Cluster): Agent health check must not have zone attribute
* [#2153](https://github.com/icinga/icinga2/issues/2153) (Cluster): Misleading error messages for blacklist/whitelist remove
* [#2147](https://github.com/icinga/icinga2/issues/2147) (Packages): Feature `checker' is not enabled when installing Icinga 2 using our lates RPM snapshot packages
* [#2142](https://github.com/icinga/icinga2/issues/2142) (Configuration): Icinga2 fails to start due to configuration errors
* [#2129](https://github.com/icinga/icinga2/issues/2129) (Documentation): Fix typos and other small corrections in documentation
* [#2128](https://github.com/icinga/icinga2/issues/2128) (CLI): Cli: Node Setup/Wizard running as root must chown() generated files to icinga daemon user
* [#2127](https://github.com/icinga/icinga2/issues/2127) (Configuration): can't assign Service to Host in nested HostGroup
* [#2125](https://github.com/icinga/icinga2/issues/2125) (Performance Data): Performance data via API is broken
* [#2123](https://github.com/icinga/icinga2/issues/2123) (Packages): Post-update script (migrate-hosts) isn't run on RPM-based distributions
* [#2116](https://github.com/icinga/icinga2/issues/2116) (CLI): Cli command: Repository should validate if object exists before add/remove
* [#2106](https://github.com/icinga/icinga2/issues/2106) (Cluster): When replaying logs the secobj attribute is ignored
* [#2095](https://github.com/icinga/icinga2/issues/2095) (Packages): Unity build fails on RHEL 5
* [#2093](https://github.com/icinga/icinga2/issues/2093) (Documentation): Documentation: 1-about contribute links to non-existing report a bug howto
* [#2083](https://github.com/icinga/icinga2/issues/2083): CMake warnings on OS X
* [#2077](https://github.com/icinga/icinga2/issues/2077) (CLI): CLI: Auto-completion with colliding arguments
* [#2070](https://github.com/icinga/icinga2/issues/2070) (DB IDO): CLI / MySQL error during vagrant provisioning
* [#2068](https://github.com/icinga/icinga2/issues/2068) (CLI): pki new-cert doesn't check whether the files were successfully written
* [#2065](https://github.com/icinga/icinga2/issues/2065) (DB IDO): Schema upgrade files are missing in /usr/share/icinga2-ido-{mysql,pgsql}
* [#2063](https://github.com/icinga/icinga2/issues/2063) (CLI): Cli commands: Integers in arrays are printed incorrectly
* [#2058](https://github.com/icinga/icinga2/issues/2058) (Packages): Debian package root permissions interfere with icinga2 cli commands as icinga user
* [#2057](https://github.com/icinga/icinga2/issues/2057) (CLI): failed en/disable feature should return error
* [#2056](https://github.com/icinga/icinga2/issues/2056) (CLI): Commands are auto-completed when they shouldn't be
* [#2051](https://github.com/icinga/icinga2/issues/2051) (Configuration): custom attribute name 'type' causes empty vars dictionary
* [#2048](https://github.com/icinga/icinga2/issues/2048) (Compat): Fix reading perfdata in compat/checkresultreader
* [#2042](https://github.com/icinga/icinga2/issues/2042) (Plugins): Setting snmp_v2 can cause snmp-manubulon-command derived checks to fail
* [#2038](https://github.com/icinga/icinga2/issues/2038) (Configuration): snmp-load checkcommand has a wrong "-T" param value
* [#2037](https://github.com/icinga/icinga2/issues/2037) (Documentation): Documentation: Wrong check command for snmp-int(erface)
* [#2034](https://github.com/icinga/icinga2/issues/2034) (Configuration): Importing a CheckCommand in a NotificationCommand results in an exception without stacktrace.
* [#2033](https://github.com/icinga/icinga2/issues/2033) (Documentation): Docs: Default command timeout is 60s not 5m
* [#2029](https://github.com/icinga/icinga2/issues/2029) (Configuration): Error messages for invalid imports missing
* [#2028](https://github.com/icinga/icinga2/issues/2028) (Documentation): Icinga2 docs: link supported operators from sections about apply rules
* [#2026](https://github.com/icinga/icinga2/issues/2026) (Configuration): config parser crashes on unknown attribute in assign
* [#2017](https://github.com/icinga/icinga2/issues/2017) (ITL): ITL: check_procs and check_http are missing arguments
* [#2006](https://github.com/icinga/icinga2/issues/2006) (Configuration): snmp-load checkcommand has wrong threshold syntax
* [#2005](https://github.com/icinga/icinga2/issues/2005) (Performance Data): icinga2 returns exponentail perfdata format with check_nt
* [#2004](https://github.com/icinga/icinga2/issues/2004) (Performance Data): Icinga2 changes perfdata order and removes maximum
* [#2001](https://github.com/icinga/icinga2/issues/2001) (Notifications): default value for "disable_notifications" in service dependencies is set to "false"
* [#1950](https://github.com/icinga/icinga2/issues/1950) (Configuration): Typo for "HTTP Checks" match in groups.conf
* [#1720](https://github.com/icinga/icinga2/issues/1720) (Notifications): delaying notifications with times.begin should postpone first notification into that window
## 2.1.1 (2014-09-16)
### Enhancement
* [#1962](https://github.com/icinga/icinga2/issues/1962) (Documentation): Extend documentation for icinga-web on Debian systems
* [#1949](https://github.com/icinga/icinga2/issues/1949) (Documentation): Explain event commands and their integration by a real life example (httpd restart via ssh)
* [#1939](https://github.com/icinga/icinga2/issues/1939) (Packages): Enable unity build for RPM/Debian packages
* [#1938](https://github.com/icinga/icinga2/issues/1938): Unity builds: Detect whether __COUNTER__ is available
* [#1937](https://github.com/icinga/icinga2/issues/1937) (Packages): Figure out a better way to set the version for snapshot builds
* [#1933](https://github.com/icinga/icinga2/issues/1933): Implement support for unity builds
* [#1932](https://github.com/icinga/icinga2/issues/1932): Ensure that namespaces for INITIALIZE_ONCE and REGISTER_TYPE are truly unique
* [#1931](https://github.com/icinga/icinga2/issues/1931): Add include guards for mkclass files
* [#1927](https://github.com/icinga/icinga2/issues/1927) (Documentation): Document how to use @ to escape keywords
* [#1797](https://github.com/icinga/icinga2/issues/1797): Change log message for checking/sending notifications
### Bug
* [#1985](https://github.com/icinga/icinga2/issues/1985) (Documentation): clarify on db ido upgrades
* [#1957](https://github.com/icinga/icinga2/issues/1957): Build fails on Haiku
* [#1955](https://github.com/icinga/icinga2/issues/1955) (Cluster): new SSL Errors with too many queued messages
* [#1954](https://github.com/icinga/icinga2/issues/1954): Missing differentiation between service and systemctl
* [#1952](https://github.com/icinga/icinga2/issues/1952) (Performance Data): GraphiteWriter should ignore empty perfdata value
* [#1948](https://github.com/icinga/icinga2/issues/1948): pipe2 returns ENOSYS on GNU Hurd and Debian kfreebsd
* [#1946](https://github.com/icinga/icinga2/issues/1946): Exit code is not initialized for some failed checks
* [#1944](https://github.com/icinga/icinga2/issues/1944) (Packages): service icinga2 status - prints cat error if the service is stopped
* [#1941](https://github.com/icinga/icinga2/issues/1941) (Packages): icinga2 init-script terminates with exit code 0 if $DAEMON is not in place or not executable
* [#1940](https://github.com/icinga/icinga2/issues/1940): icinga2-list-objects complains about Umlauts and stops output
* [#1548](https://github.com/icinga/icinga2/issues/1548) (Cluster): Log replay sends messages to instances which shouldn't get those messages
* [#1546](https://github.com/icinga/icinga2/issues/1546) (Cluster): Better cluster support for notifications / IDO
* [#1491](https://github.com/icinga/icinga2/issues/1491) (Cluster): Better log messages for cluster changes
* [#977](https://github.com/icinga/icinga2/issues/977) (Cluster): Cluster support for modified attributes
### Bug
* [#1923](https://github.com/icinga/icinga2/issues/1923) (Packages): 64-bit RPMs are not installable
* [#1916](https://github.com/icinga/icinga2/issues/1916): Build fails with Boost 1.56
* [#1913](https://github.com/icinga/icinga2/issues/1913) (Documentation): Keyword "required" used inconsistently for host and service "icon_image*" attributes
* [#1903](https://github.com/icinga/icinga2/issues/1903) (Cluster): Host and service checks stuck in "pending" when hostname = localhost a parent/satellite setup
* [#1902](https://github.com/icinga/icinga2/issues/1902): Commands are processed multiple times
* [#1896](https://github.com/icinga/icinga2/issues/1896): check file permissions in /var/cache/icinga2
* [#1885](https://github.com/icinga/icinga2/issues/1885) (Packages): enforce /usr/lib as base for the cgi path on SUSE distributions
* [#1884](https://github.com/icinga/icinga2/issues/1884): External command pipe: Too many open files
* [#1883](https://github.com/icinga/icinga2/issues/1883) (Installation): use _rundir macro for configuring the run directory
* [#1881](https://github.com/icinga/icinga2/issues/1881) (Documentation): clarify on which config tools are available
* [#1873](https://github.com/icinga/icinga2/issues/1873) (Packages): make install does not install the db-schema
* [#1872](https://github.com/icinga/icinga2/issues/1872) (Documentation): Wrong parent in Load Distribution
* [#1762](https://github.com/icinga/icinga2/issues/1762) (Documentation): clarify on which features are required for classic ui/web/web2
* [#1757](https://github.com/icinga/icinga2/issues/1757) (DB IDO): NULL vs empty string
* [#1754](https://github.com/icinga/icinga2/issues/1754) (Installation): Location of the run directory is hard coded and bound to "local_state_dir"
* [#1752](https://github.com/icinga/icinga2/issues/1752) (Cluster): Infinite loop in TlsStream::Close
* [#1744](https://github.com/icinga/icinga2/issues/1744) (DB IDO): Two Custom Variables with same name, but Upper/Lowercase creating IDO duplicate entry
* [#1741](https://github.com/icinga/icinga2/issues/1741): Command pipe blocks when trying to open it more than once in parallel
* [#1730](https://github.com/icinga/icinga2/issues/1730): Check and retry intervals are incorrect
* [#1729](https://github.com/icinga/icinga2/issues/1729): $TOTALHOSTSERVICESWARNING$ and $TOTALHOSTSERVICESCRITICAL$ aren't getting converted
* [#1728](https://github.com/icinga/icinga2/issues/1728): Service dependencies aren't getting converted properly
* [#1726](https://github.com/icinga/icinga2/issues/1726): group names quoted twice in arrays
* [#1723](https://github.com/icinga/icinga2/issues/1723): add log message for invalid performance data
* [#1764](https://github.com/icinga/icinga2/issues/1764) (Installation): ICINGA2_SYSCONFIGFILE should use full path using CMAKE_INSTALL_FULL_SYSCONFDIR
* [#1753](https://github.com/icinga/icinga2/issues/1753) (Configuration): icinga2-sign-key creates ".crt" and ".key" files when the CA passphrase is invalid
* [#1751](https://github.com/icinga/icinga2/issues/1751) (Configuration): icinga2-build-ca shouldn't prompt for DN
* [#1749](https://github.com/icinga/icinga2/issues/1749): TLS connections are still unstable
* [#1745](https://github.com/icinga/icinga2/issues/1745): Icinga stops updating IDO after a while
* [#1724](https://github.com/icinga/icinga2/issues/1724): Improve systemd service definition
* [#1716](https://github.com/icinga/icinga2/issues/1716) (Cluster): Icinga doesn't send SetLogPosition messages when one of the endpoints fails to connect
* [#1712](https://github.com/icinga/icinga2/issues/1712): parsing of double defined command can generate unexpected errors
* [#1709](https://github.com/icinga/icinga2/issues/1709) (Packages): htpasswd should be installed with icinga2-classicui on Ubuntu
* [#1704](https://github.com/icinga/icinga2/issues/1704): Reminder notifications are sent on disabled services