diff --git a/ChangeLog b/ChangeLog index ed8b7fa4d..d93340872 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,275 @@ Please check [doc/1-about.md]. ## What's New +### What's New in Version 2.4.0 + +#### Changes + +* API + * RESTful API with basic auth or client certificates + * Filters, types, permissions + * configuration package management + * query/create/modify/delete config objects at runtime + * status queries for global stats + * actions (e.g. acknowledge all service problems) + * event streams +* ITL and Plugin Check Command definitions + * The 'running_kernel' check command was moved to the plugins-contrib section. You have to update your config to include 'plugins-contrib' +* Configuration + * The global constants Enable* and Vars have been removed. Use the IcingaApplication object attributes instead. +* Features + * New Graphite tree. Please check the documentation how enable the legacy schema. + * IcingaStatusWriter feature has been deprecated and will be removed in future versions. + * Modified attributes are not exposed as bit mask to external interfaces anymore (api related changes). External commands like CHANGE_*_MODATTR have been removed. + +#### Feature + +* Feature 7709: Validators should be implemented in (auto-generated) native code +* Feature 8093: Add icinga, cluster, cluster-zone check information to the ApiListener status handler +* Feature 8149: graphite writer should pass "-" in host names and "." in perf data +* Feature 8666: Allow some of the Array and Dictionary methods to be inlined by the compiler +* Feature 8688: Add embedded DB IDO version health check +* Feature 8689: Add support for current and current-1 db ido schema version +* Feature 8690: 'icinga2 console' should serialize temporary attributes (rather than just config + state) +* Feature 8738: Implement support for CLIENT_MULTI_STATEMENTS +* Feature 8741: Deprecate IcingaStatusWriter feature +* Feature 8775: Move the base command templates into libmethods +* Feature 8776: Implement support for libedit +* Feature 8791: Refactor the startup process +* Feature 8832: Implement constructor-style casts +* Feature 8842: Add support for the C++11 keyword 'override' +* Feature 8867: Use DebugHint information when reporting validation errors +* Feature 8890: Move implementation code from thpp files into separate files +* Feature 8922: Avoid unnecessary dictionary lookups +* Feature 9044: Remove the ScopeCurrent constant +* Feature 9068: Implement sandbox mode for the config parser +* Feature 9074: Basic API framework +* Feature 9076: Reflection support for the API +* Feature 9077: Implement filters for the API +* Feature 9078: Event stream support for the API +* Feature 9079: Implement status queries for the API +* Feature 9080: Add commands (actions) for the API +* Feature 9081: Add modified attribute support for the API +* Feature 9082: Runtime configuration for the API +* Feature 9083: Configuration file management for the API +* Feature 9084: Enable the ApiListener by default +* Feature 9085: Certificate-based authentication for the API +* Feature 9086: Password-based authentication for the API +* Feature 9087: Create default administrative user +* Feature 9088: API permissions +* Feature 9091: API status queries +* Feature 9093: Changelog for modified attributes +* Feature 9095: Disallow changes for certain config attributes at runtime +* Feature 9096: Dependency tracking for objects +* Feature 9098: Update modules to support adding and removing objects at runtime +* Feature 9099: Implement support for writing configuration files +* Feature 9100: Multiple sources for zone configuration tree +* Feature 9101: Commands for adding and removing objects +* Feature 9102: Support validating configuration changes +* Feature 9103: Staging for configuration validation +* Feature 9104: Implement config file management commands +* Feature 9105: API Documentation +* Feature 9175: Move 'running_kernel' check command to plugins-contrib 'operating system' section +* Feature 9286: DB IDO/Livestatus: Add zone object table w/ endpoint members +* Feature 9414: "-Wno-deprecated-register" compiler option breaks builds on SLES 11 +* Feature 9447: Implement support for HTTP +* Feature 9448: Define RESTful url schema +* Feature 9461: New Graphite schema +* Feature 9470: Implement URL parser +* Feature 9471: Implement ApiUser type +* Feature 9594: Implement base64 de- and encoder +* Feature 9614: Register ServiceOK, ServiceWarning, HostUp, etc. as constants +* Feature 9647: Move url to /lib/remote from /lib/base +* Feature 9689: Add exceptions for Utility::MkDir{,P} +* Feature 9693: Add Array::FromVector() method +* Feature 9698: Implement support for X-HTTP-Method-Override +* Feature 9704: String::Trim() should return a new string rather than modifying the current string +* Feature 9705: Add real path sanity checks to provided file paths +* Feature 9723: Documentation for config management API +* Feature 9768: Update the url parsers behaviour +* Feature 9777: Make Comments and Downtime types available as ConfigObject type in the API +* Feature 9794: Setting global variables with i2tcl doesn't work +* Feature 9849: Validation for modified attributes +* Feature 9850: Re-implement events for attribute changes +* Feature 9851: Remove GetModifiedAttributes/SetModifiedAttributes +* Feature 9852: Implement support for . in modify_attribute +* Feature 9859: Implement global modified attributes +* Feature 9866: Implement support for attaching GDB to the Icinga process on crash +* Feature 9914: Rename DynamicObject/DynamicType to ConfigObject/ConfigType +* Feature 9919: Allow comments when parsing JSON +* Feature 9921: Implement the 'base' field for the Type class +* Feature 9926: Ensure that runtime config objects are persisted on disk +* Feature 9927: Figure out how to sync dynamically created objects inside the cluster +* Feature 9929: Add override keyword for all relevant methods +* Feature 9930: Document Object#clone +* Feature 9931: Implement Object#clone and rename Array/Dictionary#clone to shallow_clone +* Feature 9933: Implement support for indexers in ConfigObject::RestoreAttribute +* Feature 9935: Implement support for restoring modified attributes +* Feature 9937: Add package attribute for ConfigObject and set its origin +* Feature 9940: Implement support for filter_vars +* Feature 9944: Add String::ToLower/ToUpper +* Feature 9946: Remove debug messages in HttpRequest class +* Feature 9953: Rename config/modules to config/packages +* Feature 9960: Implement ignore_on_error keyword +* Feature 10017: Use an AST node for the 'library' keyword +* Feature 10038: Add plural_name field to /v1/types +* Feature 10039: URL class improvements +* Feature 10042: Implement a demo API client: Icinga Studio +* Feature 10060: Implement joins for status queries +* Feature 10116: Add global status handler for the API +* Feature 10186: Make ConfigObject::{G,S}etField() method public +* Feature 10194: Sanitize error status codes and messages +* Feature 10202: Add documentation for api-users.conf and app.conf +* Feature 10209: Rename statusqueryhandler to objectqueryhandler +* Feature 10212: Move /v1/ to /v1/objects/ +* Feature 10243: Provide keywords to retrieve the current file name at parse time +* Feature 10257: Change object version to timestamps for diff updates on config sync +* Feature 10329: Pretty-print arrays and dictionaries when converting them to strings +* Feature 10368: Document that modified attributes require accept_config for cluster/clients +* Feature 10374: Add check command nginx_status +* Feature 10383: DB IDO should provide its connected state via /v1/status +* Feature 10385: Add 'support' tracker to changelog.py +* Feature 10387: Use the API for "icinga2 console" +* Feature 10388: Log a warning message on unauthorized http request +* Feature 10392: Original attributes list in IDO +* Feature 10393: Hide internal attributes +* Feature 10394: Add getter for endpoint 'connected' attribute +* Feature 10407: Remove api.cpp, api.hpp +* Feature 10409: Add documentation for apply+for in the language reference chapter +* Feature 10423: Ability to set port on SNMP Checks +* Feature 10431: Add the name for comments/downtimes next to legacy_id to DB IDO +* Feature 10441: Rewrite man page +* Feature 10479: Use ZoneName variable for parent_zone in node update-config +* Feature 10482: Documentation: Reorganize Livestatus and alternative frontends +* Feature 10503: Missing parameters for check jmx4perl +* Feature 10507: Add check command negate +* Feature 10509: Change GetLastStateUp/Down to host attributes +* Feature 10511: Add check command mysql +* Feature 10513: Add ipv4/ipv6 only to tcp and http CheckCommand +* Feature 10522: Change output format for 'icinga2 console' +* Feature 10547: Icinga 2 script debugger +* Feature 10548: Implement CSRF protection for the API +* Feature 10549: Change 'api setup' into a manual step while configuring the API +* Feature 10551: Change object query result set +* Feature 10566: Enhance programmatic examples for the API docs +* Feature 10574: Mention wxWidget (optional) requirement in INSTALL.md +* Feature 10575: Documentation for /v1/console +* Feature 10576: Explain variable names for joined objects in filter expressions +* Feature 10577: Documentation for the script debugger +* Feature 10591: Explain DELETE for config stages/packages +* Feature 10630: Update wxWidgets documentation for Icinga Studio + +#### Bugfixes + +* Bug 8822: Update OpenSSL for the Windows builds +* Bug 8823: Don't allow users to instantiate the StreamLogger class +* Bug 8830: Make default notifications include users from host.vars.notification.mail.users +* Bug 8865: Failed assertion in IdoMysqlConnection::FieldToEscapedString +* Bug 8907: Validation fails even though field is not required +* Bug 8924: Specify pidfile for status_of_proc in the init script +* Bug 8952: Crash in VMOps::FunctionCall +* Bug 8989: pgsql driver does not have latest mysql changes synced +* Bug 9015: Compiler warnings with latest HEAD 5ac5f98 +* Bug 9027: PostgreSQL schema sets default timestamps w/o time zone +* Bug 9053: icinga demo module can not be built +* Bug 9188: Remove incorrect 'ignore where' expression from 'ssh' apply example +* Bug 9455: Fix incorrect datatype for the check_source column in icinga_statehistory table +* Bug 9547: Wrong vars changed handler in api events +* Bug 9576: Overflow in freshness_threshold column (smallint) w/ DB IDO MySQL +* Bug 9590: 'node wizard/setup' should always generate new CN certificates +* Bug 9703: Problem with child nodes in http url registry +* Bug 9735: Broken cluster config sync w/o include_zones +* Bug 9778: Accessing field ID 0 ("prototype") fails +* Bug 9793: Operator - should not work with "" and numbers +* Bug 9795: ScriptFrame's 'Self' attribute gets corrupted when an expression throws an exception +* Bug 9813: win32 build: S_ISDIR is undefined +* Bug 9843: console autocompletion should take into account parent classes' prototypes +* Bug 9868: Crash in ScriptFrame::~ScriptFrame +* Bug 9872: Color codes in console prompt break line editing +* Bug 9876: Crash during cluster log replay +* Bug 9879: Missing conf.d or zones.d cause parse failure +* Bug 9911: Do not let API users create objects with invalid names +* Bug 9966: Fix formatting in mkclass +* Bug 9968: Implement support for '.' when persisting modified attributes +* Bug 9987: Crash in ConfigCompiler::RegisterZoneDir +* Bug 10008: Don't parse config files for branches not taken +* Bug 10012: Unused variable 'dobj' in configobject.tcpp +* Bug 10024: HTTP keep-alive does not work with .NET WebClient +* Bug 10027: Filtering by name doesn't work +* Bug 10034: Unused variable console_type in consolecommand.cpp +* Bug 10041: build failure: demo module +* Bug 10048: Error handling in HttpClient/icinga-studio +* Bug 10110: Add object_id where clause for icinga_downtimehistory +* Bug 10180: API actions do not follow REST guidelines +* Bug 10198: Detect infinite recursion in user scripts +* Bug 10210: Move the Collection status handler to /v1/status +* Bug 10211: PerfdataValue is not properly serialised in status queries +* Bug 10224: URL parser is cutting off last character +* Bug 10234: ASCII NULs don't work in string values +* Bug 10238: Use a temporary file for modified-attributes.conf updates +* Bug 10241: Properly encode URLs in Icinga Studio +* Bug 10249: Config Sync shouldn't send updates for objects the client doesn't have access to +* Bug 10253: /v1/objects/ returns an HTTP error when there are no objects of that type +* Bug 10255: Config sync does not set endpoint syncing and plays disconnect-sync ping-pong +* Bug 10256: ConfigWriter::EmitValue should format floating point values properly +* Bug 10326: icinga2 repository host add does not work +* Bug 10350: Remove duplicated text in section "Apply Notifications to Hosts and Services" +* Bug 10355: Version updates are not working properly +* Bug 10360: Icinga2 API performance regression +* Bug 10371: Ensure that modified attributes work with clients with local config and no zone attribute +* Bug 10386: restore_attribute does not work in clusters +* Bug 10403: Escaping $ not documented +* Bug 10406: Misleading wording in generated zones.conf +* Bug 10410: OpenBSD: hang during ConfigItem::ActivateItems() in daemon startup +* Bug 10417: 'which' isn't available in a minimal CentOS container +* Bug 10422: Changing a group's attributes causes duplicate rows in the icinga_*group_members table +* Bug 10433: 'dig_lookup' custom attribute for the 'dig' check command isn't optional +* Bug 10436: Custom variables aren't removed from the IDO database +* Bug 10439: "Command options" is empty when executing icinga2 without any argument. +* Bug 10440: Improve --help output for the --log-level option +* Bug 10455: Improve error handling during log replay +* Bug 10456: Incorrect attribute name in the documentation +* Bug 10457: Don't allow scripts to access FANoUserView attributes in sandbox mode +* Bug 10461: Line continuation is broken in 'icinga2 console' +* Bug 10466: Crash in IndexerExpression::GetReference when attempting to set an attribute on an object other than the current one +* Bug 10473: IDO tries to execute empty UPDATE queries +* Bug 10491: Unique constraint violation with multiple comment inserts in DB IDO +* Bug 10495: Incorrect JSON-RPC message causes Icinga 2 to crash +* Bug 10498: IcingaStudio: Accessing non-ConfigObjects causes ugly exception +* Bug 10501: Plural name rule not treating edge case correcly +* Bug 10504: Increase the default timeout for OS checks +* Bug 10508: Figure out whether we need the Checkable attributes state_raw, last_state_raw, hard_state_raw +* Bug 10510: CreatePipeOverlapped is not thread-safe +* Bug 10512: Mismatch on {comment,downtime}_id vs internal name in the API +* Bug 10517: Circular reference between *Connection and TlsStream objects +* Bug 10518: Crash in ConfigWriter::GetKeywords +* Bug 10527: Fix indentation for Dictionary::ToString +* Bug 10529: Change session_token to integer timestamp +* Bug 10535: Spaces do not work in command arguments +* Bug 10538: Crash in ConfigWriter::EmitIdentifier +* Bug 10539: Don't validate custom attributes that aren't strings +* Bug 10540: Async mysql queries aren't logged in the debug log +* Bug 10545: Broken build - unresolved external symbol "public: void __thiscall icinga::ApiClient::ExecuteScript... +* Bug 10555: Don't try to use --gc-sections on Solaris +* Bug 10556: Update OpenSSL for the Windows builds +* Bug 10558: There's a variable called 'string' in filter expressions +* Bug 10559: Autocompletion doesn't work in the debugger +* Bug 10560: 'api setup' should create a user even when api feature is already enabled +* Bug 10561: 'remove-comment' action does not support filters +* Bug 10562: Documentation should not reference real host names +* Bug 10563: /v1/console should only use a single permission +* Bug 10568: Improve location information for errors in API filters +* Bug 10569: Icinga 2 API Docs +* Bug 10578: API call doesn't fail when trying to use a template that doesn't exist +* Bug 10580: Detailed error message is missing when object creation via API fails +* Bug 10583: modify_attribute: object cannot be cloned +* Bug 10588: Documentation for /v1/types +* Bug 10596: Deadlock in MacroProcessor::EvaluateFunction +* Bug 10601: Don't allow users to set state attributes via PUT +* Bug 10602: API overwrites (and then deletes) config file when trying to create an object that already exists +* Bug 10604: Group memberships are not updated for runtime created objects +* Bug 10629: Download URL for NSClient++ is incorrect + ### What's New in Version 2.3.11 #### Changes diff --git a/RELEASE.md b/RELEASE.md index 4178191ed..90fbec6a8 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -97,17 +97,17 @@ Example for CentOS7: ### Windows -* Build the newly created git tag for Windows. +* Build the newly created Git tag for Windows. * Test the [setup wizard](http://packages.icinga.org/windows/) inside a Windows VM. -## Github Release +## GitHub Release -Create a new release from the newly created git tag. +Create a new release for the newly created Git tag. https://github.com/Icinga/icinga2/releases ## Online Documentation -Ssh into the web box, navigate into `icinga2-latest/module/icinga2` +SSH into the web box, navigate into `icinga2-latest/module/icinga2` and pull the current icinga2 revision to update what's new". ## Announcement diff --git a/doc/1-about.md b/doc/1-about.md index 85fa68607..8c0650e4a 100644 --- a/doc/1-about.md +++ b/doc/1-about.md @@ -54,652 +54,271 @@ More details in the [Icinga FAQ](https://www.icinga.org/icinga/faq/). ## What's New -### What's New in Version 2.3.11 +### What's New in Version 2.4.0 #### Changes -* Function for performing CIDR matches: cidr_match() -* New methods: String#reverse and Array#reverse -* New ITL command definitions: nwc_health, hpasm, squid, pgsql -* Additional arguments for ITL command definitions: by_ssh, dig, pop, spop, imap, simap -* Documentation updates -* Various bugfixes +* API + * RESTful API with basic auth or client certificates + * Filters, types, permissions + * configuration package management + * query/create/modify/delete config objects at runtime + * status queries for global stats + * actions (e.g. acknowledge all service problems) + * event streams +* ITL and Plugin Check Command definitions + * The 'running_kernel' check command was moved to the plugins-contrib section. You have to update your config to include 'plugins-contrib' +* Configuration + * The global constants Enable* and Vars have been removed. Use the IcingaApplication object attributes instead. +* Features + * New Graphite tree. Please check the documentation how enable the legacy schema. + * IcingaStatusWriter feature has been deprecated and will be removed in future versions. + * Modified attributes are not exposed as bit mask to external interfaces anymore (api related changes). External commands like CHANGE_*_MODATTR have been removed. -#### Features +#### Feature -* Feature [9183](https://dev.icinga.org/issues/9183 "Feature 9183"): Add timestamp support for OpenTsdbWriter -* Feature [9466](https://dev.icinga.org/issues/9466 "Feature 9466"): Add FreeBSD setup to getting started -* Feature [9812](https://dev.icinga.org/issues/9812 "Feature 9812"): add check command for check_nwc_health -* Feature [9854](https://dev.icinga.org/issues/9854 "Feature 9854"): check_command for plugin check_hpasm -* Feature [10004](https://dev.icinga.org/issues/10004 "Feature 10004"): escape_shell_arg() method -* Feature [10006](https://dev.icinga.org/issues/10006 "Feature 10006"): Implement a way for users to resolve commands+arguments in the same way Icinga does -* Feature [10057](https://dev.icinga.org/issues/10057 "Feature 10057"): Command Execution Bridge: Use of same endpoint names in examples for a better understanding -* Feature [10109](https://dev.icinga.org/issues/10109 "Feature 10109"): Add check command squid -* Feature [10112](https://dev.icinga.org/issues/10112 "Feature 10112"): Add check command pgsql -* Feature [10129](https://dev.icinga.org/issues/10129 "Feature 10129"): Add ipv4/ipv6 only to nrpe CheckCommand -* Feature [10139](https://dev.icinga.org/issues/10139 "Feature 10139"): expand check command dig -* Feature [10142](https://dev.icinga.org/issues/10142 "Feature 10142"): Update debug docs for core dumps and full backtraces -* Feature [10157](https://dev.icinga.org/issues/10157 "Feature 10157"): Update graphing section in the docs -* Feature [10158](https://dev.icinga.org/issues/10158 "Feature 10158"): Make check_disk.exe CheckCommand Config more verbose -* Feature [10161](https://dev.icinga.org/issues/10161 "Feature 10161"): Improve documentation for check_memory -* Feature [10197](https://dev.icinga.org/issues/10197 "Feature 10197"): Implement the Array#reverse and String#reverse methods -* Feature [10207](https://dev.icinga.org/issues/10207 "Feature 10207"): Find a better description for cluster communication requirements -* Feature [10216](https://dev.icinga.org/issues/10216 "Feature 10216"): Clarify on cluster/client naming convention and add troubleshooting section -* Feature [10219](https://dev.icinga.org/issues/10219 "Feature 10219"): Add timeout argument for pop, spop, imap, simap commands -* Feature [10352](https://dev.icinga.org/issues/10352 "Feature 10352"): Improve timeperiod documentation -* Feature [10354](https://dev.icinga.org/issues/10354 "Feature 10354"): New method: cidr_match() -* Feature [10379](https://dev.icinga.org/issues/10379 "Feature 10379"): Add a debug log message for updating the program status table in DB IDO +* Feature [7709](https://dev.icinga.org/issues/7709 "Feature 7709"): Validators should be implemented in (auto-generated) native code +* Feature [8093](https://dev.icinga.org/issues/8093 "Feature 8093"): Add icinga, cluster, cluster-zone check information to the ApiListener status handler +* Feature [8149](https://dev.icinga.org/issues/8149 "Feature 8149"): graphite writer should pass "-" in host names and "." in perf data +* Feature [8666](https://dev.icinga.org/issues/8666 "Feature 8666"): Allow some of the Array and Dictionary methods to be inlined by the compiler +* Feature [8688](https://dev.icinga.org/issues/8688 "Feature 8688"): Add embedded DB IDO version health check +* Feature [8689](https://dev.icinga.org/issues/8689 "Feature 8689"): Add support for current and current-1 db ido schema version +* Feature [8690](https://dev.icinga.org/issues/8690 "Feature 8690"): 'icinga2 console' should serialize temporary attributes (rather than just config + state) +* Feature [8738](https://dev.icinga.org/issues/8738 "Feature 8738"): Implement support for CLIENT_MULTI_STATEMENTS +* Feature [8741](https://dev.icinga.org/issues/8741 "Feature 8741"): Deprecate IcingaStatusWriter feature +* Feature [8775](https://dev.icinga.org/issues/8775 "Feature 8775"): Move the base command templates into libmethods +* Feature [8776](https://dev.icinga.org/issues/8776 "Feature 8776"): Implement support for libedit +* Feature [8791](https://dev.icinga.org/issues/8791 "Feature 8791"): Refactor the startup process +* Feature [8832](https://dev.icinga.org/issues/8832 "Feature 8832"): Implement constructor-style casts +* Feature [8842](https://dev.icinga.org/issues/8842 "Feature 8842"): Add support for the C++11 keyword 'override' +* Feature [8867](https://dev.icinga.org/issues/8867 "Feature 8867"): Use DebugHint information when reporting validation errors +* Feature [8890](https://dev.icinga.org/issues/8890 "Feature 8890"): Move implementation code from thpp files into separate files +* Feature [8922](https://dev.icinga.org/issues/8922 "Feature 8922"): Avoid unnecessary dictionary lookups +* Feature [9044](https://dev.icinga.org/issues/9044 "Feature 9044"): Remove the ScopeCurrent constant +* Feature [9068](https://dev.icinga.org/issues/9068 "Feature 9068"): Implement sandbox mode for the config parser +* Feature [9074](https://dev.icinga.org/issues/9074 "Feature 9074"): Basic API framework +* Feature [9076](https://dev.icinga.org/issues/9076 "Feature 9076"): Reflection support for the API +* Feature [9077](https://dev.icinga.org/issues/9077 "Feature 9077"): Implement filters for the API +* Feature [9078](https://dev.icinga.org/issues/9078 "Feature 9078"): Event stream support for the API +* Feature [9079](https://dev.icinga.org/issues/9079 "Feature 9079"): Implement status queries for the API +* Feature [9080](https://dev.icinga.org/issues/9080 "Feature 9080"): Add commands (actions) for the API +* Feature [9081](https://dev.icinga.org/issues/9081 "Feature 9081"): Add modified attribute support for the API +* Feature [9082](https://dev.icinga.org/issues/9082 "Feature 9082"): Runtime configuration for the API +* Feature [9083](https://dev.icinga.org/issues/9083 "Feature 9083"): Configuration file management for the API +* Feature [9084](https://dev.icinga.org/issues/9084 "Feature 9084"): Enable the ApiListener by default +* Feature [9085](https://dev.icinga.org/issues/9085 "Feature 9085"): Certificate-based authentication for the API +* Feature [9086](https://dev.icinga.org/issues/9086 "Feature 9086"): Password-based authentication for the API +* Feature [9087](https://dev.icinga.org/issues/9087 "Feature 9087"): Create default administrative user +* Feature [9088](https://dev.icinga.org/issues/9088 "Feature 9088"): API permissions +* Feature [9091](https://dev.icinga.org/issues/9091 "Feature 9091"): API status queries +* Feature [9093](https://dev.icinga.org/issues/9093 "Feature 9093"): Changelog for modified attributes +* Feature [9095](https://dev.icinga.org/issues/9095 "Feature 9095"): Disallow changes for certain config attributes at runtime +* Feature [9096](https://dev.icinga.org/issues/9096 "Feature 9096"): Dependency tracking for objects +* Feature [9098](https://dev.icinga.org/issues/9098 "Feature 9098"): Update modules to support adding and removing objects at runtime +* Feature [9099](https://dev.icinga.org/issues/9099 "Feature 9099"): Implement support for writing configuration files +* Feature [9100](https://dev.icinga.org/issues/9100 "Feature 9100"): Multiple sources for zone configuration tree +* Feature [9101](https://dev.icinga.org/issues/9101 "Feature 9101"): Commands for adding and removing objects +* Feature [9102](https://dev.icinga.org/issues/9102 "Feature 9102"): Support validating configuration changes +* Feature [9103](https://dev.icinga.org/issues/9103 "Feature 9103"): Staging for configuration validation +* Feature [9104](https://dev.icinga.org/issues/9104 "Feature 9104"): Implement config file management commands +* Feature [9105](https://dev.icinga.org/issues/9105 "Feature 9105"): API Documentation +* Feature [9175](https://dev.icinga.org/issues/9175 "Feature 9175"): Move 'running_kernel' check command to plugins-contrib 'operating system' section +* Feature [9286](https://dev.icinga.org/issues/9286 "Feature 9286"): DB IDO/Livestatus: Add zone object table w/ endpoint members +* Feature [9414](https://dev.icinga.org/issues/9414 "Feature 9414"): "-Wno-deprecated-register" compiler option breaks builds on SLES 11 +* Feature [9447](https://dev.icinga.org/issues/9447 "Feature 9447"): Implement support for HTTP +* Feature [9448](https://dev.icinga.org/issues/9448 "Feature 9448"): Define RESTful url schema +* Feature [9461](https://dev.icinga.org/issues/9461 "Feature 9461"): New Graphite schema +* Feature [9470](https://dev.icinga.org/issues/9470 "Feature 9470"): Implement URL parser +* Feature [9471](https://dev.icinga.org/issues/9471 "Feature 9471"): Implement ApiUser type +* Feature [9594](https://dev.icinga.org/issues/9594 "Feature 9594"): Implement base64 de- and encoder +* Feature [9614](https://dev.icinga.org/issues/9614 "Feature 9614"): Register ServiceOK, ServiceWarning, HostUp, etc. as constants +* Feature [9647](https://dev.icinga.org/issues/9647 "Feature 9647"): Move url to /lib/remote from /lib/base +* Feature [9689](https://dev.icinga.org/issues/9689 "Feature 9689"): Add exceptions for Utility::MkDir{,P} +* Feature [9693](https://dev.icinga.org/issues/9693 "Feature 9693"): Add Array::FromVector() method +* Feature [9698](https://dev.icinga.org/issues/9698 "Feature 9698"): Implement support for X-HTTP-Method-Override +* Feature [9704](https://dev.icinga.org/issues/9704 "Feature 9704"): String::Trim() should return a new string rather than modifying the current string +* Feature [9705](https://dev.icinga.org/issues/9705 "Feature 9705"): Add real path sanity checks to provided file paths +* Feature [9723](https://dev.icinga.org/issues/9723 "Feature 9723"): Documentation for config management API +* Feature [9768](https://dev.icinga.org/issues/9768 "Feature 9768"): Update the url parsers behaviour +* Feature [9777](https://dev.icinga.org/issues/9777 "Feature 9777"): Make Comments and Downtime types available as ConfigObject type in the API +* Feature [9794](https://dev.icinga.org/issues/9794 "Feature 9794"): Setting global variables with i2tcl doesn't work +* Feature [9849](https://dev.icinga.org/issues/9849 "Feature 9849"): Validation for modified attributes +* Feature [9850](https://dev.icinga.org/issues/9850 "Feature 9850"): Re-implement events for attribute changes +* Feature [9851](https://dev.icinga.org/issues/9851 "Feature 9851"): Remove GetModifiedAttributes/SetModifiedAttributes +* Feature [9852](https://dev.icinga.org/issues/9852 "Feature 9852"): Implement support for . in modify_attribute +* Feature [9859](https://dev.icinga.org/issues/9859 "Feature 9859"): Implement global modified attributes +* Feature [9866](https://dev.icinga.org/issues/9866 "Feature 9866"): Implement support for attaching GDB to the Icinga process on crash +* Feature [9914](https://dev.icinga.org/issues/9914 "Feature 9914"): Rename DynamicObject/DynamicType to ConfigObject/ConfigType +* Feature [9919](https://dev.icinga.org/issues/9919 "Feature 9919"): Allow comments when parsing JSON +* Feature [9921](https://dev.icinga.org/issues/9921 "Feature 9921"): Implement the 'base' field for the Type class +* Feature [9926](https://dev.icinga.org/issues/9926 "Feature 9926"): Ensure that runtime config objects are persisted on disk +* Feature [9927](https://dev.icinga.org/issues/9927 "Feature 9927"): Figure out how to sync dynamically created objects inside the cluster +* Feature [9929](https://dev.icinga.org/issues/9929 "Feature 9929"): Add override keyword for all relevant methods +* Feature [9930](https://dev.icinga.org/issues/9930 "Feature 9930"): Document Object#clone +* Feature [9931](https://dev.icinga.org/issues/9931 "Feature 9931"): Implement Object#clone and rename Array/Dictionary#clone to shallow_clone +* Feature [9933](https://dev.icinga.org/issues/9933 "Feature 9933"): Implement support for indexers in ConfigObject::RestoreAttribute +* Feature [9935](https://dev.icinga.org/issues/9935 "Feature 9935"): Implement support for restoring modified attributes +* Feature [9937](https://dev.icinga.org/issues/9937 "Feature 9937"): Add package attribute for ConfigObject and set its origin +* Feature [9940](https://dev.icinga.org/issues/9940 "Feature 9940"): Implement support for filter_vars +* Feature [9944](https://dev.icinga.org/issues/9944 "Feature 9944"): Add String::ToLower/ToUpper +* Feature [9946](https://dev.icinga.org/issues/9946 "Feature 9946"): Remove debug messages in HttpRequest class +* Feature [9953](https://dev.icinga.org/issues/9953 "Feature 9953"): Rename config/modules to config/packages +* Feature [9960](https://dev.icinga.org/issues/9960 "Feature 9960"): Implement ignore_on_error keyword +* Feature [10017](https://dev.icinga.org/issues/10017 "Feature 10017"): Use an AST node for the 'library' keyword +* Feature [10038](https://dev.icinga.org/issues/10038 "Feature 10038"): Add plural_name field to /v1/types +* Feature [10039](https://dev.icinga.org/issues/10039 "Feature 10039"): URL class improvements +* Feature [10042](https://dev.icinga.org/issues/10042 "Feature 10042"): Implement a demo API client: Icinga Studio +* Feature [10060](https://dev.icinga.org/issues/10060 "Feature 10060"): Implement joins for status queries +* Feature [10116](https://dev.icinga.org/issues/10116 "Feature 10116"): Add global status handler for the API +* Feature [10186](https://dev.icinga.org/issues/10186 "Feature 10186"): Make ConfigObject::{G,S}etField() method public +* Feature [10194](https://dev.icinga.org/issues/10194 "Feature 10194"): Sanitize error status codes and messages +* Feature [10202](https://dev.icinga.org/issues/10202 "Feature 10202"): Add documentation for api-users.conf and app.conf +* Feature [10209](https://dev.icinga.org/issues/10209 "Feature 10209"): Rename statusqueryhandler to objectqueryhandler +* Feature [10212](https://dev.icinga.org/issues/10212 "Feature 10212"): Move /v1/ to /v1/objects/ +* Feature [10243](https://dev.icinga.org/issues/10243 "Feature 10243"): Provide keywords to retrieve the current file name at parse time +* Feature [10257](https://dev.icinga.org/issues/10257 "Feature 10257"): Change object version to timestamps for diff updates on config sync +* Feature [10329](https://dev.icinga.org/issues/10329 "Feature 10329"): Pretty-print arrays and dictionaries when converting them to strings +* Feature [10368](https://dev.icinga.org/issues/10368 "Feature 10368"): Document that modified attributes require accept_config for cluster/clients +* Feature [10374](https://dev.icinga.org/issues/10374 "Feature 10374"): Add check command nginx_status +* Feature [10383](https://dev.icinga.org/issues/10383 "Feature 10383"): DB IDO should provide its connected state via /v1/status +* Feature [10385](https://dev.icinga.org/issues/10385 "Feature 10385"): Add 'support' tracker to changelog.py +* Feature [10387](https://dev.icinga.org/issues/10387 "Feature 10387"): Use the API for "icinga2 console" +* Feature [10388](https://dev.icinga.org/issues/10388 "Feature 10388"): Log a warning message on unauthorized http request +* Feature [10392](https://dev.icinga.org/issues/10392 "Feature 10392"): Original attributes list in IDO +* Feature [10393](https://dev.icinga.org/issues/10393 "Feature 10393"): Hide internal attributes +* Feature [10394](https://dev.icinga.org/issues/10394 "Feature 10394"): Add getter for endpoint 'connected' attribute +* Feature [10407](https://dev.icinga.org/issues/10407 "Feature 10407"): Remove api.cpp, api.hpp +* Feature [10409](https://dev.icinga.org/issues/10409 "Feature 10409"): Add documentation for apply+for in the language reference chapter +* Feature [10423](https://dev.icinga.org/issues/10423 "Feature 10423"): Ability to set port on SNMP Checks +* Feature [10431](https://dev.icinga.org/issues/10431 "Feature 10431"): Add the name for comments/downtimes next to legacy_id to DB IDO +* Feature [10441](https://dev.icinga.org/issues/10441 "Feature 10441"): Rewrite man page +* Feature [10479](https://dev.icinga.org/issues/10479 "Feature 10479"): Use ZoneName variable for parent_zone in node update-config +* Feature [10482](https://dev.icinga.org/issues/10482 "Feature 10482"): Documentation: Reorganize Livestatus and alternative frontends +* Feature [10503](https://dev.icinga.org/issues/10503 "Feature 10503"): Missing parameters for check jmx4perl +* Feature [10507](https://dev.icinga.org/issues/10507 "Feature 10507"): Add check command negate +* Feature [10509](https://dev.icinga.org/issues/10509 "Feature 10509"): Change GetLastStateUp/Down to host attributes +* Feature [10511](https://dev.icinga.org/issues/10511 "Feature 10511"): Add check command mysql +* Feature [10513](https://dev.icinga.org/issues/10513 "Feature 10513"): Add ipv4/ipv6 only to tcp and http CheckCommand +* Feature [10522](https://dev.icinga.org/issues/10522 "Feature 10522"): Change output format for 'icinga2 console' +* Feature [10547](https://dev.icinga.org/issues/10547 "Feature 10547"): Icinga 2 script debugger +* Feature [10548](https://dev.icinga.org/issues/10548 "Feature 10548"): Implement CSRF protection for the API +* Feature [10549](https://dev.icinga.org/issues/10549 "Feature 10549"): Change 'api setup' into a manual step while configuring the API +* Feature [10551](https://dev.icinga.org/issues/10551 "Feature 10551"): Change object query result set +* Feature [10566](https://dev.icinga.org/issues/10566 "Feature 10566"): Enhance programmatic examples for the API docs +* Feature [10574](https://dev.icinga.org/issues/10574 "Feature 10574"): Mention wxWidget (optional) requirement in INSTALL.md +* Feature [10575](https://dev.icinga.org/issues/10575 "Feature 10575"): Documentation for /v1/console +* Feature [10576](https://dev.icinga.org/issues/10576 "Feature 10576"): Explain variable names for joined objects in filter expressions +* Feature [10577](https://dev.icinga.org/issues/10577 "Feature 10577"): Documentation for the script debugger +* Feature [10591](https://dev.icinga.org/issues/10591 "Feature 10591"): Explain DELETE for config stages/packages +* Feature [10630](https://dev.icinga.org/issues/10630 "Feature 10630"): Update wxWidgets documentation for Icinga Studio #### Bugfixes -* Bug [8805](https://dev.icinga.org/issues/8805 "Bug 8805"): check cluster-zone returns wrong log lag -* Bug [9322](https://dev.icinga.org/issues/9322 "Bug 9322"): sending multiple Livestatus commands rejects all except the first -* Bug [10002](https://dev.icinga.org/issues/10002 "Bug 10002"): Deadlock in WorkQueue::Enqueue -* Bug [10079](https://dev.icinga.org/issues/10079 "Bug 10079"): Improve error message for socket errors in Livestatus -* Bug [10093](https://dev.icinga.org/issues/10093 "Bug 10093"): Rather use unique SID when granting rights for folders in NSIS on Windows Client -* Bug [10177](https://dev.icinga.org/issues/10177 "Bug 10177"): Windows Check Update -> Access denied -* Bug [10191](https://dev.icinga.org/issues/10191 "Bug 10191"): String methods cannot be invoked on an empty string -* Bug [10192](https://dev.icinga.org/issues/10192 "Bug 10192"): null + null should not be "" -* Bug [10199](https://dev.icinga.org/issues/10199 "Bug 10199"): Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate -* Bug [10204](https://dev.icinga.org/issues/10204 "Bug 10204"): Config parser problem with parenthesis and newlines -* Bug [10205](https://dev.icinga.org/issues/10205 "Bug 10205"): config checker reports wrong error on apply for rules -* Bug [10235](https://dev.icinga.org/issues/10235 "Bug 10235"): Deadlock in TlsStream::Close -* Bug [10239](https://dev.icinga.org/issues/10239 "Bug 10239"): Don't throw an exception when replaying the current replay log file -* Bug [10245](https://dev.icinga.org/issues/10245 "Bug 10245"): Percent character whitespace on Windows -* Bug [10254](https://dev.icinga.org/issues/10254 "Bug 10254"): Performance Data Labels including '=' will not be displayed correct -* Bug [10262](https://dev.icinga.org/issues/10262 "Bug 10262"): Don't log messages we've already relayed to all relevant zones -* Bug [10266](https://dev.icinga.org/issues/10266 "Bug 10266"): "Not after" value overflows in X509 certificates on RHEL5 -* Bug [10348](https://dev.icinga.org/issues/10348 "Bug 10348"): Checkresultreader is unable to process host checks -* Bug [10349](https://dev.icinga.org/issues/10349 "Bug 10349"): Missing Start call for base class in CheckResultReader -* Bug [10351](https://dev.icinga.org/issues/10351 "Bug 10351"): Broken table layout in chapter 20 -* Bug [10365](https://dev.icinga.org/issues/10365 "Bug 10365"): ApiListener::SyncRelayMessage doesn't send message to all zone members -* Bug [10377](https://dev.icinga.org/issues/10377 "Bug 10377"): Wrong connection log message for global zones - -### What's New in Version 2.3.10 - -#### Features - -* Feature [9218](https://dev.icinga.org/issues/9218 "Feature 9218"): Use the command_endpoint name as check_source value if defined - -#### Bugfixes - -* Bug [9244](https://dev.icinga.org/issues/9244 "Bug 9244"): String escape problem with PostgreSQL >= 9.1 and standard_conforming_strings=on -* Bug [10003](https://dev.icinga.org/issues/10003 "Bug 10003"): Nested "outer" macro calls fails on (handled) missing "inner" values -* Bug [10051](https://dev.icinga.org/issues/10051 "Bug 10051"): Missing fix for reload on Windows in 2.3.9 -* Bug [10058](https://dev.icinga.org/issues/10058 "Bug 10058"): Wrong calculation for host compat state "UNREACHABLE" in DB IDO -* Bug [10074](https://dev.icinga.org/issues/10074 "Bug 10074"): Missing zero padding for generated CA serial.txt - -### What's New in Version 2.3.9 - -#### Changes - -* Fix that the first SOFT state is recognized as second SOFT state -* Implemented reload functionality for Windows -* New ITL check commands -* Documentation updates -* Various other bugfixes - -#### Features - -* Feature [9527](https://dev.icinga.org/issues/9527 "Feature 9527"): CheckCommand for check_interfaces -* Feature [9671](https://dev.icinga.org/issues/9671 "Feature 9671"): Add check_yum to ITL -* Feature [9675](https://dev.icinga.org/issues/9675 "Feature 9675"): Add check_redis to ITL -* Feature [9686](https://dev.icinga.org/issues/9686 "Feature 9686"): Update gdb pretty printer docs w/ Python 3 -* Feature [9699](https://dev.icinga.org/issues/9699 "Feature 9699"): Adding "-r" parameter to the check_load command for dividing the load averages by the number of CPUs. -* Feature [9747](https://dev.icinga.org/issues/9747 "Feature 9747"): check_command for plugin check_clamd -* Feature [9796](https://dev.icinga.org/issues/9796 "Feature 9796"): Implement Dictionary#get and Array#get -* Feature [9801](https://dev.icinga.org/issues/9801 "Feature 9801"): Add check_jmx4perl to ITL -* Feature [9811](https://dev.icinga.org/issues/9811 "Feature 9811"): add check command for check_mailq -* Feature [9827](https://dev.icinga.org/issues/9827 "Feature 9827"): snmpv3 CheckCommand section improved -* Feature [9882](https://dev.icinga.org/issues/9882 "Feature 9882"): Implement the Dictionary#keys method -* Feature [9883](https://dev.icinga.org/issues/9883 "Feature 9883"): Use an empty dictionary for the 'this' scope when executing commands with Livestatus -* Feature [9985](https://dev.icinga.org/issues/9985 "Feature 9985"): add check command nscp-local-counter -* Feature [9996](https://dev.icinga.org/issues/9996 "Feature 9996"): Add new arguments openvmtools for Open VM Tools - -#### Bugfixes - -* Bug [8979](https://dev.icinga.org/issues/8979 "Bug 8979"): Missing DEL_DOWNTIME_BY_HOST_NAME command required by Classic UI 1.x -* Bug [9262](https://dev.icinga.org/issues/9262 "Bug 9262"): cluster check w/ immediate parent and child zone endpoints -* Bug [9623](https://dev.icinga.org/issues/9623 "Bug 9623"): missing config warning on empty port in endpoints -* Bug [9769](https://dev.icinga.org/issues/9769 "Bug 9769"): Set correct X509 version for certificates -* Bug [9773](https://dev.icinga.org/issues/9773 "Bug 9773"): Add log for missing EventCommand for command_endpoints -* Bug [9779](https://dev.icinga.org/issues/9779 "Bug 9779"): Trying to set a field for a non-object instance fails -* Bug [9782](https://dev.icinga.org/issues/9782 "Bug 9782"): icinga2 node wizard don't take zone_name input -* Bug [9806](https://dev.icinga.org/issues/9806 "Bug 9806"): Operator + is inconsistent when used with empty and non-empty strings -* Bug [9814](https://dev.icinga.org/issues/9814 "Bug 9814"): Build fix for Boost 1.59 -* Bug [9835](https://dev.icinga.org/issues/9835 "Bug 9835"): Dict initializer incorrectly re-initializes field that is set to an empty string -* Bug [9860](https://dev.icinga.org/issues/9860 "Bug 9860"): missing check_perfmon.exe -* Bug [9867](https://dev.icinga.org/issues/9867 "Bug 9867"): Agent freezes when the check returns massive output -* Bug [9884](https://dev.icinga.org/issues/9884 "Bug 9884"): Warning about invalid API function icinga::Hello -* Bug [9897](https://dev.icinga.org/issues/9897 "Bug 9897"): First SOFT state is recognized as second SOFT state -* Bug [9902](https://dev.icinga.org/issues/9902 "Bug 9902"): typo in docs -* Bug [9912](https://dev.icinga.org/issues/9912 "Bug 9912"): check_command interfaces option match_aliases has to be boolean -* Bug [9913](https://dev.icinga.org/issues/9913 "Bug 9913"): Default disk checks on Windows fail because check_disk doesn't support -K -* Bug [9928](https://dev.icinga.org/issues/9928 "Bug 9928"): Add missing category for IDO query -* Bug [9947](https://dev.icinga.org/issues/9947 "Bug 9947"): Serial number field is not properly initialized for CA certificates -* Bug [9961](https://dev.icinga.org/issues/9961 "Bug 9961"): Don't re-download NSCP for every build -* Bug [9962](https://dev.icinga.org/issues/9962 "Bug 9962"): Utility::Glob on Windows doesn't support wildcards in all but the last path component -* Bug [9972](https://dev.icinga.org/issues/9972 "Bug 9972"): Icinga2 - too many open files - Exception -* Bug [9984](https://dev.icinga.org/issues/9984 "Bug 9984"): fix check command nscp-local -* Bug [9992](https://dev.icinga.org/issues/9992 "Bug 9992"): Duplicate severity type in the documentation for SyslogLogger - -### What's New in Version 2.3.8 - -#### Changes - -* Bugfixes - -#### Bugfixes - -* Bug [9554](https://dev.icinga.org/issues/9554 "Bug 9554"): Don't allow "ignore where" for groups when there's no "assign where" -* Bug [9634](https://dev.icinga.org/issues/9634 "Bug 9634"): DB IDO: Do not update endpointstatus table on config updates -* Bug [9637](https://dev.icinga.org/issues/9637 "Bug 9637"): Wrong parameter for CheckCommand "ping-common-windows" -* Bug [9665](https://dev.icinga.org/issues/9665 "Bug 9665"): Escaping does not work for OpenTSDB perfdata plugin -* Bug [9666](https://dev.icinga.org/issues/9666 "Bug 9666"): checkcommand disk does not check free inode - check_disk - -### What's New in Version 2.3.7 - -#### Changes - -* Bugfixes - -#### Features - -* Feature [9610](https://dev.icinga.org/issues/9610 "Feature 9610"): Enhance troubleshooting ssl errors & cluster replay log - -#### Bugfixes - -* Bug [9406](https://dev.icinga.org/issues/9406 "Bug 9406"): Selective cluster reconnecting breaks client communication -* Bug [9535](https://dev.icinga.org/issues/9535 "Bug 9535"): Config parser ignores "ignore" in template definition -* Bug [9584](https://dev.icinga.org/issues/9584 "Bug 9584"): Incorrect return value for the macro() function -* Bug [9585](https://dev.icinga.org/issues/9585 "Bug 9585"): Wrong formatting in DB IDO extensions docs -* Bug [9586](https://dev.icinga.org/issues/9586 "Bug 9586"): DB IDO: endpoint* tables are cleared on reload causing constraint violations -* Bug [9621](https://dev.icinga.org/issues/9621 "Bug 9621"): Assertion failed in icinga::ScriptUtils::Intersection -* Bug [9622](https://dev.icinga.org/issues/9622 "Bug 9622"): Missing lock in ScriptUtils::Union - -### What's New in Version 2.3.6 - -#### Changes - -* Require openssl1 on sles11sp3 from Security Module repository - * Bug in SLES 11's OpenSSL version 0.9.8j preventing verification of generated certificates. - * Re-create these certificates with 2.3.6 linking against openssl1 (cli command or CSR auto-signing). -* ITL: Add ldap, ntp_peer, mongodb and elasticsearch CheckCommand definitions -* Bugfixes - -#### Features - -* Feature [6714](https://dev.icinga.org/issues/6714 "Feature 6714"): add pagerduty notification documentation -* Feature [9172](https://dev.icinga.org/issues/9172 "Feature 9172"): Add "ldap" CheckCommand for "check_ldap" plugin -* Feature [9191](https://dev.icinga.org/issues/9191 "Feature 9191"): Add "mongodb" CheckCommand definition -* Feature [9415](https://dev.icinga.org/issues/9415 "Feature 9415"): Add elasticsearch checkcommand to itl -* Feature [9416](https://dev.icinga.org/issues/9416 "Feature 9416"): snmpv3 CheckCommand: Add possibility to set securityLevel -* Feature [9451](https://dev.icinga.org/issues/9451 "Feature 9451"): Merge documentation fixes from GitHub -* Feature [9523](https://dev.icinga.org/issues/9523 "Feature 9523"): Add ntp_peer CheckCommand -* Feature [9562](https://dev.icinga.org/issues/9562 "Feature 9562"): Add new options for ntp_time CheckCommand -* Feature [9578](https://dev.icinga.org/issues/9578 "Feature 9578"): new options for smtp CheckCommand - -#### Bugfixes - -* Bug [9205](https://dev.icinga.org/issues/9205 "Bug 9205"): port empty when using icinga2 node wizard -* Bug [9253](https://dev.icinga.org/issues/9253 "Bug 9253"): Incorrect variable name in the ITL -* Bug [9303](https://dev.icinga.org/issues/9303 "Bug 9303"): Missing 'snmp_is_cisco' in Manubulon snmp-memory command definition -* Bug [9436](https://dev.icinga.org/issues/9436 "Bug 9436"): Functions can't be specified as command arguments -* Bug [9450](https://dev.icinga.org/issues/9450 "Bug 9450"): node setup: indent accept_config and accept_commands -* Bug [9452](https://dev.icinga.org/issues/9452 "Bug 9452"): Wrong file reference in README.md -* Bug [9456](https://dev.icinga.org/issues/9456 "Bug 9456"): Windows client w/ command_endpoint broken with $nscp_path$ and NscpPath detection -* Bug [9463](https://dev.icinga.org/issues/9463 "Bug 9463"): Incorrect check_ping.exe parameter in the ITL -* Bug [9476](https://dev.icinga.org/issues/9476 "Bug 9476"): Documentation for checks in an HA zone is wrong -* Bug [9481](https://dev.icinga.org/issues/9481 "Bug 9481"): Fix stability issues in the TlsStream/Stream classes -* Bug [9489](https://dev.icinga.org/issues/9489 "Bug 9489"): Add log message for discarded cluster events (e.g. from unauthenticated clients) -* Bug [9490](https://dev.icinga.org/issues/9490 "Bug 9490"): Missing openssl verify in cluster troubleshooting docs -* Bug [9513](https://dev.icinga.org/issues/9513 "Bug 9513"): itl/plugins-contrib.d/*.conf should point to PluginContribDir -* Bug [9522](https://dev.icinga.org/issues/9522 "Bug 9522"): wrong default port documentated for nrpe -* Bug [9549](https://dev.icinga.org/issues/9549 "Bug 9549"): Generated certificates cannot be verified w/ openssl 0.9.8j on SLES 11 -* Bug [9558](https://dev.icinga.org/issues/9558 "Bug 9558"): mysql-devel is not available in sles11sp3 -* Bug [9563](https://dev.icinga.org/issues/9563 "Bug 9563"): Update getting started for Debian Jessie - -### What's New in Version 2.3.5 - -#### Changes - -* NSClient++ is now bundled with the Windows setup wizard and can optionally be installed -* Windows Wizard: "include " is set by default -* Windows Wizard: Add update mode -* Plugins: Add check_perfmon plugin for Windows -* ITL: Add CheckCommand objects for Windows plugins ("include ") -* ITL: Add CheckCommand definitions for "mongodb", "iftraffic", "disk_smb" -* ITL: Add arguments to CheckCommands "dns", "ftp", "tcp", "nscp" - -#### Features - -* Feature [8116](https://dev.icinga.org/issues/8116 "Feature 8116"): Extend Windows installer with an update mode -* Feature [8180](https://dev.icinga.org/issues/8180 "Feature 8180"): Add documentation and CheckCommands for the windows plugins -* Feature [8809](https://dev.icinga.org/issues/8809 "Feature 8809"): Add check_perfmon plugin for Windows -* Feature [9115](https://dev.icinga.org/issues/9115 "Feature 9115"): Add SHOWALL to NSCP Checkcommand -* Feature [9130](https://dev.icinga.org/issues/9130 "Feature 9130"): Add 'check_drivesize' as nscp-local check command -* Feature [9145](https://dev.icinga.org/issues/9145 "Feature 9145"): Add arguments to "dns" CheckCommand -* Feature [9146](https://dev.icinga.org/issues/9146 "Feature 9146"): Add arguments to "ftp" CheckCommand -* Feature [9147](https://dev.icinga.org/issues/9147 "Feature 9147"): Add arguments to "tcp" CheckCommand -* Feature [9176](https://dev.icinga.org/issues/9176 "Feature 9176"): ITL Documentation: Add a link for passing custom attributes as command parameters -* Feature [9180](https://dev.icinga.org/issues/9180 "Feature 9180"): Include Windows support details in the documentation -* Feature [9185](https://dev.icinga.org/issues/9185 "Feature 9185"): Add timestamp support for PerfdataWriter -* Feature [9191](https://dev.icinga.org/issues/9191 "Feature 9191"): Add "mongodb" CheckCommand definition -* Feature [9238](https://dev.icinga.org/issues/9238 "Feature 9238"): Bundle NSClient++ in Windows Installer -* Feature [9254](https://dev.icinga.org/issues/9254 "Feature 9254"): Add 'disk_smb' Plugin CheckCommand definition -* Feature [9256](https://dev.icinga.org/issues/9256 "Feature 9256"): Determine NSClient++ installation path using MsiGetComponentPath -* Feature [9260](https://dev.icinga.org/issues/9260 "Feature 9260"): Include by default on Windows -* Feature [9261](https://dev.icinga.org/issues/9261 "Feature 9261"): Add the --load-all and --log options for nscp-local -* Feature [9263](https://dev.icinga.org/issues/9263 "Feature 9263"): Add support for installing NSClient++ in the Icinga 2 Windows wizard -* Feature [9270](https://dev.icinga.org/issues/9270 "Feature 9270"): Update service apply for documentation -* Feature [9272](https://dev.icinga.org/issues/9272 "Feature 9272"): Add 'iftraffic' to plugins-contrib check command definitions -* Feature [9285](https://dev.icinga.org/issues/9285 "Feature 9285"): Best practices: cluster config sync -* Feature [9297](https://dev.icinga.org/issues/9297 "Feature 9297"): Add examples for function usage in "set_if" and "command" attributes -* Feature [9310](https://dev.icinga.org/issues/9310 "Feature 9310"): Add typeof in 'assign/ignore where' expression as example -* Feature [9311](https://dev.icinga.org/issues/9311 "Feature 9311"): Add local variable scope for *Command to documentation (host, service, etc) -* Feature [9313](https://dev.icinga.org/issues/9313 "Feature 9313"): Use a more simple example for passing command parameters -* Feature [9318](https://dev.icinga.org/issues/9318 "Feature 9318"): Explain string concatenation in objects by real-world example -* Feature [9363](https://dev.icinga.org/issues/9363 "Feature 9363"): Update documentation for escape sequences -* Feature [9419](https://dev.icinga.org/issues/9419 "Feature 9419"): Enhance cluster/client troubleshooting -* Feature [9420](https://dev.icinga.org/issues/9420 "Feature 9420"): Enhance cluster docs with HA command_endpoints -* Feature [9431](https://dev.icinga.org/issues/9431 "Feature 9431"): Documentation: Move configuration before advanced topics - -#### Bugfixes - -* Bug [8853](https://dev.icinga.org/issues/8853 "Bug 8853"): Syntax Highlighting: host.address vs host.add -* Bug [8888](https://dev.icinga.org/issues/8888 "Bug 8888"): Icinga2 --version: Error showing Distribution -* Bug [8891](https://dev.icinga.org/issues/8891 "Bug 8891"): Node wont connect properly to master if host is is not set for Endpoint on new installs -* Bug [9055](https://dev.icinga.org/issues/9055 "Bug 9055"): Wrong timestamps w/ historical data replay in DB IDO -* Bug [9109](https://dev.icinga.org/issues/9109 "Bug 9109"): WIN: syslog is not an enable-able feature in windows -* Bug [9116](https://dev.icinga.org/issues/9116 "Bug 9116"): node update-config reports critical and warning -* Bug [9121](https://dev.icinga.org/issues/9121 "Bug 9121"): Possible DB deadlock -* Bug [9131](https://dev.icinga.org/issues/9131 "Bug 9131"): Missing ")" in last Apply Rules example -* Bug [9142](https://dev.icinga.org/issues/9142 "Bug 9142"): Downtimes are always "fixed" -* Bug [9143](https://dev.icinga.org/issues/9143 "Bug 9143"): Incorrect type and state filter mapping for User objects in DB IDO -* Bug [9161](https://dev.icinga.org/issues/9161 "Bug 9161"): 'disk': wrong order of threshold command arguments -* Bug [9187](https://dev.icinga.org/issues/9187 "Bug 9187"): SPEC: Give group write permissions for perfdata dir -* Bug [9205](https://dev.icinga.org/issues/9205 "Bug 9205"): port empty when using icinga2 node wizard -* Bug [9222](https://dev.icinga.org/issues/9222 "Bug 9222"): Missing custom attributes in backends if name is equal to object attribute -* Bug [9253](https://dev.icinga.org/issues/9253 "Bug 9253"): Incorrect variable name in the ITL -* Bug [9255](https://dev.icinga.org/issues/9255 "Bug 9255"): --scm-installs fails when the service is already installed -* Bug [9258](https://dev.icinga.org/issues/9258 "Bug 9258"): Some checks in the default Windows configuration fail -* Bug [9259](https://dev.icinga.org/issues/9259 "Bug 9259"): Disk and 'icinga' services are missing in the default Windows config -* Bug [9268](https://dev.icinga.org/issues/9268 "Bug 9268"): Typo in Configuration Best Practice -* Bug [9269](https://dev.icinga.org/issues/9269 "Bug 9269"): Wrong permission etc on windows -* Bug [9324](https://dev.icinga.org/issues/9324 "Bug 9324"): Multi line output not correctly handled from compat channels -* Bug [9328](https://dev.icinga.org/issues/9328 "Bug 9328"): Multiline vars are broken in objects.cache output -* Bug [9372](https://dev.icinga.org/issues/9372 "Bug 9372"): plugins-contrib.d/databases.conf: wrong argument for mssql_health -* Bug [9389](https://dev.icinga.org/issues/9389 "Bug 9389"): Documentation: Typo -* Bug [9390](https://dev.icinga.org/issues/9390 "Bug 9390"): Wrong service table attributes in Livestatus documentation -* Bug [9393](https://dev.icinga.org/issues/9393 "Bug 9393"): Documentation: Extend Custom Attributes with the boolean type -* Bug [9394](https://dev.icinga.org/issues/9394 "Bug 9394"): Including on Linux fails with unregistered function -* Bug [9399](https://dev.icinga.org/issues/9399 "Bug 9399"): Documentation: Typo -* Bug [9406](https://dev.icinga.org/issues/9406 "Bug 9406"): Selective cluster reconnecting breaks client communication -* Bug [9412](https://dev.icinga.org/issues/9412 "Bug 9412"): Documentation: Update the link to register a new Icinga account - -### What's New in Version 2.3.4 - -#### Changes - -* ITL: Check commands for various databases -* Improve validation messages for time periods -* Update max_check_attempts in generic-{host,service} templates -* Update logrotate configuration -* Bugfixes - -#### Features - -* Feature [8760](https://dev.icinga.org/issues/8760 "Feature 8760"): Add database plugins to ITL -* Feature [8803](https://dev.icinga.org/issues/8803 "Feature 8803"): Agent Wizard: add options for API defaults -* Feature [8893](https://dev.icinga.org/issues/8893 "Feature 8893"): Improve timeperiod validation error messages -* Feature [8895](https://dev.icinga.org/issues/8895 "Feature 8895"): Add explanatory note for Icinga2 client documentation - -#### Bugfixes - -* Bug [8808](https://dev.icinga.org/issues/8808 "Bug 8808"): logrotate doesn't work on Ubuntu -* Bug [8821](https://dev.icinga.org/issues/8821 "Bug 8821"): command_endpoint check_results are not replicated to other endpoints in the same zone -* Bug [8879](https://dev.icinga.org/issues/8879 "Bug 8879"): Reword documentation of check_address -* Bug [8881](https://dev.icinga.org/issues/8881 "Bug 8881"): Add arguments to the UPS check -* Bug [8889](https://dev.icinga.org/issues/8889 "Bug 8889"): Fix a minor markdown error -* Bug [8892](https://dev.icinga.org/issues/8892 "Bug 8892"): Validation errors for time ranges which span the DST transition -* Bug [8894](https://dev.icinga.org/issues/8894 "Bug 8894"): Default max_check_attempts should be lower for hosts than for services -* Bug [8913](https://dev.icinga.org/issues/8913 "Bug 8913"): Windows Build: Flex detection -* Bug [8917](https://dev.icinga.org/issues/8917 "Bug 8917"): Node wizard should only accept 'y', 'n', 'Y' and 'N' as answers for boolean questions -* Bug [8919](https://dev.icinga.org/issues/8919 "Bug 8919"): Fix complexity class for Dictionary::Get -* Bug [8987](https://dev.icinga.org/issues/8987 "Bug 8987"): Fix a typo -* Bug [9012](https://dev.icinga.org/issues/9012 "Bug 9012"): Typo in graphite feature enable documentation -* Bug [9014](https://dev.icinga.org/issues/9014 "Bug 9014"): Don't update scheduleddowntime table w/ trigger_time column when only adding a downtime -* Bug [9016](https://dev.icinga.org/issues/9016 "Bug 9016"): Downtimes which have been triggered are not properly recorded in the database -* Bug [9017](https://dev.icinga.org/issues/9017 "Bug 9017"): scheduled_downtime_depth column is not reset when a downtime ends or when a downtime is being removed -* Bug [9021](https://dev.icinga.org/issues/9021 "Bug 9021"): Multiple log messages w/ "Attempting to send notifications for notification object" -* Bug [9041](https://dev.icinga.org/issues/9041 "Bug 9041"): Acknowledging problems w/ expire time does not add the expiry information to the related comment for IDO and compat -* Bug [9045](https://dev.icinga.org/issues/9045 "Bug 9045"): Vim syntax: Match groups before host/service/user objects -* Bug [9049](https://dev.icinga.org/issues/9049 "Bug 9049"): check_disk order of command arguments -* Bug [9050](https://dev.icinga.org/issues/9050 "Bug 9050"): web.conf is not in the RPM package -* Bug [9064](https://dev.icinga.org/issues/9064 "Bug 9064"): troubleshoot truncates crash reports -* Bug [9069](https://dev.icinga.org/issues/9069 "Bug 9069"): Documentation: set_if usage with boolean values and functions -* Bug [9073](https://dev.icinga.org/issues/9073 "Bug 9073"): custom attributes with recursive macro function calls causing sigabrt - -### What's New in Version 2.3.3 - -#### Changes - -* New function: parse_performance_data -* Include more details in --version -* Improve documentation -* Bugfixes - -#### Features - -* Feature [8685](https://dev.icinga.org/issues/8685 "Feature 8685"): Show state/type filter names in notice/debug log -* Feature [8686](https://dev.icinga.org/issues/8686 "Feature 8686"): Update documentation for "apply for" rules -* Feature [8693](https://dev.icinga.org/issues/8693 "Feature 8693"): New function: parse_performance_data -* Feature [8740](https://dev.icinga.org/issues/8740 "Feature 8740"): Add "access objects at runtime" examples to advanced section -* Feature [8761](https://dev.icinga.org/issues/8761 "Feature 8761"): Include more details in --version -* Feature [8816](https://dev.icinga.org/issues/8816 "Feature 8816"): Add "random" CheckCommand for test and demo purposes -* Feature [8827](https://dev.icinga.org/issues/8827 "Feature 8827"): Move release info in INSTALL.md into a separate file - -#### Bugfixes - -* Bug [8660](https://dev.icinga.org/issues/8660 "Bug 8660"): Update syntax highlighting for 2.3 features -* Bug [8677](https://dev.icinga.org/issues/8677 "Bug 8677"): Re-order the object types in alphabetical order -* Bug [8724](https://dev.icinga.org/issues/8724 "Bug 8724"): Missing config validator for command arguments 'set_if' -* Bug [8734](https://dev.icinga.org/issues/8734 "Bug 8734"): startup.log broken when the DB schema needs an update -* Bug [8736](https://dev.icinga.org/issues/8736 "Bug 8736"): Don't update custom vars for each status update -* Bug [8748](https://dev.icinga.org/issues/8748 "Bug 8748"): Don't ignore extraneous arguments for functions -* Bug [8749](https://dev.icinga.org/issues/8749 "Bug 8749"): Build warnings with CMake 3.1.3 -* Bug [8750](https://dev.icinga.org/issues/8750 "Bug 8750"): Flex version check does not reject unsupported versions -* Bug [8753](https://dev.icinga.org/issues/8753 "Bug 8753"): Fix a typo in the documentation of ICINGA2_WITH_MYSQL and ICINGA2_WITH_PGSQL -* Bug [8755](https://dev.icinga.org/issues/8755 "Bug 8755"): Fix VIM syntax highlighting for comments -* Bug [8757](https://dev.icinga.org/issues/8757 "Bug 8757"): Add missing keywords in the syntax highlighting files -* Bug [8762](https://dev.icinga.org/issues/8762 "Bug 8762"): Plugin "check_http" is missing in Windows environments -* Bug [8763](https://dev.icinga.org/issues/8763 "Bug 8763"): Typo in doc library-reference -* Bug [8764](https://dev.icinga.org/issues/8764 "Bug 8764"): Revamp migration documentation -* Bug [8765](https://dev.icinga.org/issues/8765 "Bug 8765"): Explain processing logic/order of apply rules with for loops -* Bug [8766](https://dev.icinga.org/issues/8766 "Bug 8766"): Remove prompt to create a TicketSalt from the wizard -* Bug [8767](https://dev.icinga.org/issues/8767 "Bug 8767"): Typo and invalid example in the runtime macro documentation -* Bug [8769](https://dev.icinga.org/issues/8769 "Bug 8769"): Improve error message for invalid field access -* Bug [8770](https://dev.icinga.org/issues/8770 "Bug 8770"): object Notification + apply Service fails with error "...refers to service which doesn't exist" -* Bug [8771](https://dev.icinga.org/issues/8771 "Bug 8771"): Correct HA documentation -* Bug [8829](https://dev.icinga.org/issues/8829 "Bug 8829"): Figure out why command validators are not triggered -* Bug [8834](https://dev.icinga.org/issues/8834 "Bug 8834"): Return doesn't work inside loops -* Bug [8844](https://dev.icinga.org/issues/8844 "Bug 8844"): Segmentation fault when executing "icinga2 pki new-cert" -* Bug [8862](https://dev.icinga.org/issues/8862 "Bug 8862"): wrong 'dns_lookup' custom attribute default in command-plugins.conf -* Bug [8866](https://dev.icinga.org/issues/8866 "Bug 8866"): Fix incorrect perfdata templates in the documentation -* Bug [8869](https://dev.icinga.org/issues/8869 "Bug 8869"): Array in command arguments doesn't work - -### What's New in Version 2.3.2 - -#### Changes - -* Bugfixes - -#### Bugfixes - -* Bug [8721](https://dev.icinga.org/issues/8721 "Bug 8721"): Log message for cli commands breaks the init script - -### What's New in Version 2.3.1 - -#### Changes - -* Bugfixes - -Please note that this version fixes the default thresholds for the disk check which were inadvertently broken in 2.3.0; if you're using percent-based custom thresholds you will need to add the '%' sign to your custom attributes - -#### Features - -* Feature [8659](https://dev.icinga.org/issues/8659 "Feature 8659"): Implement String#contains - -#### Bugfixes - -* Bug [8540](https://dev.icinga.org/issues/8540 "Bug 8540"): Kill signal sent only to check process, not whole process group -* Bug [8657](https://dev.icinga.org/issues/8657 "Bug 8657"): Missing program name in 'icinga2 --version' -* Bug [8658](https://dev.icinga.org/issues/8658 "Bug 8658"): Fix check_disk thresholds: make sure partitions are the last arguments -* Bug [8672](https://dev.icinga.org/issues/8672 "Bug 8672"): Api heartbeat message response time problem -* Bug [8673](https://dev.icinga.org/issues/8673 "Bug 8673"): Fix check_disk default thresholds and document the change of unit -* Bug [8679](https://dev.icinga.org/issues/8679 "Bug 8679"): Config validation fail because of unexpected new-line -* Bug [8680](https://dev.icinga.org/issues/8680 "Bug 8680"): Update documentation for DB IDO HA Run-Once -* Bug [8683](https://dev.icinga.org/issues/8683 "Bug 8683"): Make sure that the /var/log/icinga2/crash directory exists -* Bug [8684](https://dev.icinga.org/issues/8684 "Bug 8684"): Fix formatting for the GDB stacktrace -* Bug [8687](https://dev.icinga.org/issues/8687 "Bug 8687"): Crash in Dependency::Stop -* Bug [8691](https://dev.icinga.org/issues/8691 "Bug 8691"): Debian packages do not create /var/log/icinga2/crash - -### What's New in Version 2.3.0 - -#### Changes - -* Improved configuration validation - * Unnecessary escapes are no longer permitted (e.g. \') - * Dashes are no longer permitted in identifier names (as their semantics are ambiguous) - * Unused values are detected (e.g. { "-M" }) - * Validation for time ranges has been improved - * Additional validation rules for some object types (Notification and User) -* New language features - * Implement a separate type for boolean values - * Support for user-defined functions - * Support for conditional statements (if/else) - * Support for 'for' and 'while' loops - * Support for local variables using the 'var' keyword - * New operators: % (modulo), ^ (xor), - (unary minus) and + (unary plus) - * Implemented prototype-based methods for most built-in types (e.g. [ 3, 2 ].sort()) - * Explicit access to local and global variables using the 'locals' and 'globals' keywords - * Changed the order in which filters are evaluated for apply rules with 'for' - * Make type objects accessible as global variables - * Support for using functions in custom attributes - * Access objects and their runtime attributes in functions (e.g. get_host(NodeName).state) -* ITL improvements - * Additional check commands were added to the ITL - * Additional arguments for existing check commands -* CLI improvements - * Add the 'icinga2 console' CLI command which can be used to test expressions - * Add the 'icinga2 troubleshoot' CLI command for collecting troubleshooting information - * Performance improvements for the 'icinga2 node update-config' CLI command - * Implement argument auto-completion for short options (e.g. daemon -c) - * 'node setup' and 'node wizard' create backups for existing certificate files -* Add ignore_soft_states option for Dependency object configuration -* Fewer threads are used for socket I/O -* Flapping detection for hosts and services is disabled by default -* Added support for OpenTSDB -* New Livestatus tables: hostsbygroup, servicesbygroup, servicesbyhostgroup -* Include GDB backtrace in crash reports -* Various documentation improvements -* Solved a number of issues where cluster instances would not reconnect after intermittent connection problems -* A lot of other, minor changes - -* [DB IDO schema upgrade](17-upgrading-icinga-2.md#upgrading-icinga-2) to `1.13.0` required! - -#### Features - -* Feature [3446](https://dev.icinga.org/issues/3446 "Feature 3446"): Add troubleshooting collect cli command -* Feature [6109](https://dev.icinga.org/issues/6109 "Feature 6109"): Don't spawn threads for network connections -* Feature [6570](https://dev.icinga.org/issues/6570 "Feature 6570"): Disallow side-effect-free r-value expressions in expression lists -* Feature [6697](https://dev.icinga.org/issues/6697 "Feature 6697"): Plugin Check Commands: add check_vmware_esx -* Feature [6857](https://dev.icinga.org/issues/6857 "Feature 6857"): Run CheckCommands with C locale (workaround for comma vs dot and plugin api bug) -* Feature [6858](https://dev.icinga.org/issues/6858 "Feature 6858"): Add some more PNP details -* Feature [6868](https://dev.icinga.org/issues/6868 "Feature 6868"): Disable flapping detection by default -* Feature [6923](https://dev.icinga.org/issues/6923 "Feature 6923"): IDO should fill program_end_time on a clean shutdown -* Feature [7136](https://dev.icinga.org/issues/7136 "Feature 7136"): extended Manubulon SNMP Check Plugin Command -* Feature [7209](https://dev.icinga.org/issues/7209 "Feature 7209"): ITL: Interfacetable -* Feature [7256](https://dev.icinga.org/issues/7256 "Feature 7256"): Add OpenTSDB Writer -* Feature [7292](https://dev.icinga.org/issues/7292 "Feature 7292"): ITL: Check_Mem.pl -* Feature [7294](https://dev.icinga.org/issues/7294 "Feature 7294"): ITL: ESXi-Hardware -* Feature [7326](https://dev.icinga.org/issues/7326 "Feature 7326"): Add parent soft states option to Dependency object configuration -* Feature [7361](https://dev.icinga.org/issues/7361 "Feature 7361"): Livestatus: Add GroupBy tables: hostsbygroup, servicesbygroup, servicesbyhostgroup -* Feature [7545](https://dev.icinga.org/issues/7545 "Feature 7545"): Please add labels in SNMP checks -* Feature [7564](https://dev.icinga.org/issues/7564 "Feature 7564"): Access object runtime attributes in custom vars & command arguments -* Feature [7610](https://dev.icinga.org/issues/7610 "Feature 7610"): Variable from for loop not usable in assign statement -* Feature [7700](https://dev.icinga.org/issues/7700 "Feature 7700"): Evaluate apply/object rules when the parent objects are created -* Feature [7702](https://dev.icinga.org/issues/7702 "Feature 7702"): Add an option that hides CLI commands -* Feature [7704](https://dev.icinga.org/issues/7704 "Feature 7704"): ConfigCompiler::HandleInclude* should return an AST node -* Feature [7706](https://dev.icinga.org/issues/7706 "Feature 7706"): ConfigCompiler::Compile* should return an AST node -* Feature [7748](https://dev.icinga.org/issues/7748 "Feature 7748"): Redesign how stack frames work for scripts -* Feature [7767](https://dev.icinga.org/issues/7767 "Feature 7767"): Rename _DEBUG to I2_DEBUG -* Feature [7774](https://dev.icinga.org/issues/7774 "Feature 7774"): Implement an AST Expression for T_CONST -* Feature [7778](https://dev.icinga.org/issues/7778 "Feature 7778"): Missing check_disk output on Windows -* Feature [7784](https://dev.icinga.org/issues/7784 "Feature 7784"): Implement the DISABLE_HOST_SVC_NOTIFICATIONS and ENABLE_HOST_SVC_NOTIFICATIONS commands -* Feature [7793](https://dev.icinga.org/issues/7793 "Feature 7793"): Don't build db_ido when both MySQL and PostgreSQL aren't enabled -* Feature [7794](https://dev.icinga.org/issues/7794 "Feature 7794"): Implement an option to disable building the Livestatus module -* Feature [7795](https://dev.icinga.org/issues/7795 "Feature 7795"): Implement an option to disable building the Demo component -* Feature [7805](https://dev.icinga.org/issues/7805 "Feature 7805"): Implement unit tests for the config parser -* Feature [7807](https://dev.icinga.org/issues/7807 "Feature 7807"): Move the cast functions into libbase -* Feature [7813](https://dev.icinga.org/issues/7813 "Feature 7813"): Implement the % operator -* Feature [7816](https://dev.icinga.org/issues/7816 "Feature 7816"): Document operator precedence -* Feature [7822](https://dev.icinga.org/issues/7822 "Feature 7822"): Make the config parser thread-safe -* Feature [7823](https://dev.icinga.org/issues/7823 "Feature 7823"): Figure out whether Number + String should implicitly convert the Number argument to a string -* Feature [7824](https://dev.icinga.org/issues/7824 "Feature 7824"): Implement the "if" and "else" keywords -* Feature [7873](https://dev.icinga.org/issues/7873 "Feature 7873"): Plugin Check Commands: Add icmp -* Feature [7879](https://dev.icinga.org/issues/7879 "Feature 7879"): Windows agent is missing the standard plugin check_ping -* Feature [7883](https://dev.icinga.org/issues/7883 "Feature 7883"): Implement official support for user-defined functions and the "for" keyword -* Feature [7901](https://dev.icinga.org/issues/7901 "Feature 7901"): Implement socket_path attribute for the IdoMysqlConnection class -* Feature [7910](https://dev.icinga.org/issues/7910 "Feature 7910"): The lexer shouldn't accept escapes for characters which don't have to be escaped -* Feature [7925](https://dev.icinga.org/issues/7925 "Feature 7925"): Move the config file for the ido-*sql features into the icinga2-ido-* packages -* Feature [8016](https://dev.icinga.org/issues/8016 "Feature 8016"): Documentation enhancement for snmp traps and passive checks. -* Feature [8019](https://dev.icinga.org/issues/8019 "Feature 8019"): Register type objects as global variables -* Feature [8020](https://dev.icinga.org/issues/8020 "Feature 8020"): Improve output of ToString for type objects -* Feature [8030](https://dev.icinga.org/issues/8030 "Feature 8030"): Evaluate usage of function() -* Feature [8033](https://dev.icinga.org/issues/8033 "Feature 8033"): Allow name changed from inside the object -* Feature [8040](https://dev.icinga.org/issues/8040 "Feature 8040"): Disallow calling strings as functions -* Feature [8043](https://dev.icinga.org/issues/8043 "Feature 8043"): Implement a boolean sub-type for the Value class -* Feature [8047](https://dev.icinga.org/issues/8047 "Feature 8047"): ConfigCompiler::HandleInclude should return an inline dictionary -* Feature [8060](https://dev.icinga.org/issues/8060 "Feature 8060"): Windows plugins should behave like their Linux cousins -* Feature [8065](https://dev.icinga.org/issues/8065 "Feature 8065"): Implement a way to remove dictionary keys -* Feature [8071](https://dev.icinga.org/issues/8071 "Feature 8071"): Implement a way to call methods on objects -* Feature [8074](https://dev.icinga.org/issues/8074 "Feature 8074"): Figure out how variable scopes should work -* Feature [8078](https://dev.icinga.org/issues/8078 "Feature 8078"): Backport i2tcl's error reporting functionality into "icinga2 console" -* Feature [8096](https://dev.icinga.org/issues/8096 "Feature 8096"): Document the new language features in 2.3 -* Feature [8121](https://dev.icinga.org/issues/8121 "Feature 8121"): feature enable should use relative symlinks -* Feature [8133](https://dev.icinga.org/issues/8133 "Feature 8133"): Implement line-continuation for the "console" command -* Feature [8169](https://dev.icinga.org/issues/8169 "Feature 8169"): Implement additional methods for strings -* Feature [8172](https://dev.icinga.org/issues/8172 "Feature 8172"): Assignments shouldn't have a "return" value -* Feature [8195](https://dev.icinga.org/issues/8195 "Feature 8195"): Host/Service runtime macro downtime_depth -* Feature [8226](https://dev.icinga.org/issues/8226 "Feature 8226"): Make invalid log-severity option output an error instead of a warning -* Feature [8244](https://dev.icinga.org/issues/8244 "Feature 8244"): Implement keywords to explicitly access globals/locals -* Feature [8259](https://dev.icinga.org/issues/8259 "Feature 8259"): The check "hostalive" is not working with ipv6 -* Feature [8269](https://dev.icinga.org/issues/8269 "Feature 8269"): Implement the while keyword -* Feature [8277](https://dev.icinga.org/issues/8277 "Feature 8277"): Add macros $host.check_source$ and $service.check_source$ -* Feature [8290](https://dev.icinga.org/issues/8290 "Feature 8290"): Make operators &&, || behave like in JavaScript -* Feature [8291](https://dev.icinga.org/issues/8291 "Feature 8291"): Implement validator support for function objects -* Feature [8293](https://dev.icinga.org/issues/8293 "Feature 8293"): The Zone::global attribute is not documented -* Feature [8316](https://dev.icinga.org/issues/8316 "Feature 8316"): Extend disk checkcommand -* Feature [8322](https://dev.icinga.org/issues/8322 "Feature 8322"): Implement Array#join -* Feature [8371](https://dev.icinga.org/issues/8371 "Feature 8371"): Add path information for objects in object list -* Feature [8374](https://dev.icinga.org/issues/8374 "Feature 8374"): Add timestamp support for Graphite -* Feature [8386](https://dev.icinga.org/issues/8386 "Feature 8386"): Add documentation for cli command 'console' -* Feature [8393](https://dev.icinga.org/issues/8393 "Feature 8393"): Implement support for Json.encode and Json.decode -* Feature [8394](https://dev.icinga.org/issues/8394 "Feature 8394"): Implement continue/break keywords -* Feature [8399](https://dev.icinga.org/issues/8399 "Feature 8399"): Backup certificate files in 'node setup' -* Feature [8410](https://dev.icinga.org/issues/8410 "Feature 8410"): udp check command is missing arguments. -* Feature [8414](https://dev.icinga.org/issues/8414 "Feature 8414"): Add ITL check command for check_ipmi_sensor -* Feature [8429](https://dev.icinga.org/issues/8429 "Feature 8429"): add webinject checkcommand -* Feature [8465](https://dev.icinga.org/issues/8465 "Feature 8465"): Add the ability to use a CA certificate as a way of verifying hosts for CSR autosigning -* Feature [8467](https://dev.icinga.org/issues/8467 "Feature 8467"): introduce time dependent variable values -* Feature [8498](https://dev.icinga.org/issues/8498 "Feature 8498"): Snmp CheckCommand misses various options -* Feature [8515](https://dev.icinga.org/issues/8515 "Feature 8515"): Show slave lag for the cluster-zone check -* Feature [8522](https://dev.icinga.org/issues/8522 "Feature 8522"): Update Remote Client/Distributed Monitoring Documentation -* Feature [8527](https://dev.icinga.org/issues/8527 "Feature 8527"): Change Livestatus query log level to 'notice' -* Feature [8548](https://dev.icinga.org/issues/8548 "Feature 8548"): Add support for else-if -* Feature [8575](https://dev.icinga.org/issues/8575 "Feature 8575"): Include GDB backtrace in crash reports -* Feature [8599](https://dev.icinga.org/issues/8599 "Feature 8599"): Remove macro argument for IMPL_TYPE_LOOKUP -* Feature [8600](https://dev.icinga.org/issues/8600 "Feature 8600"): Add validator for time ranges in ScheduledDowntime objects -* Feature [8610](https://dev.icinga.org/issues/8610 "Feature 8610"): Support the SNI TLS extension -* Feature [8621](https://dev.icinga.org/issues/8621 "Feature 8621"): Add check commands for NSClient++ -* Feature [8648](https://dev.icinga.org/issues/8648 "Feature 8648"): Document closures ('use') - -#### Bugfixes - -* Bug [6171](https://dev.icinga.org/issues/6171 "Bug 6171"): Remove name and return value for stats functions -* Bug [6959](https://dev.icinga.org/issues/6959 "Bug 6959"): Scheduled start time will be ignored if the host or service is already in a problem state -* Bug [7311](https://dev.icinga.org/issues/7311 "Bug 7311"): Invalid macro results in exception -* Bug [7542](https://dev.icinga.org/issues/7542 "Bug 7542"): Update validators for CustomVarObject -* Bug [7576](https://dev.icinga.org/issues/7576 "Bug 7576"): validate configured legacy timeperiod ranges -* Bug [7582](https://dev.icinga.org/issues/7582 "Bug 7582"): Variable expansion is single quoted. -* Bug [7644](https://dev.icinga.org/issues/7644 "Bug 7644"): Unity build doesn't work with MSVC -* Bug [7647](https://dev.icinga.org/issues/7647 "Bug 7647"): Avoid rebuilding libbase when the version number changes -* Bug [7731](https://dev.icinga.org/issues/7731 "Bug 7731"): Reminder notifications not being sent but logged every 5 secs -* Bug [7765](https://dev.icinga.org/issues/7765 "Bug 7765"): DB IDO: Duplicate entry icinga_{host,service}dependencies -* Bug [7800](https://dev.icinga.org/issues/7800 "Bug 7800"): Fix the shift/reduce conflicts in the parser -* Bug [7802](https://dev.icinga.org/issues/7802 "Bug 7802"): Change parameter type for include and include_recursive to T_STRING -* Bug [7808](https://dev.icinga.org/issues/7808 "Bug 7808"): Unterminated string literals should cause parser to return an error -* Bug [7809](https://dev.icinga.org/issues/7809 "Bug 7809"): Scoping rules for "for" are broken -* Bug [7810](https://dev.icinga.org/issues/7810 "Bug 7810"): Return values for functions are broken -* Bug [7811](https://dev.icinga.org/issues/7811 "Bug 7811"): The __return keyword is broken -* Bug [7812](https://dev.icinga.org/issues/7812 "Bug 7812"): Validate array subscripts -* Bug [7814](https://dev.icinga.org/issues/7814 "Bug 7814"): Set expression should check whether LHS is a null pointer -* Bug [7815](https://dev.icinga.org/issues/7815 "Bug 7815"): - operator doesn't work in expressions -* Bug [7826](https://dev.icinga.org/issues/7826 "Bug 7826"): Compiler warnings -* Bug [7830](https://dev.icinga.org/issues/7830 "Bug 7830"): - shouldn't be allowed in identifiers -* Bug [7871](https://dev.icinga.org/issues/7871 "Bug 7871"): Missing persistent_comment, notify_contact columns for acknowledgement table -* Bug [7894](https://dev.icinga.org/issues/7894 "Bug 7894"): Fix warnings when using CMake 3.1.0 -* Bug [7895](https://dev.icinga.org/issues/7895 "Bug 7895"): Serialize() fails to serialize objects which don't have a registered type -* Bug [7995](https://dev.icinga.org/issues/7995 "Bug 7995"): Windows Agent: Missing directory "zones" in setup -* Bug [8018](https://dev.icinga.org/issues/8018 "Bug 8018"): Value("").IsEmpty() should return true -* Bug [8029](https://dev.icinga.org/issues/8029 "Bug 8029"): operator precedence for % and > is incorrect -* Bug [8041](https://dev.icinga.org/issues/8041 "Bug 8041"): len() overflows -* Bug [8061](https://dev.icinga.org/issues/8061 "Bug 8061"): Confusing error message for import -* Bug [8067](https://dev.icinga.org/issues/8067 "Bug 8067"): Require at least one user for notification objects (user or as member of user_groups) -* Bug [8076](https://dev.icinga.org/issues/8076 "Bug 8076"): icinga 2 Config Error needs to be more verbose -* Bug [8081](https://dev.icinga.org/issues/8081 "Bug 8081"): Location info for strings is incorrect -* Bug [8100](https://dev.icinga.org/issues/8100 "Bug 8100"): POSTGRES IDO: invalid syntax for integer: "true" while trying to update table icinga_hoststatus -* Bug [8111](https://dev.icinga.org/issues/8111 "Bug 8111"): User::ValidateFilters isn't being used -* Bug [8117](https://dev.icinga.org/issues/8117 "Bug 8117"): Agent checks fail when there's already a host with the same name -* Bug [8122](https://dev.icinga.org/issues/8122 "Bug 8122"): Config file passing validation causes segfault -* Bug [8132](https://dev.icinga.org/issues/8132 "Bug 8132"): Debug info for indexer is incorrect -* Bug [8136](https://dev.icinga.org/issues/8136 "Bug 8136"): Icinga crashes when config file name is invalid -* Bug [8164](https://dev.icinga.org/issues/8164 "Bug 8164"): escaped backslash in string literals -* Bug [8166](https://dev.icinga.org/issues/8166 "Bug 8166"): parsing include_recursive -* Bug [8173](https://dev.icinga.org/issues/8173 "Bug 8173"): Segfault on icinga::String::operator= when compiling configuration -* Bug [8175](https://dev.icinga.org/issues/8175 "Bug 8175"): Compiler warnings -* Bug [8179](https://dev.icinga.org/issues/8179 "Bug 8179"): Exception on missing config files -* Bug [8184](https://dev.icinga.org/issues/8184 "Bug 8184"): group assign fails with bad lexical cast when evaluating rules -* Bug [8185](https://dev.icinga.org/issues/8185 "Bug 8185"): Argument auto-completion doesn't work for short options -* Bug [8211](https://dev.icinga.org/issues/8211 "Bug 8211"): icinga2 node update should not write config for blacklisted zones/host -* Bug [8230](https://dev.icinga.org/issues/8230 "Bug 8230"): Lexer term for T_ANGLE_STRING is too aggressive -* Bug [8249](https://dev.icinga.org/issues/8249 "Bug 8249"): Problems using command_endpoint inside HA zone -* Bug [8257](https://dev.icinga.org/issues/8257 "Bug 8257"): Report missing command objects on remote agent -* Bug [8260](https://dev.icinga.org/issues/8260 "Bug 8260"): icinga2 node wizard: Create backups of certificates -* Bug [8289](https://dev.icinga.org/issues/8289 "Bug 8289"): Livestatus operator =~ is not case-insensitive -* Bug [8294](https://dev.icinga.org/issues/8294 "Bug 8294"): Running icinga2 command as non privilged user raises error -* Bug [8298](https://dev.icinga.org/issues/8298 "Bug 8298"): notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands -* Bug [8300](https://dev.icinga.org/issues/8300 "Bug 8300"): ApiListener::ReplayLog shouldn't hold mutex lock during call to Socket::Poll -* Bug [8307](https://dev.icinga.org/issues/8307 "Bug 8307"): PidPath, VarsPath, ObjectsPath and StatePath no longer read from init.conf -* Bug [8309](https://dev.icinga.org/issues/8309 "Bug 8309"): Crash in ScheduledDowntime::CreateNextDowntime -* Bug [8313](https://dev.icinga.org/issues/8313 "Bug 8313"): Incorrectly formatted timestamp in .timestamp file -* Bug [8318](https://dev.icinga.org/issues/8318 "Bug 8318"): Remote Clients: Add manual setup cli commands -* Bug [8323](https://dev.icinga.org/issues/8323 "Bug 8323"): Apply rule '' for host does not match anywhere! -* Bug [8333](https://dev.icinga.org/issues/8333 "Bug 8333"): Icinga2 master doesn't change check-status when "accept_commands = true" is not set at client node -* Bug [8372](https://dev.icinga.org/issues/8372 "Bug 8372"): Stacktrace on Endpoint not belonging to a zone or multiple zones -* Bug [8383](https://dev.icinga.org/issues/8383 "Bug 8383"): last_hard_state missing in StatusDataWriter -* Bug [8387](https://dev.icinga.org/issues/8387 "Bug 8387"): StatusDataWriter: Wrong host notification filters (broken fix in #8192) -* Bug [8388](https://dev.icinga.org/issues/8388 "Bug 8388"): Config sync authoritative file never created -* Bug [8389](https://dev.icinga.org/issues/8389 "Bug 8389"): Added downtimes must be triggered immediately if checkable is Not-OK -* Bug [8390](https://dev.icinga.org/issues/8390 "Bug 8390"): Agent writes CR CR LF in synchronized config files -* Bug [8397](https://dev.icinga.org/issues/8397 "Bug 8397"): Icinga2 config reset after package update (centos6.6) -* Bug [8425](https://dev.icinga.org/issues/8425 "Bug 8425"): DB IDO: Duplicate entry icinga_scheduleddowntime -* Bug [8433](https://dev.icinga.org/issues/8433 "Bug 8433"): Make the arguments for the stats functions const-ref -* Bug [8434](https://dev.icinga.org/issues/8434 "Bug 8434"): Build fails on OpenBSD -* Bug [8436](https://dev.icinga.org/issues/8436 "Bug 8436"): Indicate that Icinga2 is shutting down in case of a fatal error -* Bug [8438](https://dev.icinga.org/issues/8438 "Bug 8438"): DB IDO {host,service}checks command_line value is "Object of type 'icinga::Array'" -* Bug [8444](https://dev.icinga.org/issues/8444 "Bug 8444"): Don't attempt to restore program state from non-existing state file -* Bug [8452](https://dev.icinga.org/issues/8452 "Bug 8452"): Livestatus query on commands table with custom vars fails -* Bug [8461](https://dev.icinga.org/issues/8461 "Bug 8461"): Don't request heartbeat messages until after we've synced the log -* Bug [8473](https://dev.icinga.org/issues/8473 "Bug 8473"): Exception in WorkQueue::StatusTimerHandler -* Bug [8488](https://dev.icinga.org/issues/8488 "Bug 8488"): Figure out why 'node update-config' becomes slow over time -* Bug [8493](https://dev.icinga.org/issues/8493 "Bug 8493"): Misleading ApiListener connection log messages on a master (Endpoint vs Zone) -* Bug [8496](https://dev.icinga.org/issues/8496 "Bug 8496"): Icinga doesn't update long_output in DB -* Bug [8511](https://dev.icinga.org/issues/8511 "Bug 8511"): Deadlock with DB IDO dump and forcing a scheduled check -* Bug [8517](https://dev.icinga.org/issues/8517 "Bug 8517"): Config parser fails non-deterministic on Notification missing Checkable -* Bug [8519](https://dev.icinga.org/issues/8519 "Bug 8519"): apply-for incorrectly converts loop var to string -* Bug [8529](https://dev.icinga.org/issues/8529 "Bug 8529"): livestatus limit header not working -* Bug [8535](https://dev.icinga.org/issues/8535 "Bug 8535"): Crash in ApiEvents::RepositoryTimerHandler -* Bug [8536](https://dev.icinga.org/issues/8536 "Bug 8536"): Valgrind warning for ExternalCommandListener::CommandPipeThread -* Bug [8537](https://dev.icinga.org/issues/8537 "Bug 8537"): Crash in DbObject::SendStatusUpdate -* Bug [8544](https://dev.icinga.org/issues/8544 "Bug 8544"): Hosts: process_performance_data = 0 in database even though enable_perfdata = 1 in config -* Bug [8555](https://dev.icinga.org/issues/8555 "Bug 8555"): Don't accept config updates for zones for which we have an authoritative copy of the config -* Bug [8559](https://dev.icinga.org/issues/8559 "Bug 8559"): check_memory tool shows incorrect memory size on windows -* Bug [8593](https://dev.icinga.org/issues/8593 "Bug 8593"): Memory leak in Expression::GetReference -* Bug [8594](https://dev.icinga.org/issues/8594 "Bug 8594"): Improve Livestatus query performance -* Bug [8596](https://dev.icinga.org/issues/8596 "Bug 8596"): Dependency: Validate *_{host,service}_name objects on their existance -* Bug [8604](https://dev.icinga.org/issues/8604 "Bug 8604"): Attribute hints don't work for nested attributes -* Bug [8627](https://dev.icinga.org/issues/8627 "Bug 8627"): Icinga2 shuts down when service is reloaded -* Bug [8638](https://dev.icinga.org/issues/8638 "Bug 8638"): Fix a typo in documentation - +* Bug [8822](https://dev.icinga.org/issues/8822 "Bug 8822"): Update OpenSSL for the Windows builds +* Bug [8823](https://dev.icinga.org/issues/8823 "Bug 8823"): Don't allow users to instantiate the StreamLogger class +* Bug [8830](https://dev.icinga.org/issues/8830 "Bug 8830"): Make default notifications include users from host.vars.notification.mail.users +* Bug [8865](https://dev.icinga.org/issues/8865 "Bug 8865"): Failed assertion in IdoMysqlConnection::FieldToEscapedString +* Bug [8907](https://dev.icinga.org/issues/8907 "Bug 8907"): Validation fails even though field is not required +* Bug [8924](https://dev.icinga.org/issues/8924 "Bug 8924"): Specify pidfile for status_of_proc in the init script +* Bug [8952](https://dev.icinga.org/issues/8952 "Bug 8952"): Crash in VMOps::FunctionCall +* Bug [8989](https://dev.icinga.org/issues/8989 "Bug 8989"): pgsql driver does not have latest mysql changes synced +* Bug [9015](https://dev.icinga.org/issues/9015 "Bug 9015"): Compiler warnings with latest HEAD 5ac5f98 +* Bug [9027](https://dev.icinga.org/issues/9027 "Bug 9027"): PostgreSQL schema sets default timestamps w/o time zone +* Bug [9053](https://dev.icinga.org/issues/9053 "Bug 9053"): icinga demo module can not be built +* Bug [9188](https://dev.icinga.org/issues/9188 "Bug 9188"): Remove incorrect 'ignore where' expression from 'ssh' apply example +* Bug [9455](https://dev.icinga.org/issues/9455 "Bug 9455"): Fix incorrect datatype for the check_source column in icinga_statehistory table +* Bug [9547](https://dev.icinga.org/issues/9547 "Bug 9547"): Wrong vars changed handler in api events +* Bug [9576](https://dev.icinga.org/issues/9576 "Bug 9576"): Overflow in freshness_threshold column (smallint) w/ DB IDO MySQL +* Bug [9590](https://dev.icinga.org/issues/9590 "Bug 9590"): 'node wizard/setup' should always generate new CN certificates +* Bug [9703](https://dev.icinga.org/issues/9703 "Bug 9703"): Problem with child nodes in http url registry +* Bug [9735](https://dev.icinga.org/issues/9735 "Bug 9735"): Broken cluster config sync w/o include_zones +* Bug [9778](https://dev.icinga.org/issues/9778 "Bug 9778"): Accessing field ID 0 ("prototype") fails +* Bug [9793](https://dev.icinga.org/issues/9793 "Bug 9793"): Operator - should not work with "" and numbers +* Bug [9795](https://dev.icinga.org/issues/9795 "Bug 9795"): ScriptFrame's 'Self' attribute gets corrupted when an expression throws an exception +* Bug [9813](https://dev.icinga.org/issues/9813 "Bug 9813"): win32 build: S_ISDIR is undefined +* Bug [9843](https://dev.icinga.org/issues/9843 "Bug 9843"): console autocompletion should take into account parent classes' prototypes +* Bug [9868](https://dev.icinga.org/issues/9868 "Bug 9868"): Crash in ScriptFrame::~ScriptFrame +* Bug [9872](https://dev.icinga.org/issues/9872 "Bug 9872"): Color codes in console prompt break line editing +* Bug [9876](https://dev.icinga.org/issues/9876 "Bug 9876"): Crash during cluster log replay +* Bug [9879](https://dev.icinga.org/issues/9879 "Bug 9879"): Missing conf.d or zones.d cause parse failure +* Bug [9911](https://dev.icinga.org/issues/9911 "Bug 9911"): Do not let API users create objects with invalid names +* Bug [9966](https://dev.icinga.org/issues/9966 "Bug 9966"): Fix formatting in mkclass +* Bug [9968](https://dev.icinga.org/issues/9968 "Bug 9968"): Implement support for '.' when persisting modified attributes +* Bug [9987](https://dev.icinga.org/issues/9987 "Bug 9987"): Crash in ConfigCompiler::RegisterZoneDir +* Bug [10008](https://dev.icinga.org/issues/10008 "Bug 10008"): Don't parse config files for branches not taken +* Bug [10012](https://dev.icinga.org/issues/10012 "Bug 10012"): Unused variable 'dobj' in configobject.tcpp +* Bug [10024](https://dev.icinga.org/issues/10024 "Bug 10024"): HTTP keep-alive does not work with .NET WebClient +* Bug [10027](https://dev.icinga.org/issues/10027 "Bug 10027"): Filtering by name doesn't work +* Bug [10034](https://dev.icinga.org/issues/10034 "Bug 10034"): Unused variable console_type in consolecommand.cpp +* Bug [10041](https://dev.icinga.org/issues/10041 "Bug 10041"): build failure: demo module +* Bug [10048](https://dev.icinga.org/issues/10048 "Bug 10048"): Error handling in HttpClient/icinga-studio +* Bug [10110](https://dev.icinga.org/issues/10110 "Bug 10110"): Add object_id where clause for icinga_downtimehistory +* Bug [10180](https://dev.icinga.org/issues/10180 "Bug 10180"): API actions do not follow REST guidelines +* Bug [10198](https://dev.icinga.org/issues/10198 "Bug 10198"): Detect infinite recursion in user scripts +* Bug [10210](https://dev.icinga.org/issues/10210 "Bug 10210"): Move the Collection status handler to /v1/status +* Bug [10211](https://dev.icinga.org/issues/10211 "Bug 10211"): PerfdataValue is not properly serialised in status queries +* Bug [10224](https://dev.icinga.org/issues/10224 "Bug 10224"): URL parser is cutting off last character +* Bug [10234](https://dev.icinga.org/issues/10234 "Bug 10234"): ASCII NULs don't work in string values +* Bug [10238](https://dev.icinga.org/issues/10238 "Bug 10238"): Use a temporary file for modified-attributes.conf updates +* Bug [10241](https://dev.icinga.org/issues/10241 "Bug 10241"): Properly encode URLs in Icinga Studio +* Bug [10249](https://dev.icinga.org/issues/10249 "Bug 10249"): Config Sync shouldn't send updates for objects the client doesn't have access to +* Bug [10253](https://dev.icinga.org/issues/10253 "Bug 10253"): /v1/objects/ returns an HTTP error when there are no objects of that type +* Bug [10255](https://dev.icinga.org/issues/10255 "Bug 10255"): Config sync does not set endpoint syncing and plays disconnect-sync ping-pong +* Bug [10256](https://dev.icinga.org/issues/10256 "Bug 10256"): ConfigWriter::EmitValue should format floating point values properly +* Bug [10326](https://dev.icinga.org/issues/10326 "Bug 10326"): icinga2 repository host add does not work +* Bug [10350](https://dev.icinga.org/issues/10350 "Bug 10350"): Remove duplicated text in section "Apply Notifications to Hosts and Services" +* Bug [10355](https://dev.icinga.org/issues/10355 "Bug 10355"): Version updates are not working properly +* Bug [10360](https://dev.icinga.org/issues/10360 "Bug 10360"): Icinga2 API performance regression +* Bug [10371](https://dev.icinga.org/issues/10371 "Bug 10371"): Ensure that modified attributes work with clients with local config and no zone attribute +* Bug [10386](https://dev.icinga.org/issues/10386 "Bug 10386"): restore_attribute does not work in clusters +* Bug [10403](https://dev.icinga.org/issues/10403 "Bug 10403"): Escaping $ not documented +* Bug [10406](https://dev.icinga.org/issues/10406 "Bug 10406"): Misleading wording in generated zones.conf +* Bug [10410](https://dev.icinga.org/issues/10410 "Bug 10410"): OpenBSD: hang during ConfigItem::ActivateItems() in daemon startup +* Bug [10417](https://dev.icinga.org/issues/10417 "Bug 10417"): 'which' isn't available in a minimal CentOS container +* Bug [10422](https://dev.icinga.org/issues/10422 "Bug 10422"): Changing a group's attributes causes duplicate rows in the icinga_*group_members table +* Bug [10433](https://dev.icinga.org/issues/10433 "Bug 10433"): 'dig_lookup' custom attribute for the 'dig' check command isn't optional +* Bug [10436](https://dev.icinga.org/issues/10436 "Bug 10436"): Custom variables aren't removed from the IDO database +* Bug [10439](https://dev.icinga.org/issues/10439 "Bug 10439"): "Command options" is empty when executing icinga2 without any argument. +* Bug [10440](https://dev.icinga.org/issues/10440 "Bug 10440"): Improve --help output for the --log-level option +* Bug [10455](https://dev.icinga.org/issues/10455 "Bug 10455"): Improve error handling during log replay +* Bug [10456](https://dev.icinga.org/issues/10456 "Bug 10456"): Incorrect attribute name in the documentation +* Bug [10457](https://dev.icinga.org/issues/10457 "Bug 10457"): Don't allow scripts to access FANoUserView attributes in sandbox mode +* Bug [10461](https://dev.icinga.org/issues/10461 "Bug 10461"): Line continuation is broken in 'icinga2 console' +* Bug [10466](https://dev.icinga.org/issues/10466 "Bug 10466"): Crash in IndexerExpression::GetReference when attempting to set an attribute on an object other than the current one +* Bug [10473](https://dev.icinga.org/issues/10473 "Bug 10473"): IDO tries to execute empty UPDATE queries +* Bug [10491](https://dev.icinga.org/issues/10491 "Bug 10491"): Unique constraint violation with multiple comment inserts in DB IDO +* Bug [10495](https://dev.icinga.org/issues/10495 "Bug 10495"): Incorrect JSON-RPC message causes Icinga 2 to crash +* Bug [10498](https://dev.icinga.org/issues/10498 "Bug 10498"): IcingaStudio: Accessing non-ConfigObjects causes ugly exception +* Bug [10501](https://dev.icinga.org/issues/10501 "Bug 10501"): Plural name rule not treating edge case correcly +* Bug [10504](https://dev.icinga.org/issues/10504 "Bug 10504"): Increase the default timeout for OS checks +* Bug [10508](https://dev.icinga.org/issues/10508 "Bug 10508"): Figure out whether we need the Checkable attributes state_raw, last_state_raw, hard_state_raw +* Bug [10510](https://dev.icinga.org/issues/10510 "Bug 10510"): CreatePipeOverlapped is not thread-safe +* Bug [10512](https://dev.icinga.org/issues/10512 "Bug 10512"): Mismatch on {comment,downtime}_id vs internal name in the API +* Bug [10517](https://dev.icinga.org/issues/10517 "Bug 10517"): Circular reference between *Connection and TlsStream objects +* Bug [10518](https://dev.icinga.org/issues/10518 "Bug 10518"): Crash in ConfigWriter::GetKeywords +* Bug [10527](https://dev.icinga.org/issues/10527 "Bug 10527"): Fix indentation for Dictionary::ToString +* Bug [10529](https://dev.icinga.org/issues/10529 "Bug 10529"): Change session_token to integer timestamp +* Bug [10535](https://dev.icinga.org/issues/10535 "Bug 10535"): Spaces do not work in command arguments +* Bug [10538](https://dev.icinga.org/issues/10538 "Bug 10538"): Crash in ConfigWriter::EmitIdentifier +* Bug [10539](https://dev.icinga.org/issues/10539 "Bug 10539"): Don't validate custom attributes that aren't strings +* Bug [10540](https://dev.icinga.org/issues/10540 "Bug 10540"): Async mysql queries aren't logged in the debug log +* Bug [10545](https://dev.icinga.org/issues/10545 "Bug 10545"): Broken build - unresolved external symbol "public: void __thiscall icinga::ApiClient::ExecuteScript... +* Bug [10555](https://dev.icinga.org/issues/10555 "Bug 10555"): Don't try to use --gc-sections on Solaris +* Bug [10556](https://dev.icinga.org/issues/10556 "Bug 10556"): Update OpenSSL for the Windows builds +* Bug [10558](https://dev.icinga.org/issues/10558 "Bug 10558"): There's a variable called 'string' in filter expressions +* Bug [10559](https://dev.icinga.org/issues/10559 "Bug 10559"): Autocompletion doesn't work in the debugger +* Bug [10560](https://dev.icinga.org/issues/10560 "Bug 10560"): 'api setup' should create a user even when api feature is already enabled +* Bug [10561](https://dev.icinga.org/issues/10561 "Bug 10561"): 'remove-comment' action does not support filters +* Bug [10562](https://dev.icinga.org/issues/10562 "Bug 10562"): Documentation should not reference real host names +* Bug [10563](https://dev.icinga.org/issues/10563 "Bug 10563"): /v1/console should only use a single permission +* Bug [10568](https://dev.icinga.org/issues/10568 "Bug 10568"): Improve location information for errors in API filters +* Bug [10569](https://dev.icinga.org/issues/10569 "Bug 10569"): Icinga 2 API Docs +* Bug [10578](https://dev.icinga.org/issues/10578 "Bug 10578"): API call doesn't fail when trying to use a template that doesn't exist +* Bug [10580](https://dev.icinga.org/issues/10580 "Bug 10580"): Detailed error message is missing when object creation via API fails +* Bug [10583](https://dev.icinga.org/issues/10583 "Bug 10583"): modify_attribute: object cannot be cloned +* Bug [10588](https://dev.icinga.org/issues/10588 "Bug 10588"): Documentation for /v1/types +* Bug [10596](https://dev.icinga.org/issues/10596 "Bug 10596"): Deadlock in MacroProcessor::EvaluateFunction +* Bug [10601](https://dev.icinga.org/issues/10601 "Bug 10601"): Don't allow users to set state attributes via PUT +* Bug [10602](https://dev.icinga.org/issues/10602 "Bug 10602"): API overwrites (and then deletes) config file when trying to create an object that already exists +* Bug [10604](https://dev.icinga.org/issues/10604 "Bug 10604"): Group memberships are not updated for runtime created objects +* Bug [10629](https://dev.icinga.org/issues/10629 "Bug 10629"): Download URL for NSClient++ is incorrect diff --git a/icinga2.nuspec b/icinga2.nuspec index 79881585c..d4afc901f 100755 --- a/icinga2.nuspec +++ b/icinga2.nuspec @@ -6,7 +6,7 @@ icinga2 Icinga2 - 2.3.11 + 2.4.0 2015 - The Icinga Project Icinga Development Team icinga2 - Monitoring Agent for Windows diff --git a/icinga2.spec b/icinga2.spec index 38b35968e..1ecfb1b8c 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -66,7 +66,7 @@ Summary: Network monitoring application Name: icinga2 -Version: 2.3.11 +Version: 2.4.0 Release: %{revision}%{?dist} License: GPL-2.0+ Group: Applications/System diff --git a/tools/chocolateyInstall.ps1 b/tools/chocolateyInstall.ps1 index 5012d1dcf..8bc4721d0 100755 --- a/tools/chocolateyInstall.ps1 +++ b/tools/chocolateyInstall.ps1 @@ -1,6 +1,6 @@ $packageName = 'icinga2' $installerType = 'exe' -$url = 'http://packages.icinga.org/windows/Icinga2-v2.3.11.exe' +$url = 'http://packages.icinga.org/windows/Icinga2-v2.4.0.exe' $silentArgs = '/S' $validExitCodes = @(0)