]> granicus.if.org Git - icinga2/blobdiff - ChangeLog
Docs: Add SELinux chapter
[icinga2] / ChangeLog
index b1069032af5a683d9d861610a6c670aa9e61630c..0517cf854fed67e20b395e18103b0f4ea655987c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,689 @@ Please check [doc/1-about.md].
 
 ## What's New
 
+### What's New in Version 2.4.10
+
+#### Bugfixes
+
+* Bug 11812 (Checker): Checker component doesn't execute any checks for command_endpoint
+
+### What's New in Version 2.4.9
+
+#### Changes
+
+This release fixes a number of issues introduced in 2.4.8.
+
+#### Bugfixes
+
+* Bug 11801 (Perfdata): Error: Function call 'rename' for file '/var/spool/icinga2/tmp/service-perfdata' failed with error code 2, 'No such file or directory'
+* Bug 11804 (Configuration): Segfault when trying to start 2.4.8
+* Bug 11807 (Compat): Command Pipe thread 100% CPU Usage
+
+### What's New in Version 2.4.8
+
+#### Changes
+
+* Bugfixes
+* Support for limiting the maximum number of concurrent checks (new configuration option) 
+* HA-aware features now wait for connected cluster nodes in the same zone (e.g. DB IDO)
+* The 'icinga' check now alerts on failed reloads
+
+#### Feature
+
+* Feature 8137 (Checker): Maximum concurrent service checks
+* Feature 9236 (Perfdata): PerfdataWriter: Better failure handling for file renames across file systems
+* Feature 9997 (libmethods): "icinga" check should have state WARNING when the last reload failed
+* Feature 10581 (ITL): Provide icingacli in the ITL
+* Feature 11556 (libbase): Add support for subjectAltName in SSL certificates
+* Feature 11651 (CLI): Implement SNI support for the CLI commands
+* Feature 11720 (ITL): 'disk' CheckCommand: Exclude 'cgroup' and 'tracefs' by default
+* Feature 11748 (Cluster): Remove unused cluster commands
+* Feature 11765 (Cluster): Only activate HARunOnce objects once there's a cluster connection
+* Feature 11768 (Documentation): Add the category to the generated changelog
+
+#### Bugfixes
+
+* Bug 9989 (Configuration): Service apply without name possible
+* Bug 10426 (libicinga): Icinga crashes with a segfault on receiving a lot of check results for nonexisting hosts/services
+* Bug 10717 (Configuration): Comments and downtimes of deleted checkable objects are not deleted
+* Bug 11046 (Cluster): Icinga2 agent gets stuck after disconnect and won't relay messages
+* Bug 11112 (Compat): Empty author/text attribute for comment/downtimes external commands causing crash
+* Bug 11147 (libicinga): "day -X" time specifications are parsed incorrectly
+* Bug 11158 (libicinga): Crash with empty ScheduledDowntime 'ranges' attribute
+* Bug 11374 (API): Icinga2 API: deleting service with cascade=1 does not delete dependant notification
+* Bug 11390 (Compat): Command pipe overloaded: Can't send external Icinga command to the local command file
+* Bug 11396 (API): inconsistent API /v1/objects/* response for PUT requests
+* Bug 11589 (libicinga): notification sent out during flexible downtime
+* Bug 11645 (Documentation): Incorrect chapter headings for Object#to_string and Object#type
+* Bug 11646 (Configuration): Wrong log severity causes segfault
+* Bug 11686 (API): Icinga Crash with the workflow Create_Host-> Downtime for the Host ->  Delete Downtime -> Remove Host
+* Bug 11711 (libicinga): Expired downtimes are not removed
+* Bug 11714 (libbase): Crash in UnameHelper
+* Bug 11742 (Documentation): Missing documentation for event commands w/ execution bridge
+* Bug 11757 (API): API: Missing error handling for invalid JSON request body
+* Bug 11767 (DB IDO): Ensure that program status updates are immediately updated in DB IDO
+* Bug 11779 (API): Incorrect variable names for joined fields in filters
+
+### What's New in Version 2.4.7
+
+#### Bugfixes
+
+* Bug 11639: Crash in IdoMysqlConnection::ExecuteMultipleQueries
+
+### What's New in Version 2.4.6
+
+#### Feature
+
+* Feature 11638: Update RELEASE.md
+
+#### Bugfixes
+
+* Bug 11628: Docs: Zone attribute 'endpoints' is an array
+* Bug 11634: Icinga 2 fails to build on Ubuntu Xenial
+* Bug 11635: Failed assertion in IdoPgsqlConnection::FieldToEscapedString
+
+### What's New in Version 2.4.5
+
+#### Changes
+
+* Windows Installer changed from NSIS to MSI
+* New configuration attribute for hosts and services: check_timeout (overrides the CheckCommand's timeout when set)
+* ITL updates
+* Lots of bugfixes
+
+#### Feature
+
+* Feature 9283: Implement support for overriding check command timeout
+* Feature 9618: Add Windows setup wizard screenshots
+* Feature 11098: Add --method parameter for check_{oracle,mysql,mssql}_health CheckCommands
+* Feature 11194: Add --units, --rate and --rate-multiplier support for the snmpv3 check command
+* Feature 11399: Update .mailmap for Markus Frosch
+* Feature 11437: Add silent install / reference to NSClient++ to documentation
+* Feature 11449: Build 64-bit packages for Windows
+* Feature 11473: Update NSClient++ to version 0.4.4.19
+* Feature 11474: Install 64-bit version of NSClient++ on 64-bit versions of Windows
+* Feature 11585: Make sure to update the agent wizard banner
+* Feature 11587: Update chocolatey uninstall script for the MSI package
+
+#### Bugfixes
+
+* Bug 9249: logrotate fails since the "su" directive was removed
+* Bug 10624: Add application manifest for the Windows agent wizard
+* Bug 10843: DB IDO: downtime is not in effect after restart
+* Bug 11106: Too many assign where filters cause stack overflow
+* Bug 11224: Socket Exceptions (Operation not permitted) while reading from API
+* Bug 11227: Downtimes and Comments are not synced to child zones
+* Bug 11258: Incorrect base URL in the icinga-rpm-release packages for Fedora
+* Bug 11336: Use retry_interval instead of check_interval for first OK -> NOT-OK state change
+* Bug 11347: Symlink subfolders not followed/considered for config files
+* Bug 11382: Downtimes are not always activated/expired on restart
+* Bug 11384: Remove dependency for .NET 3.5 from the chocolatey package
+* Bug 11387: IDO: historical contact notifications table column notification_id is off-by-one
+* Bug 11402: Explain how to use functions for wildcard matches for arrays and/or dictionaries in assign where expressions
+* Bug 11407: Docs: Remove the migration script chapter
+* Bug 11434: Config validation for Notification objects should check whether the state filters are valid
+* Bug 11435: Icinga 2 Windows Agent does not honor install path during upgrade
+* Bug 11438: Remove semi-colons in the auto-generated configs
+* Bug 11439: Update the CentOS installation documentation
+* Bug 11440: Docs: Cluster manual SSL generation formatting is broken
+* Bug 11455: ConfigSync broken from 2.4.3. to 2.4.4 under Windows
+* Bug 11462: Error compiling icinga2 targeted for x64 on Windows
+* Bug 11475: FatalError() returns when called before Application.Run
+* Bug 11482: API User gets wrongly authenticated (client_cn and no password)
+* Bug 11484: Overwriting global type variables causes crash in ConfigItem::Commit()
+* Bug 11494: Update documentation URL for Icinga Web 2
+* Bug 11522: Make the socket event engine configurable
+* Bug 11534: DowntimesExpireTimerHandler crashes Icinga2 with <unknown function>
+* Bug 11542: make install overwrites configuration files
+* Bug 11559: Segfault during config validation if host exists, service does not exist any longer and downtime expires
+* Bug 11564: Incorrect link in the documentation
+* Bug 11567: Navigation attributes are missing in /v1/objects/<type>
+* Bug 11574: Package fails to build on *NIX
+* Bug 11577: Compiler warning in NotifyActive
+* Bug 11582: icinga2 crashes when a command_endpoint is set, but the api feature is not active
+* Bug 11586: icinga2-installer.exe doesn't wait until NSIS uninstall.exe exits
+* Bug 11592: Remove instance_name from Ido*Connection example
+* Bug 11610: Windows installer does not copy "features-enabled" on upgrade
+* Bug 11617: Vim Syntax Highlighting does not work with assign where
+
+### What's New in Version 2.4.4
+
+#### Feature
+
+* Feature 10358: ITL: Allow to enforce specific SSL versions using the http check command
+* Feature 11205: Add "query" option to check_postgres command.
+
+#### Bugfixes
+
+* Bug 9642: Flapping notifications are sent for hosts/services which are in a downtime
+* Bug 9969: Problem notifications while Flapping is active
+* Bug 10225: Host notification type is PROBLEM but should be RECOVERY
+* Bug 10231: MkDirP not working on Windows
+* Bug 10766: DB IDO: User notification type filters are incorrect
+* Bug 10770: Status code 200 even if an object could not be deleted.
+* Bug 10795: http check's URI is really just Path
+* Bug 10976: Explain how to join hosts/services for /v1/objects/comments
+* Bug 11107: ITL: Missing documentation for nwc_health "mode" parameter
+* Bug 11159: Common name in node wizard isn't case sensitive
+* Bug 11208: CMake does not find MySQL libraries on Windows
+* Bug 11209: Wrong log message for trusted cert in node setup command
+* Bug 11240: DEL_DOWNTIME_BY_HOST_NAME does not accept optional arguments
+* Bug 11248: Active checks are executed even though passive results are submitted
+* Bug 11257: Incorrect check interval when passive check results are used
+* Bug 11273: Services status updated multiple times within check_interval even though no retry was triggered
+* Bug 11289: epoll_ctl might cause oops on Ubuntu trusty
+* Bug 11320: Volatile transitions from HARD NOT-OK->NOT-OK do not trigger notifications
+* Bug 11328: Typo in API docs
+* Bug 11331: Update build requirements for SLES 11 SP4
+* Bug 11349: 'icinga2 feature list' fails when all features are disabled
+* Bug 11350: Docs: Add API examples for creating services and check commands
+* Bug 11352: Segmentation fault during 'icinga2 daemon -C'
+* Bug 11369: Chocolatey package is missing uninstall function
+* Bug 11385: Update development docs to use 'thread apply all bt full'
+
+### What's New in Version 2.4.3
+
+#### Bugfixes
+
+* Bug 11211: Permission problem after running icinga2 node wizard
+* Bug 11212: Wrong permissions for files in /var/cache/icinga2/*
+
+### What's New in Version 2.4.2
+
+#### Changes
+
+* ITL
+    Additional arguments for check_disk
+    Fix incorrect path for the check_hpasm plugin
+    New command: check_iostat
+    Fix incorrect variable names for the check_impi plugin
+* Cluster
+    Improve cluster performance
+    Fix connection handling problems (multiple connections for the same endpoint)
+* Performance improvements for the DB IDO modules
+* Lots and lots of various other bugfixes
+* Documentation updates
+
+#### Feature
+
+* Feature 10660: Add CMake flag for disabling the unit tests
+* Feature 10777: Add check_iostat to ITL
+* Feature 10787: Add "-x" parameter in command definition for disk-windows CheckCommand
+* Feature 10807: Raise a config error for "Checkable" objects in global zones
+* Feature 10857: DB IDO: Add a log message when the connection handling is completed
+* Feature 10860: Log DB IDO query queue stats
+* Feature 10880: "setting up check plugins" section should be enhanced with package manager examples
+* Feature 10920: Add Timeout parameter to snmpv3 check
+* Feature 10947: Add example how to use custom functions in attributes
+* Feature 10964: Troubleshooting: Explain how to fetch the executed command
+* Feature 10988: Support TLSv1.1 and TLSv1.2 for the cluster transport encryption
+* Feature 11037: Add String#trim
+* Feature 11138: Checkcommand Disk : Option Freespace-ignore-reserved
+
+#### Bugfixes
+
+* Bug 7287: Re-checks scheduling w/ retry_interval
+* Bug 8714: Add priority queue for disconnect/programstatus update events
+* Bug 8976: DB IDO: notification_id for contact notifications is out of range
+* Bug 10226: Icinga2 reload timeout results in killing old and new process because of systemd
+* Bug 10449: Livestatus log query - filter "class" yields empty results
+* Bug 10458: Incorrect SQL command for creating the user of the PostgreSQL DB for the IDO
+* Bug 10460: A PgSQL DB for the IDO can't be created w/ UTF8
+* Bug 10497: check_memory and check_swap plugins do unit conversion and rounding before percentage calculations resulting in imprecise percentages
+* Bug 10544: check_network performance data in invalid format
+* Bug 10554: Non-UTF8 characters from plugins causes IDO to fail
+* Bug 10655: API queries cause memory leaks
+* Bug 10700: Crash in ExternalCommandListener
+* Bug 10711: Zone::CanAccessObject is very expensive
+* Bug 10713: ApiListener::ReplayLog can block with a lot of clients
+* Bug 10714: API is not working on wheezy
+* Bug 10724: Remove the local zone name question in node wizard
+* Bug 10728: node wizard does not remember user defined port
+* Bug 10736: Missing num_hosts_pending in /v1/status/CIB
+* Bug 10739: Crash on startup with incorrect directory permissions
+* Bug 10744: build of icinga2 with gcc 4.4.7 segfaulting with ido
+* Bug 10745: ITL check command possibly mistyped variable names
+* Bug 10748: Missing path in mkdir() exceptions
+* Bug 10760: Disallow lambda expressions where side-effect-free expressions are not allowed
+* Bug 10765: Avoid duplicate config and status updates on startup
+* Bug 10773: chcon partial context error in safe-reload prevents reload
+* Bug 10779: Wrong postgresql-setup initdb command for RHEL7
+* Bug 10780: The hpasm check command is using the PluginDir constant
+* Bug 10784: Incorrect information in --version on Linux
+* Bug 10806: Missing SUSE repository for monitoring plugins documentation
+* Bug 10817: Failed IDO query for icinga_downtimehistory
+* Bug 10818: Use NodeName in null and random checks
+* Bug 10819: Cluster config sync ignores zones.d from API packages
+* Bug 10824: Windows build fails with latest git master
+* Bug 10825: Missing documentation for API packages zones.d config sync
+* Bug 10826: Build error with older CMake versions on VERSION_LESS compare
+* Bug 10828: Relative path in include_zones does not work
+* Bug 10829: IDO breaks when writing to icinga_programstatus with latest snapshots
+* Bug 10830: Config validation doesn't fail when templates are used as object names
+* Bug 10852: Formatting problem in "Advanced Filter" chapter
+* Bug 10855: Implement support for re-ordering groups of IDO queries
+* Bug 10862: Evaluate if CanExecuteQuery/FieldToEscapedString lead to exceptions on !m_Connected
+* Bug 10867: "repository add" cli command writes invalid "type" attribute
+* Bug 10883: Icinga2 crashes in IDO when removing a comment
+* Bug 10890: Remove superfluous #ifdef
+* Bug 10891: is_active in IDO is only re-enabled on "every second" restart
+* Bug 10908: Typos in the "troubleshooting" section of the documentation
+* Bug 10923: API actions: Decide whether fixed: false is the right default
+* Bug 10931: Exception stack trace on icinga2 client when the master reloads the configuration
+* Bug 10932: Cluster config sync: Ensure that /var/lib/icinga2/api/zones/* exists
+* Bug 10935: Logrotate on systemd distros should use systemctl not service
+* Bug 10948: Icinga state file corruption with temporary file creation
+* Bug 10956: Compiler warnings in lib/remote/base64.cpp
+* Bug 10959: Better explaination for array values in "disk" CheckCommand docs
+* Bug 10963: high load and memory consumption on icinga2 agent v2.4.1
+* Bug 10968: Race condition when using systemd unit file
+* Bug 10974: Modified attributes do not work for the IcingaApplication object w/ external commands
+* Bug 10979: Mistake in mongodb command definition (mongodb_replicaset)
+* Bug 10981: Incorrect name in AUTHORS
+* Bug 10989: Escaped sequences not properly generated with 'node update-config'
+* Bug 10991: Stream buffer size is 512 bytes, could be raised
+* Bug 10998: Incorrect IdoPgSqlConnection Example in Documentation
+* Bug 11006: Segfault in ApiListener::ConfigUpdateObjectAPIHandler
+* Bug 11014: Check event duplication with parallel connections involved
+* Bug 11019: next_check noise in the IDO
+* Bug 11020: Master reloads with agents generate false alarms
+* Bug 11065: Deleting an object via API does not disable it in DB IDO
+* Bug 11074: Partially missing escaping in doc/7-icinga-template-library.md
+* Bug 11075: Outdated link to icingaweb2-module-nagvis
+* Bug 11083: Ensure that config sync updates are always sent on reconnect
+* Bug 11085: Crash in ConfigItem::RunWithActivationContext
+* Bug 11088: API queries on non-existant objects cause exception
+* Bug 11096: Windows build fails on InterlockedIncrement type
+* Bug 11103: Problem with hostgroup_members table cleanup
+* Bug 11111: Clean up unused variables a bit
+* Bug 11118: Cluster WQ thread dies after fork()
+* Bug 11122: Connections are not cleaned up properly
+* Bug 11132: YYYY-MM-DD time specs are parsed incorrectly
+* Bug 11178: Documentation: Unescaped pipe character in tables
+* Bug 11179: CentOS 5 doesn't support epoll_create1
+* Bug 11204: "node setup" tries to chown() files before they're created
+
+### What's New in Version 2.4.1
+
+#### Changes
+
+* ITL
+    * Add running_kernel_use_sudo option for the running_kernel check
+* Configuration
+    * Add global constants: `PlatformName`. `PlatformVersion`, `PlatformKernel` and `PlatformKernelVersion`
+* CLI
+    * Use NodeName and ZoneName constants for 'node setup' and 'node wizard' 
+
+#### Feature
+
+* Feature 10622: Add by_ssh_options argument for the check_by_ssh plugin
+* Feature 10693: Add running_kernel_use_sudo option for the running_kernel check
+* Feature 10716: Use NodeName and ZoneName constants for 'node setup' and 'node wizard'
+
+#### Bugfixes
+
+* Bug 10528: Documentation example in "Access Object Attributes at Runtime" doesn't work correctly
+* Bug 10615: Build fails on SLES 11 SP3 with GCC 4.8
+* Bug 10632: "node wizard" does not ask user to verify SSL certificate
+* Bug 10641: API setup command incorrectly overwrites existing certificates
+* Bug 10643: Icinga 2 crashes when ScheduledDowntime objects are used
+* Bug 10645: Documentation for schedule-downtime is missing required paremeters
+* Bug 10648: lib/base/process.cpp SIGSEGV on Debian squeeze / RHEL 6
+* Bug 10661: Incorrect web inject URL in documentation
+* Bug 10663: Incorrect redirect for stderr in /usr/lib/icinga2/prepare-dirs
+* Bug 10667: Indentation in command-plugins.conf
+* Bug 10677: node wizard checks for /var/lib/icinga2/ca directory but not the files
+* Bug 10690: CLI command 'repository add' doesn't work
+* Bug 10692: Fix typos in the documentation
+* Bug 10708: Windows setup wizard crashes when InstallDir registry key is not set
+* Bug 10710: Incorrect path for icinga2 binary in development documentation
+* Bug 10720: Remove --master_zone from --help because it is currently not implemented
+
+### What's New in Version 2.4.0
+
+#### Changes
+
+* API
+    * RESTful API with basic auth or client certificates
+    * Filters, types, permissions
+    * configuration package management
+    * query/create/modify/delete config objects at runtime
+    * status queries for global stats
+    * actions (e.g. acknowledge all service problems)
+    * event streams
+* ITL and Plugin Check Command definitions
+    * The 'running_kernel' check command was moved to the plugins-contrib section. You have to update your config to include 'plugins-contrib'
+* Configuration
+    * The global constants Enable* and Vars have been removed. Use the IcingaApplication object attributes instead.
+* Features
+    * New Graphite tree. Please check the documentation how enable the legacy schema.
+    * IcingaStatusWriter feature has been deprecated and will be removed in future versions.
+    * Modified attributes are not exposed as bit mask to external interfaces anymore (api related changes). External commands like CHANGE_*_MODATTR have been removed.
+
+#### Feature
+
+* Feature 7709: Validators should be implemented in (auto-generated) native code
+* Feature 8093: Add icinga, cluster, cluster-zone check information to the ApiListener status handler
+* Feature 8149: graphite writer should pass "-" in host names and "." in perf data
+* Feature 8666: Allow some of the Array and Dictionary methods to be inlined by the compiler
+* Feature 8688: Add embedded DB IDO version health check
+* Feature 8689: Add support for current and current-1 db ido schema version
+* Feature 8690: 'icinga2 console' should serialize temporary attributes (rather than just config + state)
+* Feature 8738: Implement support for CLIENT_MULTI_STATEMENTS
+* Feature 8741: Deprecate IcingaStatusWriter feature
+* Feature 8775: Move the base command templates into libmethods
+* Feature 8776: Implement support for libedit
+* Feature 8791: Refactor the startup process
+* Feature 8832: Implement constructor-style casts
+* Feature 8842: Add support for the C++11 keyword 'override'
+* Feature 8867: Use DebugHint information when reporting validation errors
+* Feature 8890: Move implementation code from thpp files into separate files
+* Feature 8922: Avoid unnecessary dictionary lookups
+* Feature 9044: Remove the ScopeCurrent constant
+* Feature 9068: Implement sandbox mode for the config parser
+* Feature 9074: Basic API framework
+* Feature 9076: Reflection support for the API
+* Feature 9077: Implement filters for the API
+* Feature 9078: Event stream support for the API
+* Feature 9079: Implement status queries for the API
+* Feature 9080: Add commands (actions) for the API
+* Feature 9081: Add modified attribute support for the API
+* Feature 9082: Runtime configuration for the API
+* Feature 9083: Configuration file management for the API
+* Feature 9084: Enable the ApiListener by default
+* Feature 9085: Certificate-based authentication for the API
+* Feature 9086: Password-based authentication for the API
+* Feature 9087: Create default administrative user
+* Feature 9088: API permissions
+* Feature 9091: API status queries
+* Feature 9093: Changelog for modified attributes
+* Feature 9095: Disallow changes for certain config attributes at runtime
+* Feature 9096: Dependency tracking for objects
+* Feature 9098: Update modules to support adding and removing objects at runtime
+* Feature 9099: Implement support for writing configuration files
+* Feature 9100: Multiple sources for zone configuration tree
+* Feature 9101: Commands for adding and removing objects
+* Feature 9102: Support validating configuration changes
+* Feature 9103: Staging for configuration validation
+* Feature 9104: Implement config file management commands
+* Feature 9105: API Documentation
+* Feature 9175: Move 'running_kernel' check command to plugins-contrib 'operating system' section
+* Feature 9286: DB IDO/Livestatus: Add zone object table w/ endpoint members
+* Feature 9414: "-Wno-deprecated-register" compiler option breaks builds on SLES 11
+* Feature 9447: Implement support for HTTP
+* Feature 9448: Define RESTful url schema
+* Feature 9461: New Graphite schema
+* Feature 9470: Implement URL parser
+* Feature 9471: Implement ApiUser type
+* Feature 9594: Implement base64 de- and encoder
+* Feature 9614: Register ServiceOK, ServiceWarning, HostUp, etc. as constants
+* Feature 9647: Move url to /lib/remote from /lib/base
+* Feature 9689: Add exceptions for Utility::MkDir{,P}
+* Feature 9693: Add Array::FromVector() method
+* Feature 9698: Implement support for X-HTTP-Method-Override
+* Feature 9704: String::Trim() should return a new string rather than modifying the current string
+* Feature 9705: Add real path sanity checks to provided file paths
+* Feature 9723: Documentation for config management API
+* Feature 9768: Update the url parsers behaviour
+* Feature 9777: Make Comments and Downtime types available as ConfigObject type in the API
+* Feature 9794: Setting global variables with i2tcl doesn't work
+* Feature 9849: Validation for modified attributes
+* Feature 9850: Re-implement events for attribute changes
+* Feature 9851: Remove GetModifiedAttributes/SetModifiedAttributes
+* Feature 9852: Implement support for . in modify_attribute
+* Feature 9859: Implement global modified attributes
+* Feature 9866: Implement support for attaching GDB to the Icinga process on crash
+* Feature 9914: Rename DynamicObject/DynamicType to ConfigObject/ConfigType
+* Feature 9919: Allow comments when parsing JSON
+* Feature 9921: Implement the 'base' field for the Type class
+* Feature 9926: Ensure that runtime config objects are persisted on disk
+* Feature 9927: Figure out how to sync dynamically created objects inside the cluster
+* Feature 9929: Add override keyword for all relevant methods
+* Feature 9930: Document Object#clone
+* Feature 9931: Implement Object#clone and rename Array/Dictionary#clone to shallow_clone
+* Feature 9933: Implement support for indexers in ConfigObject::RestoreAttribute
+* Feature 9935: Implement support for restoring modified attributes
+* Feature 9937: Add package attribute for ConfigObject and set its origin
+* Feature 9940: Implement support for filter_vars
+* Feature 9944: Add String::ToLower/ToUpper
+* Feature 9946: Remove debug messages in HttpRequest class
+* Feature 9953: Rename config/modules to config/packages
+* Feature 9960: Implement ignore_on_error keyword
+* Feature 10017: Use an AST node for the 'library' keyword
+* Feature 10038: Add plural_name field to /v1/types
+* Feature 10039: URL class improvements
+* Feature 10042: Implement a demo API client: Icinga Studio
+* Feature 10060: Implement joins for status queries
+* Feature 10116: Add global status handler for the API
+* Feature 10186: Make ConfigObject::{G,S}etField() method public
+* Feature 10194: Sanitize error status codes and messages
+* Feature 10202: Add documentation for api-users.conf and app.conf
+* Feature 10209: Rename statusqueryhandler to objectqueryhandler
+* Feature 10212: Move /v1/<type> to /v1/objects/<type>
+* Feature 10243: Provide keywords to retrieve the current file name at parse time
+* Feature 10257: Change object version to timestamps for diff updates on config sync
+* Feature 10329: Pretty-print arrays and dictionaries when converting them to strings
+* Feature 10368: Document that modified attributes require accept_config for cluster/clients
+* Feature 10374: Add check command nginx_status
+* Feature 10383: DB IDO should provide its connected state via /v1/status
+* Feature 10385: Add 'support' tracker to changelog.py
+* Feature 10387: Use the API for "icinga2 console"
+* Feature 10388: Log a warning message on unauthorized http request
+* Feature 10392: Original attributes list in IDO
+* Feature 10393: Hide internal attributes
+* Feature 10394: Add getter for endpoint 'connected' attribute
+* Feature 10407: Remove api.cpp, api.hpp
+* Feature 10409: Add documentation for apply+for in the language reference chapter
+* Feature 10423: Ability to set port on SNMP Checks
+* Feature 10431: Add the name for comments/downtimes next to legacy_id to DB IDO
+* Feature 10441: Rewrite man page
+* Feature 10479: Use ZoneName variable for parent_zone in node update-config
+* Feature 10482: Documentation: Reorganize Livestatus and alternative frontends
+* Feature 10503: Missing parameters for check jmx4perl
+* Feature 10507: Add check command negate
+* Feature 10509: Change GetLastStateUp/Down to host attributes
+* Feature 10511: Add check command mysql
+* Feature 10513: Add ipv4/ipv6 only to tcp and http CheckCommand
+* Feature 10522: Change output format for 'icinga2 console'
+* Feature 10547: Icinga 2 script debugger
+* Feature 10548: Implement CSRF protection for the API
+* Feature 10549: Change 'api setup' into a manual step while configuring the API
+* Feature 10551: Change object query result set
+* Feature 10566: Enhance programmatic examples for the API docs
+* Feature 10574: Mention wxWidget (optional) requirement in INSTALL.md
+* Feature 10575: Documentation for /v1/console
+* Feature 10576: Explain variable names for joined objects in filter expressions
+* Feature 10577: Documentation for the script debugger
+* Feature 10591: Explain DELETE for config stages/packages
+* Feature 10630: Update wxWidgets documentation for Icinga Studio
+
+#### Bugfixes
+
+* Bug 8822: Update OpenSSL for the Windows builds
+* Bug 8823: Don't allow users to instantiate the StreamLogger class
+* Bug 8830: Make default notifications include users from host.vars.notification.mail.users
+* Bug 8865: Failed assertion in IdoMysqlConnection::FieldToEscapedString
+* Bug 8907: Validation fails even though field is not required
+* Bug 8924: Specify pidfile for status_of_proc in the init script
+* Bug 8952: Crash in VMOps::FunctionCall
+* Bug 8989: pgsql driver does not have latest mysql changes synced
+* Bug 9015: Compiler warnings with latest HEAD 5ac5f98
+* Bug 9027: PostgreSQL schema sets default timestamps w/o time zone
+* Bug 9053: icinga demo module can not be built
+* Bug 9188: Remove incorrect 'ignore where' expression from 'ssh' apply example
+* Bug 9455: Fix incorrect datatype for the check_source column in icinga_statehistory table
+* Bug 9547: Wrong vars changed handler in api events
+* Bug 9576: Overflow in freshness_threshold column (smallint) w/ DB IDO MySQL
+* Bug 9590: 'node wizard/setup' should always generate new CN certificates
+* Bug 9703: Problem with child nodes in http url registry
+* Bug 9735: Broken cluster config sync w/o include_zones
+* Bug 9778: Accessing field ID 0 ("prototype") fails
+* Bug 9793: Operator - should not work with "" and numbers
+* Bug 9795: ScriptFrame's 'Self' attribute gets corrupted when an expression throws an exception
+* Bug 9813: win32 build: S_ISDIR is undefined
+* Bug 9843: console autocompletion should take into account parent classes' prototypes
+* Bug 9868: Crash in ScriptFrame::~ScriptFrame
+* Bug 9872: Color codes in console prompt break line editing
+* Bug 9876: Crash during cluster log replay
+* Bug 9879: Missing conf.d or zones.d cause parse failure
+* Bug 9911: Do not let API users create objects with invalid names
+* Bug 9966: Fix formatting in mkclass
+* Bug 9968: Implement support for '.' when persisting modified attributes
+* Bug 9987: Crash in ConfigCompiler::RegisterZoneDir
+* Bug 10008: Don't parse config files for branches not taken
+* Bug 10012: Unused variable 'dobj' in configobject.tcpp
+* Bug 10024: HTTP keep-alive does not work with .NET WebClient
+* Bug 10027: Filtering by name doesn't work
+* Bug 10034: Unused variable console_type in consolecommand.cpp
+* Bug 10041: build failure: demo module
+* Bug 10048: Error handling in HttpClient/icinga-studio
+* Bug 10110: Add object_id where clause for icinga_downtimehistory
+* Bug 10180: API actions do not follow REST guidelines
+* Bug 10198: Detect infinite recursion in user scripts
+* Bug 10210: Move the Collection status handler to /v1/status
+* Bug 10211: PerfdataValue is not properly serialised in status queries
+* Bug 10224: URL parser is cutting off last character
+* Bug 10234: ASCII NULs don't work in string values
+* Bug 10238: Use a temporary file for modified-attributes.conf updates
+* Bug 10241: Properly encode URLs in Icinga Studio
+* Bug 10249: Config Sync shouldn't send updates for objects the client doesn't have access to
+* Bug 10253: /v1/objects/<type> returns an HTTP error when there are no objects of that type
+* Bug 10255: Config sync does not set endpoint syncing and plays disconnect-sync ping-pong
+* Bug 10256: ConfigWriter::EmitValue should format floating point values properly
+* Bug 10326: icinga2 repository host add does not work
+* Bug 10350: Remove duplicated text in section "Apply Notifications to Hosts and Services"
+* Bug 10355: Version updates are not working properly
+* Bug 10360: Icinga2 API performance regression
+* Bug 10371: Ensure that modified attributes work with clients with local config and no zone attribute
+* Bug 10386: restore_attribute does not work in clusters
+* Bug 10403: Escaping $ not documented
+* Bug 10406: Misleading wording in generated zones.conf
+* Bug 10410: OpenBSD: hang during ConfigItem::ActivateItems() in daemon startup
+* Bug 10417: 'which' isn't available in a minimal CentOS container
+* Bug 10422: Changing a group's attributes causes duplicate rows in the icinga_*group_members table
+* Bug 10433: 'dig_lookup' custom attribute for the 'dig' check command isn't optional
+* Bug 10436: Custom variables aren't removed from the IDO database
+* Bug 10439: "Command options" is empty when executing icinga2 without any argument.
+* Bug 10440: Improve --help output for the --log-level option
+* Bug 10455: Improve error handling during log replay
+* Bug 10456: Incorrect attribute name in the documentation
+* Bug 10457: Don't allow scripts to access FANoUserView attributes in sandbox mode
+* Bug 10461: Line continuation is broken in 'icinga2 console'
+* Bug 10466: Crash in IndexerExpression::GetReference when attempting to set an attribute on an object other than the current one
+* Bug 10473: IDO tries to execute empty UPDATE queries
+* Bug 10491: Unique constraint violation with multiple comment inserts in DB IDO
+* Bug 10495: Incorrect JSON-RPC message causes Icinga 2 to crash
+* Bug 10498: IcingaStudio: Accessing non-ConfigObjects causes ugly exception
+* Bug 10501: Plural name rule not treating edge case correcly
+* Bug 10504: Increase the default timeout for OS checks
+* Bug 10508: Figure out whether we need the Checkable attributes state_raw, last_state_raw, hard_state_raw
+* Bug 10510: CreatePipeOverlapped is not thread-safe
+* Bug 10512: Mismatch on {comment,downtime}_id vs internal name in the API
+* Bug 10517: Circular reference between *Connection and TlsStream objects
+* Bug 10518: Crash in ConfigWriter::GetKeywords
+* Bug 10527: Fix indentation for Dictionary::ToString
+* Bug 10529: Change session_token to integer timestamp
+* Bug 10535: Spaces do not work in command arguments
+* Bug 10538: Crash in ConfigWriter::EmitIdentifier
+* Bug 10539: Don't validate custom attributes that aren't strings
+* Bug 10540: Async mysql queries aren't logged in the debug log
+* Bug 10545: Broken build - unresolved external symbol "public: void __thiscall icinga::ApiClient::ExecuteScript...
+* Bug 10555: Don't try to use --gc-sections on Solaris
+* Bug 10556: Update OpenSSL for the Windows builds
+* Bug 10558: There's a variable called 'string' in filter expressions
+* Bug 10559: Autocompletion doesn't work in the debugger
+* Bug 10560: 'api setup' should create a user even when api feature is already enabled
+* Bug 10561: 'remove-comment' action does not support filters
+* Bug 10562: Documentation should not reference real host names
+* Bug 10563: /v1/console should only use a single permission
+* Bug 10568: Improve location information for errors in API filters
+* Bug 10569: Icinga 2 API Docs
+* Bug 10578: API call doesn't fail when trying to use a template that doesn't exist
+* Bug 10580: Detailed error message is missing when object creation via API fails
+* Bug 10583: modify_attribute: object cannot be cloned
+* Bug 10588: Documentation for /v1/types
+* Bug 10596: Deadlock in MacroProcessor::EvaluateFunction
+* Bug 10601: Don't allow users to set state attributes via PUT
+* Bug 10602: API overwrites (and then deletes) config file when trying to create an object that already exists
+* Bug 10604: Group memberships are not updated for runtime created objects
+* Bug 10629: Download URL for NSClient++ is incorrect
+* Bug 10637: Utility::FormatErrorNumber fails when error message uses arguments
+
+### What's New in Version 2.3.11
+
+#### Changes
+
+* Function for performing CIDR matches: cidr_match()
+* New methods: String#reverse and Array#reverse
+* New ITL command definitions: nwc_health, hpasm, squid, pgsql
+* Additional arguments for ITL command definitions: by_ssh, dig, pop, spop, imap, simap
+* Documentation updates
+* Various bugfixes
+
+#### Features
+
+* Feature 9183: Add timestamp support for OpenTsdbWriter
+* Feature 9466: Add FreeBSD setup to getting started
+* Feature 9812: add check command for check_nwc_health
+* Feature 9854: check_command for plugin check_hpasm
+* Feature 10004: escape_shell_arg() method
+* Feature 10006: Implement a way for users to resolve commands+arguments in the same way Icinga does
+* Feature 10057: Command Execution Bridge: Use of same endpoint names in examples for a better understanding
+* Feature 10109: Add check command squid
+* Feature 10112: Add check command pgsql
+* Feature 10129: Add ipv4/ipv6 only to nrpe CheckCommand
+* Feature 10139: expand check command dig
+* Feature 10142: Update debug docs for core dumps and full backtraces
+* Feature 10157: Update graphing section in the docs
+* Feature 10158: Make check_disk.exe CheckCommand Config more verbose
+* Feature 10161: Improve documentation for check_memory
+* Feature 10197: Implement the Array#reverse and String#reverse methods
+* Feature 10207: Find a better description for cluster communication requirements
+* Feature 10216: Clarify on cluster/client naming convention and add troubleshooting section
+* Feature 10219: Add timeout argument for pop, spop, imap, simap commands
+* Feature 10352: Improve timeperiod documentation
+* Feature 10354: New method: cidr_match()
+* Feature 10379: Add a debug log message for updating the program status table in DB IDO
+
+#### Bugfixes
+
+* Bug 8805: check cluster-zone returns wrong log lag
+* Bug 9322: sending multiple Livestatus commands rejects all except the first
+* Bug 10002: Deadlock in WorkQueue::Enqueue
+* Bug 10079: Improve error message for socket errors in Livestatus
+* Bug 10093: Rather use unique SID when granting rights for folders in NSIS on Windows Client
+* Bug 10177: Windows Check Update -> Access denied
+* Bug 10191: String methods cannot be invoked on an empty string
+* Bug 10192: null + null should not be ""
+* Bug 10199: Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate
+* Bug 10204: Config parser problem with parenthesis and newlines
+* Bug 10205: config checker reports wrong error on apply for rules
+* Bug 10235: Deadlock in TlsStream::Close
+* Bug 10239: Don't throw an exception when replaying the current replay log file
+* Bug 10245: Percent character whitespace on Windows
+* Bug 10254: Performance Data Labels including '=' will not be displayed correct
+* Bug 10262: Don't log messages we've already relayed to all relevant zones
+* Bug 10266: "Not after" value overflows in X509 certificates on RHEL5
+* Bug 10348: Checkresultreader is unable to process host checks
+* Bug 10349: Missing Start call for base class in CheckResultReader
+* Bug 10351: Broken table layout in chapter 20
+* Bug 10365: ApiListener::SyncRelayMessage doesn't send message to all zone members
+* Bug 10377: Wrong connection log message for global zones
+
+### What's New in Version 2.3.10
+
+#### Features
+
+* Feature 9218: Use the command_endpoint name as check_source value if defined
+
+#### Bugfixes
+
+* Bug 9244: String escape problem with PostgreSQL >= 9.1 and standard_conforming_strings=on
+* Bug 10003: Nested "outer" macro calls fails on (handled) missing "inner" values
+* Bug 10051: Missing fix for reload on Windows in 2.3.9
+* Bug 10058: Wrong calculation for host compat state "UNREACHABLE" in DB IDO
+* Bug 10074: Missing zero padding for generated CA serial.txt
+
 ### What's New in Version 2.3.9
 
 #### Changes