1# Icinga Web 2 Changelog 2 3Please make sure to always read our [Upgrading](doc/80-Upgrading.md) documentation before switching to a new version. 4 5## What's New 6 7### What's New in Version 2.8.2 8 9**Notice**: This is a security release. It is recommended to immediately upgrade to this release. 10 11You can find all issues related to this release on the respective [milestone](https://github.com/Icinga/icingaweb2/milestone/62?closed=1). 12 13#### Path Traversal Vulnerability 14 15The vulnerability in question allows an attacker to access arbitrary files which are readable by the process running 16Icinga Web 2. Technical details can be found at the corresponding [CVE-2020-24368](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-24368) 17and in the issue below. 18 19* Possible path traversal when serving static image files [#4226](https://github.com/Icinga/icingaweb2/issues/4226) 20 21#### Broken Negated Filters with PostgreSQL 22 23We've also included a small non-security related fix. Searching for e.g. `servicegroup!=support` leads to an error 24instead of the desired result when using a PostgreSQL database. 25 26* Single negated membership filter fails with PostgreSQL [#4196](https://github.com/Icinga/icingaweb2/issues/4196) 27 28### What's New in Version 2.8.1 29 30You can find all issues related to this release on the respective [milestone](https://github.com/Icinga/icingaweb2/milestone/61?closed=1). 31 32#### Case Sensitivity Problems 33 34A fix in v2.8.0 led to users being not able to login if they got their username's case wrong. A hostgroup name's case 35has also been incorrectly taken into account despite using a `CI` labelled column in the servicegrid and other lists. 36 37* Login usernames now case sensitive in 2.8 [#4184](https://github.com/Icinga/icingaweb2/issues/4184) 38* Case insensitive hostgroup filter in service grid not working [#4178](https://github.com/Icinga/icingaweb2/issues/4178) 39 40#### Issues With Numbers 41 42An attempt to avoid misrepresenting environments in the tactical overview had an opposite effect by showing negative 43numbers. Filtering for timestamps in the event history also showed no results because our filters couldn't cope with 44plain numbers anymore. 45 46* Tactical overview showing "-1 pending" hosts [#4174](https://github.com/Icinga/icingaweb2/issues/4174) 47* Timestamp filters not working correctly in history views [#4182](https://github.com/Icinga/icingaweb2/issues/4182) 48 49### What's New in Version 2.8.0 50 51You can find all issues related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/60?closed=1). 52 53#### Icinga DB 54 55It's happening. Yes. Our latest achievement is now available for those who are willing to participate in this enormous 56endeavour. Icinga Web 2 is also a crucial part of it and accompanies the first release of Icinga DB. If you like 57to participate, don't forget to update Icinga Web 2 as well. 58 59#### Support for PHP 7.4 and MySQL 8 60 61We also made sure that you won't be disappointed by Icinga Web 2 if you're running PHP 7.4 or trying to access a MySQL 62database with version 8+. These should pose no issues anymore now. But if you still somehow managed to get issues 63please let us now and we'll fix it asap. 64 65* Exceptions with MySQL 8 [#3740](https://github.com/Icinga/icingaweb2/issues/3740) 66* Support for PHP 7.4 [#4009](https://github.com/Icinga/icingaweb2/issues/4009) 67 68#### Find What You Search For 69 70It's been previously not possible to properly filter for range values. This was especially true for custom variables 71where, if you searched for e.g. `_host_interfaces>=20`, you wouldn't find the correct results. If you often copy some 72values in our search fields you may also been a victim of extraneous spaces which are now automatically trimmed. 73 74* Filter: more/less than doesn't seem to working [#3974](https://github.com/Icinga/icingaweb2/issues/3974) 75* Search object followed by a space finds no results [#4002](https://github.com/Icinga/icingaweb2/issues/4002) 76 77#### Don't Leave Your Little Sheep Unattended 78 79It's time again to further restrict your users. It's now possible to completely block any access to contacts and 80contactgroups for specific roles. These won't ever see again who's notified and who's not. Also, if you are using 81single accounts for a group of people you can now disable password changes for those. 82 83* Prohibit access to contacts and contactgroups [#3973](https://github.com/Icinga/icingaweb2/issues/3973) 84* Allow to forbid password changes on specific user accounts [#3286](https://github.com/Icinga/icingaweb2/issues/3286) 85 86#### In and Out, Access Control Done Right 87 88While we have no burgers (but cookies!) you are nevertheless welcome to visit Icinga Web 2. And now you can also 89successfully leave while being externally authenticated and unsuccessfully enter while being unable to not add 90extraneous spaces to your username. 91 92* External logout not working from the navigation dashboard [#3995](https://github.com/Icinga/icingaweb2/issues/3995) 93* Username with extraneous spaces are not invalid [#4030](https://github.com/Icinga/icingaweb2/pull/4030) 94 95### Changes in Packaging and Dependencies 96 97Valid for distributions: 98 99* RHEL / CentOS 7 100 * Upgrade to PHP 7.3 via RedHat SCL 101 * See [Upgrading to Icinga Web 2 2.8.x](doc/80-Upgrading.md#upgrading-to-icinga-web-2-28x) 102 for manual steps that are required 103 104#### Discontinued Package Updates 105 106Icinga Web 2 v2.8+ is not supported on these platforms: 107 108* RHEL / CentOS 6 109* Debian 8 Jessie 110* Ubuntu 16.04 LTS (Xenial Xerus) 111 112Please consider an upgrade of your central Icinga system to a newer distribution release. 113 114[icinga.com](https://icinga.com/subscription/support-details/) provides an overview about 115currently supported distributions. 116 117### What's New in Version 2.7.3 118 119This is a hotfix release and fixes the following issue: 120 121* Servicegroups for roles with filtered objects not available [#3983](https://github.com/Icinga/icingaweb2/issues/3983) 122 123### What's New in Version 2.7.2 124 125You can find all issues related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/57?closed=1). 126 127#### Less Smoky Database Servers 128 129The release of v2.7.1 introduced a change which revealed an inefficient part of our database queries. We made some 130general optimizations on our queries and changed the way we utilize them in some views. The result are faster 131response times by less work for the database server. 132 133* Consuming more CPU resources since upgraded to 2.7.1 [#3928](https://github.com/Icinga/icingaweb2/issues/3928) 134 135#### Anarchism Infested Dashboards 136 137Recent history already showed signs of anarchism. (Pun intended) A similar mindset now infested default dashboards 138which appeared in a different way than before v2.7.0. We taught their dashlets a lesson and order has been reestablished 139as previously. 140 141* Recently Recovered Services in dashboard "Current Incidents" seems out of order [#3931](https://github.com/Icinga/icingaweb2/issues/3931) 142 143#### Solitary Downtimes 144 145We improved the host and service distinction with v2.7.0. The downtimes list however got confused by this and didn't 146knew anymore how to combine multiple downtimes. If you now instruct the list to select multiple downtimes this works 147again as we removed the confusing parts. 148 149* Selection of multiple downtimes fails [#3920](https://github.com/Icinga/icingaweb2/issues/3920) 150 151### What's New in Version 2.7.1 152 153You can find all issues related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/56?closed=1). 154 155#### Sneaky Solution for Sneaky Links 156 157Usually we try to include only bugs in minor-releases. Sorry, bug-fixes, of course. But thanks to 158[@winem_](https://twitter.com/winem_/status/1156531270521896960) we have also a little enhancement this time: 159Links in comments, notes, etc. are now [highlighted](https://github.com/Icinga/icingaweb2/pull/3893) as such. 160 161* Highlight links in the notes of an object [#3888](https://github.com/Icinga/icingaweb2/issues/3888) 162 163#### Nobody's Perfect, Not Even Developers 164 165We knew it. We saw it coming. And forgot about it. Some views, especially histories, showed an anarchic behavior 166since v2.7.0. The change responsible for this has been undone and history's order is reestablished now. 167 168* Default sort rules no longer work in 2.7.0 [#3891](https://github.com/Icinga/icingaweb2/issues/3891) 169 170#### Restrictions Gone ~~Wild~~ Cagey 171 172A [fix](https://github.com/Icinga/icingaweb2/pull/3868) unfortunately caused restrictions using wildcards to show no 173results anymore. This is now solved and such restrictions are as permissive as ever. 174 175* Wildcard filters in chains broken [#3886](https://github.com/Icinga/icingaweb2/issues/3886) 176 177### What's New in Version 2.7.0 178 179You can find issues related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/52?closed=1). 180 181#### Icinga's Amazingness Spreads Further 182 183All the Japanese and Ukrainian monitoring enthusiasts can now appreciate our web-frontend in their native tongue. Being 184so late to the party is also of their advantage, though. Because they can adjust their dashboard without worrying it gets 185broke with the next update. (All other admins with non-english users, please have a look at our 186[upgrading documentation](doc/80-Upgrading.md#upgrading-to-icinga-web-2-27x-)) 187 188* Add Japanese language support [#3776](https://github.com/Icinga/icingaweb2/pull/3776) 189* Add Ukrainian language support [#3828](https://github.com/Icinga/icingaweb2/pull/3828) 190* Don't translate pane and dashlet names in configs [#3837](https://github.com/Icinga/icingaweb2/pull/3837) 191 192#### Modules - Bonus Functionality Unleashed 193 194With this release module developers got additional ways to customize Icinga Web 2. Whether you ever wanted to hook into 195a configuration form's handling, to perform your very own Ajax requests or enhance our multi-select views with fancy 196graphs. All is possible now. 197 198* Allow to hook into a configuration form's handling [#3862](https://github.com/Icinga/icingaweb2/pull/3862) 199* Allow to fully customize click and submit handling [#3794](https://github.com/Icinga/icingaweb2/issues/3767) 200* Integrate DetailviewExtension into multi-select views [#3304](https://github.com/Icinga/icingaweb2/pull/3304) 201 202#### UI - Your Daily Routine and Incident Management, Enhanced 203 204Users with color deficiencies now have a built-in theme to ease navigating within Icinga Web 2. Also, our forms got 205a long overdue re-design and now look less boring. Though, the best of all features is that clicking while holding 206the Ctrl-key now actually opens a new browser tab! Lost comments? No more. Defining an expiry date again? No more! 207 208* Add colorblind theme [#3743](https://github.com/Icinga/icingaweb2/pull/3743) 209* Improve the look of forms [#3416](https://github.com/Icinga/icingaweb2/issues/3416) 210* Make ctrl-click open new tab [#3723](https://github.com/Icinga/icingaweb2/pull/3723) 211 212#### Stay Focused - More Room for More Important Stuff 213 214Some of you know that some checks tend to produce walls of text or measure (too) many interfaces. Now, plugin output 215and performance data will collapse if they exceed a certain height. If necessary they can of course be expanded and 216keep that way across browser restarts. The same is also true for the sidebar. (Though, this one stays *collapsed*) 217 218* Persistent Collapsible Containers [#3638](https://github.com/Icinga/icingaweb2/pull/3638) 219* Collapsible plugin output [#3870](https://github.com/Icinga/icingaweb2/pull/3870) 220* Collapsed sidebar should stay collapsed [#3682](https://github.com/Icinga/icingaweb2/issues/3628) 221 222#### Markdown - Tables, Lists and Emphasized Text The Easy Way 223 224Since we now have the possibility to collapse large content dynamically, we allow you to add entire wiki pages to hosts 225and services. Though, if you prefer to use a real wiki to maintain those (what we'd strongly suggest) it's now easier 226than ever before to link to it. Copy url, paste url, submit comment, Done. 227 228* Make notes, comments and announcements markdown aware [#3814](https://github.com/Icinga/icingaweb2/pull/3814) 229* Transform any URL in a Comment to a clickable Link [#3441](https://github.com/Icinga/icingaweb2/issues/3441) 230* Support relative links in plugin output [#2916](https://github.com/Icinga/icingaweb2/issues/2916) 231 232#### Things You Have Missed Previously 233 234The tactical overview, our fancy pie charts, is now the very first result when you search something in the sidebar. 235If you'll see two entirely green circles there, relax. Also overdue or unreachable checks are now appropriately marked 236in list views and the service grid now allows you to switch between everything or problems only. 237 238* Add tactical overview to global search [#3845](https://github.com/Icinga/icingaweb2/pull/3845) 239* Servicegrid: Add toggle to show problems only [#3871](https://github.com/Icinga/icingaweb2/pull/3871) 240* Make overdue/unreachable checks better visible [#3860](https://github.com/Icinga/icingaweb2/pull/3860) 241 242#### Authorization - Knowing and Controlling What's Going On 243 244Roles can now be even more tailored to users since the introduction of a new placeholder. This placeholder allows to 245use a user's name in restrictions. Things like `_service_responsible_person=$user:local_name$` are now possible. The 246audit log now receives failed login-attempts, that's been made possible since hooks can now run for anonymous users. 247 248* Allow roles to filter for the currently logged in user [#3493](https://github.com/Icinga/icingaweb2/issues/3493) 249* Add possibility to disable permission checks for hooks [#3849](https://github.com/Icinga/icingaweb2/pull/3849) 250* Send failed login-attempts to the audit log [#3856](https://github.com/Icinga/icingaweb2/pull/3856) 251 252See also the [audit module](https://github.com/Icinga/icingaweb2-module-audit/releases) which got an update and is 253required for [#3856](https://github.com/Icinga/icingaweb2/pull/3856) to work. 254 255### What's New in Version 2.6.3 256 257You can find issues related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/54?closed=1). 258 259#### PHP 7.3 260 261Now supported. :tada: 262 263#### LDAP - Community contributions, that's the spirit 264 265With the help of our users we've finally fixed the issue that defining multiple hostnames and enabling STARTTLS has 266never properly worked. Also, they've identified that defining multiple hostnames caused a customized port not being 267utilized and fixed it themselves. 268 269There has also a rare case been fixed that caused no group members being found in case object classes had a different 270casing than what we expected. (Good news for all the non-OpenLdap and non-MSActiveDirectory users) 271 272* LDAP connection fails with multiple servers using STARTTLS [#3639](https://github.com/Icinga/icingaweb2/issues/3639) 273* LDAPS authentication ignores custom port setting [#3713](https://github.com/Icinga/icingaweb2/issues/3713) 274* LDAP group members not found [#3650](https://github.com/Icinga/icingaweb2/issues/3650) 275 276#### We take care about your data even better now 277 278With this are newlines and HTML entities (such as ` `) in plugin output and custom variables meant. 279Sorry if I've teased some data security folks now. :innocent: 280 281* Newlines in plugin output disappear [#3662](https://github.com/Icinga/icingaweb2/issues/3662) 282* Windows path separators are converted to newlines in custom variables [#3636](https://github.com/Icinga/icingaweb2/issues/3636) 283* HTML entities in plugin output are not resolved if no other HTML is there [#3707](https://github.com/Icinga/icingaweb2/issues/3707) 284 285#### You've wondered how you got into a famous blue police box? 286 287Don't worry, not only you and the european union are sometimes unsure what's the correct time. 288 289* Set client timezone on DB connection [#3525](https://github.com/Icinga/icingaweb2/issues/3525) 290* Ensure a valid default timezone is set in any case [#3747](https://github.com/Icinga/icingaweb2/pull/3747) 291* Fix that the event detail view is not showing times in correct timezone [#3660](https://github.com/Icinga/icingaweb2/pull/3660) 292 293#### UI - The portal to your monitoring environment, improved 294 295The collapsible sidebar introduced with v2.5 has been plagued by some issues since then. They're now fixed. Also, 296the UI should now flicker less and properly preserve the scroll position when interacting with action links. (This 297also allows the business process module to behave more stable when using drag and drop in large configurations.) 298 299* Collapsible Sidebar Issues [#3187](https://github.com/Icinga/icingaweb2/issues/3187) 300* Fix title when closing right column [#3654](https://github.com/Icinga/icingaweb2/issues/3654) 301* Preserve scroll position upon form submits [#3661](https://github.com/Icinga/icingaweb2/pull/3661) 302 303#### Corrected things we've broke recently 304 305That's due to preemptive changes to protect you from bad individuals. Unfortunately this meant that some unforeseen 306side-effects appeared after the release of v2.6.2. These are now fixed. 307 308* Multiline values in ini files broken [#3705](https://github.com/Icinga/icingaweb2/issues/3705) 309* PHP ini parser doesn't strip trailing whitespace [#3733](https://github.com/Icinga/icingaweb2/issues/3733) 310* Escaped characters in INI values are not unescaped [#3648](https://github.com/Icinga/icingaweb2/issues/3648) 311 312Though, if you've faced issue [#3705](https://github.com/Icinga/icingaweb2/issues/3705) you still need to take manual 313action (if not already done) as the provided fix does only prevent further occurrences of the resulting error. The 314required changes involve the transformation of all real newlines in Icinga Web 2's INI files to literal `\n` or `\r\n` 315sequences. (Files likely having such are the `roles.ini` and `announcements.ini`) 316 317### What's New in Version 2.6.2 318 319You can find issues and features related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/53?closed=1). 320 321This bugfix release addresses the following topics: 322 323* Database connections to MySQL 8 no longer fail 324* LDAP connections now have a timeout configuration which defaults to 5 seconds 325* User groups are now correctly loaded for externally authenticated users 326* Filters are respected for all links in the host and service group overviews 327* Fixed permission problems where host and service actions provided by modules were missing 328* Fixed an SQL error in the contact list view when filtering for host groups 329* Fixed time zone (DST) detection 330* Fixed the contact details view if restrictions are active 331* Doc parser and documentation fixes 332 333### What's New in Version 2.6.1 334 335You can find issues and features related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/51?closed=1). 336 337The command audit now logs a command's payload as JSON which fixes a 338[bug](https://github.com/Icinga/icingaweb2/issues/3535) that has been introduced in version 2.6.0. 339 340### What's New in Version 2.6.0 341 342You can find issues and features related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/48?closed=1). 343 344#### Enabling you to do stuff you couldn't before 345 346* Support for PHP 7.2 added 347* Support for SQLite resources added 348* Login and Command (monitoring) auditing added with the help of a dedicated [module](https://github.com/Icinga/icingaweb2-module-audit) 349* Pluginoutput rendering is now hookable by modules which allows to render custom icons, emojis and .. cute kitties :octocat: 350 351#### Avoiding that you miss something 352 353* It's now possible to toggle between list- and grid-mode for the host- and servicegroup overviews 354* The servicegrid now supports to flip its axes which allows it to be put into a [landscape mode](https://github.com/Icinga/icingaweb2/pull/3449#issue-185415579) 355* Contacts only associated with services are visible now when restricted based on host filters 356* Negated and combined membership filters now work as expected ([#2934](https://github.com/Icinga/icingaweb2/issues/2934)) 357* A more prominent error message in case the monitoring backend goes down 358* The filter editor doesn't get cleared anymore upon hitting Enter 359 360#### Making your life a bit easier 361 362* The tactical overview is now filterable and can be safely put into [the dashboard](https://github.com/Icinga/icingaweb2/pull/3446#issue-185379142) 363* It is now possible to register new announcements over the [REST Api](https://github.com/Icinga/icingaweb2/issues/2749#issuecomment-279667189) 364* Filtering for custom variables now works in UTF8 environments 365 366#### Ensuring you understand everything 367 368* The monitoring health is now beautiful to look at and properly behaves in [narrow environments](https://github.com/Icinga/icingaweb2/pull/3515#issue-200075373) 369* Updated German localization 370* Updated Italian localization 371 372#### Freeing you from unrealiable things 373 374* Removed support for PHP < 5.6 375* Removed support for persistent database connections 376 377### What's New in Version 2.5.3 378 379You can find issues and features related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/50?closed=1). 380 381#### Fixes 382 383A fix for an issue introduced with v2.5.2 that prevented service-only contacts from appearing in the UI resulted in long 384database response times and has been reverted. 385 386### What's New in Version 2.5.2 387 388You can find issues and features related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/49?closed=1). 389 390#### UI Changes 391 392The sidebar's search behaviour has been changed so that it does only react to user-input after the user stopped typing. 393Also, the cursor does not jump to the end of form-inputs anymore in case of an auto-refresh. We've also fixed an issue 394that caused [custom icons](https://github.com/Icinga/icingaweb2/issues/3181#issuecomment-378875462) to be inverted when 395placed in the sidebar. Last but not least, the header now expands its width beyond the 3840px mark and single dashlets 396do not show a horizontal scrollbar anymore. 397 398#### PHP7 MSSQL Compatibility 399 400Support for Microsoft's `sqlsrv` extension has been added. Also, it's now possible to setup MSSQL resources in the 401front-end using the `dblib` extension. 402 403#### Proper Error Responses 404 405An issue introduced with v2.5.1 has been resolved where some errors (especially HTTP 404 Not Found) were masked 406by another subsequent error. 407 408#### Broken LDAP Group Memberships 409 410An issue introduced with v2.5.1 has been resolved where users with a domain in their name were not associated with any 411LDAP groups. 412 413#### Monitoring Module 414 415Issuing a check using the "Check Now" action now properly causes a check being made by Icinga 2 even if outside the 416timeperiod. (Note: This issue was only present if using the Icinga 2 Api as command transport.) 417 418#### Login/Logout Expandability 419 420It's now possible for modules to provide hooks for the user authorization. This for example allows to transparently 421authenticate users in third-party applications such as [Grafana](https://github.com/Icinga/icingaweb2/pull/3401#issue-178030542). 422 423### What's New in Version 2.5.1 424 425You can find issues and features related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/47?closed=1). 426 427Besides many other bug fixes, Icinga Web 2 v2.5.1 fixes an issue where it was no longer possible to filter by host 428custom variables in service related views. Also, this release introduces detail views for the event history and 429improved upgrading docs. Furthermore, this version censors sensitive information (e.g. LDAP passwords) in exception 430stack traces. 431 432### What's New in Version 2.5.0 433 434You can find issues and features related to this release on our [Roadmap](https://github.com/Icinga/icingaweb2/milestone/45?closed=1). 435 436#### Raised PHP Version Dependency 437 438Icinga Web 2 now requires at least PHP 5.6. 439 440#### UI Changes 441 442The style of the login screen and menu have been changed. Also, the menu of Icinga Web 2 is now collapsible. 443Browser tabs will not auto-refresh if they are inactive. Users are now allowed to change the default pagination limit 444via their preferences. 445 446#### Domain-aware Authentication for Active Directory and LDAP Backends 447 448If there are multiple AD/LDAP authentication backends with distinct domains, you are now able to make Icinga Web 2 449aware of the domains. This can be done by configuring each AD/LDAP backend's domain. You can also use the GUI for this 450purpose. Please read our [documentation](doc/05-Authentication.md#domain-aware-auth) for more information about this 451feature. 452 453#### Changes in Packaging and Dependencies 454 455Valid for distributions: 456 457* RHEL / CentOS 6 + 7 458 * Upgrading to PHP 7.0 / 7.1 via RedHat SCL (new dependency) 459 * See [Upgrading to FPM](doc/02-Installation.md#upgrading-to-fpm) for manual steps that are required 460* SUSE SLE 12 461 * Upgrading PHP to >= 5.6.0 via the alternative packages. 462 You might have to confirm the replacement of PHP < 5.6 - but that should work with any other PHP app as well 463 * Make sure to enable the new Apache module `a2enmod php7` and restart `apache2` 464 465#### Discontinued Package Updates 466 467For the following distributions Icinga Web 2 won't be updated past 2.4.x anymore: 468 469* Debian 7 wheezy 470* Ubuntu 14.04 LTS (trusty) 471* SUSE SLE 11 (all service packs) 472 473Please think about replacing your central Icinga system to a newer distribution release. 474 475Also see [packages.icinga.com](https://packages.icinga.com) for the currently supported distributions. 476 477### What's New in Version 2.4.2 478 479#### Bugfixes 480 481* Bug 2965: Transport config: Default port not changing upon auto-submit 482* Bug 2926: Wrong order when sorting by host_severity 483* Bug 2923: Number fields should be valid when empty 484* Bug 2919: Fix cached loading of module config 485* Bug 2911: Acknowledgements are not working without an expiry time 486* Bug 2878: process-check-result Button is visible even when user isn't allowed to use it 487* Bug 2850: Link to acknowledgements is wrong in the timeline 488* Bug 2841: Wrong menu height when switching back from mobile layout 489* Bug 2806: Wrong service state count in hostgroup overview 490* Bug 2805: Response from the Icinga 2 API w/ an empty result set leads to exception 491* Bug 2801: Wrong help text for the director in the icingacli 492* Bug 2784: Module and gravatar images are not served with their proper MIME type 493* Bug 2776: Defaults not respected when acknowledging problems 494* Bug 2767: Monitoring module: Config field protected vars not updated after zeroing config.ini 495* Bug 2728: Gracefully handle invalid Icinga 2 API response types 496* Bug 2718: Hide check attempt for hard states in history views 497* Bug 2716: Web 2 doesn't detect the browser time zone if the time zone offset is negative 498* Bug 2714: icingacli module disable fails on consecutive calls 499* Bug 2695: Macros cannot be used for a navigation item's url-port 500* Bug 2684: [dev.icinga.com #14027] Translation module should not write absolute path to .po files 501* Bug 2683: [dev.icinga.com #14025] Translation module should remove temp files 502* Bug 2661: [dev.icinga.com #13651] Don't offer the Icinga 2 API as transport if PHP cURL is missing 503* Bug 2660: [dev.icinga.com #13649] Make the Icinga 2 API the default command transport 504* Bug 2656: [dev.icinga.com #13627] Wrong count of handled critical service in the hover text 505* Bug 2645: [dev.icinga.com #13539] Improve error handling and validation of multiple LDAP URIs 506* Bug 2598: [dev.icinga.com #12977] Adding an empty user backend fails 507* Bug 2545: [dev.icinga.com #12640] MSSQL ressource not working 508* Bug 2523: [dev.icinga.com #12410] Click on Host in Service Grid can cause "Invalid Filter" error 509* Bug 2519: [dev.icinga.com #12330] Filter editor may show wrong values after searching 510* Bug 2509: [dev.icinga.com #12295] group_name_attribute should be "sAMAccountName" by default 511 512### What's New in Version 2.4.1 513 514Our public repositories and issue tracker have been migrated to GitHub. 515 516#### Bugfixes 517 518* Bug 2651: [dev.icinga.com #13607] Displayed times messed up in Icinga Web 2.4.0 w/ PostgreSQL 519* Bug 2654: [dev.icinga.com #13615] Setup wizard: Not possible to setup Icinga Web 2 with an external database 520* Bug 2663: [dev.icinga.com #13691] Hook::all() is broken on CLI 521* Bug 2669: [dev.icinga.com #13735] Setup wizard: Progress bar isn't shown correctly, if setup is at finish step 522* Bug 2681: [dev.icinga.com #13957] Support failover API command transport configuration 523* Bug 2686: Granular module permissions do not work for hooks 524* Bug 2687: Update URLs to icinga.com, remove wiki & update to GitHub 525 526### What's New in Version 2.4.0 527 528#### Feature 529 530* Feature 12598 (Authentication & Authorization): Support nested AD groups for Roles and not just login 531* Feature 11809 (Authentication & Authorization): Test and document multiple LDAP-URIs separated by space in LDAP ressources 532* Feature 10616 (Authentication & Authorization): Users w/o administrative permissions should be allowed to change their password 533* Feature 13381 (CLI): Allow to configure the default listen address for the CLI command web serve 534* Feature 11820 (Configuration): Check whether chosen locale is available 535* Feature 11214 (Configuration): Logger: Allow to configure the Syslog Facility 536* Feature 13117 (Framework): Add charset UTF-8 to default content type 537* Feature 12634 (Framework): Possibitlity to fold and unfold filter by click 538* Feature 11198 (Framework): Announce banner 539* Feature 11115 (Framework): Add SSL support to MySQL database resources 540* Feature 8270 (Installation): Add SELinux policy for Icinga Web 2 541* Feature 13187 (Monitoring): Command toolbar in the host and service detail views 542* Feature 12873 (Monitoring): Change default for sticky option of acknowledgements from true to false 543* Feature 12820 (Monitoring): Export detail views to JSON 544* Feature 12766 (Monitoring): Show flapping events in the host and service history views 545* Feature 12764 (Monitoring): Display downtime end even if it hasn't been started yet 546* Feature 12125 (Monitoring): Allow th in plugin output 547* Feature 11952 (Monitoring): Allow changing default of 'sticky' in acknowledgement and other command options 548* Feature 11398 (Monitoring): Send commands over Icinga 2's API 549* Feature 11835 (UI): Add clear button to search field 550* Feature 11792 (UI): Show hint if notifications are disabled globally 551* Feature 11664 (UI): Show git HEAD for modules if available 552* Feature 13461 (Vendor Libraries): Use Icinga's fork of Zend Framework 1 icingaweb2-vendor-zf1 553 554#### Bugfixes 555 556* Bug 12396 (Authentication & Authorization): Hooks don't respect module permissions 557* Bug 12164 (Authentication & Authorization): REDIRECT_REMOTE_USER not evaluated during external auth 558* Bug 12108 (Authentication & Authorization): assertPermission allows everything for unauthenticated requests 559* Bug 13357 (Configuration): Persistent database resources cannot be made non-persistent 560* Bug 12848 (Configuration): Empty "Protected Custom Variables" falls back to defaults 561* Bug 12655 (Configuration): Permission application/log is not configurable 562* Bug 12170 (Configuration): Adding a DB resource via webinterface requires one to enter a password 563* Bug 10401 (Configuration): LdapUserGroupBackendForm: user_* settings not purged 564* Bug 9804 (Configuration): Renaming the resource used for the config backend does not update the global configuration 565* Bug 11920 (Dashboard): Add to dashboard: wrong url makes whole dashboard unusable 566* Bug 13387 (Documentation): Can't display documentation of disabled modules 567* Bug 12923 (Framework): Navigation Item name must be of type string or NavigationItem 568* Bug 12852 (Framework): Hosts without any services are hidden from roles with monitoring/filter/objects set 569* Bug 12760 (Framework): Do not log exceptions other than those resulting in a HTTP 500 status-code 570* Bug 12583 (Framework): Unhandled exceptions while handling REST requests will silently drop the http response code 571* Bug 12580 (Framework): REST requests cannot be anonymous 572* Bug 12557 (Framework): Module description cannot be on a single line 573* Bug 12299 (Framework): FilterExpression renders a&!b as a=1&b!=1 574* Bug 12161 (Framework): Icinga Web 2 doesn't set Content-Type 575* Bug 12065 (Framework): IniRepository: update/delete not possible with iterator 576* Bug 11743 (Framework): INI writer must not persist section keys with a null value 577* Bug 11185 (Framework): SummaryNavigationItemRenderer should show worst state 578* Bug 10361 (Framework): Handle E_RECOVERABLE_ERROR 579* Bug 13459 (Installation): Setup: Can't view monitoring config summary with Icinga 2 API as command transport 580* Bug 13467 (JavaScript): renderLayout has side-effects 581* Bug 13115 (JavaScript): actiontable should not clear active row in case there is no newer one 582* Bug 12541 (JavaScript): Menu not reloaded in case no search is available 583* Bug 12328 (JavaScript): Separate vendor JavaScript libraries w/ semicolons and newlines on import 584* Bug 10704 (JavaScript): JS: Always use the jQuery find method w/ node context when selecting elements 585* Bug 10703 (JavaScript): JS: Don't use var self = this, but var _this = this 586* Bug 11431 (Modules): Modules can't require permission on menu items 587* Bug 10870 (Modules): Refuse erroneous module folder names when enabling the module 588* Bug 13243 (Monitoring): Inconsistent host and service flags 589* Bug 12889 (Monitoring): Timeline broken 590* Bug 12810 (Monitoring): Scheduling a downtime for all services of a host does not work w/ the Icinga 2 API as command transport 591* Bug 12313 (Monitoring): Multi-line strings within host.notes are being displayed as single line 592* Bug 12223 (Monitoring): State not highlighted in plugin output if it contains HTML 593* Bug 12019 (Monitoring): Contact view shows service filters with 'Downtime' even if not set 594* Bug 11915 (Monitoring): Performance data: negative values not handled 595* Bug 11859 (Monitoring): Can't separate between SOFT and HARD states in the history views 596* Bug 11766 (Monitoring): Performance data: Fit label column to show as much text as possible 597* Bug 11744 (Monitoring): Empty user groups are not displayed 598* Bug 10774 (Monitoring): Scheduling downtimes for child hosts doesn't work w/ Icinga 2.x (waiting for Icinga 2) 599* Bug 10537 (Monitoring): Filtering with not-equal on custom variable doesn't show hosts without this cv 600* Bug 7755 (Monitoring): Remove autosubmit in eventgrid 601* Bug 12133 (Navigation): Username and password not being passed in navigation item URLs 602* Bug 12776 (Print & Export): dompdf fails when border-style is set to auto 603* Bug 12723 (Print & Export): Allowed memory size exhausted when exporting the history view to CSV 604* Bug 12660 (QA): Choosing the Icinga theme floods the log with error messages 605* Bug 12774 (UI): Lot's of <span style="visibility:hidden; display:none;"></span> in Output 606* Bug 12134 (UI): Copy and paste: Plugin output contains unicode zero-width space characters 607* Bug 10691 (UI): Closing the detail area does not update the rows selected counter 608* Bug 13095 (Vagrant VM): TicketSalt constant missing 609* Bug 12717 (Vagrant VM): PluginContribDir constant removed during vagrant provisioning 610 611### What's New in Version 2.3.4/2.3.3 612 613#### Bugfixes 614 615* Bug 11267: Links in plugin output don't behave as expected 616* Bug 11348: Host aliases are not shown in detail area 617* Bug 11728: First non whitespace character after comma stripped from plugin output 618* Bug 11729: Sort by severity depends on state type 619* Bug 11737: Zero width space characters destroy state highlighting in plugin output 620* Bug 11796: Zero width space characters may destroy links in plugin output 621* Bug 11831: module.info parsing fails in case it contains newlines that are not part of the module's description 622* Bug 11850: "Add to menu" tab unnecessarily appears in command forms 623* Bug 11871: Colors used in the timeline are not accessible 624* Bug 11883: Delete action on comments and downtimes in list views not accessible because they lack context 625* Bug 11885: Database: Asterisk filters ignored when combined w/ other filters 626* Bug 11910: Web 2 lacks mobile meta tags 627* Fix remote code execution via remote command transport 628 629### What's New in Version 2.3.2 630 631#### Feature 632 633* Feature 11629: Simplified event-history date and time representation 634 635#### Bugfixes 636 637* Fix a privilege escalation issue in the monitoring module for authenticated users 638* Bug 10486: Menu rendering fails when no monitoring backend was configured 639* Bug 10847: Warn about illogical dates 640* Bug 10848: Can't change items per page if filter is in modify state 641* Bug 11392: Can't configure monitoring backend via the web interface when no monitoring backend was configured 642 643### What's New in Version 2.3.1 644 645#### Bugfixes 646 647* Bug 11598: Invalid SQL queries for PostgreSQL 648 649### What's New in Version 2.3.0 650 651#### Features 652 653* Feature 10887: lib: Provide User::getRoles() 654* Feature 10965: Roles: Restrict visibility of custom variables 655* Feature 11404: Add is_reachable filter column to host and service data views 656* Feature 11485: lib/LDAP: Support scopes base and one 657* Feature 11495: Support data URIs in href 658* Feature 11529: Don't offer command disable notifications /w expire time if backend is Icinga 2 659 660#### Bugfixes 661 662* Bug 9386: Improve order of documentation chapters 663* Bug 10820: Style problems with long plugin output lines 664* Bug 11078: Can't remove default dashboards 665* Bug 11099: Mobile menu icon is mispositioned 666* Bug 11128: Menu stops refreshing when there is text in the search field 667* Bug 11145: Pagination compontents should not float around 668* Bug 11171: Icinga Web 2 tries to load an ifont which results in 404 669* Bug 11245: icingacli monitoring list --problems throws an exception 670* Bug 11264: Cannot execute queries while other unbuffered queries are active 671* Bug 11277: external auth with PHP internal webserver still buggy 672* Bug 11279: Restrict access to Applicationlog 673* Bug 11299: Icon images no longer prepend img/icons 674* Bug 11391: External auth reads REMOTE_USER from process environment instead of request 675* Bug 11414: Doc module does not render images with relative path 676* Bug 11465: Stylesheet remains unchanged when module CSS/LESS files have been changed 677* Bug 11489: lib/LDAP: ordering does explicitly set fields 678* Bug 11490: lib/LDAP: LdapUtils::explodeDN replace deprecated use of eval in preg_replace 679* Bug 11516: Accessibility: Focus in Tactical Overview barely visible 680* Bug 11558: Missing ) in the documentation 681* Bug 11568: Docs: Global permissions table is broken 682 683### What's New in Version 2.2.0 684 685#### Features 686 687* Feature 8487: Number headings in the documentation module 688* Feature 8963: Feature commands in the multi select views 689* Feature 10654: Render links in acknowledgements, comments and downtimes 690* Feature 11062: Allow style classes in plugin output 691* Feature 11238: Puppet/Vagrant: Install mod_ssl and forward port 443 692 693#### Bugfixes 694 695* Bug 7350: Tabs are missing if JS is disabled 696* Bug 9800: Debian packaging: Ship translation module w/ the icingaweb2 package and install its config.ini 697* Bug 10173: Failed commands give no useful error any more 698* Bug 10251: Icinga Web 2 fails to run with PHP7 699* Bug 10277: Special characters are incorrectly escaped for tooltips in the service grid 700* Bug 10289: Doc module: Headers are cut off when clicking on TOC links 701* Bug 10309: Move auth backend configuration to app config 702* Bug 10310: Monitoring details: information/action ordering 703* Bug 10362: Debian packaging: Separate package for CLI missing 704* Bug 10366: Text plugin output treated as HTML in too many occasions 705* Bug 10369: Accessibility: Focus not visible and lost after refresh 706* Bug 10397: Users with no permissions can check multiple services 707* Bug 10442: Edit user control should be more prominent 708* Bug 10469: "Remove Acknowledgement" text missing in multi-select views 709* Bug 10506: HTTP basic auth request is sent when using Kerberos authentication with Apache2 and mod_php 710* Bug 10625: Return local date and time when lost connection to the web server 711* Bug 10640: Respect protected_variables in nested custom variables too 712* Bug 10778: Filters in the host group and service group overview not applied to state links 713* Bug 10786: Whitespace characters are ignored in the plugin output in list views 714* Bug 10805: Setup Wizard: Obsolete PHP sockets requirement 715* Bug 10856: Benchmark is not rendered on many pages 716* Bug 10871: Get rid of padding in controls 717* Bug 10878: Dashboards different depending on username casing 718* Bug 10881: Move iframe from modules to framework 719* Bug 10917: Event grid tiles: The filter column "from" is not allowed here 720* Bug 10918: Error on logout when using external authentication 721* Bug 10921: icingacli monitoring list --format=csv throws error 722* Bug 11000: Change license header to only reflect a file's year of creation/initial commit 723* Bug 11008: Wobbling spinners 724* Bug 11021: Global default theme is not applied while not authenticated 725* Bug 11032: Fix icon_image size and provide a CSS class for theming 726* Bug 11039: Misleading tooltip in Tactical Overview 727* Bug 11051: Preferences and navigation items stored in INI files rely on case sensitive usernames 728* Bug 11073: Active row is flickering on refresh 729* Bug 11091: Custom navigation items: URL is not escaped/encoded 730* Bug 11100: Comments are always persistent 731* Bug 11114: Validate that a proper root DN is set for LDAP resources 732* Bug 11117: Vendor: Update dompdf to version 0.6.2 733* Bug 11119: icingacli shows ugly exception when unable to access the config directory 734* Bug 11120: icingacli: command and action shortcuts have been broken 735* Bug 11126: Invalid cookie value in cookie icingaweb2-tzo 736* Bug 11142: LDAP User Groups backend group_filter 737* Bug 11143: Layout: Tabs should be left-aligned 738* Bug 11151: Having basic authentication on the webserver but not in Icinga Web 2 causes Web 2 to require basic auth 739* Bug 11168: Debian packaging: Don't patch HTMLPurifier loading and install HTMLPurifier*.php files from the library/vendor root 740* Bug 11187: Session cookie: Path too broad and unset secure flag on HTTPS 741* Bug 11197: Menu items without url should ignore the target configuration 742* Bug 11260: Scheduling downtimes through the API not working 743 744### What's New in Version 2.1.1 745 746#### Features 747 748* Feature 10488: Use _ENV variables with built-in PHP webserver 749* Feature 10705: Theming 750* Feature 10898: Winter theme 751 752#### Bugfixes 753 754* Bug 9685: Deprecate Module::registerHook() in favor of Hook::provideHook() 755* Bug 9957: Sort hosts and services by last state change 756* Bug 10123: CSS loading may fail w/ mkdir(): File exists in FileCache.php 757* Bug 10126: setup config directory --config should use mkdir -p instead of mkdir() 758* Bug 10166: library/vendor/HTMLPurifier tree is incorrectly unpacked 759* Bug 10170: Link to service downtimes from multiple selected services includes host downtimes aswell 760* Bug 10338: Debian: Failed to open stream HTMLPurifier/HTMLPurifier.php 761* Bug 10603: Line breaks are not respected in acknowledgements, comments and downtimes 762* Bug 10658: SUSE packages have the wrong dependencies 763* Bug 10659: LDAP group members are shown with their DN and membership registration does not work 764* Bug 10670: State not highlighted in plugin output 765* Bug 10671: Auto-focus the username field on the login page 766* Bug 10683: lib/CLI command web serve: rename variable basedir to something meaningful 767* Bug 10702: Host- and Service-Actions configured in Web 2 do not resolve any macros 768* Bug 10749: XHR application-state requests pollute the URL if not authenticated 769* Bug 10771: Login shows "Anmelden........" upon login with the german locale 770* Bug 10781: LoggingConfigForm.php complains about whitespace but checks with /^[^\W]+$/ 771* Bug 10790: "Problems - Service Grid" does not work with host names that contain only digits 772* Bug 10884: Tabs MUST throw an exception when activating an inexistant tab 773* Bug 10886: "impacted" container is no longer fading out 774* Bug 10892: Wrong mask for FileCache's temp directory 775 776### What's New in Version 2.1.0 777 778#### Features 779 780* Feature 10613: Extend and simplify Hook api 781 782#### Bugfixes 783 784* Bug 8713: Invalid filter "host_name=*(test)*", unexpected ) at pos 17 785* Bug 8999: Navigation and search bar is not available using a small width 786* Bug 10229: Dashboard requests do not refresh the session 787* Bug 10268: Unhandled services in the hosts overview list don't stand out 788* Bug 10287: Redirect after login no longer working 789* Bug 10288: The order for the limit links is incorrect 790* Bug 10292: Hovered links in hover menu are unreadable 791* Bug 10293: Hover menu is missing it's arrow for menu entries providing badges 792* Bug 10295: Reset static line-height on body 793* Bug 10296: Scrolling to the bottom of the page does not load more events 794* Bug 10299: Badges are overridden by menu text 795* Bug 10301: Format helpers like timeSince are polluted with text-small 796* Bug 10303: Zooming in, or having another layout destroys the hover menu 797* Bug 10304: Cannot access a host's customvars for service actions 798* Bug 10305: Hover menu arrow color no longer fits background color 799* Bug 10316: Not all Servicegroups / Hostgroups are shown 800* Bug 10317: Event history style broken 801* Bug 10319: Recursive sharing navigation items doesn't work. 802* Bug 10321: Module iframe doesn't show website with parameters as a single column 803* Bug 10328: ZendFramework packages missing for SLES12 804* Bug 10359: Charset option not passed thru PDO adapter 805* Bug 10364: PostgreSQL queries apply LOWER() on selected columns 806* Bug 10367: Broken user- and group-management 807* Bug 10389: Host overview: vsprintf(): Too few arguments 808* Bug 10402: LdapUserGroupBackend: user_base_dn not used from UserBackend 809* Bug 10419: Swapped icon image order in service header 810* Bug 10490: Unhandled service counter in the hosts overview shows incorrect values 811* Bug 10533: Form notifications of type information are green 812* Bug 10567: Member user name used for basedn when querying usergroup members 813* Bug 10597: Empty PDO charset option is invalid 814* Bug 10614: Class loader: hardcode module and Zend prefixes 815* Bug 10623: Acknowledging multiple selected objects erroneous 816 817### What's New in Version 2.0.0 818 819#### Changes 820 821 822Upgrading to Icinga Web 2 2.0.0 823 824Icinga Web 2 installations from package on RHEL/CentOS 7 now depend on php-ZendFramework which is available through the EPEL repository. Before, Zend was installed as Icinga Web 2 vendor library through the package icingaweb2-vendor-zend. After upgrading, please make sure to remove the package icingaweb2-vendor-zend. 825 826Icinga Web 2 version 2.0.0 requires permissions for accessing modules. Those permissions are automatically generated for each installed module in the format module/<moduleName>. Administrators have to grant the module permissions to users and/or user groups in the roles configuration for permitting access to specific modules. In addition, restrictions provided by modules are now configurable for each installed module too. Before, a module had to be enabled before having the possibility to configure restrictions. 827 828The instances.ini configuration file provided by the monitoring module has been renamed to commandtransports.ini. The content and location of the file remains unchanged. 829 830The location of a user's preferences has been changed from config-dir/preferences/username.ini to config-dir/preferences/username/config.ini. The content of the file remains unchanged. 831 832#### Features 833 834* Feature 5600: User specific menu entries 835* Feature 5647: GUI for permission and restriction assignment 836* Feature 5786: Namespace all web controllers 837* Feature 6144: Provide additional dashboard panes per default 838* Feature 6677: Allow to extend the content of a dashlet on the right 839* Feature 7180: Show active cluster hostname in the monitoring health view 840* Feature 7367: GUI for adding action and notes URLs 841* Feature 7570: Document installation 842* Feature 7773: Interpret links in custom variables 843* Feature 8336: IDO: Double check that we always add the is_active = 1 condition in our queries 844* Feature 8369: Show an indicator when automatic form submission is ongoing 845* Feature 8378: Indicate when check results are being late 846* Feature 8407: Document example commands for installing from source 847* Feature 8642: Show acknowledgement expire time (if any) in the host and service detail view 848* Feature 8645: Generic iFrame module 849* Feature 8758: Add support for file uploads 850* Feature 8848: Show activity indicator for dashlets 851* Feature 8884: Move the menu entry for notifications beneath history 852* Feature 8981: Combo backend for command transports (fallback mechanism) 853* Feature 8985: Visually separate enabled and disabled modules in the modules view 854* Feature 9029: Provide a complete list of available filter columns plus custom variables (where appropriate) in the filter editor 855* Feature 9030: Service grid: Add limit control 856* Feature 9247: Show Icinga Web 2's version in the frontend 857* Feature 9364: Apply sort rules for ldap queries on the server's side 858* Feature 9381: List installed modules, versions and state in the about page 859* Feature 9453: Vagrant: Upgrade to CentOS 7 860* Feature 9460: IDO resource configuration: Ensure that the user is running PostgreSQL 9.1+ 861* Feature 9524: Improve setup wizard 862* Feature 9525: Configuration enhancements 863* Feature 9591: IP Address Search 864* Feature 9604: Add Inspection API for Connections 865* Feature 9605: LDAP Connection add Test Function 866* Feature 9630: Inspectable: Add inspectable API to LDAP connections 867* Feature 9641: Add Inspection API for DB Connections 868* Feature 9644: Permit access to modules 869* Feature 9645: Support for address6 870* Feature 9651: Automatically use the correct instance configuration based on a host's or service's instance 871* Feature 9660: Basic access authentication 872* Feature 9661: Query for limit+1 for "Show more results" candidates 873* Feature 9683: Allow to create MSSQL and Oracle DB resources 874* Feature 9702: Allow module developers to define additional static files 875* Feature 9761: Store active menu item as HTML5 history state information 876* Feature 9772: Allow to list groups from a LDAP backend 877* Feature 9826: Allow to select text in the host and service detail area header via double click 878* Feature 9830: Monitoring: Support the wildcard restriction for "administrative" roles 879* Feature 9888: Display a host's and service's check timeperiod as well as notification timeperiod in the detail view 880* Feature 9908: Use better icons for resources, backends and module state 881* Feature 9942: Add a warning to the navigition if the last IDO update is older than 5 minutes 882* Feature 9943: Offer instance_name as query column 883* Feature 9945: Show instance_name in a host's and service's detail view 884* Feature 10033: Provide "Counter"-View 885 886#### Bugfixes 887 888* Bug 6644: Default sort order is not applied 889* Bug 7383: This webpage has a redirect loop without cookies 890* Bug 7486: Instance Configuration: Instance must NOT be a GET parameter when creating an instance 891* Bug 7488: Instance Configuration: Instance parameter must be mandatory for updating and removing instances 892* Bug 7489: Instance Configuration: Custom validation errors must be shown in the form not as notification 893* Bug 7490: Instance Configuration: HTTP response code flaws 894* Bug 7818: Incorrect language & timezone detection w/ Safari 895* Bug 7930: Hide external commands which are not supported by Icinga 2 896* Bug 8312: Don't show last and next check information and schedule check controls for passive only checks 897* Bug 8620: Searching in the downtimes list view throws an exception 898* Bug 8623: Selected row lost after auto-refresh in every overview except for hosts and services 899* Bug 8703: Do not show computer accounts for Active Directory 900* Bug 8768: Range multiselection not working in IE11 901* Bug 8845: Missing downtime end information in host and service detail views 902* Bug 8954: Document and rename Ldap\Connection to Ldap\LdapConnection 903* Bug 8955: Document and rename Ldap\Query to Ldap\LdapQuery 904* Bug 8969: Tooltips hidden after auto refresh 905* Bug 8975: Error messages disappear after auto refresh #2 906* Bug 8983: Remove yellow boxes from forms and wherever else used 907* Bug 9024: Form autosubmits cause autorefreshs to not run anymore 908* Bug 9036: Plugin output HTML tags are always escaped 909* Bug 9042: Browser address bar gets not updated when closing the detail area while a request for the url that has just been closed is pending 910* Bug 9054: Multiselection not visible until a subsequent auto-refresh has been completed 911* Bug 9168: Can't use Icinga Web 2 w/ IDO version 1.7 912* Bug 9179: LDAP discovery relies on anonymous access and does not respect encryption 913* Bug 9266: Downtimes show "Starts in" for objects with non-problem state 914* Bug 9306: Installation Wizard complains about "required and must not be empty"-fields when the user changes the database type first 915* Bug 9314: RPM packages do not require Zend PDO packages which results in missing 'php-pdo' exception 916* Bug 9330: Uncaught TypeError: Cannot read property 'id' of undefined when deleting comments or downtimes via their respective overview 917* Bug 9333: Sorting the service grid by service description fails w/ PostgreSQL 918* Bug 9346: Potential active rows not deselected when navigating by browser history 919* Bug 9347: Service names with round bracket fail w/ innvalid filter exception when selecting multiple services 920* Bug 9348: LDAP filter input errors w/ "The filter must not be wrapped in parantheses" 921* Bug 9349: Duplicate headers from Controller::postDispatch() 922* Bug 9360: service matrix does not show all intersections 923* Bug 9374: Non-existent modules can be disabled 924* Bug 9375: Fatal error in icingacli (icingacli-2.0.0-3.beta3.el7.centos.noarch) 925* Bug 9376: INI writer must not persist section keys with a null value 926* Bug 9398: Rename menu "authentication" to "security" 927* Bug 9402: A command form's view script cannot be found if benchmark is enabled 928* Bug 9418: DB resources: Do not allow to configure table prefixes 929* Bug 9421: Sort controls misbehavior 930* Bug 9449: The use statement with non-compound name ... has no effect w/ PHP 5.6.9+ 931* Bug 9454: Ghost host- and servicegroups 932* Bug 9472: Fetch object statistics only if they're actually displayed 933* Bug 9473: Inconsistent counters for service problems 934* Bug 9477: Command forms have no tabs 935* Bug 9483: Icinga\Web\Widget\Paginator should not require a full query interface 936* Bug 9484: Document that the web server has to be restarted after adding the web server user to the icingaweb2 system group 937* Bug 9494: Refresh button loads invalid links for views with complex filters 938* Bug 9497: Eventhistory: Quick search not working 939* Bug 9498: Service overview: Cannot quick search for hosts 940* Bug 9499: Hostgroup overview: Cannot quick search for hosts 941* Bug 9500: Servicegroup overview: Cannot quick search for services 942* Bug 9502: Comment overview: Cannot quick search 943* Bug 9503: Comment overview shows duplicate entries when filtering for services 944* Bug 9504: Contactgroup overview: Cannot quick search 945* Bug 9505: Contact overview: Cannot quick search 946* Bug 9506: Notification overview: Cannot quick search 947* Bug 9509: Setup: Authentication backend validation broken 948* Bug 9511: Setup: Cannot select an existing user as admin account when I've configured an authentication backend of type msldap 949* Bug 9516: Improve request processing for all monitoring config forms 950* Bug 9517: Behave nicely in case no monitoring instance resources are configured 951* Bug 9519: Monitoring backend configuration does not validate IDO resources 952* Bug 9529: RPM: Apache config ist not defined as configuration file 953* Bug 9530: Creating a dashlet with "()" in dashboard title affects all dashboards 954* Bug 9538: Use display_name for host and service names in the service grid 955* Bug 9553: User- and Group-Management broken on PHP > 5.3 956* Bug 9572: Cannot remove a user group from a MariaDB backend 957* Bug 9573: Selecting multiple services not working while being restricted 958* Bug 9574: Multiviews do not only display the chosen objects but everything, if a restriction is active 959* Bug 9582: icon_image does not allow to use an icon from our ifont 960* Bug 9597: Clicking on the row of a service notification will show the host 961* Bug 9607: Ignoring LDAP connection certificate errors does not have any effect 962* Bug 9608: LDAP connection must fail when the configured encryption is not possible 963* Bug 9611: generictts integration fails if regular expression is empty 964* Bug 9615: Hardcoded PHP and gettext tools path 965* Bug 9616: Security config form shows no tabs 966* Bug 9626: Tactical overview does not auto-refresh 967* Bug 9633: Icinga\Cli\Command is unable to detect exact action names 968* Bug 9646: If a CLI command fails, crucial exception information missing w/o --trace 969* Bug 9668: Browser history issues 970* Bug 9672: Invalid host passive check result state: unreachable 971* Bug 9674: Don't show comment(s) of acknowledgement(s) in the comment list of a host or service but next to whether the host or service problem is acknowledged 972* Bug 9687: @import rules not working in a module's module.less 973* Bug 9688: Icinga Web 2 ignores Cache-Control:no-cache 974* Bug 9692: Can't filter for custom variables 975* Bug 9694: Lib: Weird interface for creating problem menu entries 976* Bug 9695: IDO: Empty programstatus table not indicated as problem in the menu 977* Bug 9696: Logged exceptions for custom menu item renderers are missing crucial exception information 978* Bug 9719: Monitoring backend validation cannot be skipped 979* Bug 9739: DbUserBackend inspection unsuccessful for backends with just a single user 980* Bug 9751: Bad performance for quick searches 981* Bug 9765: instances.ini: transport is undocumented 982* Bug 9787: It's not possible to use Unix socket to connect to PostgreSQL 983* Bug 9790: Do not suggest to enable modules if it's not possible 984* Bug 9815: Multiview detail: controls have wrong link target 985* Bug 9817: Documentation: Required parameter 'chapter' missing 986* Bug 9819: JS Behaviors: Selection not updated when using multi detail controls 987* Bug 9828: Wrong count for queries having a group by clause 988* Bug 9837: Documentation: Don't suggest to install icingacli on Debian 989* Bug 9844: url anchors not working if a column hash (#!) is also part of the url 990* Bug 9869: A module's rendered event is not called upon initialization 991* Bug 9892: Module styles not visible for anonymous users 992* Bug 9901: Use the DN to fetch group memberships from LDAP 993* Bug 9932: Url to extend the timeline is pushed to history 994* Bug 9954: PostgreSQL queries use LOWER(...) for non-collated columns which have a collated counterpart 995* Bug 9955: PostgreSQL queries ordered by collated columns don't use LOWER 996* Bug 9956: Unnecessary GROUP BY clauses 997* Bug 9959: Authentication documentation suggests outdated backend identifier "ad" 998* Bug 9963: Service history is disordered and shows service and host history 999* Bug 9965: format=json does not respect the filter objects 1000* Bug 9971: Seleting multiple objects at once doesn't work anymore 1001* Bug 9995: "Show More" links broken in the Alert Summary 1002* Bug 9998: Can't use custom variables as restriction filter 1003* Bug 10009: Prettify page layout when accessing a non-existent route while not being authenticated 1004* Bug 10016: config/* does not permit access to the application and authentication configuration 1005* Bug 10025: Filter, submitting form via keyboard doesn't work on chrome 1006* Bug 10031: Navigation by history is broken 1007* Bug 10046: Menu is somehow confusing top/sub-level entries 1008* Bug 10082: Adding an entry to a menu section influences it's position 1009* Bug 10150: IniParser should unescape escaped sections automatically 1010* Bug 10151: Do not validate section names in forms 1011* Bug 10155: Multiselection disapperears when issuing commands 1012* Bug 10160: Notifications/Alert Summary: Grouping errors w/ PostgreSQL 1013* Bug 10163: Search for hostname does not work in snapshot release 1014* Bug 10169: Multiselect URLs broken where base url != /icingaweb2 1015* Bug 10172: Customvar filters are mostly broken, completely for Icinga 1.x 1016* Bug 10218: Notes URL isn't showing properly 1017* Bug 10236: notes_url and action_url target is always icinga.domain.de 1018* Bug 10246: Use a separate configuration file for each type of navigation item 1019* Bug 10263: Forms with target=_next remain unusable after first submission 1020 1021### What's New in Version 2.0.0-rc1 1022 1023#### Changes 1024 1025* Improve layout and look and feel in many ways 1026* Apply host, service and custom variable restrictions to all monitoring objects 1027* Add fullscreen mode (?showFullscreen) 1028* User and group management 1029* Comment and Downtime Detail View 1030* Show icon_image in host/service views 1031* Show Icinga program version in monitoring health 1032 1033#### Features 1034 1035* Feature 4139: Notify monitoring backend availability problems 1036* Feature 4498: Allow to add columns to monitoring views via URL 1037* Feature 6392: Resolve Icinga 2 runtime macros in action and notes URLs 1038* Feature 6729: Fullscreen mode 1039* Feature 7343: Fetch user groups from LDAP 1040* Feature 7595: Remote connection resource configuration 1041* Feature 7614: Right-align icons 1042* Feature 7651: Add module information (module.info) to all core modules 1043* Feature 8054: Host Groups should list number of hosts (as well as services) 1044* Feature 8235: Show host and service notes in the host and service detail view 1045* Feature 8247: Move notifications to the bottom of the page 1046* Feature 8281: Improve layout of comments and downtimes in the host and service detail views 1047* Feature 8310: Improve layout of performance data and check statistics in the host and service detail views 1048* Feature 8565: Improve look and feel of the monitoring multi-select views 1049* Feature 8613: IDO queries related to concrete objects should not depend on collations 1050* Feature 8665: Show icon_image in the host and service detail views 1051* Feature 8781: Automatically deselect rows when closing the detail area 1052* Feature 8826: User and group management 1053* Feature 8849: Show only three (or four) significant digits (e.g. in check execution time) 1054* Feature 8877: Allow module developers to implement new/custom authentication methods 1055* Feature 8886: Require mandatory parameters in controller actions and CLI commands 1056* Feature 8902: Downtime detail view 1057* Feature 8903: Comment detail view 1058* Feature 9009: Apply host and service restrictions to related views as well 1059* Feature 9203: Wizard: Validate that a resource is actually an IDO instance 1060* Feature 9207: Show icinga program version in Monitoring Health 1061* Feature 9223: Show the active ido endpoint in the monitoring health view 1062* Feature 9284: Create a ServiceActionsHook 1063* Feature 9300: Support icon_image_alt 1064* Feature 9361: Refine UI for RC1 1065* Feature 9377: Permission and restriction documentation 1066* Feature 9379: Provide an about.md 1067 1068#### Bugfixes 1069 1070* Bug 6281: ShowController's hostAction() and serviceAction() do not respond with 400 for invalid/missing parameters and with 404 if the host or service wasn't found 1071* Bug 6778: Duration and history time formatting isn't correct 1072* Bug 6952: Unauthenticated users are provided helpful error messages 1073* Bug 7151: Play nice with form-button-double-clickers 1074* Bug 7165: Invalid host address leads to exception w/ PostgreSQL 1075* Bug 7447: Commands sent over SSH are missing the -i option when using a ssh user aside from the webserver's user 1076* Bug 7491: Switching from MySQL to PostgreSQL and vice versa doesn't change the port in the resource configuration 1077* Bug 7642: Monitoring menu renderers should be moved to the monitoring module 1078* Bug 7658: MenuItemRenderer is not so easy to extend 1079* Bug 7876: Not all views can be added to the dashboard w/o breaking the layout 1080* Bug 7931: Can't acknowledge multiple selected services which are in downtime 1081* Bug 7997: Service-Detail-View tabs are changing their context when clicking the Host-Tab 1082* Bug 7998: Navigating to the Services-Tab in the Service-Detail-View displays only the selected service 1083* Bug 8006: Beautify command transport error exceptions 1084* Bug 8205: List views should not show more than the five worst pies 1085* Bug 8241: Take display_name into account when searching for host and service names 1086* Bug 8334: Perfdata details partially hidden depending on the resolution 1087* Bug 8339: Lib: SimpleQuery::paginate() must not fetch page and limit from request but use them from parameters 1088* Bug 8343: Status summary does not respect restrictions 1089* Bug 8363: Updating dashlets corrupts their URLs 1090* Bug 8453: The filter column "_dev" is not allowed here 1091* Bug 8472: Missing support for command line arguments in the format --arg=<value> 1092* Bug 8474: Improve layout of dictionaries in the host and service detail views 1093* Bug 8624: Delete multiple downtimes and comments at once 1094* Bug 8696: Can't search for Icinga 2 custom variables 1095* Bug 8705: Show all shell commands required to get ready in the setup wizard 1096* Bug 8706: INI files should end with a newline character and should not contain superfluous newlines 1097* Bug 8707: Wizard: setup seems to fail with just one DB user 1098* Bug 8711: JS is logging "ugly" side exceptions 1099* Bug 8731: Apply host restrictions to service views 1100* Bug 8744: Performance data metrics with value 0 are not displayed 1101* Bug 8747: Icinga 2 boolean variables not shown in the host and service detail views 1102* Bug 8777: Server error: Service not found exception when service name begins or ends with whitespaces 1103* Bug 8815: Only the first external command is sent over SSH when submitting commands for multiple selected hosts or services 1104* Bug 8847: Missing indication that nothing was found in the docs when searching 1105* Bug 8860: Host group view calculates states from service states; but states should be calculated from host states instead 1106* Bug 8927: Tactical overview does not respect restrictions 1107* Bug 8928: Host and service groups views do not respect restrictions 1108* Bug 8929: Setup wizard does not validate whether the PostgreSQL user for creating the database owns the CREATE ROLE system privilege 1109* Bug 8930: Error message about refused connection to the PostgreSQL database server displayed twice in the setup wizard 1110* Bug 8934: Status text for ok/up becomes white when hovered 1111* Bug 8941: Long plugin output makes the whole container horizontally scrollable instead of just the row containing the long plugin output 1112* Bug 8950: Improve English for "The last one occured %s ago" 1113* Bug 8953: LDAP encryption settings have no effect 1114* Bug 8956: Can't login when creating the database connection for the preferences store fails 1115* Bug 8957: Fall back on syslog if the logger's type directive is misconfigured 1116* Bug 8958: Switching LDAP encryption to LDAPS doesn't change the port in the resource configuration 1117* Bug 8960: Remove exclamation mark from the notification "Authentication order updated!" 1118* Bug 8966: Show custom variables visually separated in the host and service detail views 1119* Bug 8967: Remove right petrol border from plugin output in the host and service detail views 1120* Bug 8972: Can't view Icinga Web 2's log file 1121* Bug 8994: Uncaught exception on empty session.save_path() 1122* Bug 9000: Only the first line of a stack trace is shown in the applications log view 1123* Bug 9007: Misspelled host and service names in commands are not accepted by icinga 1124* Bug 9008: Notification overview does not respect restrictions 1125* Bug 9022: Browser title does not change in case of an error 1126* Bug 9023: Toggling feature... 1127* Bug 9025: A tooltip of the service grid's x-axe makes it difficult to click the title of the currently hovered column 1128* Bug 9026: Add To Dashboard ... on the dashboard 1129* Bug 9046: Detail View: Downtimes description misses space between duration and comment text 1130* Bug 9056: Filter for host/servicegroup search doesn't work anymore 1131* Bug 9057: contact_notify_host_timeperiod 1132* Bug 9059: Can't initiate an ascending sort by host or service severity 1133* Bug 9198: monitoring/command/feature/object does not grant the correct permissions 1134* Bug 9202: The config\* permission does not permit to navigate to the configuration 1135* Bug 9211: Empty filters are being rendered to SQL which leads to syntax errors 1136* Bug 9214: Detect multitple icinga_instances entries and warn the user 1137* Bug 9220: Centralize submission and apply handling of sort rules 1138* Bug 9224: Allow anonymous LDAP binding 1139* Bug 9281: Problem with Icingaweb 2 after PHP Upgrade 5.6.8 -> 5.6.9 1140* Bug 9317: Web 2's ListController inherits from the monitoring module's base controller 1141* Bug 9319: Downtimes overview does not respect restrictions 1142* Bug 9350: Menu disappears in user group management view 1143* Bug 9351: Timeline links are broken 1144* Bug 9352: User list should be sorted 1145* Bug 9353: Searching for users fails, at least with LDAP backend 1146* Bug 9355: msldap seems not to be a first-class citizen 1147* Bug 9378: Rpm calls usermod w/ invalid option on openSUSE 1148* Bug 9384: Timeline+Role problem 1149* Bug 9392: Command links seem to be broken 1150