Kibana 6.0.0edit

Breaking Changesedit

  • When X-Pack security is enabled, reports will only be accessible to the user that created them.
  • When X-Pack security is enabled, user authorization is controlled by the xpack.reporting.roles.allow setting in the kibana.yml which defaults to ['reporting_user']. Users will no longer have access to the underlying X-Pack reporting indices in Elasticsearch when assigned to the built-in reporting_user role. If using custom reporting roles, the privileges to the indices will need to be removed, and the role will need to be added to the xpack-reporting.roles.allow setting.
  • The built-in users (elastic, kibana, and logstash_system) no longer have default passwords. You must create passwords for these users and configure Kibana to use this information. For more information, see Setting Up User Authentication.
  • The built-in HTTP client used in webhooks, the http input and the http email attachment has been replaced. This results in the need to always escape all parts of an URL.
  • The new built-in HTTP client also enforces a maximum request size, which defaults to 10mb.
  • The watch _status field has been renamed to status, as underscores in field names will not be allowed.


  • Remove legacy pre-4.2 configurations #12013
  • NODE_ENV no longer has an impact on Kibana #12010
  • Only support 64 bit operating systems #11941
  • Remove field_stats pre-flight option for index patterns #12814
  • [Fixes #13439] Upgrade Angular to 1.6.5 #13543
  • If you had a chance to check out the new Dashboard Only Mode in 6.0.0-beta1, we’ve changed things up a bit for 6.0.0-beta2. Previously we required you to flag every role a user belonged to as being in the View dashboards only mode in order for that user to be flagged as a Dashboard only mode user. In this new set up, we created a reserved role, kibana_dashboard_only_user, that is already pre-configured with read only access to the .kibana index, and set up to be in Dashboard Only Mode. All you have to add is this one role to any user and they will now be a Dashboard Only Mode user. We also got rid of this new setting in the Roles UI, as this one role should suffice for most user’s setups. If you have a more complicated setup, such as multi-tenancy with multiple .kibana indexes, you can create more dashboard only mode roles by adding role names to the xpackDashboardMode:roles advanced setting. For more information, see Kibana Dashboard Only Mode.
  • Palette swap for accessibility / kibana 6 #12085

    • We re-skinned a decent portion of Kibana to be mostly AA accessibility compatible in regards to coloring of major navigation elements.
  • [UI Framework] Reactify menu #12135
  • Adding for and id attributes to labels and form elements #12215
  • [UI Framework] Reactify kuiEvent and related CSS components (#12226) #12228
  • [UI Framework] Reactify actionItem #12142
  • [UI Framework] Reactify kuiCollapseButton #12225
  • [UI Framework] Reactify kuiFieldGroup and related CSS components #12260
  • [UI Framework] Update LocalNav examples to use tabIndex instead of tabindex, to eliminate React console warnings. #12284
  • [UI Framework] Reactify kuiCard and related CSS components #12197
  • [UI Framework] Reactify kuiBar #12167
  • [UI Framework] Reactify kuiGallery and related CSS components #12277
  • [UI Framework] Fix examples of Table component with ToolBar. #12326
  • [UI Framework] Improve Warning Button contrast #12327
  • [UI Framework] Reactify kuiHeaderBar and related CSS components #12280
  • [UI Framework] Define consistent default, small, and wide sizing for form fields, and support them within ExpressionItems. #12190
  • [UI Framework] Order UI Framework React component exports to be alphabetical #12526
  • [UI Framework] Reactify kuiTabs and related CSS components #12302
  • Replace brand-danger color with new global red color. #12654
  • Make ui-select appearance match other inputs. #12652
  • [UI Framework] remove check for ng-untouched class from formControlInvalid mixin #12153
  • [UI Framework] reactify prompt for items #12151
  • [UI Framework] Allow custom placeholder for Tool Bar Search Box #12959
  • [UI Framework] Add new react color picker to ui framework with tests #12245
  • Implement new Kibana query language #12624

    • This PR adds a new experimental query language to Kibana. The new language is turned off by default but can be enabled in the Management > Advanced Settings via the search:queryLanguage:switcher:enable option. Changing this setting to true will add a language selector to the query bar that allows users to choose the new language for their query. Details of the new query language can be found in the issue description (#12282).
  • Remove highlight query #13231
  • [Fixes #12635] Improve the accessibility of the Discover screen #12681
  • [Fixes #12343] Remove custom keyboard navigation in datepicker #13644
  • Accessible sort buttons #12217
  • [Accessibility] Avoid empty th in doc-table header row #12364

    • The discover document table header cells provide appropriate hints to screen-readers.
  • [Accessibility] Add button to skip past the discover doc table #12539

    • The new "Skip to bottom"-button in Discover is invisible unless focused. When activated it displays all remaining rows that were already loaded and focuses an anchor located below the table.
  • Timepicker on the right #11980
Machine Learning
  • Added a Datafeed Preview tab to expanded rows in the jobs list under Job Management. This displays the JSON response from the preview endpoint.
  • Added an option to create a watch when you start a datafeed in Kibana. After the datafeed starts, you are prompted to specify details such as the interval and the anomaly severity threshold. If Watcher is disabled, this option does not appear.
  • Updated the bucket span estimator, which suggests bucket span values when you create jobs in Kibana. The estimator now suggests a minimum bucket span value of 15 minutes.
  • [indexPatterns] remove support for time patterns #12158

    • Removes ability to create index patterns based on time patterns/intervals - Adds a warning that informs users when they are using an index pattern that is now unsupported (disabled by default until #10442 is done, #12322) - Does not address editing/remapping index patterns, see last task in #12242
  • [Fix for #11526, #8225] Move build info from management section to status page #13341
  • [Management] Provide a way to fetch indices and template index patterns #12200
  • [Management] More universal solution for fetching indices and aliases #12405
  • Add breadcrumb-page-title to management-app #12765

    • The bread-crumbs component allows for the consumer to pass in a page-title value which is appended as the final breadcrumb in the chain. This PR adds a scope argument to the management-app to take advantage of it.
  • The Logstash Pipeline viewer in Kibana displays an information icon and a corresponding tip for every plugin that does not define an ID explicitly. Defining an ID for plugins enables you to track differences across pipeline changes. For more information, see Pipeline Viewer UI.
  • Added an alert in clusters that have trial licenses and have enabled X-Pack security but do not have TLS/SSL configured. The message provides information about the steps that are required to enable X-Pack security when they obtain a non-trial license.
  • Added support for cluster alerts, for example to provide information about license expiration.
  • Added an advanced setting for a default admin e-mail, which is the recipient of X-Pack admin operations such as cluster alert e-mail notifications.
  • Updates to status API, re-align status page #10180
  • [Fix for #10181] Revert same port http → https redirect #10930

    • Kibana 5.x redirected requests from http to https on the same port if TLS was configured. Starting in Kibana 6.0.0 Kibana no longer redirects basic http traffic to https.
  • Update mappings for kibana index #9280
  • Use single ES document type #12794

    • Starting in Elasticsearch 6.0, you are no longer able to create new indices with multiple index types. To accomplish the same effect as index types, a new type field was added to identify the document and the value mapped under the index to allow for strict mapping.
  • [logging] Downgrade hapi connection errors when connecting with the w… #11209
  • [status] 15m load average should use the 3rd index #11202
  • [Fixes #9436] [optimizer] remove support for .jsx extension #12712
  • Sets ES mapping to single_type=false #11451
  • [Fix for #12012] Fail to start if settings include unknown keys #12554

    • When a config file includes invalid keys or values, Kibana usually logs a message describing the issue and fails to start. There has been an exception to this rule since 4.2 that allowed top-level keys to be unknown/misspelled and only caused a warning to be logged. That exception has been removed and now any unknown or misspelled config key passed to Kibana (via the config file or command line flags) will prevent it from starting.
  • Remove the es_admin proxy #13000
  • Restrict ES data proxy to msearch and search #13020
  • [server/indexPatterns] expose indexPatternService getter/factory #13012
  • Remove client-side management of Kibana index mappings #12820
  • Uses uuid for auto-generated ids and prepends type (#12834) #12877
  • [uiSettings] support defining settings with uiExports #12250

    • define a uiExports.uiSettingDefaults key your plugin definition to add uiSettingDefaults - uiSettingDefaults must be unique. If a key is already defined elsewhere then the server will not start. - defined settings will display in the advanced settings editor, along with the intended default value and description - the REST API is identical to before - the browser API is identical to before - defaults for timelion have been extracted to the timelion plugin definition and the existing defaults are defined in the kibana plugin definition
  • Refactor commaList filter logic into common util #12553
  • [kbnServer/extensions] formalize request factories with helper #12697
  • Allow plugins to turn off the "link to last URL" navigation helper #13044
  • Enabled export as CSV.
  • Added a View Dashboards Only setting to the roles section under Security management. If a user is assigned a role that has this setting enabled, when they access Kibana it presents Dashboard Only mode.
  • Added reserved kibana_dashboard_only_user role. For more information, see Kibana Dashboard Only Mode.
  • Add label and clear link to color picker #12422
  • Expose the variables for dynamically building doc links #12513
  • Reactify stateless table components #12349
  • Full screen mode implementation for dashboard #12265

    • You can now enter full screen mode when viewing a dashboard. This hides the Chrome and the top nav bar. If you have any filters applied, you’ll see the filter bar, otherwise that will be hidden as well. To exit full screen mode, hover over and click the Kibana button on the lower left side of the page, or simple press the ESC key.
  • Visualize Refactor #11786

    • When creating new visualizations, developers are no longer restricted to using just Angular as a rendering technology. The changes now also enables developers to create custom editors that do not conform to the current sidebar-layout. Commonly used functionality - such as access to the query bar or timefilter - is now also exposed on the visualization object. This avoids the need to import individual modules from inside Kibana. These changes are a first step in a longer term effort to provide a robust long-lived programming interface for building visualizations in Kibana.
  • Replace "marked" with "markdown-it" #13623
  • Upgrade kibana to leaflet 1.x #12367
  • Duration Formatting for TSVB #13337
  • allows more flexible timelion queries #10961
  • Support multiline Timelion queries #11972
  • Fix ui-select error border color and placeholder font color. #12411
  • Fix appearance of error indicator in Visualize sidebar. #12410
  • [Fix for #11193] hide current time marker when the timespan doesn’t include the current time #12266

    • Only display current time marker on a visualization when the x-axis extent includes the current time.
  • [Fix for #7040] Add github-markdown.css to markdown visualization #12377
  • Filter geohash_grid aggregation to map view box with collar #12806
  • add font size control to markdown visualization #12860
  • [vis/resizeChecker] swap out implemenation with ResizeObserver polyfill #9439
  • Add imports for SavedObjectRegistryProvider.register, fixing Timelion #12844
  • [Fix for #7572] add polygon drawing tool #11578

    • On a coordinate map, users can now make a selection on the map by drawing a freehand polygon. Just like the earlier boundary selection, this adds a boundary filter to the filter bar.
  • [Fixes #12491, #12904, #12887] Improve accessibility of visualizations #13507
  • [Fixes #11856, #12888, #12900] Improve accessibility of visualization view #13726
  • Watcher indices no longer use multiple types.

Bug Fixesedit

  • update logstash data and mappings for single type #13001
  • #12656 Fixes Aria-Hidden without value #12658
  • [UI Framework] Fix disappearing borders for LocalNav search select. #12803
  • Make breadcrumb a heading for screen readers, fix #12885 #13734
  • [Fixes #12634] Improve date picker accessibility #12676
  • [UI Framework] Fix margin for KuiLocalTabs which are applied to typographic elements. #14451
  • Remove truncate from viz form text, remove additional wrapper #14311
Dev Tools
  • Clarified field labels in the Grok Debugger.
  • Added auto-sizing to the input, pattern, and output text areas in the Grok Debugger.
  • Added auto-sizing of the custom patterns text area in the Grok Debugger.
  • Enabled users to specify custom patterns in a well-known format in the Grok Debugger.
  • Fixed issue with input not being accepted in the Sample Data or Grok Pattern fields in the Grok Debugger.
  • [Fix for #10504] [console] Replace text/plain fallback with application/json #12294
  • [Fixes #13142] Allow console to send multiline strings with CRLF line endings #14094

    • Console will now allow sending multiline strings on Windows.
  • Remove simple_query_string hack now that multi_match supports * properly #13285
  • Add documentation link to query bar when Kuery is selected #13300
  • [Fixes #12970] Make time picker button in Discover no results prompt keyboard and screen-reader accessible. #13046
  • [Fixes #12692] Re-enable filter editor suggestions #13376
  • [Fixes #13738] Fix is one of filter editor #13771
  • [Fixes #12639] Make filter pills keyboard accessible #13331
  • [Fixes #12640] Make all filters actions keyboard accessible #13391
  • [Fixes #11830] Disable creation of exists filters for scripted fields #13538
  • Fix relative z-index of spy panel and filter editor #13717
  • [Fixes #5164] Check sort:options for Discover default sort order #13708
  • [Fixes #13075] Improve missing index pattern error message #13915
  • [Fixes #13743] Refetch even when the query has not changed #13759
  • [Fixes #14270] Handle strings in source mapped as numbers in filter editor #14318
  • [Fixes #7767] Fix invisible filters caused by missing index pattern #14131
  • [Fixes #14319] Loosen check for dashboard queries in filters array #14338
  • Reinstated _xpack/graph/_explore as the correct graph endpoint. _xpack/_graph/_explore is deprecated and will be removed in v7.0.
Machine Learning
  • Fixed the position of text that appears when you hover over anomalies in machine learning charts in a Safari web browser.
  • Fixed machine learning charts so that they plot nulls as gaps rather than zeroes. This change provides a more accurate visual indication of gaps in the data.
  • Added support for periods in field names when you create jobs or datafeeds in Kibana.
  • Fixed job creation failure that occurred when using saved searches with filters.
  • Limit scripted fields to painless and expression langs #9172
  • [Fix for #12249] Fixes issue #12249 #12254
  • Refine getIndices() to return an empty array if there are no matching indices. #12659
  • [Fix for #9352] Change mapping of index-pattern fields to text #9353
  • [Fix for #12861, #12862, #12863, #12865, #12868, #12870, #11526] [Management] Improve accessibility within management #13364
  • [Fix for #12864] [Management] Accessibility - continued #13576
  • [Fix for #13542] [Management] Fix breaking scope changes in the field format editor samples #13549
  • [Fix for #12872] Adds getAriaName function and applies it to advanced settings #13448
  • Remove premature abstraction #13042
  • fix create_index_pattern_method to handle no timefields #13852
  • Work around #11959 for now #12051
  • [Fixes #14350] [Management] Fix FF quirk with max width in the import saved object modal #14352
  • Use es6 exports, replace module.exports #12084
  • Removing mapper.dynamic setting from the esArchiver mappings #13970
  • Add linting rules for formatting JSX. #12810
  • Upgrade eslint config to 0.8.1. #13128
  • Move eslint-config-kibana into core #12725
  • [npm] Upgrade wreck #13849
  • Eslint/remove last amd modules #14282
  • Update HTML style guide with rule for camel casing attribute values. #11653
  • Add title and tooltip accessibility information to HTML style guide. #11655
  • [Fix for #12580] Update HTML style guide with rule about putting nested elements on multiple lines. #12812
  • [Fix for #12047] [uiSettings] make service request based #12243

    • removes server.uiSettings() (throws error with instructions) - Adds request.getUiSettingsService() which returns a unique instance of UiSettingsService per request - Methods on UiSettingsService no longer require a request object - Adds server.uiSettingsServiceFactory(options) which can be used to create an instance of UiSettingsService with a custom callCluster() function
  • [Fix for #12436] Fix stats permissions and use underscore instead of dash #12478
  • [ftr] remove timestamp prefix, jenkins has it built in now #13825
  • [ftr/config] prevent mochaOpts and timeouts conflict #14060
  • create babel-preset and babel-register modules #13973
  • [vis/requesting] only call when actually requesting #14017
  • [Fixes #14255] Use Boom.boomify instead of deprecated Boom.wrap #14325
  • [Fixes #14497] Import Babel polyfill when running Jest tests #14508
  • Fixed generated reports such that they show the time zone on the client, as specified in the dateFormat field in the Advanced Settings.
  • Resolved intermittent issue with Firefox logging users out of Kibana after they download a PDF report.
  • Ensured that privileged information does not appear in the error message when a Kibana login attempt fails.
  • Restoring the dashboard-grid padding to appease Gridster #12613
  • [Fix for #11857] Accessibility: Sharing UI - associate labels with controls #12143
  • [Fix for #11860] Make add edit buttons accessible #12320
  • Need to trigger renderComplete when there are no results #12380
  • remove inline awaits #13043
  • Stabilize and bring back flaky tests #13034
  • [Fix for #12484, #12485, #12483] Fix accessibility issues with saved object finder #13152
  • [Fix for #12987] Children of buttons won’t capture hover events in firefox #13015
  • [Fixes #13421] Dashboard dark-theme fixes #13690
  • [Fixes #12233] Be case insensitive when sorting on the visualize and dashboard landing pages #13397
  • Fix bug with Dashboard breadcrumb alignment. #13580
  • [Fixes #13040] Make sure no one can show the chrome if the default setting is hidden. #13250
  • [Fixes #13297] Fix full screen toggle button when panel is expanded #13320
  • Show full screen option even when write controls are hidden #13247
  • [Fixes #13289] Use find service instead of remote #13296
  • [Fixes #13754] Small clean up with visualize test + extra debug log #13755
  • [Fixes #13588] Fix map updates not propagating to the dashboard #13589
  • Set pie chart border to match background in dark mode #14375
  • [Fixes #14462] Prevent event handlers from being triggered after they are "off"ed #14463
  • update spy table headers when columns update #13225
  • Fixes #12757 - Fixing field fetching for index patterns for TSVB #12771
  • [Fix for #4599] Add "Sum of series in legend" option #7970
  • [Fix for #9053] [timelion/fit/carry] do nothing if there is not any data #9054
  • [Fix for #8763] [vislib/tilemap/heatmap] scale the heatmap maxZoom with map zoom #8765
  • [Fix for #9184] fixes error with custom interval in datetime aggregation #9427
  • Fix timelion’s flot when neither thor nor monitoring are installed #10412
  • Fixes #12763 - Add show_grid to the default vis structure for TSVB #12769
  • Fixes #12777 - Add onBrush to Visualization component for TSVB #12778
  • [Fix for #12802, #12762] Fix TSVB Visualizations to honor darkTheme #12804
  • [Fix for #8076] Scaled date format for date histogram aggregation #12384

    • Format date_histogram aggregation bucket labels with format specified in Advanced Setting’s "dateFormat:scaled"
  • [Fix for #3230] Make vertical bar chart gutter widths consistent #12264

    • Histogram intervals are not always equal widths (monthly time intervals). Keeping gutter widths consistent and reducing the bar width provides a more visually appealing bar chart.
  • [Fix for #3173] Date histogram brush - add range filter when field is not index pattern time field. #12286
  • Remove event listener for resizeChecker when directive is destroyed #12734
  • Date histogram axis label not getting updated when time interval changes #12815
  • [Fix for #12782] visualize should send ready:vis event when done #12796
  • [Fix for #12811] reload visualization on auto refresh trigger #12823
  • [Fix for #12882] changing query should update url state #12912
  • vis with saved search should not show query and filter panels #12911
  • [Fix for #12925] analyze wildcard should not be part of default query #12938
  • [Fix for #12940] query queue should be cleared on failure #12942
  • Handle date histogram scaling for table vis and avg_buckets metric #11929
  • [Fix for #11414] remove default WMS settings #11573
  • [Fix for #12497] allows to order percentiles freely #12498
  • [Fix for #12732] Should only run visualization on Discover page when the indexpattern is time based #12741
  • reload on global fetch event and emit vis:ready #12805
  • [Fix for #12919] Fix excessive redraw #12931
  • [Fix for #13181, elastic/beats#4777] Add Checks to Dashboard Context #13182
  • [Fix for #11586] Use ui-select for agg selector #13292
  • [Fix for #13227] Send map filters through $newFilters so they get picked up by both kuery and lucene #13251
  • [Fix for #12827] removes :filters from label #12962
  • [Fix for #12983] resize was not detected correctly #13239
  • [Fix for #13011] Should respect pinned filters #13019
  • Visualization accessibility issues #13226
  • Fixes #12685 - Improve error handling for TSVB #12688
  • [Fix for #13246] Fixes #13246 - Add checks for empty annotations #13422
  • [Fix for #13010] Fixes #13010 - Add dateFormat config to TSVB Visualizations #13626
  • [Fix for #13625] Map filter not set appropriately when spy panel is open #13678
  • [Fix for #13156] fixing disabling aggregations #13686

    • Disabled aggregations are no longer removed on applying visualization configuration.
  • [Fix for #12896, #12897, #12898, #12899] Visualize Accessibility Issues #13428
  • Fix a bug with the interval label for TSVB #13440
  • [Fix for #12113] Fixes #12113 - Add timezone to date histogram aggregations for TSVB #13378
  • [Fix for #13471] Closes #13471 - Change split behavior of gauges and metrics vis #13583
  • [Fix for #12227] Fix discover sidebar Visualize button for geo_point fields #13539
  • Clamp the centroid to stay within the box boundaries #13581
  • [Fix for #13551] fix heatmap sizing on dashboard #13636
  • ensure editor mode propagates correctly #13355
  • [Fix for #13517] remove geo_bounds agg from visualizations #13536
  • [Fix for #13424] Exclude filter agg from visualizations #13680
  • [Fix for #13572] Show a warning for non accessible charts for screen readers #13573
  • date_histogram: some bars are too big #13068
  • [Fixes #13713] [Accessibility] Use aria-label in TSVB React components, instead of ariaLabel. #13714
  • [TSVB] Adding check for model and visData #13854
  • Fixes a bug with PR #13854 #13873
  • [TSVB] Fix chart legend formatting in bottom position #14084
  • [Fixes #12733, #12781] fixing refresh and auto refresh #12752
  • [Fixes #12836] fix spy panel on discovery page #12853
  • visual builder should set vis.initialized when ready #13779
  • [Fixes #13770] updating time picker should not set vis to dirty #13793
  • editor render method should not be called if request is pending #13858
  • [Fixes #12759, #12761, #12763] Fix TSVB UX flow #12770
  • fixing region map click handler #12790
  • use parentNode iso parentElement #13842
  • wrap responsehandler in angular promise #14095
  • [TSVB] Greater Than or Equal to Interval Pattern #13872
  • [Fixes #14470] [TSVB] Fixes #14470 - Remove field restriction on cardinality agg #14483
  • [TSVB] Fix CSS Bug with Top N Values #14254
  • [Fixes #14357] Fixes #14357 - Add courier’s migrateFilters to dashboard context #14481
  • [Fixes #14040, #13997] Show query and filter bars even when there’s a linked search #14212
  • [Fixes #13287] adds stroke back to area charts #14149
  • [Fixes #13193] fixes legend refreshing #14150
  • [Fixes #13252] fixes error when expanding gauge to full screen #14114
  • pie chart design guidelines #13661
  • [Fixes #14028] removing check for vis type on saved visualizations #14093
  • [Fixes #10543] fixing ordering of series in legend #14113

    • order of legend for series should be same as provided in the configuration.
  • [Fixes #14078] fixes console error when selecting a pipeline aggregation #14148
  • allows visualize to load saved vis #14146
  • [Fixes #13570] don’t show spy panel with tsvb or timelion #14090
  • moving shouldShowSpyPanel to visualize #14269
  • refactor tagcloud to use tabify responseHandler #14266
  • some updates to visualize loader #14404
  • Visualize loader updates #14528
  • [Fixes #13705] use correct element for size #14105
  • [Fixes #12953] remove junk tests #14191
  • use tabify for regionmap #14364
  • [Fixes #13144] Fixes 13144 - Add ability to select percentiles in pipeline aggs #13453
  • [Fixes #12069] apply field formatter to tag cloud #14230
  • [Fixes #12134] add tickDecimals option to yaxis #14371
  • [Fixes #14457] Set configurable to true so AggConfig decorated properties can be deleted #14569
  • [Fixes #10236, #9053] Timelion .fit() - avoid removing values that are zero #14560
  • [Fixes #13874] Allow panning beyond dateline #13955

    • Users can now pan and zoom the map beyond the date line.
  • [TSVB] Allow negative time offsets #14494
  • [Fixes #14565] Fix tagcloud sync issues, fix #14565 #14566
  • Fixed problem related to creating a threshold-based alert in Kibana with a Safari web browser. For example, the dialogs related to choosing fields and aggregations were not shown in that browser.
  • Fixed incorrect watch states in Kibana. In particular, the UI now respects the actual state of the watch when exceptions occur in its input or condition.
  • The HTTP client respects timeouts now and does not get stuck leading to stuck watches.