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