Kibana 6.0.0-beta1edit

Breaking Changesedit

  • [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
  • 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.
  • [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
  • 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.
  • [Fix for #10907] allows more flexible timelion queries #10961

New Featuresedit

  • 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).
  • 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.


  • We’d like to extend a special thanks to Arpad Popradi for his contributions to the UI Framework.
  • [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
  • 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.
  • [Design] Use alpha logo, retain branding in fullscreen mode #12735
  • [Fix for #12622] [Design] Update favicons #12774
Dev Tools
  • Respects ES customHeaders config for Console #13033
  • 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
  • Uses SavedObjectsClient for UI Settings #12747
  • [Management] Provide a way to fetch indices and template index patterns #12200
  • [Management] More universal solution for fetching indices and aliases #12405
  • [Management] Provide a way to fetch index pattern titles #13030

    • This PR adds another method to the indexPatterns service to fetch index patterns titles. Since the code was nearly identical to how index pattern ids are fetched, I decided to slightly refactor the function to accept a parameter for which property to fetch from the index pattern. I’ve updated all usages to the new approach.
  • 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.
  • Update mappings for kibana index #9280
  • Saved objects compatibility layer #12648
  • Support v6 mappings for saved objects import/export #12792
  • 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.
  • Add eslint import resolution #12025
  • [eslint] Ignore ui_framework/doc_site/build #12400
  • [logging] Downgrade hapi connection errors when connecting with the w… #11209
  • [git] ignore extra files in the root config/ directory #9296
  • upgrade makelogs #9295
  • [Fix for #9436] [optimizer] remove support for .jsx extension #12712
  • [elasticsearch/migrateConfig] use server.savedObjectsClientFactory() #12767
  • [status] 15m load average should use the 3rd index #11202
  • Sets ES mapping to single_type=false #11451
  • Adds bulk_get to SavedObjects #12426
  • Uses SavedObjects API in Courier Saved Object #12407
  • Use SavedObjectsClient for Courier Index Pattern #12719
  • Document merge conflict resolution process in #12212
  • Update files_to_commit to find renamed files. #12423
  • Remove client-side management of Kibana index mappings #12820
  • Uses uuid for auto-generated ids and prepends type (#12834) #12877
  • Use node instead of webpack config for jest #12974
  • add api tag to api routes #12948
  • Move Jest config to json #12402
  • [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
  • Uses SavedObjectsClient for Short URL Lookup #12787
  • Stats API #11992

    • We introduced a new api endpoint at api/stats which displays counts of saved objects in your kibana index: {"dashboard":{"total":1},"visualization":{"total":3},"search":{"total":1},"index_pattern":{"total":1},"index":".kibana"}
  • Add new react color picker to ui framework with tests #12245
  • Add label and clear link to color picker #12422
  • Expose the variables for dynamically building doc links #12513
  • Reactify stateless table components #12349
  • ES Healthcheck v6 mapping compatibility #12714
  • Remove field_stats pre-flight option for index patterns #12814
  • Configurable custom response headers for server #13045
  • Fix ui-select error border color and placeholder font color. #12411
  • Fix appearance of error indicator in Visualize sidebar. #12410
  • Adding ability to configure grid for TSVB #12385
  • Adding option for controlling if last bucket is dropped for TSVB #12379

    • This PR creates an option in "Panel Options" and the metric index pattern override to allow the user to control if the last bucket should be dropped. By default TSVB will drop the last bucket since most of the time it’s incomplete. This also changes the method for dropping the last bucket to a more reliable method.
  • Fixes #12602 - Change TSVB Fields API to use fieldCaps API #12611
  • [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.
  • Visualize refactor (bis) #12715

Bug Fixesedit

  • [UI Framework] Fix disappearing borders for LocalNav search select. #12803
  • [Accessibility] Make kbn_accessible_click part of autoload/all #13299
  • Fix call to suggestions API to correctly use index pattern title #12917
  • Remove simple_query_string hack now that multi_match supports * properly #13285
  • Add documentation link to query bar when Kuery is selected #13300
  • [Fix for #12728] Ensure conflicted fields can be searchable and/or aggregatable #13070
  • [Fix for #13186] [Management] Update saved objects client usage to attributes instead of _source #13223
  • [Fix for #12249] Fixes issue #12249 #12254
  • Refine getIndices() to return an empty array if there are no matching indices. #12659
  • Remove translations from management section #13049
  • [Fix for #9352] Change mapping of index-pattern fields to text #9353
  • Remove @elastic folder from packages/ #13089
  • Fix jsonify license check (#12615) #12619
  • Use es6 exports, replace module.exports #12084
  • [es archiver] fix error causes when requesting multiple index feature… #12473
  • Bump makelogs to 4.0.2 #13007
  • 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
  • Remove Version Check for Dashboard Import API #12476
  • Toast Notification should handle connection failed #12609
  • [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
  • [server/indexPatterns] expose indexPatternService getter/factory #13012
  • Restoring the dashboard-grid padding to appease Gridster #12613
  • [Fix for #11857] Accessibility: Sharing UI - associate labels with controls #12143
  • [Fix for #12600] Fix search issue on listing page + tests #12618
  • [Fix for #11860] Make add edit buttons accessible #12320
  • Need to trigger renderComplete when there are no results #12380
  • [Fix for #12987] Children of buttons won’t capture hover events in firefox #13015
  • Fixes #12757 - Fixing field fetching for index patterns for TSVB #12771
  • Limit scripted fields to painless and expression langs #9172
  • update logstash data and mappings for single type #13001
  • [Fix for #13032] TEST - Fix flaky map functional test #13039
  • Fixes #11721 - Fix bug with axis updating when data format is changed in TSVB #12386

    • Axes in the Time Series Visual Builder now correctly update when changing a data formatter.
  • 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 #9530] Don’t declare empty properties in Timelion’s bool query #9573
  • [Fix for #12782] visualize should send ready:vis event when done #12796
  • [Fix for #11490] fix range agg label on heatmap y axis #12754
  • [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 #12838] fix gauge field formatters #12913

    • metric/goal/gauge now correctly respect the fieldFormatters when multiple metrics are defined.
  • [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 #12724] by default metric should not define color #12993
  • [Fix for #11414] remove default WMS settings #11573
  • ensure spy panel obscures underlying visualization #12502
  • [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
  • Use the customMetric’s formatter for pipeline aggregations #11933
  • [Fix for #12919] Fix excessive redraw #12931
  • [Fix for #12220] Should only fit on shapes that are part of the result #12881
  • [Fix for #12172] Save layer setting in the region map UI #12956
  • [Fix for #12189] Region map should respect saved center and zoom #12883
  • [Fix for #13181, elastic/beats#4777] Add Checks to Dashboard Context #13182
  • [Fix for #13244] [visualize spy] Pull index title instead of id #13254
  • [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
  • [Fix for #13255] Ensure we are working with data-series to avoid tooltip errors #13266
  • [Fix for #12724] by default metric should not define color #12993
  • [Fix for #12391] in percentage mode tooltip should also show percentages #13217

    • Tooltips now correctly display the percentage-value in area charts where the Y-Axis is formatted in percentage mode.
  • [Fix for #12963] Exclude stacktrace from error response of Timelion backend #12973

    • the Timelion backend no longer includes the stacktrace as part of the server response. This stacktrace is now logged to the server console.
  • Visualization accessibility issues #13226