diff --git a/ChangeLog b/ChangeLog
index f49c76453..6cde915b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,243 @@ Please check [doc/1-about.md].
## What's New
+### What's New in Version 2.3.0
+
+#### Changes
+
+* Improved configuration validation
+ * Unnecessary escapes are no longer permitted (e.g. \')
+ * Dashes are no longer permitted in identifier names (as their semantics are ambiguous)
+ * Unused values are detected (e.g. { "-M" })
+ * Validation for time ranges has been improved
+ * Additional validation rules for some object types (Notification and User)
+* New language features
+ * Implement a separate type for boolean values
+ * Support for user-defined functions
+ * Support for conditional statements (if/else)
+ * Support for 'for' and 'while' loops
+ * Support for local variables using the 'var' keyword
+ * New operators: % (modulo), ^ (xor), - (unary minus) and + (unary plus)
+ * Implemented prototype-based methods for most built-in types (e.g. [ 3, 2 ].sort())
+ * Explicit access to local and global variables using the 'locals' and 'globals' keywords
+ * Changed the order in which filters are evaluated for apply rules with 'for'
+ * Make type objects accessible as global variables
+ * Support for using functions in custom attributes
+ * Access objects and their runtime attributes in functions (e.g. get_host(NodeName).state)
+* ITL improvements
+ * Additional check commands were added to the ITL
+ * Additional arguments for existing check commands
+* CLI improvements
+ * Add the 'icinga2 console' CLI command which can be used to test expressions
+ * Add the 'icinga2 troubleshoot' CLI command for collecting troubleshooting information
+ * Performance improvements for the 'icinga2 node update-config' CLI command
+ * Implement argument auto-completion for short options (e.g. daemon -c)
+ * 'node setup' and 'node wizard' create backups for existing certificate files
+* Add ignore_soft_states option for Dependency object configuration
+* Fewer threads are used for socket I/O
+* Flapping detection for hosts and services is disabled by default
+* Added support for OpenTSDB
+* New Livestatus tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
+* Include GDB backtrace in crash reports
+* Various documentation improvements
+* Solved a number of issues where cluster instances would not reconnect after intermittent connection problems
+* A lot of other, minor changes
+
+* [DB IDO schema upgrade](17-upgrading-icinga-2.md#upgrading-icinga-2) to `1.13.0` required!
+
+#### Issues
+
+* Feature 3446: Add troubleshooting collect cli command
+* Feature 6109: Don't spawn threads for network connections
+* Feature 6570: Disallow side-effect-free r-value expressions in expression lists
+* Feature 6697: Plugin Check Commands: add check_vmware_esx
+* Feature 6857: Run CheckCommands with C locale (workaround for comma vs dot and plugin api bug)
+* Feature 6858: Add some more PNP details
+* Feature 6868: Disable flapping detection by default
+* Feature 6923: IDO should fill program_end_time on a clean shutdown
+* Feature 7136: extended Manubulon SNMP Check Plugin Command
+* Feature 7209: ITL: Interfacetable
+* Feature 7256: Add OpenTSDB Writer
+* Feature 7292: ITL: Check_Mem.pl
+* Feature 7294: ITL: ESXi-Hardware
+* Feature 7326: Add parent soft states option to Dependency object configuration
+* Feature 7361: Livestatus: Add GroupBy tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
+* Feature 7545: Please add labels in SNMP checks
+* Feature 7564: Access object runtime attributes in custom vars & command arguments
+* Feature 7610: Variable from for loop not usable in assign statement
+* Feature 7700: Evaluate apply/object rules when the parent objects are created
+* Feature 7702: Add an option that hides CLI commands
+* Feature 7704: ConfigCompiler::HandleInclude* should return an AST node
+* Feature 7706: ConfigCompiler::Compile* should return an AST node
+* Feature 7748: Redesign how stack frames work for scripts
+* Feature 7767: Rename _DEBUG to I2_DEBUG
+* Feature 7774: Implement an AST Expression for T_CONST
+* Feature 7778: Missing check_disk output on Windows
+* Feature 7784: Implement the DISABLE_HOST_SVC_NOTIFICATIONS and ENABLE_HOST_SVC_NOTIFICATIONS commands
+* Feature 7793: Don't build db_ido when both MySQL and PostgreSQL aren't enabled
+* Feature 7794: Implement an option to disable building the Livestatus module
+* Feature 7795: Implement an option to disable building the Demo component
+* Feature 7805: Implement unit tests for the config parser
+* Feature 7807: Move the cast functions into libbase
+* Feature 7813: Implement the % operator
+* Feature 7816: Document operator precedence
+* Feature 7822: Make the config parser thread-safe
+* Feature 7823: Figure out whether Number + String should implicitly convert the Number argument to a string
+* Feature 7824: Implement the "if" and "else" keywords
+* Feature 7873: Plugin Check Commands: Add icmp
+* Feature 7879: Windows agent is missing the standard plugin check_ping
+* Feature 7883: Implement official support for user-defined functions and the "for" keyword
+* Feature 7901: Implement socket_path attribute for the IdoMysqlConnection class
+* Feature 7910: The lexer shouldn't accept escapes for characters which don't have to be escaped
+* Feature 7925: Move the config file for the ido-*sql features into the icinga2-ido-* packages
+* Feature 8016: Documentation enhancement for snmp traps and passive checks.
+* Feature 8019: Register type objects as global variables
+* Feature 8020: Improve output of ToString for type objects
+* Feature 8030: Evaluate usage of function()
+* Feature 8033: Allow name changed from inside the object
+* Feature 8040: Disallow calling strings as functions
+* Feature 8043: Implement a boolean sub-type for the Value class
+* Feature 8047: ConfigCompiler::HandleInclude should return an inline dictionary
+* Feature 8060: Windows plugins should behave like their Linux cousins
+* Feature 8065: Implement a way to remove dictionary keys
+* Feature 8071: Implement a way to call methods on objects
+* Feature 8074: Figure out how variable scopes should work
+* Feature 8078: Backport i2tcl's error reporting functionality into "icinga2 console"
+* Feature 8096: Document the new language features in 2.3
+* Feature 8121: feature enable should use relative symlinks
+* Feature 8133: Implement line-continuation for the "console" command
+* Feature 8169: Implement additional methods for strings
+* Feature 8172: Assignments shouldn't have a "return" value
+* Feature 8195: Host/Service runtime macro downtime_depth
+* Feature 8226: Make invalid log-severity option output an error instead of a warning
+* Feature 8244: Implement keywords to explicitly access globals/locals
+* Feature 8259: The check "hostalive" is not working with ipv6
+* Feature 8269: Implement the while keyword
+* Feature 8277: Add macros $host.check_source$ and $service.check_source$
+* Feature 8290: Make operators &&, || behave like in JavaScript
+* Feature 8291: Implement validator support for function objects
+* Feature 8293: The Zone::global attribute is not documented
+* Feature 8316: Extend disk checkcommand
+* Feature 8322: Implement Array#join
+* Feature 8371: Add path information for objects in object list
+* Feature 8374: Add timestamp support for Graphite
+* Feature 8386: Add documentation for cli command 'console'
+* Feature 8393: Implement support for Json.encode and Json.decode
+* Feature 8394: Implement continue/break keywords
+* Feature 8399: Backup certificate files in 'node setup'
+* Feature 8410: udp check command is missing arguments.
+* Feature 8414: Add ITL check command for check_ipmi_sensor
+* Feature 8429: add webinject checkcommand
+* Feature 8465: Add the ability to use a CA certificate as a way of verifying hosts for CSR autosigning
+* Feature 8467: introduce time dependent variable values
+* Feature 8498: Snmp CheckCommand misses various options
+* Feature 8515: Show slave lag for the cluster-zone check
+* Feature 8522: Update Remote Client/Distributed Monitoring Documentation
+* Feature 8527: Change Livestatus query log level to 'notice'
+* Feature 8548: Add support for else-if
+* Feature 8575: Include GDB backtrace in crash reports
+* Feature 8599: Remove macro argument for IMPL_TYPE_LOOKUP
+* Feature 8600: Add validator for time ranges in ScheduledDowntime objects
+* Feature 8610: Support the SNI TLS extension
+* Feature 8621: Add check commands for NSClient++
+* Feature 8648: Document closures ('use')
+
+* Bug 6171: Remove name and return value for stats functions
+* Bug 6959: Scheduled start time will be ignored if the host or service is already in a problem state
+* Bug 7311: Invalid macro results in exception
+* Bug 7542: Update validators for CustomVarObject
+* Bug 7576: validate configured legacy timeperiod ranges
+* Bug 7582: Variable expansion is single quoted.
+* Bug 7644: Unity build doesn't work with MSVC
+* Bug 7647: Avoid rebuilding libbase when the version number changes
+* Bug 7731: Reminder notifications not being sent but logged every 5 secs
+* Bug 7765: DB IDO: Duplicate entry icinga_{host,service}dependencies
+* Bug 7800: Fix the shift/reduce conflicts in the parser
+* Bug 7802: Change parameter type for include and include_recursive to T_STRING
+* Bug 7808: Unterminated string literals should cause parser to return an error
+* Bug 7809: Scoping rules for "for" are broken
+* Bug 7810: Return values for functions are broken
+* Bug 7811: The __return keyword is broken
+* Bug 7812: Validate array subscripts
+* Bug 7814: Set expression should check whether LHS is a null pointer
+* Bug 7815: - operator doesn't work in expressions
+* Bug 7826: Compiler warnings
+* Bug 7830: - shouldn't be allowed in identifiers
+* Bug 7871: Missing persistent_comment, notify_contact columns for acknowledgement table
+* Bug 7894: Fix warnings when using CMake 3.1.0
+* Bug 7895: Serialize() fails to serialize objects which don't have a registered type
+* Bug 7995: Windows Agent: Missing directory "zones" in setup
+* Bug 8018: Value("").IsEmpty() should return true
+* Bug 8029: operator precedence for % and > is incorrect
+* Bug 8041: len() overflows
+* Bug 8061: Confusing error message for import
+* Bug 8067: Require at least one user for notification objects (user or as member of user_groups)
+* Bug 8076: icinga 2 Config Error needs to be more verbose
+* Bug 8081: Location info for strings is incorrect
+* Bug 8100: POSTGRES IDO: invalid syntax for integer: "true" while trying to update table icinga_hoststatus
+* Bug 8111: User::ValidateFilters isn't being used
+* Bug 8117: Agent checks fail when there's already a host with the same name
+* Bug 8122: Config file passing validation causes segfault
+* Bug 8132: Debug info for indexer is incorrect
+* Bug 8136: Icinga crashes when config file name is invalid
+* Bug 8164: escaped backslash in string literals
+* Bug 8166: parsing include_recursive
+* Bug 8173: Segfault on icinga::String::operator= when compiling configuration
+* Bug 8175: Compiler warnings
+* Bug 8179: Exception on missing config files
+* Bug 8184: group assign fails with bad lexical cast when evaluating rules
+* Bug 8185: Argument auto-completion doesn't work for short options
+* Bug 8211: icinga2 node update should not write config for blacklisted zones/host
+* Bug 8230: Lexer term for T_ANGLE_STRING is too aggressive
+* Bug 8249: Problems using command_endpoint inside HA zone
+* Bug 8257: Report missing command objects on remote agent
+* Bug 8260: icinga2 node wizard: Create backups of certificates
+* Bug 8289: Livestatus operator =~ is not case-insensitive
+* Bug 8294: Running icinga2 command as non privilged user raises error
+* Bug 8298: notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
+* Bug 8300: ApiListener::ReplayLog shouldn't hold mutex lock during call to Socket::Poll
+* Bug 8307: PidPath, VarsPath, ObjectsPath and StatePath no longer read from init.conf
+* Bug 8309: Crash in ScheduledDowntime::CreateNextDowntime
+* Bug 8313: Incorrectly formatted timestamp in .timestamp file
+* Bug 8318: Remote Clients: Add manual setup cli commands
+* Bug 8323: Apply rule '' for host does not match anywhere!
+* Bug 8333: Icinga2 master doesn't change check-status when "accept_commands = true" is not set at client node
+* Bug 8372: Stacktrace on Endpoint not belonging to a zone or multiple zones
+* Bug 8383: last_hard_state missing in StatusDataWriter
+* Bug 8387: StatusDataWriter: Wrong host notification filters (broken fix in #8192)
+* Bug 8388: Config sync authoritative file never created
+* Bug 8389: Added downtimes must be triggered immediately if checkable is Not-OK
+* Bug 8390: Agent writes CR CR LF in synchronized config files
+* Bug 8397: Icinga2 config reset after package update (centos6.6)
+* Bug 8425: DB IDO: Duplicate entry icinga_scheduleddowntime
+* Bug 8433: Make the arguments for the stats functions const-ref
+* Bug 8434: Build fails on OpenBSD
+* Bug 8436: Indicate that Icinga2 is shutting down in case of a fatal error
+* Bug 8438: DB IDO {host,service}checks command_line value is "Object of type 'icinga::Array'"
+* Bug 8444: Don't attempt to restore program state from non-existing state file
+* Bug 8452: Livestatus query on commands table with custom vars fails
+* Bug 8461: Don't request heartbeat messages until after we've synced the log
+* Bug 8473: Exception in WorkQueue::StatusTimerHandler
+* Bug 8488: Figure out why 'node update-config' becomes slow over time
+* Bug 8493: Misleading ApiListener connection log messages on a master (Endpoint vs Zone)
+* Bug 8496: Icinga doesn't update long_output in DB
+* Bug 8511: Deadlock with DB IDO dump and forcing a scheduled check
+* Bug 8517: Config parser fails non-deterministic on Notification missing Checkable
+* Bug 8519: apply-for incorrectly converts loop var to string
+* Bug 8529: livestatus limit header not working
+* Bug 8535: Crash in ApiEvents::RepositoryTimerHandler
+* Bug 8536: Valgrind warning for ExternalCommandListener::CommandPipeThread
+* Bug 8537: Crash in DbObject::SendStatusUpdate
+* Bug 8544: Hosts: process_performance_data = 0 in database even though enable_perfdata = 1 in config
+* Bug 8555: Don't accept config updates for zones for which we have an authoritative copy of the config
+* Bug 8559: check_memory tool shows incorrect memory size on windows
+* Bug 8593: Memory leak in Expression::GetReference
+* Bug 8594: Improve Livestatus query performance
+* Bug 8596: Dependency: Validate *_{host,service}_name objects on their existance
+* Bug 8604: Attribute hints don't work for nested attributes
+* Bug 8627: Icinga2 shuts down when service is reloaded
+* Bug 8638: Fix a typo in documentation
+
### What's New in Version 2.2.4
#### Changes
diff --git a/INSTALL.md b/INSTALL.md
index 9e6e3fba9..cb8743ab2 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -112,12 +112,12 @@ disable the usage of `git describe`.
Use `git archive` to build the release tarball:
- $ VERSION=2.2.4
+ $ VERSION=2.3.0
$ git archive --format=tar --prefix=icinga2-$VERSION/ tags/v$VERSION | gzip >icinga2-$VERSION.tar.gz
Finally you should verify that the tarball only contains the files it should contain:
- $ VERSION=2.2.4
+ $ VERSION=2.3.0
$ tar ztf icinga2-$VERSION.tar.gz | less
diff --git a/agent/windows-setup-agent/Properties/AssemblyInfo.cs b/agent/windows-setup-agent/Properties/AssemblyInfo.cs
index 357c7dbad..c0241b15d 100644
--- a/agent/windows-setup-agent/Properties/AssemblyInfo.cs
+++ b/agent/windows-setup-agent/Properties/AssemblyInfo.cs
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Icinga Development Team")]
[assembly: AssemblyProduct("Icinga 2")]
-[assembly: AssemblyCopyright("Copyright © 2014 Icinga Development Team")]
+[assembly: AssemblyCopyright("Copyright © 2014-2015 Icinga Development Team")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/doc/1-about.md b/doc/1-about.md
index 6741c3382..e45255374 100644
--- a/doc/1-about.md
+++ b/doc/1-about.md
@@ -52,16 +52,241 @@ More details in the [Icinga FAQ](https://www.icinga.org/icinga/faq/).
* Create a new issue at the [Icinga 2 Development Tracker](https://dev.icinga.org/projects/i2).
* When reporting a bug, please include the details described in the [Troubleshooting](16-troubleshooting.md#troubleshooting-information-required) chapter (version, configs, logs, etc).
-## What's new
+## What's New
-### What's New in Version 2.3
+### What's New in Version 2.3.0
#### Changes
-* [DB IDO schema upgrade](17-upgrading-icinga-2.md#upgrading-icinga-2) to `1.13.0` required!
+* 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
-TODO
+* [DB IDO schema upgrade](17-upgrading-icinga-2.md#upgrading-icinga-2) to `1.13.0` required!
#### Issues
-TODO
+* Feature 3446: Add troubleshooting collect cli command
+* Feature 6109: Don't spawn threads for network connections
+* Feature 6570: Disallow side-effect-free r-value expressions in expression lists
+* Feature 6697: Plugin Check Commands: add check_vmware_esx
+* Feature 6857: Run CheckCommands with C locale (workaround for comma vs dot and plugin api bug)
+* Feature 6858: Add some more PNP details
+* Feature 6868: Disable flapping detection by default
+* Feature 6923: IDO should fill program_end_time on a clean shutdown
+* Feature 7136: extended Manubulon SNMP Check Plugin Command
+* Feature 7209: ITL: Interfacetable
+* Feature 7256: Add OpenTSDB Writer
+* Feature 7292: ITL: Check_Mem.pl
+* Feature 7294: ITL: ESXi-Hardware
+* Feature 7326: Add parent soft states option to Dependency object configuration
+* Feature 7361: Livestatus: Add GroupBy tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
+* Feature 7545: Please add labels in SNMP checks
+* Feature 7564: Access object runtime attributes in custom vars & command arguments
+* Feature 7610: Variable from for loop not usable in assign statement
+* Feature 7700: Evaluate apply/object rules when the parent objects are created
+* Feature 7702: Add an option that hides CLI commands
+* Feature 7704: ConfigCompiler::HandleInclude* should return an AST node
+* Feature 7706: ConfigCompiler::Compile* should return an AST node
+* Feature 7748: Redesign how stack frames work for scripts
+* Feature 7767: Rename _DEBUG to I2_DEBUG
+* Feature 7774: Implement an AST Expression for T_CONST
+* Feature 7778: Missing check_disk output on Windows
+* Feature 7784: Implement the DISABLE_HOST_SVC_NOTIFICATIONS and ENABLE_HOST_SVC_NOTIFICATIONS commands
+* Feature 7793: Don't build db_ido when both MySQL and PostgreSQL aren't enabled
+* Feature 7794: Implement an option to disable building the Livestatus module
+* Feature 7795: Implement an option to disable building the Demo component
+* Feature 7805: Implement unit tests for the config parser
+* Feature 7807: Move the cast functions into libbase
+* Feature 7813: Implement the % operator
+* Feature 7816: Document operator precedence
+* Feature 7822: Make the config parser thread-safe
+* Feature 7823: Figure out whether Number + String should implicitly convert the Number argument to a string
+* Feature 7824: Implement the "if" and "else" keywords
+* Feature 7873: Plugin Check Commands: Add icmp
+* Feature 7879: Windows agent is missing the standard plugin check_ping
+* Feature 7883: Implement official support for user-defined functions and the "for" keyword
+* Feature 7901: Implement socket_path attribute for the IdoMysqlConnection class
+* Feature 7910: The lexer shouldn't accept escapes for characters which don't have to be escaped
+* Feature 7925: Move the config file for the ido-*sql features into the icinga2-ido-* packages
+* Feature 8016: Documentation enhancement for snmp traps and passive checks.
+* Feature 8019: Register type objects as global variables
+* Feature 8020: Improve output of ToString for type objects
+* Feature 8030: Evaluate usage of function()
+* Feature 8033: Allow name changed from inside the object
+* Feature 8040: Disallow calling strings as functions
+* Feature 8043: Implement a boolean sub-type for the Value class
+* Feature 8047: ConfigCompiler::HandleInclude should return an inline dictionary
+* Feature 8060: Windows plugins should behave like their Linux cousins
+* Feature 8065: Implement a way to remove dictionary keys
+* Feature 8071: Implement a way to call methods on objects
+* Feature 8074: Figure out how variable scopes should work
+* Feature 8078: Backport i2tcl's error reporting functionality into "icinga2 console"
+* Feature 8096: Document the new language features in 2.3
+* Feature 8121: feature enable should use relative symlinks
+* Feature 8133: Implement line-continuation for the "console" command
+* Feature 8169: Implement additional methods for strings
+* Feature 8172: Assignments shouldn't have a "return" value
+* Feature 8195: Host/Service runtime macro downtime_depth
+* Feature 8226: Make invalid log-severity option output an error instead of a warning
+* Feature 8244: Implement keywords to explicitly access globals/locals
+* Feature 8259: The check "hostalive" is not working with ipv6
+* Feature 8269: Implement the while keyword
+* Feature 8277: Add macros $host.check_source$ and $service.check_source$
+* Feature 8290: Make operators &&, || behave like in JavaScript
+* Feature 8291: Implement validator support for function objects
+* Feature 8293: The Zone::global attribute is not documented
+* Feature 8316: Extend disk checkcommand
+* Feature 8322: Implement Array#join
+* Feature 8371: Add path information for objects in object list
+* Feature 8374: Add timestamp support for Graphite
+* Feature 8386: Add documentation for cli command 'console'
+* Feature 8393: Implement support for Json.encode and Json.decode
+* Feature 8394: Implement continue/break keywords
+* Feature 8399: Backup certificate files in 'node setup'
+* Feature 8410: udp check command is missing arguments.
+* Feature 8414: Add ITL check command for check_ipmi_sensor
+* Feature 8429: add webinject checkcommand
+* Feature 8465: Add the ability to use a CA certificate as a way of verifying hosts for CSR autosigning
+* Feature 8467: introduce time dependent variable values
+* Feature 8498: Snmp CheckCommand misses various options
+* Feature 8515: Show slave lag for the cluster-zone check
+* Feature 8522: Update Remote Client/Distributed Monitoring Documentation
+* Feature 8527: Change Livestatus query log level to 'notice'
+* Feature 8548: Add support for else-if
+* Feature 8575: Include GDB backtrace in crash reports
+* Feature 8599: Remove macro argument for IMPL_TYPE_LOOKUP
+* Feature 8600: Add validator for time ranges in ScheduledDowntime objects
+* Feature 8610: Support the SNI TLS extension
+* Feature 8621: Add check commands for NSClient++
+* Feature 8648: Document closures ('use')
+
+* Bug 6171: Remove name and return value for stats functions
+* Bug 6959: Scheduled start time will be ignored if the host or service is already in a problem state
+* Bug 7311: Invalid macro results in exception
+* Bug 7542: Update validators for CustomVarObject
+* Bug 7576: validate configured legacy timeperiod ranges
+* Bug 7582: Variable expansion is single quoted.
+* Bug 7644: Unity build doesn't work with MSVC
+* Bug 7647: Avoid rebuilding libbase when the version number changes
+* Bug 7731: Reminder notifications not being sent but logged every 5 secs
+* Bug 7765: DB IDO: Duplicate entry icinga_{host,service}dependencies
+* Bug 7800: Fix the shift/reduce conflicts in the parser
+* Bug 7802: Change parameter type for include and include_recursive to T_STRING
+* Bug 7808: Unterminated string literals should cause parser to return an error
+* Bug 7809: Scoping rules for "for" are broken
+* Bug 7810: Return values for functions are broken
+* Bug 7811: The __return keyword is broken
+* Bug 7812: Validate array subscripts
+* Bug 7814: Set expression should check whether LHS is a null pointer
+* Bug 7815: - operator doesn't work in expressions
+* Bug 7826: Compiler warnings
+* Bug 7830: - shouldn't be allowed in identifiers
+* Bug 7871: Missing persistent_comment, notify_contact columns for acknowledgement table
+* Bug 7894: Fix warnings when using CMake 3.1.0
+* Bug 7895: Serialize() fails to serialize objects which don't have a registered type
+* Bug 7995: Windows Agent: Missing directory "zones" in setup
+* Bug 8018: Value("").IsEmpty() should return true
+* Bug 8029: operator precedence for % and > is incorrect
+* Bug 8041: len() overflows
+* Bug 8061: Confusing error message for import
+* Bug 8067: Require at least one user for notification objects (user or as member of user_groups)
+* Bug 8076: icinga 2 Config Error needs to be more verbose
+* Bug 8081: Location info for strings is incorrect
+* Bug 8100: POSTGRES IDO: invalid syntax for integer: "true" while trying to update table icinga_hoststatus
+* Bug 8111: User::ValidateFilters isn't being used
+* Bug 8117: Agent checks fail when there's already a host with the same name
+* Bug 8122: Config file passing validation causes segfault
+* Bug 8132: Debug info for indexer is incorrect
+* Bug 8136: Icinga crashes when config file name is invalid
+* Bug 8164: escaped backslash in string literals
+* Bug 8166: parsing include_recursive
+* Bug 8173: Segfault on icinga::String::operator= when compiling configuration
+* Bug 8175: Compiler warnings
+* Bug 8179: Exception on missing config files
+* Bug 8184: group assign fails with bad lexical cast when evaluating rules
+* Bug 8185: Argument auto-completion doesn't work for short options
+* Bug 8211: icinga2 node update should not write config for blacklisted zones/host
+* Bug 8230: Lexer term for T_ANGLE_STRING is too aggressive
+* Bug 8249: Problems using command_endpoint inside HA zone
+* Bug 8257: Report missing command objects on remote agent
+* Bug 8260: icinga2 node wizard: Create backups of certificates
+* Bug 8289: Livestatus operator =~ is not case-insensitive
+* Bug 8294: Running icinga2 command as non privilged user raises error
+* Bug 8298: notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
+* Bug 8300: ApiListener::ReplayLog shouldn't hold mutex lock during call to Socket::Poll
+* Bug 8307: PidPath, VarsPath, ObjectsPath and StatePath no longer read from init.conf
+* Bug 8309: Crash in ScheduledDowntime::CreateNextDowntime
+* Bug 8313: Incorrectly formatted timestamp in .timestamp file
+* Bug 8318: Remote Clients: Add manual setup cli commands
+* Bug 8323: Apply rule '' for host does not match anywhere!
+* Bug 8333: Icinga2 master doesn't change check-status when "accept_commands = true" is not set at client node
+* Bug 8372: Stacktrace on Endpoint not belonging to a zone or multiple zones
+* Bug 8383: last_hard_state missing in StatusDataWriter
+* Bug 8387: StatusDataWriter: Wrong host notification filters (broken fix in #8192)
+* Bug 8388: Config sync authoritative file never created
+* Bug 8389: Added downtimes must be triggered immediately if checkable is Not-OK
+* Bug 8390: Agent writes CR CR LF in synchronized config files
+* Bug 8397: Icinga2 config reset after package update (centos6.6)
+* Bug 8425: DB IDO: Duplicate entry icinga_scheduleddowntime
+* Bug 8433: Make the arguments for the stats functions const-ref
+* Bug 8434: Build fails on OpenBSD
+* Bug 8436: Indicate that Icinga2 is shutting down in case of a fatal error
+* Bug 8438: DB IDO {host,service}checks command_line value is "Object of type 'icinga::Array'"
+* Bug 8444: Don't attempt to restore program state from non-existing state file
+* Bug 8452: Livestatus query on commands table with custom vars fails
+* Bug 8461: Don't request heartbeat messages until after we've synced the log
+* Bug 8473: Exception in WorkQueue::StatusTimerHandler
+* Bug 8488: Figure out why 'node update-config' becomes slow over time
+* Bug 8493: Misleading ApiListener connection log messages on a master (Endpoint vs Zone)
+* Bug 8496: Icinga doesn't update long_output in DB
+* Bug 8511: Deadlock with DB IDO dump and forcing a scheduled check
+* Bug 8517: Config parser fails non-deterministic on Notification missing Checkable
+* Bug 8519: apply-for incorrectly converts loop var to string
+* Bug 8529: livestatus limit header not working
+* Bug 8535: Crash in ApiEvents::RepositoryTimerHandler
+* Bug 8536: Valgrind warning for ExternalCommandListener::CommandPipeThread
+* Bug 8537: Crash in DbObject::SendStatusUpdate
+* Bug 8544: Hosts: process_performance_data = 0 in database even though enable_perfdata = 1 in config
+* Bug 8555: Don't accept config updates for zones for which we have an authoritative copy of the config
+* Bug 8559: check_memory tool shows incorrect memory size on windows
+* Bug 8593: Memory leak in Expression::GetReference
+* Bug 8594: Improve Livestatus query performance
+* Bug 8596: Dependency: Validate *_{host,service}_name objects on their existance
+* Bug 8604: Attribute hints don't work for nested attributes
+* Bug 8627: Icinga2 shuts down when service is reloaded
+* Bug 8638: Fix a typo in documentation
diff --git a/icinga2.spec b/icinga2.spec
index 165cb7522..927aa3daf 100644
--- a/icinga2.spec
+++ b/icinga2.spec
@@ -66,7 +66,7 @@
Summary: Network monitoring application
Name: icinga2
-Version: 2.2.4
+Version: 2.3.0
Release: %{revision}%{?dist}
License: GPL-2.0+
Group: Applications/System