diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9fcf2df852174..4fc868b627775 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -143,6 +143,7 @@ packages/core/http/core-http-router-server-mocks @elastic/kibana-core packages/core/http/core-http-server @elastic/kibana-core packages/core/http/core-http-server-internal @elastic/kibana-core packages/core/http/core-http-server-mocks @elastic/kibana-core +packages/core/http/core-http-server-utils @elastic/kibana-core packages/core/i18n/core-i18n-browser @elastic/kibana-core packages/core/i18n/core-i18n-browser-internal @elastic/kibana-core packages/core/i18n/core-i18n-browser-mocks @elastic/kibana-core diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index ea55777b595fc..848042e475fee 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -8,9028 +8,91 @@ :issue: https://github.com/elastic/kibana/issues/ :pull: https://github.com/elastic/kibana/pull/ -Review important information about the {kib} 8.x releases. +Review important information about the {kib} 9.x releases. -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> +* <> -- include::upgrade-notes.asciidoc[] +[[release-notes-9.0.0]] +== {kib} 9.0.0 -[[release-notes-8.16.1]] -== {kib} 8.16.1 +For information about the {kib} 9.0.0 release, review the following information. -The 8.16.1 release includes the following bug fixes. [float] -[[fixes-v8.16.1]] -=== Bug fixes -Dashboards & Visualizations:: -* Fixes an issue preventing a custom panel title from being saved correctly ({kibana-pull}200548[#200548]). -Elastic Observability solution:: -* Changes the order of the errors shown on Infrastructure applications to be more relevant ({kibana-pull}200531[#200531]). -* Fixes the summary calculation for a calendar-aligned and occurrences-based SLO ({kibana-pull}199873[#199873]). -* Fixes the `kustomize` command ({kibana-pull}199758[#199758]). -Elastic Security solution:: -For the Elastic Security 8.16.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Platform:: -* Fixes an issue with duplicate references to objects when copying saved objects to other spaces ({kibana-pull}200053[#200053]). -* Fixes button colors in the "Share data view to spaces" flyout ({kibana-pull}196004[#196004]). - - -[[release-notes-8.16.0]] -== {kib} 8.16.0 - -For information about the {kib} 8.16.0 release, review the following information. - -The 8.16.0 release includes the following known issues. - -[float] -[[known-issues-8.16.0]] -=== Known issues - -[discrete] -[[known-199902]] -.Stack Monitoring shows "Unable to load page" error -[%collapsible] -==== -*Details* + -The Overview, Nodes, and Logs pages in Stack Monitoring show an "Unable to load page" error. The Stack trace mentions `TypeError: Cannot read properties of undefined (reading 'logsLocator')`. - -*Workaround* + -Disabling the `Set feature visibility > Logs` feature at the Kibana Space settings level will prevent the error from occurring. Please note the `Logs` feature will not be available on those spaces. - -It's also possible to set the `Observability > Logs` feature privilege to `None` at the role level. This will hide the `Logs` feature from individual users and prevent the error for these users as well. - -For more information, refer to {kibana-issue}199902[#199902]. -==== - -[discrete] -[[known-199891-199892]] -.Onboarding, tutorial of APM and OpenTelemetry and some "Beats Only" integrations shows "Unable to load page" error -[%collapsible] -==== -*Details* + -Tutorials linked from the {kib} home page show an "Unable to load page" error. The Stack trace mentions `The above error occurred in tutorial_TutorialUi`. - -*Workaround* + -The APM / OpenTelemetry tutorials represented a shortcut to quickly add important parameters to the configuration files. -It is still possible to obtain the same parameters following the tutorials in the APM documentation. - -More information can be found in the {observability-guide}/apm-collect-application-data.html[APM documentation] and the {observability-guide}/get-started-with-fleet-apm-server.html[Fleet documentation]. - -For information about how to create APM API keys, please check the {observability-guide}/apm-api-key.html#apm-create-an-api-key[API key documentation]. - -For more information, refer to {kibana-issue}199891[#199891] and {kibana-issue}199892[#199892]. -==== - -[float] -[[deprecations-8.16.0]] -=== Deprecations - -The following functionality is deprecated in 8.16.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.16.0. - -[discrete] -.The Logs Stream is now hidden by default in favor of the Logs Explorer app. -[%collapsible] -==== -*Details* + -You can find the Logs Explorer app in the navigation menu under Logs > Explorer, or as a separate tab in Discover. For more information, refer to ({kibana-pull}194519[#194519]). - -*Impact* + -You can still show the Logs Stream app again by navigating to Stack Management > Advanced Settings and by enabling the `observability:enableLogsStream` setting. -==== - -[discrete] -.Deprecates the Observability AI Assistant specific advanced setting `observability:aiAssistantLogsIndexPattern`. -[%collapsible] -==== -*Details* + -The Observability AI Assistant specific advanced setting for Logs index patterns `observability:aiAssistantLogsIndexPattern` is deprecated and no longer used. The AI Assistant will now use the existing **Log sources** setting `observability:logSources` instead. For more information, refer to ({kibana-pull}192003[#192003]). - -//*Impact* + -//!!TODO!! -==== - -[float] -[[breaking-changes-8.16.0]] +[[breaking-changes-9.0.0]] === Breaking changes -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.16.0, review the breaking changes, then mitigate the impact to your application. - [discrete] -.Updated request processing during shutdown. +.Removed all security v1 endpoints (9.0.0) [%collapsible] ==== *Details* + -During shutdown, {kib} now waits for all the ongoing requests to complete according to the `server.shutdownTimeout` setting. During that period, the incoming socket is closed and any new incoming requests are rejected. Before this update, new incoming requests received a response with the status code 503 and body `{"message": "Kibana is shutting down and not accepting new incoming requests"}`. For more information, refer to {kibana-pull}180986[#180986]. -==== - -[float] -[[features-8.16.0]] -=== Features -{kib} 8.16.0 adds the following new and notable features. - -AGPL license:: -* Adds AGPL 3.0 license ({kibana-pull}192025[#192025]). -Alerting:: -* Adds TheHive connector ({kibana-pull}180138[#180138]). -* Adds flapping settings per rule ({kibana-pull}189341[#189341]). -* Efficiency improvements in the Kibana task manager and alerting frameworks ({kibana-issue}188194[#188194]) -Cases:: -* Support TheHive connector in cases ({kibana-pull}180931[#180931]). -Dashboards and visualizations:: -* Adds the ability to star your favorite dashboards and quickly find them ({kibana-pull}189285[#189285]). -* Adds a chart showing usage statistics to the dashboard details ({kibana-pull}187993[#187993]). -* Adds metric styling options in *Lens* ({kibana-pull}186929[#186929]). -* Adds support for coloring table cells by terms with color mappings assignments. This is supported for both Rows and Metric dimensions ({kibana-pull}189895[#189895]). -Data ingestion and Fleet:: -* Support content packages in UI ({kibana-pull}195831[#195831]). -* Advanced agent monitoring options UI for HTTP endpoint and diagnostics ({kibana-pull}193361[#193361]). -* Adds option to have Kafka dynamic topics in outputs ({kibana-pull}192720[#192720]). -* Adds support for GeoIP processor databases in Ingest Pipelines ({kibana-pull}190830[#190830]). -// !!TODO!! The above PR had a lengthy release note description: -// The Ingest Pipelines app now supports adding and managing databases for the GeoIP processor. Additionally, the pipeline creation flow now includes support for the IP Location processor. -* Adds agentless ux creation flow ({kibana-pull}189932[#189932]). -* Enable feature flag for reusable integration policies ({kibana-pull}187153[#187153]). -Discover:: -* When writing ES|QL queries, you now get recommendations to help you get started ({kibana-pull}194418[#194418]). -* Enhances the inline documentation experience in ES|QL mode ({kibana-pull}192156[#192156]). -* Adds the ability to break down the histogram by field for ES|QL queries in Discover ({kibana-pull}193820[#193820]). -* Adds a summary column to the Documents table when exploring log data in Discover ({kibana-pull}192567[#192567]). -* Adds row indicators to the Documents table when exploring log data in Discover ({kibana-pull}190676[#190676]). -* Moves the button to switch between ES|QL and classic modes to the toolbar ({kibana-pull}188898[#188898]). -* Adds density settings to allow further customization of the Documents table layout ({kibana-pull}188495[#188495]). -* Enables the time picker for indices without the @timestamp field when editing ES|QL queries ({kibana-pull}184361[#184361]). -Elastic Observability solution:: -* Adds experimental logs overview to the observability hosts and service overviews ({kibana-pull}195673[#195673]). -* Show alerts for entities ({kibana-pull}195250[#195250]). -* Create sub-feature role to manage APM settings write permissions ({kibana-pull}194419[#194419]). -* Adds related alerts tab to the alert details page ({kibana-pull}193263[#193263]). -* Adds labels field !! ({kibana-pull}193250[#193250]). -* Implement _ignored root cause identification flow ({kibana-pull}192370[#192370]). -* Enable page for synthetics ({kibana-pull}191846[#191846]). -* Settings add config to enable default rules ({kibana-pull}190800[#190800]). -* Added alerts page ({kibana-pull}190751[#190751]). -* Monitor list add bulk delete ({kibana-pull}190674[#190674]). -* Delete monitor API via id param !! ({kibana-pull}190210[#190210]). -* Enable metrics and traces in the Data Set Quality page ({kibana-pull}190043[#190043]). -* Adds alert grouping functionality to the observability alerts page ({kibana-pull}189958[#189958]). -* Adds a new SLO Burn Rate embeddable ({kibana-pull}189429[#189429]). -* The Slack Web API Alert Connector is now supported as a default connector for Synthetics and Uptime rules ({kibana-pull}188437[#188437]). -* Adds option to enable backfill transform ({kibana-pull}188379[#188379]). -* Save the ECS group by fields at the AAD root level ({kibana-pull}188241[#188241]). -* Adds last value aggregation ({kibana-pull}187082[#187082]). -* Improve synthetics alerting ({kibana-pull}186585[#186585]). -* Make overview grid embeddable ({kibana-pull}160597[#160597]). -Elastic Security solution:: -For the Elastic Security 8.16.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Kibana security:: -* Adds an API endpoint `POST security/roles` that can be used to bulk create or update roles ({kibana-pull}189173[#189173]). -* Automatic Import can now create integrations for logs in the CSV format ({kibana-pull}194386[#194386]). -* Adds an error handling framework to Automatic Import that provides error messages with more context to user ({kibana-pull}193577[#193577]). -* When running in FIPS mode, Kibana forbids usage of PKCS12 configuration options ({kibana-pull}192627[#192627]). -Machine Learning:: -* Adds new section for creating daylight saving time calendar events ({kibana-pull}193605[#193605]). -* Anomaly Detection: Adds a page to list supplied job configurations ({kibana-pull}191564[#191564]). -* Redesigns start/update model deployment dialog to support adaptive resources ({kibana-pull}190243[#190243]). -* File upload: Adds support for PDF files ({kibana-pull}186956[#186956]). -* Adds Pattern analysis embeddable for dashboards ({kibana-pull}186539[#186539]). -Management:: -* This release introduces a fresh, modern look for the console, now featuring the Monaco editor. We've added a file import and export functionality, and the console is fully responsive with stackable panels for a smoother experience. New buttons allow for quick clearing of editor values and output. Additionally, the history and config tabs were improved to enhance usability. ({kibana-pull}189748[#189748]). - -For more information about the features introduced in 8.16.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.16.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.16.0 release, review the enhancements and bug fixes. - - -[float] -[[enhancement-v8.16.0]] -=== Enhancements -Alerting:: -* Allow users to select template while adding a case action in the rule ({kibana-pull}190701[#190701]). -* New full-page rule form in the Stack Management app ({kibana-pull}194655[#194655]). -Dashboards and visualizations:: -* Adds compressed style for dashboard controls ({kibana-pull}190636[#190636]). -* Adds the ability to duplicate a managed dashboard from its `managed` badge ({kibana-pull}189404[#189404]). -* Adds the ability to expand the height of various sections in the Edit ES|QL visualization flyout ({kibana-pull}193453[#193453]). -* Improves the query authoring experience when editing an ES|QL visualization ({kibana-pull}186875[#186875]). -* Syncs the cursor for time series charts powered by ES|QL ({kibana-pull}192837[#192837]). -* Gauge and metric Lens visualizations are no longer experimental ({kibana-pull}192359[#192359]). -* Sets gauge default palette to "temperature" in *Lens* ({kibana-pull}191853[#191853]). -* Supports fuzzy search on field pickers and field lists in *Lens* ({kibana-pull}186894[#186894]). -Data ingestion and Fleet:: -* Update max supported package version ({kibana-pull}196551[#196551]). -* Adds additional columns to Agent Logs UI ({kibana-pull}192262[#192262]). -* Show `+build` versions for Elastic Agent upgrades ({kibana-pull}192171[#192171]). -* Added format parameter to `agent_policies` APIs ({kibana-pull}191811[#191811]). -* Adds toggles for `agent.monitoring.http.enabled` and `agent.monitoring.http.buffer.enabled` to agent policy advanced settings ({kibana-pull}190984[#190984]). -* Support integration policies without agent policy references (aka orphaned integration policies) ({kibana-pull}190649[#190649]). -* Changed the UX of the Edit Integration Policy page to update agent policies ({kibana-pull}190583[#190583]). -* Allow `traces` to be added to the `monitoring_enabled` array in Agent policies ({kibana-pull}189908[#189908]). -* Create task that periodically unenrolls inactive agents ({kibana-pull}189861[#189861]). -* Adds setup technology selector to add integration page ({kibana-pull}189612[#189612]). -* Support integration-level outputs ({kibana-pull}189125[#189125]). -Discover:: -* Renames the Documents tab to Results in ES|QL mode ({kibana-pull}197833[#197833]). -* Adds a cluster details tab for CCS data sources when inspecting requests in ES|QL mode ({kibana-pull}195373[#195373]). -* Adds the query time to the list of statistics when inspecting requests in ES|QL mode ({kibana-pull}194806[#194806]). -* Improves display of error messages in ES|QL mode ({kibana-pull}191320[#191320]). -* Adds a help menu to the ES|QL mode ({kibana-pull}190579[#190579]). -* Initializes the ES|QL editor with time named parameters when switching from the classic mode with a data view without @timestamp ({kibana-pull}189367[#189367]). -* Adds the ability to select multiple rows from the Documents table using "Shift + Select" ({kibana-pull}193619[#193619]). -* Adds the ability to filter on field names and values in the expanded document view ({kibana-pull}192299[#192299]). -* Adds filtering for selected fields ({kibana-pull}191930[#191930]). -* Adds a dedicated column to the document viewer flyout for pinning and unpinning rows ({kibana-pull}190344[#190344]). -* Improves absolute column width handling ({kibana-pull}190288[#190288]). -* Allows filtering by field type in the document viewer flyout ({kibana-pull}189981[#189981]). -* Improves the document viewer flyout to remember the last active tab ({kibana-pull}189806[#189806]). -* Adds ability to hide fields with null values from the document viewer ({kibana-pull}189601[#189601]). -* Adds the ability to copy selected rows as text ({kibana-pull}189512[#189512]). -* Adds a log level badge cell renderer to the Discover logs profile ({kibana-pull}188281[#188281]). -* Shows ECS field descriptions in Discover and adds markdown support for field descriptions ({kibana-pull}187160[#187160]). -* Adds support for the Log overview tab to the Discover log profile ({kibana-pull}186680[#186680]). -* Adds default app state extension and log integration data source profiles ({kibana-pull}186347[#186347]). -* Allows to select and deselect all rows in the grid at once ({kibana-pull}184241[#184241]). -* Limits the height of long field values by default ({kibana-pull}183736[#183736]). -ES|QL editor:: -* Changes the auto-focus to be on the ES|QL editor when loading the page ({kibana-pull}193800[#193800]). -* Updates the autocomplete behavior for `SORT` to be in line with other field-list-based experiences like `KEEP` in ES|QL queries ({kibana-pull}193595[#193595]). -* Adds `all (*)` to the list of suggestions for `COUNT` functions in ES|QL queries ({kibana-pull}192205[#192205]). -* Improves ES|QL autocomplete suggestions for `case()` expressions ({kibana-pull}192135[#192135]). -* Opens suggestions automatically for sources lists and `ENRICH` functions when writing ES|QL queries ({kibana-pull}191312[#191312]). -* Improves wrapping and readability for ES|QL queries ({kibana-pull}191269[#191269]). -* Improves suggestions based on previous function arguments and date suggestions for `bucket` functions in ES|QL queries ({kibana-pull}190828[#190828]). -* Show the `LIMIT` information in the ES|QL editor's footer ({kibana-pull}190498[#190498]). -* Opens suggestions automatically for field lists in ES|QL queries ({kibana-pull}190466[#190466]). -* Integrates a time picker for date fields into the ES|QL editor ({kibana-pull}187047[#187047]). -* Improves ES|QL support for Elasticsearch sub-types in AST for both validation and autocomplete ({kibana-pull}189689[#189689]). -* Adds ECS information to the ES|QL editor suggestions and prioritizes fields based on ECS information on the editor ({kibana-pull}187922[#187922]). -* Improves `BY` suggestions in ES|QL queries to include pipe and comma operators ({kibana-pull}189458[#189458]). -* Makes the suggestion menu open automatically in more places in ES|QL queries ({kibana-pull}189585[#189585]). -* Adds hints upon hover for function argument types and time system types ({kibana-pull}191881[#191881]). -Elastic Observability solution:: -* Enable Kubernetes Otel flow ({kibana-pull}196531[#196531]). -* Pass function responses when copying conversation ({kibana-pull}195635[#195635]). -* Turn 'fast filter' on by default and ensure tech preview badge shows when turned on ({kibana-pull}193710[#193710]). -* Custom Service Name Cell ({kibana-pull}192381[#192381]). -* Remove manage_transform and manage_ingest_pipeline privilege requirements ({kibana-pull}190572[#190572]). -* Create new formula for CPU Usage metric ({kibana-pull}189261[#189261]). -* Adds customizable header for quickstart flows ({kibana-pull}188340[#188340]). -* Change Kubernetes guide to link to observability onboarding ({kibana-pull}188322[#188322]). -* Adds KB user instructions ({kibana-pull}187607[#187607]). -* Refactor Synthetics Overview page for increased scalability ({kibana-pull}187092[#187092]). -* Improve synthetics alerting ({kibana-pull}186585[#186585]). -* Annotations Initial phase ({kibana-pull}184325[#184325]). -Elastic Search solution:: -* Adds Alibaba AI Search to Deletion, search and filtering of inference endpoints ({kibana-pull}190783[#190783]). -Elastic Security solution:: -For the Elastic Security 8.16.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Kibana security:: -* Enhances Open API spec generation to include Route Security Authorization if available ({kibana-pull}197001[#197001]). -* Automatic Import now analyzes larger number of samples to generate an integration ({kibana-pull}196233[#196233]). -* Extended `KibanaRouteOptions` to include security configuration at the route definition level ({kibana-pull}191973[#191973]). -* Adds several UX improvements to the management of Spaces in **Stack Management > Spaces**, including the ability to assign Roles to an existing Space. ({kibana-pull}191795[#191795]). -* Displays an "invalid file" error when selecting unsupported file types for the user profile image ({kibana-pull}190077[#190077]). -* Displays a warning to users whenever role mappings with empty `any` or `all` rules are created or updated ({kibana-pull}189340[#189340]). -* Adds support for CHIPS cookies ({kibana-pull}188519[#188519]). -* Adds support for Permissions Policy reporting ({kibana-pull}186892[#186892]). -Machine Learning:: -* File upload: enables check for model allocations ({kibana-pull}197395[#197395]). -* Data visualizer: Adds icons for semantic text, sparse vector, and dense vector ({kibana-pull}196069[#196069]). -* Updates vCPUs ranges for start model deployment ({kibana-pull}195617[#195617]). -* Adds ML tasks to the Kibana audit log ({kibana-pull}195120[#195120]). -* Anomaly Detection: adds ability to delete forecasts from job ({kibana-pull}194896[#194896]). -* Updates for Trained Models table layout and model states ({kibana-pull}194614[#194614]). -* Log rate analysis: ensures ability to sort on Log rate change ({kibana-pull}193501[#193501]). -* Single Metric Viewer: Enables cross-filtering for 'by', 'over', and 'partition' field values ({kibana-pull}193255[#193255]). -* Adds link to anomaly detection configurations from Integration > Assets tab ({kibana-pull}193105[#193105]). -* Anomaly Explorer: Displays markers for scheduled events in distribution-type anomaly charts ({kibana-pull}192377[#192377]). -* Serverless Security: Adds ES|QL visualizer menu item to the nav ({kibana-pull}192314[#192314]). -* Updates icons for Machine Learning embeddable dashboard panel types ({kibana-pull}191718[#191718]). -* AIOps: Uses no minimum time range by default for pattern analysis ({kibana-pull}191192[#191192]). -* Links to ML assets from Integration > Assets tab ({kibana-pull}189767[#189767]). -* Utilizes the `DataViewLazy` in ML plugin ({kibana-pull}189188[#189188]). -* AIOps: Chunks groups of field candidates into single queries for top items and histograms ({kibana-pull}189155[#189155]). -* AIOps: Updates fields filter popover to be able to filter fields from analysis (not just grouping) ({kibana-pull}188913[#188913]). -* Single Metric Viewer embeddable: adds forecasting ({kibana-pull}188791[#188791]). -* Adds new custom rule action to force time shift ({kibana-pull}188710[#188710]). -* AIOps: Chunks groups of field candidates into single queries ({kibana-pull}188137[#188137]). -* AIOps: Adds log rate analysis to alert details page contextual insight ({kibana-pull}187690[#187690]). -* Adds ability to toggle visibility for empty fields when choosing an aggregation or field in Anomaly detection, data frame analytics ({kibana-pull}186670[#186670]). -* Anomaly Detection: Adds popover links menu to anomaly explorer charts ({kibana-pull}186587[#186587]). -Management:: -* Adds an option to show or hide empty fields in dropdown lists in Transform ({kibana-pull}195485[#195485]). -* Adds a confirmation dialog when deleting a transform from a warning banner ({kibana-pull}192080[#192080]). -* Improves the autocomplete to suggest fields for the `dense_vector` type in Console ({kibana-pull}190769[#190769]). -* Adds the ability to view an ILM policy details in read-only mode ({kibana-pull}186955[#186955]). - -[float] -[[fixes-v8.16.0]] -=== Bug fixes -Alerting:: -* Show up to 1k maintenance windows in the UI ({kibana-pull}198504[#198504]) -* Skip scheduling actions for the alerts without scheduledActions ({kibana-pull}195948[#195948]). -* Fixes Stack Alerts feature API access control ({kibana-pull}193948[#193948]). -* Remove unintended internal find routes API with public access ({kibana-pull}193757[#193757]). -* Convert timestamp before passing to validation ({kibana-pull}192379[#192379]). -* Grouped over field is not populated correctly when editing a rule ({kibana-pull}192297[#192297]). -* Mark slack rate-limiting errors as user errors ({kibana-pull}192200[#192200]). -* Fixes maintenance window filtering with wildcards ({kibana-pull}194777[#194777]). -* Fixes search filters in rules, alerts, and maintenance windows ({kibana-pull}193623[#193623]). -Cases:: -* Use absolute time ranges when adding visualizations to a case ({kibana-pull}189168[#189168]). -* Fixes custom fields with long text that could not be edited in the UI ({kibana-pull}190490[#190490]). -Dashboards and visualizations:: -* Correctly show full screen mode when opening a dashboard or panel from a URL that contains the fullScreenMode parameter ({kibana-pull}196275[#196275]) and ({kibana-pull}190086[#190086]). -* Fixes an issue that could cause a the dashboard list to stay in loading state ({kibana-pull}195277[#195277]). -* Correctly use the same field icons as Discover ({kibana-pull}194095[#194095]). -* Fixes an issue where panels could disappear from a dashboard when canceling edit after saving the dashboard ({kibana-pull}193914[#193914]). -* Adds scroll margin to panels ({kibana-pull}193430[#193430]). -* Fixes an issue with the breadcrumb update icon not working when clicked ({kibana-pull}192240[#192240]). -* Fixes an issue where unsaved changes could remain after saving a dashboard ({kibana-pull}190165[#190165]). -* Fixes an issue causing the flyout to close when canceling the Save to library action ({kibana-pull}188995[#188995]). -* Fixes incomplete string escaping and encoding in *TSVB* ({kibana-pull}196248[#196248]). -* Fixes an issue where label truncation in heat map legends was not working properly in *Lens* ({kibana-pull}195928[#195928]). -* Fixes an issue where the color picker and axis side settings were incorrectly available in the breakdown dimension editor for XY charts in *Lens* ({kibana-pull}195845[#195845]). -* Fixes the tooltip position on faceted charts in *Vega* ({kibana-pull}194620[#194620]). -* Fixes the filter out legend action for ES|QL visualizations ({kibana-pull}194374[#194374]). -* Fixes element sizing issues in full screen mode in *Vega* ({kibana-pull}194330[#194330]). -* Fixes the default cell text alignment setting for non-numeric field types in *Lens* ({kibana-pull}193886[#193886]). -* Limits the height of the query bar input for long KQL queries ({kibana-pull}193737[#193737]). -* Makes the title correctly align left after removing an icon in **Lens** metric charts ({kibana-pull}191057[#191057]). -* Fixes a "No data" error caused by the "Collapse by" setting in **Lens** metric charts ({kibana-pull}190966[#190966]). -* Fixes an issue causing the color of a cell to disappear when clicking the "Expand cell" icon in *Lens* ({kibana-pull}190618[#190618]). -* Removes unnecessary index pattern references from Lens charts ({kibana-pull}190296[#190296]). -* Fixes several accessibility issues ({kibana-pull}188624[#188624]). -Data ingestion and Fleet:: -* Revert "Fix client-side validation for agent policy timeout fields" ({kibana-pull}194338[#194338]). -* Adds proxy arguments to install snippets ({kibana-pull}193922[#193922]). -* Rollover if dimension mappings changed in dynamic templates ({kibana-pull}192098[#192098]). -Discover:: -* Fixes an issue with search highlighting ({kibana-pull}197607[#197607]). -* Correctly pass embeddable filters to the Surrounding Documents page ({kibana-pull}197190[#197190]). -* Fixes trailing decimals dropped from client side validation messages ({kibana-pull}196570[#196570]). -* Fixes several validation issues and creates an expression type evaluator for ES|QL queries ({kibana-pull}195989[#195989]). -* Fixes duplicate autocomplete suggestions for `WHERE` clauses and suggestions with no space in between in ES|QL queries ({kibana-pull}195771[#195771]). -* Improves variable and field name handling in ES|QL queries ({kibana-pull}195149[#195149]). -* Fixes an issue where the Unified Field List popover could get cut off ({kibana-pull}195147[#195147]). -* Fixes the width for saved object type columns ({kibana-pull}194388[#194388]). -* Adds tooltips to Discover button icons ({kibana-pull}192963[#192963]). -* Excludes inactive integration data stream suggestions ({kibana-pull}192953[#192953]). -* Fixes new variables being suggested in incorrect places ({kibana-pull}192405[#192405]). -* Only log requests in the Inspector when they completed ({kibana-pull}191232[#191232]). -ES|QL editor:: -* Fixes an issue where the autocomplete suggestions could cause duplicate entries in ES|QL queries ({kibana-pull}190465[#190465]). -* Fixes several styling issues in the ES|QL editor ({kibana-pull}190170[#190170]). -Elastic Observability solution:: -* Change the slice outcome from bad to good whenever there is no data during the slice window ({kibana-pull}196942[#196942]). -* Make agent names generic with otel-native mode ({kibana-pull}195594[#195594]). -* Avoid showing unnecessary error toast ({kibana-pull}195331[#195331]). -* Use `fields` instead of `_source` on APM queries ({kibana-pull}195242[#195242]). -* Fixes ping heatmap payload ({kibana-pull}195107[#195107]). -* Fixes rule modal warnings in the developer console ({kibana-pull}194766[#194766]). -* Avoid AI assistant overlaying AI conversations ({kibana-pull}194722[#194722]). -* Improve loading state for metric items ({kibana-pull}192930[#192930]). -* Fixes issue where heatmap UI crashes on undefined histogram data ({kibana-pull}192508[#192508]). -* Calculate the latest metadata lookback based on the calculated history delay ({kibana-pull}191324[#191324]). -* Remove dedicated language setting ({kibana-pull}190983[#190983]). -* Change latest metric to use @timestamp ({kibana-pull}190417[#190417]). -* Prevent initial error when adding filters ({kibana-pull}190214[#190214]). -* Display error message when failing to enable machine learning anomaly detection in Inventory ({kibana-pull}189627[#189627]). -* Convert route validation to Zod ({kibana-pull}188691[#188691]). -* Fixes functions table height in asset details view profiling tab ({kibana-pull}188650[#188650]). -* Adds four decimal places float validation for transaction_sample_rate ({kibana-pull}188555[#188555]). -* Centralize data fetching and better control of when data can be refreshed ({kibana-pull}187736[#187736]). -* Fixes heatmap on monitor detail/history page for very large doc counts ({kibana-pull}184177[#184177]). -* Adds settings to serverless allowlist ({kibana-pull}190098[#190098]). -* Set missing group to false by default and show checkbox value in disable mode ({kibana-pull}188402[#188402]). -Elastic Search solution:: -* Fixes an issue with the {ref}/es-connectors-network-drive.html[Network Drive connector] where advanced configuration fields were not displayed for CSV file role mappings with `Drive Type: Linux` selected. -Elastic Security solution:: -For the Elastic Security 8.16.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Kibana platform:: -* Fixes an issue causing a wrong date to show in the header of a report when generated from relative date ({kibana-pull}197027[#197027]). -* Fixes an issue where the Created and Updated timestamps for Dashboards were ignoring the default timezone settings in Advanced settings. ({kibana-pull}196977[#196977]). -* Fixes an issue causing searches including a colon `:` character to show inaccurate results ({kibana-pull}190464[#190464]). -Kibana security:: -* Fixes an issue where an LLM was likely to generate invalid processors containing array access in Automatic Import ({kibana-pull}196207[#196207]). -Machine Learning:: -* File upload: fixes PDF character count limit ({kibana-pull}197333[#197333]). -* Data Drift: Updates brush positions on window resize fix ({kibana-pull}196830[#196830]). -* AIOps: Fixes issue where some queries cause filters to not be applied ({kibana-pull}196585[#196585]). -* Transforms: Limits the data grid result window ({kibana-pull}196510[#196510]). -* Fixes Anomaly Swim Lane Embeddable not updating properly on query change ({kibana-pull}195090[#195090]). -* Hides ES|QL based saved searches in ML & Transforms ({kibana-pull}195084[#195084]). -* Fixes query for pattern analysis and change point analysis ({kibana-pull}194742[#194742]). -* Anomaly explorer: Shows data gaps and connect anomalous points on Single Metric Charts ({kibana-pull}194119[#194119]). -* Fixes file upload with no ingest pipeline ({kibana-pull}193744[#193744]). -* Disables field statistics panel in Dashboard if ES|QL is disabled ({kibana-pull}193587[#193587]). -* Fixes display of assignees when attaching ML panels to a new case ({kibana-pull}192163[#192163]). -* Anomaly explorer: Fixes the order of the coordinates displayed on the map tooltip ({kibana-pull}192077[#192077]). -* Fixes links to the Single Metric Viewer from the Annotations and Forecasts tables ({kibana-pull}192000[#192000]). -* Trained models: fixes responsiveness of state column for smaller displays ({kibana-pull}191900[#191900]). -* File upload: increases timeout for upload request ({kibana-pull}191770[#191770]). -* Improves expired license check ({kibana-pull}191503[#191503]). -Management:: -* Fixes the pagination of the source documents data grid in Transforms ({kibana-pull}196119[#196119]). -* Fixes autocomplete suggestions after a comma in Console ({kibana-pull}189656[#189656]). - -[[release-notes-8.15.5]] -== {kib} 8.15.5 - -The 8.15.5 release includes the following bug fixes. - -[float] -[[fixes-v8.15.5]] -=== Bug fixes -Canvas:: -* Fixes an issue with Canvas not rendering maps with queries or filters ({kibana-pull}199339[#199339]). -Discover:: -* Fixes an issue where the `has_es_data` check was causing {kib} to hang ({kibana-pull}200476[#200476]). -Elastic Observability solution:: -* Changes the order of the errors shown on Infrastructure applications to be more relevant ({kibana-pull}200531[#200531]). -* Fixes the summary calculation for a calendar-aligned and occurrences-based SLO ({kibana-pull}199873[#199873]). -Elastic Security solution:: -For the Elastic Security 8.15.5 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Platform:: -* Fixes an issue with duplicate references to objects when copying saved objects to other spaces ({kibana-pull}200053[#200053]). -* Fixes button colors in the "Share data view to spaces" flyout ({kibana-pull}196004[#196004]). +All `v1` Kibana security HTTP endpoints have been removed. -[[release-notes-8.15.4]] -== {kib} 8.15.4 +`GET /api/security/v1/logout` has been replaced by `GET /api/security/logout` +`GET /api/security/v1/oidc/implicit` has been replaced by `GET /api/security/oidc/implicit` +`GET /api/security/v1/oidc` has been replaced by GET `/api/security/oidc/callback` +`POST /api/security/v1/oidc` has been replaced by POST `/api/security/oidc/initiate_login` +`POST /api/security/v1/saml` has been replaced by POST `/api/security/saml/callback` +`GET /api/security/v1/me` has been removed with no replacement. -The 8.15.4 release includes the following bug fixes. +For more information, refer to {kibana-pull}199656[#199656]. -[float] -[[fixes-v8.15.4]] -=== Bug fixes -Dashboards and visualizations:: -* Fixes incomplete string escaping and encoding in *TSVB* ({kibana-pull}196248[#196248]). -* Adds scroll margin to panels ({kibana-pull}193430[#193430]). -* Fixes an issue where label truncation in heat map legends was not working properly in *Lens* ({kibana-pull}195928[#195928]). -Discover:: -* Fixes the width for saved object Type column ({kibana-pull}194388[#194388]). -Elastic Observability solution:: -* Changes the slice outcome from bad to good whenever there is no data during the slice window ({kibana-pull}196942[#196942]). -Elastic Search solution:: -* Fixes a bug with the {ref}/es-connectors-network-drive.html[Network Drive connector] where advanced configuration fields were not displayed for CSV file role mappings with `Drive Type: Linux` selected ({kibana-pull}195567[#195567]). -Elastic Security solution:: -For the Elastic Security 8.15.4 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Kibana platform:: -* Fixes an issue causing the wrong date to show in the header of a report when generated from a relative date ({kibana-pull}197027[#197027]). -* Fixes an issue with the export options for PNG/PDF reports in a dashboard ({kibana-pull}192530[#192530]). -Machine Learning:: -* Fixes an issue preventing Anomaly swim lane panels from updating on query changes ({kibana-pull}195090[#195090]). -Management:: -* Fixes the pagination of the source documents data grid in Transforms ({kibana-pull}196119[#196119]). - -[[release-notes-8.15.3]] -== {kib} 8.15.3 - -The 8.15.3 release includes the following bug fixes. - -[float] -[[fixes-v8.15.3]] -=== Bug fixes -Alerting:: -* Fixes a storage configuration error that could prevent the Stack Management > Alerts page from loading correctly ({kibana-pull}194785[#194785]). -* Fixes a bug preventing certain alerts with Role visibility set to "Stack Rules" from being shown on the Stack Management page ({kibana-pull}194615[#194615]). -* Fixes an issue where rules created from Discover before version 8.11.0 could no longer be accessed after upgrading ({kibana-pull}192321[#192321]). -Dashboards:: -* Fixes an issue where the `embed=true` parameter was missing when sharing a dashboard with the Embed code option ({kibana-pull}194366[#194366]). -Discover:: -* Fixes an issue with the document viewer panel not opening in focus mode ({kibana-pull}191039[#191039]). -Elastic Observability solution:: -* Fixes the OpenTelemetry guided onboarding for MacOS with x86_64 architectures ({kibana-pull}194915[#194915]). -* Fixes a bug where the SLO creation form was allowing multiple values for timestamp fields ({kibana-pull}194311[#194311]). -Elastic Search solution:: -* Fixes a bug with the https://www.elastic.co/guide/en/enterprise-search/8.15/connectors-network-drive.html[Network Drive connector] where advanced configuration fields were not displayed for CSV file role mappings with `Drive Type: Linux` selected ({kibana-pull}195567[#195567]). -Elastic Security solution:: -For the Elastic Security 8.15.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Kibana security:: -* Automatic Import no longer asks the LLM to map fields to reserved ECS fields ({kibana-pull}195168[#195168]). -* Fixes an issue that was causing the Grok processor to return non-ECS compatible fields when processing structured or unstructured syslog samples in Automatic Import ({kibana-pull}194727[#194727]). -* Fixes the integrationName when uploading a new version of an existing integration using a ZIP upload ({kibana-pull}194298[#194298]). -* Fixes a bug that caused the Deploy step of Automatic Import to fail after a pipeline was edited and saved ({kibana-pull}194203[#194203]). -* Fixes an issue in the Kibana Management > Roles page where users could not sort the table by clicking the column headers ({kibana-pull}194196[#194196]). -Lens & Visualizations:: -* Fixes an issue where the legend label truncation setting wasn't working properly for heat maps in Lens ({kibana-pull}195928[#195928]). -Machine Learning:: -* Fixes an issue preventing Anomaly swim lane panels from updating on query changes ({kibana-pull}195090[#195090]). -* Fixes an issue that could cause the "rows per page" option to disappear from the Anomaly timeline view in the Anomaly Explorer ({kibana-pull}194531[#194531]). -* Fixes an issue causing screen flickering on the Results Explorer and Analytics Map pages when no jobs are available ({kibana-pull}193890[#193890]). - - -[[release-notes-8.15.2]] -== {kib} 8.15.2 - -The 8.15.2 release includes the following enhancements and bug fixes. - -[float] -[[enhancement-v8.15.2]] -=== Enhancements -Elastic Security solution:: -For the Elastic Security 8.15.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Bumps maximum supported package spec version to 3.2 ({kibana-pull}193574[#193574]). -Kibana security:: -* Adds a feature to add support for handling `syslogs with unsupported message body` ({kibana-pull}192817[#192817]). -* Automatic Import now performs reproducible sampling from the list of log entries instead of just truncating them ({kibana-pull}191598[#191598]). -* Adds support for Google Gemini, OpenAI, and Azure OpenAI connectors to Automatic Import ({kibana-pull}191577[#191577]). -* Displays better error messages for issues with logs sample file upload in Automatic Import ({kibana-pull}191310[#191310]). - -[float] -[[fixes-v8.15.2]] -=== Bug fixes -Alerting:: -* Fixes error when saving a rule after toggling alerts filter properties on and off ({kibana-pull}192522[#192522]). -Dashboards:: -* Fixes map layers that disappear from map panel when using session storage to continue editing a dashboard ({kibana-pull}193629[#193629]). -Discover:: -* Fixes "View conflicts" button when a data view ID has special characters ({kibana-pull}192374[#192374]). -Elastic Observability solution:: -* Fixes OpenTelemetry agent names ({kibana-pull}193134[#193134]). -* Resolves an issue for multi-step browser journeys where timings for cached resources within the same step were inaccurate within the waterfall chart ({kibana-pull}193089[#193089]). -* Updates parsing to skip replacing missing values in Synthetics monitors ({kibana-pull}192662[#192662]). -Elastic Security solution:: -For the Elastic Security 8.15.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Prevents extra agent_status call with empty policyId ({kibana-pull}192549[#192549]). -* Sets correct title for Restart upgrade agent modal under agent list ({kibana-pull}192536[#192536]). -Kibana security:: -* Stops removing message field for unstructured logs when using Automatic Import ({kibana-pull}193678[#193678]). -* Integrations created using Automatic Import now indicate that they have been developed by the `Community` instead of Elastic ({kibana-pull}193002[#193002]). -* Fixes issues with rendering the package manifest in Automatic Import ({kibana-pull}192316[#192316]). -Machine Learning:: -* Fixes deletion in Check interval input for anomaly detection rule ({kibana-pull}193420[#193420]). -* Fixes unnecessary ML services initialization during plugin setup ({kibana-pull}193153[#193153]). -* Fixes link to anomaly detection wizard from pattern analysis in Discover ({kibana-pull}192375[#192375]). -* Fixes an issue with the `http_endpoint` input config loading incorrectly in an Automatic Import workflow ({kibana-pull}191964[#191964]). - - -[[release-notes-8.15.1]] -== {kib} 8.15.1 - -The 8.15.1 release includes the following bug fixes. +*Impact* + +Any HTTP API calls to the `v1` Kibana security endpoints will fail with a 404 status code starting from version 9.0.0. +Third party OIDC and SAML identity providers configured with `v1` endpoints will no longer work. -// [float] -// [[enhancement-v8.15.1]] -// === Enhancements -// Other:: -// * Automatic Import now supports the 'multiline newline-delimited JSON' log sample format for the Filestream input ({kibana-pull}190588[#190588]). - -[float] -[[fixes-v8.15.1]] -=== Bug fixes -Data Discovery:: -* Fixes time range filter ({kibana-pull}187010[#187010]). -Elastic Security:: -For the Elastic Security 8.15.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Remove duplicative retries from client-side requests to APIs that depend on EPR ({kibana-pull}190722[#190722]). -Lens & Visualizations:: -* Visualization blows up when invalid color is passed in *TSVB* ({kibana-pull}190658[#190658]). -Observability:: -* Enables wildcard search for the Synthetics waterfall chart ({kibana-pull}191132[#191132]). -* Fixes accordion disclosure keyboard focus border ({kibana-pull}190436[#190436]). -* Always pass allowLeadingWildcards as true to the KQL validation in the custom threshold rule API param validation ({kibana-pull}190031[#190031]). -* Prevent excess calls to get agent namespace ({kibana-pull}189995[#189995]). -* Fixes blank storage explorer summary when filter string is active ({kibana-pull}189760[#189760]). -* Observability AI Assistant: Use internal user when fetching connectors ({kibana-pull}190462[#190462]). -* Observability AI Assistant: Fixes bug “Cannot set initialMessages if initialConversationId is set" ({kibana-pull}189885[#189885]). -Platform:: -* Fixes handling of splittable subkeys when processing values ({kibana-pull}190590[#190590]). Fixes a bug when processing YAML configuration keys that contain dotted notation in objects in arrays. This can manifest as a validation error causing Kibana to not start. -Presentation:: -* Fixes by-value map embeddables have broken layers ({kibana-pull}190996[#190996]). -* Fixes text readability on map scale, attribution, and coordinate controls ({kibana-pull}189639[#189639]). -Search:: -* Fixes index error incorrectly showing up ({kibana-pull}189283[#189283]). Fixes a bug where an index error about the `semantic_text` field would be incorrectly displayed when the inference endpoint was configured and available. -Uptime:: -* Fixes broken pagination in Uptime when a filter is applied ({kibana-pull}189831[#189831]). -// Security:: -// * Resolve a bug in ECS missing fields detection ({kibana-pull}191502[#191502]). -// * Improve sample merge functionality ({kibana-pull}190656[#190656]). -// * Try parsing samples as both NDJSON and JSON ({kibana-pull}190046[#190046]). - -[[release-notes-8.15.0]] -== {kib} 8.15.0 - -For information about the {kib} 8.15.0 release, review the following information. - -The 8.15.0 release includes the following known issues. - -[float] -[[known-issues-8.15.0]] -=== Known issues - -[discrete] -[[known-178114]] -.Kibana fails to start when processing YAML configuration keys that contain dotted notation in objects in arrays -[%collapsible] -==== -*Details* + -In 8.15.1, We fixed a bug when processing YAML configuration keys that contain dotted notation in objects in arrays. -This can manifest as a validation error causing Kibana to not start. - -For more information, refer to {kibana-pull}190590[#190590]. +*Action* + +Update any OIDC and SAML identity providers to reference the corresponding replacement endpoint listed above. +Remove references to the `/api/security/v1/me` endpoint from any automations, applications, tooling, and scripts. ==== [discrete] -[[known-187823]] -.Connectors require update due to Microsoft Teams product retirement +.Access to all internal APIs is blocked (9.0.0) [%collapsible] ==== *Details* + -The original method for configuring incoming webhooks in Microsoft Teams is being retired. -Refer to https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/[Retirement of Office 365 connectors within Microsoft Teams] and {kibana-issue}187823[#187823]. +Access to internal Kibana HTTP APIs is restricted from version 9.0.0. This is to ensure +that HTTP API integrations with Kibana avoid unexpected breaking changes. +Refer to {kibana-pull}193792[#193792]. *Impact* + -If you used the *Incoming Webhook* app in Microsoft Teams to generate a webhook URL for a <>, it will stop working in December 2024. - -*Workaround* + -Use the *Workflows* app in Microsoft Teams to create a new webhook URL, as described in <>. -Update your Microsoft Teams connector to use the new URL before the end of December 2024. -==== - -[discrete] -[[known-189283]] -.Incorrect index errors related to inference endpoints -[%collapsible] -==== -*Details* + -In 8.15.1, we fixed a UI bug where an index error about the `semantic_text` field would be incorrectly displayed when the inference endpoint was configured and available. +Any HTTP API calls to internal Kibana endpoints will fail with a 400 status code starting +from version 9.0.0. -You can ignore this error if you've confirmed that the inference endpoint is configured and the model is deployed. +*Action* + +**Do not integrate with internal HTTP APIs**. They may change or be removed without notice, +and lead to unexpected behaviors. If you would like some capability to be exposed over an +HTTP API, https://github.com/elastic/kibana/issues/new/choose[create an issue]. +We would love to discuss your use case. -This bug is fixed in {kibana-pull}189283[#189283]. ==== [float] -[[deprecations-8.15.0]] +[[deprecations-9.0.0]] === Deprecations -The following functionality is deprecated in 8.15.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.15.0. - -[discrete] -[[deprecation-uptime]] -.Uptime is deprecated in 8.15.0 and will be removed in a future version. -[%collapsible] -==== -*Details* + -The Uptime app is already hidden from Kibana when there is no recent Heartbeat data, and will be completely removed in early 2026. You should migrate to Synthetics as an alternative. For more details, refer to the {observability-guide}/uptime-intro.html[Uptime documentation]. -==== - -[discrete] -.<> are deprecated in 8.15.0 and will be removed in a future version. -[%collapsible] -==== -*Details* + -Search sessions are now deprecated and will be removed in a future version. By default, queries that take longer than 10 minutes (the default for the advanced setting `search:timeout`) will be canceled. To allow queries to run longer, consider increasing `search:timeout` or setting it to `0` which will allow queries to continue running as long as a user is waiting on-screen for results. -==== - -[float] -[[breaking-changes-8.15.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.15.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Adds rate limiting to install by upload endpoint. -[%collapsible] -==== -*Details* + -Rate limiting was added to the upload `api/fleet/epm/packages` endpoint. For more information, refer to {kibana-pull}184036[#184036]. - -*Impact* + -If you do two or more requests in less than 10 seconds, the subsequent requests fail with `429 Too Many Requests`. -Wait 10 seconds before uploading again. -This change could potentially break automations for users that rely on frequent package uploads. -==== - [float] -[[features-8.15.0]] +[[features-9.0.0]] === Features -{kib} 8.15.0 adds the following new and notable features. - -Alerting:: -* Allow decimals in the threshold filed for the Failed transaction rate threshold rule ({kibana-pull}184647[#184647]). -Cases:: -* Cases custom fields and the cases webhook are now GA ({kibana-pull}187880[#187880]). -* Allow users to create case using templates ({kibana-pull}187138[#187138]). -Dashboards:: -* Adding a panel to a dashboard now opens a flyout and the list of panels available is now organized more logically ({kibana-pull}183764[#183764]). -Discover:: -* In ES|QL mode, you can now create WHERE clause filters more intuitively by interacting with the table, sidebar and table row viewer, including for ordinal charts ({kibana-pull}181399[#181399]) & ({kibana-pull}184420[#184420]). -* You can now filter an ES|QL chart by brushing a date histogram ({kibana-pull}184012[#184012]). -Elastic Security:: -* For the Elastic Security 8.15.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* UI for the custom integration creation with AI ({kibana-pull}186304[#186304]). -//* Change agent policies in edit package policy page ({kibana-pull}186084[#186084]). -//* Create shared package policy ({kibana-pull}185916[#185916]). -//* Introduce policy_ids in package policy SO ({kibana-pull}184636[#184636]). -* Surface option to delete diagnostics files ({kibana-pull}183690[#183690]). -* Allow to reset log level for agents >= 8.15.0 ({kibana-pull}183434[#183434]). -* Adds warning if need root integrations trying to be used with unprivileged agents ({kibana-pull}183283[#183283]). -* Adds unprivileged vs privileged agent count to Fleet UI ({kibana-pull}183077[#183077]). -Lens & Visualizations:: -* You can now show additional statistics in the legend of your time series charts created with *Lens* ({kibana-pull}182357[#182357]). -Machine Learning:: -* Adds Field statistics to the list of available panels in Dashboards ({kibana-pull}184030[#184030]). -* Adds ES|QL support for field statistics table in Discover ({kibana-pull}180849[#180849]). -* AIOps: Moves Pattern analysis to a tab instead of a flyout in Discover ({kibana-pull}178916[#178916]). -* AIOps: Adds AI Assistant contextual insights to the Log Rate Analysis page in the Machine Learning plugin for Observability serverless projects ({kibana-pull}186509[#186509]). -Management:: -* Adds an advanced `search:timeout` setting and changes the timeout behavior to display partial results instead of just an error ({kibana-pull}179679[#179679]). -Observability:: -* Updates links for integration buttons in Observability solution ({kibana-pull}184477[#184477]). -* Adds SLO status, SLI value, error budget remaining and consumed to the burn rate alert context ({kibana-pull}184471[#184471]). -* Adds an option to prevent initial backfill for SLOs ({kibana-pull}184312[#184312]). -* Updates `Add data` links to use improved deep linking ({kibana-pull}184164[#184164]). -* Changes the navigation behavior for the Observability guide cards to pre-select the correct solution ({kibana-pull}184065[#184065]). -* Updates the Alerts details to now show an history chart for all types of alerts ({kibana-pull}181824[#181824]). -* Adds Docs count, Size, Services, Hosts, and Degraded docs KPIs to the dataset quality flyout ({kibana-pull}179479[#179479]). -Platform:: -* Improves the **Share** menu to let you navigate through a tabbed modal to copy links for Discover, Dashboards, and Lens. ({kibana-pull}180406[#180406]). -* Changes the behavior of the "Endpoints and API keys" button in the header to open the Connection details flyout ({kibana-pull}183236[#183236]). -* Adds a quick way to create an API keys with a 90-days expiration to the Connection details flyout, and clarifies the Elasticsearch endpoint and Cloud ID information ({kibana-pull}180912[#180912]). -* Adds a feedback button to the header in Serverless projects({kibana-pull}180942[#180942]). -For more information about the features introduced in 8.15.0, refer to <>. +For more information about the features introduced in 9.0.0, refer to <>. -[[enhancements-and-bug-fixes-v8.15.0]] +[[enhancements-and-bug-fixes-v9.0.0]] === Enhancements and bug fixes -For detailed information about the 8.15.0 release, review the enhancements and bug fixes. +For detailed information about the 9.0.0 release, review the enhancements and bug fixes. [float] -[[enhancement-v8.15.0]] -=== Enhancements -Alerting:: -* Adds support of additional fields for ServiceNow ITSM and SecOps ({kibana-pull}184023[#184023]). -* Adds support for the additional info field in the ServiceNow ITOM connector ({kibana-pull}183380[#183380]). -Cases:: -* The Cases webhook connector now supports SSL certificate authentication ({kibana-pull}185925[#185925]). -Dashboards:: -* Adds a "Creator" column to the Dashboards list ({kibana-pull}182256[#182256]). -* Adds the ability to filter dashboards by creator for dashboards created on or after version 8.14 ({kibana-pull}180147[#180147]). -* When switching back from maximized to minimized view on a panel, you return to your original position in the dashboard ({kibana-pull}184696[#184696]). -* Improves the dashboard background color to match the current color mode wen margins are turned off ({kibana-pull}181450[#181450]). -* Simplifies the workflow for creating a copy of the dashboard currently open in both view and edit modes ({kibana-pull}180938[#180938]). -Discover:: -* Adds a button to expand the time range on demand when no results are found for a search ({kibana-pull}181723[#181723]). -* Changes the Discover document viewer flyout to push the rest of the UI instead of hiding it with an overlay ({kibana-pull}166406[#166406]). -* CSV reports now include custom field labels when they exist ({kibana-pull}181565[#181565]). -Elastic Security:: -* For the Elastic Security 8.15.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -ES|QL:: -* Improves metadata autocomplete suggestions with comma and pipe ({kibana-pull}188338[#188338]). -* Automatically encapsulate index names with special characters with quotes ({kibana-pull}187899[#187899]). -* Adds support for integrations ({kibana-pull}184716[#184716]). -* Adds the ability to comment out the current line with the keyboard using `CMD + /` ({kibana-pull}184637[#184637]). - -Fleet:: -* Use API key for standalone agent onboarding ({kibana-pull}187133[#187133]). -//* Adds action for upgrading all agents on policy ({kibana-pull}186827[#186827]). -* Makes Fleet & Integrations layouts full width ({kibana-pull}186056[#186056]). -* Adds support for setting `add_fields` processors on all agents under an agent policy ({kibana-pull}184693[#184693]). -* Adds force flag to delete agent_policies API ({kibana-pull}184419[#184419]). -* Adds data tags to agent policy APIs ({kibana-pull}183563[#183563]). -* Adds support for mappings with store: true ({kibana-pull}183390[#183390]). -* Shows all integration assets on detail page ({kibana-pull}182180[#182180]). -* Adds overrides to package policies update endpoint ({kibana-pull}181453[#181453]). -* Enables `agent.monitoring.http` settings on agent policy UI ({kibana-pull}180922[#180922]). -* Removes unnecessary field definitions for custom integrations and adds `logs@mappings` to log streams ({kibana-pull}178083[#178083]). -Lens & Visualizations:: -* Adds wildcard matching to field pickers across {kib} in *Lens* ({kibana-pull}182631[#182631]). -Machine Learning:: -* AIOps: Adds cardinality check to Log Rate Analysis ({kibana-pull}181129[#181129]). -* AIOps: Reduces rerenders when streaming analysis results ({kibana-pull}182793[#182793]). -* AIOps Log Rate Analysis: Improves explanation of log rate spike/dip ({kibana-pull}186342[#186342]). -* AIOps Log Rate Analysis: Merges fetch queue for keyword and text field candidates ({kibana-pull}183649[#183649]). -* AIOps Log Rate Analysis: Adds controls for controlling which columns will be visible ({kibana-pull}184262[#184262]). -* Anomaly Detection: Single Metric Viewer - Adds cases action ({kibana-pull}183423[#183423]). -* Anomaly Detection: Adds 'Add to dashboard' action for Single Metric Viewer ({kibana-pull}182538[#182538]). -* Anomaly swim lane: UX improvements ({kibana-pull}182586[#182586]). -* Single Metric Viewer embeddable: Ensures chart height is responsive on resize ({kibana-pull}185907[#185907]). -* Single Metric Viewer embeddable in dashboards: Moves all config to flyout ({kibana-pull}182756[#182756]). -* Adds progress bar for trained models download ({kibana-pull}184906[#184906]). -* Updates code editors for Transform, Data Frame and Anomaly Detection wizards ({kibana-pull}184518[#184518]). -Management:: -* The SIEM Query rule loads fewer fields on query execution ({kibana-pull}184890[#184890]). -* The ES Query rule loads fewer fields on query execution ({kibana-pull}183694[#183694]). -* Adds the ability to horizontally resize the autocomplete popup in the Dev Tools Console ({kibana-pull}180243[#180243]). -* The Kibana configuration file now supports assigning a default value for environment variables, using the `${VAR_ENV:defaultValue}` syntax. ({kibana-pull}182139[#182139]). -Observability:: -* Adds the ability to clone a monitor in Synthetics ({kibana-pull}184393[#184393]). -* Adds 10 and 30 seconds frequency options to lightweight monitors in Synthetics ({kibana-pull}184380[#184380]). -* Improves the destination of `Add data` links in Observability to make data ingestion more efficient ({kibana-pull}184164[#184164]). -* Adds an option to mark AI Assistant Knowledge Base entries as public ({kibana-pull}184094[#184094]). -* Updates the AI assistant to query all search connectors by default and adds a setting to override this new default ({kibana-pull}183712[#183712]). -* Adds downstream dependency service name to logs and errors to improve alert insights ({kibana-pull}183215[#183215]). -Operations:: -* Adds password support to the Kibana keystore ({kibana-pull}180414[#180414]). -Platform:: -* Adds http2 support to the Kibana server, that can be enabled using the `server.protocol: http2` Kibana setting ({kibana-pull}183465[#183465]). -* Kibana's `rolling-file` appender now supports more advanced retention policies. Refer to the <> for more details ({kibana-pull}182346[#182346]). -Security:: -* Adds an optional role description field to roles ({kibana-pull}183145[#183145]). -* Adds the ability to filter audit logs by username using the `xpack.security.audit.ignore_filters.users` configuration setting ({kibana-pull}183137[#183137]). -* Adds support for `remote_cluster` privileges in ES role definition ({kibana-pull}182377[#182377]). -* Improves the experience for managing a larger number of API keys by adding server side filtering, pagination and querying. ({kibana-pull}168970[#168970]). - -[float] -[[fixes-v8.15.0]] -=== Bug Fixes -Alerting:: -* Fixes kibana.alert.rule.execution.timestamp timezone and format ({kibana-pull}183905[#183905]). -* Fixes undefined error source in alerting log tags ({kibana-pull}182352[#182352]). -* Allow the rule types to throw user errors ({kibana-pull}184213[#184213]). -* Sets validation errors in subaction framework as user errors ({kibana-pull}184317[#184317]). -* Fixes x-axis time zone on alertSummaryWidget full size ({kibana-pull}187468[#187468]). -Dashboards:: -* Prevent jumping control drag handle between view modes ({kibana-pull}184533[#184533]). -* Fixes error on navigation when invalid selections tour step is open ({kibana-pull}189449[#189449]). -* Fixes positioning of dragged link in Links editor ({kibana-pull}189122[#189122]). -* Don't close the flyout when canceling the Save to library action ({kibana-pull}188995[#188995]). -* Fixes error thrown on numeric options list ({kibana-pull}188789[#188789]). -* Adds tooltip support to `PresentationPanel` header badges ({kibana-pull}186102[#186102]). -* Fixes unsaved changes on new dashboards bug ({kibana-pull}184955[#184955]). -* Reset `maximizedPanelId` on Dashboard navigation ({kibana-pull}183060[#183060]). -Discover:: -* Fixes time range filter ({kibana-pull}187010[#187010]). -* Reset selected fields when modifying the ES|QL query ({kibana-pull}185997[#185997]). -* Fixes document comparison mode and the field statistics tab when using Smart Fields ({kibana-pull}184172[#184172]). -* Disables sorting for Document view ({kibana-pull}187553[#187553]). -* Correctly adds the limit to the field statistics queries ({kibana-pull}186967[#186967]). -* Fixes overlapping on error messages ({kibana-pull}181416[#181416]). -Elastic Search:: -* Allow to save mappings with errors ({kibana-pull}188326[#188326]). - -Elastic Security:: -* For the Elastic Security 8.15.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -ES|QL:: -* Suppress empty syntax error ({kibana-pull}184246[#184246]). -* Accept null values for function arguments ({kibana-pull}184254[#184254]). -* Recognize transformational commands with ast parsing ({kibana-pull}184291[#184291]). -* Accept negated index patterns ({kibana-pull}184528[#184528]). -* Fixes the overflow problem of the editor ({kibana-pull}186166[#186166]). -* Removes inaccurate value suggestions ({kibana-pull}189228[#189228]). -* Improves support for `Invoke` completion trigger type ({kibana-pull}188877[#188877]). -Fleet:: -* Fixes navigating back to Agent policy integration list ({kibana-pull}189165[#189165]). -* Fixes copy agent policy, missed bump revision ({kibana-pull}188935[#188935]). -* Force field enabled=false on inputs that have all their streams disabled ({kibana-pull}188919[#188919]). -* Fill in empty values for `constant_keyword` fields from existing mappings ({kibana-pull}188145[#188145]). -* Enrollment token table may show an empty last page ({kibana-pull}188049[#188049]). -* Separated `showInactive` from unenrolled status filter ({kibana-pull}187960[#187960]). -* Fixes missing policy filter in Fleet Server check to enable secrets ({kibana-pull}187935[#187935]). -* Allow preconfigured agent policy only with name and id ({kibana-pull}187542[#187542]). -* Show warning callout in configs tab when an error occurs ({kibana-pull}187487[#187487]). -* Enable rollover in custom integrations install when getting mapper_exception error ({kibana-pull}186991[#186991]). -* Adds concurrency limit to EPM bulk install API + fix duplicate installations ({kibana-pull}185900[#185900]). -* Include inactive agents in agent policy agent count ({kibana-pull}184517[#184517]). -* Fixes KQL filtering ({kibana-pull}183757[#183757]). -* Prevent concurrent runs of Fleet setup ({kibana-pull}183636[#183636]). -Lens & Visualizations:: -* Do not pass incorrect filters to the state in *Lens* ({kibana-pull}189292[#189292]). -* Adds error reason in workspace panel when error happens in *Lens* ({kibana-pull}189161[#189161]). -* Fixes "Unable to load" page error on edit/add ES|QL panel ({kibana-pull}188664[#188664]). -* Improves the performance of the table ES|QL visualization ({kibana-pull}187142[#187142]). -* Fixes sort field error message for last value ({kibana-pull}184883[#184883]). -* Fixes reference line width stale update in *Lens* ({kibana-pull}184414[#184414]). -* Fixes prepend sizing on duration formatter in *Lens* ({kibana-pull}184403[#184403]). -* Fixes data table actions when the first row is empty in *Lens* ({kibana-pull}181344[#181344]). -* Fixes y-axis scale/custom domain issues and help/error text in *Lens* ({kibana-pull}180532[#180532]). -Logs:: -* Fixes log stream flyout when embedded in APM or the Infrastructure UI ({kibana-pull}189763[#189763]). -* Fixes log entry flyout when response is slow ({kibana-pull}187303[#187303]). -* Fixes flyout link to the legacy Uptime app ({kibana-pull}186328[#186328]). -Machine Learning:: -* Fixes display of model state in trained models list with starting and stopping deployments ({kibana-pull}188847[#188847]). -* AIOps: Fixes runtime mappings in pattern analysis ({kibana-pull}188530[#188530]). -* Fixes Field statistics panel displaying multiple errors if associated index is deleted and race condition when refreshes too fast ({kibana-pull}188327[#188327]). -* Hides ML embeddables from the "Add panel" flyout when ML isn't available ({kibana-pull}187639[#187639]). -* Removes info callout mentioning ML nodes for serverless environment ({kibana-pull}187583[#187583]). -* Fixes upgrade warning ({kibana-pull}187387[#187387]). -* Fixes change point menu which can get stuck open ({kibana-pull}186063[#186063]). -* Do not retry model deployment ({kibana-pull}185012[#185012]). -* Refreshes jobs list after import ({kibana-pull}184757[#184757]). -* AIOps Log Rate Analysis: Fixes date picker refresh button ({kibana-pull}183768[#183768]). -* Single Metric Viewer embeddable: Ensures creating job rule from anomaly click actions is successful ({kibana-pull}183554[#183554]). -* Adds bucket span validation to job creation flyouts ({kibana-pull}183510[#183510]). -* Fixes Choropleth map disappears when time range is changed ({kibana-pull}181933[#181933]). -Management:: -* Allows selection of timestamp when some index pattern segments are unmet ({kibana-pull}189336[#189336]). -* Transforms and Anomaly detection: Updates width for icon in messages tab to prevent overlap ({kibana-pull}188374[#188374]). -* Transform: Fixes transform stats API call in the transform health alerting rule ({kibana-pull}187586[#187586]). -* Transforms: Improves data view checks ({kibana-pull}181892[#181892]). -* Fixes human-readable (precise) formatting ({kibana-pull}181391[#181391]). -Observability:: -* Decreases bucket size top_dependencies sends to get_connection_stats query ({kibana-pull}182884[#182884]). -* Fixes SLO history details data ({kibana-pull}183097[#183097]). -* Improves permission check on SLO pages ({kibana-pull}182609[#182609]). -* Fixes contextual insights for APM errors ({kibana-pull}184642[#184642]). -* Fixes Alerts page history navigation ({kibana-pull}186068[#186068]). -* Accept project monitors with `monitor.url` of type `string` that contains commas ({kibana-pull}186112[#186112]). -* Fixes TLS certificate view for > 3 monitors per certificate ({kibana-pull}186204[#186204]). -* Fixes Synthetics/Uptime fields alerts autocomplete for query bar ({kibana-pull}186588[#186588]). -* Hides AI Assistant menu item when in a disabled space ({kibana-pull}188017[#188017]). -* Fixes AI Assistant settings when plugin is disabled ({kibana-pull}188160[#188160]). -* Fixes bug “Cannot set initialMessages if initialConversationId is set" ({kibana-pull}189885[#189885]). -* Respect query:allowLeadingWildcards in optional query filter ({kibana-pull}189488[#189488]). -* Fixes showing the correct log view in the rule creation flyout ({kibana-pull}189205[#189205]). -* Fixes a bug where "Retest on failure" couldn't be turned off when creating a monitor in the Synthetics app. ({kibana-pull}189013[#189013]). -* Fixes incorrect Redis and AWS CPU percentage metrics displayed on the Infrastructure Inventory page ({kibana-pull}188768[#188768]). -* Improves information communicated in case of insufficient privileges in the Dataset Quality UI ({kibana-pull}183947[#183947]). -Platform:: -* Accessibility fixes for user profile input labels ({kibana-pull}186471[#186471]). -* Fixes several internationalization and localization inconsistencies ({kibana-pull}181735[#181735]). -* Fixes case sensitivity in tag search ({kibana-pull}183092[#183092]). -Querying & Filtering:: -* Fixes performance issues with nested sub-queries ({kibana-pull}181208[#181208]). -Security:: -* Fixes `ComboBox` overflow with large chips ({kibana-pull}184722[#184722]). -* Adds `disabledFeatures` back to mappings, so it can be aggregated on ({kibana-pull}184195[#184195]). -* Supports read-only remote index and cluster sections with read_security access ({kibana-pull}183126[#183126]). -* Adds transformation of application wildcard `*` privilege to `all` to correctly filter and display roles as `superuser`. ({kibana-pull}181400[#181400]). -Sharing:: -* Improves error handling ({kibana-pull}185903[#185903]). - - -[[release-notes-8.14.3]] -== {kib} 8.14.3 - -The 8.14.3 release includes the following bug fixes and known issues. - -[float] -[[known-issues-8.14.3]] -=== Known issues - -include::CHANGELOG.asciidoc[tag=known-issue-186969] - -include::CHANGELOG.asciidoc[tag=known-issue-189394] - -[discrete] -[[known-185691]] -.When using the Observability AI Assistant with the OpenAI connector, function calling will result in an error -[%collapsible] -==== -*Details* + -In 8.14.3, if you are using the Observability AI Assistant with the OpenAI connector, function calling will result in an error. -The error message will look similar to this: - -[source] ----- -Error: an error occurred while running the action - Status code: 400. Message: API Error: model_error - Missing required parameter: 'messages[4].function_call.arguments'. ----- - -A fix will be available in 8.15. Users on 8.14.3 can get around this error by turning on synthetic function calling in _AI Assistant Settings_: - -. In {kib}, go to *Stack Management* → *AI Assistant* → *Observability* -. Toggle the _Simulate function calling_ option to *On*. - -For more information, refer to {kibana-pull}185691[#185691]. -==== - -[float] -[[fixes-v8.14.3]] -=== Bug Fixes -Dashboard:: -* Fixes controls getting overwritten on navigation ({kibana-pull}187509[#187509]). -Elastic Security:: -For the Elastic Security 8.14.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -[[release-notes-8.14.2]] -== {kib} 8.14.2 - -The 8.14.2 release includes the following bug fixes and known issues. - -[float] -[[known-issues-8.14.2]] -=== Known issues - -include::CHANGELOG.asciidoc[tag=known-issue-186969] - -include::CHANGELOG.asciidoc[tag=known-issue-189394] - -[float] -[[fixes-v8.14.2]] -=== Bug Fixes - -Alerting:: -* Rule runs recovered actions without ever running active actions ({kibana-pull}183646[#183646]). -Fleet:: -* Updates health_check endpoint to accept hosts ids ({kibana-pull}185014[#185014]). -Machine Learning:: -* AIOps Log Rate Analysis: Fixes text field selection ({kibana-pull}186176[#186176]). -Presentation:: -* Fixes PresentationPanelError component throwing when error.message is empty string ({kibana-pull}186098[#186098]). - -[[release-notes-8.14.1]] -== {kib} 8.14.1 - -The 8.14.1 release includes the following bug fixes and known issues. - -[float] -[[known-issues-8.14.1]] -=== Known issues - -include::CHANGELOG.asciidoc[tag=known-issue-186969] - -include::CHANGELOG.asciidoc[tag=known-issue-189394] - -[float] -[[fixes-v8.14.1]] -=== Bug Fixes -Data Discovery:: -* Notify the user about issues with access to the default data view ({kibana-pull}184740[#184740]). -Discover:: -* Fixes resetting of breakdown field in a saved search ({kibana-pull}184668[#184668]). -Elastic Security:: -For the Elastic Security 8.14.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Fixes restart upgrade disabled condition ({kibana-pull}184586[#184586]). -Observability:: -* Fixes editing enabled state for project monitor ({kibana-pull}184775[#184775]). - -[[release-notes-8.14.0]] -== {kib} 8.14.0 - -For information about the {kib} 8.14.0 release, review the following information. - -[float] -[[known-issues-8.14.0]] -=== Known issues - -// tag::known-issue-186969[] -.Creating or editing APM, {observability} and {stack-monitor-app} rules fails -[%collapsible] -==== -*Details* + -When you attempt to create or edit some rule types in **{stack-manage-app}** > **{rules-ui}**, the request will fail with errors similar to `Cannot read properties of undefined (reading 'eui')` or `e.theme.eui is undefined`. -Refer to https://github.com/elastic/kibana/issues/186969[#186969] - -*Impact* + -This known issue impacts only {observability}, {stack-monitor-app}, and APM and {user-experience} rules. - -*Workaround* + -To work around this issue for {observability} and APM and {user-experience} rules, create them from the {observability} *Alerts* page. -Refer to <> and {observability-guide}/create-alerts-rules.html[Create and manage {observability} rules]. - -*Resolved* + -This issue is resolved in 8.15.0. -==== -// end::known-issue-186969[] - -// tag::known-issue-189394[] -.{webhook-cm} connector fails to send HTTP headers -[%collapsible] -==== -*Details* + -If you configured the {webhook-cm} connector to send key-value pairs as headers, that information is not sent unles you have also enabled the basic authentication option for the connector. -Refer to https://github.com/elastic/kibana/issues/189394[#189394]. - -*Impact* + -The impact of this issue will vary depending on the purpose of your headers. -For example, if you added an `ApiKey` authorization header, you might receive a `401` authorization error since it's no longer sent by the connector. - -*Workaround* + -To work around this issue, enable the *Require authentication for this webhook* option, which is the `hasAuth` property in the API. -You must then provide a username and password for authentication. - -*Resolved* + -This issue is resolved in 8.15.0. -==== -// end::known-issue-189394[] - -[float] -[[breaking-changes-8.14.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.14.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Renamed an advanced setting to enable {esql}. -[%collapsible] -==== -*Details* + -The advanced setting which hides {esql} from the UI has been renamed from `discover:enableESQL` to `enableESQL`. It is enabled by default and must be switched off to disable {esql} features from your {kib} applications. For more information, refer to ({kibana-pull}182074[#182074]). -==== - -[discrete] -[[breaking-178879]] -.The unified search filter builder is Generally Available. -[%collapsible] -==== -*Details* + -The unified search filter builder (OR / AND) is out of technical preview. For more information, refer to ({kibana-pull}178879[#178879]). -==== - -[discrete] -[[breaking-178860]] -.{esql} is Generally Available. -[%collapsible] -==== -*Details* + -{esql} comes out of technical preview and is generally available. For more information, refer to ({kibana-pull}178860[#178860]). -==== - -[discrete] -[[breaking-177549]] -.The region map visualization type is Generally Available in Lens. -[%collapsible] -==== -*Details* + -The visualization type, region map, comes out of technical preview and is generally available. For more information, refer to ({kibana-pull}177549[#177549]). -==== - -[discrete] -[[breaking-177089]] -.UI enhancements to managed tags. -[%collapsible] -==== -*Details* + -UI improvements for managed tags. For more information, refer to ({kibana-pull}177089[#177089]). -==== - -[discrete] -[[breaking-178159]] -.Downloading a CSV file from a saved search panel in a dashboard has become deprecated in favor of generating a CSV report. -[%collapsible] -==== -*Details* + -The mechanism of exporting CSV data from a saved search panel in a dashboard has been changed to generate a CSV report, rather than allowing the CSV data to be downloaded -without creating a report. To preserve the original behavior, it is necessary to update `kibana.yml` with the setting of `xpack.reporting.csv.enablePanelActionDownload: -true`. The scope of this breaking change is limited to downloading CSV files from saved search panels only; downloading CSV files from other types of dashboard panels is -unchanged. For more information, refer to {kibana-pull}178159[#178159]. -==== - -[float] -[[features-8.14.0]] -=== Features -{kib} 8.14.0 adds the following new and notable features. - -Alerting:: -* Adds a warning when changing the index pattern while at least one rule relies on the current one ({kibana-pull}180310[#180310]). -* Enrich the alert flyout with a new overview tab ({kibana-pull}178863[#178863]). -* Adds history chart for multiple conditions ({kibana-pull}180578[#180578]). -* Implements a tabbed design for existing alert detail pages ({kibana-pull}179529[#179529]). -* Stops reporting no data alert for missing groups that are untracked ({kibana-pull}179512[#179512]). -* Adds a new modal window that lets users interact with value lists directly ({kibana-pull}179339[#179339]). -* Adds new rule type selection modal ({kibana-pull}179285[#179285]). -* Enables filters for the alert search bar on the Observability Alerts page ({kibana-pull}178886[#178886]). -APM:: -* Adds a new API to support linking APM from the Profiling UI ({kibana-pull}180677[#180677]). -* Enables fast filter on Service inventory ({kibana-pull}179096[#179096]). -Cases:: -* Adds automatically creating cases when an alert is triggered ({kibana-pull}168369[#168369]). -* Adds "Additional Fields" field to the Jira action form UI ({kibana-pull}179262[#179262]). -Dashboards:: -* Adds logic and UI improvements where invalid controls selections are no longer ignored, improving the overall loading speed of a dashboard ({kibana-pull}174201[#174201]). -Discover:: -* Allows storing a configured {esql} visualization ({kibana-pull}175227[#175227]). -* Adds document comparison mode ({kibana-pull}166577[#166577]). -Elastic Security:: -For the Elastic Security 8.14.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -ES|QL:: -* Adds a query history component which displays the 20 most recent queries ({kibana-pull}178302[#178302]). -Fleet:: -* Adds subfeatures privileges for Fleet, for Agents, Agent policies and Settings, this feature is in technical preview ({kibana-pull}179889[#179889]). -* Implements state machine behavior for package install ({kibana-pull}178657[#178657]). -* Lowers the default `total_fields` limit to 1000 from 10k ({kibana-pull}178398[#178398]). -* Avoids subobject and scalar mapping conflicts by setting `subobjects: false` on custom integrations ({kibana-pull}178397[#178397]). -* Adds functionality to `default_fields` field, so a query can run against all fields in the mapping ({kibana-pull}178020[#178020]). -* Relaxes delete restrictions for managed content installed by Fleet ({kibana-pull}179113[#179113]). -Infrastructure:: -* Adds a dashboard tab in the UI to the asset details view ({kibana-pull}178518[#178518]). -Lens & Visualizations:: -* Replaces `expression_gauge` from `Goal` to `Bullet` in *Lens* ({kibana-pull}177766[#177766]). -Machine Learning:: -* Removes the technical preview badge for pattern analysis ({kibana-pull}181020[#181020]). -* Adds query history for the {esql} Data visualizer ({kibana-pull}179098[#179098]). -Management:: -* {kib} now uses Elasticsearch's `_async_search/status/{id}` endpoint (instead of `_async_search/{id}`) when polling on search requests to improve performance.({kibana-pull}178921[#178921]). -Observability:: -* The timeslice SLOs calculation for the SLI value now includes the no data slices as good slices. For existing "Timeslice" SLOs you will need to use the `POST /api/observability/slos/{slo.id}/_reset` endpoint to reset the transforms to take advantage of the new calculation ({kibana-pull}181888[#181888]). -* Adds support for user instructions via Knowledge base or API request ({kibana-pull}180263[#180263]). -* Adds baseline alert detail pages ({kibana-pull}180256[#180256]). -* Adds a new connector that can call the AI assistant ({kibana-pull}179980[#179980]). -* Adds a link to Discover to view good/bad events in the event panel ({kibana-pull}178008[#178008]). -* Adds customization for Virtual Columns in Field List ({kibana-pull}177626[#177626]). -* Adds dependencies for Burn Rate rule suppression ({kibana-pull}177078[#177078]). -* Adds grouping by multiple values when creating SLOs, allowing for dynamic creation of multiple SLOs from a single SLI definition ({kibana-pull}175063[#175063]). -Uptime:: -* Adds Monitor public API ({kibana-pull}169928[#169928]). - -For more information about the features introduced in 8.14.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.14.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.14.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.14.0]] +[[enhancement-v9.0.0]] === Enhancements -Alerting:: -* Adds history chart for multiple conditions ({kibana-pull}180578[#180578]). -* Show Alerting rule JSON for API requests ({kibana-pull}180085[#180085]). -* Implement tabbed design for existing alert detail pages ({kibana-pull}179529[#179529]). -* Adds new rule type selection modal ({kibana-pull}179285[#179285]). -* Moves alerts filter controls to `@kbn/alerts-ui-shared` package ({kibana-pull}179243[#179243]). -* Improves alerts table actions column performance ({kibana-pull}178632[#178632]). -* Adds Insights component to alerts details ({kibana-pull}178330[#178330]). -* Adds support to dhow the number of additional filters that are applied on the alerts table ({kibana-pull}177275[#177275]). -* Adds error boundary to AlertsTable ({kibana-pull}176412[#176412]). -* Improves the performance of `join_by_key` ({kibana-pull}175177[#175177]). -APM:: -* Show Universal Profiling data on transaction details page ({kibana-pull}176922[#176922]). -Connectors:: -* Adds support for the Jira connector API to support the `otherFields` property to pass additional fields to be used when updating or creating issues via the link:https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-post[Jira API] ({kibana-pull}178627[#178627]). -Dashboard:: -* Reorganized panel actions in the actions menu ({kibana-pull}178596[#178596]). -* Adds panel styling improvements ({kibana-pull}178139[#178139]). -* Adds "Apply" button to stop controls selections being automatically applied ({kibana-pull}174714[#174714]). -Discover:: -* Support field stats for {esql} query ({kibana-pull}178433[#178433]). -Elastic Security:: -For the Elastic Security 8.14.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -ES|QL:: -* Implicit casting changes ({kibana-pull}182989[#182989]). -* Adds validation and auto-complete for `date_diff` ({kibana-pull}182513[#182513]). -* Adds more functions to the validator ({kibana-pull}180640[#180640]). -* Adds an enhanced chart switcher to the *Lens* inline editing flyout ({kibana-pull}177790[#177790]). -Fleet:: -* Adds support for dimension mappings in dynamic templates ({kibana-pull}180023[#180023]). -* Adds CPU metrics to request diagnostics ({kibana-pull}179819[#179819]). -* Adds Settings Framework API and UI ({kibana-pull}179795[#179795]). -* Adds an Elastic Defend advanced policy option for pruning capability arrays ({kibana-pull}179766[#179766]). -* Adds Agent activity flyout enhancements ({kibana-pull}179161[#179161]). -* Adds unhealthy reason (input/output/other) to agent metrics ({kibana-pull}178605[#178605]). -* Adds a warning which is displayed when trying to upgrade agent to version > max fleet server version ({kibana-pull}178079[#178079]). -Infrastructure:: -* Adds alerts count to hosts data ({kibana-pull}176034[#176034]). -Lens & Visualizations:: -* combines the chart type selection options into a single, layer-based chart switch ({kibana-pull}178971[#178971]). -Machine Learning:: -* Hides file upload document count chart until data is searchable ({kibana-pull}181460[#181460]). -* Removes technical preview badge for pattern analysis ({kibana-pull}181020[#181020]). -* Adds support for ad-hoc Data Views for testing models in Trained Models UI ({kibana-pull}180795[#180795]). -* Adds open and edit panel actions for the Single Metric Viewer ({kibana-pull}179364[#179364]). -* Improves {esql} data visualizer performance with early limit and remove option to Analyze all ({kibana-pull}179286[#179286]). -* Adds query history for the {esql} Data visualizer ({kibana-pull}179098[#179098]). -* Hides the Filebeat configuration card for Serverless Search file upload ({kibana-pull}178987[#178987]). -* Improves performance of Field stats / Index data visualizer by reducing requests for empty fields, making it convenient to add multi-field ({kibana-pull}178766[#178766]). -* AIOps: Identify spike/dips with change point detection for log rate analysis ({kibana-pull}178338[#178338]). -* Adds ML feature privileges tooltip ({kibana-pull}181595[#181595]). -Management:: -* Transforms: Use basic stats for transform list, call full stats only for expanded rows ({kibana-pull}180271[#180271]). -* Allows adding a custom description for data view fields ({kibana-pull}168577[#168577]). -Observability:: -* Adds an advanced setting to enable simulated function calling ({kibana-pull}180621[#180621]). -* Adds a public API for /chat/complete ({kibana-pull}179618[#179618]). -* Persists settings in {es} instead of local storage ({kibana-pull}179380[#179380]). -* Allows filtering data views by type ({kibana-pull}179069[#179069]). -* Implements contextual actions ({kibana-pull}178405[#178405]). -* Adds the ability to create an SLI based on the availability of your synthetics monitors ({kibana-pull}177842[#177842]). -* Adds setting for user's preferred language for the AI assistant ({kibana-pull}176444[#176444]). -* Adds improvements to the AI assistants handling where a generated {esql} query has syntax errors ({kibana-pull}179919[#179919]). -* Adds grouping by multiple values when creating SLOs, allowing for dynamic creation of multiple SLOs from a single SLI definition({kibana-pull}175063[#175063]). -Platform:: -* Adds a new option, `system`, to the `theme:darkMode` Kibana advanced setting, that can be used to have Kibana's theme follow the system's (light or dark) ({kibana-pull}173044[#173044]). -Reporting:: -* A feature has been deprecated which allowed users to download a CSV file from a saved search panel in a dashboard, without having a report generated. Now, when users need to access saved search data from a dashboard panel as CSV, a normal report will be generated. To access the deprecated functionality, you can add `xpack.reporting.csv.enablePanelActionDownload: true` to kibana.yml, but this ability will be removed in a future version of Kibana ({kibana-pull}178159[#178159]). -Security:: -* Adds `Content-Security-Policy-Report-Only` header support ({kibana-pull}179949[#179949]). -* Renders a user-friendly UI for unhandled login failures ({kibana-pull}173959[#173959]). -* Migrates the Security AI Assistant into a flyout ({kibana-pull}176657[#176657]). -* Adds support for LangChain streaming for the `openai-functions` agent ({kibana-pull}174126[#174126]). -Unified Search:: -* Adds auto-refresh pause when the page is not visible ({kibana-pull}177693[#177693]). -* Adds support for not clearing the value on the filter builder when the operator changes ({kibana-pull}176911[#176911]). - -[float] -[[fixes-v8.14.0]] -=== Bug Fixes -Alerting:: -* Fixes bug with aggregation building for {es} query rule when there are multi-terms and a group by field ({kibana-pull}182865[#182865]). -* Fixes using `recoveredCurrent` and `activeCurrent` to determine how to update old alerts ({kibana-pull}180934[#180934]). -* Fixes logging the errors reported by `addLastRunError` to the console ({kibana-pull}179962[#179962]). -* Preserves relative snooze when adding or removing snooze schedules ({kibana-pull}178344[#178344]). -* Reverts changes to notify when there is a change on connector configuration ({kibana-pull}177054[#177054]). -APM:: -* Fixes the cardinality count for SLOs generated from a single SLI definition was previously incorrect for APM latency and APM availability SLIs ({kibana-pull}183171[#183171]). -* Fixes the telemetry collection of Logstash with metricbeat monitoring ({kibana-pull}182304[#182304]). -* Fixes otel service detection ({kibana-pull}180574[#180574]). -Cases:: -* Displays the link to the Cases page under observability when Cases {kib} privileges are granted regardless of the other application privileges ({kibana-pull}182569[#182569]). -Canvas:: -* Fixes workpad templates using legacy filters function ({kibana-pull}176093[#176093]). -Connectors:: -* Removes secrets from the connectors before validating in `actionsClient` getAll ({kibana-pull}179837[#179837]). -Dashboard:: -* Fixes opening panel title edit flyout only when panel title is clicked ({kibana-pull}180137[#180137]). -* Disallows copy to dashboard from a maximized panel ({kibana-pull}179422[#179422]). -Discover:: -* Fixes issue where an ES query rule could be created with a data view, then the data view is changed but there's still a reference to the previous data view's timestamp field. ({kibana-pull}182883[#182883]). -* Fixes view all matches button for timestamps with numeric date formats ({kibana-pull}181769[#181769]). -* Fixes time range filters for CSV when a relative time filter is specified in UI ({kibana-pull}181067[#181067]). -* Fixes the status list to be static ({kibana-pull}177435[#177435]). -* Fixes a timeout for a "View all matches" request ({kibana-pull}181859[#181859]). -* Fixes tracking total hits for "View all matches" button ({kibana-pull}181811[#181811]). -* Fixes comments bugs in Discover and Data Visualizer ({kibana-pull}181283[#181283]). -* Fixes the problem with Discover and queries without the from command ({kibana-pull}180692[#180692]). -* Fixes displaying "Unsaved changes" badge on time filter changes in case time range is stored along with saved search ({kibana-pull}178659[#178659]). -Elastic Security:: -For the Elastic Security 8.14.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -ES|QL:: -* Fixes validation on string implicit casting for dates and other minor issues ({kibana-pull}181571[#181571]). -* Fixes validation for some specific {esql} types ({kibana-pull}181381[#181381]). -* Fixes retrieving the indices from AST parsing ({kibana-pull}181271[#181271]). -* Fixes max and min accepting date fields ({kibana-pull}180945[#180945]). -* Fixes autocomplete with incompatible arguments ({kibana-pull}180874[#180874]). -* Fixes providing the CCS indices on the autosuggestion ({kibana-pull}180610[#180610]). -* Fixes to `auto_bucket` and constant-only parameters ({kibana-pull}180509[#180509]). -* Fixes persisting columns sorting in saved search ({kibana-pull}180193[#180193]). -* Fixes client-side validation: make `and` and `or` accept `null` ({kibana-pull}179707[#179707]). -* Fixes to the @timestamp column ({kibana-pull}176834[#176834]). -* Fixes validation running on outdated queries when typing ({kibana-pull}180977[#180977]). -Fleet:: -* Adds validation to dataset field in input packages to disallow special characters ({kibana-pull}182925[#182925]). -* Fixes rollback input package install on failure ({kibana-pull}182665[#182665]). -* Fixes cloudflare template error ({kibana-pull}182645[#182645]). -* Fixes displaying `Config` and `API reference` tabs if they are not needed ({kibana-pull}182518[#182518]). -* Fixes allowing fleet-server agent upgrade to newer than fleet-server ({kibana-pull}181575[#181575]). -* Fixes flattened inputs in the configuration tab ({kibana-pull}181155[#181155]). -* Adds callout when editing an output about plain text secrets being re-saved to secret storage ({kibana-pull}180334[#180334]). -* Removes unnecessary field definitions for custom integrations ({kibana-pull}178293[#178293]). -* Fixes secrets UI inputs in forms when secrets storage is disabled server side ({kibana-pull}178045[#178045]). -* Fixes not being able to preview or download files with special characters ({kibana-pull}176822[#176822]). -* Fixes KQL validation being applied in search boxes ({kibana-pull}176806[#176806]). -Lens & Visualizations:: -* Fixes import to other spaces ({kibana-pull}183076[#183076]). -* Fixes clip path cutting mobile view in *Lens* ({kibana-pull}182376[#182376]). -* Fixes error message layer indexing in *Lens* ({kibana-pull}180898[#180898]). -* Fixes markdown table borders being visible in the text panels ({kibana-pull}180454[#180454]). -* Fixes default formatter for gauge charts in *Lens* ({kibana-pull}179473[#179473]). -* Fixes error for non-date histogram charts that contain `showCurrentTimeMarker:true` setting in *Lens* ({kibana-pull}179452[#179452]). -* Fixes overriding title when using the inline *Lens* editor ({kibana-pull}182897[#182897]). -Machine Learning:: -* Single Metric Viewer: Ensures edit to different job works as expected ({kibana-pull}183086[#183086]). -* Single Metric Viewer: Fixes hover functionality in the anomalies table ({kibana-pull}182297[#182297]). -* Single Metric Viewer: Ensures chart displays correctly when opening from a job annotation ({kibana-pull}182176[#182176]). -* Single Metric Viewer: Displays error message when insufficient permissions ({kibana-pull}180858[#180858]). -* Fixes retention of categorization example limits ({kibana-pull}182103[#182103]). -* Fixes responsive layout for Trained Models table ({kibana-pull}181541[#181541]). -* Removes datafeed preview frozen tier message in serverless ({kibana-pull}181440[#181440]). -* ML anomaly swim lane: Ensure dashboard reset works correctly ({kibana-pull}181346[#181346]). -* AIOps: Fixes query string for the change point detection metric charts ({kibana-pull}181314[#181314]). -* AIOps: Fixes missing field caps filters for log rate analysis ({kibana-pull}181109[#181109]). -* AIOps: Fixes not running log rate analysis twice when no spike/dip is detected ({kibana-pull}180980[#180980]). -* Removes all SCSS files in favor of CSS ({kibana-pull}178314[#178314]). -* Fixes polling for blocked anomaly detection jobs ({kibana-pull}178246[#178246]). -* Adds trained model list permission UI tests ({kibana-pull}174045[#174045]). -Management:: -* Fixes transform health rule failure with a long list of continuous transforms ({kibana-pull}183153[#183153]). -* The runtime field creation modal now shows indexed values instead of source values in the preview pane ({kibana-pull}181246[#181246]). -Monitoring:: -* Fixes broken KQL filter for Cluster Health rule ({kibana-pull}183259[#183259]). -Observability:: -* Fixes Triggered column timezone and format ({kibana-pull}182653[#182653]). -* Fixes refetching data views on save ({kibana-pull}181033[#181033]). -* Allows editing of charts when {es} query fails ({kibana-pull}180500[#180500]). -* Fixes Agent ID not being parsed correctly ({kibana-pull}180301[#180301]). -* Changes `Custom KQL` to `Custom Query` ({kibana-pull}179497[#179497]). -* Fixes filtering for a histogram legend value ({kibana-pull}178551[#178551]). -* Fixes an OpenAI Connector default model assignment bug ({kibana-pull}178369[#178369]). -Platform:: -* Update static asset headers to include `public` and `immutable` link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control[cache control directives] to a large number of assets served by Kibana, which should reduce the number of requests for static assets in browsers that respect these directives. ({kibana-pull}180378[#180378]). -* Omits apiKey from RUM agent ({kibana-pull}178902[#178902]). -Presentation:: -* Fixes clicking "Explore in maps" button not taking users to maps ({kibana-pull}181903[#181903]). -Security:: -* Fixed escaped terminal codes logging in interactive plugin setup ({kibana-pull}180342[#180342]). -* Fixes an issue with Security Assistant send to timeline functionality ({kibana-pull}177771[#177771]). -SharedUX:: -* Fixes multiline query in expanded mode displaying undefined for line number ({kibana-pull}181544[#181544]). -* Removes unused legacy markdown component ({kibana-pull}179272[#179272]). -* Fixes typo in chromium driver factory page event ({kibana-pull}178708[#178708]). -* Fixes not being able to enter the {esql} editor when the column menu is open ({kibana-pull}178622[#178622]). -* Fixes an issue in Reporting with consistently showing the toast message for completed report jobs ({kibana-pull}177537[#177537]). -* Fixes time picker to show allowed formats properly in absolute tabs ({kibana-pull}182152[#182152]). - -[[release-notes-8.13.4]] -== {kib} 8.13.4 - -The 8.13.4 release includes the following bug fixes. - -[float] -[[fixes-v8.13.4]] -=== Bug Fixes -Lens & Visualizations:: -* Fixes table sorting when changing the interval on the time picker in *Lens* ({kibana-pull}182173[#182173]). -Dashboards:: -* Fixes a bug with drilldowns where the control group on a source dashboard could be replaced by the control group from the destination dashboard ({kibana-pull}179485[#179485]). - -[[release-notes-8.13.3]] -== {kib} 8.13.3 - -The 8.13.3 release includes the following bug fixes. - -[float] -[[fixes-v8.13.3]] -=== Bug Fixes - -Alerting:: -* Manage loading fields at initialization ({kibana-pull}180412[#180412]). -Elastic Security:: -For the Elastic Security 8.13.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Fixes managed agent policy preconfiguration update ({kibana-pull}181624[#181624]). -* Use lowercase dataset in template names ({kibana-pull}180887[#180887]). -* Fixes KQL/kuery for getting Fleet Server agent count ({kibana-pull}180650[#180650]). -Index Management:: -* Fixes `allow_auto_create` field in the Index Template form ({kibana-pull}178321[#178321]). -Lens & Visualizations:: -* Fixes controls on fields with custom label ({kibana-pull}180615[#180615]). -Machine Learning:: -* Fixes deep link for Index data visualizer & ES|QL data visualizer ({kibana-pull}180389[#180389]). -Observability:: -* Make anomalyDetectorTypes optional ({kibana-pull}180717[#180717]). -SharedUX:: -* Revert change to shared UX markdown component for dashboard vis ({kibana-pull}180906[#180906]). -Sharing:: -* Default to saved object description when panel description is not provided ({kibana-pull}181177[#181177]). - -[[release-notes-8.13.2]] -== {kib} 8.13.2 - -The 8.13.2 release includes the following bug fixes. - -[float] -[[fixes-v8.13.2]] -=== Bug Fixes -Canvas:: -* Fixes text settings to be honored in Canvas markdown elements ({kibana-pull}179948[#179948]). -* Fixes custom styling for Canvas markdown Workpads ({kibana-pull}180070[#180070]). -Discover:: -* Fixes keyboard navigation for search input on the document viewer flyout ({kibana-pull}180022[#180022]). -Elastic Security:: -For the Elastic Security 8.13.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Fixes having to wait ten minutes after agent upgrade if agent cleared watching state ({kibana-pull}179917[#179917]). -Fixes using the latest available version in K8's manifest instead of the latest compatible version ({kibana-pull}179662[#179662]). -* Fixes a step in add agent instructions where a query to get all agents was unnecessary ({kibana-pull}179603[#179603]). -Lens & Visualizations:: -* Fixes custom styling for TSVB markdown visualizations ({kibana-pull}180053[#180053]). -Machine Learning:: -* Single Metric Viewer embeddable: Ensures the detector index is passed to chart correctly ({kibana-pull}179761[#179761]). -* AIOps: Fixes text field candidate selection for log rate analysis ({kibana-pull}179699[#179699]). -Management:: -* Fixes the Response tab loading time to be faster ({kibana-pull}180035[#180035]). -Maps:: -* Fixes APM data view ID ({kibana-pull}179257[#179257]). -Monitoring:: -* Fixes a runtime error by adding a default value for source and target ({kibana-pull}180043[#180043]). -Operations:: -* Fixes an issue with {kib} looking for a configuration file outside of the {kib} home directory, potentially preventing startup due to insufficient permissions ({kibana-pull}179847[#179847]). - -[[release-notes-8.13.1]] -== {kib} 8.13.1 - -The 8.13.1 release includes the following bug fixes. [float] -[[enhancement-v8.13.1]] -=== Enhancements -Fleet:: -* Remove `index.query.default_field` setting from managed component template settings ({kibana-pull}178020[#178020]). - -[float] -[[fixes-v8.13.1]] -=== Bug Fixes -Alerting:: -* Limit useEffect to calculate view in app URL ({kibana-pull}179197[#179197]). -Data Discovery:: -* Hide "Save"/"Save as" actions from "Unsaved changes" badge for read-only users ({kibana-pull}179132[#179132]). -Elastic Security:: -For the Elastic Security 8.13.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Use index exists check in fleet-metrics-task ({kibana-pull}179404[#179404]). -Lens & Visualizations:: -* Fixes wilcard complex scenarios ({kibana-pull}178938[#178938]). -Machine Learning:: -* AIOps: Fix text field candidate selection for log rate analysis ({kibana-pull}179699[#179699]). -Observability:: -* Fall back to top 5 docs on scoring error ({kibana-pull}179615[#179615]). -* Fixing APM data view id ({kibana-pull}179257[#179257]). - -[[release-notes-8.13.0]] -== {kib} 8.13.0 - -For information about the {kib} 8.13.0 release, review the following information. - -[float] -[[known-issues-8.13.0]] -=== Known issues - -[discrete] -[[known-179457]] -.In Canvas, an empty text element incorrectly triggers a toast notification -[%collapsible] -==== -*Details* + -In Canvas, an empty text element incorrectly triggers a "Markdown content is required in [readOnly] mode" toast notification. For more information, refer to ({kibana-pull}179457[#179457]). -==== - -[discrete] -[[known-177938-8.13]] -.Index templates UI incorrectly sets the `allow_auto_create` field to `false` by default. -[%collapsible] -==== -*Details* + -If you are creating or editing an index template using the Index Templates form under the Index Management page, the `allow_auto_create` field is incorrectly set to `false` by default (the default value should be `undefined`). For more information, refer to ({kibana-issue}177938[#177938]). -==== - -[float] -[[breaking-changes-8.13.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.13.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Removes conditional topics for Kafka outputs -[%collapsible] -==== -*Details* + -The Kafka output no longer supports conditional topics. For more information, refer to ({kibana-pull}176879[#176879]). -==== - -[discrete] -.Most Fleet installed integrations are now read-only and labelled with a *Managed* tag in the Kibana UI -[%collapsible] -==== -*Details* + - -Integration content installed by {fleet} is no longer editable. This content is tagged with *Managed* in the {kib} UI, and is Elastic managed. This content cannot be edited or deleted, however managed visualizations, dashboards, and saved searches can be cloned. The clones can be customized. - -When cloning a dashboard the cloned panels become entirely independent copies that are unlinked from the original configurations and dependencies. - -Managed content relating to specific visualization editors such as Lens, TSVB, and Maps, the clones retain the original reference configurations. The same applies to editing any saved searches in a managed visualization. - -For more information, refer to ({kibana-pull}172393[#172393]). -==== - -[discrete] -.Removes `is_nan`, `is_finite`, and `is_infinite` functions from {esql} -[%collapsible] -==== -*Details* + -These functions have been removed from {esql} queries as they are not supported. Errors would be thrown when trying to use them. For more information, refer to ({kibana-pull}174674[#174674]). -==== - -[float] -[[features-8.13.0]] -=== Features -{kib} 8.13.0 adds the following new and notable features. - -Alerting:: -* The Custom Threshold rule is now out of technical preview and generally available ({kibana-pull}176514[#176514]). -* Adds threshold to the custom threshold alert document ({kibana-pull}176043[#176043]). -* Adds the ability to post Block Kit messages to the Slack Web API action ({kibana-pull}174303[#174303]). -* Adds criticality fields and risk score fields to alert schema ({kibana-pull}174626[#174626]). -* Adds fields table to rule details page alert flyout ({kibana-pull}172830[#172830]). -APM:: -* Show Universal Profiling on Transaction view ({kibana-pull}176302[#176302]). -* Adds a specific metrics dashboard for opentelemetry-node services ({kibana-pull}174700[#174700]). -Dashboards:: -* Adds the creating of {esql} charts from the dashboard ({kibana-pull}171973[#171973]). -Elastic Security:: -For the Elastic Security 8.13.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -{esql}:: -* Adds enhanced {esql} query editing experience with client side validation ({kibana-pull}170071[#170071]). -Fleet:: -* Adds reference to `ecs@mappings` for each index template ({kibana-pull}174855[#174855]). -* Adds support for the `subobjects` setting on the object type mapping ({kibana-pull}171826[#171826]). -Infrastructure:: -* Adds a new Services component to host details UI ({kibana-pull}176539[#176539]). -Integrations:: -* Adds tiles for Notion and Redis connectors ({kibana-pull}177306[#177306]). -Lens & Visualizations:: -* Adds workspace panel dimensions by chart type ({kibana-pull}168651[#168651]). -Machine Learning:: -* Adds the single metric viewer embeddable for dashboards ({kibana-pull}175857[#175857]). -* Adds support for {esql} in Data visualizer ({kibana-pull}174188[#174188]). -Management:: -* Adds a method of excluding data tiers when getting a field list ({kibana-pull}167946[#167946]). -Reporting:: -* Adds support for 'auto' value for CSV scrolling duration ({kibana-pull}175005[#175005]). -* Adds CSV reporting with {esql} in Discover ({kibana-pull}174511[#174511]). -Observability:: -* Adds actions column ({kibana-pull}175872[#175872]). -* Adds resource column with tooltip ({kibana-pull}175287[#175287]). -* Adds support for the Timeslice Metric visualization on the SLO detail page ({kibana-pull}175281[#175281]). -* Refactor alert table registration and change default columns ({kibana-pull}175119[#175119]). -* Adds customization for virtual columns and add the 1st virtual column ({kibana-pull}173732[#173732]). -* Adds a new option, Visualize this query, to the generated {esql} quires in the Elastic Assistant ({kibana-pull}174677[#174677]). - -For more information about the features introduced in 8.13.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.13.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.13.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.13.0]] -=== Enhancements -Alerting:: -* Improve default AlertsTable columns configuration ({kibana-pull}176137[#176137]). -* Evenly distribute bulk-enabled alerting rules ({kibana-pull}172742[#172742]). -* Implement a mechanism to copy source data into the alerts-as-data documents for ES Query rules ({kibana-pull}171129[#171129]). -APM:: -* Adds detectors for anomaly rules creation ({kibana-pull}171901[#171901]). -* Allows Universal Profiling agent to send error frames ({kibana-pull}176537[#176537]). -* Adds Azure settings ({kibana-pull}176386[#176386]). -* Adds table search to services, transactions and errors ({kibana-pull}174490[#174490]). -* Adds memoization to hooks consumed on service inventory page ({kibana-pull}173973[#173973]). -* Adds stack traces Threads embeddable ({kibana-pull}173905[#173905]). -* Enhances the diff topN functions ({kibana-pull}173397[#173397]). -* Updates Indices API to support sourcemap parameters ({kibana-pull}177847[#177847]). -* Fixes sorting instances table results on server-side ({kibana-pull}174164[#174164]). -Cases:: -* Required custom fields now support default values, which will be used to automatically populate the custom fields if they are not defined when creating and updating cases ({kibana-pull}175961[#175961]). -* Persists all filter options of the cases table, including custom fields, in the URL. The filtering is also persisted when navigating back and forth between pages ({kibana-pull}175237[#175237]). -* Enables the alerts table for cases in the Stack Management ({kibana-pull}172217[#172217]). -Dashboard:: -* Adds step setting for range slider control ({kibana-pull}174717[#174717]). -* Adds a deprecation badge in Dashboard on legacy control panels ({kibana-pull}174302[#174302]). -* Adds external link icon to external URL links in the Links panel ({kibana-pull}174407[#174407]). -* Re-adds filtering settings in the Control settings UI ({kibana-pull}172857[#172857]). -* Adds number field support the the Options List control({kibana-pull}172106[#172106]). -Discover:: -* Hides the Empty fields section if there are no fields in it ({kibana-pull}172956[#172956]). -* Adds data table header row height configuration ({kibana-pull}175501[#175501]). -* Adds new fields ingested in the background to the field list with valid mappings ({kibana-pull}172329[#172329]). -* Adds caching to data view field list request with a `stale-while-revalidate` strategy ({kibana-pull}168910[#168910]). -* Distinguish among empty and available fields in Discover {esql} mode ({kibana-pull}174585[#174585]). -Elastic Security:: -For the Elastic Security 8.13.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Elastic Search:: -* Adds `ignore_empty_value` to generated set processor ({kibana-pull}175172[#175172]). -{esql}:: -* Adds clickable badges on compact view for {esql} queries ({kibana-pull}176568[#176568]). -* Adds link on the documentation popover to navigate to our external docs ({kibana-pull}176377[#176377]). -* Adds support for canceling {esql} queries in *Lens* ({kibana-pull}176277[#176277]). -* Adds quick fixes feature to {esql} query validation errors ({kibana-pull}175553[#175553]). -* Adds support for command settings ({kibana-pull}175114[#175114]). -* Allows line breaks on the {esql} editor ({kibana-pull}173596[#173596]). -Fleet:: -* Adds `skipRateLimitCheck` flag to the Upgrade API and Bulk_upgrade API ({kibana-pull}176923[#176923]). -* Adds making datastream rollover lazy ({kibana-pull}176565[#176565]). -* Stops creating the `{type}-{datastet}@custom` component template during package installation ({kibana-pull}175469[#175469]). -* Adds the `xpack.fleet.isAirGapped` flag ({kibana-pull}174214[#174214]). -* Adds a warning when download upgrade is failing ({kibana-pull}173844[#173844]). -* Adds a message explaining why an agent is not upgradeable ({kibana-pull}173253[#173253]). -* Makes logs-* and metrics-* data views available across all spaces ({kibana-pull}172991[#172991]). -* Adds flag for pre-release to templates/inputs endpoint ({kibana-pull}174471[#174471]). -* Adds concurrency control to Fleet data stream API handler ({kibana-pull}174087[#174087]). -* Adds a handlebar helper to percent encode a given string ({kibana-pull}173119[#173119]). -Integrations:: -* Enables minute frequency for incremental syncs ({kibana-pull}176603[#176603]). -Lens & Visualizations:: -* Datatable improvements in *Lens* ({kibana-pull}174994[#174994]). -* Adds IP Prefix Aggregation-based Visualization ({kibana-pull}173474[#173474]). -* Displays the suggestions on the dataview mode charts in *Lens* ({kibana-pull}172924[#172924]). -* Enables treemap in suggestions in *Lens* ({kibana-pull}169095[#169095]). -Machine Learning:: -* AIOps: Adds UI action for Change Point Detection embeddable to open in the ML app ({kibana-pull}176694[#176694]). -* AIOps: Enhances display of results for alias field types in pattern analysis ({kibana-pull}176586[#176586]). -* Enhances support for {esql} Data visualizer ({kibana-pull}176515[#176515]). -* Adds a prompt to delete alerting rules upon the anomaly detection job deletion ({kibana-pull}176049[#176049]). -* Adds grok highlighting to the file data visualizer ({kibana-pull}175913[#175913]). -* Adds a warning if trained model is referenced by the `_inference` API ({kibana-pull}175880[#175880]). -* Adds a feedback button to anomaly explorer and single metric viewer for metrics hosts anomaly detection jobs ({kibana-pull}175613[#175613]). -* Adds actions menu to anomaly markers in Single Metric Viewer chart ({kibana-pull}175556[#175556]). -* AIOps: Adds expanded rows to pattern analysis table ({kibana-pull}175320[#175320]). -* AIOps: Adds link to log rate analysis from anomaly table ({kibana-pull}175289[#175289]). -* AIOps: Improves pattern analysis refresh behavior ({kibana-pull}174516[#174516]). -* Adds option for using table layout in the Change Point Detection embeddable ({kibana-pull}174348[#174348]). -* Adds high count option to the anomaly detection categorization wizard ({kibana-pull}174252[#174252]). -* Improves Data drift time range selection & shows hints for analysis process ({kibana-pull}174049[#174049]). -* Adds link to anomaly detection job creation from the alerting rule form ({kibana-pull}174016[#174016]). -* Adds warning for legacy method for installing pre-configured APM transaction job ({kibana-pull}173375[#173375]). -* Enhances toast notifications to improve error reporting ({kibana-pull}173362[#173362]). -* Adds document count chart for file upload ({kibana-pull}173210[#173210]). -* Trained models: Adds workflow for creating an ingest pipeline for a trained model ({kibana-pull}170902[#170902]). -* Updates alerts-as-data payload for Anomaly detection health and Transform health rules ({kibana-pull}176307[#176307]). -Management:: -* Changes the column "Components" in the index templates table to display number of component templates ({kibana-pull}175823[#175823]). -Maps:: -* Adds support in maps for the {esql} `geo_shape` column type ({kibana-pull}175156[#175156]). -* Adds a {esql} card to the add layer UI in maps ({kibana-pull}173481[#173481]). -* Displays vector tile results in vector tile inspector ({kibana-pull}172627[#172627]). -Observability:: -* Enable burn rate alert by default during creation via UI ({kibana-pull}176317[#176317]). -* Implements Bedrock support for the Claude models ({kibana-pull}176191[#176191]). -* Adds link for AI Assistant in Observability left hand navigation ({kibana-pull}176144[#176144]). -* Handle token limit error message improvement ({kibana-pull}175871[#175871]). -* Corrects common {esql} mistakes ({kibana-pull}175520[#175520]). -* Adds resource column with tooltip ({kibana-pull}175287[#175287]). -* Adds alert fields table to Observability flyout ({kibana-pull}174685[#174685]). -Platform:: -* Adds an option to disable APM user redaction ({kibana-pull}176566[#176566]). -Reporting:: -* Updated CSV export to insert error messages into the contents if the export results in an empty file due to an error ({kibana-pull}175852[#175852]). -* Adds setting to use PIT or Scroll API ({kibana-pull}174980[#174980]). -Security:: -* Default value of `server.securityResponseHeaders.referrerPolicy` changed to `strict-origin-when-cross-origin` ({kibana-pull}177559[#177559]). -* Adds server side validation for uploaded file types ({kibana-pull}173960[#173960]). -Sharing:: -* Show 'View details' UI action to open clusters inspector tab when request fails ({kibana-pull}172971[#172971]). -Unified Search:: -* Adds 'greater than or equals to' and 'less than' options to filter options for date ranges and numbers ({kibana-pull}174283[#174283]). -* Adds a one minute option to the date picker ({kibana-pull}172944[#172944]). -* Adds multiple improvements to saved query management ({kibana-pull}170599[#170599]). - -[float] -[[fixes-v8.13.0]] -=== Bug Fixes -Alerting:: -* Fixes Elasticsearch query rule with KQL evaluation matched document count ({kibana-pull}176620[#176620]). -* Fixes alerts not being visible when number of alerts are more than max alert limit ({kibana-pull}178019[#178019]). -* Fixes `ruleClient.getAlertState` error when a task is no longer available ({kibana-pull}177077[#177077]). -* Fixes AlertsTable sorting with inactive columns and default sort direction ({kibana-pull}176172[#176172]). -APM:: -* Fixes an infinite loop caused by matching child and parent IDs ({kibana-pull}177914[#177914]). -* Fixes inconsistencies on Service Overview page ({kibana-pull}176293[#176293]). -* Fixes occurrences cut off value to be fully visible ({kibana-pull}175307[#175307]). -Cases:: -* Fixes a bug where if there are required custom fields on a case whose values are empty, it is not possible to update any of those fields ({kibana-pull}176574[#176574]). -Dashboard:: -* Fixes hidden add panel popover on smaller viewports ({kibana-pull}178593[#178593]). -* Fixes form validation when saving Links to library ({kibana-pull}176021[#176021]). -Design:: -* Fixes a11y concerns ({kibana-pull}174772[#174772]). -Discover:: -* Update full screen handling to fix z-index issues in {kib} ({kibana-pull}178788[#178788]). -* Fixes "New" link in {esql} mode ({kibana-pull}177038[#177038]). -* Fixes grid column settings on Surrounding Documents page ({kibana-pull}177003[#177003]). -* Fixes time zone for field popover histogram and removes `getTimeZone` duplicates ({kibana-pull}172705[#172705]). -* Fixes including global filters when opening a saved search ({kibana-pull}175814[#175814]). -* Fixes loading a missing data view in the case where it's not provided by the consuming plugin ({kibana-pull}173017[#173017]). -Elastic Security:: -For the Elastic Security 8.13.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Elastic Search:: -* Fixes minor problems with integrations for Enterprise Search ({kibana-pull}177570[#177570]). -Fleet:: -* Fixes a bug where secret values were not deleted on output type change ({kibana-pull}178964[#178964]). -* Fixes formatting for some integrations on the overview page ({kibana-pull}178937[#178937]). -* Fixes the name of {es} output workers configuration key ({kibana-pull}178329[#178329]). -* Fixes clean up of the `.fleet-policies` entries when deleting an agent policy. ({kibana-pull}178276[#178276]). -* Fixes only showing remote {es} output health status if later than last updated time ({kibana-pull}177685[#177685]). -* Fixes status summary when `showUpgradeable` is selected ({kibana-pull}177618[#177618]). -* Fixes issue of agent sometimes not getting inputs using a new agent policy with system integration ({kibana-pull}177594[#177594]). -* Fixes the activity flyout keeping the scroll state on rerender ({kibana-pull}177029[#177029]). -* Fixes inactive popover tour not resetting ({kibana-pull}176929[#176929]). -* Fixes `isPackageVersionOrLaterInstalled` to check for installed package ({kibana-pull}176532[#176532]). -* Removes pre-release exception for Synthetics package ({kibana-pull}176249[#176249]). -* Fixes output validation when creating package policy ({kibana-pull}175985[#175985]). -* Fixes allowing an agent to upgrade to a newer patch version than fleet-server ({kibana-pull}175775[#175775]). -* Fixes asset creation during custom integration installation ({kibana-pull}174869[#174869]). -* Fixes cascading agent policy's namespace to package policies ({kibana-pull}174776[#174776]). -Infrastructure:: -* Fixing derivative aggregation on kubernetes pods ({kibana-pull}177295[#177295]). -Lens & Visualizations:: -* Fixes handling of `doc_count` on time shift scenarios ({kibana-pull}178394[#178394]). -* Fixes the title of a formula based metric visualization defaulting to `Formula` in *Lens* ({kibana-pull}177299[#177299]). -* Fixes sorting on table when using Last value on date field in *Lens* ({kibana-pull}177288[#177288]). -* Align formatters for point and range annotations in *Lens* ({kibana-pull}177199[#177199]). -* Fixes the mapping of {es} fields ({kibana-pull}176665[#176665]). -* Fixes the display of warnings with additional information ({kibana-pull}176660[#176660]). -* Fixes clicking the editor closing the {esql} documentation popover ({kibana-pull}176394[#176394]). -* Fixes creating or removing layers in *Lens* loosing focus ({kibana-pull}175893[#175893]). -* Fixes using the same adhoc data views for queries with the same index pattern ({kibana-pull}174736[#174736]). -* Fixes the markdown editor not expanding to fill vertical space ({kibana-pull}174276[#174276]). -Machine Learning:: -* Preserves field formatters between rule executions ({kibana-pull}178621[#178621]). -* Fixes quick create geo job created by ID ({kibana-pull}177691[#177691]). -* AIOps: Fixes incomplete edge buckets for change point detection ({kibana-pull}177579[#177579]). -* AIOps: Fixes grouping for fields with large arrays ({kibana-pull}177438[#177438]). -* Fixes Single Metric Viewer's zoom settings in URL are not restored if URL specifies a forecast ID ({kibana-pull}176969[#176969]). -* Adds delay to deletion modal to avoid flickering ({kibana-pull}176424[#176424]). -* Fixes Single Metric Viewer not showing chart for metric functions and mismatch function in tooltip ({kibana-pull}176354[#176354]). -* Fixes multi-match query overriding filters in Data Visualizer and Data Drift ({kibana-pull}176347[#176347]). -* Fixes only enabling apply button in anomaly detection datafeed chart if changes have been made ({kibana-pull}174425[#174425]). -Management:: -* Fixes editing a rollup data view ({kibana-pull}177446[#177446]). -* Fixes showing previously selected no time field setting ({kibana-pull}177221[#177221]). -* Fixes package showing 'Needs authorization' warning even after transform assets were authorized successfully ({kibana-pull}176647[#176647]). -* Removes the polling interval to reload indices in the background ({kibana-pull}174681[#174681]). -* Fixes keeping the filters value in the URL for the indices list ({kibana-pull}174515[#174515]). -* Fixes categorizing fields as empty that never had a value in matching indices ({kibana-pull}174063[#174063]). -* Fixes the badge for managed data streams in Index Management ({kibana-pull}173408[#173408]). -* Some input fields are now disabled when editing managed repositories in Snapshot & Restore ({kibana-pull}173137[#173137]). -* Input fields to change snapshot name and repository are now disabled when editing managed SLM policies in Snapshot & Restore ({kibana-pull}172291[#172291]). -Maps:: -* Fixes Request URL Too Long (414) with heatmap layer when data view has larger number of date fields ({kibana-pull}177900[#177900]). -* Fixes the maps application breaking if you open a map with layers or sources that do not exist (#176419). -Observability:: -* SLOs: Does not display group by cardinality when group by is not selected ({kibana-pull}178133[#178133]). -* Fixes bug in inventory rule for Inbound and Outbound traffic threshold (both preview and executor) ({kibana-pull}177997[#177997]). -* Fixes more lenient parsing of suggestion scores ({kibana-pull}177898[#177898]). -* Fixes refreshing the conversations list on conversation update ({kibana-pull}177897[#177897]). -* Fixes SLO details path is broken when `instanceId` contains a forward slash ({kibana-pull}177843[#177843]). -* Prevents users from picking date fields for the group-by selector ({kibana-pull}177830[#177830]). -* Fixes undefined issue cased due row check missing ({kibana-pull}177293[#177293]). -* Fixes making IDs unique to capture multiple invocations of the same query ({kibana-pull}173433[#173433]). -Querying & Filtering:: -* Fixes autocomplete value suggestions for KQL when the corresponding index has no tier preference set ({kibana-pull}176355[#176355]). -SharedUX:: -* Fixes how sample data test install state is determined in test ({kibana-pull}178529[#178529]). -* Fixed a bug in Stack Management Reporting where the Delete button was not disabled after click ({kibana-pull}173707[#173707]). -Uptime:: -* Require `unifiedSearch` plugin and include in top-level Kibana Context Provider ({kibana-pull}178421[#178421]). -* Omit the request `Content-Type` header if body check is empty ({kibana-pull}178399[#178399]). -* Fixes Certificates page for monitors that have status alert disabled ({kibana-pull}178336[#178336]). -* Fixes allowing Synthetics global parameters to include dashes ({kibana-pull}178054[#178054]). -* Change test now trigger route from GET to POST ({kibana-pull}177093[#177093]). -* Fixes and simplifies write access default behavior ({kibana-pull}177088[#177088]). - -[[release-notes-8.12.2]] -== {kib} 8.12.2 - -The 8.12.2 release includes the following bug fixes. - -[float] -[[fixes-v8.12.2]] -=== Bug Fixes -Alerting:: -* Fixes Discover results when an alert excludes matches from previous runs ({kibana-pull}176690[#176690]). -* Fixes bug where using select all on the rules list bypassed filters ({kibana-pull}176962[#176962]). -Elastic Security:: -For the Elastic Security 8.12.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Fixes a popover about inactive agents not being dismissible ({kibana-pull}176929[#176929]). -* Fixes logstash output being link:https://www.rfc-editor.org/rfc/rfc952[RFC-952] compliant ({kibana-pull}176298[#176298]). -* Fixes assets being unintentionally moved to the default space during Fleet setup ({kibana-pull}176173[#176173]). -* Fixes categories labels in integration overview ({kibana-pull}176141[#176141]). -* Fixes the ability to delete agent policies with inactive agents from UI, the inactive agents need to be unenrolled first ({kibana-pull}175815[#175815]). -Machine Learning:: -* Fixes Single Metric Viewer's zoom range settings in URL not being restored if the URL specifies a `forecastId` ({kibana-pull}176969[#176969]). -* Fixes incorrect document count values in Top Values statistics ({kibana-pull}176328[#176328]). -* Fixes color of markers in Single Metric Viewer when there is sparse data for anomaly detection ({kibana-pull}176303[#176303]). -Management:: -* Fixes package showing 'Needs authorization' warning even after transform assets were authorized successfully ({kibana-pull}176647[#176647]). -Observability:: -* Fixes and simplifies write access default behavior ({kibana-pull}177088[#177088]). -* Fixes recall speed when using CVS output ({kibana-pull}176428[#176428]). - -[[release-notes-8.12.1]] -== {kib} 8.12.1 - -The 8.12.1 release includes the following enhancements and bug fixes. - -[float] -[[enhancement-v8.12.1]] -=== Enhancements - -Elastic Security:: -For the Elastic Security 8.12.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Observability:: -* Adds `defer_validation: true` to transforms on creation to stop errors when the destination index doesn't exist yet ({kibana-pull}174463[#174463]). - -[float] -[[fixes-v8.12.1]] -=== Bug Fixes -Alerting:: -* Fixes context variables not being passed in to the action parameters when an alert- as-data document is available ({kibana-pull}175682[#175682]). -* Fixes the Rules page loosing user selections when navigating back ({kibana-pull}174954[#174954]). -* Fixes the custom threshold rendering in the create rule flyout ({kibana-pull}174982[#174982]). -APM:: -* Fixes a transactions error link for mobile ({kibana-pull}174655[#174655]). -* Increases the number of maximum function calls from 3 to 5 ({kibana-pull}175588[#175588]). -Dashboard:: -* Fixes a caching issue that caused problems updating dashboard information ({kibana-pull}175635[#175635]). -Elastic Security:: -For the Elastic Security 8.12.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Fixes the display of category label on the Integration overview page ({kibana-pull}176141[#176141]). -* Fixes conflicting dynamic template mappings for intermediate objects ({kibana-pull}175970[#175970]). -* Fixes reserved keys for Elasticsearch output YAML box ({kibana-pull}175901[#175901]). -* Prevent deletion of agent policies with inactive agents from UI ({kibana-pull}175815[#175815]). -* Fixes incorrect count of agents in bulk actions ({kibana-pull}175318[#175318]). -* Fixes a custom integrations not displaying on the Installed integrations page ({kibana-pull}174804[#174804]). -Lens & Visualizations:: -* Fixes a validation error for invalid formula and math columns in *Lens* ({kibana-pull}175644[#175644]). -Machine Learning:: -* Fixes Allocation rendering for failed deployments ({kibana-pull}174882[#174882]). -* Fixes an issue where a user could create an anomaly rule but couldn't see it or interact with the rule via stack management ({kibana-pull}174791[#174791]). -Security:: -* Fixes API Key table sorting ({kibana-pull}175813[#175813]). -* Ensures all API Keys have a defined name ({kibana-pull}175721[#175721]). -* Fixes an issue with `@kbn-handlebars`, where nested inputs were not being escaped properly ({kibana-pull}175490[#175490]). - -[[release-notes-8.12.0]] -== {kib} 8.12.0 - -For information about the {kib} 8.12.0 release, review the following information. - -[float] -[[known-issues-8.12.0]] -=== Known issues - -[discrete] -[[known-177938-8.12]] -.Index templates UI incorrectly sets the `allow_auto_create` field to `false` by default. -[%collapsible] -==== -*Details* + -If you are creating or editing an index template using the Index Templates form under the Index Management page, the `allow_auto_create` field is incorrectly set to `false` by default (the default value should be `undefined`). For more information, refer to ({kibana-issue}177938[#177938]). -==== - -[float] -[[breaking-changes-8.12.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.12.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.New SLO architecture -[%collapsible] -==== -*Details* + -We introduce a breaking change in the SLO features that will break any SLOs created before 8.12. These SLOs have to be manually reset through an API until we provide a UI for it. The data aggregated over time (rollup) is still available in the sli v2 index, but won't be used for summary calculation when reset. - -The previous summary transforms summarizing every SLOs won't be used anymore and can be stopped and deleted: - -* slo-summary-occurrences-7d-rolling -* slo-summary-occurrences-30d-rolling -* slo-summary-occurrences-90d-rolling -* slo-summary-occurrences-monthly-aligned -* slo-summary-occurrences-weekly-aligned -* slo-summary-timeslices-7d-rolling -* slo-summary-timeslices-30d-rolling -* slo-summary-timeslices-90d-rolling -* slo-summary-timeslices-monthly-aligned -* slo-summary-timeslices-weekly-aligned - -Be aware that when installing a new SLO (or after resetting an SLO), we install two transforms (one for the rollup data and one that summarize the rollup data). Do not delete the new `slo-summary-{slo_id}-{slo_revision}` transforms. For more information, refer to ({kibana-pull}172224[#172224]). -==== - -[discrete] -.A new sub-feature privilege to control user access to the cases settings -[%collapsible] -==== -*Details* + -Roles with at least a sub-feature privilege configured will not have access to the cases setting like they had previously. All roles without a sub-feature privilege configured will not be affected. For more information, refer to ({kibana-pull}170635[#170635]). -==== - -[float] -[[features-8.12.0]] -=== Features -{kib} 8.12.0 adds the following new and notable features. - -APM:: -* Adds viewInApp URL to the custom threshold rule type ({kibana-pull}171985[#171985]). -* Adds back the mobile crashes & errors tab ({kibana-pull}165892[#165892]). -Cases:: -* The case list filter bar is now customizable, filters are removable and custom fields can be used as filters ({kibana-pull}172276[#172276]). -Elastic Security:: -For the Elastic Security 8.12.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Elastic Search:: -* Display E5 multilingual callout ({kibana-pull}171887[#171887]). -* Replace model selection dropdown with list ({kibana-pull}171436[#171436]). -Fleet:: -* Adds support for preconfigured output secrets (Scrypt edition) ({kibana-pull}172041[#172041]). -* Adds UI components to create and edit output secrets ({kibana-pull}169429[#169429]). -* Adds support for remote ES output ({kibana-pull}169252[#169252]). -* Adds the ability to specify secrets in outputs ({kibana-pull}169221[#169221]). -* Adds an integrations configs tab to display input templates ({kibana-pull}168827[#168827]). -* Adds a {kib} task to publish Agent metrics ({kibana-pull}168435[#168435]). -Lens & Visualizations:: -* Adds the ability to edit charts made by {esql} queries in Dashboard ({kibana-pull}169911[#169911]). -Machine Learning:: -* Adds E5 model configurations ({kibana-pull}172053[#172053]). -* Adds the ability to create a categorization anomaly detection job from pattern analysis ({kibana-pull}170567[#170567]). -* Adds and displays alerts data in the Anomaly Explorer ({kibana-pull}167998[#167998]). -Observability:: -* Adds logic to update flyout highlights ({kibana-pull}172193[#172193]). -* Adds logic to display highlights in the flyout ({kibana-pull}170650[#170650]). -* Changes the Custom threshold title to Beta ({kibana-pull}172360[#172360]). -Security:: -* Disables the connector parameters field ({kibana-pull}173610[#173610]). -* Adds a risk engine missing privileges callout ({kibana-pull}171250[#171250]). -* Asset criticality privileges API ({kibana-pull}172441[#172441]). -Uptime:: -* Global params Public APIs ({kibana-pull}169669[#169669]). -* Private location public API's ({kibana-pull}169376[#169376]). -* Settings public API ({kibana-pull}163400[#163400]). - -For more information about the features introduced in 8.12.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.12.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.12.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.12.0]] -=== Enhancements -Alerting:: -* Auto close ServiceNow incidents when alerts are resolved ({kibana-pull}171760[#171760]). -* PagerDuty connector now supports the links and `custom_details` attributes ({kibana-pull}171748[#171748]). -* Adds a mute and unmute action component in the alerts table row actions ({kibana-pull}170651[#170651]). -* Extends the PagerDuty connector API to support the `links` and `custom_details` attributes provided by the Event API ({kibana-pull}170459[#170459]). -* Adds toggle for alert as data fields in alert templating ({kibana-pull}170162[#170162]). -APM:: -* Perform functions and LLM interactions on the server ({kibana-pull}172590[#172590]). -* Adds viewInApp URL to the custom threshold rule type ({kibana-pull}171985[#171985]). -* Adds the KQL bar to embeddables ({kibana-pull}171016[#171016]). -* Enables the average mobile app launch time panel ({kibana-pull}170773[#170773]). -* Enables the mobile most launches panel ({kibana-pull}168925[#168925]). -* Improves the Differential Top N functions grid view ({kibana-pull}170008[#170008]). -Cases:: -* Users can copy to the clipboard the hashes of files uploaded to cases ({kibana-pull}172450[#172450]). -* Allow users to configure which columns are displayed in the cases list including custom fields ({kibana-pull}170950[#170950]). -* Adds a new sub-feature privilege to control user access to the cases settings ({kibana-pull}170635[#170635]). -Dashboard:: -* Adds Links to the Visualization library ({kibana-pull}170810[#170810]). -Discover:: -* Adds a field tokens column in the grid header ({kibana-pull}167179[#167179]). -* Enables the addition of columns from the document viewer when using ES|QL ({kibana-pull}171083[#171083]). -* Adds field search via wildcards in the document viewer ({kibana-pull}168616[#168616]). -* Improves search for field names by handling spaces like wildcards ({kibana-pull}168381[#168381]). -* Updates mapping conflict popover with types list ({kibana-pull}169855[#169855]). -* On search source error, show 'view details' action that opens request in inspector ({kibana-pull}170790[#170790]). -* Adds an Unsaved changes label when in an unsaved state of saved search ({kibana-pull}169548[#169548]). -* Allows changing the current sample size and saving it with a saved search ({kibana-pull}157269[#157269]). -* Adds new sparse vector and dense vector icons ({kibana-pull}169493[#169493]). -* Adds `sparse_vector` field support ({kibana-pull}168186[#168186]). -Elastic Security:: -For the Elastic Security 8.12.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Elastic Search:: -* Trained models can now be deployed and started directly from the Machine Learning inference pipeline configuration flyout ({kibana-pull}173434[#173434]). -Fleet:: -* Adds support for Elasticsearch output performance presets ({kibana-pull}172359[#172359]). -* Adds a new `keep_monitoring_alive` flag to agent policies ({kibana-pull}168865[#168865]). -* Adds support for additional types for dynamic mappings ({kibana-pull}168842[#168842]). -* Implements Elastic Agent upgrade states UI ({kibana-pull}167539[#167539]). -* Use default component templates from Elasticsearch ({kibana-pull}163731[#163731]). -Lens & Visualizations:: -* Moves the tagcloud visualization in *Lens* out of experimental status ({kibana-pull}168824[#168824]). -* Allows coloring an entire metric panel when applying a maximum value to the metric visualization in **Lens** ({kibana-pull}172531[#172531]). -* Adds truncation for data view pickers and field lists with many characters ({kibana-pull}172296[#172296]). -* Allows searching in the {esql} inline documentation description ({kibana-pull}171916[#171916]). -* Allows setting non-numeric metrics for metric visualizations in *Lens* ({kibana-pull}169258[#169258]). -Machine Learning:: -* Removes the beta badge from ML alerting rules ({kibana-pull}173545[#173545]). -* Removes the technical preview badge from AIOps log rate analysis ({kibana-pull}172722[#172722]). -* Adds anomaly description as an alert message for the anomaly detection rule type ({kibana-pull}172473[#172473]). -* Adds a sampled percentage of documents, and cardinality, for text fields for the Data Visualizer Field statistics tab and addresses an issue with a missing bucket in the document count chart ({kibana-pull}172378[#172378]). -* Adds option to display an overlay chart on the data drift expanded row ({kibana-pull}172239[#172239]). -* AIOps: Shows top N results when no documents are in baseline or deviation in log rate analysis({kibana-pull}171924[#171924]). -* AIOps: Adds support to restore baseline and deviation from URL state on page refresh for log rate analysis ({kibana-pull}171398[#171398]). -* Validates and limits threading parameters for starting a model deployment ({kibana-pull}171921[#171921]). -* Trained models: Adds a missing job node to models map view when original job has been deleted ({kibana-pull}171590[#171590]). -* Trained models list: Disables the View training data action if data frame analytics job no longer exists ({kibana-pull}171061[#171061]). -* Adds a trained model flyout with available models to download for in the Trained Models UI ({kibana-pull}171024[#171024]). -* Allows temporary data views in the anomaly detection jobs wizards ({kibana-pull}170112[#170112]). -* Assigns downloaded ELSER models to the `*` space ({kibana-pull}169939[#169939]). -* Adds pattern analysis to the anomaly action menu ({kibana-pull}169400[#169400]). -* Adds test pipeline action for data frame analysis trained models in models list ({kibana-pull}168400[#168400]). -Management:: -* Adds a search bar to the Clusters and shards tab ({kibana-pull}171806[#171806]). -* Aligns data view and destination index creation workflows in Transforms and Data Frame Analytics wizards ({kibana-pull}171202[#171202]). -* The index lifecycle summary on the Index lifecycle page is now displayed in a separate tab ({kibana-pull}170726[#170726]). -* Adds the ability to view mappings conflicts in data views on the data view management page ({kibana-pull}169381[#169381]). -* Implements index overview cards ({kibana-pull}168153[#168153]). -Observability:: -* Reset UI for updating outdated SLOs ({kibana-pull}172883[#172883]). -* Adds timeslice metric indicator for SLOs ({kibana-pull}168539[#168539]). -* Adds logic to update flyout highlights ({kibana-pull}172193[#172193]). -* Sets budget consumed mode as the default mode for burn rate rule configuration ({kibana-pull}171433[#171433]). -* Allow users to define burn rate windows using budget consumed ({kibana-pull}170996[#170996]). -* Makes rules created in Discover visible in Observability ({kibana-pull}171364[#171364]). -* Adds support for document count to custom metric indicator ({kibana-pull}170913[#170913]). -* Improves displaying inline frames ({kibana-pull}169212[#169212]). -* Adds summary insight to the Differential flamegraph ({kibana-pull}168978[#168978]). -* Include `search-*` when recalling documents ({kibana-pull}173710[#173710]). -Platform:: -* Limits `elasticsearch.maxSockets` to 800 by default ({kibana-pull}151911[#151911]). -Presentation:: -* Adds popover message in the control title ({kibana-pull}172094[#172094]). -* Displays incomplete results warning in layer legend ({kibana-pull}171144[#171144]). -* Updates incomplete data messaging ({kibana-pull}169578[#169578]). -Reporting:: -* Makes searches used for CSV export inspectable ({kibana-pull}171248[#171248]). -* Adds `max_concurrent_shards` setting to schema for the point in time CSV report generation ({kibana-pull}170344[#170344]). -Security:: -* The default value of the `elasticsearch.requestHeadersWhitelist` configuration option has been expanded to include the `es-client-authentication` HTTP header, in addition to `authorization` ({kibana-pull}172444[#172444]). -* Adds risk engine missing privileges callout ({kibana-pull}171250[#171250]). -* Implements Asset Criticality Create, Read & Delete APIs ({kibana-pull}172073[#172073]). - -[float] -[[fixes-v8.12.0]] -=== Bug Fixes -Alerting:: -* Fixes the alert details page search bar not considering Query configurations in the {kib} advanced settings ({kibana-pull}172498[#172498]). -* Fixes adding evaluation threshold to alert payload for ES query rule ({kibana-pull}171571[#171571]). -* Hides the Logs tab in Rules page to unauthorized users ({kibana-pull}171417[#171417]). -* Fixes hyperlinks in Slack messages being broken when there is "_" or "*" in the URL ({kibana-pull}170067[#170067]). -APM:: -* Removes usage of internal client when fetching agent configuration etags metrics ({kibana-pull}173001[#173001]). -* Fixes encoding custom links values ({kibana-pull}171032[#171032]). -* Fixes an issue where data views were previously not space aware ({kibana-pull}170857[#170857]). -* Fixes issue with onboarding page around java agent ({kibana-pull}168816[#168816]). -* Adds a data tier filter to the `/has_data` API ({kibana-pull}173382[#173382]). -Cases:: -* Fixes a bug that prevented users with read permission from being assigned to cases ({kibana-pull}172047[#172047]). -Dashboard:: -* Prevents unnecessary loss of dashboard unsaved state ({kibana-pull}167707[#167707]). -Discover:: -* Fixes escaping column names when copying ({kibana-pull}170997[#170997]). -* Discover sharing links now preserve customized column widths ({kibana-pull}172405[#172405]). -* Fixes displaying the columns as they are returned from the query ({kibana-pull}171874[#171874]). -* Fixes issue with `defaultColumns` when changing data views ({kibana-pull}168994[#168994]). -Elastic Security:: -For the Elastic Security 8.12.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Allows agent upgrades if patch version is higher than {kib} ({kibana-pull}173167[#173167]). -* Fixes secrets with dot-separated variable names ({kibana-pull}173115[#173115]). -* Fixes endpoint privilege management endpoints return errors ({kibana-pull}171722[#171722]). -* Fixes expiration time for immediate bulk upgrades being too short ({kibana-pull}170879[#170879]). -* Fixes incorrect overwrite of `logs-*` and `metrics-*` data views on every integration install ({kibana-pull}170188[#170188]). -* Creates intermediate objects when using dynamic mappings ({kibana-pull}169981[#169981]). -Lens & Visualizations:: -* Fixes the sorting of null values so they are displayed last ({kibana-pull}172691[#172691]). -* Fixes the overwriting of chart descriptions after editing a visualization in *Lens* ({kibana-pull}172653[#172653]). -* Fixes an issue where the timerange panel wasn't correctly assigned during a conversion from dashboard to *Lens* ({kibana-pull}172647[#172647]). -* Various fixes for heatmap in *Lens* ({kibana-pull}172602[#172602]). -* Fixes filters being lost when navigating from dashboard -> editor -> *Lens* in *TSVB* ({kibana-pull}172566[#172566]). -* Ignore drop ES|QL commands for date histogram in discover ({kibana-pull}171769[#171769]). -Machine Learning:: -* Ensures data frame analytics job can be deleted from analytics map ({kibana-pull}174212[#174212]). -* Fixes filter for boolean fields filtering for numbers in Field statistics / Data Visualizer ({kibana-pull}174212[#174050]) -* Fixes registering of the ML alerting rules with the basic license ({kibana-pull}173644[#173644]). -* Fixes display of actions column in the datafeed chart flyout ({kibana-pull}173365[#173365]). -* Fixes View in Discover option in Anomaly explorer not handling multiple field values or values with quotation marks ({kibana-pull}172897[#172897]). -* Fixes field stats in Discover showing 0 sample count at times when switching data views ({kibana-pull}172734[#172734]). -* Fixes long field names overflowing in Anomaly detection wizard detector selection ({kibana-pull}172715[#172715]). -* Fixes data drift numeric fields not showing correctly ({kibana-pull}172504[#172504]). -* Fixes Data Visualizer / ML field stats and Data Frame Analytics to exclude _tier fields ({kibana-pull}172223[#172223]). -* Uses standard analyzer in log pattern analysis to ensure filter in Discover matches correct documents ({kibana-pull}172188[#172188]). -* Fixes ML node check and checks user privileges to create job button in dashboard ({kibana-pull}172022[#172022]). -* Fixes {kib} object list in new job from recognized index page ({kibana-pull}171935[#171935]). -Management:: -* Fixes retention policy field name not setting by default correctly in the Transform creation wizard ({kibana-pull}172609[#172609]). -Metrics:: -* Moves formulas and dashboard config to inventory models ({kibana-pull}171872[#171872]). -Platform:: -* Fixes a bug that could cause the `rollingFile` log appender to not properly rotate files on DST switch days ({kibana-pull}173811[#173811]). -* Fixes context formula functions ({kibana-pull}172710[#172710]). -Observability:: -* Removes legacy screenshot image data from the codepath in Synthetics ({kibana-pull}172684[#172684]). -* Fixes incorrect rule parameters when changing aggregation type using a custom equation ({kibana-pull}171958[#171958]). -* Adds parent link in host detail's breadcrumb ({kibana-pull}170792[#170792]). -Presentation:: -* Fixes validation query for nested fields ({kibana-pull}173690[#173690]). -* Fixes user privileges around Links panels saved to the library ({kibana-pull}173332[#173332]). -* Prevents overflowing dashboard title on saved toast notifications ({kibana-pull}172620[#172620]). -* Ignore indices without geometry field in vector tile requests ({kibana-pull}171472[#171472]). -* Fixes layer displaying no data instead of error ({kibana-pull}170084[#170084]). - -[[release-notes-8.11.4]] -== {kib} 8.11.4 - -[float] -[[fixes-v8.11.4]] -=== Bug fixes and enhancements -There are no user-facing changes in the 8.11.4 release. - -[[release-notes-8.11.3]] -== {kib} 8.11.3 - -The 8.11.3 release includes the following bug fixes. - -[float] -[[fixes-v8.11.3]] -=== Bug Fixes -Elastic Security:: -For the Elastic Security 8.11.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Fixes a 500 error in the Fleet API when a request for the product versions endpoint throws `ECONNREFUSED` ({kibana-pull}172850[#172850]). -* Fixes agent policy timeout to accept only integers ({kibana-pull}172222[#172222]). -Machine Learning:: -* Fixes data drift numeric fields not displaying correctly ({kibana-pull}172504[#172504]). -* Fixes Data visualizer, ML field stats, and Data Frame Analytics so the `_tier` field can be excluded ({kibana-pull}172223[#172223]). -Operations:: -* Fixes an issue where running `kibana-keystore` commands required `kibana.yml` to exist ({kibana-pull}172943[#172943]). - -[[release-notes-8.11.2]] -== {kib} 8.11.2 - -The 8.11.2 release includes the following bug fixes. - -[float] -[[security-update-v8.11.2]] -=== Security updates - -* The 8.11.2 patch release contains a fix for a potential security vulnerability. https://discuss.elastic.co/c/announcements/security-announcements/31[Please see our security advisory for more details]. - -[float] -[[enhancement-v8.11.2]] -=== Enhancements -APM:: -* Added `context_propagation_only` APM agent setting ({kibana-pull}170405[#170405]). -Elastic Security:: -For the Elastic Security 8.11.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Improve UX for policy secrets ({kibana-pull}171405[#171405]). -Observability:: -* Adds `date_formats` to SLI ingest pipeline template ({kibana-pull}172377[#172377]). -Platform:: -* It is now possible to hot reload Kibana's TLS (`server.ssl`) configuration by updating it and then sending a `SIGHUP` signal to the Kibana process ({kibana-pull}171823[#171823]). - -[float] -[[fixes-v8.11.2]] -=== Bug Fixes -Dashboard:: -* Fixes reference extract method ({kibana-pull}171360[#171360]). -* Adds Dashboard title to browser tab title ({kibana-pull}171255[#171255]). -Elastic Security:: -For the Elastic Security 8.11.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Support integration secrets in a local package registry with variables `secret: true` and `required: false` ({kibana-pull}172078[#172078]). -* Fixes agents metrics retrieval on the agent list page, previously displaying N/A for metrics for users with more than 10 agents. ({kibana-pull}172016[#172016]). -* Only add `time_series_metric` if TSDB is enabled ({kibana-pull}171712[#171712]). -* Fixes inability to upgrade agents from version 8.10.4 to version 8.11 ({kibana-pull}170974[#170974]). -Lens & Visualizations:: -* Handle invalid values gracefully for static value operation in *Lens* ({kibana-pull}172198[#172198]). -* Make the dashboard SO lighter ({kibana-pull}172130[#172130]). -Machine Learning:: -* Fixes blocked jobs polling interval ({kibana-pull}171878[#171878]). -Management:: -* Fixes autocomplete to show suggestions even if user types in every letter ({kibana-pull}171952[#171952]). -* Fixes wrong autocomplete suggestions when using the slash symbol ({kibana-pull}171948[#171948]). -* Fixes clusters and shards table expanded row not updating when request is changed ({kibana-pull}171232[#171232]). -Maps:: -* Fixes using `max_result_window` to set up a mapbox vector tile (MVT) size request leading to all results not showing ({kibana-pull}171344[#171344]). -Observability:: -* Fixes the custom threshold document link ({kibana-pull}171125[#171125]). -SharedUX:: -* Fixes custom branding for users without "Saved Object Management" privilege ({kibana-pull}171308[#171308]). -* Fixes the custom threshold document link ({kibana-pull}171125[#171125]). -Uptime:: -* Fixes advanced fields broken for ICMP monitors ({kibana-pull}171161[#171161]). -Ê -[[release-notes-8.11.1]] -== {kib} 8.11.1 - -For information about the {kib} 8.11.1 release, review the following information. - -[float] -[[security-update-v8.11.1]] -=== Security updates - -* An issue was discovered by Elastic whereby sensitive information is recorded -in {kib} logs in the event of an error. The error message recorded in the log -may contain account credentials for the `kibana_system` user, API Keys, and -credentials of {kib} end users. -+ --- -The issue impacts {kib} {kib} versions on or after 8.0.0 and before 8.11.1. The -issue is resolved in {kib} 8.11.1. - -**Nov 15, 2023 Update:** After additional investigation, it has been determined -that {kib} 7.x versions are not affected by this issue. We previously reported -this issue impacted {kib} versions before 7.17.15. - -For more information, see our related -https://discuss.elastic.co/t/8-11-1-7-17-15-security-update-esa-2023-25/347149[security -announcement]. --- - -[float] -[[fixes-v8.11.1]] -=== Bug Fixes - -Fleet:: -* Append space ID to security solution tag ({kibana-pull}170789[#170789]). -* Modify bulk unenroll to include inactive agents ({kibana-pull}170249[#170249]). -Lens & Visualizations:: -* Fixes error handling for ES|QL nested error messages ({kibana-pull}170005[#170005]). -Machine Learning:: -* Disable anomaly detection job creation from ES|QL lens visualizations ({kibana-pull}170711[#170711]). -Presentation:: -* Fixes vector tile layer with joins stuck in loading state when not visible ({kibana-pull}170984[#170984]). -* Fixes expand layer control is not clickable when layers are loading ({kibana-pull}170912[#170912]). - -[[release-notes-8.11.0]] -== {kib} 8.11.0 - - -For information about the {kib} 8.11.0 release, review the following information. - - -[float] -[[known-issues-8.11.0]] -=== Known issues - -// tag::known-issue-169170[] -[discrete] -.Gatekeeper error on macOS -[%collapsible] -==== -*Details* + -Due to a version upgrade of the server binary used by {kib} and an upstream notarization issue, a Gatekeeper error may display for "node" -when starting {kib} in macOS environments. - -*Workaround* + -More information can be found at <>. - -==== -// end::known-issue-169170[] - -[float] -[[breaking-changes-8.11.0]] -=== Breaking changes - - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.11.0, review the breaking changes, then mitigate the impact to your application. - - -[discrete] -.Improve config output validation for default output. -[%collapsible] -==== -*Details* + -Improve config output validation to not allow to defining multiple default outputs in {kib} configuration. For more information, refer to ({kibana-pull}167085[#167085]). -==== - -[discrete] -.Convert filterQuery to KQL. -[%collapsible] -==== -*Details* + -Converts `filterQuery` to a KQL query string. For more information, refer to ({kibana-pull}161806[#161806]). -==== - -[float] -[[deprecations-8.11.0]] -=== Deprecations - - -The following functionality is deprecated in 8.11.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.11.0. - - -[discrete] -[[deprecation-164651]] -.Updates to move from doc_root.vulnerability.package -> doc_root.package (ECS). -[%collapsible] -==== -*Details* + -This updates all instances of vulnerability.package to the ECS standard package fieldset. For more information, refer to ({kibana-pull}164651[#164651]). -==== -[float] -[[features-8.11.0]] -=== Features -{kib} 8.11.0 adds the following new and notable features. - - -Alerting:: -* Adds support for the new ES|QL language for {es} query rules ({kibana-pull}165973[#165973]). -* Elasticsearch query rule can select multiple group-by terms ({kibana-pull}166146[#166146]). -* Adds a Log tab to the Observability Rules page ({kibana-pull}165115[#165115]). -APM:: -* Adds bulk action to untrack selected alerts ({kibana-pull}167579[#167579]). -* Introduce custom dashboards tab in service overview ({kibana-pull}166789[#166789]). -* Adds service profiling Top 10 Functions ({kibana-pull}166226[#166226]). -* Adds service profiling flamegraph ({kibana-pull}165360[#165360]). -Cases:: -* Adds custom fields in Cases ({kibana-pull}167016[#167016]). -Dashboard:: -* Copy panel refactor ({kibana-pull}166991[#166991]). -* Make links panel available under technical preview ({kibana-pull}166896[#166896]). -* Store view mode in local storage ({kibana-pull}166523[#166523]). -* Adds a read only state for Managed Dashboards ({kibana-pull}166204[#166204]). -Discover:: -* Adds resize support to the Discover field list sidebar ({kibana-pull}167066[#167066]). -Elastic Security:: -For the Elastic Security 8.11.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search service:: -For the Elastic Enterprise Search service 8.11.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Release notes_]. -Fleet:: -* Set env variable `ELASTIC_NETINFO:false` in {kib} ({kibana-pull}166156[#166156]). -* Added restart upgrade action ({kibana-pull}166154[#166154]). -* Adds ability to set a proxy for agent binary source ({kibana-pull}164168[#164168]). -* Adds ability to set a proxy for agent download source ({kibana-pull}164078[#164078]). -Lens & Visualizations:: -* Adds color mapping for categorical dimensions in *Lens* available under technical preview ({kibana-pull}162389[#162389]). -* Inline editing of **Lens** panels on a dashboard or canvas ({kibana-pull}166169[#166169]). -* Individual annotation editing from library ({kibana-pull}163346[#163346]). -Logs:: -* Convert log explorer profile into standalone app available under technical preview ({kibana-pull}164493[#164493]). -Machine Learning:: -* Adds support for the ELSER v2 download in the Trained Models UI ({kibana-pull}167407[#167407]). -* Adds data drift detection workflow from Trained Models to Data comparison view ({kibana-pull}162853[#162853]). -Management:: -* Supports for viewing and editing data retention per data stream in Index Management is available under technical preview ({kibana-pull}167006[#167006]). -* Supports for viewing and editing data retention per data stream in Index Management is available under technical preview ({kibana-pull}167006[#167006]). -* Index details can now be viewed on a new index details page in Index Management ({kibana-pull}165705[#165705]). -* Supports for managing, executing, and deleting enrich policies in Index Management ({kibana-pull}164080[#164080]). -Platform:: -* ES|QL, a new query language, is available under technical preview in Discover and Dashboards ({kibana-pull}146971[#146971]). -Querying & Filtering:: -* Saved queries can now be shared between multiple spaces ({kibana-pull}163436[#163436]). -Uptime:: -* Adds a document viewer to the summary pings table ({kibana-pull}163926[#163926]). - - -For more information about the features introduced in 8.11.0, refer to <>. - - -[[enhancements-and-bug-fixes-v8.11.0]] -=== Enhancements and bug fixes - - -For detailed information about the 8.11.0 release, review the enhancements and bug fixes. - - -[float] -[[enhancement-v8.11.0]] -=== Enhancements -APM:: -* Changed mobile badge from 'technical preview' to 'beta' ({kibana-pull}167543[#167543]). -* New Profiling ES Flamegraph API ({kibana-pull}167477[#167477]). -* Adds Universal Profiling to O11y overview and Setup guide ({kibana-pull}165092[#165092]). -* Mark disabled alerts as Untracked in both Stack Management and o11y ({kibana-pull}164788[#164788]). -* Adds time range to event metadata API ({kibana-pull}167132[#167132]). -* New settings to control CO2 calculation ({kibana-pull}166637[#166637]). -* Adds permissions for "input-only" package ({kibana-pull}166234[#166234]). -* Adds selecting the consumer based on the authorized consumers when a user is creating an ES Query threshold rule ({kibana-pull}166032[#166032]). -* Migrate Ace based `EuiCodeEditor` to Monaco based code editor ({kibana-pull}165951[#165951]). -* Mobile UI crash widget added ({kibana-pull}163527[#163527]). -Cases:: -* Show a warning message to inform user that navigating after the 10Kth case is not possible ({kibana-pull}164323[#164323]). -Dashboard:: -* Focus on a single panel while disabling all other panels ({kibana-pull}165417[#165417]). -* Adds filter details to panel settings ({kibana-pull}162913[#162913]). -* Adds support for date fields in the options list controls ({kibana-pull}164362[#164362]). -Discover:: -* Redesign for the grid, panels and sidebar ({kibana-pull}165866[#165866]). -* Set data table row height to auto-fit by default ({kibana-pull}164218[#164218]). -* Allow fetching more documents on Discover page ({kibana-pull}163784[#163784]). -Elastic Security:: -For the Elastic Security 8.11.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Search:: -* Self-managed connector clients now show advanced configuration options in the UI ({kibana-pull}167770[#167770]). -Fleet:: -* Adds sidebar navigation showing headings extracted from the readme ({kibana-pull}167216[#167216]). -Inspector:: -* Clusters tab added under Inspector ({kibana-pull}166025[#166025]). -* Open incomplete response warning in Inspector ({kibana-pull}167205[#167205]). -Lens & Visualizations:: -* Other bucket defaults to false for top values greater than equal 1000 in *Lens* ({kibana-pull}167141[#167141]). -* Adds support for decimals in percentiles in *Lens* ({kibana-pull}165703[#165703]). -Machine Learning:: -* Updates ELSER version for Elastic Assistant ({kibana-pull}167522[#167522]). -* Retains `created_by` setting when exporting anomaly detection jobs ({kibana-pull}167319[#167319]). -* Improves the wording of awaiting ML nodes messages ({kibana-pull}167306[#167306]). -* Adds `created_by` job property for the advanced wizard ({kibana-pull}167021[#167021]). -* Trained model testing: only show indices with supported fields ({kibana-pull}166490[#166490]). -* Alerts as data integration for Anomaly Detection rule type ({kibana-pull}166349[#166349]). -* Data Frame Analytics Trained models: adds the ability to reindex after pipeline creation ({kibana-pull}166312[#166312]). -* Adds Create a data view button to index or saved search selector in ML pages and Transforms management ({kibana-pull}166668[#166668]). -* Improvements to UX of adding ML embeddables to a dashboard ({kibana-pull}165714[#165714]). -* AIOps: Supports text fields in log rate analysis ({kibana-pull}165124[#165124]). -* Data Frame Analytics creation wizard: adds ability to add custom URLs to jobs ({kibana-pull}164520[#164520]). -Management:: -* Adds Create a data view button to index or saved search selector in ML pages and Transforms management ({kibana-pull}166668[#166668]). -* Improve loading behavior of Transforms list if stats request is slow or is not available ({kibana-pull}166320[#166320]). -* Adds support for PATCH requests in Console ({kibana-pull}165634[#165634]). -* Improves autocomplete to suggest knn in search query ({kibana-pull}165531[#165531]). -* Improves display for long descriptions in Transforms ({kibana-pull}165149[#165149]). -* Improve transform list reloading behavior ({kibana-pull}164296[#164296]). -Maps:: -* Allow by value styling for EMS boundary fields ({kibana-pull}166306[#166306]). -* Adds support for `geo_shape` fields as the entity geospatial field when creating tracking containment alerts ({kibana-pull}164100[#164100]). -Observability:: -* ES|QL query generation ({kibana-pull}166041[#166041]). -Querying & Filtering:: -* New "Saved Query Management" privilege to allow saving queries across Kibana ({kibana-pull}166937[#166937]). -* Improvements to the filter builder inputs for long fields ({kibana-pull}166024[#166024]). -Uptime:: -* Added ability to hide public locations ({kibana-pull}164863[#164863]). - - -[float] -[[fixes-v8.11.0]] -=== Bug Fixes -Alerting:: -* Improve error handling in ES Index action response ({kibana-pull}164841[#164841]). -* Bring back toggle column on alert table ({kibana-pull}168158[#168158]). -* Fixes Errors rules link on observability alert page ({kibana-pull}167027[#167027]). -* Enable read-only users to access rules ({kibana-pull}167003[#167003]). -* Fixes rule snooze toast copy ({kibana-pull}166030[#166030]). -APM:: -* Ensure APM data view is available across all spaces ({kibana-pull}167704[#167704]). -* Adds an environment param to the service metadata details endpoint ({kibana-pull}167173[#167173]). -* Fixes set up process ({kibana-pull}167067[#167067]). -Dashboard:: -* Generate new panel IDs on Dashboard clone ({kibana-pull}166299[#166299]). -Elastic Security:: -For the Elastic Security 8.11.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Search:: -* Native connector external documentation links are now rendered conditionally to avoid empty links ({kibana-pull}169121[#169121]). -* Fixed an issue which caused Access Control Syncs to be scheduled when Document Level Security was disabled ({kibana-pull}168987[#168987]). -* Restored access and admin checks for App Search and Workplace Search product cards ({kibana-pull}168890[#168890]). -* The filter box in the *Browse documents* tab under *Search > Content > Indices* now escapes Lucene reserved characters instead of throwing errors ({kibana-pull}168092[#168092]). -* Fixed an issue associated with changing the indices underlying a search application. When a user modifies the indices underlying a search application in Kibana, the associated search template is now reverted to the default template ({kibana-pull}167532[#167532]). -* Fixed an issue where the Search plugin was inaccessible for unauthenticated users, eg. for Kibana in read-only demo setups ({kibana-pull}167171[#167171]). -* Fixed an issue with the welcome banner in Search ({kibana-pull}166814[#166814]). -* Self managed connector clients now show advanced configuration options in the UI ({kibana-pull}167770[#167770]). -Fleet:: -* Vastly improve performance of Fleet final pipeline's date formatting logic for `event.ingested` ({kibana-pull}167318[#167318]). -Lens & Visualizations:: -* Fixes heatmap color assignment on single value scenario in *Lens* ({kibana-pull}167995[#167995]). -* Fixes mosaic with 2 axis coloring in *Lens* ({kibana-pull}167035[#167035]). -* Show icons/titles instead of previews in suggestions panel in *Lens* ({kibana-pull}166808[#166808]). -* Consider root level filters buckets correctly when building other terms bucket ({kibana-pull}165656[#165656]). -* Prevent user to use decimals for custom Percentile rank function in Top values in *Lens* ({kibana-pull}165616[#165616]). -* Fixes the Graph application settings tab when in dark mode ({kibana-pull}165614[#165614]). -* Fixes Visualize List search and CRUD operations via content management ({kibana-pull}165485[#165485]). -Logs:: -* Use correct ML API to query blocking tasks ({kibana-pull}167779[#167779]). -Machine Learning:: -* AIOps: Fixes log pattern analysis sparklines and chart ({kibana-pull}168337[#168337]). -* AIOps: Fixes Data View runtime fields support in the Change point detection UI ({kibana-pull}168249[#168249]). -* Fixes anomaly charts when partition field contains an empty string ({kibana-pull}168102[#168102]). -* Data Frame analytics outlier detection results: ensure scatterplot matrix adheres to bounding box ({kibana-pull}167941[#167941]). -* Fixes Anomaly charts embeddable fails to load if partition value is empty string ({kibana-pull}167827[#167827]). -Management:: -* Fixes `isErrorResponse` when cluster details are provided ({kibana-pull}166667[#166667]). -* Fixes autocomplete not to be prompted between triple quotes ({kibana-pull}165535[#165535]). -* Fixes autocomplete on only 1 letter typed in Console's request editor ({kibana-pull}164707[#164707]). -* Fixing duration field formatter showing 0 seconds instead of "few seconds" ({kibana-pull}164659[#164659]). -* Fixes a bug that autocomplete does not work right after a comma ({kibana-pull}164608[#164608]). -* Fixes unnecessary autocompletes on HTTP methods ({kibana-pull}163233[#163233]). -Presentation:: -* Fixes ES query rule boundary field changed when editing the rule ({kibana-pull}165155[#165155]). - -[[release-notes-8.10.4]] -== {kib} 8.10.4 - -The 8.10.4 release includes the following bug fixes. - -[float] -[[fixes-v8.10.4]] -=== Bug Fixes -Elastic Security:: -For the Elastic Security 8.10.4 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Fixes validation errors in KQL queries ({kibana-pull}168329[#168329]). - -[[release-notes-8.10.3]] -== {kib} 8.10.3 - -[float] -[[security-update-8.10.3]] -=== Security updates - -* **Kibana heap buffer overflow vulnerability** -+ -On Sept 11, 2023, Google Chrome announced CVE-2023-4863, described as “Heap buffer overflow in libwebp in Google Chrome prior to 116.0.5845.187 and libwebp 1.3.2 allowed a remote attacker to perform an out of bounds memory write via a crafted HTML page”. Kibana includes a bundled version of headless Chromium that is only used for Kibana’s reporting capabilities and which is affected by this vulnerability. An exploit for Kibana has not been identified, however as a resolution, the bundled version of Chromium is updated in this release. -+ -The issue is resolved in 8.10.3. -+ -For more information, see our related -https://discuss.elastic.co/t/kibana-8-10-3-7-17-14-security-update/344735[security -announcement]. - -[float] -[[enhancement-v8.10.3]] -=== Enhancements -Elastic Security:: -For the Elastic Security 8.10.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -[float] -[[fixes-v8.10.3]] -=== Bug Fixes -Dashboard:: -* Fixes an error the panel descriptions weren't retrieved from the right method ({kibana-pull}166825[#166825]). -Discover:: -* Soften saved search content management response `sort` schema ({kibana-pull}166886[#166886]). -Elastic Security:: -For the Elastic Security 8.10.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.10.3 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. -Fleet:: -* Fixes incorrect index template used from the data stream name ({kibana-pull}166941[#166941]). -* Increase package install max timeout limit and add concurrency control to rollovers ({kibana-pull}166775[#166775]). -* Fixes bulk action dropdown ({kibana-pull}166475[#166475]). -Machine Learning:: -* AIOps: Fixes render loop when using a saved search ({kibana-pull}166934[#166934]). -Monitoring:: -* Convert node roles into array ({kibana-pull}167628[#167628]). -Observability:: -* Fixes a set up process error in Universal Profiling ({kibana-pull}167068[#167068]). -Uptime:: -* Fixes an error when updating browser monitor in a project ({kibana-pull}168064[#168064]). - -[[release-notes-8.10.2]] -== {kib} 8.10.2 - -The 8.10.2 release includes the following bug fixes. - -[float] -[[fixes-v8.10.2]] -=== Bug fixes - -Fleet:: -* Fixes force delete package, updated used by agents check ({kibana-pull}166623[#166623]). -Management:: -* Fixes showing `Received partial message` instead of results when there are some remote shard errors in a {ccs} ({kibana-pull}166544[#166544]). - -[[release-notes-8.10.1]] -== {kib} 8.10.1 - -The 8.10.1 release includes the following bug fixes. - -[float] -[[fixes-v8.10.1]] -=== Bug fixes - -Dashboard:: -* Fixes content editor flyout footer ({kibana-pull}165907[#165907]). -Elastic Security:: -For the Elastic Security 8.10.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Show snapshot version in agent upgrade modal and allow custom values ({kibana-pull}165978[#165978]). -Observability:: -* Fix(slo): Use comma-separarted list of source index for transform ({kibana-pull}166294[#166294]). -Presentation:: -* Fixes air-gapped enviroment hitting `400` error when loading fonts for layer ({kibana-pull}165986[#165986]). - -[[release-notes-8.10.0]] -== {kib} 8.10.0 - -IMPORTANT: {kib} 8.10.0 has been withdrawn. - -For information about the {kib} 8.10.0 release, review the following information. - -[float] -[[security-updates-v8.10.0]] -=== Security updates - -* An issue was discovered by Elastic whereby sensitive information is recorded -in {kib} logs in the event of an error. The issue impacts only {kib} version -8.10.0 when logging in the JSON layout or when the pattern layout is configured -to log the `%meta` pattern. -+ -The issue is resolved in {kib} 8.10.1. Version 8.10.0 has been removed from our -download sites. -+ -For more information, see our related -https://discuss.elastic.co/t/kibana-8-10-1-security-update/343287[security -announcement]. - -[float] -[[breaking-changes-8.10.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.10.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.New summary search capabilities cause existing SLOs to stop working -[%collapsible] -==== -*Details* + -New summary search capabilities introduce breaking changes in various places, and we have decided not to handle backward compatibility: - -* SLO find API body parameters have changed. -* The index mapping used by the rollup data has changed, and we have added a summary index that becomes the new source of truth for search. -* The rollup transforms have been updated, but existing SLO with their transforms won't be updated. - -If some SLOs have been installed in a prior version at 8.10, they won't work after migrating to 8.10. There are two approaches to handle this breaking change. The recommended route is to delete all SLOs before migrating to 8.10. The alternative is to migrate to 8.10 and manually remove the SLOs. - -*Removing SLOs before migrating to 8.10* - -Use the SLO UI or the SLO delete API to delete all existing SLOs. This takes care of the Saved Object, Transform and rollup data. When all SLOs have been deleted, then delete the residual rollup indices: `.slo-observability.sli-v1*`. Note that this is v1. - -*Removing SLOs after migrating to 8.10* - -After migrating to 8.10, the previously created SLOs won’t appear in the UI because the API is using a new index. The previously created SLOs still exist, and associated transforms are still rolling up data into the previous index `.slo-observability.sli-v1*`. The SLO delete API can't be used now, so remove the resources resources manually: - -. Find all existing transforms -All SLO related transforms start with the `slo-` prefix, this request returns them all: -+ -[source, bash] ----- -GET _transform/slo-* ----- -+ -Make a note of all the transforms IDs for later. - -. Stop all transforms -+ -[source, bash] ----- -POST _transform/slo-*/_stop?force=true ----- - -. Remove all transforms -+ -From the list of transforms returned during the first step, now delete them one by one: -+ -[source, bash] ----- -DELETE _transform/{transform_id}?force=true ----- - -. Find the SLO saved objects -+ -This request lists all the SLO saved objects. The SLO IDs and the saved object IDs are not the same. -+ -[source, bash] ----- -GET kbn:/api/saved_objects/_find?type=slo ----- -+ -Make a note of all the saved object IDs from the response. - -. Remove the SLO saved objects -+ -For each saved object ID, run the following: -+ -[source, bash] ----- -DELETE kbn:/api/saved_objects/slo/{Saved_Object_Id} ----- - -. Delete the rollup indices v1 -+ -Note that this is v1. -+ -[source, bash] ----- -DELETE .slo-observability.sli-v1* ----- -==== - -[discrete] -.Get case metrics APIs now internal -[%collapsible] -==== -*Details* + -The get case metrics APIs are now internal. For more information, refer to ({kibana-pull}162506[#162506]). -==== - -[discrete] -.Case limits -[%collapsible] -==== -*Details* + -Limits are now imposed on the number of objects cases can process or the amount of data those objects can store. -//// -For example: -* Updating a case comment is now included in the 10000 user actions restriction. ({kibana-pull}163150[#163150]) -* Updating a case now fails if the operation makes it reach more than 10000 user actions. ({kibana-pull}161848[#161848]) -* The total number of characters per comment is limited to 30000. ({kibana-pull}161357[#161357]) -* The getConnectors API now limits the number of supported connectors returned to 1000. ({kibana-pull}161282[#161282]) -* There are new limits and restrictions when retrieving cases. ({kibana-pull}162411[#162411]), ({kibana-pull}162245[#162245]), ({kibana-pull}161111[#161111]), ({kibana-pull}160705[#160705]) -* A case can now only have 100 external references and persistable state(excluding files) attachments combined. ({kibana-pull}162071[#162071]). -* New limits on titles, descriptions, tags and category. ({kibana-pull}160844[#160844]). -* The maximum number of cases that can be updated simultaneously is now 100. The minimum is 1. ({kibana-pull}161076[#161076]). -* The Delete cases API now limits the number of cases to be deleted to 100.({kibana-pull}160846[#160846]). -//// -For the full list, refer to {kib-issue}146945[#146945]. -==== - -[discrete] -.`addProcessorDefinition` is removed -[%collapsible] -==== -*Details* + -The function `addProcessorDefinition` is removed from the Console plugin start contract (server side). For more information, refer to ({kibana-pull}159041[#159041]). -==== - -[discrete] -.The Download CSV endpoint has changed. -[%collapsible] -==== -*Details* + -The API endpoint for downloading a CSV file from a saved search in the Dashboard application has changed to reflect the fact that this is an internal API. The previous API path of -`/api/reporting/v1/generate/immediate/csv_searchsource` has been changed to `/internal/reporting/generate/immediate/csv_searchsource`. For more information, refer to {kibana-pull}162288[#162288]. -==== - -[float] -[[deprecations-8.10.0]] -=== Deprecations - -The following functionality is deprecated in 8.10.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.10.0. - -[discrete] -[[deprecation-161136]] -.Action variables in the UI and in tests that were no longer used have been replaced -[%collapsible] -==== -*Details* + -The following rule action variables have been deprecated; use the recommended variables (in parentheses) instead: - -* alertActionGroup (alert.actionGroup) -* alertActionGroupName (alert.actionGroupName) -* alertActionSubgroup (alert.actionSubgroup) -* alertId (rule.id) -* alertInstanceId (alert.id) -* alertName (rule.name) -* params (rule.params) -* spaceId (rule.spaceId) -* tags (rule.tags) - -For more information, refer to ({kibana-pull}161136[#161136]). -==== - -[float] -[[features-8.10.0]] -=== Features -{kib} 8.10.0 adds the following new and notable features. - -Alerting:: -* Adds support for self-signed SSL certificate authentication in webhook connector ({kibana-pull}161894[#161894]). -* Allow runtime fields to be selected for {es} query rule type 'group by' or 'aggregate over' options ({kibana-pull}160319[#160319]). -APM:: -* Adds KQL filtering in APM rules ({kibana-pull}163825[#163825]). -* Make service group saved objects exportable ({kibana-pull}163569[#163569]). -* Added ability to manage cross-cluster API keys ({kibana-pull}162363[#162363]). -* Enable Trace Explorer by default ({kibana-pull}162308[#162308]). -* Adds error.grouping_name to group alerts in Error Count rule ({kibana-pull}161810[#161810]). -* Adds query to check for overflow bucket in service groups ({kibana-pull}159990[#159990]). -Elastic Security:: -For the Elastic Security 8.10.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.10.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. -Fleet:: -* Only enable secret storage once all fleet servers are above 8.10.0 ({kibana-pull}163627[#163627]). -* Kafka integration API ({kibana-pull}159110[#159110]). -Machine Learning:: -* AIOps: Adds/edits change point charts embeddable from the Dashboard app ({kibana-pull}163694[#163694]). -* AIOps: Adds change point detection charts embeddable ({kibana-pull}162796[#162796]). -* Adds ability to deploy trained models for data frame analytics jobs ({kibana-pull}162537[#162537]). -* Adds map view for models in Trained Models and expands support for models in Analytics map ({kibana-pull}162443[#162443]). -* Adds new Data comparison view ({kibana-pull}161365[#161365]). -Management:: -* Added ability to create a remote cluster with the API key based security model ({kibana-pull}161836[#161836]). -* REST endpoint for swapping saved object references ({kibana-pull}157665[#157665]). -Maps:: -* Maps tracks layer now uses group by time series logic ({kibana-pull}159267[#159267]). -Observability:: -* SLO definition and computed values are now summarized periodically into a summary search index, allowing users to search by name, tags, SLO budgeting type or time window, and even by and sort by error budget consumed, error budget remaining, SLI value or status ({kibana-pull}162665[#162665]). -* Adds indicator to support histogram fields ({kibana-pull}161582[#161582]). - -For more information about the features introduced in 8.10.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.10.0-revised]] -=== Enhancements and bug fixes - -For detailed information about the 8.10.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.10.0]] -=== Enhancements -Alerting:: -* Fixes the event log data stream to use Data stream lifecycle instead of Index Lifecycle Management. If you had previously customized the Kibana event log ILM policy, you should now update the lifecycle of the event log data stream itself. ({kibana-pull}163210[#163210]). -* KQL search bar for Rules page ({kibana-pull}158106[#158106]). -APM:: -* Lens function ({kibana-pull}163872[#163872]). -* Adds several function implementations to the AI Assistant ({kibana-pull}163764[#163764]). -* Feature controls ({kibana-pull}163232[#163232]). -* Added improved JVM runtime metrics dashboard ({kibana-pull}162460[#162460]). -* Move to new plugin, update design and use connectors ({kibana-pull}162243[#162243]). -* Adding endpoint to upload android map files ({kibana-pull}161252[#161252]). -* Navigate from the transaction details view into the Profiling ({kibana-pull}159686[#159686]). -Dashboard:: -* Change badge color in options list ({kibana-pull}161401[#161401]). -* Edit title, description, and tags from dashboard listing page ({kibana-pull}161399[#161399]). -* Editing toolbar update ({kibana-pull}154966[#154966]). -Discover:: -* Inline shard failures warnings ({kibana-pull}161271[#161271]). -* Improve shard error message formatting ({kibana-pull}161098[#161098]). -Elastic Security:: -For the Elastic Security 8.10.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.10.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. -Fleet:: -* Adds support for runtime fields ({kibana-pull}161129[#161129]). -Lens & Visualizations:: -* Migrate range slider to `EuiDualRange` and make styling consistent across all controls ({kibana-pull}162651[#162651]). -* Introduce new duration formatter in *Lens* ({kibana-pull}162246[#162246]). -* Create a filter with field:value when last value metric is used on a data table in *Lens* ({kibana-pull}160509[#160509]). -* Adds tooltip for partition and heatmap filtering ({kibana-pull}162716[#162716]). -Machine Learning:: -* Hides paging controls in anomaly swim lane if only one page is available ({kibana-pull}163931[#163931]). -* Adds a throughput description in the Trained Models Deployment stats table ({kibana-pull}163481[#163481]). -* Provides hints for empty fields in dropdown options in Anomaly detection & Transform creation wizards, Change point detection view ({kibana-pull}163371[#163371]). -* AIOps: Adds dip support to log rate analysis in ML AIOps Labs ({kibana-pull}163100[#163100]). -* AIOps: Improves table hovering for log rate analysis ({kibana-pull}162941[#162941]). -* AIOps: Adds dip support for log rate analysis in observability alert details page ({kibana-pull}162476[#162476]). -* Adds validation of field selected for log pattern analysis ({kibana-pull}162319[#162319]). -* AIOps: Renames Explain Log Rate Spikes to Log Rate Analysis ({kibana-pull}161764[#161764]). -* Adds new Data comparison view ({kibana-pull}161365[#161365]). -* Adds test UI for text expansion models ({kibana-pull}159150[#159150]). -* Adds update index mappings step to ML pipeline config workflow ({kibana-pull}163723[#163723]). -Management:: -* Adds multiple formats for geo_point fields and make geo conversion tools part of field_format/common/utils ({kibana-pull}147272[#147272]). -Maps:: -* Support time series split for top hits per entity source ({kibana-pull}161799[#161799]). -Observability:: -* Adds support for group by to SLO burn rate rule ({kibana-pull}163434[#163434]). -* Applying consistent design to Histogram and Custom Metric forms ({kibana-pull}162083[#162083]). -* Adds preview chart to custom metric indicator ({kibana-pull}161597[#161597]). -* Support filters for good/total custom metrics ({kibana-pull}161308[#161308]). -Reporting:: -* Increase max size bytes default to 250mb ({kibana-pull}161318[#161318]). -Security:: -* Change the default value of `session.idleTimeout` from 8 hours to 3 days ({kibana-pull}162313[#162313]). -* User roles displayed on the user profile page ({kibana-pull}161375[#161375]). -Uptime:: -* Implement private location run once ({kibana-pull}162582[#162582]). - -[float] -[[fixes-v8.10.0]] -=== Bug fixes -APM:: -* Fixes styling and port issue with new onboarding ({kibana-pull}163922[#163922]). -* Fixes missing alert index issue ({kibana-pull}163600[#163600]). -* Fixes trace waterfall loading logic to handle empty scenarios ({kibana-pull}163397[#163397]). -* Fixes the action menu overlapping the 'Create custom link' flyout ({kibana-pull}162664[#162664]). -* Improve service groups error messages and validations ({kibana-pull}162556[#162556]). -* Fixes throwing appropriate error when user is missing necessary permission ({kibana-pull}162466[#162466]). -* Hide components when there is no support from agents ({kibana-pull}161970[#161970]). -* Fixes link to onboarding page in the Observability Onboarding plugin ({kibana-pull}161847[#161847]). -Dashboard:: -* Disables top navigation actions when cloning or overlay is showing ({kibana-pull}162091[#162091]). -Discover:: -* Fixes document failing to load when the ID contains a slash ({kibana-pull}160239[#160239]). -* Fixes NoData screen in alignment with Dashboard and Lends behavior ({kibana-pull}160747[#160747]). -Elastic Security:: -For the Elastic Security 8.10.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.10.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. -Fleet:: -* Only show agent dashboard links if there is more than one non-server agent and if the dashboards exist ({kibana-pull}164469[#164469]). -* Exclude Synthetics from per-policy-outputs ({kibana-pull}161949[#161949]). -* Fixing the path for hint templates for auto-discover ({kibana-pull}161075[#161075]). -Lens & Visualizations:: -* Fixes params._interval conversion to Lens formula ({kibana-pull}164150[#164150]). -* Fixes issues with field name that contains the `:` character in it in *Lens* ({kibana-pull}163626[#163626]). -* Fixes other request merge behavior when empty string key is retrieved ({kibana-pull}163187[#163187]). -* Fixes editing of multi values filters when adding a custom item ({kibana-pull}161940[#161940]). -* Allow setting custom colors to be collapsed by slices pie's multiple metrics in *Lens* ({kibana-pull}160592[#160592]). -* Fixes data table sorting for keyword values in *Lens* ({kibana-pull}160163[#160163]). -* Fixes override parameter when creating data views ({kibana-pull}160953[#160953]). -Logs:: -* Amend lazy imports in logs_shared plugin ({kibana-pull}164102[#164102]). -Machine Learning:: -* Fixes Trained models list crashes on browser refresh if not on page 1 ({kibana-pull}164163[#164163]). -* Fixes query bar not switching from KQL to Lucene and vice versa in Anomaly explorer ({kibana-pull}163625[#163625]). -* Data Frame Analytics creation wizard: ensures validation works correctly ({kibana-pull}163446[#163446]). -* Fixes capabilities polling in manage page ({kibana-pull}163399[#163399]). -* Fixes unhandled promise rejection from ML plugin ({kibana-pull}163129[#163129]). -* AIOps: Uses Kibana's http service instead of fetch and fixes throttling ({kibana-pull}162335[#162335]). -* Uses model supplied mask token for testing trained models ({kibana-pull}162168[#162168]). -Management:: -* Fixes how a bulk request body with variables are processed in Console ({kibana-pull}162745[#162745]). -* Improves a way of variable substitution and its documentation in Console ({kibana-pull}162382[#162382]). -* Transforms: Reduces rerenders and multiple fetches of source index on transform wizard load ({kibana-pull}160979[#160979]). -Maps:: -* Fixes Map layer preview blocks adding layer until all tiles are loaded ({kibana-pull}161994[#161994]). -Monitoring:: -* Rewrite CPU usage rule to improve accuracy ({kibana-pull}159351[#159351]). -Observability:: -* Fixes email connector rule URL ({kibana-pull}162954[#162954]). -* Disable the 'View rule details' option from the Alert Details' Actions list when the rule is deleted ({kibana-pull}163183[#163183]). -Reporting:: -* Fixes a bug where Kibana Reporting would not work in Elastic Docker without adding a special setting in kibana.yml to disable the Chromium sandbox. ({kibana-pull}149080[#149080]). -* Fixes an issue where certain international characters would not appear correctly in the contents of a print-optimized PDF report of a dashboard ({kibana-pull}161825[#161825]). -Uptime:: -* Fixes auto-expand feature for failed step detail ({kibana-pull}162747[#162747]). - -[[release-notes-8.9.2]] -== {kib} 8.9.2 - -Review the following information about the {kib} 8.9.2 release. - -[float] -[[enhancement-v8.9.2]] -=== Enhancements - -Fleet:: -* Adds the configuration setting `xpack.fleet.packageVerification.gpgKeyPath` as an environment variable in the {kib} container ({kibana-pull}163783[#163783]). - -[float] -[[fixes-v8.9.2]] -=== Bug fixes - -Dashboard:: -* Fixes missing state on short URLs could be lost on an alias match redirect ({kibana-pull}163658[#163658]). -* Fixes 'Download CSV' returning no data when panel has custom time range outside the time range of the global time picker ({kibana-pull}163887[#163887]). -* Fixes **Dashboard** getting stuck at loading in {kib} when Controls is used and mapping changed from integer to keyword ({kibana-pull}163529[#163529]). -Elastic Security:: -For the Elastic Security 8.9.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Lens & Visualizations:: -* Allow removing temporary data view from event annotation group in *Lens* ({kibana-pull}163976[#163976]). -Machine Learning:: -* Anomaly detection wizard: ensure custom URLs test functionality works as expected ({kibana-pull}165055[#165055]). -* Fixes anomaly detection module manifest queries for {kib} sample data sets, so cold and frozen tiers are not queried ({kibana-pull}164332[#164332]). -Management:: -* Transforms: Fixes privileges check ({kibana-pull}163687[#163687]). -Operations:: -* Fixes an issue where {kib} did not start on CentOS/RHEL 7 ({kibana-pull}165151[#165151]). -Reporting:: -* Allow custom roles to use image reporting in **Dashboard** ({kibana-pull}163873[#163873]). - -[[release-notes-8.9.1]] -== {kib} 8.9.1 - -Review the following information about the {kib} 8.9.1 release. - -[float] -[[breaking-changes-8.9.1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.9.0, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in the {kib} 8.9.1 release. - -To review the breaking changes in the previous release, check {kibana-ref-all}/8.9/release-notes-8.9.0.html#breaking-changes-8.9.0[8.9.0]. - -[float] -[[fixes-v8.9.1]] -=== Bug fixes -APM:: -* Fixes flame graph rendering on the transaction detail page ({kibana-pull}162968[#162968]). -* Check if documents are missing `span.name` ({kibana-pull}162899[#162899]). -* Fixes transaction action menu for Trace Explorer and dependency operations ({kibana-pull}162213[#162213]). -Canvas:: -* Fixes embeddables not rendering in Canvas ({kibana-pull}163013[#163013]). -Discover:: -* Fixes grid styles to enable better content wrapping ({kibana-pull}162325[#162325]). -* Fixes search sessions using temporary data views ({kibana-pull}161029[#161029]). -* Make share links and search session information shorter for temporary data views ({kibana-pull}161180[#161180]). -Elastic Security:: -For the Elastic Security 8.9.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Fixes for query error on Agents list in the UI ({kibana-pull}162816[#162816]). -* Remove duplicate path being pushed to package archive ({kibana-pull}162724[#162724]). -Management:: -* Resolves potential errors present in v8.9.0 with data views that contain field filters that have been edited ({kibana-pull}162860[#162860]). -Uptime:: -* Fixes Monitor not found 404 message display ({kibana-pull}163501[#163501]). - -[float] -[[enhancement-v8.9.1]] -=== Enhancements -Discover:: -* Set legend width to extra large and enable text wrapping in legend labels ({kibana-pull}163009[#163009]). - -[[release-notes-8.9.0]] -== {kib} 8.9.0 - -For information about the {kib} 8.9.0 release, review the following information. - -[float] -[[known-issues-8.9.0]] -=== Known issues - -// tag::known-issue-160116[] -[discrete] -.Changes to Lens visualizations do not appear in the saved object. -[%collapsible] -==== -*Details* + -Changes to Lens visualizations do not appear in the saved object. - -*Impact* + -When you remove fields from Lens visualizations, then save your changes, the removed fields continue to appear in the Lens visualization saved objects. -For example, when you remove runtime fields from a Lens visualization and {kib}, then inspect the Lens visualization saved object, the runtime fields continue to appear and an error message appears. - -*Workaround* + -In 8.10.0, we are addressing this issue by merging the existing and changed saved object instead of replacing the saved object. - -==== -// end::known-issue-161249[] - -[float] -[[breaking-changes-8.9.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.9.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Hide Uptime app if no data is available -[%collapsible] -==== -*Details* + -The Uptime app now gets hidden from the interface when it doesn't have any data for more than a week. If you have a standalone Heartbeat pushing data to Elasticsearch, the Uptime app is considered active. You can disable this automatic behavior from the advanced settings in Kibana using the **Always show legacy Uptime app** option. -For synthetic monitoring, we now recommend to use the new Synthetics app. For more information, refer to {kibana-pull}159118[#159118] -==== - -[discrete] -.Remove synthetics pattern from Uptime settings -[%collapsible] -==== -*Details* + -Data from browser monitors and monitors of all types created within the Synthetics App or via the Elastic Synthetics Fleet Integration will no longer appear in Uptime. For more information, refer to {kibana-pull}159012[#159012] -==== - -[float] -[[deprecations-8.9.0]] -=== Deprecations - -The following functionality is deprecated in 8.9.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.9.0. - -[discrete] -[[deprecation-156455]] -.Hide ability to create legacy input controls -[%collapsible] -==== -*Details* + -The option to create legacy input controls when creating a new visualization is hidden. For more information, refer to {kibana-pull}156455[#156455] -==== - -[discrete] -[[deprecation-155503]] -.Remove legacy field stats -[%collapsible] -==== -*Details* + -Legacy felid stats that were previously shown within a popover have been removed. For more information, refer to {kibana-pull}155503[#155503] -==== - -[float] -[[features-8.9.0]] -=== Features -{kib} 8.9.0 adds the following new and notable features. - -APM:: -* Removes default service name and environment {kibana-pull}159901[#159901] -* Adds Agent status action {kibana-pull}159227[#159227] -* Added `sessionSampleRate` to agent configuration, which is a mobile specific setting {kibana-pull}159061[#159061] -* Adds storage explorer improvements {kibana-pull}157303[#157303] - -Elastic Security:: -For the Elastic Security 8.9.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.9.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Adds CloudFormation install method to CSPM {kibana-pull}159994[#159994] -* Adds flags to give permissions to write to any dataset and namespace {kibana-pull}157897[#157897] -* Disables Agent ID verification for Observability projects {kibana-pull}157400[#157400] -* Setup ignore_malformed in fleet {kibana-pull}157184[#157184] - -Lens & Visualizations:: -* Adds several new capabilities for annotation groups in *Lens* {kibana-pull}152623[#152623] - -Observability:: -* Adds SLO create callout to service overview, transactions page and transactions details {kibana-pull}159958[#159958] -* Adds the Logs threshold alert detail page, which provides more information and context about the Logs threshold alert {kibana-pull}159947[#159947] - -Security:: -* Adds vulnerability dashboard tables {kibana-pull}159699[#159699] -* Adds new Vulnerabilities tab to the Group by Resource page {kibana-pull}158987[#158987] -* Adds display errors and check licenses for actions in response actions {kibana-pull}155254[#155254] -* Adds common response actions tab in the alert flyout {kibana-pull}155362[#155362] - -For more information about the features introduced in 8.9.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.9.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.9.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.9.0]] -=== Enhancements -Alerting:: -* Adds a Mustache lambda for alerting actions to format numbers with `{{#FormatNumber}}` using `Intl.NumberFormat` {kibana-pull}159644[#159644] -* Removes bulk snoozing of rules in Select All mode {kibana-pull}159749[#159749] -* Adds refresh button to maintenance windows list {kibana-pull}159618[#159618] -* Adds the feature for a Slack API to have allowed list on channels {kibana-pull}159534[#159534] -* Integrate Conditional Actions with several Observability rule types {kibana-pull}159522[#159522] -* Adds AAD Fields API {kibana-pull}158516[#158516] -* Adds API to retrieve the `fieldsForAAD` from a given rule type {kibana-pull}158516[#158516] -* Improves the performance of clearing expired snooze schedules {kibana-pull}157909[#157909] -APM:: -* Ensure Saved Objects are versionable {kibana-pull}159881[#159881] -* Adds active alerts column for transaction group table {kibana-pull}159552[#159552] -* Adds an OpenAI integration {kibana-pull}158678[#158678] -* Adds Storage explorer improvements {kibana-pull}157303[#157303] -* Adds logic to replace transaction histogram with summary for backwards compatibility {kibana-pull}155714[#155714] -Dashboard:: -* Adds design enhancements to the clone experience in Dashboards {kibana-pull}159752[#159752] -* Adds enhancements to the empty state screen in Dashboards {kibana-pull}158496[#158496] -* Adds a query DSL documentation link to filters UI {kibana-pull}156543[#156543] -* Adds a counter displaying the min/max values of the time series counter field in the field popover {kibana-pull}155499[#155499] -* Adds the ability for Controls to recover from non-fatal error state {kibana-pull}158087[#158087] -Discover:: -* Updates Discover sharing capabilities to enable sharing a link when using temporary data views {kibana-pull}154947[#154947] -Elastic Security:: -For the Elastic Security 8.9.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.9.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. -Fleet:: -* Adds agent integration health reporting in the Fleet UI {kibana-pull}158826[#158826] -Lens & Visualizations:: -* Adds feature to ignore global filters at layer level in *Lens* {kibana-pull}159248[#159248] -* Adds significant terms support as ranking function in Top Values in *lens* {kibana-pull}158962[#158962] -* Adds support for curved, linear and stepped lines in *Lens* {kibana-pull}158896[#158896] -* Allow wildcard searching in options list {kibana-pull}158427[#158427] -* Adds tag cloud to *Lens* {kibana-pull}157751[#157751] -Machine Learning:: -* Data Frame Analytics: Allow interval time range selection in custom URLs {kibana-pull}159874[#159874] -* Increase limit of anomaly charts to max of 50 {kibana-pull}159816[#159816] -* Enable auto-complete on filter by influencer search box on anomaly explorer page {kibana-pull}159739[#159739] -* Moves import buttons in file data visualizer {kibana-pull}159722[#159722] -* Explain Log Rate Spikes: Adds secondary sort by `doc_count` only if sorted by `p-value` {kibana-pull}159568[#159568] -* Adds hyperlink to anomaly explorer for job from anomaly layer in maps {kibana-pull}159268[#159268] -* Support pipelines deletion and force flag for delete action {kibana-pull}158671[#158671] -* Use auto layout for anomalies table columns {kibana-pull}157687[#157687] -* Versioning all ML APIs {kibana-pull}156949[#156949] -Management:: -* Transforms: Adds extra checkpoint stats to details tab {kibana-pull}157287[#157287] -* Adds in-product docs for cross cluster search index pattern input {kibana-pull}156155[#156155] -Maps:: -* Adds a new layer wizard for the spatial join option {kibana-pull}156618[#156618] -Metrics:: -* Adds copilot to hosts process {kibana-pull}159413[#159413] -Observability:: -* Adds TLS Certificates page copied from Uptime, which only displays certificates from the synthetics application {kibana-pull}159541[#159541] -* Adds creating, editing, deleting monitors in private locations, which no longer requires all permissions in feet. You will only need synthetics write permissions. {kibana-pull}159378[#159378] -* Adds burn rate windows to SLO detail page {kibana-pull}159750[#159750] -* Adds *Normalize by* time and scale factor on Diff TopN functions page {kibana-pull}159394[#159394] -* Adds a severity label to SLO burn rate rule reason message {kibana-pull}158954[#158954] -* Adds Copy JSON button to Clipboard for SLO form {kibana-pull}157902[#157902] -* Adds Custom Metric SLI {kibana-pull}157421[#157421] -* Adds Data Views to index pattern selector {kibana-pull}158033[#158033] -Platform:: -* The savedObjects export API now supports exporting all types using the `*` wildcard. Please refer to the documentation {kibana-pull}159289[#159289] -Security:: -* Hide create spaces button when limit is reached {kibana-pull}159102[#159102] -Uptime:: -* Adds the option to send an HTML email instead of a plaintext email to users when assigned to a case {kibana-pull}159335[#159335] -* Implement standard time formatting {kibana-pull}143799[#143799] -* Adds a new field, called `category`, to categorize cases. Users can create a new category, set or select an existing one on a case, and filter by multiple categories on the cases table. {kibana-pull}159890[#159890] - -[float] -[[fixes-v8.9.0]] -=== Bug fixes -Alerting:: -* Fixes containment boundaries not being re-fetched when a query changes {kibana-pull}157408[#157408] -* Fixes the charts on Log threshold breached details page {kibana-pull}160321[#160321] -APM:: -* Fixes infinite loading of APM alert table {kibana-pull}161134[#161134] -* Fixes other bucket message and sorting {kibana-pull}159919[#159919] -* Fixes percentiles for service transaction metrics {kibana-pull}158913[#158913] -* Fixes stack trace on errors when only available as plain text {kibana-pull}156831[#156831] -Cases:: -* Fixes a bug in the alerts table where you cannot create a new case when attaching alerts to a case from the cases modal {kibana-pull}160526[#160526] -* Fixes an issue where the following special characters could not be included in the case tags: `\\():<>"*` because it resulted in a bug where the case would not be displayed in the cases table when filtered for those tags. These characters are now handled correctly and the cases will be shown in the table. {kibana-pull}159815[#159815] -Dashboard:: -* Fixes an issue where a Dashboard redirect alias displayed a blank screen instead of redirecting properly {kibana-pull}161043[#161043] -* Fixes an issue where the time slider would override custom time ranges {kibana-pull}160938[#160938] -* Fixes an issue where if the Reset button is clicked after changing the Title or Description in Panel settings before clicking Save, the Title or Description would revert to previous values {kibana-pull}159430[#159430] -* Fixes dashboard reset when initial state has no controls {kibana-pull}159404[#159404] -Design:: -* Accessibility: Make links on job validation step distinguished from surrounding text {kibana-pull}160608[#160608] -* Fixes the range slider rendering issues and performance improvements {kibana-pull}159271[#159271] -Discover:: -* Fixes refresh fields when entering Discover {kibana-pull}160195[#160195] -Elastic Security:: -For the Elastic Security 8.9.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.9.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. -Fleet:: -* Fixes bug that prevented `index.mapping` settings to be propagated into component templates from default settings {kibana-pull}157289[#157289] -Lens & Visualizations:: -* Fixes missing datasource migration sometimes failing to run in *Lens* {kibana-pull}160129[#160129] -* Removes wrong padding on the dashboard in *Lens* {kibana-pull}159992[#159992] -* Fixes counter fields being used with Top values in *Lens* {kibana-pull}159709[#159709] -* Fixes dimension labels being partially translated on language change in *Lens* {kibana-pull}159089[#159089] -* Fixes the threshold visibility rendering in XY charts {kibana-pull}158917[#158917] -* Fixes a tag cloud warning about container being too small that never disappears {kibana-pull}159611[#159611] -* Default format in *Lens* will apply dataView field format as usual now in new Metric visualization {kibana-pull}158468[#158468] -* Fixes the handling of partition chart empty slices in *Lens* {kibana-pull}158346[#158346] -* Make reference lines use the correct formatter when configured in *Lens* {kibana-pull}158266[#158266] -* Fixes an issue where dropping a date field into a XY visualization with multiple mixed layers resets the chart type of all layers in *Lens* {kibana-pull}157871[#157871] -* Fixes an issue where incompatible actions were visible from the panels {kibana-pull}156667[#156667] -Machine Learning:: -* Fixing time range selector in recognizer wizard {kibana-pull}160910[#160910] -* Fixes Anomaly Explorer URL for alerting context with non-default space {kibana-pull}160899[#160899] -* Hide inference stats for PyTorch models {kibana-pull}160599[#160599] -* Outlier detection results: ensure feature influence color persists on column position change {kibana-pull}160470[#160470] -* Anomaly detection: fixes time format used in query for datafeed chart {kibana-pull}160325[#160325] -* Hide `cache_miss_count` for PyTorch models {kibana-pull}160265[#160265] -* Fixes time range in link to data visualizer after file upload {kibana-pull}160189[#160189] -* Fixes links to dashboards in Lens created anomaly detection jobs {kibana-pull}160156[#160156] -* Adds warning to log pattern analysis page if data view is not time based {kibana-pull}160021[#160021] -Management:: -* Fixes creation and editing of composite runtime fields with dots in the names {kibana-pull}160458[#160458] -* Fixes decreasing network delays when cross cluster search is running by sending `ccs_minimize_roundtrips=true` for async search requests {kibana-pull}159848[#159848] -* Fixes max page search size limit for Transforms {kibana-pull}159052[#159052] -* Fixes issue with single value for fields parameters {kibana-pull}157930[#157930] -* Fixes data view timestamp validation {kibana-pull}150398[#150398] -* Fixes theming for search sessions management {kibana-pull}160182[#160182] -Maps:: -* Fixes geojson layer with joins and no left source matches stuck in loading state {kibana-pull}160222[#160222] -* Fixes size legend not indicating when min/max clamped by standard deviation range {kibana-pull}156927[#156927] -Metrics:: -* Fixes `metric_explorer` flaky test{kibana-pull}157194[#157194] -Operations:: -* Fixes Elasticsearch snapshot startup for parameters with dots in their path {kibana-pull}161022[#161022] -Platform:: -* Fixes theming for error toast messages {kibana-pull}160219[#160219] -* Fixes a bug that could cause old Kibana deployments to loose their uiSettings after an upgrade {kibana-pull}159649[#159649] -* Fixes the handling of non-existing objects in _copy_saved_objects API call {kibana-pull}158036[#158036] -Security:: -* Fixes theming of CodeEditors {kibana-pull}159638[#159638] -* Update session viewer Policy permissions to use Policy specific check {kibana-pull}160448[#160448] -* Fixes an issue when opening an endpoint exception from the Alert's summary flyout actions button, the exception did not auto-populate {kibana-pull}159908[#159908] -Uptime:: -* Fixes parsing of response check on JSON expressions {kibana-pull}161634[#161634] -* Fixes an API error stating no key exists when a user was visiting the getting started page or tried to add monitor view by enabling synthetics {kibana-pull}160360[#160360] -* Fixes copy on private locations popover {kibana-pull}159740[#159740] - -[[release-notes-8.8.2]] -== {kib} 8.8.2 - -Review the following information about the {kib} 8.8.2 release. - -[float] -[[known-issues-8.8.2]] -=== Known issues - -// tag::known-issue-161249[] -[discrete] -.Kibana can run out of memory during an upgrade when there are many {fleet} agent policies. -[%collapsible] -==== -*Details* + -Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. -This action triggers a lot of queries to the Elastic Package Registry (EPR) to fetch integration packages. As a result, -there is an increase in Kibana's resident memory usage (RSS). - -*Impact* + -Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can -cause Kibana to run out of memory during an upgrade. For example, we have observed 1GB Kibana instances run -out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. - -*Workaround* + -Two workaround options are available: - -* Increase the Kibana instance size to 2GB. So far, we are not able to reproduce the issue with 2GB instances. -* Set `xpack.fleet.setup.agentPolicySchemaUpgradeBatchSize` to `2` in the `kibana.yml` and restart the Kibana instance(s). - -In 8.9.0, we are addressing this by changing the default batch size to `2`. - -==== -// end::known-issue-161249[] - -[float] -[[fixes-v8.8.2]] -=== Bug fixes - -APM:: -* Fixes the latency graph displaying all service transactions, rather than the selected one, on the transaction detail page {kibana-pull}159085[#159085] - -Dashboard:: -* Fixes styling of top nav bar {kibana-pull}159754[#159754] -* Fixes alias redirect and update error handling {kibana-pull}159742[#159742] -* Fixes time range regression {kibana-pull}159337[#159337] - -Elastic Security:: -For the Elastic Security 8.8.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.8.2 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Fixes usage of AsyncLocalStorage for audit log {kibana-pull}159807[#159807] -* Fixing issue of returning output API key {kibana-pull}159179[#159179] - -Logs:: -* Fixes log categorization UI failure due to an infinite loop {kibana-pull}159090[#159090] - -Machine Learning:: -* Hiding pattern analysis button for non-time series data {kibana-pull}160051[#160051] -* Fixes blocking forced downgrades/installation if indices can't be deleted {kibana-pull}159814[#159814] - -Maps:: -* Fixes layer group loading indicator always on when group has non-visible layer {kibana-pull}159517[#159517] -* Fixes geo line source not loading unless the Maps application is open {kibana-pull}159432[#159432] -* Fixes Maps orphan sources on layer deletion {kibana-pull}159067[#159067] - -Monitoring:: -* Permanently hide the telemetry notice on dismissal {kibana-pull}159893[#159893] - -Observability:: -* Handle buildEsQuery error (such as leading wildcard) in status change {kibana-pull}159891[#159891] - -Platform:: -* Fixes global search crash on missing tag {kibana-pull}159196[#159196] -* Fixes a regression where the "saved_object_resolve" audit action was not being logged per object {kibana-pull}160014[#160014] - -Uptime:: -* Ensures that users can configure custom `Content-Type` headers for HTTP monitors in the Synthetics app {kibana-pull}159737[#159737] -* Fixes an issue where alerting on Synthetics monitors was sometimes delayed {kibana-pull}159511[#159511] - -[[release-notes-8.8.1]] -== {kib} 8.8.1 - -Review the following information about the {kib} 8.8.1 release. - -[float] -[[known-issues-8.8.1]] -=== Known issues - -// tag::known-issue-161249[] -[discrete] -.Kibana can run out of memory during an upgrade when there are many {fleet} agent policies. -[%collapsible] -==== -*Details* + -Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. -This action triggers a lot of queries to the Elastic Package Registry (EPR) to fetch integration packages. As a result, -there is an increase in Kibana's resident memory usage (RSS). - -*Impact* + -Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can -cause Kibana to run out of memory during an upgrade. For example, we have observed 1GB Kibana instances run -out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. - -*Workaround* + -Two workaround options are available: - -* Increase the Kibana instance size to 2GB. So far, we are not able to reproduce the issue with 2GB instances. -* Set `xpack.fleet.setup.agentPolicySchemaUpgradeBatchSize` to `2` in the `kibana.yml` and restart the Kibana instance(s). - -In 8.9.0, we are addressing this by changing the default batch size to `2`. - -==== -// end::known-issue-161249[] - -// tag::known-issue-159807[] -[discrete] -.Memory leak in {fleet} audit logging. -[%collapsible] -==== -*Details* + -{fleet} introduced audit logging for various CRUD (create, read, update, and delete) operations in version 8.8.0. - -While audit logging is not enabled by default, we have identified an off-heap memory leak in the implementation of {fleet} audit logging that can result in poor {kib} performance, and in some cases {kib} instances being terminated by the OS kernel's oom-killer. This memory leak can occur even when {kib} audit logging is not explicitly enabled (regardless of whether `xpack.security.audit.enabled` is set in the `kibana.yml` settings file). - -*Impact* + -The version 8.8.2 release includes in {kibana-pull}159807[a fix] for this problem. If you are using {fleet} integrations -and {kib} audit logging in version 8.8.0 or 8.8.1, you should upgrade to 8.8.2 or above to obtain the fix. -==== -// end::known-issue-159807[] - -[float] -[[breaking-changes-8.8.1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.8.1, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in the {kib} 8.8.1 release. - -To review the breaking changes in the previous release, check {kibana-ref-all}/8.8/release-notes-8.8.0.html#breaking-changes-8.8.0[8.8.0]. - -[float] -[[enhancement-v8.8.1]] -=== Enhancements - -Elastic Security:: -For the Elastic Security 8.8.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Add Elastic Agent UI instructions for Universal Profile {kibana-pull}158936[#158936] - -[float] -[[fixes-v8.8.1]] -=== Bug fixes - -Alerting:: -* Fixes a bug where ML embeddables, OsQuery, and IoCs attachments in a case render the wrong view {kibana-pull}158441[#158441] -* Makes alert links shorter {kibana-pull}158582[#158582] -* Throws a Mustache error when validating action message for warnings {kibana-pull}158668[#158668] -* Adds null checks when iterating through an index template list {kibana-pull}158742[#158742] - -APM:: -* Displays the size of hidden indices in storage explorer {kibana-pull}158746[#158746] -* Changes the APM latency value and latency threshold to microseconds {kibana-pull}158703[#158703] -* Fixes service transaction metrics by using `transaction.duration.histogram` for percentile aggregations {kibana-pull}158909[#158909] - -Discover:: -* Update single doc view locator to URL encode `rowId` {kibana-pull}158635[#158635] -* Fixes the display of grid row selection when in dark mode {kibana-pull}158231[#158231] - -Elastic Security:: -For the Elastic Security 8.8.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Include hidden data streams in package upgrade {kibana-pull}158654[#158654] - -Logs:: -* Fixes Log Categorization UI failure due to an infinite loop {kibana-pull}159090[#159090] - -Machine Learning:: -* Increases calendar events request limit {kibana-pull}158726[#158726] -* Disables the delete option for deployed models {kibana-pull}158533[#158533] -* Applies theme based on the User Profile settings {kibana-pull}158258[#158258] - -Maps:: -* Fixes toolbar action button not filled when selected {kibana-pull}158284[#158284] -* Fixes Maps to display dark theme when enabled {kibana-pull}158219[#158219] - -Operations:: -* Fixes configuration stacking order {kibana-pull}158827[#158827] - -Platform:: -* Fixes {kib} crashing on Safari versions prior to 16.4 {kibana-pull}158825[#158825] -* Updates all aliases with a single `updateAliases()` when relocating saved objects {kibana-pull}158940[#158940] -* Fixes a race condition that could cause intermittent upgrade migration failures when {kib} connects to a single node {es} cluster {kibana-pull}158182[#158182] -* Dynamically reduces the `migrations.batchSize` value when {kib} encounters a migration batch that's too big to process {kibana-pull}157494[#157494] - -[[release-notes-8.8.0]] -== {kib} 8.8.0 - -Review the following information about the {kib} 8.8.0 release. - -[float] -[[known-issues-8.8.0]] -=== Known issues - -// tag::known-issue-161249[] -[discrete] -.Kibana can run out of memory during an upgrade when there are many {fleet} agent policies. -[%collapsible] -==== -*Details* + -Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. -This action triggers a lot of queries to the Elastic Package Registry (EPR) to fetch integration packages. As a result, -there is an increase in Kibana's resident memory usage (RSS). - -*Impact* + -Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can -cause Kibana to run out of memory during an upgrade. For example, we have observed 1GB Kibana instances run -out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. - -*Workaround* + -Two workaround options are available: - -* Increase the Kibana instance size to 2GB. So far, we are not able to reproduce the issue with 2GB instances. -* Set `xpack.fleet.setup.agentPolicySchemaUpgradeBatchSize` to `2` in the `kibana.yml` and restart the Kibana instance(s). - -In 8.9.0, we are addressing this by changing the default batch size to `2`. - -==== -// end::known-issue-161249[] - -// tag::known-issue-158940[] -[discrete] -.Failed upgrades to 8.8.0 can cause bootlooping and data loss -[%collapsible] -==== -*Details* + -The 8.8.0 release splits the `.kibana` index into multiple saved object indices. If an upgrade to 8.8.0 partially succeeds, but not all the indices are created successfully, {kib} may be unable to successfully complete the upgrade on the next restart. - -This can result in a loss of saved objects during the upgrade. This can also leave {kib} in a bootlooping state where it's unable to start due to `write_blocked` indices. - -*Impact* + -The 8.8.1 release includes in {kibana-pull}158940[a fix] for this problem. Customers affected by a failed 8.8.0 upgrade should contact Elastic support. For more information, see the {kibana-issue}158733[related issue]. -==== -// end::known-issue-158940[] - -// tag::known-issue-159807[] -[discrete] -.Memory leak in {fleet} audit logging. -[%collapsible] -==== -*Details* + -{fleet} introduced audit logging for various CRUD (create, read, update, and delete) operations in version 8.8.0. -While audit logging is not enabled by default, we have identified an off-heap memory leak in the implementation of {fleet} audit logging that can result in poor {kib} performance, and in some cases {kib} instances being terminated by the OS kernel's oom-killer. This memory leak can occur even when {kib} audit logging is not explicitly enabled (regardless of whether `xpack.security.audit.enabled` is set in the `kibana.yml` settings file). - -*Impact* + -The version 8.8.2 release includes in {kibana-pull}159807[a fix] for this problem. If you are using {fleet} integrations -and {kib} audit logging in version 8.8.0 or 8.8.1, you should upgrade to 8.8.2 or above to obtain the fix. -==== -// end::known-issue-159807[] - -// tag::known-issue-155203[] -[discrete] -.Monitors in Synthetics may stop running -[%collapsible] -==== -*Details* + -If Monitor Management was enabled prior to 8.6.0, the API key generated internally will not contain the required permissions. The Synthetics app will attempt to fix this automatically in {kibana-pull}155203[#155203] when a user with https://www.elastic.co/guide/en/observability/8.8/synthetics-role-setup.html[sufficient privileges] visits this page for the first time after upgrading to 8.8.0. - -*Impact* + -All monitors configured to run on Elastic's global managed testing infrastructure will stop running until a user with permissions has loaded the Synthetics app. -==== -// end::known-issue-155203[] - -// tag::known-issue-156798[] -[discrete] -.Network throttling disabled for browser monitors in Synthetics -[%collapsible] -==== -*Details* + -Network throttling has been temporarily disabled for browser-based Synthetics monitors running on Elastic's global managed testing infrastructure and private locations. This will be enabled again at some point in the future. We're providing frequent updates on this issue in https://github.com/elastic/synthetics/blob/main/docs/throttling.md[this document]. - -*Impact* + -With network throttling being disabled, your monitors may run more quickly (i.e. have a lower duration) than you observed previously and than when network throttling is enabled again in the future. No monitor configurations have been changed, but the network throttling settings are ignored at the moment. -==== -// end::known-issue-156798[] - -// tag::known-issue-120[] -[discrete] -.Alert failures when migrating to 8.8.0 from 8.6 or earlier -[%collapsible] -==== -*Details* + -If a cluster meets all of the following conditions, its {elastic-sec} and {observability} rules will fail and no actions will be sent: - -- The {elastic-sec} and {observability} rules were created in version 8.6 or earlier releases. -- There must be an {ref}/index-templates.html[index template] (for any index) that isn't composed of component templates. - -The following error messages in the {kib} log occur when {kib} starts or when the rules run: - -[source,sh] ----- -Error installing component template .alerts-ecs-mappings - Cannot read properties of undefined (reading 'includes') - -Error installing common resources for AlertsService. No additional resources will be installed and rule execution may be impacted. - Failure during installation. Cannot read properties of undefined (reading 'includes') ----- - -*Impact* + -If you have upgraded to 8.8.0 and your alerting rules fail, upgrade to 8.8.1. -==== -// end::known-issue-120[] - -// tag::known-issue-158447[] -[discrete] -.Incorrect attachments are added to cases -[%collapsible] -==== -*Details* + -When you attach {ml} visualizations, OsQuery, or Indicators of Compromise (IoCs) to a case, each attachment has its own view which renders in the *Activity* tab. -For these attachments, a bug was introduced in 8.8.0: - -. If you add two different attachments on a case, the view will be the same for both. -. If you add one attachment to one case and another to a different case, in the second case you will view the attachment of the first case. - -Alerts are not affected. - -*Impact* + -There are no mitigations for the first scenario, other than upgrading to 8.8.1. -For the second scenario, refreshing the case fixes the issue. -==== -// end::known-issue-158447[] - -[float] -[[breaking-changes-8.8.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.8.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Removes legacy project monitor API -[%collapsible] -==== -*Details* + -The project monitor API for Synthetics in Elastic Observability has been removed. For more information, refer to {kibana-pull}155470[#155470]. - -*Impact* + -In 8.8.0 and later, an error appears when you use the project monitor API. -==== - -[discrete] -.Changes the privileges for alerts and cases -[%collapsible] -==== -*Details* + -The privileges for attaching alerts to cases has changed. For more information, refer to {kibana-pull}147985[#147985]. - -*Impact* + -To attach alerts to cases, you must have `Read` access to an {observability} or Security feature that has alerts and `All` access to the **Cases** feature. For detailed information, check link:https://www.elastic.co/guide/en/kibana/current/kibana-privileges.html[{kib} privileges] and link:https://www.elastic.co/guide/en/kibana/current/setup-cases.html[Configure access to cases]. -==== - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.7/release-notes-8.7.0.html#breaking-changes-8.7.0[8.7.0] | {kibana-ref-all}/8.6/release-notes-8.6.0.html#breaking-changes-8.6.0[8.6.0] | {kibana-ref-all}/8.5/release-notes-8.5.0.html#breaking-changes-8.5.0[8.5.0] | {kibana-ref-all}/8.4/release-notes-8.4.0.html#breaking-changes-8.4.0[8.4.0] | {kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[deprecations-8.8.0]] -=== Deprecations - -The following functionality is deprecated in 8.8.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.8.0. - -[discrete] -[[deprecation-154275]] -.Deprecates ephemeral Task Manager settings -[%collapsible] -==== -*Details* + -The following Task Manager settings are deprecated: - -* `xpack.task_manager.ephemeral_tasks.enabled` -* `xpack.task_manager.ephemeral_tasks.request_capacity` -* `xpack.alerting.maxEphemeralActionsPerAlert` - -For more information, refer to {kibana-pull}154275[#154275]. - -*Impact* + -To improve task execution resiliency, remove the deprecated settings from the `kibana.yml` file. For detailed information, check link:https://www.elastic.co/guide/en/kibana/current/task-manager-settings-kb.html[Task Manager settings in {kib}]. -==== - -[discrete] -[[deprecation-154010]] -.Deprecates monitor schedules -[%collapsible] -==== -*Details* + -Synthetics and Uptime monitor schedules and zip URL fields are deprecated. For more information, refer to {kibana-pull}154010[#154010] and {kibana-pull}154952[#154952]. - -*Impact* + -When you create monitors in Uptime Monitor Management and the Synthetics app, unsupported schedules are automatically transfered to the nearest supported schedule. To use zip URLs, use project monitors. -==== - -[discrete] -[[deprecation-152236]] -.Deprecates Agent reassign API PUT endpoint -[%collapsible] -==== -*Details* + -The PUT endpoint for the agent reassign API is deprecated. For more information, refer to {kibana-pull}152236[#152236]. - -*Impact* + -Use the POST endpoint for the agent reassign API. -==== - -[discrete] -[[deprecation-151564]] -.Deprecates `total` in `/agent_status` Fleet API -[%collapsible] -==== -*Details* + -The `total` field in `/agent_status` Fleet API responses is deprecated. For more information, refer to {kibana-pull}151564[#151564]. - -*Impact* + -The `/agent_status` Fleet API now returns the following statuses: - -* `all` — All active and inactive -* `active` — All active -==== - -[discrete] -[[deprecation-149506]] -.Deprecates Elastic Synthetics integration -[%collapsible] -==== -*Details* + -The Elastic Synthetics integration is deprecated. For more information, refer to {kibana-pull}149506[#149506]. - -*Impact* + -To monitor endpoints, pages, and user journeys, go to **{observability}** -> **Synthetics (beta)**. -==== - -[float] -[[features-8.8.0]] -=== Features -{kib} 8.8.0 adds the following new and notable features. - -Alerting:: -* Adds Maintenance Window Task Runner Integration + New AAD/Event Log Fields {kibana-pull}154761[#154761] -* Adds support for users authenticated with API keys to manage alerting rules {kibana-pull}154189[#154189] -* Adds the ability to control allowed attached file mime types and the maximum file size {kibana-pull}154013[#154013] -* Adds query and timeframe params to RuleAction to filter alerts {kibana-pull}152360[#152360] - -APM:: -* Adds group-by feature in APM rules {kibana-pull}155001[#155001] -* Adds queues as nodes to the service map {kibana-pull}153784[#153784] -* Adds the ability to display the latest agent version in agent explorer {kibana-pull}153643[#153643] -* Adds table tabs showing summary of metrics {kibana-pull}153044[#153044] -* Adds warning to Edit Rule Flyout when publicUrl is not configured {kibana-pull}149832[#149832] - -Cases:: -* Adds support for file attachments in Cases {kibana-pull}154436[#154436] -* Adds the Cases column to the alerts table {kibana-pull}150963[#150963] -* Adds filtering and sorting for the case activity {kibana-pull}149396[#149396] -* Adds the ability to filter user activities with pagination {kibana-pull}152702[#152702] - -Dashboard:: -Pins the unified search bar and dashboard toolbar to the top of the dashboard page when scrolling {kibana-pull}145628[#145628] - -Discover:: -Adds log pattern analysis {kibana-pull}153449[#153449] - -Elastic Security:: -For the Elastic Security 8.8.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.8.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Adds audit logging for core CRUD operations {kibana-pull}152118[#152118] -* Adds modal to display versions changelog {kibana-pull}152082[#152082] - -Infrastructure:: -* Adds the logs tab to the Hosts View {kibana-pull}152995[#152995] -* Adds Alerts tab into Hosts View {kibana-pull}149579[#149579] -* Adds refactoring to the Time and Position log stream state {kibana-pull}149052[#149052] - -Machine Learning:: -* Adds ELSER config to the Trained Models UI {kibana-pull}155867[#155867] -* Adds support for custom URLs in jobs for Data Frame Analytics {kibana-pull}154287[#154287] -* Adds support to filter fields from grouping in Explain Log Rate Spikes {kibana-pull}153864[#153864] -* Adds log pattern analysis in Discover {kibana-pull}153449[#153449] - -Management:: -* Adds support for global settings {kibana-pull}148975[#148975] -* Adds Custom Branding settings to Global settings {kibana-pull}150080[#150080] - -Maps:: -Adds map.emsUrl to docker env variables {kibana-pull}153441[#153441] - -Observability:: -* Adds the ability to changes all SLO assets to managed, and indices to hidden {kibana-pull}154953[#154953] -* Adds Exploratory View to a separate app {kibana-pull}153852[#153852] - -Platform:: -Adds text {kibana-pull}151631[#151631] - -Security:: -* Adds CloudFormation agent install method {kibana-pull}155045[#155045] -* Adds Vul mgmt flyout details panel {kibana-pull}154873[#154873] -* Adds Vulnerabilities Table {kibana-pull}154388[#154388] -* Adds the ability to select a theme preference for {kib} in the User Profile {kibana-pull}151507[#151507] - -Uptime:: -Adds UUID to RuleAction {kibana-pull}148038[#148038] - -For more information about the features introduced in 8.8.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.8.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.8.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.8.0]] -=== Enhancements -Alerting:: -* Adds the ability to predefine IDs when you create connectors {kibana-pull}155392[#155392] -* Adds the ability to allow the footer added to emails sent from {kib} alerting rules to **NOT** be added {kibana-pull}154919[#154919] -* Adds conditional actions UI for timeframe {kibana-pull}153944[#153944] -* Adds a single view in the app function for rule actions variables and UI page {kibana-pull}148671[#148671] - -APM:: -* Adds error grouping key filter in error count rule type {kibana-pull}155410[#155410] -* Adds transaction name filter in failed transaction rate rule type {kibana-pull}155405[#155405] -* Replaces most used charts with the Lens embeddable {kibana-pull}155026[#155026] -* Adds transaction name filter in latency threshold rule {kibana-pull}154241[#154241] -* Adds Unified Search for APM {kibana-pull}153842[#153842] -* Adds migratation for the remaining tx-based visualizations {kibana-pull}153375[#153375] -* Adds migration for the tx latency chart and group stats to rollups/service metrics {kibana-pull}153162[#153162] -* Disables agent configuration creation for opentelemetry agents {kibana-pull}150697[#150697] - -Cases:: -* Adds the ability to set a new connector to default {kibana-pull}151884[#151884] -* Improves the design of the description markdown editor on the Cases page {kibana-pull}155151[#155151] - -Dashboard:: -* Adds support to Dashboard for searching saved objects by tags {kibana-pull}154946[#154946] -* Adds reset button {kibana-pull}154872[#154872] -* Adds unified dashboard settings {kibana-pull}153862[#153862] -* Adds the ability to scroll to a new panel {kibana-pull}152056[#152056] - -Discover:: -* Adds the ability to allow wildcards in field search {kibana-pull}155540[#155540] -* Adds a loading indicator during Discover table updates {kibana-pull}155505[#155505] -* Adds drag & drop capabilities for adding columns to the table {kibana-pull}153538[#153538] -* Adds a progress indicator when a saved search embeddable is updating {kibana-pull}152342[#152342] -* Adds inline data fetching errors {kibana-pull}152311[#152311] -* Adds a loading indicator for the classic table embeddable {kibana-pull}152072[#152072] -* Adds the ability to suppress "Missing index" toasts {kibana-pull}149625[#149625] - -Elastic Security:: -For the Elastic Security 8.8.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.8.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Adds support for fields of type aggregate_metric_double {kibana-pull}154920[#154920] -* Adds overview dashboards in fleet {kibana-pull}154914[#154914] -* Adds raw status to Agent details UI {kibana-pull}154826[#154826] -* Adds support for dynamic_namespace and dynamic_dataset {kibana-pull}154732[#154732] -* Adds the ability to show pipelines and mappings editor for input packages {kibana-pull}154077[#154077] -* Adds placeholder to integration select field {kibana-pull}153927[#153927] -* Adds the ability to show integration subcategories {kibana-pull}153591[#153591] -* Adds the ability to create and update the package policy API return 409 conflict when names are not unique {kibana-pull}153533[#153533] -* Adds the ability to display policy changes in Agent activity {kibana-pull}153237[#153237] -* Adds the ability to display errors in Agent activity with link to Logs {kibana-pull}152583[#152583] -* Adds support for select type in integrations {kibana-pull}152550[#152550] -* Adds the ability to make spaces plugin optional {kibana-pull}152115[#152115] -* Adds proxy ssl key and certificate to agent policy {kibana-pull}152005[#152005] -* Adds `_meta` field `has_experimental_data_stream_indexing_features` {kibana-pull}151853[#151853] -* Adds the ability to create templates and pipelines when updating package of a single package policy from type integration to input {kibana-pull}150199[#150199] -* Adds user's secondary authorization to Transforms {kibana-pull}154665[#154665] - -Infrastructure:: -Adds Memory Available Graph To Hosts View {kibana-pull}151863[#151863] - -Lens & Visualizations:: -* Adds the ability to sync the partition legend order with the filters order in *Lens* {kibana-pull}154820[#154820] -* Adds support for icons in the new *Lens* metric {kibana-pull}154210[#154210] -* Adds the ability to share with reports in *Lens* {kibana-pull}153429[#153429] -* Adds show and hide heatmap ticks in *Lens* {kibana-pull}153425[#153425] -* Adds the ability to remove empty headers when there is no x-axis in *Lens* {kibana-pull}153420[#153420] -* Adds improvements to the Metric formatter to support bit format in *Lens* {kibana-pull}153389[#153389] -* Adds the ability to prevent default behaviour from action callback in *Lens* {kibana-pull}152842[#152842] -* Adds Random Sampling to *Lens* {kibana-pull}151749[#151749] - -Machine Learning:: -* Data Frame Analytics creation wizard: add ability to add time field to result data view {kibana-pull}155669[#155669] -* Display info when no datafeed preview results are found {kibana-pull}155650[#155650] -* Adding ignore unavailable indices option to anomaly detection job wizards {kibana-pull}155527[#155527] -* Support multiple model deployments {kibana-pull}155375[#155375] -* Uses two weeks before now for default start time in job start date picker {kibana-pull}155312[#155312] -* AIOps: Adds filter action for the Change point detection results {kibana-pull}155256[#155256] -* Adds search links for AIOps Labs pages {kibana-pull}155202[#155202] -* AIOps: Adds field stats for metric and split fields {kibana-pull}155177[#155177] -* AIOps: Link from Explain Log Rate Spikes to Log Pattern Analysis {kibana-pull}155121[#155121] -* Explain Log Rate Spikes: adds popover to analysis table for viewing other field values {kibana-pull}154689[#154689] -* Explain Log Rate Spikes: Makes use of random sampling for overall histogram chart {kibana-pull}154520[#154520] -* Explain Log Rate Spikes: Adds table action to copy filter to clipboard {kibana-pull}154311[#154311] -* Change point detection: support for multiple metric and split fields {kibana-pull}154237[#154237] -* Enhances support for counter fields in data visualizer / field statistics {kibana-pull}153893[#153893] -* Custom sorting by message level on Notifications page {kibana-pull}153462[#153462] -* Adds log pattern analysis in Discover {kibana-pull}153449[#153449] -* Explain Log Rate Spikes: Improves grouping using the `include` option of the `frequent_item_sets` agg {kibana-pull}153091[#153091] -* Data Frame Analytics exploration: adds actions column with link to discover {kibana-pull}151482[#151482] -* Allows row expansion for blocked anomaly detection jobs {kibana-pull}151351[#151351] -* Enhances job and datafeed config editors in the Advanced anomaly detection job wizard to provide suggestions and documentation {kibana-pull}146968[#146968] - -Management:: -* Adds timezone support for Transforms date histogram pivot configuration {kibana-pull}155535[#155535] -* Adds more system indices to store internal data when you upgrade to 8.8.0 {kibana-pull}154888[#154888] -* Adds improvements for supporting counter fields in Transforms {kibana-pull}154171[#154171] -* Adds `_schedule_now` action to transform list {kibana-pull}153545[#153545] -* Adds link to Discover from Index Management so users can directly look at documents of their indices {kibana-pull}152640[#152640] -* Adds health information for alerting rule in Transforms{kibana-pull}152561[#152561] -* Adds improvements for index pattern input in the data view flyout {kibana-pull}152138[#152138] -* Adds a new description for the metadata field in ingest pipelines {kibana-pull}150935[#150935] -* Adds a _meta field to the Ingest pipelines form {kibana-pull}149976[#149976] -* Adds option to Reauthorize transform on Management page {kibana-pull}154736[#154736] - -Maps:: -Adds metrics mask {kibana-pull}154983[#154983] - -Observability:: -* Adds invalid license page {kibana-pull}154866[#154866] -* Adds empty state page links {kibana-pull}154678[#154678] -* Adds upload symbols instructions to add data page {kibana-pull}154670[#154670] -* Adds new CPU incl and CPU excl names {kibana-pull}154560[#154560] -* Adds symbols callout on frame information window {kibana-pull}154478[#154478] -* Adds Co2 and dollar cost columns and show more information action to functions table {kibana-pull}154097[#154097] -* Adds improvements to functions {kibana-pull}153873[#153873] -* Adds improvements to Flamegraph {kibana-pull}153598[#153598] -* Adds the ability to open the Traces view when you click on a series in stacked charts {kibana-pull}153325[#153325] -* Adds CPU usage column to replace CPU count column {kibana-pull}151696[#151696] - -Querying & Filtering:: -* Adds the ability to avoid duplicate host IP mapping {kibana-pull}155353[#155353] -* Adds improvements to the saved query terminology {kibana-pull}154517[#154517] - -[float] -[[fixes-v8.8.0]] -=== Bug fixes -Alerting:: -* Fixes Delete Schedule button padding issue {kibana-pull}154503[#154503] -* Fixes error message flash and throttle value reset {kibana-pull}154497[#154497] -* Fixes broken custom snooze recurrences with monthly frequency {kibana-pull}154251[#154251] -* Fixes an issue where you were unable to use retry on updateAPIKey conflict {kibana-pull}151802[#151802] - -APM:: -* Fixes an issue where you were uneable to enable framework alerts as data by default {kibana-pull}154076[#154076] -* Upgraded EUI to v76.0.0 {kibana-pull}152506[#152506] -* Fixes an issue where the OpenTelemetry process and system metrics were unsupported {kibana-pull}151826[#151826] - -Canvas:: -Fixes `createElement` callback {kibana-pull}154398[#154398] - -Cases:: -Fixes the Lens visualization in the comment and description markdown on the New Case page {kibana-pull}155897[#155897] - -Dashboard:: -* Fixes unsaved changes bug on empty dashboard {kibana-pull}155648[#155648] -* Removed Reload on Clone and Replace Panel {kibana-pull}155561[#155561] -* Fixes z index of toolbar items {kibana-pull}154501[#154501] -* Fixes inherited input race condition {kibana-pull}154293[#154293] -* Fixes Changing label of a geospatial filter causes filter disappear from map {kibana-pull}154087[#154087] - -Discover:: -* Adds a "Temporary" badge for temporary data views in the Alerts flyout {kibana-pull}155717[#155717] -* Adds the ability to exclude counter fields from Breakdown options {kibana-pull}155532[#155532] -* Adds the ability to skip requests for the time series metric counter field {kibana-pull}154319[#154319] -* Fixes KQL autocomplete suggestions, which now support IP-type fields when the `autocomplete:valueSuggestionMethod advanced setting is set to terms_enum {kibana-pull}154111[#154111] -* Fixes an issue where saved search "Manage searches" button was unable to apply the "search" type filter {kibana-pull}152565[#152565] - -Elastic Security:: -For the Elastic Security 8.8.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.8.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Fixes package license check to use new `conditions.elastic.subscription` field {kibana-pull}154831[#154831] -* Fixes the OpenAPI spec from `/agent/upload` to `/agent/uploads` for Agent uploads API {kibana-pull}151722[#151722] - -Infrastructure:: -Adds a 404 page for metrics and logs {kibana-pull}153005[#153005] - -Integrations:: -Fixes the slow process event for queries + xterm.js {kibana-pull}155326[#155326] - -Kibana Home & Add Data:: -Fixes the guided onboarding API prefix to indicate that it's intended for internal use {kibana-pull}155643[#155643] - -Lens & Visualizations:: -* Adds a default label on field changes for counter rate in *Lens* {kibana-pull}155509[#155509] -* Panel titles and descriptions are now transferred to the converted Lens panels in *TSVB* {kibana-pull}154713[#154713] -* Adds the ability to use the empty label for `/` terms in *TSVB* {kibana-pull}154647[#154647] -* Fixes the formatting for the legend actions title {kibana-pull}153747[#153747] -* Adds support for negative filter ratios in *TSVB* {kibana-pull}152053[#152053] -* Adds the ability to always retain source order for multi-metric partition chart layers in *Lens* {kibana-pull}151949[#151949] - -Machine Learning:: -* Data Frame Analytics/Anomaly Detection: Custom URLs - entity dropdown reflects Data View update {kibana-pull}155096[#155096] -* AIOps: Fix race condition where stale url state would reset search bar {kibana-pull}154885[#154885] -* Fixes anomalies table drilldown time range for longer bucket spans {kibana-pull}153678[#153678] -* Do not match time series counter fields with aggs in wizards {kibana-pull}153021[#153021] -* Anomaly Detection datafeed chart: ensure chart y axis minimum set correctly {kibana-pull}152051[#152051] - -Management:: -* Improves the display when there are many columns {kibana-pull}155119[#155119] -* Fixes stale submit handler ref update {kibana-pull}154242[#154242] -* Fixes terms aggregation support in wizard for Transforms {kibana-pull}151879[#151879] -* Fixes an issue where you were unable to accept additional dynamic field values for an index template {kibana-pull}150543[#150543] - -Maps:: -* Fixes raster layer is missing in pdf/png exports {kibana-pull}154686[#154686] -* Fixes RegionMap chart type does not work with reporting {kibana-pull}153492[#153492] -* Fixes layers are not displayed in offline environment and map.includeElasticMapsService not set to false {kibana-pull}152396[#152396] - -Monitoring:: -Removes usage for the stats endpoint {kibana-pull}151082[#151082] - -Observability:: -* Adds space-specific feature privileges {kibana-pull}154734[#154734] -* Adds the ability to properly handle NO DATA with multiple conditions with a mix of aggregations and document count thresholds {kibana-pull}154690[#154690] -* Adds additional types to the fields to be use with cardinality aggregation for Metric Threshold Rule {kibana-pull}154197[#154197] -* Adds persistent normalization mode {kibana-pull}153116[#153116] -* Fixes refresh every in the alert search bar {kibana-pull}152246[#152246] - -Platform:: -Fixes badge counter for global settings {kibana-pull}150869[#150869] - -Querying & Filtering:: -* Adds the ability to unload a selected query when it is deleted {kibana-pull}154644[#154644] -* Removes failures in wrong custom timerange {kibana-pull}154643[#154643] - -Reporting:: -* Fixes report generation when image panel is in the end of the layout {kibana-pull}153846[#153846] -* Updates Chromium to 111.0.5555.0 (r1095492) and Puppeteer to 19.7.2 {kibana-pull}153033[#153033] - -Uptime:: -* Fixes default date range on errors page {kibana-pull}155661[#155661] -* Removes the "Beta" labels in Synthetics {kibana-pull}155589[#155589] -* Fixes ML job/rule edit error {kibana-pull}155212[#155212] - -[[release-notes-8.7.1]] -== {kib} 8.7.1 - -Review the following information about the {kib} 8.7.1 release. - -[float] -[[breaking-changes-8.7.1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.7.1, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in the {kib} 8.7.1 release. - -To review the breaking changes in the previous release, check {kibana-ref-all}/8.7/release-notes-8.7.0.html#breaking-changes-8.7.0[8.7.0]. - -[float] -[[enhancement-v8.7.1]] -=== Enhancement -Fleet:: -The agent policy "Host name format" selector is now enabled by default {kibana-pull}154563[#154563] - -[float] -[[fixes-v8.7.1]] -=== Bug fixes -APM:: -* Scoring is now applied by ES {kibana-pull}154627[#154627] -* Fixes the APM Java Agent download link {kibana-pull}154023[#154023] -* Improves the overflow message text {kibana-pull}153676[#153676] - -Canvas:: -* Disables the Edit in Lens action for the legacy savedVisualization function {kibana-pull}154656[#154656] -* Fixes the home page redirect loop {kibana-pull}154568[#154568] -* Fixes an issue where the image upload component was unable to load for image elements {kibana-pull}154385[#154385] - -Dashboard:: -Improves controls flyout performance for data views with a large number of fields {kibana-pull}154004[#154004] - -Discover:: -Fixes aborted request handling in the saved search embeddable {kibana-pull}153822[#153822] - -Elastic Security:: -For the Elastic Security 8.7.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Fixes an issue where the Advanced options toggle in the policy editor was always showing {kibana-pull}154612[#154612] -* Fixes an issue where the warning icon was unable to display in 8.7 {kibana-pull}154119[#154119] -* Adds updates to output logic {kibana-pull}153226[#153226] - -Infrastructure:: -Fixes the inventory table pagination navigation {kibana-pull}153849[#153849] - -Lens & Visualizations:: -Fixes the timezone that *Lens* uses in normalize by unit {kibana-pull}154472[#154472] - -Machine Learning:: -* Change point detection: Fixes applied filters and queries to the charts {kibana-pull}154707[#154707] -* Change point detection: Fixes support for running over relative time range {kibana-pull}154313[#154313] -* Reinstates cold and frozen tier filters for Linux and Windows security modules {kibana-pull}153222[#153222] - -Maps:: -Fixes an issue where geographic filters were unable to work when courier:ignoreFilterIfFieldNotInIndex was enabled {kibana-pull}153816[#153816] - -Monitoring:: -Fixes the CCR read_exceptions alert {kibana-pull}153888[#153888] - -Querying & Filtering:: -Fixes the ability to copy and paste the comma delimeter for multifields {kibana-pull}153772[#153772] - -[[release-notes-8.7.0]] -== {kib} 8.7.0 - -Review the following information about the {kib} 8.7.0 release. - -[float] -[[known-issues-8.7.0]] -=== Known issues - -// tag::known-issue-151698[] -[discrete] -.Observability Overview shows empty User Experience panel -[%collapsible] -==== -*Details* + -Release 8.7.0 has a bug causing the Observability Overview page to show an empty User Experience panel, even when there is RUM data (fixed in {kibana-pull}154419[#154419]). - -*Impact* + -While the User Experience panel on the Observability Overview page is empty, any RUM data will still be available from the User Experience Dashboard. -==== -// end::known-issue-151698[] - -[float] -[[breaking-changes-8.7.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.7.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Removes the fields list sampling setting -[%collapsible] -==== -*Details* + -`lens:useFieldExistenceSampling` has been removed from *Advanced Settings*. The setting allowed you to enable document sampling to determine the fields that are displayed in *Lens*. For more information, refer to {kibana-pull}149482[#149482]. - -*Impact* + -In 8.1.0 and later, {kib} uses the field caps API, by default, to determine the fields that are displayed in *Lens*. -==== - -[discrete] -.Removes the legacy pie chart visualization setting -[%collapsible] -==== -*Details* + -`visualization:visualize:legacyPieChartsLibrary` has been removed from *Advanced Settings*. The setting allowed you to create aggregation-based pie chart visualizations using the legacy charts library. For more information, refer to {kibana-pull}146990[#146990]. - -*Impact* + -In 7.14.0 and later, the new aggregation-based pie chart visualization is available by default. For more information, check <>. -==== - -[discrete] -.Removes the current_upgrades endpoint -[%collapsible] -==== -*Details* + -The `api/fleet/current_upgrades` endpoint has been removed. For more information, refer to {kibana-pull}147616[#147616]. - -*Impact* + -When you upgrade to 8.7.0, use the `/action_status` endpoint. -==== - -[discrete] -.Removes the preconfiguration API route -[%collapsible] -==== -*Details* + -The `/api/fleet/setup/preconfiguration` API, which was released as generally available by error, has been removed. For more information, refer to {kibana-pull}147199[#147199]. - -*Impact* + -Do not use `/api/fleet/setup/preconfiguration`. To manage preconfigured agent policies, use kibana.yml. For more information, check link:https://www.elastic.co/guide/en/kibana/current/fleet-settings-kb.html#_preconfiguration_settings_for_advanced_use_cases[Preconfigured settings]. -==== - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.6/release-notes-8.6.0.html#breaking-changes-8.6.0[8.6.0] | {kibana-ref-all}/8.5/release-notes-8.5.0.html#breaking-changes-8.5.0[8.5.0] | {kibana-ref-all}/8.4/release-notes-8.4.0.html#breaking-changes-8.4.0[8.4.0] | {kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[features-8.7.0]] -=== Features -{kib} 8.7.0 adds the following new and notable features. - -Alerting:: -* Alerts Table- Inspect Modal {kibana-pull}149586[#149586] -* Updates Rule Action Form to add Summary UX {kibana-pull}149367[#149367] -* Users can now search for Cases by ID {kibana-pull}149233[#149233] -* Alerts table row loading state {kibana-pull}148874[#148874] -* Adds default summary message {kibana-pull}148749[#148749] -* AlertsTable - Add persistent controls that show even on empty state {kibana-pull}148735[#148735] -* Connector logs view {kibana-pull}148291[#148291] -* Make action retries configurable {kibana-pull}147876[#147876] -* Adds summary capabilities to the API and execution logic {kibana-pull}147360[#147360] -* Adds flapping state to alert context for action parameters {kibana-pull}147136[#147136] -* Adds triggered actions list in task state {kibana-pull}146183[#146183] -* Moves “Notify When” and throttle from rule to action {kibana-pull}145637[#145637] - -APM:: -* Increases maxTraceItems {kibana-pull}149062[#149062] -* Disables navigation to _other bucket and show warning tooltip {kibana-pull}148641[#148641] -* Show warning if transaction groups are dropped {kibana-pull}148625[#148625] -* Show alert indicator on alerts tab {kibana-pull}148048[#148048] -* Adds latency alert history chart on the Alert details page for APM {kibana-pull}148011[#148011] -* Adds alert annotation and threshold shade on the APM latency chart on the Alert Details page {kibana-pull}147848[#147848] -* Errors group sampler {kibana-pull}147571[#147571] -* Show alert indicator on service inventory page {kibana-pull}147511[#147511] -* Adds alertDetailAppSection to the APM Rule Details page {kibana-pull}143298[#143298] - -Dashboard:: -* Adds the ability to load more options list suggestions when you scroll {kibana-pull}148331[#148331] -* Adds alert filters to the Detection page {kibana-pull}146989[#146989] -* Adds the image embeddable {kibana-pull}146421[#146421] -* Adds the "Convert to lens" action to Dashboard {kibana-pull}146363[#146363] -* Adds a step size to the time slider control {kibana-pull}145033[#145033] -* Adds the ability to sort the options list suggestions {kibana-pull}144867[#144867] - -Elastic Security:: -For the Elastic Security 8.7.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.7.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Adds ability to show FQDN of agents {kibana-pull}150239[#150239] -* Adds `getStatusSummary` query parameter to `GET /api/fleet/agents` API {kibana-pull}149963[#149963] -* Enabling diagnostics feature flag and changed query for files to use upload_id {kibana-pull}149575[#149575] -* Experimental toggles for doc-value-only {kibana-pull}149131[#149131] -* We now display agent metrics, CPU and memory in the agent list table and agent details page {kibana-pull}149119[#149119] -* Implement subcategories in integrations UI {kibana-pull}148894[#148894] -* Added rollout period to upgrade action {kibana-pull}148240[#148240] -* Adds per-policy inactivity timeout + use runtime fields for agent status {kibana-pull}147552[#147552] -* Show dataset combo box for input packages {kibana-pull}147015[#147015] -* Adds UI controls to setting/outputs to configure new shipper {kibana-pull}145755[#145755] - -Infrastructure:: -* Adds link to ingest pipeline dashboard from Stack Monitoring {kibana-pull}149721[#149721] - -Integrations:: -* User friendly UX added alongside advanced yaml editor {kibana-pull}147900[#147900] -* Custom fleet policy UX for new integration (cloud defend v1) {kibana-pull}147300[#147300] - -Kibana Home & Add Data:: -Self-managed {kib} instances now have a link to instructions for migrating self-managed clusters to Elastic Cloud {kibana-pull}145523[#145523] - -Lens & Visualizations:: -Adds the share link feature in *Lens* {kibana-pull}148829[#148829] - -Machine Learning:: -* Adds change point detection feature {kibana-pull}150308[#150308] -* Remove Technical Preview label from the Trained Models UI {kibana-pull}149715[#149715] -* Adds a new memory usage by job and by model view {kibana-pull}149419[#149419] -* Allow Anomaly Detection geo jobs to be created from maps dashboard {kibana-pull}147797[#147797] -* Adds geo fields support for Unified field list, add statistics flyover to Anomaly detection job creation wizards {kibana-pull}147322[#147322] -* Anomaly Detection wizards: adds geo job wizard {kibana-pull}147043[#147043] - -Management:: -* Adds field statistics popovers for Data Frame Analytics & Transform creation wizards {kibana-pull}149879[#149879] -* Transforms: Shows health status of transform in UI {kibana-pull}150359[#150359] - -Monitoring:: -* Adds duration configuration to Stack Monitoring Cluster Health rule {kibana-pull}147565[#147565] - -Observability:: -* Adds alert summary widget to overview page {kibana-pull}149581[#149581] -* Adds AlertSummaryWidget full-size on the Alerts page {kibana-pull}148539[#148539] -* Additional context for log threshold rule {kibana-pull}148503[#148503] -* Adds charts to Alert Summary Widget {kibana-pull}148143[#148143] -* Adds rule details locator and make AlertSummaryWidget clickable {kibana-pull}147103[#147103] -* Adds groupByKeys context to recovered alerts for Log Threshold Rule and Metric Threshold Rule {kibana-pull}146874[#146874] -* Adds new context variable called groupByKeys {kibana-pull}146633[#146633] -* Adds new context variable for group by keys {kibana-pull}145654[#145654] -* Adds Platinum license check for SLO APIs and SLO pages {kibana-pull}149055[#149055] -* Create SLO / Edit SLO Form - Custom KQL {kibana-pull}147843[#147843] -* SLO List {kibana-pull}147447[#147447] - -Platform:: -New trigger actions for chart legends and table cell actions {kibana-pull}146779[#146779] - -Querying & Filtering:: -* Insight filter builder form as markdown plugin {kibana-pull}150363[#150363] -* Adds the ability to support complex filters with AND/OR relationships {kibana-pull}143928[#143928] - -Security:: -* Adds the ability to allow administrators to limit the number of concurrent user sessions with `xpack.security.session.сoncurrentSessions.maxSessions` {kibana-pull}147442[#147442] -* API Keys can now be updated with new role descriptors and metadata in the API Keys Management screen {kibana-pull}146237[#146237] - -For more information about the features introduced in 8.7.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.7.0]] -=== Enhancements and bug fixes -For detailed information about the 8.7.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.7.0]] -=== Enhancements -Alerting:: -* Bring flapping status and settings in o11y {kibana-pull}150483[#150483] -* RenderCustomActionsRow with named params instead of args {kibana-pull}149304[#149304] -* Ram 145739 use bulk enable disable in UI {kibana-pull}145928[#145928] -* Create generic retry if function {kibana-pull}145713[#145713] -* Return rules from bulk enable {kibana-pull}145391[#145391] -* Create bulk disable endpoint {kibana-pull}145179[#145179] -* Adding group by options to ES query rule type {kibana-pull}144689[#144689] - -APM:: -* Adds APM alert status to the alerts table {kibana-pull}150500[#150500] -* Promotes the Alerts tab in the APM UI to GA {kibana-pull}150528[#150528] -* Switches get environment function to use `terms_enum` api {kibana-pull}150175[#150175] -* Uses (rolled up) service metrics for service inventory {kibana-pull}149938[#149938] -* Adds KQL filter bar to the service map page {kibana-pull}149900[#149900] -* Integrates Alert search bar in the alerts tab {kibana-pull}149610[#149610] -* Adds Azure Functions support in the APM UI {kibana-pull}149479[#149479] -* Adds a 404 page {kibana-pull}149471[#149471] -* Adds single-click setup from Kibana {kibana-pull}148959[#148959] -* Updates sparklines to support the bar chart graph style {kibana-pull}148702[#148702] -* Adds a flamegraph legend {kibana-pull}147910[#147910] -* Adds API keys to APM package policies {kibana-pull}147650[#147650] -* Only renders waterfall items up until 3 levels {kibana-pull}147569[#147569] -* Improves span links navigation {kibana-pull}147426[#147426] -* Updates default refresh interval to 60 seconds {kibana-pull}146791[#146791] -* Adds pagination to source map API {kibana-pull}145959[#145959] -* Adds ability to offset point labels on maps {kibana-pull}145773[#145773] - -Cases:: -* Adds new column `Updated on ` in `all cases list ` table. This column can be sorted and can persist sorting options {kibana-pull}149116[#149116] -* Improves the design of all cases list select modal {kibana-pull}149851[#149851] -* Adds a button to Case Detail and All Cases List to copy case UUIDs to the clipboard {kibana-pull}148962[#148962] -* Adds the ability to persist sorting, severity filter, and status filter in the URL and local storage for the all cases list {kibana-pull}148549[#148549] -* Adds the ability to allow sorting by status, severity, and title in the all-cases list {kibana-pull}148193[#148193] -* See "My recently assigned cases" to the recent cases widget of Overview dashboard in Security {kibana-pull}147763[#147763] -* Adds the ability to bulk edit assignees on multiple cases {kibana-pull}146907[#146907] -* Adds the ability to save draft comments {kibana-pull}146327[#146327] - -Dashboard:: -* Add new panel settings option to change the title, description, and time range for panels {kibana-pull}148301[#148301] -* Anchor time slider to start {kibana-pull}148028[#148028] -* Show document count beside options list suggestions {kibana-pull}146241[#146241] - -Discover:: -* Show "Copy value" button for any grid cell {kibana-pull}149525[#149525] -* Align field list filters UI between Discover and Lens {kibana-pull}148547[#148547] -* Persist field list sections state in local storage {kibana-pull}148373[#148373] -* Enable adhoc data views creation from no data views state {kibana-pull}147850[#147850] -* Adds a way to quickly expand time range from "No results" screen {kibana-pull}147195[#147195] -* Optimize checking for multifields during grid rendering {kibana-pull}145698[#145698] -* Align field list sections between Discover and Lens {kibana-pull}144412[#144412] -* Update Discover's histogram to use Lens, and add support for breaking down the histogram by top values of a selected field {kibana-pull}143117[#143117] - -Elastic Security:: -For the Elastic Security 8.7.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.7.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Fixes discard changes link taking user to "page not found" {kibana-pull}150174[#150174] -* Adds filebeat_input index to agent policy default {kibana-pull}149974[#149974] -* Bugfix: Apply namespace from agent policy if there is one when adding integration {kibana-pull}149949[#149949] -* Agent List: Inform users when agents have become inactive since last page view {kibana-pull}149226[#149226] -* Experimental toggles for doc-value-only {kibana-pull}149131[#149131] -* Create index templates and ingest pipeline at package policy creation time for input packages {kibana-pull}148772[#148772] -* Do not allow namespace or dataset to be edited for input only package policies {kibana-pull}148422[#148422] -* Adds deprecation warning to unenrollment timeout agent policy setting {kibana-pull}147963[#147963] -* Adds active filter count to agent status filter {kibana-pull}147821[#147821] - -Kibana UI:: -The list view in Dashboard, Visualize Library, Maps, and Graph now stores the latest state of the table in the URL {kibana-pull}145517[#145517] - -Lens & Visualizations:: -* Enable nice rounding for scalar axis in *Lens* {kibana-pull}149388[#149388] -* Don't block render on missing field in *Lens* {kibana-pull}149262[#149262] -* Enable previous time shift when using a date histogram in *Lens* {kibana-pull}149126[#149126] -* Displays the annotation icon on the annotation dimension label in *Lens* {kibana-pull}147686[#147686] -* Extend explore data in Discover/open in Discover drilldown to visualizations with annotations and reference lines in *Lens* {kibana-pull}147541[#147541] -* Moves the mosaic/waffle charts into GA in *Lens* {kibana-pull}146261[#146261] -* Color by slice for multi-metric partition chart in *Lens* {kibana-pull}145948[#145948] -* Save function to integrate listing Inspector {kibana-pull}145381[#145381] -* Absolute time shift support in formula in *Lens* {kibana-pull}144564[#144564] - -Machine Learning:: -* Adding multi-modal distribution to the explain anomaly results {kibana-pull}150014[#150014] -* Adding anomaly explanation help link {kibana-pull}149674[#149674] -* Data Frame Analytics results view: add link to custom visualizations for viewing scatterplot charts {kibana-pull}149647[#149647] -* Explain Log Rate Spikes: highlight field pairs unique to groups in expanded row {kibana-pull}148601[#148601] -* Adds delete annotations option to delete and reset job modals {kibana-pull}147537[#147537] -* Adds override for data which doesn't contain a time field {kibana-pull}147504[#147504] -* Adds responsive layout to Index data visualizer, fix doc count chart margin {kibana-pull}147137[#147137] -* Use anomaly score explanation for chart tooltip multi-bucket impact {kibana-pull}146866[#146866] -* Remove beta badge for Field statistics table in Discover {kibana-pull}140991[#140991] - -Management:: -* Transforms: Adds "Use full data" button to transform creation wizard {kibana-pull}150030[#150030] -* Adds override field to Dot expander processor form {kibana-pull}149599[#149599] -* Adds fields to Append Ingest Pipeline processor form {kibana-pull}149520[#149520] -* Adds support for S3 intelligent tiering in Snapshot and Restore {kibana-pull}149129[#149129] -* Transforms: Adds date picker to transform wizard for data view with time fields {kibana-pull}149049[#149049] -* Use data view formatter for fields preview in Edit field flyout {kibana-pull}148446[#148446] -* Adds a new global ui settings client {kibana-pull}146270[#146270] -* Update Transform installation mechanism to support upgrade paths {kibana-pull}142920[#142920] - -Maps:: -Adds support for hex aggregation with geo_shape field {kibana-pull}143890[#143890] - -Monitoring:: -* Link to individual host page on hosts view {kibana-pull}147380[#147380] -* Adds support for beats datastream patterns {kibana-pull}146184[#146184] - -Observability:: -* Custom equation editor for Metric Threshold Rule {kibana-pull}148732[#148732] -* Adds context.originalAlertState to the Metric Threshold and Inventory Threshold recovery context {kibana-pull}147928[#147928] - -Querying & Filtering:: -Allows case sensitive option on multiselection filters input {kibana-pull}149570[#149570] - -Security:: -* The default `csp.disableUnsafeEval` value is now `true`, so now the `unsafe-eval` source expression isn't present by default in the Kibana Content Security Policy (CSP) {kibana-pull}150157[#150157] -* Adds client IP address to Kibana audit log {kibana-pull}148055[#148055] -* Adds `Cross-Origin-Opener-Policy: same-origin` HTTP header to Kibana default response headers {kibana-pull}147874[#147874] - -Sharing:: -Enables multiple values filtering on tooltip actions {kibana-pull}148372[#148372] - -Uptime:: -TLS rule allow monitors filtering {kibana-pull}150339[#150339] - -[float] -[[fixes-v8.7.0]] -=== Bug fixes -Alerting:: -* Event log failure message {kibana-pull}149355[#149355] -* Optimize alerting task runner for persistent (non-lifecycle rule types) {kibana-pull}149043[#149043] -* Failed test x-pack/plugins/triggers_actions_ui/public/application/lib/transformActionVariables {kibana-pull}147579[#147579] -* Rule create/update form re-render {kibana-pull}147221[#147221] -* Hiding all features in a space causes rules to stop running {kibana-pull}146188[#146188] -* Send complete test data to xMatters, so it can create an alert {kibana-pull}145431[#145431] -* Hiding all features in a space causes rules to stop running {kibana-pull}145372[#145372] - -APM:: -* Latency threshold rule's threshold context variable should use milliseconds instead of microseconds {kibana-pull}150234[#150234] -* Cannot read/write APM Settings Indices page with minimally-privileged user {kibana-pull}150107[#150107] -* Adds `service.environment` log correlation {kibana-pull}150065[#150065] -* Remove `host.name` correlation {kibana-pull}150005[#150005] -* Fixes display of stacktrace with EuiCodeBlocks {kibana-pull}149911[#149911] -* Alert rules: The transaction type and environment options are not filtered by the selected service {kibana-pull}149849[#149849] -* Unable to create Latency threshold rule for All services or All Transaction types {kibana-pull}149735[#149735] -* Adds language specific headers {kibana-pull}149400[#149400] -* Adds stacktrace support for php {kibana-pull}149122[#149122] -* Tech preview feature on General settings {kibana-pull}148996[#148996] -* Fixes APM sourcemap upload route {kibana-pull}148508[#148508] -* Change order of tabs {kibana-pull}147518[#147518] -* Show values of highlighted sample in TopN chart {kibana-pull}147431[#147431] -* Synchronous Anomaly detection jobs creation {kibana-pull}145969[#145969] -* Change default refresh interval to 60 seconds {kibana-pull}144389[#144389] - -Dashboard:: -* Retain maximized panel on link/unlink from library {kibana-pull}150405[#150405] -* Fixes Unlink from Library / Save to Library for Maximized Panel {kibana-pull}150338[#150338] -* Fixes Darktheme is missing from add drilldowns panel {kibana-pull}147270[#147270] -* Removes options list `"Allow "` toggles {kibana-pull}147216[#147216] - -Design:: -* Fixes a11y issue with dev tool tabs {kibana-pull}149349[#149349] -* Fixes a11y issues with cross cluster replication flyouts {kibana-pull}149069[#149069] -* Fixes a11y for snapshot policy flyout {kibana-pull}148972[#148972] - -Discover:: -* Fixes Phrase_filter query for scripted fields {kibana-pull}148943[#148943] -* Use Discover locator for alert results link {kibana-pull}146403[#146403] -* Validate if Data View time field exists on Alert creation / editing {kibana-pull}146324[#146324] - -Elastic Security:: -For the Elastic Security 8.7.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.7.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Truncate long names in agents table {kibana-pull}150069[#150069] -* Update kubernetes templates for elastic-agent {kibana-pull}143275[#143275] - -Infrastructure:: -Remove ts-ignore annotation {kibana-pull}145759[#145759] - -Lens & Visualizations:: -* Always use resolved time range when computing Top values order agg with timeshifts in *Lens* {kibana-pull}150418[#150418] -* Fixes problem with timeshift in formula and breakdown in *Lens* {kibana-pull}150406[#150406] -* Fixes nested other bucket for empty string {kibana-pull}150321[#150321] -* Fixes chart padding on reference lines/annotations icon on the left side in *Lens* {kibana-pull}149573[#149573] -* Fixes the partition legend actions header format problem in *Lens* {kibana-pull}149114[#149114] -* Automatically enable show array values for non-numeric runtime fields in *Lens* {kibana-pull}149025[#149025] -* Always display the major label {kibana-pull}148999[#148999] -* Adds multi fields support to selected fields list in *Lens* {kibana-pull}148899[#148899] -* Allows cleaning up of the filters aggregatiob custom label in *Lens* {kibana-pull}148535[#148535] -* Order date fields first on discover drilldown in *Lens* {kibana-pull}146786[#146786] -* Fixes the syncing of other series color in *Lens* {kibana-pull}146785[#146785] - -Machine Learning:: -* Data Frame Analytics creation wizard: ensure includes table is populated correctly on job type change {kibana-pull}150112[#150112] -* Data Frame Analytics maps view: Fix update of map when selecting results index node {kibana-pull}149993[#149993] -* Fixes Typical to actual connector lines in AnomalyLayer have dot halfway {kibana-pull}149270[#149270] -* Fixes responsive behaviour of page header with date picker {kibana-pull}149073[#149073] -* Delayed data visualization: ensure y-axis count is visible {kibana-pull}148982[#148982] -* Allow dedicated index override in JSON editor {kibana-pull}148887[#148887] -* Anomaly Detection: Fix button switch issue with unmounted component {kibana-pull}148239[#148239] -* Anomaly Detection: Fix Anomaly Explorer context handling {kibana-pull}148231[#148231] -* Fixes modal titles {kibana-pull}147855[#147855] - -Management:: -* Replace global `GET /_mapping` request with `GET /_mapping` {kibana-pull}147770[#147770] -* Fixes form validation UX when the same data view name already exists {kibana-pull}146126[#146126] -* The field preview in the data view field editor now works for all fields, whether or not they are in the document's `_source` {kibana-pull}145943[#145943] - -Maps:: -* Fixes Kibana maps should not override the sort field if not provided by the user {kibana-pull}150400[#150400] -* Show embeddable filters in spatial layer {kibana-pull}150078[#150078] -* Fixes Kibana Maps UI upload geojson failure should be received as such {kibana-pull}149969[#149969] -* Verify CRS for geojson upload {kibana-pull}148403[#148403] - -Monitoring:: -Use UI time range filter in logstash pipeline details query {kibana-pull}150032[#150032] - -Observability:: -Adds ALERT_RULE_PARAMETERS to the common fields in Rule Registry {kibana-pull}147458[#147458] - -Platform:: -Support cgroup v2 in core metric collection {kibana-pull}147082[#147082] - -[[release-notes-8.6.1]] -== {kib} 8.6.1 - -Review the following information about the {kib} 8.6.1 release. - -[float] -[[breaking-changes-8.6.1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.6.1. - -{kibana-ref-all}/8.5/release-notes-8.5.0.html#breaking-changes-8.5.0[8.5.0] | {kibana-ref-all}/8.4/release-notes-8.4.0.html#breaking-changes-8.4.0[8.4.0] | {kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[enhancement-v8.6.1]] -=== Enhancements -Alerting:: -* Create OAS for get rule types and get alerting framework health {kibana-pull}148774[#148774] -* Create open API specification for create/update connector {kibana-pull}148691[#148691] -* Create open API specification for disable/enable rule and mute/unmute all alerts {kibana-pull}148494[#148494] - -Elastic Security:: -For the Elastic Security 8.6.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -[float] -[[fixes-v8.6.1]] -=== Bug fixes -Canvas:: -Replaces React.lazy and withSuspense with async imports in expressions plugins {kibana-pull}147693[#147693] - -Dashboard:: -* Adds styling to allow clickable *TSVB* markdown images {kibana-pull}147802[#147802] -* Changes the visibility of the panel filters action {kibana-pull}146335[#146335] - -Discover:: -* Adds support for case-insensitive search in Document Viewer {kibana-pull}148312[#148312] -* Fixes the field stats for the epoch time format {kibana-pull}148288[#148288] - -Elastic Security:: -For the Elastic Security 8.6.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Fixes missing policy Id in installation URL for cloud integrations {kibana-pull}149243[#149243] -* Fixes package installation APIs to install packages without a version {kibana-pull}149193[#149193] -* Fixes issue where the latest GA version could not be installed if there was a newer prerelease version in the registry {kibana-pull}149133[#149133] and {kibana-pull}149104[#149104] - -Infrastructure:: -Fixes an issue where the summary request piled up {kibana-pull}148670[#148670] - -Machine Learning:: -* Fixes the bucket span estimator in the advanced wizard {kibana-pull}149008[#149008] -* Fixes the transforms JSON display {kibana-pull}147996[#147996] - -Management:: -* Fixes the runtime field format editor {kibana-pull}148497[#148497] -* Improves the check for response size in the `/autocomplete_entities` endpoint {kibana-pull}148328[#148328] - -Maps:: -Fixes an issue where Maps was unable to initialize the time range from URLs {kibana-pull}148465[#148465] - -Platform:: -Fixes the server-side import of the contract `CloudStart` {kibana-pull}149203[#149203] - -Uptime:: -* ssl fields are now omitted when ssl is disabled {kibana-pull}149087[#149087] -* Adds the ability to disable throttling for project monitors {kibana-pull}148669[#148669] - -[[release-notes-8.6.0]] -== {kib} 8.6.0 - -Review the following information about the {kib} 8.6.0 release. - -[float] -[[known-issues-8.6.0]] -=== Known issues - -[discrete] -[[known-issue-146020]] -.Attempting to create APM latency threshold rules from the Observability rules page fail -[%collapsible] -==== -*Details* + -When you attempt to create an APM latency threshold rule in **Observability** > **Alerts** > **Rules** for all services or all transaction types, the request will fail with a `params invalid` error. - -*Impact* + -This known issue only impacts the Observability Rules page. To work around this issue, create APM latency threshold rules in the APM Alerts and Rules dialog. See {observability-guide}/apm-alerts.html[Alerts and rules] for detailed instructions. -==== - -[float] -[[breaking-changes-8.6.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.6.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Changes the `histogram:maxBars` default setting -[%collapsible] -==== -*Details* + -To configure higher resolution data histogram aggregations without changing the *Advanced Settings*, the default histogram:maxBars setting is now 1000 instead of 100. For more information, refer to {kibana-pull}143081[#143081]. - -*Impact* + -For each {kibana-ref}/xpack-spaces.html[space], complete the following to change *histogram:maxBars* to the previous default setting: - -. Open the main menu, then click *Stack Management > Advanced Settings*. -. Scroll or search for *histogram:maxBars*. -. Enter `100`, then click *Save changes*. -==== - -[discrete] -.CSV reports use PIT instead of Scroll -[%collapsible] -==== -*Details* + -CSV reports now use PIT instead of Scroll. Previously generated CSV reports that used an index alias with alias-only privileges, but without privileges on the alias referenced-indices will no longer generate. For more information, refer to {kibana-pull}158338[#158338]. - -*Impact* + -To generate CSV reports, grant `read` privileges to the underlying indices. -==== - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.5/release-notes-8.5.0.html#breaking-changes-8.5.0[8.5.0] | {kibana-ref-all}/8.4/release-notes-8.4.0.html#breaking-changes-8.4.0[8.4.0] | {kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[features-8.6.0]] -=== Features -{kib} 8.6.0 adds the following new and notable features. - -Alerting:: -* Notify users by email when assigned to a case {kibana-pull}144391[#144391] -* Adds flapping state object and interface in AAD index and Event Log {kibana-pull}143920[#143920] -* Change Alerts > Actions execution order {kibana-pull}143577[#143577] -* Adds the ability to remove alerts attached to a case {kibana-pull}143457[#143457] -* This feature allows users to create and close alerts within Opsgenie {kibana-pull}142411[#142411] -* Adds filter field to index threshold rule type {kibana-pull}142255[#142255] -* Allow users to see event logs from all spaces they have access to {kibana-pull}140449[#140449] - -Elastic Security:: -For the Elastic Security 8.6.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.6.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Differentiate kubernetes integration multipage experience {kibana-pull}145224[#145224] -* Adds prerelease toggle to Integrations list {kibana-pull}143853[#143853] -* Adds link to allow users to skip multistep add integration workflow {kibana-pull}143279[#143279] - -Infrastructure:: -Adds support for the the Unified Search Bar for Query input {kibana-pull}143222[#143222] - -Lens & Visualizations:: -Adds support for trend lines in *Lens* metric visualizations {kibana-pull}141851[#141851] - -Machine Learning:: -* Trained model testing with index data {kibana-pull}144629[#144629] -* Adding anomaly score explanations {kibana-pull}142999[#142999] - - -Monitoring:: -Collect metrics about the active/idle connections to ES nodes {kibana-pull}141434[#141434] - -Observability:: -* Integrate alert search bar on rule details page {kibana-pull}144718[#144718] -* Adds additional context to recovered alerts of Infrastructure rules {kibana-pull}144683[#144683] -* Adds list of containers in context variable of Inventory rule {kibana-pull}144526[#144526] -* Adds new contextual attributes to Infrastructure - Metric threshold rule {kibana-pull}143001[#143001] -* Adds alert details page feature flag by App {kibana-pull}142839[#142839] -* Adds new contextual attributes to Infrastructure - Inventory Rule {kibana-pull}140598[#140598] - -Osquery:: - -Allows users to deploy Osquery across all {agent} policies or on specified policies only {kibana-pull}143948[#143948] - -Platform:: -Adds notifications plugin, offering basic email service {kibana-pull}143303[#143303] - -Security:: -Adds the ability to show sub-feature privileges when using the Basic license {kibana-pull}142020[#142020] - -Uptime:: -Adds `created_at` field in saved objects {kibana-pull}143507[#143507] - -For more information about the features introduced in 8.6.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.6.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.6.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.6.0]] -=== Enhancements -Alerting:: -* Clone rule {kibana-pull}144741[#144741] -* Remove errors and warning in triggers_actions_ui jest test {kibana-pull}144443[#144443] - -* Increase the default table size of the cases table to 10 {kibana-pull}144228[#144228] -* Bulk enable rules api {kibana-pull}144216[#144216] -* Create bulk delete on rules front {kibana-pull}144101[#144101] -* Improve Task Manager’s retry logic for ad-hoc tasks {kibana-pull}143860[#143860] -* Increases the max length limit of the case title to 160 characters {kibana-pull}143664[#143664] -* Adds the ability to bulk edit tags in the cases table {kibana-pull}143450[#143450] -* Filter cases without assignees {kibana-pull}143390[#143390] -* Make actions retry when encountering failures {kibana-pull}143224[#143224] -* Adds a backlink to cases when pushing in external services {kibana-pull}143174[#143174] -* Move Connectors to own page {kibana-pull}142485[#142485] -* 142183 create bulk delete on rules {kibana-pull}142466[#142466] -* Allow `_source` field for ES DSL query rules {kibana-pull}142223[#142223] -* Update rule status {kibana-pull}140882[#140882] - -APM:: -* Adds pie charts displaying the most used mobile devices, operating systems, etc. {kibana-pull}144232[#144232] -* Adds the ability to filter mobile APM views {kibana-pull}144172[#144172] -* Adds average latency map to the mobile service overview {kibana-pull}144127[#144127] -* Adds new options to APM central configuration {kibana-pull}143668[#143668] -* Adds a trace waterfall to the dependency operation detail view {kibana-pull}143257[#143257] -* Adds a configuration table above code sample in getting started guide {kibana-pull}143178[#143178] -* Adds improvements to the AWS Lambda metrics view {kibana-pull}143113[#143113] -* Adds total APM size and perecent of disk space used to storage explorer {kibana-pull}143179[#143179] -* [Technical preview] Adds the ability to display a critical path for a single trace {kibana-pull}143735[#143735] -* [Technical preview] Adds the agent explorer inventory and detail page {kibana-pull}143844[#143844] - -Dashboard:: -* Adds unmapped runtime field support to options list {kibana-pull}144947[#144947] -* Adds "Exists" functionality to options list {kibana-pull}143762[#143762] -* Adds `excludes` toggle to options list {kibana-pull}142780[#142780] -* Adds support for IP field to options list {kibana-pull}142507[#142507] -* Adds option to disable cursor sync on dashboards {kibana-pull}143355[#143355] - -Discover:: -* Adds the ability to edit ad hoc data views without permissions {kibana-pull}142723[#142723] -* Enables `esQuery` alert for adhoc data views {kibana-pull}140885[#140885] - -Elastic Security:: -For the Elastic Security 8.6.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.6.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -Adds `?full` option to get package info endpoint to return all package fields {kibana-pull}144343[#144343] - -Infrastructure:: -* Use the Unified Search Bar for date range selection {kibana-pull}144351[#144351] -* Adds network traffic to Hosts table {kibana-pull}142137[#142137] - -Kibana UI:: -Updates the Dashboard, Visualize Library, and Maps pages with enhanced tag filtering {kibana-pull}142108[#142108] - -Lens & Visualizations:: -* Rearranges the options in *Lens* {kibana-pull}144891[#144891] -* Adds the ability to open *TSVB* tables in *Lens* {kibana-pull}143946[#143946] -* Adds advanced params to the formula API in *Lens* {kibana-pull}143876[#143876] -* Adds the ability to display value labels on histogram and stacked charts in *Lens* {kibana-pull}143635[#143635] -* Distinguishes the adhoc data views from the permanent data views in the dropdowns {kibana-pull}143525[#143525] -* Adds the ability to filter metrics in the *Lens* data table {kibana-pull}143219[#143219] -* Adds support for navigate Variance aggregations in *Lens* {kibana-pull}143209[#143209] -* Adds selected field accordion to the fields list in *Lens* {kibana-pull}143175[#143175] -* Adds the ability to open aggregation-based xy charts in *Lens* {kibana-pull}142936[#142936] -* Adds the ability to open aggregation-based Gauge and Goal visualizations in *Lens* {kibana-pull}142838[#142838] -* Enables cursor syncronization in *Lens* heatmaps {kibana-pull}142821[#142821] -* Adds a reduced time range option for formula in *Lens* {kibana-pull}142709[#142709] -* Adds the ability to open aggregation-based metric visualization in *Lens* {kibana-pull}142561[#142561] -* Adds the ability to edit data views in the *Lens* flyout {kibana-pull}142362[#142362] -* Adds conditional operations in the *Lens* formula {kibana-pull}142325[#142325] -* Adds the ability to explore fields in Discover from *Lens* {kibana-pull}142199[#142199] -* Adds the ability to open *TSVB* Gauge visualizations in *Lens* {kibana-pull}142187[#142187] -* Adds new defaults function in *Lens* {kibana-pull}142087[#142087] -* Adds support for mustache context variables with periods {kibana-pull}143703[#143703] -* Adds explore matching indices to data view menu {kibana-pull}141807[#141807] -* Adds control in the *Lens* annotations layer menu for global filters {kibana-pull}141615[#141615] -* Adds field filter to popover in *Lens* {kibana-pull}141582[#141582] -* Improves the performance for large formulas in *Lens* {kibana-pull}141456[#141456] -* Improves the Quick function in-product assistance in *Lens* {kibana-pull}141399[#141399] -* Adds bit formatter in *Lens* {kibana-pull}141372[#141372] -* Adds the ability to open aggregation-based pie visualizations in *Lens* {kibana-pull}140879[#140879] -* Adds the ability to open *TSVB* metric visualizations in *Lens* {kibana-pull}140878[#140878] -* Adds the ability to open aggregation-based table visualizations in *Lens* {kibana-pull}140791[#140791] -* Adds the ability to allow date functions in formula {kibana-pull}143632[#143632] - -Machine Learning:: -* Data Frame Analytics: Highlight filtered data in scatterplot charts {kibana-pull}144871[#144871] -* Allow updates for number of allocations and priority for trained model deployments {kibana-pull}144704[#144704] -* Switch from normal sampling to random sampler for Index data visualizer table {kibana-pull}144646[#144646] -* Explain Log Rate Spikes: Replace chunks of queries with concurrent queue {kibana-pull}144220[#144220] -* Explain Log Rate Spikes: Allow to continue failed stream {kibana-pull}143301[#143301] -* Entity filter for the Notifications page {kibana-pull}142778[#142778] -* Show an info callout for new notifications {kibana-pull}142245[#142245] -* Adding dashboard custom url to lens created jobs {kibana-pull}142139[#142139] -* Adds ML open API output to appendix {kibana-pull}141556[#141556] - -Management:: -Adds missing geo aggs to autocomplete in Console {kibana-pull}141504[#141504] - -Maps:: -* Adds the ability to invert color ramp and size {kibana-pull}143307[#143307] -* Adds layer groups {kibana-pull}142528[#142528] -* Adds the ability to hide or show all layers {kibana-pull}141495[#141495] - -Observability:: -* Adds kibana.alert.time_range field to Alert-As-Data mappings and populate it {kibana-pull}141309[#141309] -* Alert summary widget new design {kibana-pull}141236[#141236] -* Adds histogram support for avg, max, min, sum and percentiles {kibana-pull}139770[#139770] - -Platform:: -Adds maxIdleSockets and idleSocketTimeout to Elasticsearch config {kibana-pull}142019[#142019] - -Security:: -* Adds a read-only mode to the User management screen for users with `read_security` cluster privilege {kibana-pull}143438[#143438] -* Adds a read-only mode to the API keys management screen for users with `read_security` cluster privilege {kibana-pull}144923[#144923] -* Adds `user.id` field to Kibana audit log {kibana-pull}141092[#141092] - -Uptime:: -* Allow using AND for tags filtering {kibana-pull}145079[#145079] -* Adds monitor detail flyout {kibana-pull}136156[#136156] - -[float] -[[fixes-v8.6.0]] -=== Bug fixes -Alerting:: -* Fixes logger text and fix bulk error type {kibana-pull}144598[#144598] -* Flaky bulkDisable tasks functional test {kibana-pull}144405[#144405] -* Adding back unknown outcome filter {kibana-pull}143546[#143546] -* Fixing flaky test in x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/alerts_list·ts {kibana-pull}142855[#142855] -* Rule run history displays success with a message when the rule status is warning {kibana-pull}142645[#142645] -* Elasticsearch query rule type allows SIZE: 0, but flags as error on re-edit {kibana-pull}142225[#142225] -* Rules and Connectors: Current page in breadcrumbs shows as link {kibana-pull}141838[#141838] -* Move save button into connector config form {kibana-pull}141361[#141361] - -APM:: -* Show a recommended minimum size when going below 5 minutes {kibana-pull}144170[#144170] -* Fixes ML permissions by removing usage of `canAccessML` {kibana-pull}143631[#143631] -* Fallback to terms aggregation search if terms enum doesn’t return results {kibana-pull}143619[#143619] -* Fixes bug that causes alert expression to not close {kibana-pull}143531[#143531] -* Fixes `apm.transaction_duration` alert to aggregrate over service environment {kibana-pull}143238[#143238] -* Fixes broken latency and services layout {kibana-pull}143453[#143453] -* Fixes metadata API environment filter {kibana-pull}144472[#144472] - -Dashboard:: -* The extra reload caused by Controls is now skipped {kibana-pull}142868[#142868] -* Modifies the state shared in dashboard permalinks {kibana-pull}141985[#141985] - -Discover:: -* Fixes theme for Alerts popover {kibana-pull}145390[#145390] -* Improves the no data views state for `esQuery` alert {kibana-pull}145052[#145052] -* Updates the data view id on adhoc data view change {kibana-pull}142069[#142069] -* Improves the error and fix app state when updating data view ID in the URL to an invalid ID {kibana-pull}141540[#141540] - -Elastic Security:: -For the Elastic Security 8.6.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.6.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -Only show fleet managed data streams on data streams list page {kibana-pull}143300[#143300] - -Infrastructure:: -Adds disk latency metrics to hosts table {kibana-pull}144312[#144312] - -Kibana Home & Add Data:: -* Updates the examples {kibana-pull}141265[#141265] - -Lens & Visualizations:: -* All saved queries are now returned on the list instead of only the first 50 {kibana-pull}145554[#145554] -* The baseTheme is now always included with the charts theme {kibana-pull}145401[#145401] -* Do not throw on undefined sorting column referenced in *Lens* {kibana-pull}144716[#144716] -* Fixes suggestion bug in *Lens* {kibana-pull}144708[#144708] -* The reference layer is now excluded from the cursor sync hook in *Lens* {kibana-pull}144384[#144384] -* Improves the embeddable warnings placement in *Lens* metric visualizations {kibana-pull}144368[#144368] -* Fixes the list control popover background color in dark mode {kibana-pull}144204[#144204] -* The unused dimension label from the tooltip in *Lens* is now hidden {kibana-pull}143721[#143721] -* Improves the default text for the controls options list {kibana-pull}143413[#143413] -* Fixes styling issues in *Vega* {kibana-pull}143168[#143168] -* Fixes an issue where the shard failure notices made *Lens* unusable {kibana-pull}142985[#142985] -* Fixes the syncing for colors and tooltips {kibana-pull}142957[#142957] -* Updates the label for Time field annotations in *TSVB* {kibana-pull}142452[#142452] -* Fixes an issue where empty annotation query strings in *TSVB* and *Lens* displayed different results {kibana-pull}142197[#142197] -* Drag and drop capabilities of a single element in *Lens* is no longer allowed {kibana-pull}141793[#141793] -* Fixes the ability to close the settings popover with a click in *Lens* {kibana-pull}141272[#141272] - -Machine Learning:: -* Fixes the default time range on the Notifications page {kibana-pull}145578[#145578] -* Data Frame Analytics maps view: ensure nodes reload correctly after using timepicker refresh {kibana-pull}145265[#145265] -* Explain Log Rate Spikes: Fix applying overall params to histogram queries {kibana-pull}144219[#144219] -* Calculate model memory limit for Lens created jobs {kibana-pull}143456[#143456] -* Explain Log Rate Spikes: fix chart showing as empty when filter matches field/value pair in hovered row {kibana-pull}142693[#142693] - -Management:: -* Fixes nested formatter for terms {kibana-pull}144543[#144543] -* Cache ad-hoc data views to avoid repeated field list calls {kibana-pull}144465[#144465] -* In the case of 2 or more panels on the dashboard, TSVB renderComplete fires 2 times {kibana-pull}143999[#143999] -* Shard failure notifications have been reduced when many queries fail at the same time {kibana-pull}131776[#131776] - -Maps:: -* Fixes an issue where the Time Slider text was not working properly with Dark Mode {kibana-pull}145612[#145612] -* Adds ungroup layers action {kibana-pull}144574[#144574] - -Observability:: -Fixes alerts' blank page in case of invalid query string {kibana-pull}145067[#145067] - -Observability Home:: -* Use bucketSize from request options for overview query {kibana-pull}145032[#145032] -* Solution nav with no data page {kibana-pull}144280[#144280] - -Querying & Filtering:: -* Fixes an issue with autocomplete value suggestions where the date range was sometimes incorrectly applied {kibana-pull}144134[#144134] -* Fixes Moment.js timezone error when defining a range filter {kibana-pull}143213[#143213] - -Reporting:: -* Fixed a bug with CSV export in Discover, where searching over hundreds of shards would result in an incomplete CSV file {kibana-pull}144201[#144201] -* Fixes an issue where downloading a report caused a new browser tab to open with the report content, rather than receiving a downloaded file {kibana-pull}144136[#144136] -* Fixed an issue with CSV exports from Discover, where using the `_id` field in an export, when `_id` is a very high numeric value, the value could lose precision {kibana-pull}143807[#143807] - -[[release-notes-8.5.2]] -== {kib} 8.5.2 - -Review the following information about the {kib} 8.5.2 release. - -[float] -[[breaking-changes-8.5.2]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.5.2. - -{kibana-ref-all}/8.4/release-notes-8.4.0.html#breaking-changes-8.4.0[8.4.0] | {kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[enhancement-v8.5.2]] -=== Enhancement -Security:: -* Adds a `Content-Security-Policy` header to all `/api/*` responses {kibana-pull}144902[#144902] - -[float] -[[fixes-v8.5.2]] -=== Bug fixes -APM:: -* Limits the number of source map artifacts {kibana-pull}144963[#144963] -* Fixes an incorrect documentation link {kibana-pull}145077[#145077] -* Suppresses error toast when data view cannot be created {kibana-pull}143639[#143639] - -Dashboard:: -Fixes unexpected suggestions for text/keyword multi-fields {kibana-pull}145177[#145177] - -Discover:: -Fixes % for field stats calculations (edge cases) {kibana-pull}144962[#144962] - -Management:: -Fixes autocomplete_entities API crash when response size is too big {kibana-pull}140569[#140569] - -Uptime:: -Adjust formula for synthetics monitor availability {kibana-pull}144868[#144868] - -[[release-notes-8.5.1]] -== {kib} 8.5.1 - -Review the following information about the {kib} 8.5.1 release. - -[float] -[[breaking-changes-8.5.1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.5.1. - -{kibana-ref-all}/8.4/release-notes-8.4.0.html#breaking-changes-8.4.0[8.4.0] | {kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[enhancement-v8.5.1]] -=== Enhancements -Elastic Security:: -For the Elastic Security 8.5.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -[float] -[[fixes-v8.5.1]] -=== Bug fixes -APM:: -* Fixes a bug where Metadata API does not filter by environment {kibana-pull}144472[#144472] -* Fixes a bug where AWS lambda checks for an undefined value {kibana-pull}143987[#143987] -* Limits the number of source map artifacts {kibana-pull}144963[#144963] -* Fixes an incorrect documentation link {kibana-pull}145077[#145077] - -Dashboard:: -* Removes support for scripted fields in options list {kibana-pull}144643[#144643] -* Fixes help documentation link for dashboard {kibana-pull}143894[#143894] - -Elastic Security:: -For the Elastic Security 8.5.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -Make asset tags space aware {kibana-pull}144066[#144066] - -Machine Learning:: -* Correcting the size of the free ML node on cloud {kibana-pull}144512[#144512] -* Fixes model testing flyout reload {kibana-pull}144318[#144318] -* Explain Log Rate Spikes: Wrap analysis in try/catch block {kibana-pull}143651[#143651] -* Explain Log Rate Spikes: Fix uncompressed streams and backpressure handling {kibana-pull}142970[#142970] - -Osquery:: -* Fixes a bug that prevented users from viewing Osquery results if they were in a non-default {kib} space {kibana-pull}144210[#144210] - -Platform:: -Fixes the execution pipeline not to stop on a flaky subexpression {kibana-pull}143852[#143852] - -Uptime:: -* Adjust forumla for synthetics monitor availability {kibana-pull}144868[#144868] -* TLS alert - do not alert when status cannot be determined {kibana-pull}144767[#144767] - -[[release-notes-8.5.0]] -== {kib} 8.5.0 - -Review the following information about the {kib} 8.5.0 release. - -[float] -[[known-issues-8.5.0]] -=== Known issues - -Due to a recent change in the Red Hat scan verification process, -{kib} 8.5.0 is not available in the Red Hat Ecosystem Catalog. -This known issue will be fixed in the next release. -To download the {kib} 8.5.0 image, use the https://www.docker.elastic.co/r/kibana/kibana[Elastic docker registry]. - -[float] -[[breaking-changes-8.5.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.5.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Updates bulk action API to return actionId instead of agent success -[%collapsible] -==== -*Details* + -To make bulk action responses consistent, returns `actionId` instead of agent ids with `success: True` or `success: False` results. For more information, refer to {kibana-pull}141757[#141757]. - -*Impact* + -When you use `FleetBulkResponse`, you now receive only `actionId` responses. -==== - -[discrete] -.Removes filter validation for ad-hoc data views -[%collapsible] -==== -*Details* + -Filters associated with unknown data views, such as deleted data views, are no longer automatically disabled. For more information, refer to {kibana-pull}139431[#139431]. - -*Impact* + -Filters associated with unknown data views now display a warning message instead of being automatically disabled. -==== - -[discrete] -.Removes the `package_policies` field from the agent policy saved object -[%collapsible] -==== -*Details* + -The bidirectional foreign key between agent policy and package policy has been removed. For more information, refer to {kibana-pull}138677[#138677]. - -*Impact* + -The agent policy saved object no longer includes the `package_policies` field. -==== - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.4/release-notes-8.4.0.html#breaking-changes-8.4.0[8.4.0] | {kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[features-8.5.0]] -=== Features -{kib} 8.5.0 adds the following new and notable features. - -Alerting:: -* Adds dynamic field selection to the alerts table {kibana-pull}140516[#140516] -* Show alerts count {kibana-pull}140473[#140473] -* Adds the ability to allows users to assign other users to cases {kibana-pull}140208[#140208] -* Ability run a rule on-demand {kibana-pull}139848[#139848] -* Ability to bulk update API keys for alerting rules {kibana-pull}139036[#139036] -* Index threshold alert can't use unsigned long data type {kibana-pull}138452[#138452] -* Category fields endpoint {kibana-pull}138245[#138245] -* Index threshold alert UI does not fill index picker with data streams {kibana-pull}137584[#137584] - -APM:: -* Display kubernetes metadata in service icons popup and instance accordion {kibana-pull}139612[#139612] -* AWS lambda metrics api {kibana-pull}139041[#139041] - -Discover:: -* Adds support for storing time with saved searches {kibana-pull}138377[#138377] -* Enables tags for saved searches {kibana-pull}136162[#136162] - -Elastic Security:: -For the Elastic Security 8.5.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Adds agent activity flyout {kibana-pull}140510[#140510] -* Adds a new event toggle to capture terminal output in endpoint {kibana-pull}139421[#139421] -* Makes batch actions asynchronous {kibana-pull}138870[#138870] -* Adds ability to tag integration assets {kibana-pull}137184[#137184] -* Adds support for input only packages {kibana-pull}140035[#140035] - -Infrastructure:: -Inital hosts page {kibana-pull}138173[#138173] - -Lens & Visualizations:: -* Adds query-based annotations in *Lens* {kibana-pull}138753[#138753] -* Enables ad-hoc data views in *Lens* {kibana-pull}138732[#138732] - -Machine Learning:: -* Notifications page {kibana-pull}140613[#140613] -* Explain Log Rate Spikes: Add option to view grouped analysis results {kibana-pull}140464[#140464] -* Stubs out UI for the ML Inference Pipeline panel {kibana-pull}140456[#140456] -* Attach the anomaly charts embeddable to Case {kibana-pull}139628[#139628] -* Log pattern analysis UI {kibana-pull}139005[#139005] -* Attach the anomaly swim lane embeddable to Case {kibana-pull}138994[#138994] - -Management:: -* Adds the ability to allow variables in URL Drilldown titles {kibana-pull}140076[#140076] -* Enables time series downsampling action in ILM configurations {kibana-pull}138748[#138748] -* Adds the composite runtime field editor {kibana-pull}136954[#136954] - -Observability:: -Feat(slo): Create basic SLO route {kibana-pull}139490[#139490] - -Osquery:: -* Adds Osquery results to cases {kibana-pull}139909[#139909] -* Add support for differential logs {kibana-pull}140660[#140660] - -Security:: -Adds the ability to set a default Access Agreement for all `xpack.security`-level authentication providers {kibana-pull}139217[#139217] - -For more information about the features introduced in 8.5.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.5.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.5.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.5.0]] -=== Enhancements -Alerting:: -* 141189 alerts table performance {kibana-pull}141385[#141385] -* 141119 remove visibility toogle + use_columns refactor {kibana-pull}141250[#141250] -* Adds Stats on top of execution logs {kibana-pull}140883[#140883] -* Adds the Logs tab to Rules and Connectors UI {kibana-pull}138852[#138852] -* Adds "exclude previous hits" check box to ESQuery rule form {kibana-pull}138781[#138781] -* The ES Query Rule Type now supports Runtime Mappings and the Fields parameters when using an Elasticsearch DSL query {kibana-pull}138427[#138427] - -APM:: -* Adds option to power APM inventory with service metrics {kibana-pull}140868[#140868] -* Adds a sort order to the trace samples on the transaction details page {kibana-pull}140589[#140589] -* Adds a tail-based sampling storage limit (APM integration) {kibana-pull}140567[#140567] -* Adds AWS Lambda metrics to the "Metrics" tab {kibana-pull}140550[#140550] -* Adds an experimental mode to the APM app {kibana-pull}139553[#139553] -* Renames JVMs to Metrics {kibana-pull}138437[#138437] -* Changes how partial data buckets are displayed {kibana-pull}137533[#137533] - -Dashboard:: -Adds the ability to view panel-level filters and queries {kibana-pull}136655[#136655] - -Discover:: -* Enables `Explore in Discover` for adhoc data views in *Lens* {kibana-pull}140726[#140726] -* Adds the ability to show actions inline in the Expanded Document view for quick access {kibana-pull}140085[#140085] -* Updates the layout for unified histogram {kibana-pull}139446[#139446] -* Adds new field stats in sidebar popover {kibana-pull}139072[#139072] -* Adds ad-hoc data views {kibana-pull}138283[#138283] -* Updates the formatter for aggregate_metric_double field values {kibana-pull}138205[#138205] - -Elastic Security:: -For the Elastic Security 8.5.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Adds toggle for experimental synthetic `_source` support in Fleet data streams {kibana-pull}140132[#140132] -* Enhances the package policy API to create or update a package policy API with a simplified way to define inputs {kibana-pull}139420[#139420] -* Support new subscription and license fields {kibana-pull}137799[#137799] - -Infrastructure:: -* Adds log-* index pattern support on SM UI {kibana-pull}139121[#139121] -* Adds health API support for data ingested from package {kibana-pull}138964[#138964] -* Adds support for integration package {kibana-pull}138224[#138224] -* Adds the inital hosts page {kibana-pull}138173[#138173] - -Lens & Visualizations:: -* Adds the Collapse by option for partition charts in *Lens* {kibana-pull}140336[#140336] -* Adds the ability to show the metric name if there are multiple layers with breakdowns in *Lens* {kibana-pull}140314[#140314] -* Adds time scaling without date histogram in *Lens* {kibana-pull}140107[#140107] -* Improves the field drag defaults in *Lens* {kibana-pull}140050[#140050] -* Adds the time marker setting for time axis in *Lens* {kibana-pull}139950[#139950] -* Adds the ability to make sure shard size stays stable for low number of sizes in *TSVB*, *Lens*, and Agg based visualizations {kibana-pull}139791[#139791] -* Adds the one click filter to the *Lens* table {kibana-pull}139701[#139701] -* Improves the metric palette behavior in *Lens* {kibana-pull}139596[#139596] -* Adds separate dimension groups for mosaic rows and columns in *Lens* {kibana-pull}139214[#139214] -* Adds display-infinity option to custom palette editor in *Lens* {kibana-pull}139061[#139061] -* Adds TSDB support for *Lens*, *TSVB* and *Timelion* {kibana-pull}139020[#139020] -* Adds the format selector to the new metric visualization in *Lens* {kibana-pull}139018[#139018] -* Shows the edit/delete button while field stats are loading in *Lens* {kibana-pull}138899[#138899] -* Adds auto mode for secondary metric prefix in *Lens* {kibana-pull}138167[#138167] -* Adds open in *Lens* extendability {kibana-pull}136928[#136928] -* Adds TSDB warning handling support for *Lens*, Agg based, and *TSVB* {kibana-pull}136833[#136833] -* Adds reduced time range option in *Lens* {kibana-pull}136706[#136706] -* Migrates xy visualization type to new unified xy expression {kibana-pull}136475[#136475] -* Adds the ability to duplicate layers in *Lens* {kibana-pull}140603[#140603] - -Machine Learning:: -* Explain Log Rate Spikes: add main chart sync on row hover at group level {kibana-pull}141138[#141138] -* Show "No anomalies found" message instead of empty swim lane {kibana-pull}141098[#141098] -* Explain Log Rate Spikes: Group results API {kibana-pull}140683[#140683] -* Match Data Visualizer/Field stats table content with the popover {kibana-pull}140667[#140667] -* Explain Log Rate Spikes: Adds discover link to analysis table {kibana-pull}139877[#139877] -* Adding ecs_compatibility setting for find structure calls {kibana-pull}139708[#139708] -* Improves messaging when an anomaly detection forecast errors {kibana-pull}139345[#139345] -* Anomaly Detection: adds maps link when source data contains geo fields {kibana-pull}139333[#139333] -* Quickly create ML jobs from lens visualizations {kibana-pull}136421[#136421] - -Management:: -* Url drilldown `date` helper now allows rounding up relative dates {kibana-pull}137874[#137874] -* In CSV reports, an error message now appears on the job when fewer CSV rows are generated than expected {kibana-pull}137800[#137800] - -Maps:: -* Adds support for adhoc data views {kibana-pull}140858[#140858] -* Timeslider control {kibana-pull}139228[#139228] -* Support Vector tile runtime geo_point fields {kibana-pull}139047[#139047] -* Show data view name in UI {kibana-pull}138928[#138928] -* Adds ability to disable tooltips for layer {kibana-pull}138275[#138275] -* Cancel button when editing by value from dashboard {kibana-pull}137880[#137880] - -Security:: -Adds audit events to "login-less" authentication flows (e.g. PKI, Kerberos) {kibana-pull}139492[#139492] - -Uptime:: -* Project monitors - support lightweight project monitors {kibana-pull}141066[#141066] -* Adds Actions popover menu {kibana-pull}136992[#136992] - -[float] -[[fixes-v8.5.0]] -=== Bug fixes -Alerting:: -* Render the grid only if we have alerts {kibana-pull}142481[#142481] -* Alerts Table browser field - fix siem browser fields call {kibana-pull}141431[#141431] -* Adds getActionsHealth method to return permanent encryption key existence {kibana-pull}140535[#140535] -* Clarify rule notification values {kibana-pull}140457[#140457] -* Actions are not able to configure a max number of attempts {kibana-pull}138845[#138845] -* Elasticsearch Query Rule doesn't have 'dark mode' view for query {kibana-pull}138631[#138631] -* Getting error about secrets not being saved when import a SO (Connector Saved Object) {kibana-pull}138019[#138019] -* Provide indication of how many rules are using connector on Connector List view {kibana-pull}137181[#137181] - -APM:: -* Remove check for infra data {kibana-pull}142835[#142835] -* Prefer span metrics over span events {kibana-pull}141519[#141519] -* Fixes search bar suggestions {kibana-pull}141101[#141101] -* Sort trace samples {kibana-pull}140589[#140589] - -Dashboard:: -Fixes pinned filters that backed up in Session Storage {kibana-pull}142262[#142262] - -Discover:: -* Adds support for line breaks in Document explorer {kibana-pull}139449[#139449] -* Cancelled request errors for embeddables are now hidden {kibana-pull}137690[#137690] -* Fixes legacy sort saved search stored in Dashboard saved objects {kibana-pull}137488[#137488] -* Fixes column width handling {kibana-pull}137445[#137445] - -Elastic Security:: -For the Elastic Security 8.5.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.5.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Refresh search results when clearing category filter {kibana-pull}142853[#142853] -* Respect `default_field: false` when generating index settings {kibana-pull}142277[#142277] -* Fixes repeated debug logs when bundled package directory does not exist {kibana-pull}141660[#141660] - -Graph:: -Fixes query bar autocomplete {kibana-pull}140963[#140963] - -Infrastructure:: -* Adds support for Logstash datastream in standalone query {kibana-pull}138689[#138689] - -Lens & Visualizations:: -* Fixes the detailed tooltip wrap problem {kibana-pull}142818[#142818] -* Fixes an issue where columns normalized by unit were unable to display properly on Dashboards for *Lens* metric visualizations {kibana-pull}142741[#142741] -* Adds back ticks on bands in *Lens* {kibana-pull}142702[#142702] -* Fixes guidance panel appearing for a moment when saving Graph {kibana-pull}141228[#141228] -* Fixes pie filter without slice {kibana-pull}141227[#141227] -* Fixes an issue where using annotations from different data views than the visualizations created panel breaks in *TSVB* {kibana-pull}141104[#141104] -* Fixes drilldown url templates for sample data {kibana-pull}141079[#141079] -* Fixes time shift with reduced time range tabification in *Lens* {kibana-pull}141076[#141076] -* Fixes the time shifted pipeline agg in *Lens* {kibana-pull}140723[#140723] -* Fixes an A11y issue where the query input doesn't react to `escape` button in *Lens* {kibana-pull}140382[#140382] -* Boolean values are now correctly formatted by default in *TSVB* {kibana-pull}140308[#140308] -* All data views are no longer loaded on broken data view reference in *Lens* {kibana-pull}139690[#139690] -* Removes the exclamation circle icon in *TSVB* {kibana-pull}139686[#139686] -* Theme is now passed to visualize save modal {kibana-pull}139685[#139685] -* Push-out behavior is now preserved for table cells when possible in *Lens* {kibana-pull}139619[#139619] -* The metric visualization state is now cleared in *Lens* {kibana-pull}139154[#139154] -* Adds the ability to set minimum table width for column split tables {kibana-pull}139004[#139004] -* Adds the ability to scroll tall metric visualizations in *Lens* {kibana-pull}138178[#138178] - -Machine Learning:: -* Explain Log Rate Spikes: update more groups badge for clarity {kibana-pull}142793[#142793] -* Fixes Index data visualizer doc count when time field is not defined {kibana-pull}142409[#142409] -* Explain Log Rate Spikes: Fix error handling {kibana-pull}142047[#142047] -* Fixes date picker not allowing unpause when refresh interval is 0 {kibana-pull}142005[#142005] -* Fixes expanded row layout in the Nodes table {kibana-pull}141964[#141964] -* Fixes links to Discover and Maps and custom URLs for jobs with a query in the datafeed {kibana-pull}141871[#141871] - -Management:: -* The progress bar is now visible in Expression renderer {kibana-pull}142699[#142699] -* Transforms: Preserves the `field` for unsupported aggs {kibana-pull}142106[#142106] -* Removes unnecessary time units in ILM policy dialog {kibana-pull}140815[#140815] -* Fixes search query builder to generate wildcard query for keyword fields {kibana-pull}140629[#140629] -* Updates "Copy as cURL" to interpolate variables and strip request-body comments {kibana-pull}140262[#140262] -* Fixes previewing data streams in template editor {kibana-pull}140189[#140189] -* Fixes an issue where selecting requests with characters ending with '{}' was not possible {kibana-pull}140068[#140068] -* Filters that are associated with an unknown data view, such as deleted data views, are no longer automatically disabled, but now instead display a warning message {kibana-pull}139431[#139431] -* Watches no longer get stuck in a "Firing" state in Watcher {kibana-pull}138563[#138563] -* Fixes an issue where data view search results were not showing the value of mapped fields that shared a name with a runtime field {kibana-pull}138471[#138471] - -Maps:: -* Fixes Go To - lat/long values outside expected range cause blank Maps app {kibana-pull}141873[#141873] -* Fixes scaling and term join in product help popover width {kibana-pull}139120[#139120] -* Fixes legacy tile_map and region_map visualizations do not display title in Map embeddable action modals {kibana-pull}139054[#139054] -* Fixes Filters applied to map visualization not preserved when added to dashboard {kibana-pull}138188[#138188] - -Monitoring:: -Health api: account for ccs in indices regex {kibana-pull}137790[#137790] - -Observability:: -* Fixes Alert tab goes blank in APM because of Alert Details page feature flag {kibana-pull}142188[#142188] -* Update links to Observability rule management {kibana-pull}140009[#140009] - -Platform:: -* Fixes an issue where the expressions executor stopped on failing partially emitted results {kibana-pull}142105[#142105] -* A 0 is now returned when there are no overdue tasks for capacity estimation {kibana-pull}140720[#140720] -* The task health calculation now never returns Error or Warning, but logs the HealthStatus {kibana-pull}139274[#139274] - -Uptime:: -* Fixes Next and Previous button on step screenshot carousel {kibana-pull}141422[#141422] -* Fixes disrupted UI on Browser Test Results` step screenshots {kibana-pull}139017[#139017] - -[[release-notes-8.4.3]] -== {kib} 8.4.3 - -Review the following information about the {kib} 8.4.3 release. - -[float] -[[breaking-changes-8.4.3]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.4.3. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[fixes-v8.4.3]] -=== Bug fixes -Cases:: -Fixes an issue where the recent cases widget shows cases from other solutions {kibana-pull}141221[#141221] - -Discover:: -* Fixes scrolling prevented by saved search embeddable on touch devices {kibana-pull}141718[#141718] -* Fixes columns management for saved search embeddable {kibana-pull}140799[#140799] - -Elastic Security:: -For the Elastic Security 8.4.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Graph:: -* Fixes the position of Add fields popover {kibana-pull}141040[#141040] -* Fixes responsive styles of field manager {kibana-pull}140948[#140948] - -Machine Learning:: -Fixes an issue where Data visualizer was unable to update distribution when changing shard size, forbidden error with recognize modules on basic license {kibana-pull}141313[#141313] - -Management:: -Fixes the removal of a single field formatter {kibana-pull}141078[#141078] - -Observability:: -Fixes an alert summary widget issue in non-default space {kibana-pull}140842[#140842] - -[[release-notes-8.4.2]] -== {kib} 8.4.2 - -Review the following information about the {kib} 8.4.2 release. - -[float] -[[breaking-changes-8.4.2]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.4.2. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[enhancement-v8.4.2]] -=== Enhancements -Security:: -Logs a hash of the saved objects encryption key (`xpack.encryptedSavedObjects.encryptionKey`) when {kib} starts to assist in identifying mismatched encryption keys {kibana-pull}139874[#139874] - -[float] -[[fixes-v8.4.2]] -=== Bug fixes -Connectors:: -The connectors table now uses "compatibility" rather than "availability" {kibana-pull}139024[#139024] - -Discover:: -Fixes saved search embeddable rendering {kibana-pull}140264[#140264] - -Elastic Security:: -For the Elastic Security 8.4.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Applies fixes for package policy upgrade API with multiple ids {kibana-pull}140069[#140069] -* Improves performance for many integration policies {kibana-pull}139648[#139648] - -Lens & Visualizations:: -* Fixes "Collapse by" for table and XY visualizations with multiple metrics in *Lens* {kibana-pull}140381[#140381] -* Fixes action menu in *Lens* {kibana-pull}139588[#139588] - -Machine Learning:: -* Explain Log Rate Spikes: Histogram fixes {kibana-pull}139933[#139933] -* Explain Log Rate Spikes: Improve streaming headers for certain proxy configs {kibana-pull}139637[#139637] -* Fixes navigation for the Basic licence {kibana-pull}139469[#139469] -* Corrects file.path field name in v3_windows_anomalous_script job {kibana-pull}139109[#139109] - -Management:: -Bfetch` response headers now include `X-Accel-Buffering: no` {kibana-pull}139534[#139534] - -Maps:: -* Fixes issue where percentile aggregation was not working with vector tiles {kibana-pull}140318[#140318] -* Fixes Map app crashing on file upload request timeout {kibana-pull}139760[#139760] - -Monitoring:: -* Ensures GlobalState class has it's destroy() method called on unmount {kibana-pull}139908[#139908] -* Adds KibanaThemeProvider to Stack Monitoring UI {kibana-pull}139839[#139839] - -Uptime:: -Fixes an issue where decryption errors caused the entire suite of monitors to fail syncing {kibana-pull}140549[#140549] - -[[release-notes-8.4.1]] -== {kib} 8.4.1 - -Review the following information about the {kib} 8.4.1 release. - -[float] -[[breaking-changes-8.4.1]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.4.1. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[fixes-v8.4.1]] -=== Bug fixes - -Alerting:: -* Fixes alert tab crash on rule details page {kibana-pull}139372[#139372] -* Fixes issue where some 8.3.x clusters failed to upgrade with a saved object migration failure {kibana-pull}139427[#139427] - -Lens & Visualizations:: -* Fixes table pagination in *Lens* and *Aggregation-based* visualization editors {kibana-pull}139160[#139160] - -[[release-notes-8.4.0]] -== {kib} 8.4.0 - -Review the following information about the {kib} 8.4.0 release. - -[float] -[[known-issue-8.4.0]] -=== Known issues - -If you have alerting rules that have been snoozed, do not upgrade {kib} to 8.4.0. Upgrade to 8.4.1 instead. - -To determine if you have snoozed alerting rules, open the main menu, then click -**{stack-manage-app}** -> **{rac-ui}**. Filter the rule list by selecting -**View** -> **Snoozed**. If you must upgrade to 8.4.0, for each space, cancel -the snooze for all affected rules before you upgrade. - -To identify snoozed rules in all Spaces using **Dev Tools**, run the following -query: - -[source,console] ----- -GET /.kibana/_search -{ - "query": { - "exists": { - "field": "alert.isSnoozedUntil" - } - } -} ----- - -If you upgraded {kib} to 8.4.0 and you have alerting rules configured to -snooze notifications, you will receive the following error message: - -[source,text] ----- -FATAL Error: Unable to complete saved object migrations for the [.kibana] index. ----- - -To fix that problem, restore your previous version, then upgrade to 8.4.1 instead. - -[float] -[[breaking-changes-8.4.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.4.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.xpack.agents.* are uneditable in UI when defined in kibana.yml -[%collapsible] -==== -*Details* + -When you configure `setxpack.fleet.agents.fleet_server.hosts` and `xpack.fleet.agents.elasticsearch.hosts` in kibana.yml, you are unable to update the fields on the Fleet UI. - -For more information, refer to {kibana-pull}135669[#135669]. - -*Impact* + -To configure `setxpack.fleet.agents.fleet_server.hosts` and `xpack.fleet.agents.elasticsearch.hosts` on the Fleet UI, avoid configuring the settings in kibana.yml. -==== - -[discrete] -.Removes the legacy charts library -[%collapsible] -==== -*Details* + -The legacy implementation of the *Timelion* visualization charts library has been removed. All *Timelion* visualizations now use the elastic-charts library, which was introduced in 7.15.0. - -For more information, refer to {kibana-pull}134336[#134336]. - -*Impact* + -In 8.4.0 and later, you are unable to configure the *Timelion* legacy charts library advanced setting. For information about visualization Advanced Settings, check link:https://www.elastic.co/guide/en/kibana/8.4/advanced-options.html#kibana-visualization-settings[Visualization]. -==== - -{kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[deprecations-8.4.0]] -=== Deprecations - -The following functionality is deprecated in 8.4.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.4.0. - -[discrete] -[[deprecation-136422]] -.Deprecates ApiKey authentication for interactive users -[%collapsible] -==== -*Details* + -The ability to authenticate interactive users with ApiKey via a web browser has been deprecated, and will be removed in a future version. - -For more information, refer to {kibana-pull}136422[#136422]. - -*Impact* + -To authenticate interactive users via a web browser, use <>. Use API keys only for programmatic access to {kib} and {es}. -==== - -[float] -[[features-8.4.0]] -=== Features -{kib} 8.4.0 adds the following new and notable features. - -Alerting:: -* Adds the "updated at" feature in new alerts table {kibana-pull}136949[#136949] -* Adds a rule detail table with bulk actions {kibana-pull}136601[#136601] -* Adds bulk Actions for Alerts Table {kibana-pull}135797[#135797] -* Adds the Alerting stack-monitoring PoC {kibana-pull}135365[#135365] -* Adds custom inline/row actions for alerts table {kibana-pull}134015[#134015] - -Cases:: -Adds the ability to customize permissions to prevent users from deleting Cases entities, such as Cases themselves, attachments, and comments {kibana-pull}135487[#135487] - -Connectors:: -The {webhook-cm} connector allows users to build a custom connector for any third-party case/ticket management system {kibana-pull}131762[#131762] - -Discover:: -Adds the ability to add a custom number of rows in the results and save the specified number with a Saved Search {kibana-pull}135726[#135726] - -Elastic Security:: -For the Elastic Security 8.4.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Enables package signature verification feature {kibana-pull}137239[#137239] -* Modal to allow user to force install an unverified package {kibana-pull}136108[#136108] -* Display package verification status {kibana-pull}135928[#135928] -* Tag rename and delete feature {kibana-pull}135712[#135712] -* Bulk update agent tags ui {kibana-pull}135646[#135646] -* Adds API to bulk update tags {kibana-pull}135520[#135520] -* Adds and remove agent tags {kibana-pull}135320[#135320] -* Support sorting agent list {kibana-pull}135218[#135218] -* Promote Logstash output support to GA {kibana-pull}135028[#135028] -* Create new API to manage download_source setting {kibana-pull}134889[#134889] - -Machine Learning:: -* Adds random sampler to Data visualizer document count chart {kibana-pull}136150[#136150] -* Adds explain log rate spikes feature to the ML plugin {kibana-pull}135948[#135948] - -Management:: -* Run packs live {kibana-pull}132198[#132198] -* Ability to set human readable title of data view & ability to edit data view {kibana-pull}124191[#124191] - -Monitoring:: -Adds stale status reporting for Kibana {kibana-pull}132613[#132613] - -Observability:: -* Adds Beta label to Infrastructure tab {kibana-pull}136710[#136710] -* Creates and adds Rule Alerts Summary as a sharable component to the O11y Rule Details {kibana-pull}135805[#135805] -* Rule Details Page - Use RuleStatusPanel from triggersActionsUI {kibana-pull}135643[#135643] -* Adds Top erroneous transactions to errors details page {kibana-pull}134929[#134929] -* Introduces Alerts tab on service overview page {kibana-pull}134350[#134350] -* Adds single metric report type {kibana-pull}132446[#132446] - -Platform:: -Adds new bulkUpdatesSchedules method to Task Manager {kibana-pull}132637[#132637] - -Security:: -Adds the ability to create personal avatars {kibana-pull}132522[#132522] - -Sharing:: -Adds the new metric visualization {kibana-pull}136567[#136567] - -For more information about the features introduced in 8.4.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.4.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.4.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.4.0]] -=== Enhancements -Alerting:: -* Adds snooze state UI to Rule Details page {kibana-pull}135146[#135146] -* Adds Snooze Scheduling UI and API {kibana-pull}134512[#134512] -* Adds recovery context for ES query rule type {kibana-pull}132839[#132839] -* Visualize alerting metrics in Stack Monitoring {kibana-pull}123726[#123726] - -Canvas:: -* Markdown element auto-applies text changes {kibana-pull}133318[#133318] -* Lines operations keybindings {kibana-pull}132914[#132914] -* Detailed tooltip {kibana-pull}131116[#131116] - -Cases:: -* Improved the cases search bar functionality. The search functionality will only consider the title and description fields {kibana-pull}136776[#136776] -* Performance improvements were made to reduce the time required to create, update, and delete cases and comments. In our testing we saw around a half second reduction in the round trip time for the UI requests {kibana-pull}136452[#136452] - -Dashboard:: -Hide controls callout when the `hideAnnouncements` setting is `true` {kibana-pull}136410[#136410] - -Design:: -* Adds an H1 tag with the workpad title when viewing workpads {kibana-pull}135504[#135504] -* Improve keyboard navigation in Discover top nav menu {kibana-pull}134788[#134788] - -Discover:: -* Improves the HTML formatting of fields with a list of values {kibana-pull}136684[#136684] -* Adds support for accessing the edit field flyout from the document explorer column popover {kibana-pull}135277[#135277] -* Adds support for copying the query from the add rule flyout {kibana-pull}135098[#135098] -* Adds focus to h1 on navigate for single document and surrounding document views {kibana-pull}134942[#134942] -* Improves the creation and editing of "Elasticsearch query" rule in Management {kibana-pull}134763[#134763] -* Adds data view changed warning after alert rule created {kibana-pull}134674[#134674] -* Make 'Test query' button pretty {kibana-pull}134605[#134605] -* Improves the document explorer timestamp tooltip accessibility {kibana-pull}134411[#134411] -* Adds focus to h1 element when client side routing is executed {kibana-pull}133846[#133846] -* Adds an option to copy column values to Clipboard in Document Explorer {kibana-pull}132330[#132330] - -Elastic Security:: -For the Elastic Security 8.4.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Remove Kubernetes Package granularity {kibana-pull}136622[#136622] -* Elastic-agent manifests: align with elastic-agent repo; add comments {kibana-pull}136394[#136394] -* Configure source URI in global settings and in agent policy settings {kibana-pull}136263[#136263] -* Adds Kubernetes in platforms selection list && update managed agent installation steps {kibana-pull}136109[#136109] -* That PR will enable user to write custom ingest pipeline for Fleet installed datastream {kibana-pull}134578[#134578] -* Update manifests for agent on kubernetes with new permissions {kibana-pull}133495[#133495] -* Adds support for a textarea type in integrations {kibana-pull}133070[#133070] - -Kibana Home & Add Data:: -Adds AnalyticsNoDataPage {kibana-pull}134172[#134172] - -Lens & Visualizations:: -* Adds supports for include and exclude terms in *Lens* {kibana-pull}136179[#136179] -* Adds the ability to set top values limit to 10,000 in *Lens* {kibana-pull}136399[#136399] -* Addss value count to *Lens* {kibana-pull}136385[#136385] -* Adds standard deviation function in *Lens* {kibana-pull}136323[#136323] -* Adds the ability to set the font size for mosaic outer level in *Lens* {kibana-pull}135911[#135911] -* Adds the ability to rank top values by custom metric in *Lens* {kibana-pull}134811[#134811] -* Adds the ability to convert TSVB series agg to *Lens* configuration {kibana-pull}134681[#134681] -* Adds the ability to allow multiple split accessors {kibana-pull}134566[#134566] -* Adds the ability to render newlines in data table in *Lens* {kibana-pull}134441[#134441] -* Extends Axis bounds for XY chart when using Interval operation in *Lens* {kibana-pull}134020[#134020] -* Adds the ability to use pick_max instead of clamp for positive only {kibana-pull}133460[#133460] -* Adds a new pick_min/max operation and clamp fixes in *Lens* {kibana-pull}132449[#132449] -* Adds support for percentile_ranks aggregation in *Lens* {kibana-pull}132430[#132430] -* Implements the ability to drag and drop between layers in *Lens* {kibana-pull}132018[#132018] -* Adds optimization for percentiles fetching in *Lens* {kibana-pull}131875[#131875] - -Machine Learning:: -* Adds tooltips for disabled actions in the Trained Models list {kibana-pull}137176[#137176] -* Data visualizer: Add field types in-product help {kibana-pull}137121[#137121] -* Plot zero scores on the Overall anomaly swim lane {kibana-pull}136951[#136951] -* One-way cursor sync added from Anomaly detection swimlane to other charts {kibana-pull}136775[#136775] -* Adds action to view datafeed counts chart to jobs list rows {kibana-pull}136274[#136274] -* Data Visualizer: Remove duplicated geo examples, support 'version' type, add filters for boolean fields, and add sticky header to Discover {kibana-pull}136236[#136236] -* Adds a link to ML trained models list from ID in Stack Management app table {kibana-pull}135700[#135700] -* Adds information callouts to trained model testing flyout {kibana-pull}135566[#135566] -* Limit Use full data button in anomaly detection job wizards to past data only {kibana-pull}135449[#135449] -* Replace a fixed Y-axis width with a max width setting for Anomaly Swim Lane Embeddable {kibana-pull}135436[#135436] -* Adds support for setting threading params when starting a trained model deployment {kibana-pull}135134[#135134] -* Refactors Management page to focus on space management tasks {kibana-pull}134893[#134893] -* Disable the Single Metric Viewer button for not viewable jobs {kibana-pull}134048[#134048] -* Anomaly Detection: allow snapshot to be reverted from the view datafeed flyout {kibana-pull}133842[#133842] - -Management:: -* Transforms: Adds per-transform setting for num_failure_retries to creation wizard and edit flyout and authorization info {kibana-pull}135486[#135486] -* Transforms: Adds sorting to audit messages tab {kibana-pull}135047[#135047] -* Console now supports saving the state of folding/unfolding of commands {kibana-pull}134810[#134810] -* Render most severe response status code from Console response pane {kibana-pull}134627[#134627] -* You can now create variables in Console {kibana-pull}134215[#134215] -* Make index template previews copyable {kibana-pull}134060[#134060] -* Console now supports adding comments in the body of a request by using `//` for a single line and `/*....*/` for multiline comments {kibana-pull}133852[#133852] -* Surface HTTP status badges next to each response in Console {kibana-pull}132494[#132494] -* Adds updated `essql` expression function {kibana-pull}132332[#132332] -* Adds a "get all" REST API for data views: `GET /api/data_views` {kibana-pull}131683[#131683] - -Maps:: -* Automatically display the maps legend {kibana-pull}136872[#136872] -* Custom raster source example plugin {kibana-pull}136761[#136761] -* Label zoom range style property {kibana-pull}136690[#136690] -* Adjust icon size when cluster resolution changes {kibana-pull}136573[#136573] -* Adds context for 'No longer contained' geo-containment alert {kibana-pull}136451[#136451] -* Keydown+scroll to zoom {kibana-pull}135330[#135330] -* Synchronize map views in dashboard and canvas {kibana-pull}134272[#134272] -* Adds spatial filter from cluster {kibana-pull}133673[#133673] -* Customizable colors in basemaps {kibana-pull}131576[#131576] - -Observability:: -* Prefer DataView client over SavedObjects client when possible {kibana-pull}136694[#136694] -* Use proper header nesting {kibana-pull}136559[#136559] -* Removes "no data" redirects for observability overview {kibana-pull}136442[#136442] -* Allow connectors to explicitly register which features they will be available in {kibana-pull}136331[#136331] -* Display node details metrics for kubernetes containers {kibana-pull}135585[#135585] -* Replace sourceId with mandatory logView prop in LogStream component {kibana-pull}134850[#134850] -* Backend operation distribution chart {kibana-pull}134561[#134561] -* Display top spans for operation {kibana-pull}134179[#134179] -* Show descriptive loading, empty and error states in the metrics table {kibana-pull}133947[#133947] -* Backend operations detail view + metric charts {kibana-pull}133866[#133866] -* Backend operations list view {kibana-pull}133653[#133653] - -Platform:: -* Upgrade Kibana logs to ECS 8.4 {kibana-pull}136362[#136362] -* Adds error messaging to the report contents when there is a timeout in page setup {kibana-pull}134868[#134868] -* Adds migrations.discardCorruptObjects flag {kibana-pull}132984[#132984] -* Adds migrations.discardUnknownObjects flag {kibana-pull}132167[#132167] - -Querying & Filtering:: -Hides the tour component when the hideAnnouncements uiSetting is on {kibana-pull}135990[#135990] - -Security:: -Eliminates the need for a full page reload when navigating to a user profile page {kibana-pull}135543[#135543] - -[float] -[[fixes-v8.4.0]] -=== Bug fixes -Alerting:: -* Error message hidden after closing action accordion {kibana-pull}136570[#136570] -* Allow wildcard search on rule's name and tags {kibana-pull}136312[#136312] - -Canvas:: -* Fixes Filter not saving the selected Sort field option {kibana-pull}136085[#136085] -* Fixes "Element status" is inaccurate for grouped elements {kibana-pull}135829[#135829] -* Fixes Canvas filter behaviour on table {kibana-pull}134801[#134801] -* Fixes Uploaded asset not being saved {kibana-pull}133166[#133166] -* Lines operations keybindings {kibana-pull}132914[#132914] -* Fixes pointseries don't get updated on datasource change {kibana-pull}132831[#132831] - -Connectors:: -* Fixing ES index connector so that it can index into data streams as well as indices {kibana-pull}136011[#136011] -* Verify emails when creating an email connector, even if allowedDomain {kibana-pull}133859[#133859] - -Dashboard:: -Fixes Copy to dashboard includes filters {kibana-pull}136275[#136275] - -Discover:: -* Fixes hiding histogram for rollup data views {kibana-pull}137157[#137157] -* Fixes filtering out custom meta fields of Elasticsearch plugins enhanced documents {kibana-pull}137147[#137147] -* Disables refresh interval for data views without time fields and rollups {kibana-pull}137134[#137134] -* Fixes Discover breadcrumb losing context after page refresh or when opening in a new tab {kibana-pull}136749[#136749] -* Improves support for pinned filters in surrounding documents {kibana-pull}135722[#135722] -* Fixes flaky accessibility functional tests {kibana-pull}135596[#135596] -* Improves alerts popover accessibility and semantics {kibana-pull}135270[#135270] -* Migrate from savedObjectsClient to dataViews and fix the displayed data view name {kibana-pull}135142[#135142] -* Removes _type of metaFields to remove of sidebar {kibana-pull}134453[#134453] -* Fixes legacy sort parameter provided by URL {kibana-pull}134447[#134447] -* Make footer visible under Document Explorer if sample size is less than hits number {kibana-pull}134231[#134231] -* Do not update defaultIndex in case of insufficient permissions {kibana-pull}134202[#134202] -* Fixes flaky test for "allows editing of a newly created field" {kibana-pull}132812[#132812] -* Fixes flaky test for "context encoded URL params" {kibana-pull}132808[#132808] - -Elastic Security:: -For the Elastic Security 8.4.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -Using point in time for agent status query to avoid discrepancy {kibana-pull}135816[#135816] - -Lens & Visualizations:: -* Make reference line chart more robust in *Lens* {kibana-pull}137101[#137101] -* Format the label with the right default formatter in *TSVB* {kibana-pull}136934[#136934] -* Removes extra space from the legend when it is positioned on top/bottom {kibana-pull}135982[#135982] -* Display Y-axis tick labels {kibana-pull}135976[#135976] -* Fixes Date histogram bounds calculation doesn't update "now" {kibana-pull}135899[#135899] -* Fixes internal links in *Vega* {kibana-pull}135890[#135890] -* Do not set non-unique id for legend action popovers in *Lens* {kibana-pull}135656[#135656] -* Fixes non-editable Lens panel when using prefix wildcard in *Lens* {kibana-pull}135654[#135654] -* Removes saved search references from all places on unlink in *Visualize* {kibana-pull}135628[#135628] -* Fix multi-field top values for Heatmap visualizations in *Lens* {kibana-pull}135581[#135581] -* Fixes styling issues in *Lens* {kibana-pull}135406[#135406] -* Show badge for read-only in *Lens* {kibana-pull}135313[#135313] -* Don't let reference line fills on different axes collide in *Lens* {kibana-pull}135299[#135299] -* Fixes css specificity issue in *TSVB* {kibana-pull}135245[#135245] -* Always show palette on first dimension for mosaic in *Lens* {kibana-pull}135198[#135198] -* Wrong `visType` for `horizontal_bar` visualization {kibana-pull}135013[#135013] -* Unlinking Some Agg Based Visualizations Results in Unsaved Changes in *Visualize* {kibana-pull}134229[#134229] -* Fixes an issue where ellipsis truncation is not visible in table visualization cells, and letters are cut off in *Lens* {kibana-pull}134065[#134065] -* Switching dashboard mode doesn't update missing data view prompt in *Visualize* {kibana-pull}133873[#133873] -* Fixes application of suffix formats in *Lens* {kibana-pull}133780[#133780] -* Error messages not centered in *TSVB* {kibana-pull}133288[#133288] -* Use correct time zone for time shifting {kibana-pull}133141[#133141] - -Machine Learning:: -* Lock the delete annotation button on click {kibana-pull}137306[#137306] -* Fixes globally pinned filters in Data visualizer and query search bar not clearing properly for saved searches {kibana-pull}136897[#136897] -* Fixes overflow in start datafeed modal {kibana-pull}136292[#136292] -* Fixes error in categorization wizard summary step {kibana-pull}134228[#134228] -* Fixes flaky job selection on the Anomaly Explorer page {kibana-pull}137596[#137596] -* Fixes query in the Anomaly Explorer when viewing a job with no influencers {kibana-pull}137670[#137670] -* Fixes the Dashboard saving indicator with Anomaly Swim Lane embeddable {kibana-pull}137989[#137989] -* Anomaly detection job wizards now use data view names {kibana-pull}138255[#138255] - -Management:: -* The ILM UI now supports configuring policies with rollover based on `max_primary_shard_docs` {kibana-pull}137364[#137364] -* Fixes a bug in Console when sending a request with encoded characters resulted in an error {kibana-pull}136788[#136788] -* Fixes a bug where the autocomplete popup remains open when navigating away from Console {kibana-pull}136268[#136268] -* Fixes a bug in Index Management where the number of documents for an index could appear wrong {kibana-pull}135748[#135748] -* Fixes a bug in the Painless code editor that was incorrectly handling expressions with multiple division operators {kibana-pull}135423[#135423] -* Transforms: Fixes unsupported boolean filter when cloning {kibana-pull}137773[#137773] -* Transforms: Fixes restoring a field name with the exists filter aggregation {kibana-pull}138630[#138630] -* Transforms: Fixes data view error on cloning due to missing indices {kibana-pull}138756[#138756] -* Fixes Watcher stuck firing state {kibana-pull}138563[#138563] - -Maps:: -* Fixes "other" is always shown in legend for category styling rules {kibana-pull}137008[#137008] -* Fixes Tooltip loses pages on refresh {kibana-pull}135593[#135593] -* Fixes Pinned filters should be visible on new maps without user having to do any action on layers {kibana-pull}135465[#135465] -* Keep timeframe when editing a map from a dashboard {kibana-pull}135374[#135374] -* Reduce precision of coordinates for geo imports {kibana-pull}135133[#135133] -* Fixes onDataLoadEnd and onDataLoadError event handler callbacks only called for source data requests {kibana-pull}134786[#134786] -* Fixes sort not applied to vector tile search request {kibana-pull}134607[#134607] -* Fixes array values out of order in tooltips {kibana-pull}134588[#134588] - -Monitoring:: -Removes beta icon from logstash pipeline {kibana-pull}131752[#131752] - -Observability:: -* Invalid array value is permitted in Origin Headers for RUM configuration {kibana-pull}137228[#137228] -* When comparison feature is disabled, we still see the shaded area {kibana-pull}137223[#137223] -* Fixes responsivity Alert Summary chart in the Rule details page {kibana-pull}137175[#137175] -* Fixes custom link filter select value {kibana-pull}137025[#137025] -* Fixes Spark plots loading state when there are no data {kibana-pull}136817[#136817] -* Adds support for metrics for latency distribution histogram {kibana-pull}136594[#136594] -* Navigation from Span to Service breaks due to wrong transactionType {kibana-pull}136569[#136569] -* Breadcrumbs not updating from service jump on service map {kibana-pull}136144[#136144] -* Adds support for metrics for latency distribution histogram {kibana-pull}136083[#136083] -* Disallow spaces in index pattern {kibana-pull}135977[#135977] -* WrappedElasticsearchClientError: Request aborted {kibana-pull}135752[#135752] -* Fixes waterfall skew due to accordion left margins {kibana-pull}135544[#135544] -* Service inventory: detailed stats fetched for all services {kibana-pull}134844[#134844] -* Update network fields {kibana-pull}134471[#134471] -* Fixes Metrics Table Pod link to Details Page {kibana-pull}134354[#134354] -* Adds last updated at label and fix started at label {kibana-pull}134254[#134254] -* Adds event module filter to metrics table {kibana-pull}133872[#133872] -* APM Correlations: Fixes chart errors caused by inconsistent histogram range steps {kibana-pull}138259[#138259] - -Platform:: -* Migrations wait for index status green if create index returns acknowledged=false or shardsAcknowledged=false {kibana-pull}136605[#136605] -* Fixes CSV generator to include unmapped fields in the search source {kibana-pull}132972[#132972] -Security:: -Fixes keyboard and screen reader navigation for the spaces selector {kibana-pull}134454[#134454] - -[[release-notes-8.3.3]] -== {kib} 8.3.3 - -Review the following information about the {kib} 8.3.3 release. - -[float] -[[breaking-changes-8.3.3]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.3.3. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[fixes-v8.3.3]] -=== Bug fixes -Dashboard:: -* Fixes `z-index` of `embPanel__header--floater` {kibana-pull}136463[#136463] -* Filter out experimental visualizations when labs setting is disabled {kibana-pull}136332[#136332] - -Discover:: -Fixes filter in / filter out buttons for empty values {kibana-pull}135919[#135919] - -Elastic Security:: -For the Elastic Security 8.3.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Pass start_time to actions when the maintenance window for rolling upgrades is set to immediately {kibana-pull}136384[#136384] -* Allow agent bulk actions without specific licence restrictions {kibana-pull}136334[#136334] -* Adds reinstall button to integration settings page {kibana-pull}135590[#135590] - -Lens & Visualizations:: -Fixes normalizeTable performance bottleneck in *Lens* {kibana-pull}135792[#135792] - -[[release-notes-8.3.2]] -== {kib} 8.3.2 - -Review the following information about the {kib} 8.3.2 release. - -[float] -[[breaking-changes-8.3.2]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.3.2. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[fixes-v8.3.2]] -=== Bug fixes -Alerting:: -Fixes an issue where alerting rules that were created or edited in 8.2.0 stopped running when you upgraded {kib} to 8.3.0 or 8.3.1 {kibana-pull}135663[#135663] - -Discover:: -* Hide Alerts menu item when user does not have access to Stack Rules {kibana-pull}135655[#135655] -* Fixes loading of a single doc JSON when using index alias based data views {kibana-pull}135446[#135446] - -Elastic Security:: -For the Elastic Security 8.3.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -Keep all agents selected in query selection mode {kibana-pull}135530[#135530] - -Machine Learning:: -* Fixes put anomaly detection job endpoint when payload contains datafeed {kibana-pull}134986[#134986] -* Fixes trained model map associating wrong model to job {kibana-pull}134849[#134849] -* Use time range when validating datafeed preview {kibana-pull}134073[#134073] - -Maps:: -* Do not show layer error for term joins when terms aggregation does not return results {kibana-pull}135564[#135564] -* Fixes Vector map layers will not render when runtime field has '%' {kibana-pull}135491[#135491] - -[[release-notes-8.3.1]] -== {kib} 8.3.1 - -Review the following information about the {kib} 8.3.1 release. - -[float] -[[known-issues-8.3.1]] -=== Known issues - -[discrete] -[[known-issue-133965]] -.URL arguments cause API requests in Dev Tools to fail -[%collapsible] -==== -*Details* + -When you add any URL arguments, such as `?v` or `?pretty`, to API requests, the requests fail {kibana-issue}133965[#133965] - -*Impact* + -The known issue only impacts {kib} Dev Tools. All other sources of API requests are unaffected, such as curl and Elastic Cloud API console. -==== - -[discrete] -[[known-issue-alerting-rule]] -.Alerting rules stop running when you upgrade to 8.3.0 or 8.3.1 -[%collapsible] -==== -*Details* + -In 8.3.0 and 8.3.1, there is a known issue where alerting rules that were created or edited in 8.2.0 stop running when you upgrade {kib}. When you upgrade to 8.3.0 or 8.3.1, and your alerting rules have stopped running, the following error appears: - -[source,text] ----- -:: execution failed - security_exception: [security_exception] Reason: missing authentication credentials for REST request [/_security/user/_has_privileges], caused by: "" ----- - -*Impact* + -If you have upgraded to 8.3.0 or 8.3.1, and your alerting rules fail, reset the rules by disabling, then re-enabling them. When you disable, then re-enable your alerting rules, {kib} generates a new API key using the credentials of the user that manages the rules. - -To disable, then re-enable your alerting rules: - -. Open the main menu, then click *{stack-manage-app} > {rac-ui}*. - -. Select the failed alerting rules. - -. Click **Manage rules > Disable**, then click **Manage rules > Enable**. - -For more details about API key authorization, refer to <>. -==== - -[float] -[[breaking-changes-8.3.1]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.3.1. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[enhancement-v8.3.1]] -=== Enhancements -Operations:: -Adds EsArchiver datastream support {kibana-pull}132853[#132853] - -[float] -[[fixes-v8.3.1]] -=== Bug fixes -Alerting:: -Prevent negative snooze intervals {kibana-pull}134935[#134935] - -Elastic Security:: -For the Elastic Security 8.3.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Fixes dropping select all {kibana-pull}135124[#135124] -* Improves bulk actions for more than 10k agents {kibana-pull}134565[#134565] - -Infrastructure:: -Query persistent queue size for metricbeat documents {kibana-pull}134569[#134569] - -Observability:: -* Fixes a bug that displayed a toast error when deleting a rule {kibana-pull}135132[#135132] -* Fixes viewInAppUrl for custom metrics for Inventory Threshold Rule {kibana-pull}134114[#134114] - -Platform:: -* Fixes an issue where importing/copying the same saved object to the same space multiple times using the "Check for existing objects" option could fail or cause duplicates to be created {kibana-pull}135358[#135358] -* Fixes a bug where {es} nodes that stopped, then started again, were unreachable by {kib} for a given amount of requests when {kib} was configured to connect to multiple {es} nodes {kibana-pull}134628[#134628] - -[[release-notes-8.3.0]] -== {kib} 8.3.0 - -Review the following information about the {kib} 8.3.0 release. - -[float] -[[known-issues-8.3.0]] -=== Known issues - -Alerting users who are running 8.2 should not upgrade to either 8.3.0 or 8.3.1. -Both 8.3.0 and 8.3.1 have a bug where alerting rules that were created or edited -in 8.2 will stop running on upgrade. If you have upgraded to 8.3.0 or 8.3.1 and -your alerting rules have stopped running with an error similar to the following -example, you will need to go to *{stack-manage-app} > {rac-ui}*, multi-select -the failed rules, click on **Manage rules > Disable** and then click on **Manage -rules > Enable**. Disabling and re-enabling the rule will generate a new API key -using the credentials of the user performing these actions and reset the rule -state. For more details about API key authorization, refer to -<>. - -Example error message:: - -[source,text] ----- -:: execution failed - security_exception: [security_exception] Reason: missing authentication credentials for REST request [/_security/user/_has_privileges], caused by: "" ----- - -[float] -[[breaking-changes-8.3.0]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -[discrete] -.Removes Quandl and Graphite integrations -[%collapsible] -==== -*Details* + -The experimental `.quandl` and `.graphite` functions and advanced settings are removed from *Timelion*. For more information, check {kibana-pull}129581[#129581]. - -*Impact* + -When you use the `vis_type_timelion.graphiteUrls` kibana.yml setting, {kib} successfully starts, but logs a `[WARN ][config.deprecation] You no longer need to configure "vis_type_timelion.graphiteUrls".` warning. - -To leave your feedback about the removal of `.quandl` and `.graphite`, go to the link:https://discuss.elastic.co/c/elastic-stack/kibana/7[discuss forum]. -==== - -[discrete] -.Makes Osquery All with All base privilege -[%collapsible] -==== -*Details* + -The Osquery {kib} privilege has been updated, so that when the *Privileges for all features level* is set to *All*, this now applies *All* to Osquery privileges as well. Previously, users had to choose the *Customize* option to grant any access to Osquery. For more information, refer to {kibana-pull}130523[#130523]. - -*Impact* + -This impacts user roles that have *Privileges for all features* set to *All*. After this update, users with this role will have access to the Osquery page in {kib}. However, to use the Osquery feature fully, these requirements remain the same: users also need Read access to the logs-osquery_manager.result* index and the Osquery Manager integration must be deployed to Elastic Agents. -==== - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[deprecations-8.3.0]] -=== Deprecations - -The following functionality is deprecated in 8.3.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.3.0. - -[discrete] -[[deprecation-132790]] -.Removes `apm_user` -[%collapsible] -==== -*Details* + -Removes the `apm_user` role. For more information, check {kibana-pull}132790[#132790]. - -*Impact* + -The `apm_user`role is replaced with the `viewer` and `editor` built-in roles. -==== - -[discrete] -[[deprecation-132562]] -.Deprecates input controls -[%collapsible] -==== -*Details* + -The input control panels, which allow you to add interactive filters to dashboards, are deprecated. For more information, check {kibana-pull}132562[#132562]. - -*Impact* + -To add interactive filters to your dashboards, use the link:https://www.elastic.co/guide/en/kibana/8.3/add-controls.html[new controls]. -==== - -[discrete] -[[deprecation-131636]] -.Deprecates anonymous authentication credentials -[%collapsible] -==== -*Details* + -The apiKey, including key and ID/key pair, and `elasticsearch_anonymous_user` credential types for anonymous authentication providers are deprecated. For more information, check {kibana-pull}131636[#131636]. - -*Impact* + -If you have anonymous authentication provider configured with apiKey or `elasticsearch_anonymous_user` credential types, a deprecation warning appears, even when the provider is not enabled. -==== - -[discrete] -[[deprecation-131166]] -.Deprecates v1 and v2 security_linux and security_windows jobs -[%collapsible] -==== -*Details* + -The v1 and v2 job configurations for security_linux and security_windows are deprecated. For more information, check {kibana-pull}131166[#131166]. - -*Impact* + -The following security_linux and security_windows job configurations are updated to v3: - -* security_linux: - -** v3_linux_anomalous_network_activity -** v3_linux_anomalous_network_port_activity_ecs -** v3_linux_anomalous_process_all_hosts_ecs -** v3_linux_anomalous_user_name_ecs -** v3_linux_network_configuration_discovery -** v3_linux_network_connection_discovery -** v3_linux_rare_metadata_process -** v3_linux_rare_metadata_user -** v3_linux_rare_sudo_user -** v3_linux_rare_user_compiler -** v3_linux_system_information_discovery -** v3_linux_system_process_discovery -** v3_linux_system_user_discovery -** v3_rare_process_by_host_linux_ecs - -* security_windows: - -** v3_rare_process_by_host_windows_ecs -** v3_windows_anomalous_network_activity_ecs -** v3_windows_anomalous_path_activity_ecs -** v3_windows_anomalous_process_all_hosts_ecs -** v3_windows_anomalous_process_creation -** v3_windows_anomalous_script -** v3_windows_anomalous_service -** v3_windows_anomalous_user_name_ecs -** v3_windows_rare_metadata_process -** v3_windows_rare_metadata_user -** v3_windows_rare_user_runas_event -** v3_windows_rare_user_type10_remote_login -==== - -[discrete] -[[deprecation-130336]] -.Updates the default legend size -[%collapsible] -==== -*Details* + -In the *Lens* visualization editor, the *Auto* default for *Legend width* has been deprecated. For more information, check {kibana-pull}130336[#130336]. - -*Impact* + -When you create *Lens* visualization, the default for the *Legend width* is now *Medium*. -==== - -[discrete] -[[deprecation-122075]] -.Deprecates `xpack.data_enhanced.*` -[%collapsible] -==== -*Details* + -In kibana.yml, the `xpack.data_enhanced.*` setting is deprecated. For more information, check {kibana-pull}122075[#122075]. - -*Impact* + -Use the `data.*` configuration parameters instead. -==== - -[float] -[[features-8.3.0]] -=== Features - -{kib} 8.3.0 adds the following new and notable features. - -Alerting:: -* Adds circuit breaker for max number of actions by connector type {kibana-pull}128319[#128319] -* Adds `bulkEdit` method to alerting rulesClient and internal _bulk_edit API, that allow bulk editing of rules {kibana-pull}126904[#126904] - -Cases:: -* Adds average time to close metric in Cases {kibana-pull}131909[#131909] -* View all alerts attached to a case in the alerts table. The feature is experimental {kibana-pull}131883[#131883] -* Adds severity field to Cases {kibana-pull}131626[#131626] -* Adds the ability to delete comments in Cases {kibana-pull}130254[#130254] - -Dashboard:: -Enables the new controls by default {kibana-pull}131341[#131341] - -Discover:: -* To enable Threshold Alerts, adds the ability to edit dataView, query, & filters {kibana-pull}131688[#131688] -* To enable Threshold Alerts, extended the {es} query rule with search source-based data fetching {kibana-pull}124534[#124534] - -Elastic Security:: -For the Elastic Security 8.3.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -Changes to agent upgrade modal to allow for rolling upgrades {kibana-pull}132421[#132421] - -Lens & Visualizations:: -* Adds method to re-link visualizations with missing `SavedSearch` {kibana-pull}132729[#132729] -* Adds support of Data View switching for Agg-Based visualizations {kibana-pull}132184[#132184] - -Machine Learning:: -* Adds the ability to create anomaly detection jobs from Lens visualizations {kibana-pull}129762[#129762] -* Adds trained model testing for additional pytorch models {kibana-pull}129209[#129209] - -Management:: -* Adds saved object relationships to data view management {kibana-pull}132385[#132385] -* Adds support for feature_states {kibana-pull}131310[#131310] - -Monitoring:: -Adds the Stack monitoring health API {kibana-pull}132705[#132705] - -Observability:: -* Adds the ability to bulk attach multiple alerts to a Case {kibana-pull}130958[#130958] -* Adds rule details page {kibana-pull}130330[#130330] -* Adds span link {kibana-pull}126630[#126630] -* Adds ML expected model bounds as an option to Comparison controls {kibana-pull}132456[#132456] - -Platform:: -Adds `xyVis` and `layeredXyVis` {kibana-pull}128255[#128255] - -Querying & Filtering:: -Improves the current filter/search experience {kibana-pull}128401[#128401] - -Sharing:: -Adds method to re-link visualizations with missing index-pattern {kibana-pull}132336[#132336] - -For more information about the features introduced in 8.3.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.3.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.3.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.3.0]] -=== Enhancements -Alerting:: -* Adds helper text in the edit rule form about the change in privileges when saving the rule {kibana-pull}131738[#131738] -* Display rule API key owner to users who can manage API keys {kibana-pull}131662[#131662] - -Canvas:: -Fixes reference line overlay {kibana-pull}132607[#132607] - -Cases:: -* Show a warning for deprecated preconfigured connectors {kibana-pull}132237[#132237] -* Reduce space taken by the reporter column in the all cases table {kibana-pull}132200[#132200] -* Adds a tooltip to show truncate tags in Cases {kibana-pull}132023[#132023] -* Adds the ability to create a case from within the selection case modal {kibana-pull}128882[#128882] - -Content Management:: -The list view for Dashboard, Visualize Library, Maps, and Graph has a new "Last updated" column to easily access content that has been recently modified {kibana-pull}132321[#132321] - -Dashboard:: -* Improves the banner {kibana-pull}132301[#132301] -* Adds Analytics No Data Page {kibana-pull}132188[#132188] -* Adds field first control creation {kibana-pull}131461[#131461] -* Make text field based Options list controls case Insensitive {kibana-pull}131198[#131198] -* Allow existing controls to change type {kibana-pull}129385[#129385] - -Discover:: -* Adds an option to hide specified filter actions from SearchBar filter panels {kibana-pull}132037[#132037] -* Adds Analytics No Data Page {kibana-pull}131965[#131965] -* Adds close button to field popover using Document Explorer {kibana-pull}131899[#131899] -* Adds monospace font in Document Explorer {kibana-pull}131513[#131513] -* Adds a tour for Document Explorer {kibana-pull}131125[#131125] -* Display current interval setting {kibana-pull}130850[#130850] -* Adds a direct link from sample data to Discover {kibana-pull}130108[#130108] - -Elastic Security:: -For the Elastic Security 8.3.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Move integration labels below title and normalise styling {kibana-pull}134360[#134360] -* Adds First Integration Multi Page Steps Flow MVP (cloud only) {kibana-pull}132809[#132809] -* Optimize package installation performance, phase 2 {kibana-pull}131627[#131627] -* Adds APM instrumentation for package install process {kibana-pull}131223[#131223] -* Adds "Label" column + filter to Agent list table {kibana-pull}131070[#131070] -* Adds `cache-control` headers to key `/epm` endpoints in Fleet API {kibana-pull}130921[#130921] -* Optimize package installation performance, phase 1 {kibana-pull}130906[#130906] -* Adds experimental features (feature flags) config to fleet plugin {kibana-pull}130253[#130253] -* Adds redesigned Fleet Server flyout {kibana-pull}127786[#127786] - -Lens & Visualizations:: -* Renders no data component if there is no {es} data or dataview in *Visualize* {kibana-pull}132223[#132223] -* Swaps dimensions for mosaic in *Lens* {kibana-pull}131945[#131945] -* Adds log and sqrt scale in *Lens* {kibana-pull}131940[#131940] -* Adds collapse fn to table and xy chart in *Lens* {kibana-pull}131748[#131748] -* Allow filtering on metric vis in *Lens* {kibana-pull}131601[#131601] -* Improved interval input in *Lens* {kibana-pull}131372[#131372] -* Adds the Discover drilldown to *Lens* {kibana-pull}131237[#131237] -* Update defaults for metric vis in *Lens* {kibana-pull}129968[#129968] -* Adds range event annotations in *Lens* {kibana-pull}129848[#129848] -* Adds accuracy mode for Top Values in *Lens* {kibana-pull}129220[#129220] -* Adds type murmur3 into the *Lens* fields list {kibana-pull}129029[#129029] - -Machine Learning:: -* Optimize resize behaviour for the Anomaly Explorer page {kibana-pull}132820[#132820] -* Wizard validation improvements {kibana-pull}132615[#132615] -* Support version fields in anomaly detection wizards {kibana-pull}132606[#132606] -* Context for recovered alerts {kibana-pull}132496[#132496] -* Adding UI for question_answering model testing {kibana-pull}132033[#132033] -* Adds recognized modules links for Index data visualizer {kibana-pull}131342[#131342] -* Anomaly Detection: Adds View in Maps item to Actions menu in the anomalies table {kibana-pull}131284[#131284] -* Adding v3 modules for Security_Linux and Security_Windows and Deprecating v1 + v2 {kibana-pull}131166[#131166] -* Data Frame Analytics creation wizard: add support for filters in saved searches {kibana-pull}130744[#130744] -* Edit job selection on data frame analytics results and map pages {kibana-pull}130419[#130419] -* Resizable/Collapsible Top Influencers section {kibana-pull}130018[#130018] - -Management:: -* Adds context for recovered alerts {kibana-pull}132707[#132707] -* Adds warnings for managed system policies {kibana-pull}132269[#132269] -* Skip empty prompt screen {kibana-pull}130862[#130862] -* Console now supports properly handling multiple requests. For es errors such as `400`, `405` exception results are displayed with successful request results in the order they called {kibana-pull}129443[#129443] -* Display vector tile API response in Console {kibana-pull}128922[#128922] -* Adds option to disable keyboard shortcuts {kibana-pull}128887[#128887] - -Maps:: -* Show marker size in legend {kibana-pull}132549[#132549] -* Fixes marker size scale issue for counts {kibana-pull}132057[#132057] -* Scale marker size by area {kibana-pull}131911[#131911] -* Localized basemaps {kibana-pull}130930[#130930] -* Support term joins for Elasticsearch document source with vector tile scaling {kibana-pull}129771[#129771] -* Allow feature editing for document layers with "applyGlobalTime", "applyGlobalQuery", and joins {kibana-pull}124803[#124803] - -Observability:: -* Bumps synthetics integration package to 0.9.4 {kibana-pull}133423[#133423] -* Immediately re-run monitors in the synthetics service when they're edited {kibana-pull}132639[#132639] -* Enables log flyouts on APM logs tables {kibana-pull}132617[#132617] -* Adds logging to Metric Threshold Rule {kibana-pull}132343[#132343] -* Adds Page load distribution chart to overview page {kibana-pull}132258[#132258] -* Show experimental locations only when a particular flag is enabled {kibana-pull}132063[#132063] -* Trace explorer {kibana-pull}131897[#131897] -* Static Java agent version list becomes stale quickly {kibana-pull}131759[#131759] -* Adds recovery context to Log Threshold rule {kibana-pull}131279[#131279] -* Adds recovery context to the Metric Threshold rule {kibana-pull}131264[#131264] -* Adds context variables to recovery alerts for Inventory Threshold rule {kibana-pull}131199[#131199] -* Copy alert state to alert context and implement alert recovery {kibana-pull}128693[#128693] -* Progressive fetching (experimental) {kibana-pull}127598[#127598] -* Replace environment dropdown with SuggestionsSelect in landing pages and service overview page {kibana-pull}126679[#126679] -* Store Logs UI settings in a dedicated `infrastructure-monitoring-log-view` saved object {kibana-pull}125014[#125014] - -Platform:: -* The saved objects management table has a new "Last updated" column to easily access recently modified saved objects {kibana-pull}132525[#132525] -* Sync panels tooltips on dashboard level {kibana-pull}130449[#130449] - -Querying & Filtering:: -* Support fields custom label on filter editor {kibana-pull}130533[#130533] -* Allows comma delimiter on the filters multiple selections dropdowns {kibana-pull}130266[#130266] - -Security:: -* Disallows creating a role with an existing name in the role management page. Introduces an optional boolean `createOnly` parameter in the create role API to prevent overwriting existing roles; the default value is false, preserving the original API behavior {kibana-pull}132218[#132218] -* Adds experimental `csp.disableUnsafeEval` config option. Set this to `true` to remove the link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#unsafe_eval_expressions[`unsafe-eval`] source expression from the `script-src` Content Security Policy (CSP) directive. The default value is `false`, which is identical to the original Kibana behavior {kibana-pull}124484[#124484] - -[float] -[[fixes-v8.3.0]] -=== Bug fixes -Alerting:: -* Don't load connectors and connector types when there isn't an encryptionKey {kibana-pull}133335[#133335] -* Adds cloud icon "ess-icon" at the end of the config keys in "alerting" {kibana-pull}131735[#131735] -* Fixes optional spaceId in rules_client {kibana-pull}130704[#130704] - -Content Managment:: -Fixes the listingLimit settings url {kibana-pull}129701[#129701] - -Dashboard:: -* Adds Fatal Error Handling {kibana-pull}133579[#133579] -* Hide in Print Mode {kibana-pull}133446[#133446] -* Send Control State to Reporting Via Locator {kibana-pull}133425[#133425] -* Fixes new controls causing unsaved changes bug {kibana-pull}132850[#132850] - -Design:: -* Keyboard shortcut popup {kibana-pull}133069[#133069] -* Adding aria-label for discover data grid select document checkbox {kibana-pull}131277[#131277] -* Adds item descriptions to edit button screen reader labels in TableListView {kibana-pull}125334[#125334] - -Discover:: -* Hide "Add a field", "Edit" and "Create a data view" buttons in viewer mode {kibana-pull}134582[#134582] -* Unify definition of field names and field descriptions {kibana-pull}134463[#134463] -* Address "Don't call Hooks" React warnings {kibana-pull}134339[#134339] -* Include current filters into "Test query" request {kibana-pull}134184[#134184] -* Prevent rule flyout from being open simultaneously with other popovers like search suggestions {kibana-pull}132108[#132108] -* Fixes link to open new window {kibana-pull}131930[#131930] -* Discover Classic View Filter In/Out placement when `truncate:maxHeight` is set to 0 {kibana-pull}129942[#129942] -* Fixes inconsistent usage of arrow icons on Surrounding documents page {kibana-pull}129292[#129292] -* Show a fallback empty message when no results are found {kibana-pull}128754[#128754] - -Elastic Security:: -For the Elastic Security 8.3.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Bulk reassign kuery optimize {kibana-pull}134673[#134673] -* Fixes flickering tabs layout in add agent flyout {kibana-pull}133769[#133769] -* Adds $ProgressPreference to windows install command in flyout {kibana-pull}133756[#133756] -* Fixes sorting by size on data streams table {kibana-pull}132833[#132833] - -Infrastructure:: -Pass decorated server to routes {kibana-pull}133264[#133264] - -Lens & Visualizations:: -* Hide null cells in Heatmap {kibana-pull}134450[#134450] -* Fixes formula generate error in *Lens* {kibana-pull}134434[#134434] -* Better default for date_range agg in *Visualize* {kibana-pull}134220[#134220] -* Keep suggestions stable in *Lens* {kibana-pull}134212[#134212] -* Fixes voiceover drag and drop in *Lens* {kibana-pull}134196[#134196] -* Fixes palette bug {kibana-pull}134159[#134159] -* Fixes multi index pattern load on the server in *TSVB* {kibana-pull}134091[#134091] -* Fixes axis title visibility bug in *Lens* {kibana-pull}134082[#134082] -* Fixes broken drilldowns for gauges and heatmaps in *Lens* {kibana-pull}134008[#134008] -* Fixes application of suffix formats in *Lens* {kibana-pull}133780[#133780] -* Do not show edit field for record field in *Lens* {kibana-pull}133762[#133762] -* Fixes discover drilldown for non-time field case in *Lens* {kibana-pull}133334[#133334] -* Do not reset session on Lens load with filters in *Lens* {kibana-pull}133191[#133191] -* Fixes transition issue in *Lens* {kibana-pull}132956[#132956] -* Escape label in lodash set command in *TSVB* {kibana-pull}132932[#132932] -* Changing the `Data View` logic with an initially missed `Data View` does not work in *TSVB* {kibana-pull}132796[#132796] -* Terms with keyword field with "numbers" is displayed with a weird date in *TSVB* {kibana-pull}132226[#132226] -* TSVB] Chart is failing when the user tries to add a percentile_rank {kibana-pull}132105[#132105] -* Fixes metric label font size in *Visualize* {kibana-pull}132100[#132100] -* Datatable: Do not apply truncation in value popover in *Lens* {kibana-pull}132005[#132005] -* Fixes percentile rank math in *TSVB* {kibana-pull}132003[#132003] -* Fixes timezone bucket shift in *Timelion* {kibana-pull}131213[#131213] -* Fixes vega controls layout in *Vega* {kibana-pull}130954[#130954] -* Fixes requesting not permitted or used data views in *Timelion* {kibana-pull}130899[#130899] -* Fixed bugs when using `include/exclude` options for Terms in *TSVB* {kibana-pull}130884[#130884] -* Make series agg work after math in *TSVB* {kibana-pull}130867[#130867] -* Use elastic-charts axis calculation in *Lens* {kibana-pull}130429[#130429] -* Make suggestions depend on active data in *Lens* {kibana-pull}129326[#129326] -* Adds back setMapView function in *Vega* {kibana-pull}128914[#128914] -* Fixes the Order by setting for split chart in metric and custom metric visualizations {kibana-pull}128185[#128185] - -Machine Learning:: -* Fixes creation of the custom URLs for Kibana Dashboard {kibana-pull}134248[#134248] -* Fixes expanded row stats not loading all correctly whenever sort by cardinality {kibana-pull}134113[#134113] -* Fixes Data visualizer showing 0 count in the doc count chart even though documents do exist {kibana-pull}134083[#134083] -* Fixes querying anomalies for the Single Metric Viewer {kibana-pull}133419[#133419] -* Fixes Anomaly Charts filtering based on the swim lane job selection {kibana-pull}133299[#133299] -* Fixes handling of unrecognised URLs {kibana-pull}133157[#133157] -* Prevent duplicate field selection in detector modal {kibana-pull}133018[#133018] -* Fixes single metric job with doc_count field {kibana-pull}132997[#132997] -* Hide job messages clear notifications tooltip on click {kibana-pull}132982[#132982] -* Filtering category runtime fields in advanced wizard {kibana-pull}132916[#132916] -* Fixes trained model testing so it is available for users with ML read permissions {kibana-pull}132698[#132698] -* Adding type for job summary state {kibana-pull}131643[#131643] - -Management:: -* Fixes linebreaks (\r\n) mis-applied from history {kibana-pull}131037[#131037] -* Fixes Kibana DevTool Copy as CURL does not url encode special chars in indice date math {kibana-pull}130970[#130970] -* Fixes cat APIs returning as escaped string {kibana-pull}130638[#130638] -* Fixes Elasticsearch doc VIEW IN CONSOLE will clean local Kibana console form history {kibana-pull}127430[#127430] - -Maps:: -* Fixes icon markers fail to load when browser zoomed out {kibana-pull}134367[#134367] -* Hide create filter UI in canvas {kibana-pull}133943[#133943] -* Use label features from ES vector tile search API to fix multiple labels {kibana-pull}132080[#132080] -* Fixes Map panels should not show the user controls in a dashboard report {kibana-pull}131970[#131970] -* Show "no results" found for vector tile aggregations when there are no results {kibana-pull}130821[#130821] - -Monitoring:: -* Prevent exceptions in rule when no data present {kibana-pull}131332[#131332] -* Fixes displaying ES version for external collection {kibana-pull}131194[#131194] -* Fixes node type detection for external collection {kibana-pull}131156[#131156] -* Use server.publicBaseUrl in Alert links {kibana-pull}131154[#131154] - -Observability:: -* Fixes x-axis on error charts {kibana-pull}134193[#134193] -* Display ENVIRONMENT_ALL label instead of value {kibana-pull}133616[#133616] -* Fixes normalizers to not parse list values if they are already parsed {kibana-pull}133563[#133563] -* Change bucket_scripts to use params for thresholds {kibana-pull}133214[#133214] -* Use Observability rule type registry for list of rule types {kibana-pull}132484[#132484] -* APM anomaly rule type should appear in observability rules page {kibana-pull}132476[#132476] -* Fixes monitors details page errors {kibana-pull}132196[#132196] -* Set a valid `service_name` for python APM onboarding {kibana-pull}131959[#131959] -* Rename service groups template titles and links {kibana-pull}131381[#131381] -* Show service group icon only for service groups {kibana-pull}131138[#131138] -* Refactor Metric Threshold rule to push evaluations to Elasticsearch {kibana-pull}126214[#126214] -* Ellipsis truncation issue - dependencies and service section {kibana-pull}122203[#122203] -* Fixes lookback window for anomalies for anomaly alert {kibana-pull}93389[#93389] - -Operations:: -Fixes error handling on precommit hook {kibana-pull}132998[#132998] - -Platform:: -Prevents Kibana from bootlooping during migrations when Elasticsearch routing allocation settings are incompatible {kibana-pull}131809[#131809] - -Querying & Filtering:: -Allows the negative character on the number type fields {kibana-pull}130653[#130653] - -Reporting:: -Remove controls from reports {kibana-pull}134240[#134240] - -Security:: -* Session view process events index will now match on prefixed index {kibana-pull}133984[#133984] -* Timestamp issue fix + updated Jest to include mock date format {kibana-pull}132290[#132290] -* Session view alerts loading improvements, and other polish / bug fixes {kibana-pull}131773[#131773] - -[[release-notes-8.2.3]] -== {kib} 8.2.3 - -Review the following information about the {kib} 8.2.3 release. - -[float] -[[breaking-changes-8.2.3]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.2.2. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[fixes-v8.2.3]] -=== Bug fixes -Elastic Security:: -For the Elastic Security 8.2.3 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Elastic Agent integration now installs automatically if agent monitoring is turned on in the agent policy {kibana-pull}133530[#133530] -* Removes {beats} tutorials from the Elastic Stack category {kibana-pull}132957[#132957] -Management:: -Fixes an edge case in the Inspector request selector where duplicate request names could result in a UI bug {kibana-pull}133511[#133511] -Operations:: -Fixes an issue where `node.options` was reset between upgrades in deb and rpm packages {kibana-pull}133249[#133249] -Platform:: -defaultIndex attribute was migrated for config saved object {kibana-pull}133339[#133339] - -[[release-notes-8.2.2]] -== {kib} 8.2.2 - -Review the following information about the {kib} 8.2.2 release. - -[float] -[[breaking-changes-8.2.2]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.2.2. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[fixes-v8.2.2]] -=== Bug fix -Machine Learning:: -Fixes width of icon column in Messages table {kibana-pull}132444[#132444] - -[[release-notes-8.2.1]] -== {kib} 8.2.1 - -Review the following information about the {kib} 8.2.1 release. - -[float] -[[breaking-changes-8.2.1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.2.1. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[enhancement-v8.2.1]] -=== Enhancements -Elastic Security:: -For the Elastic Security 8.2.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Monitoring:: -* Adds the ability collect Telemetry {kibana-pull}130498[#130498] -* Adds the ability to report panels in dashboards by type {kibana-pull}130166[#130166] - -[float] -[[fixes-v8.2.1]] -=== Bug fixes -Discover:: -* Fixes Document Explorer infinite height growth {kibana-pull}131723[#131723] -* Fixes links in helper callouts {kibana-pull}130873[#130873] -Elastic Security:: -For the Elastic Security 8.2.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Removes legacy component templates on package install {kibana-pull}130758[#130758] -Lens & Visualizations:: -* Fixes time shift bug in *Lens* {kibana-pull}132000[#132000] -* Fixes single color palette configuration {kibana-pull}131128[#131128] -Machine Learning:: -* Removes alerting_rules from general job list items {kibana-pull}131936[#131936] -* Fixes management app docs links {kibana-pull}130776[#130776] -Management:: -* Restores data view management field type conflict detail modal {kibana-pull}132197[#132197] -* Fixes test data for import and export between versions tests {kibana-pull}131470[#131470] -* Fixes condition auto-completion for templates in Console {kibana-pull}126881[#126881] -Maps:: -* Fixes background tiles in a map panel might not load in a screenshot report {kibana-pull}131185[#131185] -Observability:: -* Services without application metrics display an error {kibana-pull}131347[#131347] -* Correctly interprets the `resetting` and `reverting` job states {kibana-pull}129570[#129570] -Platform:: -* Migrations incorrectly detects cluster routing allocation setting as incompatible {kibana-pull}131712[#131712] -* Fixes resetting image values {kibana-pull}131610[#131610] -* Fixes a bug causing the newsfeed to not be properly displayed in locales other than english {kibana-pull}131315[#131315] - -[[release-notes-8.2.0]] -== {kib} 8.2.0 - -Review the following information about the {kib} 8.2.0 release. - -[float] -[[known-issue-v8.2.0]] -=== Known issue - -Lens & visualizations:: -A change in the Markdown library that {kib} uses to create *TSVB* *Markdown* visualizations and *Text* dashboard panels renders some tables differently. For more information, check out link:https://github.com/markdown-it/markdown-it/pull/767[#767]. - -[float] -[[breaking-changes-8.2.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.2.0. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[features-8.2.0]] -=== Features -{kib} 8.2.0 adds the following new and notable features. - -Alerting:: -* Keep the number_of_scheduled_actions in event log {kibana-pull}128438[#128438] -* Remove defaultRuleTaskTimeout and set ruleType specific timeout from kibana.yml {kibana-pull}128294[#128294] -* Limit the executable actions per rule execution {kibana-pull}128079[#128079] and {kibana-pull}126902[#126902] - -Cases:: -* Adds Cases to the Stack Management page as a technical preview feature {kibana-pull}125224[#125224] - -Dashboard:: -* Adds time slider control {kibana-pull}128305[#128305] -* Adds Control group search settings {kibana-pull}128090[#128090] -* Adds hierarchical chaining setting to Controls {kibana-pull}126649[#126649] -* Adds options list API and validation system {kibana-pull}123889[#123889] - -Discover:: -* Enables document explorer by default {kibana-pull}125485[#125485] -* Adds `Copy to clipboard` ability for column name of Document Explorer {kibana-pull}123892[#123892] - -Elastic Security:: -For the Elastic Security 8.2.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Lens & Visualizations:: -* Adds manual annotations in *Lens* {kibana-pull}126456[#126456] -* Adds multi-field group by in *TSVB* {kibana-pull}126015[#126015] -* Adds ability to navigate to *Lens* with your current *TSVB* configuration {kibana-pull}114794[#114794] - -Machine Learning:: -* Add link to maps in charts section of Anomaly Explorer {kibana-pull}128697[#128697] -* Testing trained models in UI {kibana-pull}128359[#128359] -* Space aware trained models {kibana-pull}123487[#123487] - -Management:: -* Adds support for auto-complete for data streams {kibana-pull}126235[#126235] -* Adds ability to filter Data View UI for runtime fields {kibana-pull}124114[#124114] -* Adds ability to share data views across spaces via data view management {kibana-pull}123991[#123991] - -Observability:: -* Adds button which allows users to signup for the Synthetics service public beta {kibana-pull}128798[#128798] -* Adds "View in App URL" {{context.viewInAppUrl}} variable to the rule templating language {kibana-pull}128281[#128281] -* Adds "View in App URL" {{context.viewInAppUrl}} variable to the rule templating language {kibana-pull}128243[#128243] -* Adds "View in App URL" {{context.viewInAppUrl}} variable to the rule templating language {kibana-pull}127890[#127890] -* Adds view in app url as an action variable in the alert message for uptime app {kibana-pull}127478[#127478] - -For more information about the features introduced in 8.2.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.2.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.2.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.2.0]] -=== Enhancements -Alerting:: -* Adds error logs in rule details page {kibana-pull}128925[#128925] -* Simplify error banner on rules {kibana-pull}128705[#128705] -* Adds Previous Snooze button {kibana-pull}128539[#128539] -* Adds Snooze UI and Unsnooze API {kibana-pull}128214[#128214] -* Adds aggs to know how many rules are snoozed {kibana-pull}128212[#128212] -* Adds a connector for xMatters {kibana-pull}122357[#122357] - -Dashboard:: -* Adds option to open dashboard drilldowns in new tab or window {kibana-pull}125773[#125773] -* Adds range slider Control {kibana-pull}125584[#125584] - -Discover:: -Adds ability to edit histogram as vis {kibana-pull}125705[#125705] - -Elastic Security:: -For the Elastic Security 8.2.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.2.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Merge settings & mappings component template in @package {kibana-pull}128498[#128498] -* Redesign agent flyout {kibana-pull}128381[#128381] -* Adds a link from agent details page to agent dashboard {kibana-pull}127882[#127882] -* Update add agent instructions in fleet managed mode for Kubernetes {kibana-pull}127703[#127703] -* Added time_series_metric mapping for metric_type package field {kibana-pull}126322[#126322] -* Added support for dimension field {kibana-pull}126257[#126257] -* Refactor auto upgrade package policies logic {kibana-pull}125909[#125909] -* Move mappings from index template to component template {kibana-pull}124013[#124013] - -Lens & Visualizations:: -* Adds normalize_by_unit function and option in *Lens* {kibana-pull}128303[#128303] -* Adds suffix formatter in *Lens* {kibana-pull}128246[#128246] -* Adds Xy gap settings in *Lens* {kibana-pull}127749[#127749] -* Implements null instead of zero switch in *Lens* {kibana-pull}127731[#127731] -* Adds ability to include empty rows setting for date histogram in *Lens* {kibana-pull}127453[#127453] -* Adds support for multi rows headers for the table visualization in *Lens* {kibana-pull}127447[#127447] -* Adds ability to open *Lens* visualizations in *Discover* from dashboards {kibana-pull}127355[#127355] -* Auto-set exists filtering for last value in *Lens* {kibana-pull}127251[#127251] -* Adds ability to include number of values in default terms field label in *lens* {kibana-pull}127222[#127222] -* Adds ability to drop partial buckets option in *Lens* {kibana-pull}127153[#127153] -* Addds ability to allow top metric for last value in *Lens* {kibana-pull}127151[#127151] -* Improves Datatable content height with custom row height in *Lens* {kibana-pull}127134[#127134] -* Adds ability to set legend pixel width in *Lens* {kibana-pull}126018[#126018] -* Adds underlying data editor navigation in *Lens* {kibana-pull}125983[#125983] -* Adds top metrics aggregation to AggConfigs, Expressions, and Visualize {kibana-pull}125936[#125936] -* Adds the ability to detach from global time range in *Lens* {kibana-pull}125563[#125563] -* Adds last value, min and max on dates, allow last value on ip_range, number_range, and date_range in *Lens* {kibana-pull}125389[#125389] -* Adds version-aware sorting to data table in *Lens* {kibana-pull}125361[#125361] -* Cancel discarded searches in *Timelion* {kibana-pull}125255[#125255] -* Cancel discarded searches in *TSVB* {kibana-pull}125197[#125197] -* Adds the ability to allow users to disable auto-apply in *Lens* {kibana-pull}125158[#125158] -* Adds Filter custom label for kibanaAddFilter in *Vega* {kibana-pull}124498[#124498] -* Adds metric Viz config options, title position, and sizing in *Lens* {kibana-pull}124124[#124124] -* Adds the ability to make graph edges easier to click {kibana-pull}124053[#124053] -* Adds "Show empty rows" options to intervals function in *Lens* {kibana-pull}118855[#118855] - -Machine Learning:: -* Combines annotations into one block if multiple annotations overlap {kibana-pull}128782[#128782] -* Adds `throughput_last_minute` to the deployment stats {kibana-pull}128611[#128611] -* Adds new API endpoint to improve anomaly chart performance {kibana-pull}128165[#128165] -* Utilize ML memory stats endpoint for the memory overview chart {kibana-pull}127751[#127751] -* Deleting trained model space checks {kibana-pull}127438[#127438] -* Show at least one correlation value and consolidate correlations columns {kibana-pull}126683[#126683] -* Include fields not in docs in Data Visualizer field name control {kibana-pull}126519[#126519] -* Anomaly Explorer performance enhancements {kibana-pull}126274[#126274] -* Fixes Index data visualizer reaching Elasticsearch rate request limits {kibana-pull}124898[#124898] -* Adds cache for data recognizer module configs to reduce number of privilege checks {kibana-pull}126338[#126338] - -Management:: -* Extend Transform Health alerting rule with error messages check {kibana-pull}128731[#128731] -* Enable opening queries from any UI {kibana-pull}127461[#127461] -* No Data Views Component {kibana-pull}125403[#125403] - -Maps:: -* Remove usage of max file size advanced setting 1GB limit in geo file upload {kibana-pull}127639[#127639] -* Adds support for geohex_grid aggregation {kibana-pull}127170[#127170] -* Lens choropleth chart {kibana-pull}126819[#126819] -* Register GeoJson upload with integrations page {kibana-pull}126350[#126350] -* Support custom icons in maps {kibana-pull}113144[#113144] - -Observability:: -* Guided setup progress {kibana-pull}128382[#128382] -* Enable check for public beta {kibana-pull}128240[#128240] -* Guided setup button on the overview page {kibana-pull}128172[#128172] -* Show warning when users exceed a Synthetics Node throttling limits {kibana-pull}127961[#127961] -* Adds logging to Inventory Threshold Rule {kibana-pull}127838[#127838] -* O11y rules page {kibana-pull}127406[#127406] -* Enrich documents generated by the synthetics service with `port` information {kibana-pull}127180[#127180] -* Make UI indices space aware (support for spaces) {kibana-pull}126176[#126176] -* Setting for default env for service inventory {kibana-pull}126151[#126151] -* Alerts in overview page {kibana-pull}125337[#125337] -* Adds log rate to Exploratory View {kibana-pull}125109[#125109] -* Support switching between log source modes {kibana-pull}124929[#124929] -* Overview style updates {kibana-pull}124702[#124702] -* Adds full screen/copy button ability in browser inline script editing {kibana-pull}124500[#124500] -* Update position of legend and it's controls {kibana-pull}115854[#115854] - -Platform:: -Allow customizing {es} client maxSockets {kibana-pull}126937[#126937] - -[float] -[[fixes-v8.2.0]] -=== Bug fixes -Alerting:: -* Fixes bug when providing a single value to the `fields` query parameter of the Cases find API {kibana-pull}128143[#128143] -* Fixes the count of alerts in the cases table. Only unique alerts are being counted {kibana-pull}127721[#127721] -* Do not show the lens action if Visualize feature is not enabled {kibana-pull}127613[#127613] - -Dashboard:: -* Fixes control removal {kibana-pull}128699[#128699] -* Select televant data view ID {kibana-pull}128440[#128440] -* Close controls flyouts on unmount, save, and view mode change {kibana-pull}128198[#128198] - -Discover:: -* Account for hidden time column in default sort {kibana-pull}129659[#129659] -* Make field icons consistent across field list and doc tables {kibana-pull}129621[#129621] -* Fixes `Filter for field present` in expanded document view of Document Explorer {kibana-pull}129588[#129588] -* Cancel long running request after navigating out from Discover {kibana-pull}129444[#129444] -* Fixes height of JSON tab in Document flyout when using Document explorer in Safari {kibana-pull}129348[#129348] -* Fixes stuck action menu in expanded document sidebar {kibana-pull}127588[#127588] - -Elastic Security:: -For the Elastic Security 8.2.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Lens & Visualizations:: -* Fixes multi index pattern load bug in *TSVB* {kibana-pull}130428[#130428] -* Handle empty values for range formatters {kibana-pull}129572[#129572] -* Apply pinned filters to *Lens* {kibana-pull}129503[#129503] -* Imported vislib pie triggers unsaved viz warning when embedded on a dashboard in *Visualize* {kibana-pull}129336[#129336] -* Fixes auto session-renewal on non-timebased data views in *Lens* {kibana-pull}129313[#129313] -* Fixes steps behavior to happen at the change point in *TSVB* {kibana-pull}128741[#128741] -* Improve check for 0 opacity in *TSVB* {kibana-pull}128630[#128630] -* Fixes firefox scrollbars in *Vega* {kibana-pull}128515[#128515] -* Log data tables properly in *Lens* {kibana-pull}128297[#128297] -* Fixes annotation bounds bug in *TSVB* {kibana-pull}128242[#128242] -* Make sure x axis values are always strings in *Lens* {kibana-pull}128160[#128160] -* Use default number formatter as fallback if nothing else is specified in *Timelion* {kibana-pull}128155[#128155] -* Enable Save&Return button for canvas when dashboard permissions are off in *Visualize* {kibana-pull}128136[#128136] -* Fixes permission problem for "Save and return" button in *Lens* {kibana-pull}127963[#127963] -* Restore operation auto switch based on field type in *Lens* {kibana-pull}127861[#127861] -* Fixes mosaic color syncing in *Lens* {kibana-pull}127707[#127707] -* Make edge selection work {kibana-pull}127456[#127456] -* Remove opacity for fitting line series {kibana-pull}127176[#127176] -* Handle line/area fitting function when the editor has started with bar configuration in *Visualize* {kibana-pull}126891[#126891] -* Preserve custom label when changing with multi-terms settings in *Lens* {kibana-pull}126773[#126773] -* Fixes multi terms fields validation in *Lens* {kibana-pull}126618[#126618] -* Make Embeddable resilient when toggling actions in *Lens* {kibana-pull}126558[#126558] -* Make graph app resilient to no fields or missing data views {kibana-pull}126441[#126441] -* Fixes Formula to Quick functions does not preserve custom formatting in *Lens* {kibana-pull}124840[#124840] -* Inspector displays only visible content {kibana-pull}124677[#124677] -* Coloring tooltips in Heatmap are not properly positioned in *Visualize* {kibana-pull}124507[#124507] -* Adds rison helper and URL encoding for drilldown urls in *TSVB* {kibana-pull}124185[#124185] - -Machine Learning:: -* Fixes alignment of Anomaly Explorer swim lane annotations label on Firefox {kibana-pull}130274[#130274] -* Fixes Single Metric Viewer chart failing to load if no points during calendar event {kibana-pull}130000[#130000] -* Fixes Single Metric Viewer for jobs that haven't been run {kibana-pull}129063[#129063] -* Fix outlier detection results exploration color legend display {kibana-pull}129058[#129058] -* Fixes new anomaly detection job from saved search with no query filter {kibana-pull}129022[#129022] -* Fixes data frame analytics map saved object sync warning {kibana-pull}128876[#128876] -* Adds error toast to Data visualizer when using unpopulated time field {kibana-pull}127196[#127196] - -Management:: -* Transforms: Fix to not pass on default values in configurations {kibana-pull}129091[#129091] -* Encode + sign in ISO8601 time range in query {kibana-pull}126660[#126660] - -Maps:: -* Fixes lens region map visualization throws a silent error {kibana-pull}129608[#129608] -* Fixes double click issue when deleting a shape {kibana-pull}124661[#124661] - -Monitoring:: -* Exclude Malwarescore + Ransomware EP alerts from DRule telemetry {kibana-pull}130233[#130233] -* Rename "APM & Fleet Server" to "Integrations Server" {kibana-pull}128574[#128574] -* Fixes sorting by node status on nodes listing page {kibana-pull}128323[#128323] - -Observability:: -* Service environment should be selected when you edit the agent configuration {kibana-pull}129929[#129929] -* Adds migration to include synthetics and heartbeat indices on 8.2.0 {kibana-pull}129510[#129510] -* Rules summary on the Alerts view is not showing the count of rules {kibana-pull}129052[#129052] -* Fixes shadow for overview panels {kibana-pull}128878[#128878] -* Ensure rum_allow_origins setting only saves valid YAML strings {kibana-pull}128704[#128704] -* Standardize NOW as startedAt from executor options {kibana-pull}128020[#128020] -* Fixes synthetics recorder file upload {kibana-pull}127614[#127614] -* Service Maps popover detail metrics are aggregates over all transaction types {kibana-pull}125580[#125580] - -Platform:: -* Fixes an issue where duplicate data appears in the inspector datatable in *Lens* for heatmap visualizations, and stale data persists in the inspector datatable when you remove layers {kibana-pull}126786[#126786] -* Fixes an issue that caused {kib} to become unresponsive while generating a PDF report {kibana-pull}124787[#124787] -* Fixes an issue where an unfriendly notification title displays after you create a report {kibana-pull}123607[#123607] - -Security:: -* Fixes styles for "You do not have permission" screen {kibana-pull}129715[#129715] -* Change session expiration to override on app leave behavior {kibana-pull}129384[#129384] - -[[release-notes-8.1.3]] -== {kib} 8.1.3 - -Review the following information about the {kib} 8.1.3 release. - -[float] -[[security-update-v8.1.3]] -=== Security update - -The 8.1.3 release contains a fix to a potential security vulnerability. For more information, check link:https://discuss.elastic.co/t/kibana-7-17-3-and-8-1-3-security-update/302826[Security Announcements]. - -[float] -[[breaking-changes-8.1.3]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.1.3. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[fixes-v8.1.3]] -=== Bug fix -Discover:: -* Fixes toggle table column for classic table {kibana-pull}128603[#128603] - -[[release-notes-8.1.2]] -== {kib} 8.1.2 - -Review the following information about the {kib} 8.1.2 release. - -[float] -[[breaking-changes-8.1.2]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.1.2. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[enhancement-v8.1.2]] -=== Enhancement -Dashboard:: -Improve controls management UX {kibana-pull}127524[#127524] - -[float] -[[fixes-v8.1.2]] -=== Bug fixes -Discover:: -* Fixes toggle table column for classic table {kibana-pull}128603[#128603] -* Fixes selection popover close action without making a selection in Document Explorer {kibana-pull}128124[#128124] - -Elastic Security:: -For the Elastic Security 8.1.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Management:: -Handle scenario when user has no indices {kibana-pull}128066[#128066] - -Monitoring:: -Rename "APM & Fleet Server" to "Integrations Server" {kibana-pull}128574[#128574] - -Platform:: -Fixes KQL typeahead missing description and improve display for long field names {kibana-pull}128480[#128480] - -[[release-notes-8.1.1]] -== {kib} 8.1.1 - -Review the following information about the {kib} 8.1.1 release. - -[float] -[[breaking-changes-8.1.1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.1.1, review the breaking changes, then mitigate the impact to your application. - -There are no breaking changes in {kib} 8.1.1. - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[enhancement-v8.1.1]] -=== Enhancement -Dashboard:: -Improves controls empty state {kibana-pull}125728[#125728] - -[float] -[[fixes-v8.1.1]] -=== Bug fixes -Data ingest:: -The dot expander processor in the Ingest Pipelines UI now allows setting a wildcard (`*`) for the field parameter {kibana-pull}123522[#123522] - -Elastic Security:: -For the Elastic Security 8.1.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.1.1 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Adds a new validation message {kibana-pull}127239[#127239] -* Fixes empty assets on package install {kibana-pull}127070[#127070] -* Hide enroll command when user creates a new agent policy in the Add agent flyout {kibana-pull}126431[#126431] -* Makes input IDs unique in agent policy yaml {kibana-pull}127343[#127343] -* Fixes links to Agent logs for APM, Endpoint, Synthetics, and OSQuery {kibana-pull}127480[#127480] - -[[release-notes-8.1.0]] -== {kib} 8.1.0 - -Review the following information about the {kib} 8.1.0 release. - -[float] -[[breaking-changes-8.1.0]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.1.0, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Removes legacy CSV export type -[%collapsible] -==== -*Details* + -The `/api/reporting/generate/csv` endpoint has been removed. For more information, refer to {kibana-pull}121435[#121435]. - -*Impact* + -If you are using 7.13.0 and earlier, {kibana-ref-all}/8.1/automating-report-generation.html[regenerate the POST URLs] that you use to automatically generate CSV reports. -==== - -[discrete] -.Removes legacy PDF shim -[%collapsible] -==== -*Details* + -The POST URLs that you generated in {kib} 6.2.0 no longer work. For more information, refer to {kibana-pull}121369[#121369]. - -*Impact* + -{kibana-ref-all}/8.1/automating-report-generation.html[Regenerate the POST URLs] that you use to automatatically generate PDF reports. -==== - -To review the breaking changes in previous versions, refer to the following: - -{kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] - -[float] -[[features-8.1.0]] -=== Features -{kib} 8.1.0 adds the following new and notable features. - -Canvas:: -* Adds Heatmap {kibana-pull}120239[#120239] -* Adds the *Filters* panel for element settings {kibana-pull}117270[#117270] and {kibana-pull}116592[#116592] - -Discover:: -* Adds document explorer callout {kibana-pull}123814[#123814] -* Adds ability to create data views from the sidebar {kibana-pull}123391[#123391] -* Adds redirect if there are no data views {kibana-pull}123366[#123366] -* Adds row height options {kibana-pull}122087[#122087] - -Elastic Security:: -For the Elastic Security 8.1.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Lens & Visualizations:: -* Adds the waffle visualization type to *Lens* {kibana-pull}119339[#119339] -* Adds the gauge visualization type to *Lens* {kibana-pull}118616[#118616] -* Adds multi terms support to *Top Values* in *Lens* {kibana-pull}118600[#118600] -* Adds a new heatmap implementation with elastic-charts to *Visualize Library* {kibana-pull}118338[#118338] -* Adds the Mosaic or mekko visualization type to *Lens* {kibana-pull}117668[#117668] -* Adds the ability to configure the Metric visualization type color palette in *Lens* {kibana-pull}116170[#116170] - -Machine Learning:: -* Enable Field statistics table on by default {kibana-pull}124046[#124046] -* Adds grouping to the side nav {kibana-pull}123805[#123805] -* Integration part 1: Create anomalies layer in maps {kibana-pull}122862[#122862] -* Replace navigation bar with a side nav {kibana-pull}121652[#121652] -* Overview page redesign {kibana-pull}120966[#120966] - -Management:: -* Support suggesting index templates v2 {kibana-pull}124655[#124655] -* *Console* now supports autocompletion for index templates and component templates introduced in {es} 7.8.0. -* Transforms: Support to set destination ingest pipeline {kibana-pull}123911[#123911] -* Transforms: Adds reset action to transforms management {kibana-pull}123735[#123735] -* Transforms: Support for terms agg in pivot configurations {kibana-pull}123634[#123634] - -Observability:: -* Adds Tail-based sampling settings {kibana-pull}124025[#124025] -* APM UI changes for serverless services / AWS lambda {kibana-pull}122775[#122775] - -For more information about the features introduced in 8.1.0, refer to <>. - -[[enhancements-and-bug-fixes-v8.1.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.1.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.1.0]] -=== Enhancements -Alerting:: -* Adds P50/95/99 for rule execution duration in the rules table {kibana-pull}123603[#123603] -* Adds dropdown for number of executions in Rule Details view {kibana-pull}122595[#122595] - -Canvas:: -* Adds titles to the heatmap axis {kibana-pull}123992[#123992] -* Adds the esql Monaco editor {kibana-pull}118531[#118531] -* Adds expression `metrisVis` workpad arguments {kibana-pull}114808[#114808] - -Dashboard:: -Adds the ability to always allow internal URLs in *Vega* {kibana-pull}124705[#124705] - -Data ingest:: -Adds the ability to create ingest pipelines from a CSV upload that enables mapping custom data source into ECS {kibana-pull}101216[#101216] - -Discover:: -* Improves the document explorer flyout {kibana-pull}120116[#120116] -* Adds the ability to preserve *Discover* main route state in breadcrumb links {kibana-pull}119838[#119838] -* Adds error state if chart loading fails {kibana-pull}119289[#119289] -* Enable Field statistics table on by default {kibana-pull}124046[#124046] - -Elastic Security:: -For the Elastic Security 8.1.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -* Adds shipper label {kibana-pull}122491[#122491] -* Adds support for non-superuser access to *Fleet* and *Integrations* {kibana-pull}122347[#122347] -* Adds support for bundling packages as zip archives with {kib} source {kibana-pull}122297[#122297] -* Makes the default integration install explicit {kibana-pull}121628[#121628] - -Lens & Visualizations:: -* Addx suport for timefilter/min/max in *Vega* URLs {kibana-pull}124077[#124077] -* The filtered field list now uses field caps API in *Lens* {kibana-pull}122915[#122915] -* Updates the *Lens* empty state copy {kibana-pull}122174[#122174] -* Adds a global filter for formulas in *Lens* {kibana-pull}121768[#121768] -* Adds rare terms in *Lens* {kibana-pull}121500[#121500] -* Adds previous time shift back in *Lens* {kibana-pull}121284[#121284] -* Adds the size ratio setting to pie and donut charts in *Lens* {kibana-pull}120101[#120101] -* Adds multi terms dnd support in *Lens* {kibana-pull}119841[#119841] -* Improves the color stop UI in *Lens* {kibana-pull}119165[#119165] -* Enables table pagination in *Lens* {kibana-pull}118557[#118557] -* Adds support for ephemeral sort to the data table embeddable {kibana-pull}117742[#117742] -* Debounce duplicate error messages in *Vega* {kibana-pull}116408[#116408] -* Replaces EUICodeEditor with Monaco in *Vega* {kibana-pull}116041[#116041] - -Machine Learning:: -* Adds missing document titles {kibana-pull}124125[#124125] -* Synchronize Anomaly charts cursor position for X-axis with *Lens* visualizations in *Dashboard* {kibana-pull}123951[#123951] -* Adds grouping to the side nav {kibana-pull}123805[#123805] -* Adds empty states for the Jobs list pages {kibana-pull}123462[#123462] -* Adds error messages to Index data visualizer and improve distribution charts for fields with low cardinality {kibana-pull}123306[#123306] -* Standardize Add embeddable flow from the Anomaly Explorer page {kibana-pull}123199[#123199] -* Integration part 1: Create anomalies layer in *Maps** {kibana-pull}122862[#122862] -* Adds options to exclude or include frozen data tier for Anomaly detection and Index data visualizer {kibana-pull}122306[#122306] -* Editing semi-structured text fields in grok pattern {kibana-pull}122274[#122274] -* Adds extra search deep links for nodes overview and file upload {kibana-pull}121740[#121740] -* Replace navigation bar with a side nav {kibana-pull}121652[#121652] -* File data visualizer reduce chunk size for slow processors {kibana-pull}121353[#121353] -* Adds ability to save session to Index data visualizer {kibana-pull}121053[#121053] -* Overview page redesign {kibana-pull}120966[#120966] -* Adds *Maps* UI action to Index data visualizer/*Discover* Field statistics {kibana-pull}120846[#120846] -* Adds auto generated drill down link to *Discover* for Anomaly explorer table {kibana-pull}120450[#120450] -* Adds multilayer time axis style to Data visualizer doc count chart {kibana-pull}117398[#117398] - -Management:: -* Transforms: Add call out warning & delete option if a task exists for a transform without a config {kibana-pull}123407[#123407] -* Adds warnings for actions for managed Anomaly detection jobs and Transforms {kibana-pull}122305[#122305] -* Refresh frequency refinements {kibana-pull}122125[#122125] -* Configure refresh frequency {kibana-pull}121874[#121874] -* Geo point field formatter {kibana-pull}121821[#121821] -* Adds links to docs {kibana-pull}121066[#121066] -* Highlight the tutorial example text with console syntax {kibana-pull}120474[#120474] -* Compress mappings response size for autocomplete {kibana-pull}120456[#120456] -* Handle binary data response {kibana-pull}119586[#119586] -* Improve error handling when local storage quota is full {kibana-pull}118495[#118495] -* Error handling {kibana-pull}109233[#109233] - -Maps:: -* Adds Shapefile import {kibana-pull}123764[#123764] -* Should be able to zoom in on selected range of timeslider {kibana-pull}122131[#122131] -* Delete button should be toggleable in Edit Features {kibana-pull}122017[#122017] -* Change "show as" from EuiSelect to EuiButtonGroup {kibana-pull}121960[#121960] -* Format counts {kibana-pull}119646[#119646] -* Convert maki icons to SDF sprites on-the-fly {kibana-pull}119245[#119245] -* Convert HeatmapLayer to vector tiles and add support for high resolution grids {kibana-pull}119070[#119070] -* Make the icon for max results limit more evident {kibana-pull}118044[#118044] -* Enable on-prem for *Vega* {kibana-pull}104422[#104422] - -Monitoring:: -Compatibility for agent data streams {kibana-pull}119112[#119112] - -Observability:: -* Adds Tail-based sampling settings {kibana-pull}124025[#124025] -* UI Monitor Management - Add namespace field {kibana-pull}123248[#123248] -* Default alert connectors email settings {kibana-pull}123244[#123244] -* Only show span.sync badge when relevant {kibana-pull}123038[#123038] -* Optimize waffle map {kibana-pull}122889[#122889] -* APM UI changes for serverless services / AWS lambda {kibana-pull}122775[#122775] -* Update the style of the service/backend info icons in the selected service/backend header {kibana-pull}122587[#122587] -* Adds basic infra metrics config {kibana-pull}120881[#120881] -* Adds comparision to service maps popover {kibana-pull}120839[#120839] -* Link originating service in traces list table {kibana-pull}120768[#120768] -* Prefer `service.name` for logs correlation {kibana-pull}120694[#120694] -* Query numerator & denominator simultaneously for log threshold alerts {kibana-pull}107566[#107566] - -Operations:: -Improves the file logging capabilities so that missing directories in the configured file path are now created before {kib} attempts to write to the file {kibana-pull}117666[#117666] - -Platform:: -* Add a new `elasticsearch.compression` configuration property to enable compression for communications between {kib} and {es} {kibana-pull}124009[#124009] -* Adds support of comments {kibana-pull}122457[#122457] -* Adds support for PNG and PDF reports on Darwin Arm64 architecture {kibana-pull}122057[#122057] -* Short URL client is now accessible on the frontend through plugin contract. *Dashboard* and *Discover* shared short URLs now contain a three word, human-readable slug {kibana-pull}121886[#121886] -* Adds the ability to add URL drilldowns to *Dashboard* panels {kibana-pull}121801[#121801] -* Adds a new structure to the report details flyout to help you find information faster {kibana-pull}120617[#120617] -* Adds HTML tag and impact level to axe-core CI violation reporter {kibana-pull}119903[#119903] -* Exposes {es} accuracy warnings to the user {kibana-pull}116632[#116632] - -Querying & Filtering:: -Improves the version field type {kibana-pull}123739[#123739] - -Security:: -* Audit logs now include records for individual saved objects when an entire space is deleted {kibana-pull}124145[#124145] -* User login audit events now include the session ID for better correlation, and single sign-on flows no longer result in an extra `user_logout` event {kibana-pull}124299[#124299] - -[float] -[[fixes-v8.1.0]] -=== Bug fixes -Alerting:: -* Fixes the pagination results for fetching existing alerts {kibana-pull}122474[#122474] -* Running disabled rules are now skipped {kibana-pull}119239[#119239] - -Canvas:: -* Fixes an issue where the image repeat element was not updating {kibana-pull}118701[#118701] -* Fixes an issue where *Canvas* validated values before saving variables {kibana-pull}118694[#118694] - -Dashboard:: -Adds the listing page callout when new dashboards are in progress {kibana-pull}117237[#117237] - -Discover:: -* Adds the ability to close the expanded document sidebar when you change data views {kibana-pull}119736[#119736] -* Fixes search on page load tests {kibana-pull}119087[#119087] - -Elastic Security:: -For the Elastic Security 8.1.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Enterprise Search:: -For the Elastic Enterprise Search 8.1.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. - -Fleet:: -* Readded missing packages to keep up to date list {kibana-pull}125787[#125787] -* Trimmed whitespace from package policy names {kibana-pull}125400[#125400] - -Lens & Visualizations:: -* Fixes some dashboard visualizations that could show "Could not located index pattern" errors when copied from one space to another {kibana-pull}126499[#126499] -* Rarity is not allowed in some cases in *Lens* {kibana-pull}125523[#125523] -* Fixes formatting logic for terms in *Lens* {kibana-pull}125408[#125408] -* Fixes focus on submitting filter popover in *Lens* {kibana-pull}125247[#125247] -* Fixes agg filter for sibling pipeline aggs {kibana-pull}125227[#125227] -* Panel intervals are now used for annotations in *TSVB* {kibana-pull}125222[#125222] -* Outdated inspector data is now hidden in *Vega* {kibana-pull}125051[#125051] -* *Vega* visualizations are no longer missing in sample data reports {kibana-pull}124886[#124886] -* Lucene queries on dashboards are now accepted on annotations and tables in *TSVB* {kibana-pull}124802[#124802] -* Top values now work for custom numeric formatters in *Lens* {kibana-pull}124566[#124566] -* Coloring tooltip in Heatmap is now working for `">= n"` values in *Visualize Library* {kibana-pull}124521[#124521] -* Fixes a metric contrast issue in *TSVB* {kibana-pull}124509[#124509] -* Do not refresh session on "now" drift on incoming data in *Lens* {kibana-pull}124389[#124389] -* Coloring tooltips in Pie are not properly positioned in *Visualize* {kibana-pull}124330[#124330] -* Label placeholder always defaults to the lens proposed text in *Lens* {kibana-pull}124222[#124222] -* Show warning for completely static formula in *Lens* {kibana-pull}124213[#124213] -* Adds step value to make Safari validation work properly in *Lens* {kibana-pull}124210[#124210] -* Guard against parse failures in *Visualize* {kibana-pull}124209[#124209] -* Fixes heatmap suggestions in *Lens* {kibana-pull}124099[#124099] -* Fixes the percentage format for percentiles series {kibana-pull}124098[#124098] -* Displays custom bounds error for right axis when lower bound is above 0 in *Lens* {kibana-pull}124037[#124037] -* Clicking a series agg timeseries chart split by terms should not create a filter in *TSVB* {kibana-pull}124031[#124031] -* Save default data view in *TSVB* {kibana-pull}123997[#123997] -* Switch default bar width to 0px in *TSVB* {kibana-pull}123926[#123926] -* Formatting in the left axis is not respected when I have two separate axis in *TSVB* {kibana-pull}123903[#123903] -* Fixes series containing colon in *TSVB* {kibana-pull}123897[#123897] -* Fixes records field name and migrate in *Lens* {kibana-pull}123894[#123894] -* Hides ticks on the y axis for layers with the same format and different template in *TSVB* {kibana-pull}123598[#123598] -* Various fixes for Lens embeddables in *Lens* {kibana-pull}123587[#123587] -* Make sure session is updated and passed to the embeddable in *Visualize* {kibana-pull}123538[#123538] -* Fixes time range issue on save in *Lens* {kibana-pull}123536[#123536] -* Report override data views to the dashboard in *TSVB* {kibana-pull}123530[#123530] -* Handle ignore daylight time correctly and fix shift problem in *TSVB* {kibana-pull}123398[#123398] -* AggConfigs: Make base id check more stable {kibana-pull}123367[#123367] -* TSVB fix flickering {kibana-pull}122921[#122921] -* Hide tooltips while dragging dimensions in *Lens* {kibana-pull}122198[#122198] -* Make sure saved search id is carried over to saved object {kibana-pull}121082[#121082] -* Paginate through index patterns {kibana-pull}120972[#120972] -* Show generic error for invalid time shift string in *Lens* {kibana-pull}120077[#120077] -* Improves column type detection in table for alignment in *Lens* {kibana-pull}120007[#120007] -* Fixes the broken "aggregate function" in *TSVB* table {kibana-pull}119967[#119967] -* Hide fit from suggestions in *Timelion* {kibana-pull}119568[#119568] -* Match visualization type to first series type when available {kibana-pull}119377[#119377] -* Timelion & vega apply dataview from first filter in *Vega* {kibana-pull}119209[#119209] -* Reset filter state whenever group-by changed in *TSVB* {kibana-pull}118953[#118953] -* Prevent KQL Popovers From Stacking in *Lens* {kibana-pull}118258[#118258] -* Improves outside label placement for pie/donut charts in *Lens* {kibana-pull}115966[#115966] - -Machine Learning:: -* Fixes permission check for 'View examples' link from Anomaly detection explorer page {kibana-pull}125090[#125090] -* Fixes auto-refresh interval {kibana-pull}124851[#124851] -* Fixes permission check for Discover/data view redirect from Anomaly detection explorer page {kibana-pull}124408[#124408] -* Fixes breadcrumbs inconsistencies and titles capitalisation {kibana-pull}123019[#123019] - -Management:: -* Update painless antlr grammar for fields API $-syntax {kibana-pull}125818[#125818] -* Adds permission check for 'Set as default data view' button on data view detail page {kibana-pull}124897[#124897] -* In *Index Management*, index details now display previously missing values for the number of deleted documents and the primary storage size {kibana-pull}124731[#124731] -* Transforms: Fix retention policy reset {kibana-pull}124698[#124698] -* Transforms: Fix sort on field names containing dots not applied in wizard preview grid {kibana-pull}124587[#124587] -* Transforms: Fix refresh when transform list is filtered {kibana-pull}124267[#124267] -* Fixes autocomplete inserting comma in triple quotes {kibana-pull}123572[#123572] -* Encode pathname {kibana-pull}122080[#122080] -* Autocomplete missing comma on correct location {kibana-pull}121611[#121611] -* Fixes wrong values in field format editor; fix wrong value formatting in field preview {kibana-pull}121300[#121300] -* Fixes autocomplete suggestions for lowercase methods and other related bug {kibana-pull}121033[#121033] -* Fixes autocomplete suggestions for repository of type `fs` (typo) {kibana-pull}120775[#120775] -* Fixes editor error while adding second request {kibana-pull}120593[#120593] -* Dev Tools Console: Expose the error_trace parameter for completion {kibana-pull}120290[#120290] -* Auto complete for script suggests deprecated query type {kibana-pull}120283[#120283] -* Fixes "Expected one of GET/POST/PUT/DELETE/HEAD" for lowercase methods {kibana-pull}120209[#120209] -* Make the Define script label non clickable {kibana-pull}119947[#119947] -* Fixes error markers in editor output {kibana-pull}119831[#119831] -* Change suggestions for Sampler and Diversified sampler aggregations {kibana-pull}119355[#119355] -* Adds Autocompletion for boxplot aggregation in Kibana Dev tools {kibana-pull}117024[#117024] -* Adds overrides for request parameters for Logstash PUT Pipeline API {kibana-pull}116450[#116450] -* @timestamp as default for timestamp field name in index pattern {kibana-pull}116126[#116126] - -Maps:: -* Fixes vector tile URL not properly encoded {kibana-pull}126208[#126208] -* Allows feature editing with vector tile scaling {kibana-pull}123409[#123409] -* Fixes Error rendering cluster layer of geoshape documents styled by category {kibana-pull}123308[#123308] -* Fetch geometry from fields API {kibana-pull}122431[#122431] -* Fixes vector tile double counting geo_shapes that cross tile boundaries {kibana-pull}121703[#121703] -* Refactor map telemetry to incrementally calculate usage stats {kibana-pull}121467[#121467] -* Fixes creating filter from array fields {kibana-pull}119548[#119548] - -Monitoring:: -* Stronger typing for monitoring configs {kibana-pull}125467[#125467] -* Fixes Alerts and Rules menu persisting to other apps {kibana-pull}124291[#124291] -* Fixes Logstash Pipeline hover timestamp isn't visible {kibana-pull}123091[#123091] -* Fixes date picker range options {kibana-pull}121295[#121295] - -Observability:: -* Set display names for columns and fix reason message {kibana-pull}124570[#124570] -* Rename Backend to Dependency {kibana-pull}124067[#124067] -* Enable parseTechnicalFields to accept partial alert documents {kibana-pull}123983[#123983] -* Include error documents in fallback query for services {kibana-pull}123554[#123554] -* Rewrite the data fetching for Inventory Threshold rule {kibana-pull}123095[#123095] -* Optimizations for Inventory Threshold Alerts {kibana-pull}122460[#122460] -* Increase composite size to 10K for Metric Threshold Rule and optimize processing {kibana-pull}121904[#121904] -* Fixes missing EUI theme in context {kibana-pull}121796[#121796] -* Rename alerting types in triggers_actions_ui {kibana-pull}121107[#121107] -* Fixes loading message for correlations table {kibana-pull}120921[#120921] -* Prefer host.name over host.hostname {kibana-pull}119952[#119952] - -Platform:: -* Improve `bfetch` error handling {kibana-pull}123455[#123455] -* Fixes a CSV export Reporting issue where expensive queries were used to collect the data when they were not needed {kibana-pull}123412[#123412] -* Fixes URL drilldown placeholder text and add placeholder capability to Monaco {kibana-pull}121420[#121420] -* Consider expired tasks invalid {kibana-pull}119664[#119664] -* `columns`. Fixes Bugs caused by using name instead of ID {kibana-pull}118470[#118470] - -Security:: -User login audit events now include the session ID for better correlation, and single sign-on flows no longer result in an extra `user_logout` event {kibana-pull}124299[#124299] - -[[release-notes-8.0.0]] -== {kib} 8.0.0 - -Review the {kib} 8.0.0 changes, then use the {kibana-ref-all}/7.17/upgrade-assistant.html[Upgrade Assistant] to complete the upgrade. - -[float] -[[breaking-changes-8.0.0]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade to 8.0.0, review the breaking change, then mitigate the impact to your application. - -[discrete] -.Removes the `console.ssl` setting -[%collapsible] -==== -*Details* + -The `console.ssl` setting has been removed. For more information, refer to {kibana-pull}123754[#123754]. - -*Impact* + -Before you upgrade to 8.0.0, remove `console.ssl` from kibana.yml. -==== - -To review the breaking changes in previous versions, refer to the following: - -<> | <> | <> | <> | -<> - -[float] -[[deprecations-8.0.0]] -=== Deprecation - -The following functionality is deprecated in 8.0.0, and will be removed in 9.0.0. -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend -you make the necessary updates after you upgrade to 8.0.0. - -[discrete] -[[deprecation-123229]] -.Removes support for `monitoring.cluster_alerts.allowedSpaces` -[%collapsible] -==== -*Details* + -The `monitoring.cluster_alerts.allowedSpaces` setting, which {kib} uses to create Stack Monitoring alerts, has been removed. For more information, refer to {kibana-pull}123229[#123229]. - -*Impact* + -Before you upgrade to 8.0.0, remove `monitoring.cluster_alerts.allowedSpaces` from kibana.yml. -==== - -To review the deprecations in previous versions, refer to the following: - -<> | <> - -[float] -[[known-issue-8.0.0]] -=== Known issue - -[discrete] -[[known-issue-123550]] -.Importing and copying saved objects causes weak links to break -[%collapsible] -==== -*Details* + -{kib} supports weak links in some saved objects. For example, a dashboard may include a Markdown panel that contains a relative URL to -another dashboard. Weak links are defined by free text, _not_ the saved object's relationships, and can break if **both** of the following -conditions are true: - -* You are importing saved objects into multiple spaces, _OR_ you are copying saved objects into another space -* Before you upgraded to 8.0.0, the saved objects did not already exist in the destinations - -In 8.0.0 and later, weak links break because <>. -This applies to both the UI and the API. -For more information, refer to {kibana-issue}123550[#123550]. - -*Impact* + -Saved objects in 7.x that are migrated during upgrade are **not** impacted. -Only _new_ saved objects that are imported or copied _multiple times_ (causing object IDs to change) are impacted. -If you are impacted, you can re-import or re-copy your saved objects after the fix is -implemented to preserve the weak links. -==== - -[float] -[[features-8.0.0]] -=== Features -For information about the features introduced in 8.0.0, refer to <>. - -Elastic Security:: -For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -To review the features in previous versions, refer to the following: - -<> | <> | <> | <> - -[[enhancements-and-bug-fixes-v8.0.0]] -=== Enhancements and bug fixes - -For detailed information about the 8.0.0 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.0.0]] -==== Enhancements -Dashboard:: -Clone ReferenceOrValueEmbeddables by value {kibana-pull}122199[#122199] - -Elastic Security:: -For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -[float] -[[fixes-v8.0.0]] -==== Bug fixes -APM:: -Restrict aggregated transaction metrics search to date range {kibana-pull}123445[#123445] - -Elastic Security:: -For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -Fleet:: -Allow empty strings for required text fields in package policies {kibana-pull}123610[#123610] - -Maps:: -Fixes Label border color is not removed from legend when disabled {kibana-pull}122705[#122705] - -Monitoring:: -Ensure logstash getNodes always contains a uuid {kibana-pull}124201[#124201] - -Security:: -Long-running requests no longer cause sporadic logouts in certain cases, even when user sessions are active {kibana-pull}122155[#122155] - -[[release-notes-8.0.0-rc2]] -== {kib} 8.0.0-rc2 - -For information about the {kib} 8.0.0-rc2 release, review the following information. - -[float] -[[breaking-changes-8.0.0-rc2]] -=== Breaking change - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking change, then mitigate the impact to your application. - -[discrete] -.Removes the ability to use `elasticsearch.username: elastic` in production -[%collapsible] -==== -*Details* + -In production, you are no longer able to use the `elastic` superuser to authenticate to {es}. For more information, refer to {kibana-pull}122722[#122722]. - -*Impact* + -When you configure `elasticsearch.username: elastic`, {kib} fails. -==== - -To review the breaking changes in previous versions, refer to the following: - -<> | <> | <> | -<> - -[float] -[[features-8.0.0-rc2]] -=== Features -{kib} 8.0.0-rc2 adds the following new and notable features. - -Dashboard:: -Dashboard Integration {kibana-pull}115991[#115991] -Elastic Security:: -For the Elastic Security 8.0.0-rc2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Monitoring:: -Enterprise Search Stack Monitoring {kibana-pull}114303[#114303] -Observability:: -* Adds Agent Keys in APM settings - Create agent keys {kibana-pull}120373[#120373] -* Adds Agent Keys in APM settings - Agent key table {kibana-pull}119543[#119543] -* Allows users to set Download Speed, Upload Speed, and Latency for their synthetic monitors in Uptime {kibana-pull}118594[#118594] -Platform:: -Changes saved objects management inspect view to a read-only JSON view of the whole saved object {kibana-pull}112034[#112034] - -[[enhancements-and-bug-fixes-v8.0.0-rc2]] -=== Enhancements and bug fixes - -For detailed information about the 8.0.0-rc2 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.0.0-rc2]] -==== Enhancements -Elastic Security:: -For the Elastic Security 8.0.0-rc2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Security:: -Adds session cleanup audit logging {kibana-pull}122419[#122419] -Observability:: -Make a monitor's steps details page work on mobile resolutions in Uptime {kibana-pull}122171[#122171] - -[float] -[[fixes-v8.0.0-rc2]] -==== Bug fixes -Alerting:: -Fixes PagerDuty timestamp validation {kibana-pull}122321[#122321] -Dashboard:: -* Creates Explicit Diffing System {kibana-pull}121241[#121241] -* Fixes blank panel save and display issue {kibana-pull}120815[#120815] -* Fixes full screen error when pressing back arrow on browser {kibana-pull}118113[#118113] -Elastic Security:: -For the Elastic Security 8.0.0-rc2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Maps:: -* Fixes Point to point and Tracks layers label properties not showing in the legend {kibana-pull}122993[#122993] -* Fixes Color ramp UI for percent of a top term in join layer is broken {kibana-pull}122718[#122718] -Observability:: -* Updates index pattern permission error in APM {kibana-pull}122680[#122680] -* Honor time unit for Inventory Threshold in Metrics {kibana-pull}122294[#122294] -* Adds locator to aid other plugins in linking properly to Uptime {kibana-pull}123004[#123004] -* Fixes a bug in which headers would be incorrectly centered on desktop in Uptime {kibana-pull}122643[#122643] - -[[release-notes-8.0.0-rc1]] -== {kib} 8.0.0-rc1 - -Review the {kib} 8.0.0-rc1 changes, then use the <> to complete the upgrade. - -[float] -[[breaking-changes-8.0.0-rc1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. -Before you upgrade, review the breaking changes, then mitigate the impact to your application. - -[discrete] -.Splits package policy `upgrade` endpoint for Fleet -[%collapsible] -==== -*Details* + -For package policy upgrades, the packagePolicy `upgrade` endpoint format supports a mutative upgrade operation (when `dryRun: false`) and a read-only dry run operation (when `dryRun: true`): - -[source,text] --- - POST /package_policies/upgrade - { - packagePolicyIds: [...], - dryRun: false - } --- - -For more information, refer to {kibana-pull}118854[#118854]. - -*Impact* + -The endpoint is now split into two separate endpoints: - -[source,text] --- - POST /package_policies/upgrade - { - packagePolicyIds: [...] - } - - POST /package_policies/upgrade/dry_run - { - packagePolicyIds: [...] - } --- -==== - -[discrete] -.Removes APM jobs from Machine Learning -[%collapsible] -==== -*Details* + -APM Node.js and RUM JavaScript anomaly detection job modules have been removed. For more information, refer to {kibana-pull}119945[#119945]. - -*Impact* + -When you upgrade to 8.0.0, you are unable to create and view the APM Node.js and RUM JavaScript jobs in Machine Learning. -==== - -[discrete] -.Fails migrations for unknown types -[%collapsible] -==== -*Details* + -Unknown saved object types now cause {kib} migrations to fail. For more information, refer to {kibana-issue}107678[#107678]. - -*Impact* + -To complete the migration, re enable plugins or delete documents from the index in the previous version. -==== - -[discrete] -.Removes deprecated config fields from Logs and Metrics APIs and saved objects -[%collapsible] -==== -*Details* + -On the Logs and Metrics UIs, references to the following API and saved object deprecated fields have been removed: - -* `timestamp` -* `tiebreaker` -* `container` -* `pod` -* `host` - -For more information, refer to {kibana-pull}116821[#116821] and {kibana-pull}115874[#115874]. - -*Impact* + -When you upgrade to 8.0.0, you are unable to use references to the deprecated fields. -==== - -To review the breaking changes in previous versions, refer to the following: - -<> | <> | -<> - -[float] -[[deprecations-8.0.0-rc1]] -=== Deprecations - -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend you make the necessary updates after you complete the upgrade. - -[discrete] -.Renames the `autocreate` data view APM setting -[%collapsible] -==== -*Details* + -The `xpack.apm.autocreateApmIndexPattern` APM setting has been removed. For more information, refer to {kibana-pull}120689[#120689]. - -*Impact* + -To automatically create data views in APM, use `xpack.apm.autoCreateApmDataView`. -==== - -[discrete] -.Updates Fleet API to improve consistency -[%collapsible] -==== -*Details* + -The Fleet API has been updated to improve consistency: - -* Hyphens are changed to underscores in some names. -* The `pkgkey` path parameter in the packages endpoint is split. -* The `response` and `list` properties are renamed to `items` or `item` in some -responses. - -For more information, refer to {kibana-pull}119494[#119494]. - -*Impact* + -When you upgrade to 8.0.0, use the following API changes: - -* Use `enrollment_api_keys` instead of `enrollment-api-keys`. - -* Use `agent_status` instead of `agent-status`. - -* Use `service_tokens` instead of `service-tokens`. - -* Use `/epm/packages/{packageName}/{version}` instead of `/epm/packages/{pkgkey}`. - -* Use `items[]` instead of `response[]` in: -+ -[source,text] --- -/api/fleet/enrollment_api_keys -/api/fleet/agents -/epm/packages/ -/epm/categories -/epm/packages/_bulk -/epm/packages/limited -/epm/packages/{packageName}/{version} <1> --- -<1> Use `items[]` when the verb is `POST` or `DELETE`. Use `item` when the verb -is `GET` or `PUT`. - -For more information, refer to {fleet-guide}/fleet-api-docs.html[Fleet APIs]. - -==== - -To review the deprecations in previous versions, refer to the <>. - - -[float] -[[features-8.0.0-rc1]] -=== Features -{kib} 8.0.0-rc1 adds the following new and notable features. - -Elastic Security:: -For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Management:: -Display managed badge for transforms {kibana-pull}117679[#117679] -Monitoring:: -Enterprise Search Stack Monitoring {kibana-pull}114303[#114303] -Observability:: -* Adds ability to create agent keys in APM settings {kibana-pull}120373[#120373] -* Adds Agent key table in APM settings {kibana-pull}119543[#119543] -* Allows users to set Download Speed, Upload Speed, and Latency for their synthetic monitors {kibana-pull}118594[#118594] - -[[enhancements-and-bug-fixes-v8.0.0-rc1]] -=== Enhancements and bug fixes - -For detailed information about the 8.0.0-rc1 release, review the enhancements and bug fixes. - -[float] -[[enhancement-v8.0.0-rc1]] -=== Enhancements -Canvas:: -Reverts By-Value Embeddables {kibana-pull}117613[#117613] -Discover:: -Adds multi-layer time axis for opt-out only {kibana-pull}115853[#115853] -Elastic Security:: -For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -Adds consistent `_meta` property to all Fleet ES assets {kibana-pull}119380[#119380] -Kibana Home & Add Data:: -Moves overview page and link to the accordion solution title {kibana-pull}114018[#114018] -Lens & Visualizations:: -* Handle removal of deprecated date histogram interval in *Vega* {kibana-pull}109090[#109090] -* Adds value labels to Heatmap in *Lens* {kibana-pull}106406[#106406] -Machine Learning:: -* Adds support for `force` stop deployment {kibana-pull}118563[#118563] -* Refactors data view loading to remove unnecessary searches {kibana-pull}116455[#116455] -Observability:: -* Service Maps: Adds sparklines to the detail popover {kibana-pull}120021[#120021] -* Offer users upgrade to multi-metric job {kibana-pull}119980[#119980] -* Display relevant anomalies from multi-metric job {kibana-pull}119709[#119709] -* Adds service icon for the originating service in traces table {kibana-pull}119421[#119421] -* Auto attachment for java agent beta in APM integration settings {kibana-pull}119131[#119131] -* Errors: Enhancements to the Errors list page (part II) {kibana-pull}118878[#118878] -* Store Alerts View table state in localStorage {kibana-pull}118207[#118207] -* Handle other values popup when correlated value is not in top 10 {kibana-pull}118069[#118069] -* Adds links to navigate from alerts table to rule {kibana-pull}118035[#118035] -* Reinstates ML multi-metric job {kibana-pull}117836[#117836] -* Re-enables metric-based UI {kibana-pull}117021[#117021] -* Make Alerts page use shared {kib} time range {kibana-pull}115192[#115192] -* Adds enabled toggle {kibana-pull}119994[#119994] -* Adds missing tooltip to the report metric badge in *Exploratory View* {kibana-pull}119940[#119940] -* Adds step duration in step list {kibana-pull}116266[#116266] -Platform:: -Moves developer architecture docs to user docs {kibana-pull}119125[#119125] -Reporting:: -* Decouples screenshotting plugin from the reporting {kibana-pull}120110[#120110] -* Updates the design of the *Reports* management UI, including the addition of a link to {kib} app where the report was generated {kibana-pull}111412[#111412] -Security:: -Adds ability to clone role mappings {kibana-pull}118434[#118434] -Adds user logout audit events {kibana-pull}121455[#121455] - -[float] -[[fixes-v8.0.0-rc1]] -=== Bug fixes -Canvas:: -* Fixes Error overflow {kibana-pull}122158[#122158] -* Fixes expression input {kibana-pull}121490[#121490] -* Hides edit menu when in view-only mode {kibana-pull}118779[#118779] -Dashboard:: -* Allow text wrapping for panel titles and dashboard descriptions for PDF generation {kibana-pull}121360[#121360] -* Page now resets to zero when rows per page is changed on *Add from Library* window {kibana-pull}118627[#118627] -* Fixes full screen error when pressing back arrow in browser {kibana-pull}118113[#118113] -Elastic Security:: -For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Fleet:: -* Adds `installed_kibana_space_id` to `epm-packages` saved objects {kibana-pull}120517[#120517] -* Handle Saved Object ID changes {kibana-pull}119527[#119527] -* Fixes upgradeable agents filter {kibana-pull}119338[#119338] -Lens & Visualizations:: -* Enables normal mode for percentage charts in *Lens* {kibana-pull}120197[#120197] -* Fixes existing fields query for epoch_millis dates in *Lens* {kibana-pull}119508[#119508] -* Include frozen indices in *Lens* {kibana-pull}118555[#118555] -* Fixes focus on legend action popovers in *Lens* {kibana-pull}115066[#115066] -Machine Learning:: -* Fixes data view search based on title {kibana-pull}120737[#120737] -* Data frame analytics wizard: Only allow data view creation if job will be started immediately {kibana-pull}120042[#120042] -* Fixes anomaly detection module manifest queries to ignore frozen and cold data tiers {kibana-pull}119635[#119635] -* Catches syntax error in job wizard editor {kibana-pull}119457[#119457] -* Fixes error handling for missing data view in data frame analytics wizard {kibana-pull}119455[#119455] -* Ensures auto refresh interval is used in Data Frame Analytics list {kibana-pull}117959[#117959] -* Ignores frozen indices in data recognizer {kibana-pull}117208[#117208] -Management:: -* Fixes data grid column actions button when histogram charts are visible {kibana-pull}120202[#120202] -* Disables delete data view for data frame analytics and transforms wizards {kibana-pull}119732[#119732] -* Check {kib} capabilities for all saving, editing, and deleting {kibana-pull}118480[#118480] -* Adds autocomplete for search_after and pit in search query {kibana-pull}117864[#117864] -* Autocomplete for t_test aggregation {kibana-pull}117782[#117782] -* Disables create data view for data frame analytics and transforms wizards {kibana-pull}117690[#117690] -Maps:: -* Fixes an issue where drawings do not show when there is a global filter {kibana-pull}121239[#121239] -* Use minimum symbol size if meta is not loaded {kibana-pull}119119[#119119] -* Do not fail migration when JSON.parse fails {kibana-pull}117342[#117342] -* Do not allow label overlap {kibana-pull}116190[#116190] -Monitoring:: -Correct linear regression formula {kibana-pull}120222[#120222] -Observability:: -* Renames alerting types in Infra {kibana-pull}121061[#121061] -* Renames occurrences of `alert_type` to `rule_type` in Infra {kibana-pull}120455[#120455] -* Fixes failing alerts table pagination functional tests {kibana-pull}119985[#119985] -* Switch to _source for updating documents instead of fields API {kibana-pull}118245[#118245] -* Fixes an issue where search terms with certain characters caused the APM UI to crash {kibana-pull}118063[#118063] -* Ignore unavailable indices for ML jobs {kibana-pull}117632[#117632] -* Disables the actions button when users have inadequate privileges {kibana-pull}117488[#117488] -* Replaces manual rate calculation with `rate` agg {kibana-pull}115651[#115651] -* Adds migration to fix incorrect action group spelling {kibana-pull}119626[#119626] -* Fixes bug with manage views button {kibana-pull}118547[#118547] -* Disables No Data checkboxes for doc count alerts {kibana-pull}117194[#117194] -* Prevent event propagation on step_duration {kibana-pull}122039[#122039] -* Disables the button to create alerts in Uptime when users do not have permissions to do so {kibana-pull}120379[#120379] -* Fixes a bug that prevented users from saving Uptime configurations when the `inspect` option was turned on {kibana-pull}119142[#119142] -* Adds a callout to informs users that they do not have permissions to create ML jobs for Uptime monitors {kibana-pull}117684[#117684] -Platform:: -Fixes font glitches in code editor {kibana-pull}121392[#121392] -Reporting:: -Fixes an issue where PDF and PNG reports break on Windows operating systems when the {kib} server hostname is `0.0.0.0` {kibana-pull}117022[#117022] - -[[release-notes-8.0.0-beta1]] -== {kib} 8.0.0-beta1 - -Review the {kib} 8.0.0-beta1 changes, then use the <> to complete the upgrade. - -[float] -[[breaking-changes-8.0.0-beta1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. Review the following breaking changes, then mitigate the impact to your application. - -To review the breaking changes in previous versions, refer to the following: - -<> | <> - -[float] -[[alerting-breaking-changes-8.0.0-beta1]] -==== Alerting - -[discrete] -.Removes `xpack.task_manager.index` -[%collapsible] -==== -*Details* + -The `xpack.task_manager.index` setting has been removed. For more information, refer to {kibana-pull}114558[#114558]. - -*Impact* + -Before you upgrade to 8.0.0, remove `xpack.task_manager.index` from kibana.yml. -==== - -[discrete] -.Removes ability to remove plugins -[%collapsible] -==== -*Details* + -The `xpack.actions.enabled` setting has been removed. For more information, refer to {kibana-pull}113461[#113461]. - -*Impact* + -Before you upgrade to 8.0.0, remove `xpack.actions.enabled` from kibana.yml. -==== - -[float] -[[lens-visualizations-breaking-changes-8.0.0-beta1]] -==== Lens & visualizations - -[discrete] -.Removes display options from legacy gauge -[%collapsible] -==== -*Details* + -The *Display warnings* option has been removed from the aggregation-based gauge visualization. For more information, refer to {kibana-pull}113516[#113516]. - -*Impact* + -When you create aggregation-based gauge visualizations, the *Display warnings* option is no longer available in *Options > Labels*. -==== - -[discrete] -.Removes settings from visEditors plugins -[%collapsible] -==== -*Details* + -The following deprecated visEditors plugin settings have been removed: - -* `metric_vis.enabled` -* `table_vis.enabled` -* `tagcloud.enabled` -* `metrics.enabled` -* `metrics.chartResolution` -* `chartResolution` -* `metrics.minimumBucketSize` -* `minimumBucketSize` -* `vega.enabled` -* `vega.enableExternalUrls` -* `vis_type_table.legacyVisEnabled` -* `timelion_vis.enabled` -* `timelion.enabled` -* `timelion.graphiteUrls` -* `timelion.ui.enabled` - -For more information, refer to {kibana-pull}112643[#112643]. - -*Impact* + -Before you upgrade, make the following changes in kibana.yml: - -* Replace `metric_vis.enabled` with `vis_type_metric.enabled` -* Replace `table_vis.enabled` with `vis_type_table.enabled` -* Replace `tagcloud.enabled` with `vis_type_tagcloud.enabled` -* Replace `metrics.enabled` with `vis_type_timeseries.enabled` -* Replace `metrics.chartResolution` and `chartResolution` with `vis_type_timeseries.chartResolution` -* Replace `metrics.minimumBucketSize` and `minimumBucketSize` with `vis_type_timeseries.minimumBucketSize` -* Replace `vega.enabled` with `vis_type_vega.enabled` -* Replace `vega.enableExternalUrls` with `vis_type_vega.enableExternalUrls` -* Remove `vis_type_table.legacyVisEnabled` -* Replace `timelion_vis.enabled` with `vis_type_timelion.enabled` -* Replace `timelion.enabled` with `vis_type_timelion.enabled` -* Replace `timelion.graphiteUrls` with `vis_type_timelion.graphiteUrls` -* Remove `timelion.ui.enabled` - -==== - -[discrete] -.Removes dimming opacity setting -[%collapsible] -==== -*Details* + -The *Dimming opacity* setting in *Advanced Settings* has been removed. For more information, refer to {kibana-pull}111704[#111704]. - -*Impact* + -When you upgrade to 8.0.0, you are no longer able to configure the dimming opactiy for visualizations. -==== - -[discrete] -.Removes Less stylesheet support -[%collapsible] -==== -*Details* + -In *TSVB*, custom Less stylesheets have been removed. For more information, refer to {kibana-pull}110985[#110985]. - -*Impact* + -Existing less stylesheets are automatically converted to CSS stylesheets. -==== - -[discrete] -.Disables the input string mode -[%collapsible] -==== -*Details* + -In *TSVB*, the *Index pattern selection mode* option has been removed. For more information, refer to {kibana-pull}110571[#110571]. - -*Impact* + -To use index patterns and {es} indices in *TSVB* visualizations: - -. Open the main menu, then click *Stack Management > Advanced Settings*. - -. Select *Allow string indices in TSVB*. - -. Click *Save changes*. -==== - -[float] -[[logs-breaking-changes-8.0.0-beta1]] -==== Logs - -[discrete] -.Removes deprecated alias config entries -[%collapsible] -==== -*Details* + -The deprecated `xpack.infra.sources.default.logAlias` and `xpack.infra.sources.default.logAlias` settings have been removed. For more information, refer to {kibana-pull}115974[#115974]. - -*Impact* + -Before you upgrade, remove the settings from kibana.yml, then configure the settings in <>. -==== - -[discrete] -.Removes configurable fields in settings -[%collapsible] -==== -*Details* + -The *Logs* and *Metrics* configurable fields settings have been removed. For more information, refer to {kibana-pull}61302[#61302]. - -*Impact* + -Configure the settings in https://www.elastic.co/guide/en/ecs/current/ecs-reference.html[ECS]. -==== - -[float] -[[machine-learning-breaking-changes-8.0.0-beta1]] -==== Machine learning - -[discrete] -.Grants access to machine learning features when base privileges are used -[%collapsible] -==== -*Details* + -Machine learning features are included as base privileges. For more information, refer to {kibana-pull}115444[#115444]. - -*Impact* + -If you do not want to grant users privileges to machine learning features, update <>. -==== - -[float] -[[maps-breaking-changes-8.0.0-beta1]] -==== Maps - -[discrete] -.Removes proxyElasticMapsServiceInMaps -[%collapsible] -==== -*Details* + -The `map.proxyElasticMapsServiceInMaps` setting has been removed. For more information, refer to {kibana-pull}116184[#116184]. - -*Impact* + -Install the on-prem version of the <>, which is a Docker service that resides in the Elastic Docker registry, in an accessible location on your internal network. When you complete the installation, update kibana.yml to point to the service. -==== - -[float] -[[operations-breaking-changes-8.0.0-beta1]] -==== Operations - -[discrete] -.Removes environment variables -[%collapsible] -==== -*Details* + -The `CONFIG_PATH` and `DATA_PATH` environment variables have been removed. For more information, refer to {kibana-pull}111535[#111535]. - -*Impact* + -Replace the `CONFIG_PATH` environment variable with `KBN_PATH_CONF`, and replace `DATA_PATH` with the `path.data` setting. -==== - -[float] -[[platform-breaking-changes-8.0.0-beta1]] -==== Platform - -[discrete] -.Removes supports for csp.rules configuration -[%collapsible] -==== -*Details* + -Support for the `csp.rules` configuration property has been removed. For more information, refer to {kibana-pull}114379[#114379]. - -*Impact* + -Configuring the default `csp.script_src`, `csp.workers_src`, and `csp.style_src` values is not required. -==== - -[discrete] -.Changes and removes deprecated core settings and deprecated settings from core plugins -[%collapsible] -==== -*Details* + -The deprecation notice for `server.cors` has changed from `level:critical` to `level:warning`. - -The following settings have changed: - -* The `xpack.banners.placement` value has been renamed -* The `newsfeed.defaultLanguage` newsfeed item retrieval method and default language has changed - -Support for the following configuration settings has been removed: - -* `newsfeed.defaultLanguage` -* `cpu.cgroup.path.override` -* `cpuacct.cgroup.path.override` -* `server.xsrf.whitelist` -* `xpack.xpack_main.xpack_api_polling_frequency_millis` -* `KIBANA_PATH_CONF` - -For more information, refer to {kibana-pull}113653[#113653]. - -*Impact* + -* The `header` value provided to the `xpack.banners.placement` configuration has been renamed to 'top' -* The `newsfeed.defaultLanguage` newsfeed items are retrieved based on the browser locale and default to English -* Replace `cpu.cgroup.path.override` with `ops.cGroupOverrides.cpuPath` -* Replace `cpuacct.cgroup.path.override` with `ops.cGroupOverrides.cpuAcctPath` -* Replace `server.xsrf.whitelist` with `server.xsrf.allowlist` -* Replace `xpack.xpack_main.xpack_api_polling_frequency_millis` with `xpack.licensing.api_polling_frequency` -* Replace `KIBANA_PATH_CONF` path to the {kib} configuration file using the `KBN_PATH_CONF` environment variable -==== - -[discrete] -.Removes `enabled` settings from plugins -[%collapsible] -==== -*Details* + -Using `{plugin_name}.enabled` to disable plugins has been removed. Some plugins, such as `telemetry`, `newsfeed`, `reporting`, and the various `vis_type` plugins will continue to support this setting. All other {kib} plugins will not support this setting. Any new plugin will support this setting only when specified in the `configSchema`. For more information, refer to {kibana-pull}113495[#113495]. - -The `xpack.security.enabled` setting has been removed. For more information, refer to {kibana-pull}111681[#111681]. - -*Impact* + -Before you upgrade to 8.0.0: - -* Remove `{plugin_name}.enabled` from kibana.yml. If you use the setting to control user access to {kib} applications, use <> instead. -* Replace `xpack.security.enabled` with {ref}/security-settings.html#general-security-settings[`xpack.security.enabled`] in elasticsearch.yml. -==== - -[discrete] -.Removes `--plugin-dir` cli option -[%collapsible] -==== -*Details* + -The `plugins.scanDirs` setting and `--plugin-dir` cli option have been removed. For more information, refer to {kibana-pull}113367[#113367]. - -*Impact* + -Before you upgrade to 8.0.0, remove `plugins.scanDirs` from kibana.yml. -==== - -[discrete] -.Removes support for `optimize.*` settings -[%collapsible] -==== -*Details* + -The legacy `optimize.*` settings have been removed. If your configuration uses the following legacy `optimize.*` settings, {kib} fails to start: - -* `optimize.lazy` -* `optimize.lazyPort` -* `optimize.lazyHost` -* `optimize.lazyPrebuild` -* `optimize.lazyProxyTimeout` -* `optimize.enabled` -* `optimize.bundleFilter` -* `optimize.bundleDir` -* `optimize.viewCaching` -* `optimize.watch` -* `optimize.watchPort` -* `optimize.watchHost` -* `optimize.watchPrebuild` -* `optimize.watchProxyTimeout` -* `optimize.useBundleCache` -* `optimize.sourceMaps` -* `optimize.workers` -* `optimize.profile` -* `optimize.validateSyntaxOfNodeModules` - -For more information, refer to {kibana-pull}113296[#113296]. - -*Impact* + -To run the `@kbn/optimizer` separately in development, pass `--no-optimizer` to `yarn start`. For more details, refer to {kibana-pull}73154[#73154]. -==== - -[discrete] -.Removes `so/server/es` settings -[%collapsible] -==== -*Details* + -Some of the `so/server/es` settings have been removed. If your configuration uses the following settings, {kib} fails to start: - -* `savedObjects.indexCheckTimeout` -* `server.xsrf.token` -* `elasticsearch.preserveHost` -* `elasticsearch.startupTimeout` - -For more information, refer to {kibana-pull}113173[#113173]. - -*Impact* + -Before you upgrade to 8.0.0., remove these settings from kibana.yml. -==== - -[discrete] -.Adds requirement for inline scripting -[%collapsible] -==== -*Details* + -To start {kib}, you must enable inline scripting in {es}. For more information, refer to {kibana-pull}113068[#113068]. - -*Impact* + -Enable {ref}/modules-scripting-security.html[inline scripting]. -==== - -[discrete] -.Removes `kibana.index` settings -[%collapsible] -==== -*Details* + -The `kibana.index`, `xpack.reporting.index`, and `xpack.task_manager.index` settings have been removed. For more information, refer to {kibana-pull}112773[#112773]. - -*Impact* + -Use spaces, cross-cluster replication, or cross-cluster search. To migrate to <>, export your <> from a tenant into the default space. For more details, refer to link:https://github.com/elastic/kibana/issues/82020[#82020]. -==== - -[discrete] -.Removes legacy logging -[%collapsible] -==== -*Details* + -The logging configuration and log output format has changed. For more information, refer to {kibana-pull}112305[#112305]. - -*Impact* + -Use the new <>. -==== - -[float] -[[reporting-breaking-changes-8.0.0-beta1]] -==== Reporting - -[discrete] -.Removes reporting settings -[%collapsible] -==== -*Details* + -The following settings have been removed: - -* `xpack.reporting.capture.concurrency` - -* `xpack.reporting.capture.settleTime` - -* `xpack.reporting.capture.timeout` - -* `xpack.reporting.kibanaApp` - -For more information, refer to {kibana-pull}114216[#114216]. - -*Impact* + -Before you upgrade to 8.0.0, remove the settings from kibana.yml. -==== - -[float] -[[rest-api-breaking-changes-8.0.0-beta1]] -==== REST API - -[discrete] -.Removes `/api/settings` -[%collapsible] -==== -*Details* + -The `/api/settings` REST API has been removed. For more information, refer to {kibana-pull}114730[#114730]. - -*Impact* + -Use `/api/stats`. -==== - -[float] -[[security-breaking-changes-8.0.0-beta1]] -==== Security - -[discrete] -.Removes legacy audit logger -[%collapsible] -==== -*Details* + -The legacy audit logger has been removed. For more information, refer to {kibana-pull}116191[#116191]. - -*Impact* + -Audit logs will be written to the default location in the new ECS format. To change the output file, filter events, and more, use the <>. -==== - -[float] -[[deprecations-8.0.0-beta1]] -=== Deprecations - -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend you make the necessary updates after you complete the upgrade. - -To review the 8.0.0 depcrecations, refer to the <>. - -[float] -[[features-8.0.0-beta1]] -=== Features -The 8.0.0-beta1 release adds the following new and notable features. - -Dashboard:: -* Dashboard Integration {kibana-pull}115991[#115991] -Elastic Security:: -For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Machine Learning:: -* Addition of new Model Management tab {kibana-pull}115772[#115772] -Platform:: -* Changes edit view to json read-only view {kibana-pull}112034[#112034] - -[float] -[[enhancement-v8.0.0-beta1]] -=== Enhancements - -The 8.0.0-beta1 release includes the following enhancements. - -Canvas:: -* By-Value embeddables {kibana-pull}113827[#113827] -* Toolbar UI updates {kibana-pull}113329[#113329] -Elastic Security:: -For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Lens & Visualizations:: -* Handle removal of deprecated date histogram interval in *Vega* {kibana-pull}109090[#109090] -* Adds value labels to Heatmap in *Lens* {kibana-pull}106406[#106406] -Logs:: -* Make Alerts page use shared Kibana time range {kibana-pull}115192[#115192] -Machine Learning:: -* Adds support to {fleet} {integrations} for installing ML models {kibana-pull}107710[#107710] -* Adds Index data visualizer grid embeddable as extra view within Discover {kibana-pull}107184[#107184] -Maps:: -* Use Elastic Maps Service v8.0 {kibana-pull}116217[#116217] -* Use desaturated map tiles instead of bright map tiles by default {kibana-pull}116179[#116179] -* Use ES mvt {kibana-pull}114553[#114553] -Security:: -* Register "minimal" feature privileges regardless of the current license level {kibana-pull}115992[#115992] -Uptime:: -* Uptime index config using kibana.yml {kibana-pull}115775[#115775] - -[float] -[[fixes-v8.0.0-beta1]] -=== Bug fixes - -The 8.0.0-beta1 release includes the following bug fixes. - -Management:: -* Removes freeze action from Cold phase {kibana-pull}116160[#116160] -* Disallow creating runtime and scripted fields with * in the name {kibana-pull}116119[#116119] -Querying & Filtering:: -* Fixes Add filter button doesnt close popup after openning {kibana-pull}111917[#111917] - -[[release-notes-8.0.0-alpha2]] -== {kib} 8.0.0-alpha2 - -Review the {kib} 8.0.0-alpha2 changes, then use the <> to complete the upgrade. - -[float] -[[breaking-changes-8.0.0-alpha2]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. Review the following breaking changes, then mitigate the impact to your application. - -To review the breaking changes in the previous version, refer to <>. - -[discrete] -.Changes the `GET /api/status` default behavior -[%collapsible] -==== -*Details* + -`GET /api/status` reports a new and more verbose payload. For more information, refer to {kibana-pull}110830[#110830]. - -*Impact* + -To retrieve the {kib} status in the previous format, use `GET /api/status?v7format=true`. -==== - -[discrete] -.Removes support for legacy exports -[%collapsible] -==== -*Details* + -In {kib} 8.0.0 and later, the legacy format from {kib} 6.x is unsupported. For more information, refer to {kibana-pull}110738[#110738] - -*Impact* + -Using the user interface to import saved objects is restricted to `.ndjson` format imports. -==== - -[discrete] -.Removes `map.regionmap.*` -[%collapsible] -==== -*Details* + -The deprecated `map.regionmap.*` setting in kibana.yml has been removed. For more information, refer to {kibana-pull}109896[#109896]. - -*Impact* + -If you have maps that use `map.regionmap` layers: - -. Remove the `map.regionmap` layer. - -. To recreate the choropleth layer, use <> to index your static vector data into {es}. - -. Create a choropleth layer from the indexed vector data. -==== - -[discrete] -.Removes `kibana.defaultAppId` -[%collapsible] -==== -*Details* + -The deprecated `kibana.defaultAppId` setting in kibana.yml, which is also available as `kibana_legacy.defaultAppId`, has been removed. For more information, refer to {kibana-pull}109798[#109798]. - -*Impact* + -When you upgrade, remove `kibana.defaultAppId` from your kibana.yml file. To configure the default route for users when they enter a space, use the <> in *Advanced Settings*. -==== - -[discrete] -.Removes `courier:batchSearches` -[%collapsible] -==== -*Details* + -The deprecated `courier:batchSearches` setting in *Advanced Settings* has been removed. For more information, refer to {kibana-pull}109350[#109350]. - -*Impact* + -When you upgrade, the `courier:batchSearches` setting will no longer be available. -==== - -[discrete] -.Removes `xpack.task_manager.index` -[%collapsible] -==== -*Details* + -The deprecated `xpack.task_manager.index` setting in kibana.yml has been removed. For more information, refer to {kibana-pull}108111[#108111]. - -*Impact* + -When you upgrade, remove `xpack.task_manager.index` from your kibana.yml file. -==== - -[discrete] -.Removes dashboard-only mode -[%collapsible] -==== -*Details* + -The legacy dashboard-only mode has been removed. For more information, refer to {kibana-pull}108103[#108103]. - -*Impact* + -To grant users access to only dashboards, create a new role, then assign only the *Dashboard* feature privilege. For more information, refer to <>. -==== - -[discrete] -.Removes `xpack.maps.showMapVisualizationTypes` -[%collapsible] -==== -*Details* + -The deprecated `xpack.maps.showMapVisualizationTypes` setting in kibana.yml has been removed. For more information, refer to {kibana-pull}105979[#105979] - -*Impact* + -When you upgrade, remove `xpack.maps.showMapVisualizationTypes` from your kibana.yml file. -==== - -[float] -[[deprecations-8.0.0-alpha2]] -=== Deprecations - -Deprecated functionality does not have an immediate impact on your application, but we strongly recommend you make the necessary updates after you complete the upgrade. - -To review the 8.0.0 depcrecations, refer to the <>. - -[float] -[[features-8.0.0-alpha2]] -=== Features -The 8.0.0-alpha2 release adds the following new and notable feature. - -Security:: -* Adds the interactive setup mode {kibana-pull}106881[#106881] - -[float] -[[enhancement-v8.0.0-alpha2]] -=== Enhancements -The 8.0.0-alpha2 release includes the following enhancements. - -Elastic Security:: -For the Elastic Security 8.0.0-alpha2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Security:: -* Interactive setup mode {kibana-pull}106881[#106881] - -[[release-notes-8.0.0-alpha1]] -== {kib} 8.0.0-alpha1 - -Review the {kib} 8.0.0-alpha1 changes, then use the <> to complete the upgrade. - -[float] -[[breaking-changes-8.0.0-alpha1]] -=== Breaking changes - -Breaking changes can prevent your application from optimal operation and performance. Review the breaking changes, then mitigate the impact to your application. - -[float] -[[enterprise-search-change]] -==== Enterprise Search changes - -[discrete] -.Required security plugin in 8.0 -[%collapsible] -==== -*Details* + -Enterprise Search now requires that you enable X-Pack Security. For more information, refer to {kibana-pull}106307[#106307] - -*Impact* + -Enable X-Pack Security. -==== - -[float] -[[index-pattern-change]] -==== Index pattern changes - -[discrete] -.Removed support for time-based interval index patterns -[%collapsible] -==== -*Details* + -Time-based interval index patterns were deprecated in 5.x. In 6.x, you could no longer create time-based interval index patterns, but they continued to function as expected. Support for these index patterns has been removed in 8.0. For more information, refer to {kibana-pull}35173[#35173] - -*Impact* + -You must migrate your time_based index patterns to a wildcard pattern. For example, logstash-*. -==== - -[float] -[[operations-changes]] -==== Operations changes - -[discrete] -.Removed platform from archive root directory -[%collapsible] -==== -*Details* + -After you extract an archive, the output directory no longer includes the target platform. For example, `kibana-8.0.0-linux-aarch64.tar.gz` produces a `kibana-8.0.0` folder. For more information, refer to {kibana-pull}93835[#93835]. - -*Impact* + -To use the new folder, update the configuration management tools and automation. -==== - -[discrete] -.Removed default support for TLS v1.0 and v1.1 -[%collapsible] -==== -*Details* + -The default support for TLS v1.0 and v1.1 has been removed. For more information, refer to {kibana-pull}90511[#90511]. - -*Impact* + -To enable support, set `--tls-min-1.0` in the `node.options` configuration file. To locate the configuration file, go to the kibana/config folder or any other configuration with the `KBN_PATH_CONF` environment variable. For example, if you are using a Debian-based system, the configuration file is located in /etc/kibana. -==== - -[discrete] -.Removed support for sysv init -[%collapsible] -==== -*Details* + -All supported operating systems use systemd service files. Any system that doesn’t have `service` aliased to use kibana.service should use `systemctl start kibana.service` instead of `service start kibana`. For more information, refer to {kibana-pull}74424[#74424]. - -*Impact* + -If your installation uses .deb or .rpm packages with SysV, migrate to systemd. -==== - -[discrete] -.Disabled response logging as a default -[%collapsible] -==== -*Details* + -In previous versions, all events are logged in `json` when `logging.json:true`. With the new logging configuration, you can choose the `json` and pattern output formats with layouts. For more information, refer to {kibana-pull}42353[#42353]. - -*Impact* + -To restore the previous behavior, configure the logging format for each custom appender with the `appender.layout property` in kibana.yml. There is no default for custom appenders, and each appender must be configured expilictly. - -[source,yaml] -------------------- -logging: - appenders: - custom_console: - type: console - layout: - type: pattern - custom_json: - type: console - layout: - type: json - loggers: - - name: plugins.myPlugin - appenders: [custom_console] - root: - appenders: [default, custom_json] - level: warn -------------------- -==== - -[float] -[[reporting-changes-8.0.0-alpha1]] -==== Reporting changes - -[discrete] -.Legacy job parameters are no longer supported -[%collapsible] -==== -*Details* + -*Reporting* is no longer compatible with POST URL snippets generated with {kib} 6.2.0 and earlier. For more information, refer to {kibana-pull}52539[#52539] - -*Impact* + -If you use POST URL snippets to automatically generate PDF reports, regenerate the POST URL strings. -==== - -[float] -[[rest-api-changes]] -==== Security changes - -[discrete] -.Removed `/api/security/v1/saml` route -[%collapsible] -==== -*Details* + -The `/api/security/v1/saml` route has been removed and is reflected in the kibana.yml `server.xsrf.whitelist` setting, {es}, and the Identity Provider SAML settings. For more information, refer to {kibana-pull}47929[#47929] - -*Impact* + -Use the `/api/security/saml/callback` route, or wait to upgrade to 8.0.0-alpha2 when the `/api/security/saml/callback` route breaking change is reverted. -==== - -[discrete] -.Reject legacy browsers by default -[%collapsible] -==== -*Details* + -To provide the maximum level of protection for most installations, the csp.strict config is now enabled by default. Legacy browsers not supported by Kibana, such as Internet Explorer 11, are unable to access {kib} unless explicitly enabled. All browsers officially supported by Kibana do not have this issue. For more information, refer to {kibana-pull}41700[#41700] - -*Impact* + -To enable support for legacy browsers, set `csp.strict: false` in kibana.yml. To effectively enforce the security protocol, we strongly discourage disabling `csp.strict` unless it is critical that you support Internet Explorer 11. -==== - -[float] -[[settings-changes-8.0.0-alpha1]] -==== Settings changes - -[discrete] -.Use new session timeout defaults -[%collapsible] -==== -*Details* + -The default values for the session timeout `xpack.security.session.{lifespan|idleTimeout}` settings have changed. For more information, refer to {kibana-pull}106061[#106061] - -*Impact* + -Use the following default values: - -* `xpack.security.session.idleTimeout: 3d` -* `xpack.security.session.lifespan: 30d` -==== - -[discrete] -.Removed support for setting `server.host` to '0' -[%collapsible] -==== -*Details* + -Support for configuring {kib} with `0` as the `server.host` has been removed. Please use `0.0.0.0` instead. For more information, refer to {kibana-pull}87114[#87114] - -*Impact* + -You are now unable to use `0` as the `server.host`. -==== - -[discrete] -.Removed `xpack.security.public` and `xpack.security.authProviders` -[%collapsible] -==== -*Details* + -The `xpack.security.public` and `xpack.security.authProviders` settings have been removed. For more information, refer to {kibana-pull}38657[#38657] - -*Impact* + -Use the `xpack.security.authc.saml.realm` and `xpack.security.authc.providers` settings. -==== - -[discrete] -.Removed useUTC deprecation -[%collapsible] -==== -*Details* + -The `logging.useUTC` setting has been removed. For more information, refer to {kibana-pull}22696[#22696] - -*Impact* + -The default timezone is UTC. To change the timezone, set `logging.timezone: false` in kibana.yml. Change the timezone when the system, such as a docker container, is configured for a nonlocal timezone. -==== - -[discrete] -.Removed environment variables `CONFIG_PATH` and `DATA_PATH` -[%collapsible] -==== -*Details* + -The environment variables `CONFIG_PATH` and `DATA_PATH` have been removed. For more information, refer to {kibana-pull}32049[#32049] - -*Impact* + -Use the environment variable `KBN_PATH_CONF` instead of `CONFIG_PATH`. Use the setting `path.data` instead of `DATA_PATH`. -==== - -[float] -[[deprecations-8.0.0-alpha1]] -=== Deprecations - -The following functionality is deprecated in 8.0.0, and will be removed in 9.0.0. Deprecated functionality does not have an immediate impact on your application, but we strongly recommend you make the necessary updates after you complete the upgrade. - -[discrete] -.Removed support for SysV init -[%collapsible] -==== -*Details* + -Systems that don't have `service` aliased to use kibana.service are unable to use `service start kibana`. For more information, refer to {kibana-pull}74424[#74424] - -*Impact* + -If your system doesn't have `service` aliased to use kibana.service, use `systemctl start kibana.service`. -==== - -[discrete] -.Removed `xpack:defaultAdminEmail` setting -[%collapsible] -==== -*Details* + -The `xpack:default_admin_email` setting for monitoring use has been removed. For more information, refer to {kibana-pull}33603[#33603] - -*Impact* + -Use the `xpack.monitoring.clusterAlertsEmail` in kibana.yml. -==== - -[float] -[[enhancements-and-bug-fixes-v8.0.0-alpha1]] -=== Bug fix - -The 8.0.0-alpha1 release includes the following bug fix. - -Operations:: -* Moves systemd service to /usr/lib/systemd/system {kibana-pull}83571[#83571] +[[fixes-v9.0.0]] +=== Bug fixes \ No newline at end of file diff --git a/docs/developer/architecture/development-visualize-index.asciidoc b/docs/developer/architecture/development-visualize-index.asciidoc index b941cdedf9df9..6f5f9fc742424 100644 --- a/docs/developer/architecture/development-visualize-index.asciidoc +++ b/docs/developer/architecture/development-visualize-index.asciidoc @@ -19,7 +19,7 @@ We would recommend waiting until later in `7.x` to upgrade your plugins if possi If you would like to keep up with progress on the visualizations plugin in the meantime, here are a few resources: -* The <> documentation, where we try to capture any changes to the APIs as they occur across minors. +* The <> documentation, where we try to capture any changes to the APIs as they occur across minors. * link:https://github.com/elastic/kibana/issues/44121[Meta issue] which is tracking the move of the plugin to the new {kib} platform * Our link:https://www.elastic.co/blog/join-our-elastic-stack-workspace-on-slack[Elastic Stack workspace on Slack]. * The {kib-repo}blob/{branch}/src/plugins/visualizations[source code], which will continue to be diff --git a/docs/migration.asciidoc b/docs/migration.asciidoc index dd7a4d097d834..1e3b67b96ec10 100644 --- a/docs/migration.asciidoc +++ b/docs/migration.asciidoc @@ -6,9 +6,9 @@ This section discusses the changes that you need to be aware of when migrating your application from one version of Kibana to another. -* <> +* <> See also <> and <>. -- -include::migration/migrate_8_0.asciidoc[] \ No newline at end of file +include::migration/migrate_9_0.asciidoc[] \ No newline at end of file diff --git a/docs/migration/migrate_8_0.asciidoc b/docs/migration/migrate_8_0.asciidoc deleted file mode 100644 index 7c545cd6ef196..0000000000000 --- a/docs/migration/migrate_8_0.asciidoc +++ /dev/null @@ -1,402 +0,0 @@ -[[breaking-changes-8.0]] -== Breaking changes in 8.0 -++++ -8.0 -++++ - -This section discusses the changes that you need to be aware of when migrating -your application to Kibana 8.0. - -See also <> and <>. - -* <> -* <> - -[float] -[[breaking_80_index_pattern_changes]] -=== Index pattern changes - -[float] -==== Removed support for time-based internal index patterns -*Details:* Time-based interval index patterns were deprecated in 5.x. In 6.x, -you could no longer create time-based interval index patterns, but they continued -to function as expected. Support for these index patterns has been removed in 8.0. - -*Impact:* You must migrate your time_based index patterns to a wildcard pattern, -for example, `logstash-*`. - -[float] -[[breaking_80_setting_changes]] -=== Settings changes - -[float] -==== Multitenancy by changing `kibana.index` is no longer supported -*Details:* `kibana.index`, `xpack.reporting.index` and `xpack.task_manager.index` can no longer be specified. - -*Impact:* Users who relied on changing these settings to achieve multitenancy should use *Spaces*, cross-cluster replication, or cross-cluster search instead. To migrate to *Spaces*, users are encouraged to use saved object management to export their saved objects from a tenant into the default tenant in a space. Improvements are planned to improve on this workflow. See https://github.com/elastic/kibana/issues/82020 for more details. - -[float] -==== Disabling most plugins with the `{plugin_name}.enabled` setting is no longer supported -*Details:* The ability for most plugins to be disabled using the `{plugin_name}.enabled` config option has been removed. - -*Impact:* Some plugins, such as `telemetry`, `newsfeed`, `reporting`, and the various `vis_type` plugins will continue to support this setting, however the rest of the plugins that ship with Kibana will not. By default, any newly created plugins will not support this configuration unless it is explicitly added to the plugin's `configSchema`. - -If you are currently using one of these settings in your Kibana config, please remove it before upgrading to 8.0. If you were using these settings to control user access to certain Kibana applications, we recommend leveraging Feature Controls instead. - -[float] -==== Legacy browsers are now rejected by default -*Details:* `csp.strict` is now enabled by default, so Kibana will fail to load for older, legacy browsers that do not enforce basic Content Security Policy protections - notably Internet Explorer 11. - -*Impact:* To allow Kibana to function for these legacy browsers, set `csp.strict: false`. Since this is about enforcing a security protocol, we *strongly discourage* disabling `csp.strict` unless it is critical that you support Internet Explorer 11. - -[float] -==== Configuring content security policy rules is no longer supported -*Details:* Configuring `csp.rules` is removed in favor of per-directive specific configuration. Configuring the default `csp.script_src`, `csp.workers_src` and `csp.style_src` values is not required. - -*Impact:* Configure per-directive sources instead. See https://github.com/elastic/kibana/pull/102059 for more details. - -[float] -==== Default logging timezone is now the system's timezone -*Details:* In prior releases the timezone used in logs defaulted to UTC. We now use the host machine's timezone by default. - -*Impact:* To restore the previous behavior, in kibana.yml use the pattern layout, with a {kibana-ref}/logging-configuration.html#date-format[date modifier]: -[source,yaml] -------------------- -logging: - appenders: - custom: - type: console - layout: - type: pattern - pattern: "%date{ISO8601_TZ}{UTC}" -------------------- -See https://github.com/elastic/kibana/pull/90368 for more details. - -[float] -==== Responses are never logged by default -*Details:* Previously responses would be logged if either `logging.json` was true, `logging.dest` was specified, or a `TTY` was detected. With the new logging configuration, these are provided by a dedicated logger. - -*Impact:* To restore the previous behavior, in `kibana.yml` enable `debug` for the `http.server.response` logger: -[source,yaml] -------------------- -logging: - appenders: - custom: - type: console - layout: - type: pattern - loggers: - - name: http.server.response - appenders: [custom] - level: debug -------------------- -See https://github.com/elastic/kibana/pull/87939 for more details. - -[float] -==== Logging destination is specified by the appender -*Details:* Previously log destination would be `stdout` and could be changed to `file` using `logging.dest`. With the new logging configuration, you can specify the destination using {kibana-ref}/logging-configuration.html#logging-appenders[appenders]. - -*Impact:* To restore the previous behavior and log records to *stdout*, in `kibana.yml` use an appender with `type: console`. -[source,yaml] -------------------- -logging: - appenders: - custom: - type: console - layout: - type: pattern - root: - appenders: [default, custom] -------------------- - -To send logs to `file` with a given file path, you should define a custom appender with `type:file`: -[source,yaml] -------------------- -logging: - appenders: - file: - type: file - fileName: /var/log/kibana.log - layout: - type: pattern - root: - appenders: [default, file] -------------------- - -[float] -==== Set log verbosity with root -*Details:* Previously logging output would be specified by `logging.silent` (none), `logging.quiet` (error messages only) and `logging.verbose` (all). With the new logging configuration, set the minimum required {kibana-ref}/logging-configuration.html#log-level[log level]. - -*Impact:* To restore the previous behavior, in `kibana.yml` specify `logging.root.level`: -[source,yaml] -------------------- -# suppress all logs -logging: - root: - level: off -------------------- - -[source,yaml] -------------------- -# only log error messages -logging: - root: - level: error -------------------- - -[source,yaml] -------------------- -# log all events -logging: - root: - level: all -------------------- - -[float] -==== Declare log message format -*Details:* Previously all events would be logged in `json` format when `logging.json` was true. With the new logging configuration you can specify the output format with layouts. You can choose between `json` and pattern format depending on your needs. - -*Impact:* To restore the previous behavior, in `kibana.yml` configure the logging format for each custom appender with the `appender.layout` property. There is no default for custom appenders and each one must be configured expilictly. - -[source,yaml] -------------------- -logging: - appenders: - custom_console: - type: console - layout: - type: pattern - custom_json: - type: console - layout: - type: json - loggers: - - name: plugins.myPlugin - appenders: [custom_console] - root: - appenders: [default, custom_json] - level: warn -------------------- - -[float] -==== Configure log rotation with the rolling-file appender -*Details:* Previously log rotation would be enabled when `logging.rotate.enabled` was true. - -*Impact:* To restore the previous behavior, in `kibana.yml` use the {kibana-ref}/logging-configuration.html#rolling-file-appender[`rolling-file`] appender. - -[source,yaml] -------------------- -logging: - appenders: - rolling-file: - type: rolling-file - fileName: /var/logs/kibana.log - policy: - type: size-limit - size: 50mb - strategy: - type: numeric - pattern: '-%i' - max: 2 - layout: - type: pattern - loggers: - - name: plugins.myPlugin - appenders: [rolling-file] -------------------- - -[float] -==== `xpack.security.authProviders` is no longer valid -*Details:* The deprecated `xpack.security.authProviders` setting in the `kibana.yml` file has been removed. - -*Impact:* Use `xpack.security.authc.providers` instead. - -[float] -==== `xpack.security.authc.providers` has changed value format -*Details:* `xpack.security.authc.providers` setting in the `kibana.yml` has changed value format. - -*Impact:* Array of provider types as a value is no longer supported, use extended object format instead. - -[float] -==== `xpack.security.authc.saml` is no longer valid -*Details:* The deprecated `xpack.security.authc.saml` setting in the `kibana.yml` file has been removed. - -*Impact:* Configure SAML authentication providers using `xpack.security.authc.providers.saml.{provider unique name}.*` settings instead. - -[float] -==== `xpack.security.authc.oidc` is no longer valid -*Details:* The deprecated `xpack.security.authc.oidc` setting in the `kibana.yml` file has been removed. - -*Impact:* Configure OpenID Connect authentication providers using `xpack.security.authc.providers.oidc.{provider unique name}.*` settings instead. - -[float] -==== `xpack.security.public` is no longer valid -*Details:* Previously Kibana was choosing the appropriate Elasticsearch SAML realm automatically using the `Assertion Consumer Service` -URL that it derived from the actual server address and `xpack.security.public` setting. Starting in 8.0.0, the deprecated `xpack.security.public` setting in the `kibana.yml` file has been removed and the Elasticsearch SAML realm name that Kibana will use should be specified explicitly. - -*Impact:* Define `xpack.security.authc.providers.saml.{provider unique name}.realm` when using the SAML authentication providers instead. - -[float] -==== `/api/security/v1/saml` endpoint is no longer supported -*Details:* The deprecated `/api/security/v1/saml` endpoint is no longer supported. - -*Impact:* Rely on `/api/security/saml/callback` endpoint when using SAML instead. This change should be reflected in Elasticsearch and Identity Provider SAML settings. - -[float] -==== `/api/security/v1/oidc` endpoint is no longer supported -*Details:* The deprecated `/api/security/v1/oidc` endpoint is no longer supported. - -*Impact:* Rely on `/api/security/oidc/callback` endpoint when using OpenID Connect instead. This change should be reflected in Elasticsearch and OpenID Connect Provider settings. - -[float] -==== `/api/security/v1/oidc` endpoint is no longer supported for Third Party initiated login -*Details:* The deprecated `/api/security/v1/oidc` endpoint is no longer supported for Third Party initiated login. - -*Impact:* Rely on `/api/security/oidc/initiate_login` endpoint when using Third Party initiated OpenID Connect login instead. This change should be reflected in Elasticsearch and OpenID Connect Provider settings. - -[float] -==== `/api/security/v1/oidc/implicit` endpoint is no longer supported -*Details:* The deprecated `/api/security/v1/oidc/implicit` endpoint is no longer supported. - -*Impact:* Rely on `/api/security/oidc/implicit` endpoint when using OpenID Connect Implicit Flow instead. This change should be reflected in OpenID Connect Provider settings. - -[float] -=== `optimize` directory is now in the `data` folder -*Details:* Generated bundles have moved to the configured `path.data` folder. - -*Impact:* Any workflow that involved manually clearing generated bundles will have to be updated with the new path. - -[float] -=== Legacy `optimize.*` settings are no longer supported -*Details:* The legacy optimizer has been removed and any `optimize.*` settings have been deprecated since 7.10. These settings have been removed as they are no longer in use. - -*Impact:* Any of the legacy `optimize.*` settings will prevent Kibana from starting up. Going forward, to run the `@kbn/optimizer` separately in development, pass `--no-optimizer` to `yarn start`. See https://github.com/elastic/kibana/pull/73154 for more details. - -[float] -=== kibana.keystore has moved from the `data` folder to the `config` folder -*Details:* By default, kibana.keystore has moved from the configured `path.data` folder to `/config` for archive distributions -and `/etc/kibana` for package distributions. If a pre-existing keystore exists in the data directory that path will continue to be used. - -[float] -[[breaking_80_user_role_changes]] -=== User role changes - -[float] -=== `kibana_user` role has been removed and `kibana_admin` has been added. - -*Details:* The `kibana_user` role has been removed and `kibana_admin` has been added to better -reflect its intended use. This role continues to grant all access to every -{kib} feature. If you wish to restrict access to specific features, create -custom roles with {kibana-ref}/kibana-privileges.html[{kib} privileges]. - -*Impact:* Any users currently assigned the `kibana_user` role will need to -instead be assigned the `kibana_admin` role to maintain their current -access level. - -[float] -=== `kibana_dashboard_only_user` role has been removed. - -*Details:* The `kibana_dashboard_only_user` role has been removed. -If you wish to restrict access to just the Dashboard feature, create -custom roles with {kibana-ref}/kibana-privileges.html[{kib} privileges]. - -*Impact:* Any users currently assigned the `kibana_dashboard_only_user` role will need to be assigned a custom role which only grants access to the Dashboard feature. - -Granting additional cluster or index privileges may enable certain -**Stack Monitoring** features. - -[float] -[[breaking_80_reporting_changes]] -=== Reporting changes - -[float] -==== Legacy job parameters are no longer supported -*Details:* POST URL snippets that were copied in Kibana 6.2 or earlier are no longer supported. These logs have -been deprecated with warnings that have been logged throughout 7.x. Please use Kibana UI to re-generate the -POST URL snippets if you depend on these for automated PDF reports. - -[float] -=== Configurations starting with `xpack.telemetry` are no longer valid - -*Details:* -The `xpack.` prefix has been removed for all telemetry configurations. - -*Impact:* -For any configurations beginning with `xpack.telemetry`, remove the `xpack` prefix. Use {kibana-ref}/telemetry-settings-kbn.html#telemetry-general-settings[`telemetry.enabled`] instead. - -[float] -=== SysV init support has been removed - -*Details:* -All supported operating systems support using systemd service files. Any system that doesn't already have service aliased to use kibana.service should use `systemctl start kibana.service` instead of the `service start kibana`. - -*Impact:* -Any installations using `.deb` or `.rpm` packages using SysV will need to migrate to systemd. - -[float] -=== TLS v1.0 and v1.1 are disabled by default - -*Details:* -Support can be re-enabled by setting `--tls-min-1.0` in the `node.options` config file that can be found inside `kibana/config` folder or any other configured with the environment variable `KBN_PATH_CONF` (for example in Debian based system would be `/etc/kibana`). - -*Impact:* -Browser and proxy clients communicating over TLS v1.0 and v1.1. - -[float] -=== Platform removed from root folder name for `.tar.gz` and `.zip` archives - -*Details:* -The output directory after extracting an archive no longer includes the target platform. For example, `kibana-8.0.0-linux-aarch64.tar.gz` will produce a folder named `kibana-8.0.0`. - -*Impact:* -Configuration management tools and automation will need to be updated to use the new directory. - -[float] -=== `elasticsearch.preserveHost` is no longer valid -*Details:* The deprecated `elasticsearch.preserveHost` setting in the `kibana.yml` file has been removed. - -*Impact:* Configure {kibana-ref}/settings.html#elasticsearch-requestHeadersWhitelist[`elasticsearch.requestHeadersWhitelist`] to whitelist client-side headers. - -[float] -=== `elasticsearch.startupTimeout` is no longer valid -*Details:* The deprecated `elasticsearch.startupTimeout` setting in the `kibana.yml` file has been removed. - -*Impact:* Kibana will keep on trying to connect to Elasticsearch until it manages to connect. - -[float] -=== `savedObjects.indexCheckTimeout` is no longer valid -*Details:* The deprecated `savedObjects.indexCheckTimeout` setting in the `kibana.yml` file has been removed. - -[float] -=== `server.xsrf.token` is no longer valid -*Details:* The deprecated `server.xsrf.token` setting in the `kibana.yml` file has been removed. - -[float] -=== `newsfeed.defaultLanguage` is no longer valid -*Details:* Specifying a default language to retrieve newsfeed items is no longer supported. - -*Impact:* Newsfeed items will be retrieved based on the browser locale and fallback to 'en' if an item does not have a translation for the locale. Configure {kibana-ref}/i18n-settings-kb.html#general-i18n-settings-kb[`i18n.locale`] to override the default behavior. - -[float] -=== `xpack.banners.placement` has changed value -*Details:* `xpack.banners.placement: 'header'` setting in `kibana.yml` has changed value. - -*Impact:* Use {kibana-ref}/banners-settings-kb.html#banners-settings-kb[`xpack.banners.placement: 'top'`] instead. - -[float] -=== `cpu.cgroup.path.override` is no longer valid -*Details:* The deprecated `cpu.cgroup.path.override` setting is no longer supported. - -*Impact:* Configure {kibana-ref}/settings.html#ops-cGroupOverrides-cpuPath[`ops.cGroupOverrides.cpuPath`] instead. - -[float] -=== `cpuacct.cgroup.path.override` is no longer valid -*Details:* The deprecated `cpuacct.cgroup.path.override` setting is no longer supported. - -*Impact:* Configure {kibana-ref}/settings.html#ops-cGroupOverrides-cpuAcctPath[`ops.cGroupOverrides.cpuAcctPath`] instead. - -[float] -=== `server.xsrf.whitelist` is no longer valid -*Details:* The deprecated `server.xsrf.whitelist` setting is no longer supported. - -*Impact:* Use {kibana-ref}/settings.html#settings-xsrf-allowlist[`server.xsrf.allowlist`] instead. diff --git a/docs/migration/migrate_9_0.asciidoc b/docs/migration/migrate_9_0.asciidoc new file mode 100644 index 0000000000000..a3d2f1587eb39 --- /dev/null +++ b/docs/migration/migrate_9_0.asciidoc @@ -0,0 +1,18 @@ +[[breaking-changes-9.0]] +== Breaking changes in 9.0 +++++ +9.0 +++++ + +This section discusses the changes that you need to be aware of when migrating +your application to Kibana 9.0. + +See also <> and <>. + +* <> + + +[float] +[[breaking_90_setting_changes]] +=== Settings changes + diff --git a/docs/redirects.asciidoc b/docs/redirects.asciidoc index 84cf809c66667..c9a81c5d398ce 100644 --- a/docs/redirects.asciidoc +++ b/docs/redirects.asciidoc @@ -418,10 +418,6 @@ This page has been deleted. Refer to <>. This page has been deleted. Refer to <>. -[role="exclude",id="enhancements-and-bug-fixes-v8.10.0"] -== Enhancements and bug fixes for 8.10.0 - -This content has moved. Refer to <> for 8.10.0. [role="exclude",id="gen-ai-action-type"] == Generative AI connector and action diff --git a/docs/setup/upgrade/upgrade-standard.asciidoc b/docs/setup/upgrade/upgrade-standard.asciidoc index f78a26e8acc89..fb8c4ff419693 100644 --- a/docs/setup/upgrade/upgrade-standard.asciidoc +++ b/docs/setup/upgrade/upgrade-standard.asciidoc @@ -30,7 +30,7 @@ Different versions of {kib} running against the same {es} index, such as during + Make sure you remove or update any configurations -that are indicated in the <> documentation +that are indicated in the <> documentation otherwise {kib} will fail to start. -- . Upgrade any plugins by removing the existing plugin and reinstalling the @@ -51,7 +51,7 @@ and becomes a new instance in the monitoring data. -- . Copy the files from the `config` directory from your old installation to your new installation. Make sure you remove or update any configurations that are - indicated in the <> documentation + indicated in the <> documentation otherwise {kib} will fail to start. . Copy the files from the `data` directory from your old installation to your new installation. diff --git a/docs/upgrade-notes.asciidoc b/docs/upgrade-notes.asciidoc index 4d4208b2253f7..329b6ab5cb667 100644 --- a/docs/upgrade-notes.asciidoc +++ b/docs/upgrade-notes.asciidoc @@ -39,15 +39,15 @@ Check https://docs.elastic.dev/docs/kibana-doc-links (internal) for more details //// -Before you upgrade, review the breaking changes and deprecations introduced in {kib} 8.x, then mitigate the impact. +Before you upgrade, review the breaking changes and deprecations introduced since the version you are migrating from, then mitigate the impact. -For Elastic Security release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +If you are migrating from a version prior to version 9.0, you must first upgrade to the last 8.x version available. + +For Elastic Security solution release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. [float] === Breaking changes -[float] -==== Kibana APIs [discrete] [[breaking-199656]] @@ -97,1327 +97,12 @@ We would love to discuss your use case. ==== -[discrete] -[[breaking-162506]] -.Get case metrics APIs became internal. (8.10) -[%collapsible] -==== -*Details* + -The get case metrics APIs are now internal. For more information, refer to ({kibana-pull}162506[#162506]). -==== - -[discrete] -[[breaking-155470]] -.Removed legacy project monitor API. (8.8) -[%collapsible] -==== -*Details* + -The project monitor API for Synthetics in Elastic Observability has been removed. For more information, refer to {kibana-pull}155470[#155470]. - -*Impact* + -In 8.8.0 and later, an error appears when you use the project monitor API. -==== - -[discrete] -[[breaking-147616]] -.Removed the `current_upgrades` endpoint. (8.7) -[%collapsible] -==== -*Details* + -The `/api/fleet/current_upgrades` endpoint has been removed. For more information, refer to {kibana-pull}147616[#147616]. - -*Impact* + -When you upgrade to 8.7.0, use the `api/fleet/agents/action_status` endpoint. -==== - -[discrete] -[[breaking-147199]] -.Removed the `preconfiguration` API route. (8.7) -[%collapsible] -==== -*Details* + -The `/api/fleet/setup/preconfiguration` API, which was released as generally available by error, has been removed. For more information, refer to {kibana-pull}147199[#147199]. - -*Impact* + -Do not use `/api/fleet/setup/preconfiguration`. To manage preconfigured agent policies, use kibana.yml. For more information, check link:https://www.elastic.co/guide/en/kibana/current/fleet-settings-kb.html#_preconfiguration_settings_for_advanced_use_cases[Preconfigured settings]. -==== - -[discrete] -[[breaking-141757]] -.Updated bulk action API to return actionId instead of agent success. (8.5) -[%collapsible] -==== -*Details* + -To make bulk action responses consistent, returns `actionId` instead of agent ids with `success: True` or `success: False` results. For more information, refer to {kibana-pull}141757[#141757]. - -*Impact* + -When you use `FleetBulkResponse`, you now receive only `actionId` responses. -==== - -[discrete] -[[breaking-116821]] -.Removed deprecated config fields from Logs and Metrics APIs and saved objects. (8.0) -[%collapsible] -==== -*Details* + -On the Logs and Metrics UIs, references to the following API and saved object deprecated fields have been removed: - -* `timestamp` -* `tiebreaker` -* `container` -* `pod` -* `host` - -For more information, refer to {kibana-pull}116821[#116821] and {kibana-pull}115874[#115874]. - -*Impact* + -When you upgrade to 8.0.0, you are unable to use references to the deprecated fields. -==== - -[discrete] -[[breaking-114730]] -.Removed `/api/settings`. (8.0) -[%collapsible] -==== -*Details* + -The `/api/settings` REST API has been removed. For more information, refer to {kibana-pull}114730[#114730]. - -*Impact* + -Use `/api/stats`. -==== - -[discrete] -[[breaking-110830]] -.Changed the `GET /api/status` default behavior. (8.0) -[%collapsible] -==== -*Details* + -`GET /api/status` reports a new and more verbose payload. For more information, refer to {kibana-pull}110830[#110830]. - -*Impact* + -To retrieve the {kib} status in the previous format, use `GET /api/status?v7format=true`. -==== - [float] -==== Kibana platform - -// Alerting -[discrete] -[[breaking-170635]] -.[Alerting] A new sub-feature privilege to control user access to the cases settings. (8.12) -[%collapsible] -==== -*Details* + -Roles with at least a sub-feature privilege configured will not have access to the cases setting like they had previously. All roles without a sub-feature privilege configured will not be affected. For more information, refer to ({kibana-pull}170635[#170635]). -==== - -[discrete] -[[breaking-162492]] -.[Alerting] New case limits. (8.10) -[%collapsible] -==== -*Details* + -Limits are now imposed on the number of objects cases can process or the amount of data those objects can store. -//// -For example: -* Updating a case comment is now included in the 10000 user actions restriction. ({kibana-pull}163150[#163150]) -* Updating a case now fails if the operation makes it reach more than 10000 user actions. ({kibana-pull}161848[#161848]) -* The total number of characters per comment is limited to 30000. ({kibana-pull}161357[#161357]) -* The getConnectors API now limits the number of supported connectors returned to 1000. ({kibana-pull}161282[#161282]) -* There are new limits and restrictions when retrieving cases. ({kibana-pull}162411[#162411]), ({kibana-pull}162245[#162245]), ({kibana-pull}161111[#161111]), ({kibana-pull}160705[#160705]) -* A case can now only have 100 external references and persistable state(excluding files) attachments combined. ({kibana-pull}162071[#162071]). -* New limits on titles, descriptions, tags and category. ({kibana-pull}160844[#160844]). -* The maximum number of cases that can be updated simultaneously is now 100. The minimum is 1. ({kibana-pull}161076[#161076]). -* The Delete cases API now limits the number of cases to be deleted to 100.({kibana-pull}160846[#160846]). -//// -For the full list, refer to {kib-issue}146945[#146945]. -==== - -[discrete] -[[breaking-147985]] -.[Alerting] Changed privileges for alerts and cases. (8.8) -[%collapsible] -==== -*Details* + -The privileges for attaching alerts to cases has changed. For more information, refer to {kibana-pull}147985[#147985]. - -*Impact* + -To attach alerts to cases, you must have `Read` access to an {observability} or Security feature that has alerts and `All` access to the **Cases** feature. For detailed information, check link:https://www.elastic.co/guide/en/kibana/current/kibana-privileges.html[{kib} privileges] and link:https://www.elastic.co/guide/en/kibana/current/setup-cases.html[Configure access to cases]. -==== - -[discrete] -.[Alerting] Removed support for `monitoring.cluster_alerts.allowedSpaces`. (8.0) -[%collapsible] -==== -*Details* + -The `monitoring.cluster_alerts.allowedSpaces` setting, which {kib} uses to create Stack Monitoring alerts, has been removed. For more information, refer to {kibana-pull}123229[#123229]. - -*Impact* + -Before you upgrade to 8.0.0, remove `monitoring.cluster_alerts.allowedSpaces` from kibana.yml. -==== - -[discrete] -[[breaking-114558]] -.[Alerting] Removed `xpack.task_manager.index` setting. (8.0) -[%collapsible] -==== -*Details* + -The `xpack.task_manager.index` setting has been removed. For more information, refer to {kibana-pull}114558[#114558]. - -*Impact* + -Before you upgrade to 8.0.0, remove `xpack.task_manager.index` from kibana.yml. -==== - -[discrete] -[[breaking-113461]] -.[Alerting] Removed ability to remove Elastic-managed plugins. (8.0) -[%collapsible] -==== -*Details* + -The `xpack.actions.enabled` setting has been removed. For more information, refer to {kibana-pull}113461[#113461]. - -*Impact* + -Before you upgrade to 8.0.0, remove `xpack.actions.enabled` from kibana.yml. -==== - - -// Data views - -[discrete] -[[breaking-139431]] -.[Data views] Removed filter validation for ad-hoc data views (8.5) -[%collapsible] -==== -*Details* + -Filters associated with unknown data views, such as deleted data views, are no longer automatically disabled. For more information, refer to {kibana-pull}139431[#139431]. - -*Impact* + -Filters associated with unknown data views now display a warning message instead of being automatically disabled. -==== - -// Dev tools - -[discrete] -[[breaking-159041]] -.[Dev tools] The `addProcessorDefinition` function was removed from Console. (8.10) -[%collapsible] -==== -*Details* + -The function `addProcessorDefinition` is removed from the Console plugin start contract (server side). For more information, refer to ({kibana-pull}159041[#159041]). -==== - -[discrete] -[[breaking-123754]] -.[Dev tools] Removed the `console.ssl` setting. (8.0) -[%collapsible] -==== -*Details* + -The `console.ssl` setting has been removed. For more information, refer to {kibana-pull}123754[#123754]. - -*Impact* + -Before you upgrade to 8.0.0, remove `console.ssl` from kibana.yml. -==== - -// ECS - -[discrete] -.[Elastic Common Schema] Moved `doc_root.vulnerability.package` to doc_root.package (ECS). (8.11) -[%collapsible] -==== -*Details* + -This change updates all instances of `vulnerability.package` to the ECS standard package fieldset. For more information, refer to ({kibana-pull}164651[#164651]). -==== - -// ESQL -[discrete] -[[breaking-182074]] -.[ES|QL] Renamed an advanced setting to enable {esql}. (8.14) -[%collapsible] -==== -*Details* + -The advanced setting which hides {esql} from the UI has been renamed from `discover:enableESQL` to `enableESQL`. It is enabled by default and must be switched off to disable {esql} features from your {kib} applications. For more information, refer to ({kibana-pull}182074[#182074]). -==== - -[discrete] -[[breaking-174674]] -.[ES|QL] Removed `is_nan`, `is_finite`, and `is_infinite` functions from {esql}. (8.13) -[%collapsible] -==== -*Details* + -These functions have been removed from {esql} queries as they are not supported. Errors would be thrown when trying to use them. For more information, refer to ({kibana-pull}174674[#174674]). -==== - -// Fleet -[discrete] -[[breaking-184036]] -.[Fleet] Added rate limiting to install by upload endpoint. (8.15) -[%collapsible] -==== -*Details* + -Rate limiting was added to the upload `api/fleet/epm/packages` endpoint. For more information, refer to {kibana-pull}184036[#184036]. - -*Impact* + -If you do two or more requests in less than 10 seconds, the subsequent requests fail with `429 Too Many Requests`. -Wait 10 seconds before uploading again. -This change could potentially break automations for users that rely on frequent package uploads. -==== - -[discrete] -[[breaking-176879]] -.[Fleet]Removed conditional topics for Kafka outputs. (8.13) -[%collapsible] -==== -*Details* + -The Kafka output no longer supports conditional topics. For more information, refer to ({kibana-pull}176879[#176879]). -==== - -[discrete] -[[breaking-176443]] -.[Fleet]Most Fleet installed integrations are now read-only and labelled with a *Managed* tag in the Kibana UI. (8.13) -[%collapsible] -==== -*Details* + - -Integration content installed by {fleet} is no longer editable. This content is tagged with *Managed* in the {kib} UI, and is Elastic managed. This content cannot be edited or deleted. However, managed visualizations, dashboards, and saved searches can be cloned. The clones can be customized. - -When cloning a dashboard the cloned panels become entirely independent copies that are unlinked from the original configurations and dependencies. - -For managed content relating to specific visualization editors such as Lens, TSVB, and Maps, the clones retain the original reference configurations. The same applies to editing any saved searches in a managed visualization. - -For more information, refer to ({kibana-pull}172393[#172393]). -==== - -[discrete] -[[breaking-167085]] -.[Fleet] Improved config output validation for default output. (8.11) -[%collapsible] -==== -*Details* + -Improve config output validation to not allow to defining multiple default outputs in {kib} configuration. For more information, refer to ({kibana-pull}167085[#167085]). -==== - -[discrete] -[[breaking-138677]] -.[Fleet] Removed the `package_policies` field from the agent policy saved object. (8.5) -[%collapsible] -==== -*Details* + -The bidirectional foreign key between agent policy and package policy has been removed. For more information, refer to {kibana-pull}138677[#138677]. - -*Impact* + -The agent policy saved object no longer includes the `package_policies` field. -==== - -[discrete] -[[breaking-135669]] -.[Fleet] xpack.agents.* are now uneditable in UI when defined in kibana.yml. (8.4) -[%collapsible] -==== -*Details* + -When you configure `xpack.fleet.agents.fleet_server.hosts` and `xpack.fleet.agents.elasticsearch.hosts` in kibana.yml, you are unable to update the fields on the Fleet UI. - -For more information, refer to {kibana-pull}135669[#135669]. - -*Impact* + -To configure `xpack.fleet.agents.fleet_server.hosts` and `xpack.fleet.agents.elasticsearch.hosts` on the Fleet UI, avoid configuring the settings in kibana.yml. -==== - -[discrete] -[[breaking-118854]] -.[Fleet] Split package policy `upgrade` endpoint for Fleet. (8.0) -[%collapsible] -==== -*Details* + -For package policy upgrades, the packagePolicy `upgrade` endpoint format supports a mutative upgrade operation (when `dryRun: false`) and a read-only dry run operation (when `dryRun: true`): - -[source,text] --- - POST /package_policies/upgrade - { - packagePolicyIds: [...], - dryRun: false - } --- - -For more information, refer to {kibana-pull}118854[#118854]. - -*Impact* + -The endpoint is now split into two separate endpoints: - -[source,text] --- - POST /package_policies/upgrade - { - packagePolicyIds: [...] - } - - POST /package_policies/upgrade/dry_run - { - packagePolicyIds: [...] - } --- -==== - -// General settings - -[discrete] -[[breaking-180986]] -.[General settings] Updated request processing during shutdown. (8.16) -[%collapsible] -==== -*Details* + -During shutdown, {kib} now waits for all the ongoing requests to complete according to the `server.shutdownTimeout` setting. During that period, the incoming socket is closed and any new incoming requests are rejected. Before this update, new incoming requests received a response with the status code 503 and body `{"message": "Kibana is shutting down and not accepting new incoming requests"}`. For more information, refer to {kibana-pull}180986[#180986]. -==== - -[discrete] -[[breaking-111535]] -.[General settings] Removed `CONFIG_PATH` and `DATA_PATH` environment variables. (8.0) -[%collapsible] -==== -*Details* + -The `CONFIG_PATH` and `DATA_PATH` environment variables have been removed. For more information, refer to {kibana-pull}111535[#111535]. - -*Impact* + -Replace the `CONFIG_PATH` environment variable with `KBN_PATH_CONF`, and replace `DATA_PATH` with the `path.data` setting. -==== - -[discrete] -[[breaking-114379]] -.[General settings] Removed support for csp.rules configuration. (8.0) -[%collapsible] -==== -*Details* + -Support for the `csp.rules` configuration property has been removed. For more information, refer to {kibana-pull}114379[#114379]. - -*Impact* + -Configuring the default `csp.script_src`, `csp.workers_src`, and `csp.style_src` values is not required. -==== - -[discrete] -[[breaking-113653]] -.[General settings] Changed and removed deprecated core settings and deprecated settings from core plugins. (8.0) -[%collapsible] -==== -*Details* + -The deprecation notice for `server.cors` has changed from `level:critical` to `level:warning`. - -The following settings have changed: - -* The `xpack.banners.placement` value of `header` has been renamed to `top` - -Support for the following configuration settings has been removed: - -* `newsfeed.defaultLanguage` -* `cpu.cgroup.path.override` -* `cpuacct.cgroup.path.override` -* `server.xsrf.whitelist` -* `xpack.xpack_main.xpack_api_polling_frequency_millis` -* `KIBANA_PATH_CONF` - -For more information, refer to {kibana-pull}113653[#113653]. +=== Deprecation notices -*Impact* + -* The `header` value provided to the `xpack.banners.placement` configuration has been renamed to 'top' -* The `newsfeed.defaultLanguage` newsfeed items are retrieved based on the browser locale and default to English -* Replace `cpu.cgroup.path.override` with `ops.cGroupOverrides.cpuPath` -* Replace `cpuacct.cgroup.path.override` with `ops.cGroupOverrides.cpuAcctPath` -* Replace `server.xsrf.whitelist` with `server.xsrf.allowlist` -* Replace `xpack.xpack_main.xpack_api_polling_frequency_millis` with `xpack.licensing.api_polling_frequency` -* Replace `KIBANA_PATH_CONF` path to the {kib} configuration file using the `KBN_PATH_CONF` environment variable -==== - -[discrete] -[[breaking-113495]] -.[General settings] Removed `enabled` settings from plugins. (8.0) -[%collapsible] -==== -*Details* + -Using `{plugin_name}.enabled` to disable plugins has been removed. Some plugins, such as `telemetry`, `newsfeed`, `reporting`, and the various `vis_type` plugins will continue to support this setting. All other {kib} plugins will not support this setting. Any new plugin will support this setting only when specified in the `configSchema`. For more information, refer to {kibana-pull}113495[#113495]. - -The `xpack.security.enabled` setting has been removed. For more information, refer to {kibana-pull}111681[#111681]. - -*Impact* + -Before you upgrade to 8.0.0: - -* Remove `{plugin_name}.enabled` from kibana.yml. If you use the setting to control user access to {kib} applications, use <> instead. -* Replace `xpack.security.enabled` with {ref}/security-settings.html#general-security-settings[`xpack.security.enabled`] in elasticsearch.yml. -==== - -[discrete] -[[breaking-113367]] -.[General settings] Removed `--plugin-dir` cli option. (8.0) -[%collapsible] -==== -*Details* + -The `plugins.scanDirs` setting and `--plugin-dir` cli option have been removed. For more information, refer to {kibana-pull}113367[#113367]. - -*Impact* + -Before you upgrade to 8.0.0, remove `plugins.scanDirs` from kibana.yml. -==== - -[discrete] -[[breaking-113296]] -.[General settings] Removed support for `optimize.*` settings. (8.0) -[%collapsible] -==== -*Details* + -The legacy `optimize.*` settings have been removed. If your configuration uses the following legacy `optimize.*` settings, {kib} fails to start: - -* `optimize.lazy` -* `optimize.lazyPort` -* `optimize.lazyHost` -* `optimize.lazyPrebuild` -* `optimize.lazyProxyTimeout` -* `optimize.enabled` -* `optimize.bundleFilter` -* `optimize.bundleDir` -* `optimize.viewCaching` -* `optimize.watch` -* `optimize.watchPort` -* `optimize.watchHost` -* `optimize.watchPrebuild` -* `optimize.watchProxyTimeout` -* `optimize.useBundleCache` -* `optimize.sourceMaps` -* `optimize.workers` -* `optimize.profile` -* `optimize.validateSyntaxOfNodeModules` - -For more information, refer to {kibana-pull}113296[#113296]. - -*Impact* + -To run the `@kbn/optimizer` separately in development, pass `--no-optimizer` to `yarn start`. For more details, refer to {kibana-pull}73154[#73154]. -==== - -[discrete] -[[breaking-113173]] -.[General settings] Removed `so/server/es` settings. (8.0) -[%collapsible] -==== -*Details* + -Some of the `savedObjects`, `server`, and `elasticsearch` settings have been removed. If your configuration uses the following settings, {kib} fails to start: - -* `savedObjects.indexCheckTimeout` -* `server.xsrf.token` -* `elasticsearch.preserveHost` -* `elasticsearch.startupTimeout` - -For more information, refer to {kibana-pull}113173[#113173]. - -*Impact* + -Before you upgrade to 8.0.0., remove these settings from kibana.yml. -==== - -[discrete] -[[breaking-113068]] -.[General settings] Added requirement for inline scripting. (8.0) -[%collapsible] -==== -*Details* + -To start {kib}, you must enable inline scripting in {es}. For more information, refer to {kibana-pull}113068[#113068]. - -*Impact* + -Enable {ref}/modules-scripting-security.html[inline scripting]. -==== - -[discrete] -[[breaking-112773]] -.[General settings] Removed `kibana.index` settings. (8.0) -[%collapsible] -==== -*Details* + -The `kibana.index`, `xpack.reporting.index`, and `xpack.task_manager.index` settings have been removed. For more information, refer to {kibana-pull}112773[#112773]. - -*Impact* + -Use spaces, cross-cluster replication, or cross-cluster search. To migrate to <>, export your <> from a tenant into the default space. For more details, refer to link:https://github.com/elastic/kibana/issues/82020[#82020]. -==== - -[discrete] -[[breaking-112305]] -.[General settings] Removed legacy logging. (8.0) -[%collapsible] -==== -*Details* + -The logging configuration and log output format has changed. For more information, refer to {kibana-pull}112305[#112305]. - -*Impact* + -Use the new <>. -==== - -[discrete] -[[breaking-109798]] -.[General settings] Removed `kibana.defaultAppId` setting. (8.0) -[%collapsible] -==== -*Details* + -The deprecated `kibana.defaultAppId` setting in kibana.yml, which is also available as `kibana_legacy.defaultAppId`, has been removed. For more information, refer to {kibana-pull}109798[#109798]. - -*Impact* + -When you upgrade, remove `kibana.defaultAppId` from your kibana.yml file. To configure the default route for users when they enter a space, use the <> in *Advanced Settings*. -==== - -[discrete] -[[breaking-109350]] -.[General settings] Removed `courier:batchSearches` setting. (8.0) -[%collapsible] -==== -*Details* + -The deprecated `courier:batchSearches` setting in *Advanced Settings* has been removed. For more information, refer to {kibana-pull}109350[#109350]. - -*Impact* + -When you upgrade, the `courier:batchSearches` setting will no longer be available. -==== - - -[discrete] -[[breaking-106061]] -.[General settings] New session timeout defaults. (8.0) -[%collapsible] -==== -*Details* + -The default values for the session timeout `xpack.security.session.{lifespan|idleTimeout}` settings have changed. For more information, refer to {kibana-pull}106061[#106061] - -*Impact* + -The new default values are as follows: - -* `xpack.security.session.idleTimeout: 3d` -* `xpack.security.session.lifespan: 30d` -==== - -[discrete] -[[breaking-87114]] -.[General settings] Removed support for setting `server.host` to '0'. (8.0) -[%collapsible] -==== -*Details* + -Support for configuring {kib} with `0` as the `server.host` has been removed. Please use `0.0.0.0` instead. For more information, refer to {kibana-pull}87114[#87114] - -*Impact* + -You are now unable to use `0` as the `server.host`. -==== - -[discrete] -[[breaking-38657]] -.[General settings] Removed `xpack.security.public` and `xpack.security.authProviders` settings. (8.0) -[%collapsible] -==== -*Details* + -The `xpack.security.public` and `xpack.security.authProviders` settings have been removed. For more information, refer to {kibana-pull}38657[#38657] - -*Impact* + -Use the `xpack.security.authc.saml.realm` and `xpack.security.authc.providers` settings. -==== - -[discrete] -[[breaking-22696]] -.[General settings] Removed `logging.useUTC` setting. (8.0) -[%collapsible] -==== -*Details* + -The `logging.useUTC` setting has been removed. For more information, refer to {kibana-pull}22696[#22696] - -*Impact* + -The default timezone is UTC. To change the timezone, set `logging.timezone: false` in kibana.yml. Change the timezone when the system, such as a docker container, is configured for a nonlocal timezone. -==== - -// Index management - -[discrete] -[[breaking-35173]] -.[Index management] Removed support for time-based interval index patterns. (8.0) -[%collapsible] -==== -*Details* + -Time-based interval index patterns were deprecated in 5.x. In 6.x, you could no longer create time-based interval index patterns, but they continued to function as expected. Support for these index patterns has been removed in 8.0. For more information, refer to {kibana-pull}35173[#35173] - -*Impact* + -You must migrate your time_based index patterns to a wildcard pattern. For example, logstash-*. -==== - -// Logs - -[discrete] -[[breaking-115974]] -.[Logs] Removed deprecated alias config entries. (8.0) -[%collapsible] -==== -*Details* + -The deprecated `xpack.infra.sources.default.logAlias` and `xpack.infra.sources.default.logAlias` settings have been removed. For more information, refer to {kibana-pull}115974[#115974]. - -*Impact* + -Before you upgrade, remove the settings from kibana.yml, then configure the settings in <>. -==== - -[discrete] -[[breaking-61302]] -.[Logs] Removed configurable fields in settings. (8.0) -[%collapsible] -==== -*Details* + -The *Logs* and *Metrics* configurable fields settings have been removed. For more information, refer to {kibana-pull}61302[#61302]. - -*Impact* + -Configure the settings in https://www.elastic.co/guide/en/ecs/current/ecs-reference.html[ECS]. -==== - -// Machine Learning - -[discrete] -[[breaking-119945]] -.[Machine learning] Removed APM jobs from Machine Learning. (8.0) -[%collapsible] -==== -*Details* + -APM Node.js and RUM JavaScript anomaly detection job modules have been removed. For more information, refer to {kibana-pull}119945[#119945]. - -*Impact* + -When you upgrade to 8.0.0, you are unable to create and view the APM Node.js and RUM JavaScript jobs in Machine Learning. -==== - -[discrete] -[[breaking-115444]] -.[Machine learning] Granted access to machine learning features when base privileges are used. (8.0) -[%collapsible] -==== -*Details* + -Machine learning features are included as base privileges. For more information, refer to {kibana-pull}115444[#115444]. - -*Impact* + -If you do not want to grant users privileges to machine learning features, update <>. -==== - -// Osquery - -[discrete] -[[breaking-134855]] -.[Osquery] "All" base privilege option now also applies to Osquery. (8.3) -[%collapsible] -==== -*Details* + -The Osquery {kib} privilege has been updated, so that when the *Privileges for all features level* is set to *All*, this now applies *All* to Osquery privileges as well. Previously, users had to choose the *Customize* option to grant any access to Osquery. For more information, refer to {kibana-pull}130523[#130523]. - -*Impact* + -This impacts user roles that have *Privileges for all features* set to *All*. After this update, users with this role will have access to the Osquery page in {kib}. However, to use the Osquery feature fully, these requirements remain the same: users also need Read access to the logs-osquery_manager.result* index and the Osquery Manager integration must be deployed to Elastic Agents. -==== - -// Saved objects - -[discrete] -[[breaking-118300]] -.[Saved objects] Fail migrations for saved objects with unknown types. (8.0) -[%collapsible] -==== -*Details* + -Unknown saved object types now cause {kib} migrations to fail. For more information, refer to {kibana-issue}107678[#107678]. - -*Impact* + -To complete the migration, re-enable plugins or delete documents from the index in the previous version. -==== - -[discrete] -[[breaking-110738]] -.[Saved objects] Removed support for legacy exports. (8.0) -[%collapsible] -==== -*Details* + -In {kib} 8.0.0 and later, the legacy format from {kib} 6.x is unsupported. For more information, refer to {kibana-pull}110738[#110738] - -*Impact* + -Using the user interface to import saved objects is restricted to `.ndjson` format imports. -==== - -// Security - -[discrete] -[[breaking-116191]] -.[Security] Removed legacy audit logger. (8.0) -[%collapsible] -==== -*Details* + -The legacy audit logger has been removed. For more information, refer to {kibana-pull}116191[#116191]. - -*Impact* + -Audit logs will be written to the default location in the new ECS format. To change the output file, filter events, and more, use the <>. -==== - -[discrete] -[[breaking-41700]] -.[Security] Legacy browsers rejected by default. (8.0) -[%collapsible] -==== -*Details* + -To provide the maximum level of protection for most installations, the csp.strict config is now enabled by default. Legacy browsers not supported by Kibana, such as Internet Explorer 11, are unable to access {kib} unless explicitly enabled. All browsers officially supported by Kibana do not have this issue. For more information, refer to {kibana-pull}41700[#41700] - -*Impact* + -To enable support for legacy browsers, set `csp.strict: false` in kibana.yml. To effectively enforce the security protocol, we strongly discourage disabling `csp.strict` unless it is critical that you support Internet Explorer 11. -==== - -// Setup - -[discrete] -[[breaking-93835]] -.[Setup] Removed platform from archive root directory. (8.0) -[%collapsible] -==== -*Details* + -After you extract an archive, the output directory no longer includes the target platform. For example, `kibana-8.0.0-linux-aarch64.tar.gz` produces a `kibana-8.0.0` folder. For more information, refer to {kibana-pull}93835[#93835]. - -*Impact* + -To use the new folder, update the configuration management tools and automation. -==== - -[discrete] -[[breaking-90511]] -.[Setup] Removed default support for TLS v1.0 and v1.1. (8.0) -[%collapsible] -==== -*Details* + -The default support for TLS v1.0 and v1.1 has been removed. For more information, refer to {kibana-pull}90511[#90511]. - -*Impact* + -To enable support, set `--tls-min-1.0` in the `node.options` configuration file. To locate the configuration file, go to the kibana/config folder or any other configuration with the `KBN_PATH_CONF` environment variable. For example, if you are using a Debian-based system, the configuration file is located in /etc/kibana. -==== - -[discrete] -[[breaking-74424]] -.[Setup] Removed support for sysv init. (8.0) -[%collapsible] -==== -*Details* + -All supported operating systems use systemd service files. Any system that doesn’t have `service` aliased to use kibana.service should use `systemctl start kibana.service` instead of `service start kibana`. For more information, refer to {kibana-pull}74424[#74424]. - -*Impact* + -If your installation uses .deb or .rpm packages with SysV, migrate to systemd. -==== - -[discrete] -[[breaking-42353]] -.[Setup] Disabled response logging as a default. (8.0) -[%collapsible] -==== -*Details* + -In previous versions, all events are logged in `json` when `logging.json:true`. With the new logging configuration, you can choose the `json` and pattern output formats with layouts. For more information, refer to {kibana-pull}42353[#42353]. - -*Impact* + -To restore the previous behavior, configure the logging format for each custom appender with the `appender.layout property` in kibana.yml. There is no default for custom appenders, and each appender must be configured explicitly. -//// -[source,yaml] ----- -logging: - appenders: - custom_console: - type: console - layout: - type: pattern - custom_json: - type: console - layout: - type: json - loggers: - - name: plugins.myPlugin - appenders: [custom_console] - root: - appenders: [default, custom_json] - level: warn ----- -//// -==== - -// Sharing and reporting - -[discrete] -[[breaking-162288]] -.[Sharing & Reporting] The Download CSV endpoint has changed. (8.10) -[%collapsible] -==== -*Details* + -The API endpoint for downloading a CSV file from a saved search in the Dashboard application has changed to reflect the fact that this is an internal API. The previous API path of -`/api/reporting/v1/generate/immediate/csv_searchsource` has been changed to `/internal/reporting/generate/immediate/csv_searchsource`. For more information, refer to {kibana-pull}162288[#162288]. -==== - -[discrete] -[[breaking-158338]] -.[Sharing & Reporting] CSV reports now use PIT instead of Scroll. (8.6) -[%collapsible] -==== -*Details* + -CSV reports now use PIT instead of Scroll. Previously generated CSV reports that used an index alias with alias-only privileges, but without privileges on the alias referenced-indices will no longer generate. For more information, refer to {kibana-pull}158338[#158338]. - -*Impact* + -To generate CSV reports, grant `read` privileges to the underlying indices. -==== - -[discrete] -[[breaking-121435]] -.[Sharing & Reporting] Removed legacy CSV export type. (8.1) -[%collapsible] -==== -*Details* + -The `/api/reporting/generate/csv` endpoint has been removed. For more information, refer to {kibana-pull}121435[#121435]. - -*Impact* + -If you are using 7.13.0 and earlier, {kibana-ref-all}/8.1/automating-report-generation.html[regenerate the POST URLs] that you use to automatically generate CSV reports. -==== - -[discrete] -[[breaking-121369]] -.[Sharing & Reporting]Removed legacy PDF shim. (8.1) -[%collapsible] -==== -*Details* + -The POST URLs that you generated in {kib} 6.2.0 no longer work. For more information, refer to {kibana-pull}121369[#121369]. - -*Impact* + -{kibana-ref-all}/8.1/automating-report-generation.html[Regenerate the POST URLs] that you use to automatatically generate PDF reports. -==== - -[discrete] -[[breaking-114216]] -.[Sharing & Reporting] Removed reporting settings. (8.0) -[%collapsible] -==== -*Details* + -The following settings have been removed: - -* `xpack.reporting.capture.concurrency` - -* `xpack.reporting.capture.settleTime` - -* `xpack.reporting.capture.timeout` - -* `xpack.reporting.kibanaApp` - -For more information, refer to {kibana-pull}114216[#114216]. - -*Impact* + -Before you upgrade to 8.0.0, remove the settings from kibana.yml. -==== - -[discrete] -[[breaking-52539]] -.[Sharing & Reporting] Legacy job parameters are no longer supported. (8.0) -[%collapsible] -==== -*Details* + -*Reporting* is no longer compatible with POST URL snippets generated with {kib} 6.2.0 and earlier. For more information, refer to {kibana-pull}52539[#52539] - -*Impact* + -If you use POST URL snippets to automatically generate PDF reports, regenerate the POST URL strings. -==== - -// User management - -[discrete] -[[breaking-122722]] -.[User management] Removed the ability to use `elasticsearch.username: elastic` in production. (8.0) -[%collapsible] -==== -*Details* + -In production, you are no longer able to use the `elastic` superuser to authenticate to {es}. For more information, refer to {kibana-pull}122722[#122722]. - -*Impact* + -When you configure `elasticsearch.username: elastic`, {kib} fails. -==== - -// Visualizations and dashboards - -[discrete] -[[breaking-149482]] -.[Visualizations] Removed the fields list sampling setting from Lens. (8.7) -[%collapsible] -==== -*Details* + -`lens:useFieldExistenceSampling` has been removed from *Advanced Settings*. The setting allowed you to enable document sampling to determine the fields that are displayed in *Lens*. For more information, refer to {kibana-pull}149482[#149482]. - -*Impact* + -In 8.1.0 and later, {kib} uses the field caps API, by default, to determine the fields that are displayed in *Lens*. -==== - -[discrete] -[[breaking-146990]] -.[Visualizations] Removed legacy pie chart visualization setting. (8.7) -[%collapsible] -==== -*Details* + -`visualization:visualize:legacyPieChartsLibrary` has been removed from *Advanced Settings*. The setting allowed you to create aggregation-based pie chart visualizations using the legacy charts library. For more information, refer to {kibana-pull}146990[#146990]. - -*Impact* + -In 7.14.0 and later, the new aggregation-based pie chart visualization is available by default. For more information, check <>. -==== - -[discrete] -[[breaking-143081]] -.[Visualizations] Changed the `histogram:maxBars` default setting. (8.6) -[%collapsible] -==== -*Details* + -To configure higher resolution data histogram aggregations without changing the *Advanced Settings*, the default histogram:maxBars setting is now 1000 instead of 100. For more information, refer to {kibana-pull}143081[#143081]. - -*Impact* + -For each {kibana-ref}/xpack-spaces.html[space], complete the following to change *histogram:maxBars* to the previous default setting: - -. Open the main menu, then click *Stack Management > Advanced Settings*. -. Scroll or search for *histogram:maxBars*. -. Enter `100`, then click *Save changes*. -==== - -[discrete] -[[breaking-134336]] -.[Visualizations] Removed the legacy Timelion charts library. (8.4) -[%collapsible] -==== -*Details* + -The legacy implementation of the *Timelion* visualization charts library has been removed. All *Timelion* visualizations now use the elastic-charts library, which was introduced in 7.15.0. - -For more information, refer to {kibana-pull}134336[#134336]. - -*Impact* + -In 8.4.0 and later, you are unable to configure the *Timelion* legacy charts library advanced setting. For information about visualization Advanced Settings, check link:https://www.elastic.co/guide/en/kibana/8.4/advanced-options.html#kibana-visualization-settings[Visualization]. -==== - -[discrete] -[[breaking-129581]] -.[Visualizations] Removed Quandl and Graphite integrations. (8.3) -[%collapsible] -==== -*Details* + -The experimental `.quandl` and `.graphite` functions and advanced settings are removed from *Timelion*. For more information, check {kibana-pull}129581[#129581]. - -*Impact* + -When you use the `vis_type_timelion.graphiteUrls` kibana.yml setting, {kib} successfully starts, but logs a `[WARN ][config.deprecation] You no longer need to configure "vis_type_timelion.graphiteUrls".` warning. - -To leave your feedback about the removal of `.quandl` and `.graphite`, go to the link:https://discuss.elastic.co/c/elastic-stack/kibana/7[discuss forum]. -==== - -[discrete] -[[breaking-113516]] -.[Visualizations] Removed display options from legacy gauge visualizations. (8.0) -[%collapsible] -==== -*Details* + -The *Display warnings* option has been removed from the aggregation-based gauge visualization. For more information, refer to {kibana-pull}113516[#113516]. - -*Impact* + -When you create aggregation-based gauge visualizations, the *Display warnings* option is no longer available in *Options > Labels*. -==== - -[discrete] -[[breaking-112643]] -.[Visualizations] Removed settings from visEditors plugins. (8.0) -[%collapsible] -==== -*Details* + -The following deprecated visEditors plugin settings have been removed: - -* `metric_vis.enabled` -* `table_vis.enabled` -* `tagcloud.enabled` -* `metrics.enabled` -* `metrics.chartResolution` -* `chartResolution` -* `metrics.minimumBucketSize` -* `minimumBucketSize` -* `vega.enabled` -* `vega.enableExternalUrls` -* `vis_type_table.legacyVisEnabled` -* `timelion_vis.enabled` -* `timelion.enabled` -* `timelion.graphiteUrls` -* `timelion.ui.enabled` - -For more information, refer to {kibana-pull}112643[#112643]. - -*Impact* + -Before you upgrade, make the following changes in kibana.yml: - -* Replace `metric_vis.enabled` with `vis_type_metric.enabled` -* Replace `table_vis.enabled` with `vis_type_table.enabled` -* Replace `tagcloud.enabled` with `vis_type_tagcloud.enabled` -* Replace `metrics.enabled` with `vis_type_timeseries.enabled` -* Replace `metrics.chartResolution` and `chartResolution` with `vis_type_timeseries.chartResolution` -* Replace `metrics.minimumBucketSize` and `minimumBucketSize` with `vis_type_timeseries.minimumBucketSize` -* Replace `vega.enabled` with `vis_type_vega.enabled` -* Replace `vega.enableExternalUrls` with `vis_type_vega.enableExternalUrls` -* Remove `vis_type_table.legacyVisEnabled` -* Replace `timelion_vis.enabled` with `vis_type_timelion.enabled` -* Replace `timelion.enabled` with `vis_type_timelion.enabled` -* Replace `timelion.graphiteUrls` with `vis_type_timelion.graphiteUrls` -* Remove `timelion.ui.enabled` - -==== - -[discrete] -[[breaking-111704]] -.[Visualizations] Removed dimming opacity setting. (8.0) -[%collapsible] -==== -*Details* + -The *Dimming opacity* setting in *Advanced Settings* has been removed. For more information, refer to {kibana-pull}111704[#111704]. - -*Impact* + -When you upgrade to 8.0.0, you are no longer able to configure the dimming opactiy for visualizations. -==== - -[discrete] -[[breaking-110985]] -.[Visualizations] Removes Less stylesheet support in TSVB. (8.0) -[%collapsible] -==== -*Details* + -In *TSVB*, custom Less stylesheets have been removed. For more information, refer to {kibana-pull}110985[#110985]. - -*Impact* + -Existing less stylesheets are automatically converted to CSS stylesheets. -==== - -[discrete] -[[breaking-110571]] -.[Visualizations] Disabled the input string mode in TSVB. (8.0) -[%collapsible] -==== -*Details* + -In *TSVB*, the *Index pattern selection mode* option has been removed. For more information, refer to {kibana-pull}110571[#110571]. - -*Impact* + -To use index patterns and {es} indices in *TSVB* visualizations: - -. Open the main menu, then click *Stack Management > Advanced Settings*. - -. Select *Allow string indices in TSVB*. - -. Click *Save changes*. -==== - -[discrete] -[[breaking-116184]] -.[Visualizations] Removed proxyElasticMapsServiceInMaps Maps setting. (8.0) -[%collapsible] -==== -*Details* + -The `map.proxyElasticMapsServiceInMaps` setting has been removed. For more information, refer to {kibana-pull}116184[#116184]. - -*Impact* + -Install the on-prem version of the <>, which is a Docker service that resides in the Elastic Docker registry, in an accessible location on your internal network. When you complete the installation, update kibana.yml to point to the service. -==== - -[discrete] -[[breaking-109896]] -.[Visualizations] Removed `map.regionmap.*`. (8.0) -[%collapsible] -==== -*Details* + -The deprecated `map.regionmap.*` setting in kibana.yml has been removed. For more information, refer to {kibana-pull}109896[#109896]. - -*Impact* + -If you have maps that use `map.regionmap` layers: - -. Remove the `map.regionmap` layer. - -. To recreate the choropleth layer, use <> to index your static vector data into {es}. - -. Create a choropleth layer from the indexed vector data. -==== - - -[discrete] -[[breaking-108103]] -.[Visualizations] Removed dashboard-only mode. (8.0) -[%collapsible] -==== -*Details* + -The legacy dashboard-only mode has been removed. For more information, refer to {kibana-pull}108103[#108103]. - -*Impact* + -To grant users access to only dashboards, create a new role, then assign only the *Dashboard* feature privilege. For more information, refer to <>. -==== - -[discrete] -[[breaking-105979]] -.[Visualizations] Removed `xpack.maps.showMapVisualizationTypes` setting. (8.0) -[%collapsible] -==== -*Details* + -The deprecated `xpack.maps.showMapVisualizationTypes` setting in kibana.yml has been removed. For more information, refer to {kibana-pull}105979[#105979] - -*Impact* + -When you upgrade, remove `xpack.maps.showMapVisualizationTypes` from your kibana.yml file. -==== - -[float] -==== Elastic Observability solution - -[discrete] -[[kibana-132790]] -.[APM] Removed `apm_user`. (8.3) -[%collapsible] -==== -*Details* + -Removes the `apm_user` role. For more information, check {kibana-pull}132790[#132790]. - -*Impact* + -The `apm_user` role is replaced with the `viewer` and `editor` built-in roles. -==== - -[discrete] -[[breaking-172224]] -.[SLOs]New SLO architecture. (8.12) -[%collapsible] -==== -*Details* + -We introduced a breaking change in the SLO features that will break any SLOs created before 8.12. These SLOs have to be manually reset through an API until we provide a UI for it. The data aggregated over time (rollup) is still available in the SLI v2 index, but won't be used for summary calculation when reset. - -The previous summary transforms summarizing every SLOs won't be used anymore and can be stopped and deleted: - -* slo-summary-occurrences-7d-rolling -* slo-summary-occurrences-30d-rolling -* slo-summary-occurrences-90d-rolling -* slo-summary-occurrences-monthly-aligned -* slo-summary-occurrences-weekly-aligned -* slo-summary-timeslices-7d-rolling -* slo-summary-timeslices-30d-rolling -* slo-summary-timeslices-90d-rolling -* slo-summary-timeslices-monthly-aligned -* slo-summary-timeslices-weekly-aligned - -Be aware that when installing a new SLO (or after resetting an SLO), we install two transforms (one for the rollup data and one that summarize the rollup data). Do not delete the new `slo-summary-{slo_id}-{slo_revision}` transforms. For more information, refer to ({kibana-pull}172224[#172224]). -==== - -[discrete] -[[breaking-162665]] -.[SLO] Introduced new summary search capabilities that will cause SLOs created before 8.10 to stop working. (8.10) -[%collapsible] -==== -*Details* + - -* SLO find API body parameters have changed. -* The index mapping used by the rollup data has changed, and we have added a summary index that becomes the new source of truth for search. -* The rollup transforms have been updated, but existing SLO with their transforms won't be updated. - -If some SLOs have been installed in a prior version at 8.10, they won't work after migrating to 8.10. There are two approaches to handle this breaking change. The recommended route is to delete all SLOs before migrating to 8.10. The alternative is to migrate to 8.10 and manually remove the SLOs. - -*Removing SLOs before migrating to 8.10* - -Use the SLO UI or the SLO delete API to delete all existing SLOs. This takes care of the saved object, transform and rollup data. When all SLOs have been deleted, then delete the residual rollup indices: `.slo-observability.sli-v1*`. Note that this is v1. - -*Removing SLOs after migrating to 8.10* - -After migrating to 8.10, the previously created SLOs won’t appear in the UI because the API is using a new index. The previously created SLOs still exist, and associated transforms are still rolling up data into the previous index `.slo-observability.sli-v1*`. The SLO delete API can't be used now, so remove the resources resources manually: - -. Find all existing transforms -All SLO related transforms start with the `slo-` prefix, this request returns them all: -+ -[source, bash] ----- -GET _transform/slo-* ----- -+ -Make a note of all the transforms IDs for later. - -. Stop all transforms -+ -[source, bash] ----- -POST _transform/slo-*/_stop?force=true ----- - -. Remove all transforms -+ -From the list of transforms returned during the first step, now delete them one by one: -+ -[source, bash] ----- -DELETE _transform/{transform_id}?force=true ----- - -. Find the SLO saved objects -+ -This request lists all the SLO saved objects. The SLO IDs and the saved object IDs are not the same. -+ -[source, bash] ----- -GET kbn:/api/saved_objects/_find?type=slo ----- -+ -Make a note of all the saved object IDs from the response. - -. Remove the SLO saved objects -+ -For each saved object ID, run the following: -+ -[source, bash] ----- -DELETE kbn:/api/saved_objects/slo/{Saved_Object_Id} ----- - -. Delete the rollup indices v1 -+ -Note that this is v1. -+ -[source, bash] ----- -DELETE .slo-observability.sli-v1* ----- -==== - -[discrete] -[[breaking-159118]] -.[Uptime] Uptime app now hidden when no data is available. (8.9) -[%collapsible] -==== -*Details* + -The Uptime app now gets hidden from the interface when it doesn't have any data for more than a week. If you have a standalone Heartbeat pushing data to Elasticsearch, the Uptime app is considered active. You can disable this automatic behavior from the advanced settings in Kibana using the **Always show legacy Uptime app** option. -For synthetic monitoring, we now recommend to use the new Synthetics app. For more information, refer to {kibana-pull}159118[#159118] -==== - -[discrete] -[[breaking-159012]] -.[Uptime] Removed synthetics pattern from Uptime settings. (8.9) -[%collapsible] -==== -*Details* + -Data from browser monitors and monitors of all types created within the Synthetics App or via the Elastic Synthetics Fleet Integration will no longer appear in Uptime. For more information, refer to {kibana-pull}159012[#159012] -==== - - - -[float] -==== Elastic Search solution - -[discrete] -[[breaking-106307]] -.Required security plugin. (8.0) -[%collapsible] -==== -*Details* + -Enterprise Search now requires that you enable X-Pack Security. For more information, refer to {kibana-pull}106307[#106307] - -*Impact* + -Enable X-Pack Security. -==== - - -[float] -==== Elastic Security solution - -NOTE: For the complete Elastic Security solution release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - -[discrete] -[[breaking-161806]] -.[Elastic Defend] Converted filterQuery to KQL.(8.11) -[%collapsible] -==== -*Details* + -Converts `filterQuery` to a KQL query string. For more information, refer to ({kibana-pull}161806[#161806]). -==== - - - -[float] -=== Deprecation notices - -The following functionality is deprecated and will be removed at a future date. Deprecated functionality -does not have an immediate impact on your application, but we strongly recommend you make the necessary -updates to avoid use of deprecated features. +The following functionality is deprecated and will be removed at a future date. Deprecated functionality +does not have an immediate impact on your application, but we strongly recommend you make the necessary +updates to avoid use of deprecated features. Use the **Kibana Upgrade Assistant** to prepare for your upgrade to the next version of the Elastic Stack. The assistant identifies deprecated settings in your configuration and guides you through the process of @@ -1425,399 +110,6 @@ resolving issues if any deprecated features are enabled. To access the assistant, go to **Stack Management** > **Upgrade Assistant**. -[float] -==== Kibana APIs - -[discrete] -[[kibana-152236]] -.Deprecated Agent reassign API PUT endpoint. (8.8) -[%collapsible] -==== -*Details* + -The PUT endpoint for the agent reassign API is deprecated. For more information, refer to {kibana-pull}152236[#152236]. - -*Impact* + -Use the POST endpoint for the agent reassign API. -==== - -[discrete] -[[kibana-151564]] -.Deprecated `total` in `/agent_status` Fleet API. (8.8) -[%collapsible] -==== -*Details* + -The `total` field in `/agent_status` Fleet API responses is deprecated. For more information, refer to {kibana-pull}151564[#151564]. - -*Impact* + -The `/agent_status` Fleet API now returns the following statuses: - -* `all` — All active and inactive -* `active` — All active -==== - -[discrete] -[[kibana-150267]] -.Deprecated Saved objects APIs. (8.7) -[%collapsible] -==== -*Details* + -The following saved objects APIs have been deprecated. - -[source,text] --- -/api/saved_objects/{type}/{id} -/api/saved_objects/resolve/{type}/{id} -/api/saved_objects/{type}/{id?} -/api/saved_objects/{type}/{id} -/api/saved_objects/_find -/api/saved_objects/{type}/{id} -/api/saved_objects/_bulk_get -/api/saved_objects/_bulk_create -/api/saved_objects/_bulk_resolve -/api/saved_objects/_bulk_update -/api/saved_objects/_bulk_delete --- - -For more information, refer to ({kibana-pull}150267[#150267]). - -*Impact* + -Use dedicated public APIs instead, for example use <> to manage Data Views. -==== - -[discrete] -[[deprecation-119494]] -.Updates Fleet API to improve consistency. (8.0) -[%collapsible] -==== -*Details* + -The Fleet API has been updated to improve consistency: - -* Hyphens are changed to underscores in some names. -* The `pkgkey` path parameter in the packages endpoint is split. -* The `response` and `list` properties are renamed to `items` or `item` in some -responses. - -For more information, refer to {kibana-pull}119494[#119494]. - -*Impact* + -When you upgrade to 8.0.0, use the following API changes: - -* Use `enrollment_api_keys` instead of `enrollment-api-keys`. - -* Use `agent_status` instead of `agent-status`. - -* Use `service_tokens` instead of `service-tokens`. - -* Use `/epm/packages/{packageName}/{version}` instead of `/epm/packages/{pkgkey}`. - -* Use `items[]` instead of `response[]` in: -+ -[source,text] --- -/api/fleet/enrollment_api_keys -/api/fleet/agents -/epm/packages/ -/epm/categories -/epm/packages/_bulk -/epm/packages/limited -/epm/packages/{packageName}/{version} <1> --- -<1> Use `items[]` when the verb is `POST` or `DELETE`. Use `item` when the verb -is `GET` or `PUT`. - -For more information, refer to {fleet-guide}/fleet-api-docs.html[Fleet APIs]. - -==== - -[float] -==== Kibana platform - -// Alerting - -[discrete] -[[kibana-161136]] -.[Alerting] Action variables in the UI and in tests that were no longer used have been replaced. (8.10) -[%collapsible] -==== -*Details* + -The following rule action variables have been deprecated. Use the recommended variables (in parentheses) instead: - -* alertActionGroup (alert.actionGroup) -* alertActionGroupName (alert.actionGroupName) -* alertActionSubgroup (alert.actionSubgroup) -* alertId (rule.id) -* alertInstanceId (alert.id) -* alertName (rule.name) -* params (rule.params) -* spaceId (rule.spaceId) -* tags (rule.tags) - -For more information, refer to ({kibana-pull}161136[#161136]). -==== - -// Discover - -[discrete] -[[deprecation-search-sessions]] -.[Discover] <> are deprecated in 8.15.0 and will be removed in a future version. (8.15) -[%collapsible] -==== -*Details* + -Search sessions are now deprecated and will be removed in a future version. By default, queries that take longer than 10 minutes (the default for the advanced setting `search:timeout`) will be canceled. To allow queries to run longer, consider increasing `search:timeout` or setting it to `0` which will allow queries to continue running as long as a user is waiting on-screen for results. -==== - - -// General settings - -[discrete] -[[kibana-154275]] -.[General settings] Deprecated ephemeral Task Manager settings (8.8) -[%collapsible] -==== -*Details* + -The following Task Manager settings are deprecated: - -* `xpack.task_manager.ephemeral_tasks.enabled` -* `xpack.task_manager.ephemeral_tasks.request_capacity` -* `xpack.alerting.maxEphemeralActionsPerAlert` - -For more information, refer to {kibana-pull}154275[#154275]. - -*Impact* + -To improve task execution resiliency, remove the deprecated settings from the `kibana.yml` file. For detailed information, check link:https://www.elastic.co/guide/en/kibana/current/task-manager-settings-kb.html[Task Manager settings in {kib}]. -==== - -[discrete] -[[kibana-122075]] -.[General settings] Deprecated `xpack.data_enhanced.*` setting. (8.3) -[%collapsible] -==== -*Details* + -In kibana.yml, the `xpack.data_enhanced.*` setting is deprecated. For more information, check {kibana-pull}122075[#122075]. - -*Impact* + -Use the `data.*` configuration parameters instead. -==== - -[discrete] -[[deprecation-33603]] -.[General settings] Removed `xpack:defaultAdminEmail` setting. (8.0) -[%collapsible] -==== -*Details* + -The `xpack:default_admin_email` setting for monitoring use has been removed. For more information, refer to {kibana-pull}33603[#33603] - -*Impact* + -Use the `xpack.monitoring.clusterAlertsEmail` in kibana.yml. -==== - -// Security - -[discrete] -[[kibana-136422]] -.[Security] Deprecated ApiKey authentication for interactive users. (8.4) -[%collapsible] -==== -*Details* + -The ability to authenticate interactive users with ApiKey via a web browser has been deprecated, and will be removed in a future version. - -For more information, refer to {kibana-pull}136422[#136422]. - -*Impact* + -To authenticate interactive users via a web browser, use <>. Use API keys only for programmatic access to {kib} and {es}. -==== - -[discrete] -[[kibana-131636]] -.[Security] Deprecated anonymous authentication credentials. (8.3) -[%collapsible] -==== -*Details* + -The apiKey, including key and ID/key pair, and `elasticsearch_anonymous_user` credential types for anonymous authentication providers are deprecated. For more information, check {kibana-pull}131636[#131636]. - -*Impact* + -If you have anonymous authentication provider configured with apiKey or `elasticsearch_anonymous_user` credential types, a deprecation warning appears, even when the provider is not enabled. -==== - -[discrete] -[[kibana-131166]] -.[Security] Deprecated v1 and v2 security_linux and security_windows jobs. (8.3) -[%collapsible] -==== -*Details* + -The v1 and v2 job configurations for security_linux and security_windows are deprecated. For more information, check {kibana-pull}131166[#131166]. - -*Impact* + -The following security_linux and security_windows job configurations are updated to v3: - -* security_linux: - -** v3_linux_anomalous_network_activity -** v3_linux_anomalous_network_port_activity_ecs -** v3_linux_anomalous_process_all_hosts_ecs -** v3_linux_anomalous_user_name_ecs -** v3_linux_network_configuration_discovery -** v3_linux_network_connection_discovery -** v3_linux_rare_metadata_process -** v3_linux_rare_metadata_user -** v3_linux_rare_sudo_user -** v3_linux_rare_user_compiler -** v3_linux_system_information_discovery -** v3_linux_system_process_discovery -** v3_linux_system_user_discovery -** v3_rare_process_by_host_linux_ecs - -* security_windows: - -** v3_rare_process_by_host_windows_ecs -** v3_windows_anomalous_network_activity_ecs -** v3_windows_anomalous_path_activity_ecs -** v3_windows_anomalous_process_all_hosts_ecs -** v3_windows_anomalous_process_creation -** v3_windows_anomalous_script -** v3_windows_anomalous_service -** v3_windows_anomalous_user_name_ecs -** v3_windows_rare_metadata_process -** v3_windows_rare_metadata_user -** v3_windows_rare_user_runas_event -** v3_windows_rare_user_type10_remote_login -==== - - -// Sharing & Reporting - -[discrete] -[[kibana-178159]] -.[Sharing & Reporting] Downloading a CSV file from a saved search panel in a dashboard has become deprecated in favor of generating a CSV report. (8.14) -[%collapsible] -==== -*Details* + -The mechanism of exporting CSV data from a saved search panel in a dashboard has been changed to generate a CSV report, rather than allowing the CSV data to be downloaded -without creating a report. To preserve the original behavior, it is necessary to update `kibana.yml` with the setting of `xpack.reporting.csv.enablePanelActionDownload: -true`. The scope of this breaking change is limited to downloading CSV files from saved search panels only; downloading CSV files from other types of dashboard panels is -unchanged. For more information, refer to {kibana-pull}178159[#178159]. -==== - - - -// Visualizations - -[discrete] -[[kibana-156455]] -.[Visualizations] The ability to create legacy input controls was hidden. (8.9) -[%collapsible] -==== -*Details* + -The option to create legacy input controls when creating a new visualization is hidden. For more information, refer to {kibana-pull}156455[#156455] -==== - -[discrete] -[[kibana-155503]] -.[Visualizations] Removed legacy field stats. (8.9) -[%collapsible] -==== -*Details* + -Legacy felid stats that were previously shown within a popover have been removed. For more information, refer to {kibana-pull}155503[#155503] -==== - -[discrete] -.[Visualizations] Deprecated input control panels in dashboards. (8.3) -[%collapsible] -==== -*Details* + -The input control panels, which allow you to add interactive filters to dashboards, are deprecated. For more information, check {kibana-pull}132562[#132562]. - -*Impact* + -To add interactive filters to your dashboards, use the link:https://www.elastic.co/guide/en/kibana/8.3/add-controls.html[new controls]. -==== - -[discrete] -[[kibana-130336]] -.[Visualizations] Deprecated the `Auto` default legend size in Lens. (8.3) -[%collapsible] -==== -*Details* + -In the *Lens* visualization editor, the *Auto* default for *Legend width* has been deprecated. For more information, check {kibana-pull}130336[#130336]. - -*Impact* + -When you create *Lens* visualization, the default for the *Legend width* is now *Medium*. -==== - -[float] -==== Elastic Observability solution - -[discrete] -[[deprecation-192003]] -.Deprecated the Observability AI Assistant specific advanced setting `observability:aiAssistantLogsIndexPattern`. (8.16) -[%collapsible] -==== -*Details* + -The Observability AI Assistant specific advanced setting for Logs index patterns `observability:aiAssistantLogsIndexPattern` is deprecated and no longer used. The AI Assistant will now use the existing **Log sources** setting `observability:logSources` instead. For more information, refer to ({kibana-pull}192003[#192003]). -==== - -[discrete] -[[deprecation-194519]] -.The Logs Stream was hidden by default in favor of the Logs Explorer app. (8.16) -[%collapsible] -==== -*Details* + -You can find the Logs Explorer app in the navigation menu under Logs > Explorer, or as a separate tab in Discover. For more information, refer to ({kibana-pull}194519[#194519]). - -*Impact* + -You can still show the Logs Stream app again by navigating to Stack Management > Advanced Settings and by enabling the `observability:enableLogsStream` setting. -==== - - -[discrete] -[[deprecation-120689]] -.[APM] Renamed the `autocreate` data view APM setting. (8.0) -[%collapsible] -==== -*Details* + -The `xpack.apm.autocreateApmIndexPattern` APM setting has been removed. For more information, refer to {kibana-pull}120689[#120689]. - -*Impact* + -To automatically create data views in APM, use `xpack.apm.autoCreateApmDataView`. -==== - -[discrete] -[[kibana-uptime-deprecation]] -.[Uptime] Uptime is deprecated in 8.15.0. (8.15) -[%collapsible] -==== -*Details* + -The Uptime app is already hidden from Kibana when there is no recent Heartbeat data. Migrate to Synthetics as an alternative. For more details, refer to the {observability-guide}/uptime-intro.html[Uptime documentation]. -==== - -[discrete] -[[kibana-154010]] -.[Uptime] Deprecated Synthetics and Uptime monitor schedules (8.8) -[%collapsible] -==== -*Details* + -Synthetics and Uptime monitor schedules and zip URL fields are deprecated. For more information, refer to {kibana-pull}154010[#154010] and {kibana-pull}154952[#154952]. - -*Impact* + -When you create monitors in Uptime Monitor Management and the Synthetics app, unsupported schedules are automatically transferred to the nearest supported schedule. To use zip URLs, use project monitors. -==== - -[discrete] -[[kibana-149506]] -.[Uptime] Deprecated Elastic Synthetics integration. (8.8) -[%collapsible] -==== -*Details* + -The Elastic Synthetics integration is deprecated. For more information, refer to {kibana-pull}149506[#149506]. - -*Impact* + -To monitor endpoints, pages, and user journeys, go to **{observability}** -> **Synthetics (beta)**. -==== - -[float] -==== Elastic Security solution - -NOTE: For the complete Elastic Security solution release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. - diff --git a/docs/user/whats-new.asciidoc b/docs/user/whats-new.asciidoc index 25568518ad2ec..32e7bbbc359b5 100644 --- a/docs/user/whats-new.asciidoc +++ b/docs/user/whats-new.asciidoc @@ -1,144 +1,10 @@ [[whats-new]] -== What's new in 8.16 +== What's new in 9.0 -Here are the highlights of what's new and improved in 8.16. +Here are the highlights of what's new and improved in 9.0. For detailed information about this release, check the <>. -Previous versions: {kibana-ref-all}/8.15/whats-new.html[8.15] | {kibana-ref-all}/8.14/whats-new.html[8.14] | {kibana-ref-all}/8.13/whats-new.html[8.13] | {kibana-ref-all}/8.12/whats-new.html[8.12] | {kibana-ref-all}/8.11/whats-new.html[8.11] | {kibana-ref-all}/8.10/whats-new.html[8.10] | {kibana-ref-all}/8.9/whats-new.html[8.9] | {kibana-ref-all}/8.8/whats-new.html[8.8] | {kibana-ref-all}/8.7/whats-new.html[8.7] | {kibana-ref-all}/8.6/whats-new.html[8.6] | {kibana-ref-all}/8.5/whats-new.html[8.5] | {kibana-ref-all}/8.4/whats-new.html[8.4] | {kibana-ref-all}/8.3/whats-new.html[8.3] | {kibana-ref-all}/8.2/whats-new.html[8.2] | {kibana-ref-all}/8.1/whats-new.html[8.1] | {kibana-ref-all}/8.0/whats-new.html[8.0] - -[discrete] -=== Solution-oriented navigation -On Elastic Cloud Hosted deployments running on version 8.16, you can now navigate Kibana using a lighter, solution-oriented left navigation menu, called **Solution view**. - -There are four selectable solution views: Search, Observability, Security, and Classic. Search, Observability, and Security are the new navigation menus. Each of those brings simplicity by focusing the left navigation menu on a relevant subset of features, scoped to its associated use cases, and offers a dedicated home page. Classic has the same navigation menu as 8.15 and before. - -Each space has its own solution view setting which determines the navigation experience for all users of that space. - -When creating a new deployment, you will now be asked to choose between one of the 3 new solution views for your default space. If you prefer to stick with the classic, multi-layered navigation, you can do so once the deployment is created by navigating to your space settings. - -Deployments upgrading from a previous version to 8.16 keep the classic navigation. Admins can enable one of the new solution views from the space settings. - -image::images/solution-view-obs.png[Example of observability solution view] -_The Observability solution view and its Home page._ - -[discrete] -=== Discover and ES|QL - -[discrete] -==== Contextual Data presentation - -In this release, Discover introduces enhanced contextual data presentation. Previously, you needed to manually select relevant fields and set up your workspace before diving into data exploration. Now, Discover automatically tailors the user experience based on the data being explored, powered by a scalable contextual architecture. For example, when analyzing logs, you'll see a *log.level* field rendered directly in the table, a custom Logs overview in the document viewer, and log.level indicators on individual rows. - -image::images/discover-log-level.png[Log level badge displaying in the Discover grid] - -[discrete] -==== Recommended ES|QL queries - -Writing ES|QL queries just got easier. Many users face challenges when authoring queries, and even more so when unfamiliar with the syntax or data structure. This can lead to inefficiencies in data analysis and visualization. We want to reduce the time it takes to create queries and to lower the learning curve for both new and existing users by suggesting recommended queries within the ES|QL Help menu and from the auto-complete. - -image::images/esql-suggestions.png[A list of suggestions to get started with an ES|QL query, width=30%] -_Recommended ES|QL queries from the ES|QL help menu_ - -image::images/esql-autocomplete-suggestions.png[A list of suggestions in the autocomplete menu of an ES|QL query, width=50%] -_Recommended ES|QL queries from auto-complete suggestions_ - - - -[discrete] -=== Dashboards - -[discrete] -==== Manage dashboards more easily and efficiently -As part of a series of improvements to help you find and manage your dashboards https://www.elastic.co/guide/en/kibana/8.15/whats-new.html#_view_dashboard_creator_and_last_editor[started in version 8.15], the new default way to sort your dashboards is by recently viewed, and we are adding an option to star your favorite dashboards, as well as some statistics to monitor the usage of your dashboards. - -You can find your favorite dashboards in the new **Starred** tab. - -image::images/dashboard-star.png[Viewing starred dashboards] - -By opening a dashboard's details using the “info” icon from the dashboard list view, you can now get a sense of the popularity of that dashboard with a histogram showing how many times the dashboard was viewed in the last 90 days. - -image::images/dashboard-usage.png[Dashboard usage chart] - -[discrete] -==== Log Pattern Analysis dashboard panels -Log Pattern Analysis panels are now available for you to add to your dashboards, making AIOps even more embedded in your workflows and where you need it. When filtering patterns, the dashboard’s data adjusts accordingly. You can also choose the filtering to transition you into Discover for further exploration. - -image:https://images.contentstack.io/v3/assets/bltefdd0b53724fa2ce/blt8288e01386b5830c/67222fb0d2da223e27bc1e67/log_analysis_panel.gif[Log pattern analysis panel in dashboards] - - -[discrete] -==== Color text values in tables -Previously, you could only decide to color numeric values in tables. We're adding the ability to also color your string values. You can decide whether you want to color the whole cell, or only the text. - -image::images/table-coloring.png[Coloring table cells with string values] - - -[discrete] -==== Formatting options for your metrics -We've received a lot of feedback asking for more flexibility to customize the appearance of your metrics. In this version, we are adding the ability to customize the title and value alignment, as well as the font size. Selecting the *Fit* option will adjust the font size and make the metric value occupy the entire panel. - -image::images/metric-customization.png[Customization options for a metric panel] - - - -//[discrete] -//=== Alerting, cases, and connectors - - -[discrete] -=== Managing {kib} and data - -[discrete] -==== Edit space access from the space settings -As an admin, you can now assign roles to and edit role permissions on a given space directly from the settings of that space. - -Prior to 8.16, you could only do this from the role settings, which was counterintuitive. - -image::space-settings.png[Editing space settings with new options] - -[discrete] -==== New IP Location processor -Enhancing location information based on IP addresses just got easier with the new IP Location processor. In addition to the existing free GeoLite offerings from MaxMind, we have integrated with MaxMind’s premium GeoIP databases for users who have licensed MaxMind’s products. If you're an Enterprise Elastic customer, you now have an additional third-party product, IP Info, available for use as well. These additional data sources provide improved options for enriching data with location information associated with IP addresses to improve telemetry and insights. To utilize these features beyond the free MaxMind GeoIP database, you will need to have licensed premium MaxMind products and/or the IP Info database. - -image::images/ip-location-processor.png[The IP Location processor] - -[discrete] -==== File uploader PDF support -The file uploader provides a quick way to upload data and start using Elastic. In 8.16, we are improving it to allow you to upload data from PDF files. - -image:https://images.contentstack.io/v3/assets/bltefdd0b53724fa2ce/blte8f0b295330b7e68/67222fb0ca492a5044b51bd8/file_uploader_pdf.gif[File uploader with PDF support] - -[discrete] -=== Developer Tools Console redesign -We're excited to introduce a number of improvements to the overall user experience on one of our most popular features: **Console**. If you're new to Console, you will be welcomed by an onboarding tour that will help you get started quickly with your first requests. And if you're already a regular Console user, you will notice a variety of new features, including the ability to copy outputs to the clipboard, import and export request files, enjoy improved responsiveness, and other quality of life improvements. - -image::images/monaco-console.png[Console's redesign featuring the Monaco editor] - -[discrete] -=== Machine Learning - -[discrete] -==== The Inference API is now Generally Available - -Starting in 8.16, the {ref}/inference-apis.html[Inference API] is now GA, offering production-level stability, robustness and performance. Elastic’s Inference API integrates the state-of-the-art in AI inference, including ELSER, your Elastic hosted models and {ref}/put-inference-api.html#put-inference-api-desc[an increasing array of external models and tasks] in a unified, lean syntax. Used with {ref}/semantic-text.html[semantic_text] or the vector fields supported by the Elastic vector database, you can perform AI search, reranking, and completion with simplicity. In 8.16, we're also adding streamed completions for improved flows and real time interactions and GenAI experiences. - -[discrete] -==== ELSER and trained models adaptive resources and chunking strategies - -From 8.16, ELSER and the other AI search and NLP models you use in Elastic automatically adapt resource consumption according to the inference load, providing the performance you need during peak times and reducing the cost during slow periods, all the way down to zero cost during idle times. - -We're also improving the UX through which you deploy your models. You can provision search-optimized and ingest-optimized model deployments with a one-click selection. An optimized configuration is created without the need to specify parameters such as threads and allocations. Combined with the flexibility of ML auto-scaling on Elastic Cloud and the incredible elasticity of Elastic Cloud Serverless, you are in full control of both performance and cost. - -image::https://images.contentstack.io/v3/assets/bltefdd0b53724fa2ce/blt429790e1de1b4f93/67222fb048ec8c73255ef4eb/trained_models.gif[Trained models and ELSER] - -In addition, from 8.16 you can choose between a word or sequence-based chunking strategy to use with your trained models, and you can also customize the maximum size and overlap parameters. A suitable chunking strategy can result in gains depending on the model you use, the length and nature of the texts and the length and complexity of the search queries. - - -[discrete] -==== Support for Daylight Saving Time changes in Anomaly Detection - -In 8.16, we are introducing support for DST changes in Anomaly Detection. Set up a DST calendar by selecting the right timezone and apply it to your anomaly detection jobs individually or in groups. This feature eliminates any false positives that you may have experienced previously due to Daylight Saving Time changes, and works without the need for your intervention for many years ahead. - -image::https://images.contentstack.io/v3/assets/bltefdd0b53724fa2ce/blt5fb82f18cde26710/67222fb086339971144a31e5/daylight_savings.gif[DST support in Anomaly Detection] +//Uncomment and edit from 9.1: +//Previous versions: {kibana-ref-all}/9.0/whats-new.html[9.0] | {kibana-ref-all}/8.18/whats-new.html[8.18] diff --git a/examples/resizable_layout_examples/public/application.tsx b/examples/resizable_layout_examples/public/application.tsx index b70e3642548b1..7637cf2a79c66 100644 --- a/examples/resizable_layout_examples/public/application.tsx +++ b/examples/resizable_layout_examples/public/application.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { CoreThemeProvider } from '@kbn/core-theme-browser-internal'; +import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme'; import type { AppMountParameters } from '@kbn/core/public'; import { I18nProvider } from '@kbn/i18n-react'; import React, { ReactNode, useState } from 'react'; @@ -101,7 +101,7 @@ const ResizableSection = ({ export const renderApp = ({ element, theme$ }: AppMountParameters) => { ReactDOM.render( - +
{ } />
-
+
, element ); diff --git a/examples/resizable_layout_examples/tsconfig.json b/examples/resizable_layout_examples/tsconfig.json index e998e2c117f45..ba9001547e7dc 100644 --- a/examples/resizable_layout_examples/tsconfig.json +++ b/examples/resizable_layout_examples/tsconfig.json @@ -6,10 +6,10 @@ "include": ["common/**/*", "public/**/*", "server/**/*", "../../typings/**/*"], "kbn_references": [ "@kbn/resizable-layout", - "@kbn/core-theme-browser-internal", "@kbn/core", "@kbn/i18n-react", "@kbn/developer-examples-plugin", + "@kbn/react-kibana-context-theme", ], "exclude": ["target/**/*"] } diff --git a/examples/search_examples/public/search_sessions/app.tsx b/examples/search_examples/public/search_sessions/app.tsx index d9fe9d454848e..5fcb0e326c8b8 100644 --- a/examples/search_examples/public/search_sessions/app.tsx +++ b/examples/search_examples/public/search_sessions/app.tsx @@ -32,7 +32,6 @@ import { lastValueFrom, of } from 'rxjs'; import { CoreStart } from '@kbn/core/public'; import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; -import { mountReactNode } from '@kbn/core-mount-utils-browser-internal'; import type { TimeRange } from '@kbn/es-query'; import { NavigationPublicPluginStart } from '@kbn/navigation-plugin/public'; @@ -48,6 +47,7 @@ import { import { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import type { DataView, DataViewField } from '@kbn/data-views-plugin/public'; import { createStateContainer, useContainerState } from '@kbn/kibana-utils-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { PLUGIN_ID } from '../../common'; import { getInitialStateFromUrl, SEARCH_SESSIONS_EXAMPLES_APP_LOCATOR } from './app_locator'; @@ -735,7 +735,7 @@ function doSearch( ); notifications.toasts.addSuccess({ title: 'Query result', - text: mountReactNode(message), + text: toMountPoint(message, startServices), }); } }), diff --git a/examples/search_examples/tsconfig.json b/examples/search_examples/tsconfig.json index 842a75b634918..eb4fb7b3de5c5 100644 --- a/examples/search_examples/tsconfig.json +++ b/examples/search_examples/tsconfig.json @@ -28,7 +28,6 @@ "@kbn/utility-types", "@kbn/es-query", "@kbn/i18n", - "@kbn/core-mount-utils-browser-internal", "@kbn/config-schema", "@kbn/shared-ux-router", "@kbn/search-types", diff --git a/examples/unified_field_list_examples/public/application.tsx b/examples/unified_field_list_examples/public/application.tsx index ca9e71f6ada95..6cbdc8242b6be 100644 --- a/examples/unified_field_list_examples/public/application.tsx +++ b/examples/unified_field_list_examples/public/application.tsx @@ -10,7 +10,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { I18nProvider } from '@kbn/i18n-react'; -import { CoreThemeProvider } from '@kbn/core-theme-browser-internal'; +import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme'; import type { AppMountParameters, CoreStart } from '@kbn/core/public'; import { AppPluginStartDependencies } from './types'; import { UnifiedFieldListExampleApp } from './example_app'; @@ -22,14 +22,14 @@ export const renderApp = ( ) => { ReactDOM.render( - + - + , element ); diff --git a/examples/unified_field_list_examples/tsconfig.json b/examples/unified_field_list_examples/tsconfig.json index ae6e203d67707..cd91501d05bee 100644 --- a/examples/unified_field_list_examples/tsconfig.json +++ b/examples/unified_field_list_examples/tsconfig.json @@ -28,7 +28,7 @@ "@kbn/field-formats-plugin", "@kbn/data-view-field-editor-plugin", "@kbn/unified-field-list", - "@kbn/core-theme-browser-internal", "@kbn/ui-actions-plugin", + "@kbn/react-kibana-context-theme", ] } diff --git a/package.json b/package.json index 97b697d4bedf4..052daa61fb77a 100644 --- a/package.json +++ b/package.json @@ -312,6 +312,7 @@ "@kbn/core-http-router-server-internal": "link:packages/core/http/core-http-router-server-internal", "@kbn/core-http-server": "link:packages/core/http/core-http-server", "@kbn/core-http-server-internal": "link:packages/core/http/core-http-server-internal", + "@kbn/core-http-server-utils": "link:packages/core/http/core-http-server-utils", "@kbn/core-i18n-browser": "link:packages/core/i18n/core-i18n-browser", "@kbn/core-i18n-browser-internal": "link:packages/core/i18n/core-i18n-browser-internal", "@kbn/core-i18n-server": "link:packages/core/i18n/core-i18n-server", @@ -640,7 +641,6 @@ "@kbn/management-settings-types": "link:packages/kbn-management/settings/types", "@kbn/management-settings-utilities": "link:packages/kbn-management/settings/utilities", "@kbn/management-test-plugin": "link:test/plugin_functional/plugins/management_test_plugin", - "@kbn/manifest": "link:packages/kbn-manifest", "@kbn/mapbox-gl": "link:packages/kbn-mapbox-gl", "@kbn/maps-custom-raster-source-plugin": "link:x-pack/examples/third_party_maps_source_example", "@kbn/maps-ems-plugin": "link:src/plugins/maps_ems", @@ -1460,6 +1460,7 @@ "@kbn/managed-vscode-config": "link:packages/kbn-managed-vscode-config", "@kbn/managed-vscode-config-cli": "link:packages/kbn-managed-vscode-config-cli", "@kbn/management-storybook-config": "link:packages/kbn-management/storybook/config", + "@kbn/manifest": "link:packages/kbn-manifest", "@kbn/mock-idp-plugin": "link:packages/kbn-mock-idp-plugin", "@kbn/mock-idp-utils": "link:packages/kbn-mock-idp-utils", "@kbn/observability-onboarding-e2e": "link:x-pack/plugins/observability_solution/observability_onboarding/e2e", diff --git a/packages/analytics/utils/analytics_collection_utils/kibana.jsonc b/packages/analytics/utils/analytics_collection_utils/kibana.jsonc index f909070bbe36f..2c7097a9fc5b3 100644 --- a/packages/analytics/utils/analytics_collection_utils/kibana.jsonc +++ b/packages/analytics/utils/analytics_collection_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/analytics-collection-utils", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/cloud/kibana.jsonc b/packages/cloud/kibana.jsonc index e39a0dbe40617..da8df46a19b69 100644 --- a/packages/cloud/kibana.jsonc +++ b/packages/cloud/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/cloud", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/content_editor/kibana.jsonc b/packages/content-management/content_editor/kibana.jsonc index 27bd7a53b1ee6..403c21b634dfa 100644 --- a/packages/content-management/content_editor/kibana.jsonc +++ b/packages/content-management/content_editor/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/content-management-content-editor", - "owner": "@elastic/appex-sharedux", -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/content_insights/content_insights_public/kibana.jsonc b/packages/content-management/content_insights/content_insights_public/kibana.jsonc index fc4e12374faf9..99b52889ed2a7 100644 --- a/packages/content-management/content_insights/content_insights_public/kibana.jsonc +++ b/packages/content-management/content_insights/content_insights_public/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/content-management-content-insights-public", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/content_insights/content_insights_server/kibana.jsonc b/packages/content-management/content_insights/content_insights_server/kibana.jsonc index 386c1a6bf1304..32bcff168489b 100644 --- a/packages/content-management/content_insights/content_insights_server/kibana.jsonc +++ b/packages/content-management/content_insights/content_insights_server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/content-management-content-insights-server", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/favorites/favorites_common/kibana.jsonc b/packages/content-management/favorites/favorites_common/kibana.jsonc index 69e13e656639b..46a8bdf6862b0 100644 --- a/packages/content-management/favorites/favorites_common/kibana.jsonc +++ b/packages/content-management/favorites/favorites_common/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/content-management-favorites-common", - "owner": "@elastic/appex-sharedux" + "owner": "@elastic/appex-sharedux", + "group": "platform", + "visibility": "private" } diff --git a/packages/content-management/favorites/favorites_public/kibana.jsonc b/packages/content-management/favorites/favorites_public/kibana.jsonc index a6564f6a17407..bae7450fabeff 100644 --- a/packages/content-management/favorites/favorites_public/kibana.jsonc +++ b/packages/content-management/favorites/favorites_public/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/content-management-favorites-public", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/favorites/favorites_server/kibana.jsonc b/packages/content-management/favorites/favorites_server/kibana.jsonc index 8d3fe725d1e86..9ab55caadaf89 100644 --- a/packages/content-management/favorites/favorites_server/kibana.jsonc +++ b/packages/content-management/favorites/favorites_server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/content-management-favorites-server", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/tabbed_table_list_view/kibana.jsonc b/packages/content-management/tabbed_table_list_view/kibana.jsonc index 2a4926625e746..ec30f2315a464 100644 --- a/packages/content-management/tabbed_table_list_view/kibana.jsonc +++ b/packages/content-management/tabbed_table_list_view/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/content-management-tabbed-table-list-view", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/content-management/table_list_view/kibana.jsonc b/packages/content-management/table_list_view/kibana.jsonc index 5309f399ae13a..b1d38ab0e6ca6 100644 --- a/packages/content-management/table_list_view/kibana.jsonc +++ b/packages/content-management/table_list_view/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/content-management-table-list-view", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/table_list_view_common/kibana.jsonc b/packages/content-management/table_list_view_common/kibana.jsonc index d5a4bf3fbdec0..a0257d0c3966d 100644 --- a/packages/content-management/table_list_view_common/kibana.jsonc +++ b/packages/content-management/table_list_view_common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/content-management-table-list-view-common", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/table_list_view_table/kibana.jsonc b/packages/content-management/table_list_view_table/kibana.jsonc index d842e74a83a8b..defa356d8e613 100644 --- a/packages/content-management/table_list_view_table/kibana.jsonc +++ b/packages/content-management/table_list_view_table/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/content-management-table-list-view-table", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/content-management/user_profiles/kibana.jsonc b/packages/content-management/user_profiles/kibana.jsonc index 5b9c73619d771..1d5083a5a5f7a 100644 --- a/packages/content-management/user_profiles/kibana.jsonc +++ b/packages/content-management/user_profiles/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/content-management-user-profiles", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc b/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc index b762d25410ad1..4032e0aaf53f5 100644 --- a/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc +++ b/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-analytics-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc b/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc index b3012a5456fd0..2090fc6fe0da2 100644 --- a/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc +++ b/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-analytics-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-browser/kibana.jsonc b/packages/core/analytics/core-analytics-browser/kibana.jsonc index 3b98d20b277f7..5b237dd4eed7a 100644 --- a/packages/core/analytics/core-analytics-browser/kibana.jsonc +++ b/packages/core/analytics/core-analytics-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-analytics-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-server-internal/kibana.jsonc b/packages/core/analytics/core-analytics-server-internal/kibana.jsonc index e9eaa029903b5..7483af13c418f 100644 --- a/packages/core/analytics/core-analytics-server-internal/kibana.jsonc +++ b/packages/core/analytics/core-analytics-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-analytics-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc b/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc index 325f0216755ec..639127c69f44d 100644 --- a/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc +++ b/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-analytics-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-server/kibana.jsonc b/packages/core/analytics/core-analytics-server/kibana.jsonc index 8f56bff10b6c3..2a824d4accf15 100644 --- a/packages/core/analytics/core-analytics-server/kibana.jsonc +++ b/packages/core/analytics/core-analytics-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-analytics-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/application/core-application-browser-internal/kibana.jsonc b/packages/core/application/core-application-browser-internal/kibana.jsonc index 56bd06188558f..c2401090a40c3 100644 --- a/packages/core/application/core-application-browser-internal/kibana.jsonc +++ b/packages/core/application/core-application-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-application-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/application/core-application-browser-mocks/kibana.jsonc b/packages/core/application/core-application-browser-mocks/kibana.jsonc index f1f9ae3f1b6c5..15acb592c4801 100644 --- a/packages/core/application/core-application-browser-mocks/kibana.jsonc +++ b/packages/core/application/core-application-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-application-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/application/core-application-browser/kibana.jsonc b/packages/core/application/core-application-browser/kibana.jsonc index 11ff8b45731fd..c38a82f363765 100644 --- a/packages/core/application/core-application-browser/kibana.jsonc +++ b/packages/core/application/core-application-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-application-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/application/core-application-common/kibana.jsonc b/packages/core/application/core-application-common/kibana.jsonc index 762e4f62119e8..e9b95fd9d4de3 100644 --- a/packages/core/application/core-application-common/kibana.jsonc +++ b/packages/core/application/core-application-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-application-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/apps/core-apps-browser-internal/kibana.jsonc b/packages/core/apps/core-apps-browser-internal/kibana.jsonc index e271c86c9e972..e337aad22d1b6 100644 --- a/packages/core/apps/core-apps-browser-internal/kibana.jsonc +++ b/packages/core/apps/core-apps-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-apps-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/apps/core-apps-browser-mocks/kibana.jsonc b/packages/core/apps/core-apps-browser-mocks/kibana.jsonc index 9b6a0e45ce07b..48307ba77a64b 100644 --- a/packages/core/apps/core-apps-browser-mocks/kibana.jsonc +++ b/packages/core/apps/core-apps-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-apps-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/apps/core-apps-server-internal/kibana.jsonc b/packages/core/apps/core-apps-server-internal/kibana.jsonc index fd5224a191823..3e1006b1a61d7 100644 --- a/packages/core/apps/core-apps-server-internal/kibana.jsonc +++ b/packages/core/apps/core-apps-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-apps-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/base/core-base-browser-internal/kibana.jsonc b/packages/core/base/core-base-browser-internal/kibana.jsonc index bb1d4c322ca2e..a5d8aadb28502 100644 --- a/packages/core/base/core-base-browser-internal/kibana.jsonc +++ b/packages/core/base/core-base-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-base-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/base/core-base-browser-mocks/kibana.jsonc b/packages/core/base/core-base-browser-mocks/kibana.jsonc index 5d07dc98fb926..080f81e74f8b8 100644 --- a/packages/core/base/core-base-browser-mocks/kibana.jsonc +++ b/packages/core/base/core-base-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-base-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/base/core-base-common-internal/kibana.jsonc b/packages/core/base/core-base-common-internal/kibana.jsonc index 8f2083119d1ba..3c1d71177bd19 100644 --- a/packages/core/base/core-base-common-internal/kibana.jsonc +++ b/packages/core/base/core-base-common-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-base-common-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/base/core-base-common/kibana.jsonc b/packages/core/base/core-base-common/kibana.jsonc index 5a9691ad80c45..8ae6e6e0e15e0 100644 --- a/packages/core/base/core-base-common/kibana.jsonc +++ b/packages/core/base/core-base-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-base-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/base/core-base-server-internal/kibana.jsonc b/packages/core/base/core-base-server-internal/kibana.jsonc index 2bd0a2f910422..233d8d464552c 100644 --- a/packages/core/base/core-base-server-internal/kibana.jsonc +++ b/packages/core/base/core-base-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-base-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/base/core-base-server-mocks/kibana.jsonc b/packages/core/base/core-base-server-mocks/kibana.jsonc index f43820e330509..37ed4c146acc2 100644 --- a/packages/core/base/core-base-server-mocks/kibana.jsonc +++ b/packages/core/base/core-base-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-base-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc b/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc index 3bf55481bf59d..736b1c7c8c7fc 100644 --- a/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-capabilities-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc b/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc index f418f2fe7a565..e5441f394d004 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-capabilities-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-common/kibana.jsonc b/packages/core/capabilities/core-capabilities-common/kibana.jsonc index 87bb4d2977a33..9751a8d59e254 100644 --- a/packages/core/capabilities/core-capabilities-common/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-capabilities-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc b/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc index e4ffc9a803292..3e6131c7e2230 100644 --- a/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-capabilities-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc b/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc index e881e0f0de944..55a0ff6c9b105 100644 --- a/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-capabilities-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-server/kibana.jsonc b/packages/core/capabilities/core-capabilities-server/kibana.jsonc index 5fb36e34a068d..7d1bdfe182738 100644 --- a/packages/core/capabilities/core-capabilities-server/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-capabilities-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc b/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc index cfadc0fadeb80..2c04c62ee36d7 100644 --- a/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc +++ b/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-chrome-browser-internal", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc b/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc index 7acd89dd4acf2..700a6909b6522 100644 --- a/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc +++ b/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-chrome-browser-mocks", - "devOnly": true, - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/chrome/core-chrome-browser/kibana.jsonc b/packages/core/chrome/core-chrome-browser/kibana.jsonc index 257c3aea58746..3fa61785fa7a9 100644 --- a/packages/core/chrome/core-chrome-browser/kibana.jsonc +++ b/packages/core/chrome/core-chrome-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-chrome-browser", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/config/core-config-server-internal/kibana.jsonc b/packages/core/config/core-config-server-internal/kibana.jsonc index db0adc8629097..129486d0d37f9 100644 --- a/packages/core/config/core-config-server-internal/kibana.jsonc +++ b/packages/core/config/core-config-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-config-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/custom-branding/core-custom-branding-browser-internal/kibana.jsonc b/packages/core/custom-branding/core-custom-branding-browser-internal/kibana.jsonc index a7934eead5934..d955e4c984042 100644 --- a/packages/core/custom-branding/core-custom-branding-browser-internal/kibana.jsonc +++ b/packages/core/custom-branding/core-custom-branding-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-custom-branding-browser-internal", - "owner": "@elastic/appex-sharedux", -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/custom-branding/core-custom-branding-browser-mocks/kibana.jsonc b/packages/core/custom-branding/core-custom-branding-browser-mocks/kibana.jsonc index a38fb4e9ba04a..8051fadb04856 100644 --- a/packages/core/custom-branding/core-custom-branding-browser-mocks/kibana.jsonc +++ b/packages/core/custom-branding/core-custom-branding-browser-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-custom-branding-browser-mocks", - "owner": "@elastic/appex-sharedux", -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/custom-branding/core-custom-branding-browser/kibana.jsonc b/packages/core/custom-branding/core-custom-branding-browser/kibana.jsonc index 506f5d23be4b6..65922ad38be12 100644 --- a/packages/core/custom-branding/core-custom-branding-browser/kibana.jsonc +++ b/packages/core/custom-branding/core-custom-branding-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-custom-branding-browser", - "owner": "@elastic/appex-sharedux", -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/custom-branding/core-custom-branding-common/kibana.jsonc b/packages/core/custom-branding/core-custom-branding-common/kibana.jsonc index 7043dc5c81215..b3e9ab4cfea55 100644 --- a/packages/core/custom-branding/core-custom-branding-common/kibana.jsonc +++ b/packages/core/custom-branding/core-custom-branding-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-custom-branding-common", - "owner": "@elastic/appex-sharedux", -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/custom-branding/core-custom-branding-server-internal/kibana.jsonc b/packages/core/custom-branding/core-custom-branding-server-internal/kibana.jsonc index 60370f95342fb..079b1cd465417 100644 --- a/packages/core/custom-branding/core-custom-branding-server-internal/kibana.jsonc +++ b/packages/core/custom-branding/core-custom-branding-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-custom-branding-server-internal", - "owner": "@elastic/appex-sharedux", -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/custom-branding/core-custom-branding-server-mocks/kibana.jsonc b/packages/core/custom-branding/core-custom-branding-server-mocks/kibana.jsonc index 5ed605b18dd37..8ae2ffaccc789 100644 --- a/packages/core/custom-branding/core-custom-branding-server-mocks/kibana.jsonc +++ b/packages/core/custom-branding/core-custom-branding-server-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-custom-branding-server-mocks", - "owner": "@elastic/appex-sharedux", -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/custom-branding/core-custom-branding-server/kibana.jsonc b/packages/core/custom-branding/core-custom-branding-server/kibana.jsonc index e6a7c037d461e..90ca02c45b726 100644 --- a/packages/core/custom-branding/core-custom-branding-server/kibana.jsonc +++ b/packages/core/custom-branding/core-custom-branding-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-custom-branding-server", - "owner": "@elastic/appex-sharedux", -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc index c4fd76e10bd88..e7af55ecb6e16 100644 --- a/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-deprecations-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc index f52fc09438249..8893b621ab074 100644 --- a/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-deprecations-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-browser/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser/kibana.jsonc index d24e14cb049e7..81b3711802e6d 100644 --- a/packages/core/deprecations/core-deprecations-browser/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-deprecations-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-common/kibana.jsonc b/packages/core/deprecations/core-deprecations-common/kibana.jsonc index 81fc008124c78..0e857f88107ef 100644 --- a/packages/core/deprecations/core-deprecations-common/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-deprecations-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc b/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc index 335b964f4b25c..4607178f9df04 100644 --- a/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-deprecations-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc b/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc index 7d32dce1a9f7f..7d74d5aed9b69 100644 --- a/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-deprecations-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-server/kibana.jsonc b/packages/core/deprecations/core-deprecations-server/kibana.jsonc index 8985ca948a65e..a3e5030516d4a 100644 --- a/packages/core/deprecations/core-deprecations-server/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-deprecations-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc index 0a541080ce1a3..9f2a67b5b8a96 100644 --- a/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-doc-links-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc index 3d37d0652c5cc..f13fdab327fa5 100644 --- a/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-doc-links-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-browser/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser/kibana.jsonc index 0386303378778..eb138cb6aa593 100644 --- a/packages/core/doc-links/core-doc-links-browser/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-doc-links-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc b/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc index 9c42d96aa6f0d..fbefdc0d17d95 100644 --- a/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-doc-links-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc b/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc index d7eabe4c4c502..2b01099137f52 100644 --- a/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-doc-links-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-server/kibana.jsonc b/packages/core/doc-links/core-doc-links-server/kibana.jsonc index 2f514e6031ea8..4f26c69d35634 100644 --- a/packages/core/doc-links/core-doc-links-server/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-doc-links-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc index 3591e6f14213f..02e47fb6aab08 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-elasticsearch-client-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc index da7297ebef408..0ccfa6a330676 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-elasticsearch-client-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc index 9ac8f0e982fdf..14ae0d680bb6f 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-elasticsearch-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc index 77f9199a531e1..a8a344b9f0af2 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-elasticsearch-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc index e855f5d75a618..c073052946168 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-elasticsearch-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/environment/core-environment-server-internal/kibana.jsonc b/packages/core/environment/core-environment-server-internal/kibana.jsonc index 7e0d68e96d35f..252cb8876cac2 100644 --- a/packages/core/environment/core-environment-server-internal/kibana.jsonc +++ b/packages/core/environment/core-environment-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-environment-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/environment/core-environment-server-mocks/kibana.jsonc b/packages/core/environment/core-environment-server-mocks/kibana.jsonc index 6dbbc97b8ba6a..8b5cf42eef45f 100644 --- a/packages/core/environment/core-environment-server-mocks/kibana.jsonc +++ b/packages/core/environment/core-environment-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-environment-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc index 58bc6361a167a..4b3c33afc0400 100644 --- a/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-execution-context-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc index 1aeb9063aaeda..2714ba0737e65 100644 --- a/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-execution-context-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-browser/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser/kibana.jsonc index 570753b177b7c..46050ccd3a54b 100644 --- a/packages/core/execution-context/core-execution-context-browser/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-execution-context-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-common/kibana.jsonc b/packages/core/execution-context/core-execution-context-common/kibana.jsonc index 4775632a026b7..30c9d754f0763 100644 --- a/packages/core/execution-context/core-execution-context-common/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-execution-context-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc b/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc index b7377b5cc8fc0..9299c36885912 100644 --- a/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-execution-context-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc b/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc index db21d4a76c292..8652f3508c561 100644 --- a/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-execution-context-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-server/kibana.jsonc b/packages/core/execution-context/core-execution-context-server/kibana.jsonc index 97a1236880656..b280813b06662 100644 --- a/packages/core/execution-context/core-execution-context-server/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-execution-context-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc index a2abf8bdac3fc..946ee0b3fe97c 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc +++ b/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-fatal-errors-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc index fa9111fb12dad..f55fc60682663 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc +++ b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-fatal-errors-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc index ad3f9422482c7..593cbe8755345 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc +++ b/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-fatal-errors-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/feature-flags/core-feature-flags-browser-internal/kibana.jsonc b/packages/core/feature-flags/core-feature-flags-browser-internal/kibana.jsonc index 150509b99f519..9f0b2a909d0d7 100644 --- a/packages/core/feature-flags/core-feature-flags-browser-internal/kibana.jsonc +++ b/packages/core/feature-flags/core-feature-flags-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-feature-flags-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/feature-flags/core-feature-flags-browser-mocks/kibana.jsonc b/packages/core/feature-flags/core-feature-flags-browser-mocks/kibana.jsonc index 0917a098841c4..0ffae67255610 100644 --- a/packages/core/feature-flags/core-feature-flags-browser-mocks/kibana.jsonc +++ b/packages/core/feature-flags/core-feature-flags-browser-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-feature-flags-browser-mocks", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/feature-flags/core-feature-flags-browser/kibana.jsonc b/packages/core/feature-flags/core-feature-flags-browser/kibana.jsonc index 56187119509b9..266c72a78bb48 100644 --- a/packages/core/feature-flags/core-feature-flags-browser/kibana.jsonc +++ b/packages/core/feature-flags/core-feature-flags-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-feature-flags-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/feature-flags/core-feature-flags-server-internal/kibana.jsonc b/packages/core/feature-flags/core-feature-flags-server-internal/kibana.jsonc index 60a01597c0454..5f4a48b31a9d8 100644 --- a/packages/core/feature-flags/core-feature-flags-server-internal/kibana.jsonc +++ b/packages/core/feature-flags/core-feature-flags-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-feature-flags-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/feature-flags/core-feature-flags-server-mocks/kibana.jsonc b/packages/core/feature-flags/core-feature-flags-server-mocks/kibana.jsonc index 69b03f0badbdc..3e7748721e7dc 100644 --- a/packages/core/feature-flags/core-feature-flags-server-mocks/kibana.jsonc +++ b/packages/core/feature-flags/core-feature-flags-server-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-feature-flags-server-mocks", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/feature-flags/core-feature-flags-server/kibana.jsonc b/packages/core/feature-flags/core-feature-flags-server/kibana.jsonc index dc896ed83b97b..b3488340c6c6e 100644 --- a/packages/core/feature-flags/core-feature-flags-server/kibana.jsonc +++ b/packages/core/feature-flags/core-feature-flags-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-feature-flags-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/http/core-http-browser-internal/kibana.jsonc b/packages/core/http/core-http-browser-internal/kibana.jsonc index 628fabf38eb5b..d0f32e6b8a0a5 100644 --- a/packages/core/http/core-http-browser-internal/kibana.jsonc +++ b/packages/core/http/core-http-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-http-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/http/core-http-browser-mocks/kibana.jsonc b/packages/core/http/core-http-browser-mocks/kibana.jsonc index a97b6052fa0fd..533733bde9b9c 100644 --- a/packages/core/http/core-http-browser-mocks/kibana.jsonc +++ b/packages/core/http/core-http-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-http-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/http/core-http-browser/kibana.jsonc b/packages/core/http/core-http-browser/kibana.jsonc index ee7f45d35429d..3d91035bb062a 100644 --- a/packages/core/http/core-http-browser/kibana.jsonc +++ b/packages/core/http/core-http-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-http-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/http/core-http-common/kibana.jsonc b/packages/core/http/core-http-common/kibana.jsonc index 372eaf2d892a8..f027a0c0be890 100644 --- a/packages/core/http/core-http-common/kibana.jsonc +++ b/packages/core/http/core-http-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-http-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/http/core-http-context-server-internal/kibana.jsonc b/packages/core/http/core-http-context-server-internal/kibana.jsonc index 20d82599501f8..1552b646a347b 100644 --- a/packages/core/http/core-http-context-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-context-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-http-context-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/http/core-http-context-server-mocks/kibana.jsonc b/packages/core/http/core-http-context-server-mocks/kibana.jsonc index 20778b8e10538..2460079ed5377 100644 --- a/packages/core/http/core-http-context-server-mocks/kibana.jsonc +++ b/packages/core/http/core-http-context-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-http-context-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/http/core-http-request-handler-context-server-internal/kibana.jsonc b/packages/core/http/core-http-request-handler-context-server-internal/kibana.jsonc index 8fc7abfabeeec..df616684d6ac0 100644 --- a/packages/core/http/core-http-request-handler-context-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-request-handler-context-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-http-request-handler-context-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/http/core-http-request-handler-context-server/kibana.jsonc b/packages/core/http/core-http-request-handler-context-server/kibana.jsonc index 45786e53decbe..63754fc77b93b 100644 --- a/packages/core/http/core-http-request-handler-context-server/kibana.jsonc +++ b/packages/core/http/core-http-request-handler-context-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-http-request-handler-context-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/http/core-http-resources-server-internal/kibana.jsonc b/packages/core/http/core-http-resources-server-internal/kibana.jsonc index d9217be8446de..9c9a601ffd4e4 100644 --- a/packages/core/http/core-http-resources-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-resources-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-http-resources-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/http/core-http-resources-server-mocks/kibana.jsonc b/packages/core/http/core-http-resources-server-mocks/kibana.jsonc index e6ec34b3b590d..3c227ea942e08 100644 --- a/packages/core/http/core-http-resources-server-mocks/kibana.jsonc +++ b/packages/core/http/core-http-resources-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-http-resources-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/http/core-http-resources-server/kibana.jsonc b/packages/core/http/core-http-resources-server/kibana.jsonc index 2b80c017c4d9d..37c9c516fc444 100644 --- a/packages/core/http/core-http-resources-server/kibana.jsonc +++ b/packages/core/http/core-http-resources-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-http-resources-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/http/core-http-router-server-internal/kibana.jsonc b/packages/core/http/core-http-router-server-internal/kibana.jsonc index 31b2f2dec88ad..5f724841f2acb 100644 --- a/packages/core/http/core-http-router-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-router-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-http-router-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/http/core-http-router-server-mocks/kibana.jsonc b/packages/core/http/core-http-router-server-mocks/kibana.jsonc index 505cad6714c81..70d2412b9b0e0 100644 --- a/packages/core/http/core-http-router-server-mocks/kibana.jsonc +++ b/packages/core/http/core-http-router-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-http-router-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/http/core-http-router-server-mocks/src/router.mock.ts b/packages/core/http/core-http-router-server-mocks/src/router.mock.ts index 858c0753eeb2d..a9995ec887a8e 100644 --- a/packages/core/http/core-http-router-server-mocks/src/router.mock.ts +++ b/packages/core/http/core-http-router-server-mocks/src/router.mock.ts @@ -12,16 +12,16 @@ import { Socket } from 'net'; import { stringify } from 'query-string'; import { hapiMocks } from '@kbn/hapi-mocks'; import { schema } from '@kbn/config-schema'; -import type { - IRouter, - KibanaRequest, - RouteMethod, - RouteValidationSpec, - KibanaRouteOptions, - KibanaRequestState, - KibanaResponseFactory, +import { + type IRouter, + type KibanaRequest, + type RouteMethod, + type RouteValidationSpec, + type KibanaRouteOptions, + type KibanaRequestState, + type KibanaResponseFactory, } from '@kbn/core-http-server'; -import { CoreKibanaRequest } from '@kbn/core-http-router-server-internal'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; import { createVersionedRouterMock, type MockedVersionedRouter } from './versioned_router.mock'; export type RouterMock = jest.Mocked> & { versioned: MockedVersionedRouter }; @@ -84,7 +84,7 @@ function createKibanaRequestMock

({ const queryString = stringify(query, { sort: false }); const url = new URL(`${path}${queryString ? `?${queryString}` : ''}`, 'http://localhost'); - return CoreKibanaRequest.from( + return kibanaRequestFactory( hapiMocks.createRequest({ app: kibanaRequestState, auth, @@ -128,7 +128,7 @@ function createFakeKibanaRequestMock({ path: '/', }; - return CoreKibanaRequest.from(fakeRequest); + return kibanaRequestFactory(fakeRequest); } const createResponseFactoryMock = (): jest.Mocked => ({ diff --git a/packages/core/http/core-http-router-server-mocks/tsconfig.json b/packages/core/http/core-http-router-server-mocks/tsconfig.json index 4504850612bee..96ef422a65f66 100644 --- a/packages/core/http/core-http-router-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-router-server-mocks/tsconfig.json @@ -14,7 +14,7 @@ "@kbn/hapi-mocks", "@kbn/config-schema", "@kbn/core-http-server", - "@kbn/core-http-router-server-internal" + "@kbn/core-http-server-utils", ], "exclude": [ "target/**/*", diff --git a/packages/core/http/core-http-server-internal/kibana.jsonc b/packages/core/http/core-http-server-internal/kibana.jsonc index b3c59759d39af..1b4876b72c1b8 100644 --- a/packages/core/http/core-http-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-http-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/http/core-http-server-mocks/kibana.jsonc b/packages/core/http/core-http-server-mocks/kibana.jsonc index 9af9873c9bd5e..2e3a7104a0d80 100644 --- a/packages/core/http/core-http-server-mocks/kibana.jsonc +++ b/packages/core/http/core-http-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-http-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/http/core-http-server-utils/README.md b/packages/core/http/core-http-server-utils/README.md new file mode 100644 index 0000000000000..3954a4ff28478 --- /dev/null +++ b/packages/core/http/core-http-server-utils/README.md @@ -0,0 +1,3 @@ +# @kbn/core-http-server-utils + +This package contains public utilities for Core's server-side http service. diff --git a/packages/core/http/core-http-server-utils/index.ts b/packages/core/http/core-http-server-utils/index.ts new file mode 100644 index 0000000000000..4a1d623319735 --- /dev/null +++ b/packages/core/http/core-http-server-utils/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side + * Public License v 1"; you may not use this file except in compliance with, at + * your election, the "Elastic License 2.0", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +export { kibanaRequestFactory, isCoreKibanaRequest } from './src/request'; diff --git a/packages/core/http/core-http-server-utils/jest.config.js b/packages/core/http/core-http-server-utils/jest.config.js new file mode 100644 index 0000000000000..eff6f9ba0e4c6 --- /dev/null +++ b/packages/core/http/core-http-server-utils/jest.config.js @@ -0,0 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side + * Public License v 1"; you may not use this file except in compliance with, at + * your election, the "Elastic License 2.0", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../../../..', + roots: ['/packages/core/http/core-http-server-utils'], +}; diff --git a/packages/core/http/core-http-server-utils/kibana.jsonc b/packages/core/http/core-http-server-utils/kibana.jsonc new file mode 100644 index 0000000000000..0f4ec42aaaca5 --- /dev/null +++ b/packages/core/http/core-http-server-utils/kibana.jsonc @@ -0,0 +1,9 @@ +{ + "type": "shared-server", + "id": "@kbn/core-http-server-utils", + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} diff --git a/packages/core/http/core-http-server-utils/package.json b/packages/core/http/core-http-server-utils/package.json new file mode 100644 index 0000000000000..380dac95dd05b --- /dev/null +++ b/packages/core/http/core-http-server-utils/package.json @@ -0,0 +1,7 @@ +{ + "name": "@kbn/core-http-server-utils", + "private": true, + "version": "1.0.0", + "author": "Kibana Core", + "license": "Elastic License 2.0 OR AGPL-3.0-only OR SSPL-1.0" +} diff --git a/packages/core/http/core-http-server-utils/src/request.ts b/packages/core/http/core-http-server-utils/src/request.ts new file mode 100644 index 0000000000000..7ac797727a704 --- /dev/null +++ b/packages/core/http/core-http-server-utils/src/request.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side + * Public License v 1"; you may not use this file except in compliance with, at + * your election, the "Elastic License 2.0", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { CoreKibanaRequest } from '@kbn/core-http-router-server-internal'; +import type { + KibanaRequest, + RawRequest, + RouteValidator, + RouteValidatorFullConfigRequest, +} from '@kbn/core-http-server'; + +/** + * Allows building a KibanaRequest from a RawRequest, leveraging internal CoreKibanaRequest. + * @param req The raw request to build from + * @param routeSchemas The route schemas + * @param withoutSecretHeaders Whether we want to exclude secret headers + * @returns A KibanaRequest object + */ +export function kibanaRequestFactory( + req: RawRequest, + routeSchemas?: RouteValidator | RouteValidatorFullConfigRequest, + withoutSecretHeaders: boolean = true +): KibanaRequest { + return CoreKibanaRequest.from(req, routeSchemas, withoutSecretHeaders); +} + +export function isCoreKibanaRequest(req: KibanaRequest) { + return req instanceof CoreKibanaRequest; +} diff --git a/packages/core/http/core-http-server-utils/tsconfig.json b/packages/core/http/core-http-server-utils/tsconfig.json new file mode 100644 index 0000000000000..0a0e4516c8c5d --- /dev/null +++ b/packages/core/http/core-http-server-utils/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-http-router-server-internal", + "@kbn/core-http-server", + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/core/http/core-http-server/kibana.jsonc b/packages/core/http/core-http-server/kibana.jsonc index 3e1bc4b7b248a..d8b11db348811 100644 --- a/packages/core/http/core-http-server/kibana.jsonc +++ b/packages/core/http/core-http-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-http-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc b/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc index 472c9906f8910..4712e8a4fcfc0 100644 --- a/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc +++ b/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-i18n-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc b/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc index e1e06ed6fd62b..808f40e28d002 100644 --- a/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc +++ b/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-i18n-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-browser/kibana.jsonc b/packages/core/i18n/core-i18n-browser/kibana.jsonc index 5d716dd511601..a550e894b8c65 100644 --- a/packages/core/i18n/core-i18n-browser/kibana.jsonc +++ b/packages/core/i18n/core-i18n-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-i18n-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-server-internal/kibana.jsonc b/packages/core/i18n/core-i18n-server-internal/kibana.jsonc index 267895c3f6910..5432b3ac2926f 100644 --- a/packages/core/i18n/core-i18n-server-internal/kibana.jsonc +++ b/packages/core/i18n/core-i18n-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-i18n-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc b/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc index d5c3c4ae63629..a87032d41eb0b 100644 --- a/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc +++ b/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-i18n-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-server/kibana.jsonc b/packages/core/i18n/core-i18n-server/kibana.jsonc index 4502f90576967..a856c99e27ea8 100644 --- a/packages/core/i18n/core-i18n-server/kibana.jsonc +++ b/packages/core/i18n/core-i18n-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-i18n-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc index e899f3410c37f..2085640f35d84 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc +++ b/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-injected-metadata-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc index 4dfed6e72d7fb..84e4c734b3ad8 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc +++ b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-injected-metadata-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc index c3dcd61159ae0..68a5c161e3db9 100644 --- a/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc +++ b/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-injected-metadata-common-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc b/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc index 6b51ef7e6ef89..543fcc446ea31 100644 --- a/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc +++ b/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-integrations-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc b/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc index ee13f1e79a59d..fc3b7e5cfcf60 100644 --- a/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc +++ b/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-integrations-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-browser-internal/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-browser-internal/kibana.jsonc index 4e7a537a6d138..b441b9bbcfc86 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-internal/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-lifecycle-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-browser-mocks/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-browser-mocks/kibana.jsonc index 2834401d929cb..b0b0df3c12d7f 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-mocks/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-lifecycle-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-browser/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-browser/kibana.jsonc index c757e67b8ed3a..65d756876f5a3 100644 --- a/packages/core/lifecycle/core-lifecycle-browser/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-lifecycle-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-server-internal/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-server-internal/kibana.jsonc index 9cb8ad860034e..e7ac6d1c8a6ef 100644 --- a/packages/core/lifecycle/core-lifecycle-server-internal/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-lifecycle-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-server-mocks/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-server-mocks/kibana.jsonc index 93f8b8b8eb954..04e464a4e48ae 100644 --- a/packages/core/lifecycle/core-lifecycle-server-mocks/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-lifecycle-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-server/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-server/kibana.jsonc index 6ee8465d66cfa..b7ad8f6df90f0 100644 --- a/packages/core/lifecycle/core-lifecycle-server/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-lifecycle-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-browser-internal/kibana.jsonc b/packages/core/logging/core-logging-browser-internal/kibana.jsonc index da41db7028f8c..d20ee0ef2e86a 100644 --- a/packages/core/logging/core-logging-browser-internal/kibana.jsonc +++ b/packages/core/logging/core-logging-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-logging-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-browser-mocks/kibana.jsonc b/packages/core/logging/core-logging-browser-mocks/kibana.jsonc index 97044b2219169..555833971e68c 100644 --- a/packages/core/logging/core-logging-browser-mocks/kibana.jsonc +++ b/packages/core/logging/core-logging-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-logging-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-common-internal/kibana.jsonc b/packages/core/logging/core-logging-common-internal/kibana.jsonc index 4e4f23a47c56a..8600b47c4eef9 100644 --- a/packages/core/logging/core-logging-common-internal/kibana.jsonc +++ b/packages/core/logging/core-logging-common-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-logging-common-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-server-internal/kibana.jsonc b/packages/core/logging/core-logging-server-internal/kibana.jsonc index 180b112fa0047..5519d9ae4d87f 100644 --- a/packages/core/logging/core-logging-server-internal/kibana.jsonc +++ b/packages/core/logging/core-logging-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-logging-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-server-mocks/kibana.jsonc b/packages/core/logging/core-logging-server-mocks/kibana.jsonc index b0457e357feff..c43f68ca10eec 100644 --- a/packages/core/logging/core-logging-server-mocks/kibana.jsonc +++ b/packages/core/logging/core-logging-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-logging-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-server/kibana.jsonc b/packages/core/logging/core-logging-server/kibana.jsonc index d522793fc7cb8..cde9189144e4b 100644 --- a/packages/core/logging/core-logging-server/kibana.jsonc +++ b/packages/core/logging/core-logging-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-logging-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc b/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc index a6e5c586df1c9..fdf04d8026740 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc +++ b/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-metrics-collectors-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc b/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc index 709f4fa7137fe..432c85d944287 100644 --- a/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc +++ b/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-metrics-collectors-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-server-internal/kibana.jsonc b/packages/core/metrics/core-metrics-server-internal/kibana.jsonc index 229e11fd697a5..1cc6156b0361a 100644 --- a/packages/core/metrics/core-metrics-server-internal/kibana.jsonc +++ b/packages/core/metrics/core-metrics-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-metrics-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc b/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc index e04bb7a6a414c..a9ece36f0691e 100644 --- a/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc +++ b/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-metrics-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-server/kibana.jsonc b/packages/core/metrics/core-metrics-server/kibana.jsonc index 34654016db00d..403ec2391ac97 100644 --- a/packages/core/metrics/core-metrics-server/kibana.jsonc +++ b/packages/core/metrics/core-metrics-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-metrics-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc b/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc index 886d309507490..75f8921e9b319 100644 --- a/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc +++ b/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-mount-utils-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc b/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc index 733fbd5b374d3..bd3e8527dc384 100644 --- a/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc +++ b/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-mount-utils-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/node/core-node-server-internal/kibana.jsonc b/packages/core/node/core-node-server-internal/kibana.jsonc index 23fe9ae5eeb7f..d2bcd84e7e9a7 100644 --- a/packages/core/node/core-node-server-internal/kibana.jsonc +++ b/packages/core/node/core-node-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-node-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/node/core-node-server-mocks/kibana.jsonc b/packages/core/node/core-node-server-mocks/kibana.jsonc index 095a3bd154cca..ed88d544a84f4 100644 --- a/packages/core/node/core-node-server-mocks/kibana.jsonc +++ b/packages/core/node/core-node-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-node-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/node/core-node-server/kibana.jsonc b/packages/core/node/core-node-server/kibana.jsonc index a0ae2183674f4..4b62731975453 100644 --- a/packages/core/node/core-node-server/kibana.jsonc +++ b/packages/core/node/core-node-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-node-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc b/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc index 0fc1017568936..1db00b09999f7 100644 --- a/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc +++ b/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-notifications-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc b/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc index a1a4166e5071e..41c6cf977b569 100644 --- a/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc +++ b/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-notifications-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/notifications/core-notifications-browser/kibana.jsonc b/packages/core/notifications/core-notifications-browser/kibana.jsonc index 57f94b45d3b4e..96d95760641a4 100644 --- a/packages/core/notifications/core-notifications-browser/kibana.jsonc +++ b/packages/core/notifications/core-notifications-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-notifications-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc b/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc index fd9cb866623da..fead7f3f868e1 100644 --- a/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc +++ b/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-overlays-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc b/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc index dfaa8ee75a3e5..3794c6014eec5 100644 --- a/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc +++ b/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-overlays-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/overlays/core-overlays-browser/kibana.jsonc b/packages/core/overlays/core-overlays-browser/kibana.jsonc index eb984476abc69..ad152f783e2f5 100644 --- a/packages/core/overlays/core-overlays-browser/kibana.jsonc +++ b/packages/core/overlays/core-overlays-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-overlays-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-base-server-internal/kibana.jsonc b/packages/core/plugins/core-plugins-base-server-internal/kibana.jsonc index a4613a19a0797..179be4b6ed6b5 100644 --- a/packages/core/plugins/core-plugins-base-server-internal/kibana.jsonc +++ b/packages/core/plugins/core-plugins-base-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-plugins-base-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-browser-internal/kibana.jsonc b/packages/core/plugins/core-plugins-browser-internal/kibana.jsonc index 69463787683bc..df72417ca34ed 100644 --- a/packages/core/plugins/core-plugins-browser-internal/kibana.jsonc +++ b/packages/core/plugins/core-plugins-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-plugins-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-browser-mocks/kibana.jsonc b/packages/core/plugins/core-plugins-browser-mocks/kibana.jsonc index ced5e9a156fdc..58a19d31de971 100644 --- a/packages/core/plugins/core-plugins-browser-mocks/kibana.jsonc +++ b/packages/core/plugins/core-plugins-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-plugins-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-browser/kibana.jsonc b/packages/core/plugins/core-plugins-browser/kibana.jsonc index 75ae0e37db655..23c08b494cb7b 100644 --- a/packages/core/plugins/core-plugins-browser/kibana.jsonc +++ b/packages/core/plugins/core-plugins-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-plugins-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-contracts-browser/kibana.jsonc b/packages/core/plugins/core-plugins-contracts-browser/kibana.jsonc index 4363d5a4048b5..5a7508741a18f 100644 --- a/packages/core/plugins/core-plugins-contracts-browser/kibana.jsonc +++ b/packages/core/plugins/core-plugins-contracts-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-plugins-contracts-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-contracts-server/kibana.jsonc b/packages/core/plugins/core-plugins-contracts-server/kibana.jsonc index dc29e2f6343b9..1889795a04ee6 100644 --- a/packages/core/plugins/core-plugins-contracts-server/kibana.jsonc +++ b/packages/core/plugins/core-plugins-contracts-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-plugins-contracts-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-server-internal/kibana.jsonc b/packages/core/plugins/core-plugins-server-internal/kibana.jsonc index b9e0f861ef68d..a8a7613c48234 100644 --- a/packages/core/plugins/core-plugins-server-internal/kibana.jsonc +++ b/packages/core/plugins/core-plugins-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-plugins-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-server-mocks/kibana.jsonc b/packages/core/plugins/core-plugins-server-mocks/kibana.jsonc index 85cbd66366bdd..f6dd7689557ac 100644 --- a/packages/core/plugins/core-plugins-server-mocks/kibana.jsonc +++ b/packages/core/plugins/core-plugins-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-plugins-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-server/kibana.jsonc b/packages/core/plugins/core-plugins-server/kibana.jsonc index 3ecaaf32ee1c1..d40afd6b87420 100644 --- a/packages/core/plugins/core-plugins-server/kibana.jsonc +++ b/packages/core/plugins/core-plugins-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-plugins-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/preboot/core-preboot-server-internal/kibana.jsonc b/packages/core/preboot/core-preboot-server-internal/kibana.jsonc index 397670fdcb6f2..38b814f426acd 100644 --- a/packages/core/preboot/core-preboot-server-internal/kibana.jsonc +++ b/packages/core/preboot/core-preboot-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-preboot-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc b/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc index 725c8917b5c89..bc880eecb00ed 100644 --- a/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc +++ b/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-preboot-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/preboot/core-preboot-server/kibana.jsonc b/packages/core/preboot/core-preboot-server/kibana.jsonc index efadbe758dda5..c7c1fd92d9195 100644 --- a/packages/core/preboot/core-preboot-server/kibana.jsonc +++ b/packages/core/preboot/core-preboot-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-preboot-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc b/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc index c1fd6e01a8e4c..28e9165581d1e 100644 --- a/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc +++ b/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-rendering-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc b/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc index 5d2d1b81e3684..55c27f146268f 100644 --- a/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc +++ b/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-rendering-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-browser/kibana.jsonc b/packages/core/rendering/core-rendering-browser/kibana.jsonc index 4b43c11865134..e869c847c7157 100644 --- a/packages/core/rendering/core-rendering-browser/kibana.jsonc +++ b/packages/core/rendering/core-rendering-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-rendering-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-server-internal/kibana.jsonc b/packages/core/rendering/core-rendering-server-internal/kibana.jsonc index aed5dd9ca56c7..10ae7e41a2240 100644 --- a/packages/core/rendering/core-rendering-server-internal/kibana.jsonc +++ b/packages/core/rendering/core-rendering-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-rendering-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-server-mocks/kibana.jsonc b/packages/core/rendering/core-rendering-server-mocks/kibana.jsonc index 4f21e2965c05a..d681c829848c3 100644 --- a/packages/core/rendering/core-rendering-server-mocks/kibana.jsonc +++ b/packages/core/rendering/core-rendering-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-rendering-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/root/core-root-browser-internal/kibana.jsonc b/packages/core/root/core-root-browser-internal/kibana.jsonc index 688f03f72f9a6..07b31493495b1 100644 --- a/packages/core/root/core-root-browser-internal/kibana.jsonc +++ b/packages/core/root/core-root-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-root-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/root/core-root-server-internal/kibana.jsonc b/packages/core/root/core-root-server-internal/kibana.jsonc index ce17c8da954d8..a9c8ea1061653 100644 --- a/packages/core/root/core-root-server-internal/kibana.jsonc +++ b/packages/core/root/core-root-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-root-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc index 03af10ac7574d..183bb16ffc2f0 100644 --- a/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-saved-objects-api-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc index aa37176be967a..4c228264bf91b 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-api-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc index 6861249ad218c..bf5e0073399a8 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-api-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc index f6c63453e8cdb..e8f9e7d472116 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-api-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc index 54d1713159131..4d6555e965db1 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-base-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc index fe587abdc39ab..50e3300108d79 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-base-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc index 60e888d1b3b3c..1ae4d81606e8b 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-saved-objects-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc index 94359faaca959..e91e555e61582 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-saved-objects-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc index 57cb6bd12f1c4..f86a468762e47 100644 --- a/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-saved-objects-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc index 205503f731e74..927d99dd0eb1c 100644 --- a/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc index fe57ff428f976..d8a43d0dbaa46 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-import-export-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc index 603d097e62565..02db65f6df464 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-import-export-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc index cb6444d2841ad..cf68424c10443 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-migration-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc index f892512e6564d..92a097b2c781f 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-migration-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc index 5c6c74e11ac17..71871b7f5ee77 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc index 48db247796e90..5d2618ddc3522 100644 --- a/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc index 5c463bd67b910..884e084e53852 100644 --- a/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc index 5a638dc512dd8..dccc15bc4741c 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-saved-objects-utils-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/security/core-security-browser-internal/kibana.jsonc b/packages/core/security/core-security-browser-internal/kibana.jsonc index 74eb1bc18dea8..3846992da2cf7 100644 --- a/packages/core/security/core-security-browser-internal/kibana.jsonc +++ b/packages/core/security/core-security-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-security-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/security/core-security-browser-mocks/kibana.jsonc b/packages/core/security/core-security-browser-mocks/kibana.jsonc index 33682e42a043d..881f31883b3bc 100644 --- a/packages/core/security/core-security-browser-mocks/kibana.jsonc +++ b/packages/core/security/core-security-browser-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-security-browser-mocks", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/security/core-security-browser/kibana.jsonc b/packages/core/security/core-security-browser/kibana.jsonc index d772272394270..2e4310f0b4445 100644 --- a/packages/core/security/core-security-browser/kibana.jsonc +++ b/packages/core/security/core-security-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-security-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/security/core-security-common/kibana.jsonc b/packages/core/security/core-security-common/kibana.jsonc index a72829d079241..602c9562bb04a 100644 --- a/packages/core/security/core-security-common/kibana.jsonc +++ b/packages/core/security/core-security-common/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/core-security-common", - "owner": ["@elastic/kibana-core", "@elastic/kibana-security"] -} + "owner": [ + "@elastic/kibana-core", + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/security/core-security-server-internal/kibana.jsonc b/packages/core/security/core-security-server-internal/kibana.jsonc index c361f06d57981..f07315187408e 100644 --- a/packages/core/security/core-security-server-internal/kibana.jsonc +++ b/packages/core/security/core-security-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-security-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/security/core-security-server-mocks/kibana.jsonc b/packages/core/security/core-security-server-mocks/kibana.jsonc index 2a523bfd2a715..0d10a0ec98318 100644 --- a/packages/core/security/core-security-server-mocks/kibana.jsonc +++ b/packages/core/security/core-security-server-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-security-server-mocks", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/security/core-security-server/kibana.jsonc b/packages/core/security/core-security-server/kibana.jsonc index bf89f90c64e7f..8c4586cb82c01 100644 --- a/packages/core/security/core-security-server/kibana.jsonc +++ b/packages/core/security/core-security-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-security-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/status/core-status-common/kibana.jsonc b/packages/core/status/core-status-common/kibana.jsonc index bb40934299c7c..da93f2ef012d2 100644 --- a/packages/core/status/core-status-common/kibana.jsonc +++ b/packages/core/status/core-status-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-status-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/status/core-status-server-internal/kibana.jsonc b/packages/core/status/core-status-server-internal/kibana.jsonc index ee806bea35cc8..1bdaf78df6e80 100644 --- a/packages/core/status/core-status-server-internal/kibana.jsonc +++ b/packages/core/status/core-status-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-status-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/status/core-status-server-mocks/kibana.jsonc b/packages/core/status/core-status-server-mocks/kibana.jsonc index 1b4ed5a6e7cd2..7793e4fee4ef8 100644 --- a/packages/core/status/core-status-server-mocks/kibana.jsonc +++ b/packages/core/status/core-status-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-status-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/status/core-status-server/kibana.jsonc b/packages/core/status/core-status-server/kibana.jsonc index dd7ab2ca731cd..febcca81eba3f 100644 --- a/packages/core/status/core-status-server/kibana.jsonc +++ b/packages/core/status/core-status-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-status-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc index 58b022edc2143..1a4725336043b 100644 --- a/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-deprecations-getters", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc index ccb44bf669f6a..1c0b916281b83 100644 --- a/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-http-setup-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-kbn-server/kibana.jsonc index 38e166e1d42b6..7a9a6212710bd 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-test-helpers-kbn-server", - "owner": "@elastic/kibana-core", + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-model-versions/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-model-versions/kibana.jsonc index d6ea333ad06f7..dbd2f079e1e2d 100644 --- a/packages/core/test-helpers/core-test-helpers-model-versions/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-model-versions/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-model-versions", - "owner": "@elastic/kibana-core", + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-so-type-serializer/kibana.jsonc index 7c8c4da8c303d..a85594e9317ba 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-so-type-serializer", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-test-utils/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-test-utils/kibana.jsonc index 3e4b11f13d95f..acac0e87986e4 100644 --- a/packages/core/test-helpers/core-test-helpers-test-utils/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-test-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-test-utils", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/theme/core-theme-browser-internal/kibana.jsonc b/packages/core/theme/core-theme-browser-internal/kibana.jsonc index b960ca19a1621..b93b1baee9dde 100644 --- a/packages/core/theme/core-theme-browser-internal/kibana.jsonc +++ b/packages/core/theme/core-theme-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-theme-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/theme/core-theme-browser-mocks/kibana.jsonc b/packages/core/theme/core-theme-browser-mocks/kibana.jsonc index 4abe096bf9526..d64c120c1013a 100644 --- a/packages/core/theme/core-theme-browser-mocks/kibana.jsonc +++ b/packages/core/theme/core-theme-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-theme-browser-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/theme/core-theme-browser/kibana.jsonc b/packages/core/theme/core-theme-browser/kibana.jsonc index a83f9d100e893..19b14c9f31419 100644 --- a/packages/core/theme/core-theme-browser/kibana.jsonc +++ b/packages/core/theme/core-theme-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-theme-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc index 3df21a50e4eed..0c59c532e67d0 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-ui-settings-browser-internal", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc index 5bad0a8987f38..9db388859a88f 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/core-ui-settings-browser-mocks", - "devOnly": true, - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc index b659a8483b121..67cb268897ed4 100644 --- a/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-ui-settings-browser", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc index 6ecff8c3c5be2..8f44aa8f7feca 100644 --- a/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-ui-settings-common", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-server-internal/kibana.jsonc index 7d159eb886a9c..3a3b590177468 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-ui-settings-server-internal", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-server-mocks/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-server-mocks/kibana.jsonc index 2db68ae26f2ce..4ba4ab62c519e 100644 --- a/packages/core/ui-settings/core-ui-settings-server-mocks/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-ui-settings-server-mocks", - "devOnly": true, - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-server/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-server/kibana.jsonc index a060e4ed93ccd..282250e8f8d1d 100644 --- a/packages/core/ui-settings/core-ui-settings-server/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-ui-settings-server", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc b/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc index f1dba28f7a822..97f83a41418b8 100644 --- a/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc +++ b/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-usage-data-base-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc b/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc index 005599f123507..0a870ac820d7b 100644 --- a/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc +++ b/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-usage-data-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc b/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc index 02e9d1e3a5c34..9a19614e0dcea 100644 --- a/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc +++ b/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/core-usage-data-server-mocks", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/core/usage-data/core-usage-data-server/kibana.jsonc b/packages/core/usage-data/core-usage-data-server/kibana.jsonc index b90d5b3027b42..d1400215baee5 100644 --- a/packages/core/usage-data/core-usage-data-server/kibana.jsonc +++ b/packages/core/usage-data/core-usage-data-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-usage-data-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/user-profile/core-user-profile-browser-internal/kibana.jsonc b/packages/core/user-profile/core-user-profile-browser-internal/kibana.jsonc index b3ffc7c2d1f7c..d8df09391b65e 100644 --- a/packages/core/user-profile/core-user-profile-browser-internal/kibana.jsonc +++ b/packages/core/user-profile/core-user-profile-browser-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-user-profile-browser-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/user-profile/core-user-profile-browser-mocks/kibana.jsonc b/packages/core/user-profile/core-user-profile-browser-mocks/kibana.jsonc index 557849cb6a39c..4b8c6005c983b 100644 --- a/packages/core/user-profile/core-user-profile-browser-mocks/kibana.jsonc +++ b/packages/core/user-profile/core-user-profile-browser-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-user-profile-browser-mocks", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/user-profile/core-user-profile-browser/kibana.jsonc b/packages/core/user-profile/core-user-profile-browser/kibana.jsonc index 01bdb62b0fd0d..d93a75c531f7f 100644 --- a/packages/core/user-profile/core-user-profile-browser/kibana.jsonc +++ b/packages/core/user-profile/core-user-profile-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/core-user-profile-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/user-profile/core-user-profile-common/kibana.jsonc b/packages/core/user-profile/core-user-profile-common/kibana.jsonc index 1cc049fd41717..9a7d9aa06c228 100644 --- a/packages/core/user-profile/core-user-profile-common/kibana.jsonc +++ b/packages/core/user-profile/core-user-profile-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/core-user-profile-common", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/user-profile/core-user-profile-server-internal/kibana.jsonc b/packages/core/user-profile/core-user-profile-server-internal/kibana.jsonc index 6d10f1f7b4b42..f17fc7023b258 100644 --- a/packages/core/user-profile/core-user-profile-server-internal/kibana.jsonc +++ b/packages/core/user-profile/core-user-profile-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-user-profile-server-internal", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/user-profile/core-user-profile-server-mocks/kibana.jsonc b/packages/core/user-profile/core-user-profile-server-mocks/kibana.jsonc index 9a5fd404a673f..a9e76eb363350 100644 --- a/packages/core/user-profile/core-user-profile-server-mocks/kibana.jsonc +++ b/packages/core/user-profile/core-user-profile-server-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-user-profile-server-mocks", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/user-profile/core-user-profile-server/kibana.jsonc b/packages/core/user-profile/core-user-profile-server/kibana.jsonc index 4a6f847fc5ee9..7c58fa07b7741 100644 --- a/packages/core/user-profile/core-user-profile-server/kibana.jsonc +++ b/packages/core/user-profile/core-user-profile-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-user-profile-server", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/user-settings/core-user-settings-server-internal/kibana.jsonc b/packages/core/user-settings/core-user-settings-server-internal/kibana.jsonc index c7716aa9b61f8..6ff34326cd0e8 100644 --- a/packages/core/user-settings/core-user-settings-server-internal/kibana.jsonc +++ b/packages/core/user-settings/core-user-settings-server-internal/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-user-settings-server-internal", - "owner": "@elastic/kibana-security", -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/core/user-settings/core-user-settings-server-mocks/kibana.jsonc b/packages/core/user-settings/core-user-settings-server-mocks/kibana.jsonc index 9860eb095122e..1660d7380393d 100644 --- a/packages/core/user-settings/core-user-settings-server-mocks/kibana.jsonc +++ b/packages/core/user-settings/core-user-settings-server-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-user-settings-server-mocks", - "owner": "@elastic/kibana-security", -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/core/user-settings/core-user-settings-server/kibana.jsonc b/packages/core/user-settings/core-user-settings-server/kibana.jsonc index eac6fde03c287..30b506dddd898 100644 --- a/packages/core/user-settings/core-user-settings-server/kibana.jsonc +++ b/packages/core/user-settings/core-user-settings-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/core-user-settings-server", - "owner": "@elastic/kibana-security", -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/analytics/kibana.jsonc b/packages/deeplinks/analytics/kibana.jsonc index a171c67d3ed4a..8c6a026f02cf1 100644 --- a/packages/deeplinks/analytics/kibana.jsonc +++ b/packages/deeplinks/analytics/kibana.jsonc @@ -5,5 +5,7 @@ "@elastic/kibana-data-discovery", "@elastic/kibana-presentation", "@elastic/kibana-visualizations" - ] -} + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/devtools/kibana.jsonc b/packages/deeplinks/devtools/kibana.jsonc index df03b80bca7dc..2ad324c7e8fe8 100644 --- a/packages/deeplinks/devtools/kibana.jsonc +++ b/packages/deeplinks/devtools/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/deeplinks-devtools", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/fleet/kibana.jsonc b/packages/deeplinks/fleet/kibana.jsonc index 2190110ac778c..1615a5476be5f 100644 --- a/packages/deeplinks/fleet/kibana.jsonc +++ b/packages/deeplinks/fleet/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/deeplinks-fleet", - "owner": "@elastic/fleet" -} + "owner": [ + "@elastic/fleet" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/management/kibana.jsonc b/packages/deeplinks/management/kibana.jsonc index d88dfb3df2340..7082fed4e18b4 100644 --- a/packages/deeplinks/management/kibana.jsonc +++ b/packages/deeplinks/management/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/deeplinks-management", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/ml/kibana.jsonc b/packages/deeplinks/ml/kibana.jsonc index 912c9026a6adb..87c97f1191d49 100644 --- a/packages/deeplinks/ml/kibana.jsonc +++ b/packages/deeplinks/ml/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/deeplinks-ml", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/observability/kibana.jsonc b/packages/deeplinks/observability/kibana.jsonc index da2c0505737a5..c7d0885edf597 100644 --- a/packages/deeplinks/observability/kibana.jsonc +++ b/packages/deeplinks/observability/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/deeplinks-observability", - "owner": "@elastic/obs-ux-management-team" -} + "owner": [ + "@elastic/obs-ux-management-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/search/kibana.jsonc b/packages/deeplinks/search/kibana.jsonc index 668514b989122..28337dfceaeb6 100644 --- a/packages/deeplinks/search/kibana.jsonc +++ b/packages/deeplinks/search/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/deeplinks-search", - "owner": "@elastic/search-kibana" -} + "owner": [ + "@elastic/search-kibana" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/security/kibana.jsonc b/packages/deeplinks/security/kibana.jsonc index 42aefc7fdc3a0..334d67a2fedaa 100644 --- a/packages/deeplinks/security/kibana.jsonc +++ b/packages/deeplinks/security/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/deeplinks-security", - "owner": "@elastic/security-solution" -} + "owner": [ + "@elastic/security-solution" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/deeplinks/shared/kibana.jsonc b/packages/deeplinks/shared/kibana.jsonc index c223a88e907fd..9fa040345bcc5 100644 --- a/packages/deeplinks/shared/kibana.jsonc +++ b/packages/deeplinks/shared/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/deeplinks-shared", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/default-nav/analytics/kibana.jsonc b/packages/default-nav/analytics/kibana.jsonc index 5974f0872d6f6..16614bc609cf8 100644 --- a/packages/default-nav/analytics/kibana.jsonc +++ b/packages/default-nav/analytics/kibana.jsonc @@ -5,5 +5,7 @@ "@elastic/kibana-data-discovery", "@elastic/kibana-presentation", "@elastic/kibana-visualizations" - ] -} + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/default-nav/devtools/kibana.jsonc b/packages/default-nav/devtools/kibana.jsonc index 7ed8bd537b28d..8f88eaa36ad41 100644 --- a/packages/default-nav/devtools/kibana.jsonc +++ b/packages/default-nav/devtools/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/default-nav-devtools", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/default-nav/management/kibana.jsonc b/packages/default-nav/management/kibana.jsonc index f5d49d9029829..0582900e98949 100644 --- a/packages/default-nav/management/kibana.jsonc +++ b/packages/default-nav/management/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/default-nav-management", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/default-nav/ml/kibana.jsonc b/packages/default-nav/ml/kibana.jsonc index a9d0a2fe4b1d3..157ca0fe96111 100644 --- a/packages/default-nav/ml/kibana.jsonc +++ b/packages/default-nav/ml/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/default-nav-ml", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/home/sample_data_card/kibana.jsonc b/packages/home/sample_data_card/kibana.jsonc index 330df0f2b7cb8..8fc2dc9784d1d 100644 --- a/packages/home/sample_data_card/kibana.jsonc +++ b/packages/home/sample_data_card/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/home-sample-data-card", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/home/sample_data_tab/kibana.jsonc b/packages/home/sample_data_tab/kibana.jsonc index a44c2f7446c7e..68d427291e60e 100644 --- a/packages/home/sample_data_tab/kibana.jsonc +++ b/packages/home/sample_data_tab/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/home-sample-data-tab", - "owner": "@elastic/appex-sharedux" + "owner": [ + "@elastic/appex-sharedux" + ], + // 'home' plugin depends on it + "group": "platform", + "visibility": "shared" } diff --git a/packages/home/sample_data_types/kibana.jsonc b/packages/home/sample_data_types/kibana.jsonc index 0297a131db3b8..688cd31ffd261 100644 --- a/packages/home/sample_data_types/kibana.jsonc +++ b/packages/home/sample_data_types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/home-sample-data-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-actions-types/kibana.jsonc b/packages/kbn-actions-types/kibana.jsonc index 873c4c08c09f4..f73c81bad789c 100644 --- a/packages/kbn-actions-types/kibana.jsonc +++ b/packages/kbn-actions-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/actions-types", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-alerting-types/kibana.jsonc b/packages/kbn-alerting-types/kibana.jsonc index 9828c7cc38f3c..08dd252c70cce 100644 --- a/packages/kbn-alerting-types/kibana.jsonc +++ b/packages/kbn-alerting-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/alerting-types", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-alerts-as-data-utils/kibana.jsonc b/packages/kbn-alerts-as-data-utils/kibana.jsonc index 07e8490dde7b5..711e5edadbea1 100644 --- a/packages/kbn-alerts-as-data-utils/kibana.jsonc +++ b/packages/kbn-alerts-as-data-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/alerts-as-data-utils", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-alerts-grouping/kibana.jsonc b/packages/kbn-alerts-grouping/kibana.jsonc index b98a1f0779eb3..1b9c259992eb6 100644 --- a/packages/kbn-alerts-grouping/kibana.jsonc +++ b/packages/kbn-alerts-grouping/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/alerts-grouping", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "observability", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-alerts-ui-shared/kibana.jsonc b/packages/kbn-alerts-ui-shared/kibana.jsonc index a4cfc39e987f9..a0912c56f55a0 100644 --- a/packages/kbn-alerts-ui-shared/kibana.jsonc +++ b/packages/kbn-alerts-ui-shared/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/alerts-ui-shared", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-analytics/kibana.jsonc b/packages/kbn-analytics/kibana.jsonc index b10ca7bb960f6..446bce1fcb541 100644 --- a/packages/kbn-analytics/kibana.jsonc +++ b/packages/kbn-analytics/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/analytics", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-apm-config-loader/kibana.jsonc b/packages/kbn-apm-config-loader/kibana.jsonc index 32c994307eb6f..6994fd195e102 100644 --- a/packages/kbn-apm-config-loader/kibana.jsonc +++ b/packages/kbn-apm-config-loader/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-server", "id": "@kbn/apm-config-loader", - "owner": ["@elastic/kibana-core", "@vigneshshanmugam"] -} + "owner": [ + "@elastic/kibana-core", + "@vigneshshanmugam" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-apm-data-view/kibana.jsonc b/packages/kbn-apm-data-view/kibana.jsonc index 3cbeed3811d74..6608a32e123ac 100644 --- a/packages/kbn-apm-data-view/kibana.jsonc +++ b/packages/kbn-apm-data-view/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/apm-data-view", - "owner": "@elastic/obs-ux-infra_services-team" -} + "owner": [ + "@elastic/obs-ux-infra_services-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-apm-synthtrace-client/kibana.jsonc b/packages/kbn-apm-synthtrace-client/kibana.jsonc index a50ec2be221d0..e4c868911ef43 100644 --- a/packages/kbn-apm-synthtrace-client/kibana.jsonc +++ b/packages/kbn-apm-synthtrace-client/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "shared-common", "id": "@kbn/apm-synthtrace-client", - "devOnly": true, - "owner": ["@elastic/obs-ux-infra_services-team", "@elastic/obs-ux-logs-team"] -} + "owner": [ + "@elastic/obs-ux-infra_services-team", + "@elastic/obs-ux-logs-team" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-apm-synthtrace/kibana.jsonc b/packages/kbn-apm-synthtrace/kibana.jsonc index 9c85fa210bdd9..42f6c3ed1cf77 100644 --- a/packages/kbn-apm-synthtrace/kibana.jsonc +++ b/packages/kbn-apm-synthtrace/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "shared-server", "id": "@kbn/apm-synthtrace", - "devOnly": true, - "owner": ["@elastic/obs-ux-infra_services-team", "@elastic/obs-ux-logs-team"] -} + "owner": [ + "@elastic/obs-ux-infra_services-team", + "@elastic/obs-ux-logs-team" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-apm-types/kibana.jsonc b/packages/kbn-apm-types/kibana.jsonc index 26b4ec0b1cf75..d93053a79eed2 100644 --- a/packages/kbn-apm-types/kibana.jsonc +++ b/packages/kbn-apm-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/apm-types", - "owner": "@elastic/obs-ux-infra_services-team" -} + "owner": [ + "@elastic/obs-ux-infra_services-team" + ], + "group": "observability", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-apm-utils/kibana.jsonc b/packages/kbn-apm-utils/kibana.jsonc index 2ee2a3b45335a..26ac6576006b2 100644 --- a/packages/kbn-apm-utils/kibana.jsonc +++ b/packages/kbn-apm-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/apm-utils", - "owner": "@elastic/obs-ux-infra_services-team" -} + "owner": [ + "@elastic/obs-ux-infra_services-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-avc-banner/kibana.jsonc b/packages/kbn-avc-banner/kibana.jsonc index 51269b1b2e76b..ae9baa80fb924 100644 --- a/packages/kbn-avc-banner/kibana.jsonc +++ b/packages/kbn-avc-banner/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/avc-banner", - "owner": "@elastic/security-defend-workflows" -} + "owner": [ + "@elastic/security-defend-workflows" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-babel-register/kibana.jsonc b/packages/kbn-babel-register/kibana.jsonc index 33dd730bc10b9..7dc99b1386eda 100644 --- a/packages/kbn-babel-register/kibana.jsonc +++ b/packages/kbn-babel-register/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/babel-register", - "owner": "@elastic/kibana-operations", + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-babel-transform/kibana.jsonc b/packages/kbn-babel-transform/kibana.jsonc index 72b7cf1a9cc82..85fb2734581f2 100644 --- a/packages/kbn-babel-transform/kibana.jsonc +++ b/packages/kbn-babel-transform/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/babel-transform", - "owner": "@elastic/kibana-operations", + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-bfetch-error/kibana.jsonc b/packages/kbn-bfetch-error/kibana.jsonc index 2cde90d13d99c..c5f0f63bc8b13 100644 --- a/packages/kbn-bfetch-error/kibana.jsonc +++ b/packages/kbn-bfetch-error/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/bfetch-error", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-calculate-width-from-char-count/kibana.jsonc b/packages/kbn-calculate-width-from-char-count/kibana.jsonc index 216b12ddeac89..61005be7ed3bb 100644 --- a/packages/kbn-calculate-width-from-char-count/kibana.jsonc +++ b/packages/kbn-calculate-width-from-char-count/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/calculate-width-from-char-count", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-cases-components/kibana.jsonc b/packages/kbn-cases-components/kibana.jsonc index 8fa02ddd80ebb..0e144928125da 100644 --- a/packages/kbn-cases-components/kibana.jsonc +++ b/packages/kbn-cases-components/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/cases-components", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-cbor/kibana.jsonc b/packages/kbn-cbor/kibana.jsonc index 91ecbb2d27def..ed10c6b91c6e0 100644 --- a/packages/kbn-cbor/kibana.jsonc +++ b/packages/kbn-cbor/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/cbor", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-cell-actions/kibana.jsonc b/packages/kbn-cell-actions/kibana.jsonc index e1ce1385436b3..08d74e045d609 100644 --- a/packages/kbn-cell-actions/kibana.jsonc +++ b/packages/kbn-cell-actions/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/cell-actions", - "owner": "@elastic/security-threat-hunting-explore" -} + "owner": [ + "@elastic/security-threat-hunting-explore" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-chart-icons/kibana.jsonc b/packages/kbn-chart-icons/kibana.jsonc index 95089968838f1..4e81d688be8e6 100644 --- a/packages/kbn-chart-icons/kibana.jsonc +++ b/packages/kbn-chart-icons/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/chart-icons", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-ci-stats-core/kibana.jsonc b/packages/kbn-ci-stats-core/kibana.jsonc index f25ef3ae32e9c..6d33547cf2fc3 100644 --- a/packages/kbn-ci-stats-core/kibana.jsonc +++ b/packages/kbn-ci-stats-core/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/ci-stats-core", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-ci-stats-reporter/kibana.jsonc b/packages/kbn-ci-stats-reporter/kibana.jsonc index 71eff10133dd3..773911cc5b66a 100644 --- a/packages/kbn-ci-stats-reporter/kibana.jsonc +++ b/packages/kbn-ci-stats-reporter/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/ci-stats-reporter", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-code-owners/kibana.jsonc b/packages/kbn-code-owners/kibana.jsonc index 66d2e57ca15c1..004515ce1c14d 100644 --- a/packages/kbn-code-owners/kibana.jsonc +++ b/packages/kbn-code-owners/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/code-owners", - "owner": "@elastic/appex-qa", + "owner": [ + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "private", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-coloring/kibana.jsonc b/packages/kbn-coloring/kibana.jsonc index 54d8787c964f5..44a9b9b36aa3c 100644 --- a/packages/kbn-coloring/kibana.jsonc +++ b/packages/kbn-coloring/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/coloring", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-config-mocks/kibana.jsonc b/packages/kbn-config-mocks/kibana.jsonc index db330e90a69f1..8ea9b31d03e50 100644 --- a/packages/kbn-config-mocks/kibana.jsonc +++ b/packages/kbn-config-mocks/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/config-mocks", - "owner": "@elastic/kibana-core" + "owner": "@elastic/kibana-core", + "group": "platform", + "visibility": "private" } diff --git a/packages/kbn-config-schema/kibana.jsonc b/packages/kbn-config-schema/kibana.jsonc index 9c936a1e3fa7f..b2466516f9d63 100644 --- a/packages/kbn-config-schema/kibana.jsonc +++ b/packages/kbn-config-schema/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/config-schema", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-config/kibana.jsonc b/packages/kbn-config/kibana.jsonc index f16969225e90c..c365d45cc3f78 100644 --- a/packages/kbn-config/kibana.jsonc +++ b/packages/kbn-config/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/config", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-content-management-utils/kibana.jsonc b/packages/kbn-content-management-utils/kibana.jsonc index 0b0fa95451cd2..3125cc30da6a0 100644 --- a/packages/kbn-content-management-utils/kibana.jsonc +++ b/packages/kbn-content-management-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/content-management-utils", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-crypto-browser/kibana.jsonc b/packages/kbn-crypto-browser/kibana.jsonc index 7bcbc106f23aa..024e573ad474d 100644 --- a/packages/kbn-crypto-browser/kibana.jsonc +++ b/packages/kbn-crypto-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/crypto-browser", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-crypto/kibana.jsonc b/packages/kbn-crypto/kibana.jsonc index c5f3a3e89edcb..3f7ca7916d560 100644 --- a/packages/kbn-crypto/kibana.jsonc +++ b/packages/kbn-crypto/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/crypto", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-custom-icons/kibana.jsonc b/packages/kbn-custom-icons/kibana.jsonc index 7bd9eaa57e871..5daa04304bafb 100644 --- a/packages/kbn-custom-icons/kibana.jsonc +++ b/packages/kbn-custom-icons/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/custom-icons", - "owner": "@elastic/obs-ux-logs-team" -} + "owner": [ + "@elastic/obs-ux-logs-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-custom-integrations/kibana.jsonc b/packages/kbn-custom-integrations/kibana.jsonc index b354b8e51cfe1..0cfcf40aa13b5 100644 --- a/packages/kbn-custom-integrations/kibana.jsonc +++ b/packages/kbn-custom-integrations/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/custom-integrations", - "owner": "@elastic/obs-ux-logs-team" -} + "owner": [ + "@elastic/obs-ux-logs-team" + ], + "group": "observability", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-cypress-config/kibana.jsonc b/packages/kbn-cypress-config/kibana.jsonc index ff6bf9e11adec..116561218e065 100644 --- a/packages/kbn-cypress-config/kibana.jsonc +++ b/packages/kbn-cypress-config/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/cypress-config", - "owner": "@elastic/kibana-operations", + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-data-service/kibana.jsonc b/packages/kbn-data-service/kibana.jsonc index 2d7bd21970857..4122ea6f04a0c 100644 --- a/packages/kbn-data-service/kibana.jsonc +++ b/packages/kbn-data-service/kibana.jsonc @@ -4,5 +4,7 @@ "owner": [ "@elastic/kibana-visualizations", "@elastic/kibana-data-discovery" - ] -} + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-data-stream-adapter/kibana.jsonc b/packages/kbn-data-stream-adapter/kibana.jsonc index 43317dca0b91e..655f6671200f2 100644 --- a/packages/kbn-data-stream-adapter/kibana.jsonc +++ b/packages/kbn-data-stream-adapter/kibana.jsonc @@ -1,6 +1,9 @@ { "type": "shared-server", "id": "@kbn/data-stream-adapter", - "owner": "@elastic/security-threat-hunting", - "visibility": "shared" + "owner": [ + "@elastic/security-threat-hunting" + ], + "group": "security", + "visibility": "private" } diff --git a/packages/kbn-data-view-utils/kibana.jsonc b/packages/kbn-data-view-utils/kibana.jsonc index a5bd7b958e272..259845a585501 100644 --- a/packages/kbn-data-view-utils/kibana.jsonc +++ b/packages/kbn-data-view-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/data-view-utils", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-datemath/kibana.jsonc b/packages/kbn-datemath/kibana.jsonc index 43bbf53a816e3..950c06e1fcd4f 100644 --- a/packages/kbn-datemath/kibana.jsonc +++ b/packages/kbn-datemath/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/datemath", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-dev-cli-errors/kibana.jsonc b/packages/kbn-dev-cli-errors/kibana.jsonc index 86fb72d378b19..d986ae83effa2 100644 --- a/packages/kbn-dev-cli-errors/kibana.jsonc +++ b/packages/kbn-dev-cli-errors/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/dev-cli-errors", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-dev-cli-runner/kibana.jsonc b/packages/kbn-dev-cli-runner/kibana.jsonc index 0be99cae70fba..3877e9d959da8 100644 --- a/packages/kbn-dev-cli-runner/kibana.jsonc +++ b/packages/kbn-dev-cli-runner/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/dev-cli-runner", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-dev-proc-runner/kibana.jsonc b/packages/kbn-dev-proc-runner/kibana.jsonc index 8f7a5ec071667..8353789db48f6 100644 --- a/packages/kbn-dev-proc-runner/kibana.jsonc +++ b/packages/kbn-dev-proc-runner/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/dev-proc-runner", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-dev-utils/kibana.jsonc b/packages/kbn-dev-utils/kibana.jsonc index 7cb93b0f5a1d4..d3beef7639ad4 100644 --- a/packages/kbn-dev-utils/kibana.jsonc +++ b/packages/kbn-dev-utils/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/dev-utils", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-discover-contextual-components/kibana.jsonc b/packages/kbn-discover-contextual-components/kibana.jsonc index cfb9b1d5431ef..1de6488bbd6bb 100644 --- a/packages/kbn-discover-contextual-components/kibana.jsonc +++ b/packages/kbn-discover-contextual-components/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-browser", "id": "@kbn/discover-contextual-components", - "owner": ["@elastic/obs-ux-logs-team", "@elastic/kibana-data-discovery"] -} + "owner": [ + "@elastic/obs-ux-logs-team", + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-discover-utils/kibana.jsonc b/packages/kbn-discover-utils/kibana.jsonc index bf77a20bdb863..cbc57999c306c 100644 --- a/packages/kbn-discover-utils/kibana.jsonc +++ b/packages/kbn-discover-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/discover-utils", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-discover-utils/src/hooks/use_pager.test.tsx b/packages/kbn-discover-utils/src/hooks/use_pager.test.tsx index 9e3b450e89cfa..5eee2b760759a 100644 --- a/packages/kbn-discover-utils/src/hooks/use_pager.test.tsx +++ b/packages/kbn-discover-utils/src/hooks/use_pager.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { usePager } from './use_pager'; describe('usePager', () => { diff --git a/packages/kbn-doc-links/kibana.jsonc b/packages/kbn-doc-links/kibana.jsonc index 6e4b13d060d2c..adc558ab919b5 100644 --- a/packages/kbn-doc-links/kibana.jsonc +++ b/packages/kbn-doc-links/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/doc-links", - "owner": "@elastic/docs" -} + "owner": [ + "@elastic/docs" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-dom-drag-drop/kibana.jsonc b/packages/kbn-dom-drag-drop/kibana.jsonc index 6e54fddc2b751..c3108a22d6336 100644 --- a/packages/kbn-dom-drag-drop/kibana.jsonc +++ b/packages/kbn-dom-drag-drop/kibana.jsonc @@ -4,5 +4,7 @@ "owner": [ "@elastic/kibana-visualizations", "@elastic/kibana-data-discovery" - ] -} + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-ebt-tools/kibana.jsonc b/packages/kbn-ebt-tools/kibana.jsonc index 8c063d20246e8..e8280fd6e80ad 100644 --- a/packages/kbn-ebt-tools/kibana.jsonc +++ b/packages/kbn-ebt-tools/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ebt-tools", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-elastic-agent-utils/kibana.jsonc b/packages/kbn-elastic-agent-utils/kibana.jsonc index cf8dc4c03f59d..b954c36dffc89 100644 --- a/packages/kbn-elastic-agent-utils/kibana.jsonc +++ b/packages/kbn-elastic-agent-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/elastic-agent-utils", - "owner": "@elastic/obs-ux-logs-team" -} + "owner": [ + "@elastic/obs-ux-logs-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-es-archiver/kibana.jsonc b/packages/kbn-es-archiver/kibana.jsonc index ae651e3873d0b..86049b70ab79a 100644 --- a/packages/kbn-es-archiver/kibana.jsonc +++ b/packages/kbn-es-archiver/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "test-helper", "id": "@kbn/es-archiver", - "devOnly": true, - "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], -} + "owner": [ + "@elastic/kibana-operations", + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-es-errors/kibana.jsonc b/packages/kbn-es-errors/kibana.jsonc index aacc61f02c28d..2adafb2fb3afa 100644 --- a/packages/kbn-es-errors/kibana.jsonc +++ b/packages/kbn-es-errors/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/es-errors", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-es-query/kibana.jsonc b/packages/kbn-es-query/kibana.jsonc index 896ea93fe1f65..7bb7da8721d48 100644 --- a/packages/kbn-es-query/kibana.jsonc +++ b/packages/kbn-es-query/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/es-query", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-es-types/kibana.jsonc b/packages/kbn-es-types/kibana.jsonc index 2435d7666cf9a..08dbeb9d1d88f 100644 --- a/packages/kbn-es-types/kibana.jsonc +++ b/packages/kbn-es-types/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/es-types", - "owner": ["@elastic/kibana-core", "@elastic/obs-knowledge-team"] -} + "owner": [ + "@elastic/kibana-core", + "@elastic/obs-knowledge-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-es/kibana.jsonc b/packages/kbn-es/kibana.jsonc index d575c727ef33e..8c82b16952c03 100644 --- a/packages/kbn-es/kibana.jsonc +++ b/packages/kbn-es/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/es", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-eslint-plugin-imports/src/helpers/groups.ts b/packages/kbn-eslint-plugin-imports/src/helpers/groups.ts index a76251f028389..3800788689882 100644 --- a/packages/kbn-eslint-plugin-imports/src/helpers/groups.ts +++ b/packages/kbn-eslint-plugin-imports/src/helpers/groups.ts @@ -8,18 +8,38 @@ */ import type { ModuleGroup, ModuleVisibility } from '@kbn/repo-info/types'; +import type { ModuleId } from '@kbn/repo-source-classifier'; /** * Checks whether a given ModuleGroup can import from another one - * @param importerGroup The group of the module that we are checking + * @param from The ModuleId object that defines the "import" statement * @param importedGroup The group of the imported module * @param importedVisibility The visibility of the imported module - * @returns true if importerGroup is allowed to import from importedGroup/Visibiliy + * @returns true if "from" is allowed to import from importedGroup/Visibility */ export function isImportableFrom( - importerGroup: ModuleGroup, + from: ModuleId, importedGroup: ModuleGroup, importedVisibility: ModuleVisibility ): boolean { - return importerGroup === importedGroup || importedVisibility === 'shared'; + return ( + (isDevOnly(from) && importedGroup === 'platform') || + from.group === importedGroup || + importedVisibility === 'shared' + ); +} + +/** + * Checks whether the given module is supposed to be used at dev/build/test time only + * @param module The module to check + * @returns true if the module is a dev-only module, false otherwise + * @see Package#isDevOnly (packages/kbn-repo-packages/modern/package.js) + */ +function isDevOnly(module: ModuleId) { + return ( + !module.manifest || + !!module.manifest?.devOnly || + module.manifest?.type === 'functional-tests' || + module.manifest?.type === 'test-helper' + ); } diff --git a/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_imports.test.ts b/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_imports.test.ts index dc4828603f73f..73decfb9d8659 100644 --- a/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_imports.test.ts +++ b/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_imports.test.ts @@ -11,18 +11,22 @@ import { RuleTester } from 'eslint'; import dedent from 'dedent'; import { NoGroupCrossingImportsRule } from './no_group_crossing_imports'; import { formatSuggestions } from '../helpers/report'; -import { ModuleGroup, ModuleVisibility } from '@kbn/repo-info/types'; +import type { ModuleGroup, ModuleVisibility } from '@kbn/repo-info/types'; +import type { KibanaPackageManifest } from '@kbn/repo-packages'; -const make = ( - fromGroup: ModuleGroup, - fromVisibility: ModuleVisibility, - toGroup: ModuleGroup, - toVisibility: ModuleVisibility, - imp = 'import' -) => ({ - filename: `${fromGroup}.${fromVisibility}.ts`, +interface ModuleInfo { + group: ModuleGroup; + visibility: ModuleVisibility; + type?: KibanaPackageManifest['type']; + devOnly?: boolean; +} + +const make = (from: ModuleInfo, to: ModuleInfo, imp = 'import') => ({ + filename: `${from.group}.${from.visibility}.${from.type ?? 'shared-common'}.${ + from.devOnly ?? 'false' + }.ts`, code: dedent` - ${imp} '${toGroup}.${toVisibility}' + ${imp} '${to.group}.${to.visibility}.${to.type ?? 'shared-common'}.${to.devOnly ?? 'false'}' `, }); @@ -46,12 +50,16 @@ jest.mock('../helpers/repo_source_classifier', () => { getRepoSourceClassifier() { return { classify(r: string | [string, string]) { - const [group, visibility] = + const [group, visibility, type, devOnly] = typeof r === 'string' ? (r.endsWith('.ts') ? r.slice(0, -3) : r).split('.') : r; return { pkgInfo: { pkgId: 'aPackage', }, + manifest: { + type, + devOnly: devOnly !== 'false', + }, group, visibility, }; @@ -94,19 +102,59 @@ for (const [name, tester] of [tsTester, babelTester]) { describe(name, () => { tester.run('@kbn/imports/no_group_crossing_imports', NoGroupCrossingImportsRule, { valid: [ - make('observability', 'private', 'observability', 'private'), - make('security', 'private', 'security', 'private'), - make('search', 'private', 'search', 'private'), - make('observability', 'private', 'platform', 'shared'), - make('security', 'private', 'common', 'shared'), - make('platform', 'shared', 'platform', 'shared'), - make('platform', 'shared', 'platform', 'private'), - make('common', 'shared', 'common', 'shared'), + make( + { group: 'observability', visibility: 'private' }, + { group: 'observability', visibility: 'private' } + ), + make( + { group: 'security', visibility: 'private' }, + { group: 'security', visibility: 'private' } + ), + make( + { group: 'search', visibility: 'private' }, + { group: 'search', visibility: 'private' } + ), + make( + { group: 'observability', visibility: 'private' }, + { group: 'platform', visibility: 'shared' } + ), + make( + { group: 'security', visibility: 'private' }, + { group: 'common', visibility: 'shared' } + ), + make( + { group: 'platform', visibility: 'shared' }, + { group: 'platform', visibility: 'shared' } + ), + make( + { group: 'platform', visibility: 'shared' }, + { group: 'platform', visibility: 'private' } + ), + make( + { group: 'security', visibility: 'private' }, + { group: 'platform', visibility: 'shared' } + ), + make( + { group: 'common', visibility: 'shared', devOnly: true }, + { group: 'platform', visibility: 'private' } + ), + make( + { group: 'common', visibility: 'shared', type: 'functional-tests' }, + { group: 'platform', visibility: 'private' } + ), + make( + { group: 'common', visibility: 'shared', type: 'test-helper' }, + { group: 'platform', visibility: 'private' } + ), + make({ group: 'common', visibility: 'shared' }, { group: 'common', visibility: 'shared' }), ], invalid: [ { - ...make('observability', 'private', 'security', 'private'), + ...make( + { group: 'observability', visibility: 'private' }, + { group: 'security', visibility: 'private' } + ), errors: [ { line: 1, @@ -117,7 +165,7 @@ for (const [name, tester] of [tsTester, babelTester]) { importedPackage: 'aPackage', importedGroup: 'security', importedVisibility: 'private', - sourcePath: 'observability.private.ts', + sourcePath: 'observability.private.shared-common.false.ts', suggestion: formatSuggestions([ `Please review the dependencies in your module's manifest (kibana.jsonc).`, `Relocate this module to a different group, and/or make sure it has the right 'visibility'.`, @@ -128,7 +176,10 @@ for (const [name, tester] of [tsTester, babelTester]) { ], }, { - ...make('security', 'private', 'platform', 'private'), + ...make( + { group: 'security', visibility: 'private' }, + { group: 'platform', visibility: 'private' } + ), errors: [ { line: 1, @@ -139,7 +190,7 @@ for (const [name, tester] of [tsTester, babelTester]) { importedPackage: 'aPackage', importedGroup: 'platform', importedVisibility: 'private', - sourcePath: 'security.private.ts', + sourcePath: 'security.private.shared-common.false.ts', suggestion: formatSuggestions([ `Please review the dependencies in your module's manifest (kibana.jsonc).`, `Relocate this module to a different group, and/or make sure it has the right 'visibility'.`, diff --git a/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_imports.ts b/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_imports.ts index 255973ab7460a..fb262e88a02ac 100644 --- a/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_imports.ts +++ b/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_imports.ts @@ -52,7 +52,7 @@ export const NoGroupCrossingImportsRule: Rule.RuleModule = { const imported = classifier.classify(result.absolute); - if (!isImportableFrom(self.group, imported.group, imported.visibility)) { + if (!isImportableFrom(self, imported.group, imported.visibility)) { context.report({ node: node as Node, messageId: 'ILLEGAL_IMPORT', diff --git a/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_manifests.ts b/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_manifests.ts index e68f7217905a5..918412725cd26 100644 --- a/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_manifests.ts +++ b/packages/kbn-eslint-plugin-imports/src/rules/no_group_crossing_manifests.ts @@ -71,7 +71,7 @@ export const NoGroupCrossingManifestsRule: Rule.RuleModule = { if (dependency) { // at this point, we know the dependency is a plugin const { id, group, visibility } = dependency; - if (!isImportableFrom(moduleId.group, group, visibility)) { + if (!isImportableFrom(moduleId, group, visibility)) { offendingDependencies.push({ id, pluginId, group, visibility }); } } diff --git a/packages/kbn-esql-ast/kibana.jsonc b/packages/kbn-esql-ast/kibana.jsonc index 18ab1197119e7..825235daef485 100644 --- a/packages/kbn-esql-ast/kibana.jsonc +++ b/packages/kbn-esql-ast/kibana.jsonc @@ -1,5 +1,9 @@ { - "type": "shared-common", - "id": "@kbn/esql-ast", - "owner": "@elastic/kibana-esql" - } \ No newline at end of file + "type": "shared-common", + "id": "@kbn/esql-ast", + "owner": [ + "@elastic/kibana-esql" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-esql-editor/kibana.jsonc b/packages/kbn-esql-editor/kibana.jsonc index 005fdb2e6e358..369a2c5b0821f 100644 --- a/packages/kbn-esql-editor/kibana.jsonc +++ b/packages/kbn-esql-editor/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/esql-editor", - "owner": "@elastic/kibana-esql", + "owner": [ + "@elastic/kibana-esql" + ], + "group": "platform", + "visibility": "private" } \ No newline at end of file diff --git a/packages/kbn-esql-utils/kibana.jsonc b/packages/kbn-esql-utils/kibana.jsonc index 959a5d947b2b8..32404726c90ff 100644 --- a/packages/kbn-esql-utils/kibana.jsonc +++ b/packages/kbn-esql-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/esql-utils", - "owner": "@elastic/kibana-esql" -} + "owner": [ + "@elastic/kibana-esql" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-esql-validation-autocomplete/kibana.jsonc b/packages/kbn-esql-validation-autocomplete/kibana.jsonc index b7c1d12d48cd1..b0aa37e719377 100644 --- a/packages/kbn-esql-validation-autocomplete/kibana.jsonc +++ b/packages/kbn-esql-validation-autocomplete/kibana.jsonc @@ -1,5 +1,9 @@ { - "type": "shared-common", - "id": "@kbn/esql-validation-autocomplete", - "owner": "@elastic/kibana-esql" - } \ No newline at end of file + "type": "shared-common", + "id": "@kbn/esql-validation-autocomplete", + "owner": [ + "@elastic/kibana-esql" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-event-annotation-common/kibana.jsonc b/packages/kbn-event-annotation-common/kibana.jsonc index cdf2a346730ee..161e6bb8f22ba 100644 --- a/packages/kbn-event-annotation-common/kibana.jsonc +++ b/packages/kbn-event-annotation-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/event-annotation-common", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-event-annotation-components/kibana.jsonc b/packages/kbn-event-annotation-components/kibana.jsonc index af30ffe6d3277..7454473a94833 100644 --- a/packages/kbn-event-annotation-components/kibana.jsonc +++ b/packages/kbn-event-annotation-components/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/event-annotation-components", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-expandable-flyout/kibana.jsonc b/packages/kbn-expandable-flyout/kibana.jsonc index ae15fc604a1d8..5a8bf3183968d 100644 --- a/packages/kbn-expandable-flyout/kibana.jsonc +++ b/packages/kbn-expandable-flyout/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/expandable-flyout", - "owner": "@elastic/security-threat-hunting-investigations" -} + "owner": [ + "@elastic/security-threat-hunting-investigations" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-expandable-flyout/src/hooks/use_initialize_from_local_storage.test.ts b/packages/kbn-expandable-flyout/src/hooks/use_initialize_from_local_storage.test.ts index 26b3daf8161db..cc3623f9238c6 100644 --- a/packages/kbn-expandable-flyout/src/hooks/use_initialize_from_local_storage.test.ts +++ b/packages/kbn-expandable-flyout/src/hooks/use_initialize_from_local_storage.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useInitializeFromLocalStorage } from './use_initialize_from_local_storage'; import { localStorageMock } from '../../__mocks__'; import { diff --git a/packages/kbn-expandable-flyout/src/hooks/use_sections.test.tsx b/packages/kbn-expandable-flyout/src/hooks/use_sections.test.tsx index 4526f128affd3..8dc4aacaefbcf 100644 --- a/packages/kbn-expandable-flyout/src/hooks/use_sections.test.tsx +++ b/packages/kbn-expandable-flyout/src/hooks/use_sections.test.tsx @@ -8,8 +8,7 @@ */ import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; -import type { RenderHookResult } from '@testing-library/react-hooks'; +import { renderHook, RenderHookResult } from '@testing-library/react'; import type { UseSectionsParams, UseSectionsResult } from './use_sections'; import { useSections } from './use_sections'; import { useExpandableFlyoutState } from '../..'; @@ -17,7 +16,7 @@ import { useExpandableFlyoutState } from '../..'; jest.mock('../..'); describe('useSections', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return undefined for all values if no registeredPanels', () => { (useExpandableFlyoutState as jest.Mock).mockReturnValue({ diff --git a/packages/kbn-expandable-flyout/src/hooks/use_window_width.test.ts b/packages/kbn-expandable-flyout/src/hooks/use_window_width.test.ts index 72ab9148743db..696191e7fbdf6 100644 --- a/packages/kbn-expandable-flyout/src/hooks/use_window_width.test.ts +++ b/packages/kbn-expandable-flyout/src/hooks/use_window_width.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { FULL_WIDTH_PADDING, MAX_RESOLUTION_BREAKPOINT, diff --git a/packages/kbn-expect/kibana.jsonc b/packages/kbn-expect/kibana.jsonc index 6f2732af83e64..8b32dc829a865 100644 --- a/packages/kbn-expect/kibana.jsonc +++ b/packages/kbn-expect/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "shared-common", "id": "@kbn/expect", - "devOnly": true, - "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], -} + "owner": [ + "@elastic/kibana-operations", + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-field-types/kibana.jsonc b/packages/kbn-field-types/kibana.jsonc index e19eebb3a3a9f..ee1d33c31da08 100644 --- a/packages/kbn-field-types/kibana.jsonc +++ b/packages/kbn-field-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/field-types", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-field-utils/kibana.jsonc b/packages/kbn-field-utils/kibana.jsonc index 891f5f962f9e3..16efdbb4ffd4a 100644 --- a/packages/kbn-field-utils/kibana.jsonc +++ b/packages/kbn-field-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/field-utils", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-flot-charts/kibana.jsonc b/packages/kbn-flot-charts/kibana.jsonc index f2ebe8d27999e..a027dbd460ab9 100644 --- a/packages/kbn-flot-charts/kibana.jsonc +++ b/packages/kbn-flot-charts/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/flot-charts", - "owner": ["@elastic/kibana-presentation", "@elastic/stack-monitoring"] -} + "owner": [ + "@elastic/kibana-presentation", + "@elastic/stack-monitoring" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-ftr-common-functional-services/kibana.jsonc b/packages/kbn-ftr-common-functional-services/kibana.jsonc index c82496f10987b..cd87612fe9817 100644 --- a/packages/kbn-ftr-common-functional-services/kibana.jsonc +++ b/packages/kbn-ftr-common-functional-services/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "test-helper", "id": "@kbn/ftr-common-functional-services", - "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], + "owner": [ + "@elastic/kibana-operations", + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "shared", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-ftr-common-functional-ui-services/kibana.jsonc b/packages/kbn-ftr-common-functional-ui-services/kibana.jsonc index a92a8cd4c4a9b..16b19f3a7e203 100644 --- a/packages/kbn-ftr-common-functional-ui-services/kibana.jsonc +++ b/packages/kbn-ftr-common-functional-ui-services/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "test-helper", "id": "@kbn/ftr-common-functional-ui-services", - "owner": "@elastic/appex-qa", + "owner": [ + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "shared", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-ftr-screenshot-filename/kibana.jsonc b/packages/kbn-ftr-screenshot-filename/kibana.jsonc index c4d6004ed83db..b1534ddf0bc10 100644 --- a/packages/kbn-ftr-screenshot-filename/kibana.jsonc +++ b/packages/kbn-ftr-screenshot-filename/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "shared-common", "id": "@kbn/ftr-screenshot-filename", - "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], + "owner": [ + "@elastic/kibana-operations", + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "private", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-generate-csv/kibana.jsonc b/packages/kbn-generate-csv/kibana.jsonc index d29b33047007c..bcd72c4e8499a 100644 --- a/packages/kbn-generate-csv/kibana.jsonc +++ b/packages/kbn-generate-csv/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/generate-csv", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-get-repo-files/kibana.jsonc b/packages/kbn-get-repo-files/kibana.jsonc index 9bf339cc5c321..9268d6b7a70c8 100644 --- a/packages/kbn-get-repo-files/kibana.jsonc +++ b/packages/kbn-get-repo-files/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/get-repo-files", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-grouping/kibana.jsonc b/packages/kbn-grouping/kibana.jsonc index ce91c91cefcda..36e06aaaca56d 100644 --- a/packages/kbn-grouping/kibana.jsonc +++ b/packages/kbn-grouping/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/grouping", - "owner": "@elastic/response-ops" + "owner": "@elastic/response-ops", + "group": "platform", + "visibility": "shared" } diff --git a/packages/kbn-guided-onboarding/kibana.jsonc b/packages/kbn-guided-onboarding/kibana.jsonc index 6b7815910f2f5..8a3ec04df9f38 100644 --- a/packages/kbn-guided-onboarding/kibana.jsonc +++ b/packages/kbn-guided-onboarding/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/guided-onboarding", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-handlebars/kibana.jsonc b/packages/kbn-handlebars/kibana.jsonc index 59b3c28ddb391..52c2290705f32 100644 --- a/packages/kbn-handlebars/kibana.jsonc +++ b/packages/kbn-handlebars/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/handlebars", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-hapi-mocks/kibana.jsonc b/packages/kbn-hapi-mocks/kibana.jsonc index f88e6e29df493..2938ef8711acc 100644 --- a/packages/kbn-hapi-mocks/kibana.jsonc +++ b/packages/kbn-hapi-mocks/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/hapi-mocks", - "owner": "@elastic/kibana-core" + "owner": "@elastic/kibana-core", + "group": "platform", + "visibility": "private" } diff --git a/packages/kbn-health-gateway-server/kibana.jsonc b/packages/kbn-health-gateway-server/kibana.jsonc index 6f9470fac54e5..befe8f806bb50 100644 --- a/packages/kbn-health-gateway-server/kibana.jsonc +++ b/packages/kbn-health-gateway-server/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-server", "id": "@kbn/health-gateway-server", - "owner": "@elastic/kibana-core" + "owner": "@elastic/kibana-core", + "group": "platform", + "visibility": "private" } diff --git a/packages/kbn-i18n-react/kibana.jsonc b/packages/kbn-i18n-react/kibana.jsonc index 090a4f0fa61be..f4eb824a88f79 100644 --- a/packages/kbn-i18n-react/kibana.jsonc +++ b/packages/kbn-i18n-react/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/i18n-react", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-i18n/kibana.jsonc b/packages/kbn-i18n/kibana.jsonc index 8d4bdf6f003c9..c0d9b8067d9ca 100644 --- a/packages/kbn-i18n/kibana.jsonc +++ b/packages/kbn-i18n/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/i18n", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-import-resolver/kibana.jsonc b/packages/kbn-import-resolver/kibana.jsonc index 6b7ae00f9da8d..10ddd61b4344b 100644 --- a/packages/kbn-import-resolver/kibana.jsonc +++ b/packages/kbn-import-resolver/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/import-resolver", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-index-adapter/kibana.jsonc b/packages/kbn-index-adapter/kibana.jsonc index 575d95f5a3e39..94b33ec7774b2 100644 --- a/packages/kbn-index-adapter/kibana.jsonc +++ b/packages/kbn-index-adapter/kibana.jsonc @@ -2,5 +2,6 @@ "type": "shared-server", "id": "@kbn/index-adapter", "owner": "@elastic/security-threat-hunting", - "visibility": "shared" + "group": "security", + "visibility": "private" } diff --git a/packages/kbn-interpreter/kibana.jsonc b/packages/kbn-interpreter/kibana.jsonc index 9f11015263cf0..b92d389c38ae4 100644 --- a/packages/kbn-interpreter/kibana.jsonc +++ b/packages/kbn-interpreter/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/interpreter", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-investigation-shared/kibana.jsonc b/packages/kbn-investigation-shared/kibana.jsonc index ffc2802ff3af9..5c10ef56f3b0c 100644 --- a/packages/kbn-investigation-shared/kibana.jsonc +++ b/packages/kbn-investigation-shared/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/investigation-shared", - "owner": "@elastic/obs-ux-management-team" -} + "owner": [ + "@elastic/obs-ux-management-team" + ], + "group": "observability", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-io-ts-utils/kibana.jsonc b/packages/kbn-io-ts-utils/kibana.jsonc index ea3032a472dc6..7bb571ab335e8 100644 --- a/packages/kbn-io-ts-utils/kibana.jsonc +++ b/packages/kbn-io-ts-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/io-ts-utils", - "owner": "@elastic/obs-knowledge-team" -} + "owner": [ + "@elastic/obs-knowledge-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-ipynb/kibana.jsonc b/packages/kbn-ipynb/kibana.jsonc index 74aa3e338fb65..1c6b0245c66e6 100644 --- a/packages/kbn-ipynb/kibana.jsonc +++ b/packages/kbn-ipynb/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ipynb", - "owner": "@elastic/search-kibana" -} + "owner": [ + "@elastic/search-kibana" + ], + "group": "search", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-item-buffer/kibana.jsonc b/packages/kbn-item-buffer/kibana.jsonc index 624939e78dbf9..ce47802b7f4bf 100644 --- a/packages/kbn-item-buffer/kibana.jsonc +++ b/packages/kbn-item-buffer/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/item-buffer", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-jest-serializers/kibana.jsonc b/packages/kbn-jest-serializers/kibana.jsonc index b10e323733573..2eafbc3f93cd8 100644 --- a/packages/kbn-jest-serializers/kibana.jsonc +++ b/packages/kbn-jest-serializers/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/jest-serializers", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-journeys/kibana.jsonc b/packages/kbn-journeys/kibana.jsonc index 227c4b20cf080..7c9bc16442b61 100644 --- a/packages/kbn-journeys/kibana.jsonc +++ b/packages/kbn-journeys/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "test-helper", "id": "@kbn/journeys", - "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], + "owner": [ + "@elastic/kibana-operations", + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "private", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-language-documentation/kibana.jsonc b/packages/kbn-language-documentation/kibana.jsonc index 5bd04503e6397..a4b7d35aec964 100644 --- a/packages/kbn-language-documentation/kibana.jsonc +++ b/packages/kbn-language-documentation/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/language-documentation", - "owner": "@elastic/kibana-esql" -} + "owner": [ + "@elastic/kibana-esql" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-lens-embeddable-utils/kibana.jsonc b/packages/kbn-lens-embeddable-utils/kibana.jsonc index 6889324eefad3..f3bd7abbc88b9 100644 --- a/packages/kbn-lens-embeddable-utils/kibana.jsonc +++ b/packages/kbn-lens-embeddable-utils/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/lens-embeddable-utils", - "owner": ["@elastic/obs-ux-infra_services-team", "@elastic/kibana-visualizations"] -} + "owner": [ + "@elastic/obs-ux-infra_services-team", + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-lens-formula-docs/kibana.jsonc b/packages/kbn-lens-formula-docs/kibana.jsonc index 11135fcff7d7e..ae66fff0b3b8f 100644 --- a/packages/kbn-lens-formula-docs/kibana.jsonc +++ b/packages/kbn-lens-formula-docs/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/lens-formula-docs", - "owner": ["@elastic/kibana-visualizations"] -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-logging-mocks/kibana.jsonc b/packages/kbn-logging-mocks/kibana.jsonc index 78fdda54a8a9b..962665f7369a9 100644 --- a/packages/kbn-logging-mocks/kibana.jsonc +++ b/packages/kbn-logging-mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/logging-mocks", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-logging/kibana.jsonc b/packages/kbn-logging/kibana.jsonc index 77e12786e908b..314c64b0aa86e 100644 --- a/packages/kbn-logging/kibana.jsonc +++ b/packages/kbn-logging/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/logging", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-managed-content-badge/kibana.jsonc b/packages/kbn-managed-content-badge/kibana.jsonc index e679a5e83d36f..784bff1465afc 100644 --- a/packages/kbn-managed-content-badge/kibana.jsonc +++ b/packages/kbn-managed-content-badge/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/managed-content-badge", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-management/cards_navigation/kibana.jsonc b/packages/kbn-management/cards_navigation/kibana.jsonc index 3c43395c3e055..b5dcdfe3bca5d 100644 --- a/packages/kbn-management/cards_navigation/kibana.jsonc +++ b/packages/kbn-management/cards_navigation/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/management-cards-navigation", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/application/kibana.jsonc b/packages/kbn-management/settings/application/kibana.jsonc index 5ae6bb5132b2e..566c99ddfa4a6 100644 --- a/packages/kbn-management/settings/application/kibana.jsonc +++ b/packages/kbn-management/settings/application/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/management-settings-application", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_category/kibana.jsonc b/packages/kbn-management/settings/components/field_category/kibana.jsonc index 7161a8c75f49e..734757a519876 100644 --- a/packages/kbn-management/settings/components/field_category/kibana.jsonc +++ b/packages/kbn-management/settings/components/field_category/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/management-settings-components-field-category", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_input/kibana.jsonc b/packages/kbn-management/settings/components/field_input/kibana.jsonc index ce990d2955950..95f3fc2fc75a2 100644 --- a/packages/kbn-management/settings/components/field_input/kibana.jsonc +++ b/packages/kbn-management/settings/components/field_input/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/management-settings-components-field-input", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_row/kibana.jsonc b/packages/kbn-management/settings/components/field_row/kibana.jsonc index e39c157f53252..7a0da59a74af4 100644 --- a/packages/kbn-management/settings/components/field_row/kibana.jsonc +++ b/packages/kbn-management/settings/components/field_row/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/management-settings-components-field-row", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/form/kibana.jsonc b/packages/kbn-management/settings/components/form/kibana.jsonc index 58daacd2622a4..5297d8a292ee9 100644 --- a/packages/kbn-management/settings/components/form/kibana.jsonc +++ b/packages/kbn-management/settings/components/form/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/management-settings-components-form", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/field_definition/kibana.jsonc b/packages/kbn-management/settings/field_definition/kibana.jsonc index 23459871d7882..f56c69ad47661 100644 --- a/packages/kbn-management/settings/field_definition/kibana.jsonc +++ b/packages/kbn-management/settings/field_definition/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/management-settings-field-definition", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/section_registry/kibana.jsonc b/packages/kbn-management/settings/section_registry/kibana.jsonc index 53a9aea666df3..2c367093133ad 100644 --- a/packages/kbn-management/settings/section_registry/kibana.jsonc +++ b/packages/kbn-management/settings/section_registry/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-browser", "id": "@kbn/management-settings-section-registry", - "owner": "@elastic/appex-sharedux @elastic/kibana-management" -} + "owner": [ + "@elastic/appex-sharedux", + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/setting_ids/kibana.jsonc b/packages/kbn-management/settings/setting_ids/kibana.jsonc index 62b1f89566d58..e47caf903a14a 100644 --- a/packages/kbn-management/settings/setting_ids/kibana.jsonc +++ b/packages/kbn-management/settings/setting_ids/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/management-settings-ids", - "owner": "@elastic/appex-sharedux @elastic/kibana-management" -} + "owner": [ + "@elastic/appex-sharedux", + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/types/kibana.jsonc b/packages/kbn-management/settings/types/kibana.jsonc index 54a3836a48380..994e4ba3bbeed 100644 --- a/packages/kbn-management/settings/types/kibana.jsonc +++ b/packages/kbn-management/settings/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/management-settings-types", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/utilities/kibana.jsonc b/packages/kbn-management/settings/utilities/kibana.jsonc index a32f319da8f66..cecf1ee6537d4 100644 --- a/packages/kbn-management/settings/utilities/kibana.jsonc +++ b/packages/kbn-management/settings/utilities/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/management-settings-utilities", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-manifest/kibana.jsonc b/packages/kbn-manifest/kibana.jsonc index 27f2d95e65501..b6ce7ae0c2862 100644 --- a/packages/kbn-manifest/kibana.jsonc +++ b/packages/kbn-manifest/kibana.jsonc @@ -1,5 +1,6 @@ { "type": "shared-server", "id": "@kbn/manifest", - "owner": "@elastic/kibana-core" + "owner": "@elastic/kibana-core", + "devOnly": true } diff --git a/packages/kbn-mapbox-gl/kibana.jsonc b/packages/kbn-mapbox-gl/kibana.jsonc index 6cc7e1f7b2b30..c0174f25e37e8 100644 --- a/packages/kbn-mapbox-gl/kibana.jsonc +++ b/packages/kbn-mapbox-gl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/mapbox-gl", - "owner": "@elastic/kibana-presentation" -} + "owner": [ + "@elastic/kibana-presentation" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-mock-idp-utils/kibana.jsonc b/packages/kbn-mock-idp-utils/kibana.jsonc index 443dd39d1e6d6..e88f8a1fa4bb9 100644 --- a/packages/kbn-mock-idp-utils/kibana.jsonc +++ b/packages/kbn-mock-idp-utils/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/mock-idp-utils", - "owner": "@elastic/kibana-security", - "devOnly": true, + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "private", + "devOnly": true } \ No newline at end of file diff --git a/packages/kbn-monaco/kibana.jsonc b/packages/kbn-monaco/kibana.jsonc index 32e962e27ca3b..1f04833d036b8 100644 --- a/packages/kbn-monaco/kibana.jsonc +++ b/packages/kbn-monaco/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/monaco", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-object-versioning-utils/kibana.jsonc b/packages/kbn-object-versioning-utils/kibana.jsonc index deba859afd364..b80f4dc13beca 100644 --- a/packages/kbn-object-versioning-utils/kibana.jsonc +++ b/packages/kbn-object-versioning-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/object-versioning-utils", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-object-versioning/kibana.jsonc b/packages/kbn-object-versioning/kibana.jsonc index 00f87ac804f47..5d20eefe37bd8 100644 --- a/packages/kbn-object-versioning/kibana.jsonc +++ b/packages/kbn-object-versioning/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/object-versioning", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-openapi-common/kibana.jsonc b/packages/kbn-openapi-common/kibana.jsonc index 4254feb1b8a73..1c8f5a009dfca 100644 --- a/packages/kbn-openapi-common/kibana.jsonc +++ b/packages/kbn-openapi-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/openapi-common", - "owner": "@elastic/security-detection-rule-management" -} + "owner": [ + "@elastic/security-detection-rule-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-optimizer-webpack-helpers/kibana.jsonc b/packages/kbn-optimizer-webpack-helpers/kibana.jsonc index 1fa8375008f26..f4f1607d7b9ec 100644 --- a/packages/kbn-optimizer-webpack-helpers/kibana.jsonc +++ b/packages/kbn-optimizer-webpack-helpers/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/optimizer-webpack-helpers", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-osquery-io-ts-types/kibana.jsonc b/packages/kbn-osquery-io-ts-types/kibana.jsonc index d989501855da2..261ffcf60a1d9 100644 --- a/packages/kbn-osquery-io-ts-types/kibana.jsonc +++ b/packages/kbn-osquery-io-ts-types/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/osquery-io-ts-types", - "owner": "@elastic/security-asset-management" + "owner": "@elastic/security-asset-management", + "group": "platform", + "visibility": "shared" } diff --git a/packages/kbn-panel-loader/kibana.jsonc b/packages/kbn-panel-loader/kibana.jsonc index 5fc518a8983ca..381e86db160af 100644 --- a/packages/kbn-panel-loader/kibana.jsonc +++ b/packages/kbn-panel-loader/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/panel-loader", - "owner": "@elastic/kibana-presentation" -} + "owner": [ + "@elastic/kibana-presentation" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-peggy/kibana.jsonc b/packages/kbn-peggy/kibana.jsonc index a1cdcc8f802aa..f3a821456e4a1 100644 --- a/packages/kbn-peggy/kibana.jsonc +++ b/packages/kbn-peggy/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/peggy", - "owner": "@elastic/kibana-operations", + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-profiling-utils/kibana.jsonc b/packages/kbn-profiling-utils/kibana.jsonc index d41a4db71299d..36840c5274ca9 100644 --- a/packages/kbn-profiling-utils/kibana.jsonc +++ b/packages/kbn-profiling-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/profiling-utils", - "owner": "@elastic/obs-ux-infra_services-team" -} + "owner": [ + "@elastic/obs-ux-infra_services-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-react-field/kibana.jsonc b/packages/kbn-react-field/kibana.jsonc index 5b65d59d4dbbd..7a8158adf1401 100644 --- a/packages/kbn-react-field/kibana.jsonc +++ b/packages/kbn-react-field/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/react-field", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-react-hooks/kibana.jsonc b/packages/kbn-react-hooks/kibana.jsonc index d968b4340b356..3c5d2e78d0ed6 100644 --- a/packages/kbn-react-hooks/kibana.jsonc +++ b/packages/kbn-react-hooks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/react-hooks", - "owner": "@elastic/obs-ux-logs-team" -} + "owner": [ + "@elastic/obs-ux-logs-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-recently-accessed/kibana.jsonc b/packages/kbn-recently-accessed/kibana.jsonc index 0ec9917dc6b77..48b007b3e99be 100644 --- a/packages/kbn-recently-accessed/kibana.jsonc +++ b/packages/kbn-recently-accessed/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/recently-accessed", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-repo-info/kibana.jsonc b/packages/kbn-repo-info/kibana.jsonc index ab12583890dfd..bf7f4bc9bacc1 100644 --- a/packages/kbn-repo-info/kibana.jsonc +++ b/packages/kbn-repo-info/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/repo-info", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-repo-packages/kibana.jsonc b/packages/kbn-repo-packages/kibana.jsonc index 868735cc2c1a3..2bb82ef6495cd 100644 --- a/packages/kbn-repo-packages/kibana.jsonc +++ b/packages/kbn-repo-packages/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/repo-packages", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-repo-path/kibana.jsonc b/packages/kbn-repo-path/kibana.jsonc index 2c0bc6368ff67..b32e21e3fdd6a 100644 --- a/packages/kbn-repo-path/kibana.jsonc +++ b/packages/kbn-repo-path/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/repo-path", - "owner": "@elastic/kibana-operations", + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", "devOnly": true -} +} \ No newline at end of file diff --git a/packages/kbn-repo-source-classifier/index.ts b/packages/kbn-repo-source-classifier/index.ts index f82499bfd6405..8a9d652466012 100644 --- a/packages/kbn-repo-source-classifier/index.ts +++ b/packages/kbn-repo-source-classifier/index.ts @@ -7,5 +7,6 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +export type { ModuleId } from './src/module_id'; export type { ModuleType } from './src/module_type'; export { RepoSourceClassifier } from './src/repo_source_classifier'; diff --git a/packages/kbn-reporting/common/kibana.jsonc b/packages/kbn-reporting/common/kibana.jsonc index 9b03854836915..198147ed5a90f 100644 --- a/packages/kbn-reporting/common/kibana.jsonc +++ b/packages/kbn-reporting/common/kibana.jsonc @@ -2,4 +2,6 @@ "type": "shared-common", "id": "@kbn/reporting-common", "owner": "@elastic/appex-sharedux", + "group": "platform", + "visibility": "private" } diff --git a/packages/kbn-reporting/export_types/csv/kibana.jsonc b/packages/kbn-reporting/export_types/csv/kibana.jsonc index e638d40ede567..417605c641a1d 100644 --- a/packages/kbn-reporting/export_types/csv/kibana.jsonc +++ b/packages/kbn-reporting/export_types/csv/kibana.jsonc @@ -1,5 +1,9 @@ { - "type": "shared-server", - "id": "@kbn/reporting-export-types-csv", - "owner": "@elastic/appex-sharedux" - } \ No newline at end of file + "type": "shared-server", + "id": "@kbn/reporting-export-types-csv", + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-reporting/export_types/csv_common/kibana.jsonc b/packages/kbn-reporting/export_types/csv_common/kibana.jsonc index 10e347c55ab5e..a12125b4da075 100644 --- a/packages/kbn-reporting/export_types/csv_common/kibana.jsonc +++ b/packages/kbn-reporting/export_types/csv_common/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/reporting-export-types-csv-common", - "owner": "@elastic/appex-sharedux" + "owner": "@elastic/appex-sharedux", + "group": "platform", + "visibility": "private" } diff --git a/packages/kbn-reporting/export_types/pdf/kibana.jsonc b/packages/kbn-reporting/export_types/pdf/kibana.jsonc index 1cc83f4395e21..716c3bbb84737 100644 --- a/packages/kbn-reporting/export_types/pdf/kibana.jsonc +++ b/packages/kbn-reporting/export_types/pdf/kibana.jsonc @@ -1,5 +1,9 @@ { - "type": "shared-server", - "id": "@kbn/reporting-export-types-pdf", - "owner": "@elastic/appex-sharedux" - } \ No newline at end of file + "type": "shared-server", + "id": "@kbn/reporting-export-types-pdf", + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-reporting/export_types/pdf_common/kibana.jsonc b/packages/kbn-reporting/export_types/pdf_common/kibana.jsonc index a9aecce082861..1785e8f062eb0 100644 --- a/packages/kbn-reporting/export_types/pdf_common/kibana.jsonc +++ b/packages/kbn-reporting/export_types/pdf_common/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/reporting-export-types-pdf-common", - "owner": "@elastic/appex-sharedux" + "owner": "@elastic/appex-sharedux", + "group": "platform", + "visibility": "private" } diff --git a/packages/kbn-reporting/export_types/png/kibana.jsonc b/packages/kbn-reporting/export_types/png/kibana.jsonc index b8923806260fb..db64ceb40fb9d 100644 --- a/packages/kbn-reporting/export_types/png/kibana.jsonc +++ b/packages/kbn-reporting/export_types/png/kibana.jsonc @@ -1,5 +1,9 @@ { - "type": "shared-server", - "id": "@kbn/reporting-export-types-png", - "owner": "@elastic/appex-sharedux" - } \ No newline at end of file + "type": "shared-server", + "id": "@kbn/reporting-export-types-png", + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-reporting/export_types/png_common/kibana.jsonc b/packages/kbn-reporting/export_types/png_common/kibana.jsonc index 0c0b7259864ce..8b041ebc1bae9 100644 --- a/packages/kbn-reporting/export_types/png_common/kibana.jsonc +++ b/packages/kbn-reporting/export_types/png_common/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/reporting-export-types-png-common", - "owner": "@elastic/appex-sharedux" + "owner": "@elastic/appex-sharedux", + "group": "platform", + "visibility": "private" } diff --git a/packages/kbn-reporting/get_csv_panel_actions/kibana.jsonc b/packages/kbn-reporting/get_csv_panel_actions/kibana.jsonc index a37c3dbc2d61b..1548edc6488d5 100644 --- a/packages/kbn-reporting/get_csv_panel_actions/kibana.jsonc +++ b/packages/kbn-reporting/get_csv_panel_actions/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/reporting-csv-share-panel", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-reporting/mocks_server/kibana.jsonc b/packages/kbn-reporting/mocks_server/kibana.jsonc index e9c9707b67a2a..ce43a094b6990 100644 --- a/packages/kbn-reporting/mocks_server/kibana.jsonc +++ b/packages/kbn-reporting/mocks_server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/reporting-mocks-server", - "owner": "@elastic/appex-sharedux" + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" } diff --git a/packages/kbn-reporting/public/kibana.jsonc b/packages/kbn-reporting/public/kibana.jsonc index c813e18f70e8e..16b3330e2fb23 100644 --- a/packages/kbn-reporting/public/kibana.jsonc +++ b/packages/kbn-reporting/public/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/reporting-public", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-reporting/server/export_type.ts b/packages/kbn-reporting/server/export_type.ts index 2ddd69b826b60..32be67ddad3fc 100644 --- a/packages/kbn-reporting/server/export_type.ts +++ b/packages/kbn-reporting/server/export_type.ts @@ -8,7 +8,6 @@ */ import type { IClusterClient } from '@kbn/core-elasticsearch-server'; -import { CoreKibanaRequest } from '@kbn/core-http-router-server-internal'; import type { FakeRawRequest, Headers, @@ -28,6 +27,7 @@ import type { ScreenshottingStart } from '@kbn/screenshotting-plugin/server'; import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; import type { SpacesPluginSetup } from '@kbn/spaces-plugin/server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; import type { CreateJobFn, RunTaskFn } from './types'; import type { ReportingConfigType } from '.'; @@ -126,7 +126,7 @@ export abstract class ExportType< headers, path: '/', }; - const fakeRequest = CoreKibanaRequest.from(rawRequest); + const fakeRequest = kibanaRequestFactory(rawRequest); const spacesService = this.setupDeps.spaces?.spacesService; if (spacesService) { diff --git a/packages/kbn-reporting/server/kibana.jsonc b/packages/kbn-reporting/server/kibana.jsonc index a2440596bd9dd..e4c95256bc2f5 100644 --- a/packages/kbn-reporting/server/kibana.jsonc +++ b/packages/kbn-reporting/server/kibana.jsonc @@ -2,9 +2,10 @@ "type": "shared-server", "id": "@kbn/reporting-server", "owner": "@elastic/appex-sharedux", + "group": "platform", + "visibility": "private", "plugin": { "server": true, "browser": false, } } - diff --git a/packages/kbn-reporting/server/tsconfig.json b/packages/kbn-reporting/server/tsconfig.json index 7981ce1c3f995..94b082afdc2ee 100644 --- a/packages/kbn-reporting/server/tsconfig.json +++ b/packages/kbn-reporting/server/tsconfig.json @@ -31,8 +31,8 @@ "@kbn/licensing-plugin", "@kbn/spaces-plugin", "@kbn/core-elasticsearch-server", - "@kbn/core-http-router-server-internal", "@kbn/core-http-request-handler-context-server", "@kbn/config-schema", + "@kbn/core-http-server-utils", ] } diff --git a/packages/kbn-resizable-layout/kibana.jsonc b/packages/kbn-resizable-layout/kibana.jsonc index abc49ac47ffbf..e02d6599bba9c 100644 --- a/packages/kbn-resizable-layout/kibana.jsonc +++ b/packages/kbn-resizable-layout/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/resizable-layout", - "description": "A component for creating resizable layouts containing a fixed width panel and a flexible panel, with support for horizontal and vertical layouts.", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared", + "description": "A component for creating resizable layouts containing a fixed width panel and a flexible panel, with support for horizontal and vertical layouts." +} \ No newline at end of file diff --git a/packages/kbn-rison/kibana.jsonc b/packages/kbn-rison/kibana.jsonc index c0e6145d04a7d..0962a3a02987f 100644 --- a/packages/kbn-rison/kibana.jsonc +++ b/packages/kbn-rison/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/rison", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-router-to-openapispec/kibana.jsonc b/packages/kbn-router-to-openapispec/kibana.jsonc index a14f443ce27ec..800f12d331590 100644 --- a/packages/kbn-router-to-openapispec/kibana.jsonc +++ b/packages/kbn-router-to-openapispec/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/router-to-openapispec", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-router-utils/kibana.jsonc b/packages/kbn-router-utils/kibana.jsonc index c255dacb11c70..18b5c54a9c786 100644 --- a/packages/kbn-router-utils/kibana.jsonc +++ b/packages/kbn-router-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/router-utils", - "owner": "@elastic/obs-ux-logs-team" -} + "owner": [ + "@elastic/obs-ux-logs-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-rrule/kibana.jsonc b/packages/kbn-rrule/kibana.jsonc index 08878a6cfb1e9..5b5374ff6a1ab 100644 --- a/packages/kbn-rrule/kibana.jsonc +++ b/packages/kbn-rrule/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/rrule", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-rule-data-utils/kibana.jsonc b/packages/kbn-rule-data-utils/kibana.jsonc index 4d9d77fbeeb72..733ffbdfa67f3 100644 --- a/packages/kbn-rule-data-utils/kibana.jsonc +++ b/packages/kbn-rule-data-utils/kibana.jsonc @@ -5,5 +5,7 @@ "@elastic/security-detections-response", "@elastic/response-ops", "@elastic/obs-ux-management-team" - ] -} + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-safer-lodash-set/kibana.jsonc b/packages/kbn-safer-lodash-set/kibana.jsonc index d01d41b9a6219..5f4ad3f4395da 100644 --- a/packages/kbn-safer-lodash-set/kibana.jsonc +++ b/packages/kbn-safer-lodash-set/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/safer-lodash-set", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-saved-objects-settings/kibana.jsonc b/packages/kbn-saved-objects-settings/kibana.jsonc index 40486e1ef0cf1..c03224f017a21 100644 --- a/packages/kbn-saved-objects-settings/kibana.jsonc +++ b/packages/kbn-saved-objects-settings/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/saved-objects-settings", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-screenshotting-server/kibana.jsonc b/packages/kbn-screenshotting-server/kibana.jsonc index 1f2aa1c0f5794..a71e7b15d2b8a 100644 --- a/packages/kbn-screenshotting-server/kibana.jsonc +++ b/packages/kbn-screenshotting-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/screenshotting-server", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-search-api-keys-components/kibana.jsonc b/packages/kbn-search-api-keys-components/kibana.jsonc index bedd4c213760f..54160e8576569 100644 --- a/packages/kbn-search-api-keys-components/kibana.jsonc +++ b/packages/kbn-search-api-keys-components/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/search-api-keys-components", - "owner": "@elastic/search-kibana" + "owner": [ + "@elastic/search-kibana" + ], + "group": "search", + "visibility": "private" } \ No newline at end of file diff --git a/packages/kbn-search-api-keys-server/kibana.jsonc b/packages/kbn-search-api-keys-server/kibana.jsonc index 52c6cd9653968..5102ebdeda7f4 100644 --- a/packages/kbn-search-api-keys-server/kibana.jsonc +++ b/packages/kbn-search-api-keys-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/search-api-keys-server", - "owner": "@elastic/search-kibana" + "owner": [ + "@elastic/search-kibana" + ], + "group": "search", + "visibility": "private" } \ No newline at end of file diff --git a/packages/kbn-search-api-panels/kibana.jsonc b/packages/kbn-search-api-panels/kibana.jsonc index 3e346c91d5554..98b03521b6248 100644 --- a/packages/kbn-search-api-panels/kibana.jsonc +++ b/packages/kbn-search-api-panels/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/search-api-panels", - "owner": "@elastic/search-kibana" + "owner": [ + "@elastic/search-kibana" + ], + // FIXME? @kbn/index-management-plugin depends on it + "group": "platform", + "visibility": "shared" } diff --git a/packages/kbn-search-connectors/kibana.jsonc b/packages/kbn-search-connectors/kibana.jsonc index d5254ac9b68c7..d784b6c15c679 100644 --- a/packages/kbn-search-connectors/kibana.jsonc +++ b/packages/kbn-search-connectors/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/search-connectors", - "owner": "@elastic/search-kibana" + "owner": [ + "@elastic/search-kibana" + ], + // FIXME? search-connectors-plugin depends on it + "group": "platform", + "visibility": "shared" } diff --git a/packages/kbn-search-errors/kibana.jsonc b/packages/kbn-search-errors/kibana.jsonc index 9d4e7e2472b9d..208da0ca92221 100644 --- a/packages/kbn-search-errors/kibana.jsonc +++ b/packages/kbn-search-errors/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/search-errors", - "owner": "@elastic/kibana-data-discovery" + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" } diff --git a/packages/kbn-search-index-documents/kibana.jsonc b/packages/kbn-search-index-documents/kibana.jsonc index a0a69aff312c3..f28c08c525775 100644 --- a/packages/kbn-search-index-documents/kibana.jsonc +++ b/packages/kbn-search-index-documents/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/search-index-documents", - "owner": "@elastic/search-kibana" + "owner": "@elastic/search-kibana", + "group": "search", + "visibility": "private" } diff --git a/packages/kbn-search-response-warnings/kibana.jsonc b/packages/kbn-search-response-warnings/kibana.jsonc index 5c8127c27319e..530a97c7e3bba 100644 --- a/packages/kbn-search-response-warnings/kibana.jsonc +++ b/packages/kbn-search-response-warnings/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/search-response-warnings", - "owner": "@elastic/kibana-data-discovery" + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" } diff --git a/packages/kbn-search-types/kibana.jsonc b/packages/kbn-search-types/kibana.jsonc index 2f61b7444a0d8..f2b5a43ad63fa 100644 --- a/packages/kbn-search-types/kibana.jsonc +++ b/packages/kbn-search-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/search-types", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-security-hardening/kibana.jsonc b/packages/kbn-security-hardening/kibana.jsonc index 42b778b24fcc6..b434a95e70985 100644 --- a/packages/kbn-security-hardening/kibana.jsonc +++ b/packages/kbn-security-hardening/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/security-hardening", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-autocomplete/kibana.jsonc b/packages/kbn-securitysolution-autocomplete/kibana.jsonc index 0446d8bc04ed2..42e6564593c84 100644 --- a/packages/kbn-securitysolution-autocomplete/kibana.jsonc +++ b/packages/kbn-securitysolution-autocomplete/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-autocomplete", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-ecs/kibana.jsonc b/packages/kbn-securitysolution-ecs/kibana.jsonc index f288e4b2951ce..8a5b40f54fcb1 100644 --- a/packages/kbn-securitysolution-ecs/kibana.jsonc +++ b/packages/kbn-securitysolution-ecs/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-ecs", - "owner": "@elastic/security-threat-hunting-explore" -} + "owner": [ + "@elastic/security-threat-hunting-explore" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-endpoint-exceptions-common/kibana.jsonc b/packages/kbn-securitysolution-endpoint-exceptions-common/kibana.jsonc index 76a63cc5ac561..3351c559d0823 100644 --- a/packages/kbn-securitysolution-endpoint-exceptions-common/kibana.jsonc +++ b/packages/kbn-securitysolution-endpoint-exceptions-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-endpoint-exceptions-common", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-es-utils/kibana.jsonc b/packages/kbn-securitysolution-es-utils/kibana.jsonc index 6cc0af9e25de4..c7befc64d8881 100644 --- a/packages/kbn-securitysolution-es-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-es-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-es-utils", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-exception-list-components/kibana.jsonc b/packages/kbn-securitysolution-exception-list-components/kibana.jsonc index 9d280a7c5098f..e616d5d8d9419 100644 --- a/packages/kbn-securitysolution-exception-list-components/kibana.jsonc +++ b/packages/kbn-securitysolution-exception-list-components/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-exception-list-components", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-exceptions-common/kibana.jsonc b/packages/kbn-securitysolution-exceptions-common/kibana.jsonc index ff47bd8f5a585..4ca98e71a9256 100644 --- a/packages/kbn-securitysolution-exceptions-common/kibana.jsonc +++ b/packages/kbn-securitysolution-exceptions-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-exceptions-common", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-hook-utils/kibana.jsonc b/packages/kbn-securitysolution-hook-utils/kibana.jsonc index abea333eaf081..e05c4329e8c36 100644 --- a/packages/kbn-securitysolution-hook-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-hook-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-hook-utils", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc index 6749cb99ac474..813f13d89ff99 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc +++ b/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-io-ts-alerting-types", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc index ce40047794dfa..7c835b05d02e2 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc +++ b/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-io-ts-list-types", - "owner": "@elastic/security-detection-engine" + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" } diff --git a/packages/kbn-securitysolution-io-ts-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-types/kibana.jsonc index c099c55f08a01..0eff2e1ce9023 100644 --- a/packages/kbn-securitysolution-io-ts-types/kibana.jsonc +++ b/packages/kbn-securitysolution-io-ts-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-io-ts-types", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc b/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc index 3628e51de2c95..f0b84ddb6c7e7 100644 --- a/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-io-ts-utils", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-list-api/kibana.jsonc b/packages/kbn-securitysolution-list-api/kibana.jsonc index 70a32bbf8c318..e3408f02a5aba 100644 --- a/packages/kbn-securitysolution-list-api/kibana.jsonc +++ b/packages/kbn-securitysolution-list-api/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-list-api", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-list-constants/kibana.jsonc b/packages/kbn-securitysolution-list-constants/kibana.jsonc index 9185bef63b5c6..38cc48cd87107 100644 --- a/packages/kbn-securitysolution-list-constants/kibana.jsonc +++ b/packages/kbn-securitysolution-list-constants/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-list-constants", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-list-hooks/kibana.jsonc b/packages/kbn-securitysolution-list-hooks/kibana.jsonc index f0d26c1e126e6..fc5331b309606 100644 --- a/packages/kbn-securitysolution-list-hooks/kibana.jsonc +++ b/packages/kbn-securitysolution-list-hooks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-list-hooks", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-list-utils/kibana.jsonc b/packages/kbn-securitysolution-list-utils/kibana.jsonc index ee3b8f0e45100..bbf6b24499695 100644 --- a/packages/kbn-securitysolution-list-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-list-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-list-utils", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-lists-common/kibana.jsonc b/packages/kbn-securitysolution-lists-common/kibana.jsonc index 614314f10e8b4..4e00ce7b91d93 100644 --- a/packages/kbn-securitysolution-lists-common/kibana.jsonc +++ b/packages/kbn-securitysolution-lists-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-lists-common", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-rules/kibana.jsonc b/packages/kbn-securitysolution-rules/kibana.jsonc index 1bb40e4eada67..1c4bb22857b50 100644 --- a/packages/kbn-securitysolution-rules/kibana.jsonc +++ b/packages/kbn-securitysolution-rules/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-rules", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-t-grid/kibana.jsonc b/packages/kbn-securitysolution-t-grid/kibana.jsonc index 4e08fb6804664..81f74a1116e11 100644 --- a/packages/kbn-securitysolution-t-grid/kibana.jsonc +++ b/packages/kbn-securitysolution-t-grid/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-t-grid", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-utils/kibana.jsonc b/packages/kbn-securitysolution-utils/kibana.jsonc index 53dec9673e495..5e6ccf9096ea3 100644 --- a/packages/kbn-securitysolution-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-utils", - "owner": "@elastic/security-detection-engine" -} + "owner": [ + "@elastic/security-detection-engine" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-server-http-tools/kibana.jsonc b/packages/kbn-server-http-tools/kibana.jsonc index f540a5be09123..30c15aa7f7324 100644 --- a/packages/kbn-server-http-tools/kibana.jsonc +++ b/packages/kbn-server-http-tools/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/server-http-tools", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-server-route-repository-client/kibana.jsonc b/packages/kbn-server-route-repository-client/kibana.jsonc index 5a3974d7ab3ca..cdb59a56ca04f 100644 --- a/packages/kbn-server-route-repository-client/kibana.jsonc +++ b/packages/kbn-server-route-repository-client/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/server-route-repository-client", - "owner": "@elastic/obs-knowledge-team" -} + "owner": [ + "@elastic/obs-knowledge-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-server-route-repository-utils/kibana.jsonc b/packages/kbn-server-route-repository-utils/kibana.jsonc index 3a7e69d98a060..d536b152126f0 100644 --- a/packages/kbn-server-route-repository-utils/kibana.jsonc +++ b/packages/kbn-server-route-repository-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/server-route-repository-utils", - "owner": "@elastic/obs-knowledge-team" -} + "owner": [ + "@elastic/obs-knowledge-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-server-route-repository/kibana.jsonc b/packages/kbn-server-route-repository/kibana.jsonc index 5137b5593cfd5..22da9d601081a 100644 --- a/packages/kbn-server-route-repository/kibana.jsonc +++ b/packages/kbn-server-route-repository/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/server-route-repository", - "owner": ["@elastic/obs-knowledge-team"] -} + "owner": [ + "@elastic/obs-knowledge-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-shared-svg/kibana.jsonc b/packages/kbn-shared-svg/kibana.jsonc index 89949f5b7d276..709dce31f58ae 100644 --- a/packages/kbn-shared-svg/kibana.jsonc +++ b/packages/kbn-shared-svg/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/shared-svg", - "owner": "@elastic/obs-ux-infra_services-team" + "owner": "@elastic/obs-ux-infra_services-team", + "group": "platform", + "visibility": "shared" } diff --git a/packages/kbn-shared-ux-utility/kibana.jsonc b/packages/kbn-shared-ux-utility/kibana.jsonc index 23205fc09e20c..8fc1bc88c27fa 100644 --- a/packages/kbn-shared-ux-utility/kibana.jsonc +++ b/packages/kbn-shared-ux-utility/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-utility", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-some-dev-log/kibana.jsonc b/packages/kbn-some-dev-log/kibana.jsonc index d83704903bdfb..3163f7a887c5d 100644 --- a/packages/kbn-some-dev-log/kibana.jsonc +++ b/packages/kbn-some-dev-log/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/some-dev-log", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-sort-predicates/kibana.jsonc b/packages/kbn-sort-predicates/kibana.jsonc index c07088597a01e..2f25996de7482 100644 --- a/packages/kbn-sort-predicates/kibana.jsonc +++ b/packages/kbn-sort-predicates/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/sort-predicates", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-sse-utils-client/kibana.jsonc b/packages/kbn-sse-utils-client/kibana.jsonc index eda99336320f3..60f2a2dc02527 100644 --- a/packages/kbn-sse-utils-client/kibana.jsonc +++ b/packages/kbn-sse-utils-client/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/sse-utils-client", - "owner": "@elastic/obs-knowledge-team" -} + "owner": [ + "@elastic/obs-knowledge-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-sse-utils-server/kibana.jsonc b/packages/kbn-sse-utils-server/kibana.jsonc index 9e06e575b7989..8c533af1953e9 100644 --- a/packages/kbn-sse-utils-server/kibana.jsonc +++ b/packages/kbn-sse-utils-server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/sse-utils-server", - "owner": "@elastic/obs-knowledge-team" -} + "owner": [ + "@elastic/obs-knowledge-team" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-sse-utils/kibana.jsonc b/packages/kbn-sse-utils/kibana.jsonc index 3bd583763b4d8..fa3beec29fe86 100644 --- a/packages/kbn-sse-utils/kibana.jsonc +++ b/packages/kbn-sse-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/sse-utils", - "owner": "@elastic/obs-knowledge-team" -} + "owner": [ + "@elastic/obs-knowledge-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-std/kibana.jsonc b/packages/kbn-std/kibana.jsonc index 062ba5970f539..4b42cb289bf64 100644 --- a/packages/kbn-std/kibana.jsonc +++ b/packages/kbn-std/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/std", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-stdio-dev-helpers/kibana.jsonc b/packages/kbn-stdio-dev-helpers/kibana.jsonc index 4cb58f510906c..b7181e0f30675 100644 --- a/packages/kbn-stdio-dev-helpers/kibana.jsonc +++ b/packages/kbn-stdio-dev-helpers/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/stdio-dev-helpers", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-storybook/kibana.jsonc b/packages/kbn-storybook/kibana.jsonc index 4faf58c309267..c1db579312fcb 100644 --- a/packages/kbn-storybook/kibana.jsonc +++ b/packages/kbn-storybook/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/storybook", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-telemetry-tools/kibana.jsonc b/packages/kbn-telemetry-tools/kibana.jsonc index cf1d0def824e4..d1168b66d69f6 100644 --- a/packages/kbn-telemetry-tools/kibana.jsonc +++ b/packages/kbn-telemetry-tools/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-server", "id": "@kbn/telemetry-tools", - "devOnly": true, - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-test-eui-helpers/kibana.jsonc b/packages/kbn-test-eui-helpers/kibana.jsonc index fc97c720f827d..029240a418615 100644 --- a/packages/kbn-test-eui-helpers/kibana.jsonc +++ b/packages/kbn-test-eui-helpers/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/test-eui-helpers", - "devOnly": true, - "owner": ["@elastic/kibana-visualizations"], -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "private", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-test-jest-helpers/kibana.jsonc b/packages/kbn-test-jest-helpers/kibana.jsonc index fdabbb9780d6c..5f98c5273338d 100644 --- a/packages/kbn-test-jest-helpers/kibana.jsonc +++ b/packages/kbn-test-jest-helpers/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "shared-common", "id": "@kbn/test-jest-helpers", - "devOnly": true, - "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], -} + "owner": [ + "@elastic/kibana-operations", + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-test-subj-selector/kibana.jsonc b/packages/kbn-test-subj-selector/kibana.jsonc index 8026708a83e3b..b88ad46dd17c1 100644 --- a/packages/kbn-test-subj-selector/kibana.jsonc +++ b/packages/kbn-test-subj-selector/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "shared-common", "id": "@kbn/test-subj-selector", - "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], + "owner": [ + "@elastic/kibana-operations", + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "shared", "devOnly": true } diff --git a/packages/kbn-test/kibana.jsonc b/packages/kbn-test/kibana.jsonc index c39f82b52a113..c99b14a03bfa0 100644 --- a/packages/kbn-test/kibana.jsonc +++ b/packages/kbn-test/kibana.jsonc @@ -1,6 +1,11 @@ { "type": "shared-common", "id": "@kbn/test", - "devOnly": true, - "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], -} + "owner": [ + "@elastic/kibana-operations", + "@elastic/appex-qa" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-timelion-grammar/kibana.jsonc b/packages/kbn-timelion-grammar/kibana.jsonc index 88b61e0c15872..a7d321fd99a1b 100644 --- a/packages/kbn-timelion-grammar/kibana.jsonc +++ b/packages/kbn-timelion-grammar/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/timelion-grammar", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-timerange/kibana.jsonc b/packages/kbn-timerange/kibana.jsonc index e3f2e74f771a6..dc2e47f2a9c6c 100644 --- a/packages/kbn-timerange/kibana.jsonc +++ b/packages/kbn-timerange/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/timerange", - "owner": "@elastic/obs-ux-logs-team" -} + "owner": [ + "@elastic/obs-ux-logs-team" + ], + "group": "observability", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-tinymath/kibana.jsonc b/packages/kbn-tinymath/kibana.jsonc index dd790aee9fe9b..149662a6beb77 100644 --- a/packages/kbn-tinymath/kibana.jsonc +++ b/packages/kbn-tinymath/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/tinymath", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-tooling-log/kibana.jsonc b/packages/kbn-tooling-log/kibana.jsonc index d855a7dc46c72..c942e6d37594f 100644 --- a/packages/kbn-tooling-log/kibana.jsonc +++ b/packages/kbn-tooling-log/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/tooling-log", - "devOnly": true, - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared", + "devOnly": true +} \ No newline at end of file diff --git a/packages/kbn-transpose-utils/kibana.jsonc b/packages/kbn-transpose-utils/kibana.jsonc index d891291d0720a..1b79c9189ba57 100644 --- a/packages/kbn-transpose-utils/kibana.jsonc +++ b/packages/kbn-transpose-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/transpose-utils", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-triggers-actions-ui-types/kibana.jsonc b/packages/kbn-triggers-actions-ui-types/kibana.jsonc index cb14c1d7fdf44..964233667ea2a 100644 --- a/packages/kbn-triggers-actions-ui-types/kibana.jsonc +++ b/packages/kbn-triggers-actions-ui-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/triggers-actions-ui-types", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-try-in-console/kibana.jsonc b/packages/kbn-try-in-console/kibana.jsonc index c5988280943db..77ac2de3095f4 100644 --- a/packages/kbn-try-in-console/kibana.jsonc +++ b/packages/kbn-try-in-console/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/try-in-console", - "owner": "@elastic/search-kibana" -} + "owner": [ + "@elastic/search-kibana" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-typed-react-router-config/kibana.jsonc b/packages/kbn-typed-react-router-config/kibana.jsonc index c004d263a6046..37c95108427ee 100644 --- a/packages/kbn-typed-react-router-config/kibana.jsonc +++ b/packages/kbn-typed-react-router-config/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/typed-react-router-config", - "owner": ["@elastic/obs-knowledge-team", "@elastic/obs-ux-infra_services-team"] -} + "owner": [ + "@elastic/obs-knowledge-team", + "@elastic/obs-ux-infra_services-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-ui-actions-browser/kibana.jsonc b/packages/kbn-ui-actions-browser/kibana.jsonc index 3fbdc46e64b16..d7133132af334 100644 --- a/packages/kbn-ui-actions-browser/kibana.jsonc +++ b/packages/kbn-ui-actions-browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ui-actions-browser", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-ui-shared-deps-npm/kibana.jsonc b/packages/kbn-ui-shared-deps-npm/kibana.jsonc index 91ab8cdfc2b13..6dad4bd9bde4c 100644 --- a/packages/kbn-ui-shared-deps-npm/kibana.jsonc +++ b/packages/kbn-ui-shared-deps-npm/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ui-shared-deps-npm", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-ui-shared-deps-src/kibana.jsonc b/packages/kbn-ui-shared-deps-src/kibana.jsonc index 39b71b0bd00e1..5626d0a010465 100644 --- a/packages/kbn-ui-shared-deps-src/kibana.jsonc +++ b/packages/kbn-ui-shared-deps-src/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ui-shared-deps-src", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-ui-theme/kibana.jsonc b/packages/kbn-ui-theme/kibana.jsonc index db8230d520c0a..e49ac0435f91e 100644 --- a/packages/kbn-ui-theme/kibana.jsonc +++ b/packages/kbn-ui-theme/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ui-theme", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-unified-data-table/kibana.jsonc b/packages/kbn-unified-data-table/kibana.jsonc index b80f8b6a55596..c7af5075e95c9 100644 --- a/packages/kbn-unified-data-table/kibana.jsonc +++ b/packages/kbn-unified-data-table/kibana.jsonc @@ -1,9 +1,11 @@ { "type": "shared-browser", "id": "@kbn/unified-data-table", - "description": "Contains functionality for the unified data table which can be integrated into apps", "owner": [ "@elastic/kibana-data-discovery", "@elastic/security-threat-hunting-investigations" - ] -} + ], + "group": "platform", + "visibility": "shared", + "description": "Contains functionality for the unified data table which can be integrated into apps" +} \ No newline at end of file diff --git a/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_cell_value.test.tsx b/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_cell_value.test.tsx index ff2b7c46616f0..bbbf1ddcbb309 100644 --- a/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_cell_value.test.tsx +++ b/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_cell_value.test.tsx @@ -11,8 +11,7 @@ import { EuiDataGridCellValueElementProps, EuiDataGridSetCellProps } from '@elas import { buildDataTableRecord } from '@kbn/discover-utils'; import { generateEsHits, additionalFieldGroups } from '@kbn/discover-utils/src/__mocks__'; import { fieldFormatsMock } from '@kbn/field-formats-plugin/common/mocks'; -import { render, screen } from '@testing-library/react'; -import { renderHook } from '@testing-library/react-hooks'; +import { render, screen, renderHook } from '@testing-library/react'; import React from 'react'; import { ReactNode, useState } from 'react'; import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; diff --git a/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_columns.test.tsx b/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_columns.test.tsx index ccf8368c95270..716db2f052277 100644 --- a/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_columns.test.tsx +++ b/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_columns.test.tsx @@ -13,9 +13,8 @@ import { FIELD_COLUMN_WIDTH, useComparisonColumns, } from './use_comparison_columns'; -import { renderHook } from '@testing-library/react-hooks'; import type { EuiDataGridColumn, EuiDataGridColumnActions } from '@elastic/eui'; -import { render, screen } from '@testing-library/react'; +import { render, screen, renderHook } from '@testing-library/react'; import React from 'react'; import userEvent from '@testing-library/user-event'; import { generateEsHits } from '@kbn/discover-utils/src/__mocks__'; diff --git a/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_css.test.ts b/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_css.test.ts index 36abc40a8d1cf..010edbecd8cfd 100644 --- a/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_css.test.ts +++ b/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_css.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useComparisonCss } from './use_comparison_css'; describe('useComparisonCss', () => { diff --git a/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_fields.test.ts b/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_fields.test.ts index 7a73402ad6552..c92b15f6ce6be 100644 --- a/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_fields.test.ts +++ b/packages/kbn-unified-data-table/src/components/compare_documents/hooks/use_comparison_fields.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { buildDataTableRecord } from '@kbn/discover-utils'; import { MAX_COMPARISON_FIELDS, diff --git a/packages/kbn-unified-data-table/src/hooks/use_data_grid_columns.test.tsx b/packages/kbn-unified-data-table/src/hooks/use_data_grid_columns.test.tsx index f034cb63287c8..31b1b42b7c6d0 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_data_grid_columns.test.tsx +++ b/packages/kbn-unified-data-table/src/hooks/use_data_grid_columns.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useColumns } from './use_data_grid_columns'; import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { configMock } from '../../__mocks__/config'; diff --git a/packages/kbn-unified-data-table/src/hooks/use_data_grid_density.test.tsx b/packages/kbn-unified-data-table/src/hooks/use_data_grid_density.test.tsx index b0563d0d33ea8..e105581b6d4cb 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_data_grid_density.test.tsx +++ b/packages/kbn-unified-data-table/src/hooks/use_data_grid_density.test.tsx @@ -8,7 +8,7 @@ */ import type { Storage } from '@kbn/kibana-utils-plugin/public'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useDataGridDensity } from './use_data_grid_density'; import { DATA_GRID_STYLE_EXPANDED, DataGridDensity } from '../constants'; diff --git a/packages/kbn-unified-data-table/src/hooks/use_full_screen_watcher.test.ts b/packages/kbn-unified-data-table/src/hooks/use_full_screen_watcher.test.ts index 3a7d94283ba0d..3736cdbd03f14 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_full_screen_watcher.test.ts +++ b/packages/kbn-unified-data-table/src/hooks/use_full_screen_watcher.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { EUI_DATA_GRID_FULL_SCREEN_CLASS, UNIFIED_DATA_TABLE_FULL_SCREEN_CLASS, @@ -40,7 +40,7 @@ const nextTick = () => { return act(() => { return new Promise((resolve) => requestAnimationFrame(() => { - resolve(); + resolve(null); }) ); }); diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_height.test.tsx b/packages/kbn-unified-data-table/src/hooks/use_row_height.test.tsx index ac8b6257aa14b..48c4ee4484e64 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_height.test.tsx +++ b/packages/kbn-unified-data-table/src/hooks/use_row_height.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { createLocalStorageMock } from '../../__mocks__/local_storage_mock'; import { useRowHeight } from './use_row_height'; import { RowHeightMode } from '../components/row_height_settings'; diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.ts b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.ts index 33a7e98c4b8c4..052dc15c09a89 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.ts +++ b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useRowHeightsOptions } from './use_row_heights_options'; describe('useRowHeightsOptions', () => { diff --git a/packages/kbn-unified-data-table/src/hooks/use_selected_docs.test.ts b/packages/kbn-unified-data-table/src/hooks/use_selected_docs.test.ts index 3865e412bdcd2..f49c4f7f7b328 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_selected_docs.test.ts +++ b/packages/kbn-unified-data-table/src/hooks/use_selected_docs.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { buildDataTableRecord } from '@kbn/discover-utils'; import { useSelectedDocs } from './use_selected_docs'; import { generateEsHits } from '@kbn/discover-utils/src/__mocks__'; diff --git a/packages/kbn-unified-doc-viewer/kibana.jsonc b/packages/kbn-unified-doc-viewer/kibana.jsonc index 272c2ec69ce82..15c968fadf09e 100644 --- a/packages/kbn-unified-doc-viewer/kibana.jsonc +++ b/packages/kbn-unified-doc-viewer/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/unified-doc-viewer", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-unified-field-list/kibana.jsonc b/packages/kbn-unified-field-list/kibana.jsonc index 4c3201f503f8a..65147718f539b 100644 --- a/packages/kbn-unified-field-list/kibana.jsonc +++ b/packages/kbn-unified-field-list/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-browser", "id": "@kbn/unified-field-list", - "description": "Contains functionality for the field list and field stats which can be integrated into apps", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "shared", + "description": "Contains functionality for the field list and field stats which can be integrated into apps" +} \ No newline at end of file diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/get_sidebar_visibility.test.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/get_sidebar_visibility.test.tsx index 85f223e4b1cfb..01c3bb2677e3c 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/get_sidebar_visibility.test.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/get_sidebar_visibility.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { act } from '@testing-library/react-hooks'; +import { act } from '@testing-library/react'; import { getSidebarVisibility } from './get_sidebar_visibility'; const localStorageKey = 'test-sidebar-visibility'; diff --git a/packages/kbn-unified-field-list/src/hooks/use_existing_fields.test.tsx b/packages/kbn-unified-field-list/src/hooks/use_existing_fields.test.tsx index 06b043014c2fd..c3b77ad72f5ac 100644 --- a/packages/kbn-unified-field-list/src/hooks/use_existing_fields.test.tsx +++ b/packages/kbn-unified-field-list/src/hooks/use_existing_fields.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { waitFor, renderHook } from '@testing-library/react'; import { stubLogstashDataView as dataView } from '@kbn/data-views-plugin/common/data_view.stub'; import { createStubDataView, stubFieldSpecMap } from '@kbn/data-plugin/public/stubs'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; @@ -94,7 +94,7 @@ describe('UnifiedFieldList useExistingFields', () => { }; }); - const hookFetcher = renderHook(useExistingFieldsFetcher, { + renderHook(useExistingFieldsFetcher, { initialProps: { dataViews: [dataView], services: mockedServices, @@ -107,7 +107,7 @@ describe('UnifiedFieldList useExistingFields', () => { const hookReader = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenCalledWith( expect.objectContaining({ @@ -167,7 +167,7 @@ describe('UnifiedFieldList useExistingFields', () => { const hookReader1 = renderHook(useExistingFieldsReader); const hookReader2 = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenCalled(); @@ -199,7 +199,7 @@ describe('UnifiedFieldList useExistingFields', () => { throw new Error('test'); }); - const hookFetcher = renderHook(useExistingFieldsFetcher, { + renderHook(useExistingFieldsFetcher, { initialProps: { dataViews: [dataView], services: mockedServices, @@ -212,7 +212,7 @@ describe('UnifiedFieldList useExistingFields', () => { const hookReader = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenCalled(); @@ -232,7 +232,7 @@ describe('UnifiedFieldList useExistingFields', () => { } ); - const hookFetcher = renderHook(useExistingFieldsFetcher, { + renderHook(useExistingFieldsFetcher, { initialProps: { dataViews: [dataView, anotherDataView, dataViewWithRestrictions], services: mockedServices, @@ -244,7 +244,7 @@ describe('UnifiedFieldList useExistingFields', () => { }); const hookReader = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const currentResult = hookReader.result.current; @@ -310,8 +310,7 @@ describe('UnifiedFieldList useExistingFields', () => { }); const hookReader = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); - await hookFetcher.waitFor(() => !hookFetcher.result.current.isProcessing); + await waitFor(() => () => !hookFetcher.result.current.isProcessing); expect(dataViewWithRestrictions.getAggregationRestrictions).toHaveBeenCalled(); expect(ExistingFieldsServiceApi.loadFieldExisting).not.toHaveBeenCalled(); @@ -346,7 +345,7 @@ describe('UnifiedFieldList useExistingFields', () => { }); const hookReader = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenCalledWith( expect.objectContaining({ @@ -370,7 +369,7 @@ describe('UnifiedFieldList useExistingFields', () => { dataViews: [dataView, anotherDataView], }); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenNthCalledWith( 2, @@ -424,7 +423,7 @@ describe('UnifiedFieldList useExistingFields', () => { }); const hookReader = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenCalledWith( expect.objectContaining({ @@ -447,32 +446,32 @@ describe('UnifiedFieldList useExistingFields', () => { query: { query: 'test', language: 'kuery' }, }); - await hookFetcher.waitForNextUpdate(); - - expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - fromDate: '2021-01-01', - toDate: '2022-01-01', - dslQuery: { - bool: { - filter: [ - { - multi_match: { - lenient: true, - query: 'test', - type: 'best_fields', + await waitFor(() => + expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + fromDate: '2021-01-01', + toDate: '2022-01-01', + dslQuery: { + bool: { + filter: [ + { + multi_match: { + lenient: true, + query: 'test', + type: 'best_fields', + }, }, - }, - ], - must: [], - must_not: [], - should: [], + ], + must: [], + must_not: [], + should: [], + }, }, - }, - dataView, - timeFieldName: dataView.timeFieldName, - }) + dataView, + timeFieldName: dataView.timeFieldName, + }) + ) ); }); @@ -497,7 +496,7 @@ describe('UnifiedFieldList useExistingFields', () => { }); const hookReader = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenCalledWith( expect.objectContaining({ @@ -522,7 +521,7 @@ describe('UnifiedFieldList useExistingFields', () => { toDate: '2022-01-01', }); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenNthCalledWith( 2, @@ -558,12 +557,12 @@ describe('UnifiedFieldList useExistingFields', () => { query: { query: '', language: 'lucene' }, filters: [], }; - const hookFetcher = renderHook(useExistingFieldsFetcher, { + renderHook(useExistingFieldsFetcher, { initialProps: params, }); const hookReader = renderHook(useExistingFieldsReader); - await hookFetcher.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(ExistingFieldsServiceApi.loadFieldExisting).toHaveBeenCalledWith( expect.objectContaining({ diff --git a/packages/kbn-unified-field-list/src/hooks/use_field_filters.test.tsx b/packages/kbn-unified-field-list/src/hooks/use_field_filters.test.tsx index d0adb4125ab3d..60f84e9cdf2c1 100644 --- a/packages/kbn-unified-field-list/src/hooks/use_field_filters.test.tsx +++ b/packages/kbn-unified-field-list/src/hooks/use_field_filters.test.tsx @@ -7,8 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; -import { act } from 'react-test-renderer'; +import { act, renderHook } from '@testing-library/react'; import { stubLogstashDataView as dataView } from '@kbn/data-views-plugin/common/data_view.stub'; import type { DataViewField } from '@kbn/data-views-plugin/common'; import { coreMock } from '@kbn/core/public/mocks'; diff --git a/packages/kbn-unified-field-list/src/hooks/use_grouped_fields.test.tsx b/packages/kbn-unified-field-list/src/hooks/use_grouped_fields.test.tsx index a0a8e055e6d62..946396c83f2d3 100644 --- a/packages/kbn-unified-field-list/src/hooks/use_grouped_fields.test.tsx +++ b/packages/kbn-unified-field-list/src/hooks/use_grouped_fields.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { waitFor, renderHook, act } from '@testing-library/react'; import { stubDataViewWithoutTimeField, stubLogstashDataView as dataView, @@ -56,11 +56,11 @@ describe('UnifiedFieldList useGroupedFields()', () => { allFields: null, services: mockedServices, }; - const { result, waitForNextUpdate, rerender } = renderHook(useGroupedFields, { + const { result, rerender } = renderHook(useGroupedFields, { initialProps: props, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); let fieldListGroupedProps = result.current.fieldListGroupedProps; expect(fieldListGroupedProps.fieldGroups).toMatchSnapshot(); @@ -101,11 +101,11 @@ describe('UnifiedFieldList useGroupedFields()', () => { }) ); - const { result, waitForNextUpdate, rerender } = renderHook(useGroupedFields, { + const { result, rerender } = renderHook(useGroupedFields, { initialProps: props, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); let fieldListGroupedProps = result.current.fieldListGroupedProps; const fieldGroups = fieldListGroupedProps.fieldGroups; @@ -163,11 +163,11 @@ describe('UnifiedFieldList useGroupedFields()', () => { }) ); - const { result, waitForNextUpdate, rerender } = renderHook(useGroupedFields, { + const { result, rerender } = renderHook(useGroupedFields, { initialProps: props, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); let fieldListGroupedProps = result.current.fieldListGroupedProps; const fieldGroups = fieldListGroupedProps.fieldGroups; @@ -235,11 +235,11 @@ describe('UnifiedFieldList useGroupedFields()', () => { }) ); - const { result, waitForNextUpdate, rerender } = renderHook(useGroupedFields, { + const { result, rerender } = renderHook(useGroupedFields, { initialProps: props, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); let fieldListGroupedProps = result.current.fieldListGroupedProps; const fieldGroups = fieldListGroupedProps.fieldGroups; @@ -292,11 +292,11 @@ describe('UnifiedFieldList useGroupedFields()', () => { allFields: allFieldsIncludingUnmapped, services: mockedServices, }; - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: props, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); let fieldGroups = result.current.fieldListGroupedProps.fieldGroups; @@ -373,11 +373,11 @@ describe('UnifiedFieldList useGroupedFields()', () => { allFields, services: mockedServices, }; - const { result, waitForNextUpdate, rerender } = renderHook(useGroupedFields, { + const { result, rerender } = renderHook(useGroupedFields, { initialProps: props, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const scrollToTopResetCounter1 = result.current.fieldListGroupedProps.scrollToTopResetCounter; @@ -392,7 +392,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }); it('should work correctly when custom unsupported fields are skipped', async () => { - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields, @@ -401,7 +401,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const fieldGroups = result.current.fieldListGroupedProps.fieldGroups; @@ -422,7 +422,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }); it('should work correctly when selected fields are present', async () => { - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields, @@ -432,7 +432,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const fieldGroups = result.current.fieldListGroupedProps.fieldGroups; @@ -531,7 +531,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }; } }); - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields, @@ -540,7 +540,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const fieldGroups = result.current.fieldListGroupedProps.fieldGroups; @@ -572,10 +572,10 @@ describe('UnifiedFieldList useGroupedFields()', () => { }) ); - const { result, waitForNextUpdate, rerender } = renderHook(useGroupedFields, { + const { result, rerender } = renderHook(useGroupedFields, { initialProps: props, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); let fieldListGroupedProps = result.current.fieldListGroupedProps; fieldGroups = fieldListGroupedProps.fieldGroups; @@ -604,7 +604,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { allFields: anotherDataView.fields, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); fieldListGroupedProps = result.current.fieldListGroupedProps; fieldGroups = fieldListGroupedProps.fieldGroups; @@ -633,7 +633,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { // `bytes` is popular, but we are skipping it here to test that it would not be shown under Popular and Available const onSupportedFieldFilter = jest.fn((field) => field.name !== 'bytes'); - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields, @@ -643,7 +643,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const fieldGroups = result.current.fieldListGroupedProps.fieldGroups; @@ -668,7 +668,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }); it('should work correctly when global filters are set', async () => { - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields: [], @@ -677,14 +677,14 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const fieldGroups = result.current.fieldListGroupedProps.fieldGroups; expect(fieldGroups).toMatchSnapshot(); }); it('should work correctly and show unmapped fields separately', async () => { - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields: allFieldsIncludingUnmapped, @@ -692,7 +692,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const fieldGroups = result.current.fieldListGroupedProps.fieldGroups; @@ -718,7 +718,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { allFields[2], allFields[0], ]; - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields, @@ -727,7 +727,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const fieldGroups = result.current.fieldListGroupedProps.fieldGroups; @@ -750,7 +750,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }); it('should include filters props', async () => { - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields, @@ -758,7 +758,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const { fieldListFiltersProps, fieldListGroupedProps } = result.current; const fieldGroups = fieldListGroupedProps.fieldGroups; @@ -806,7 +806,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { const additionalFieldGroups = { smartFields, }; - const { result, waitForNextUpdate } = renderHook(useGroupedFields, { + const { result } = renderHook(useGroupedFields, { initialProps: { dataViewId: dataView.id!, allFields, @@ -815,7 +815,7 @@ describe('UnifiedFieldList useGroupedFields()', () => { }, }); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); const fieldListGroupedProps = result.current.fieldListGroupedProps; const fieldGroups = fieldListGroupedProps.fieldGroups; expect(fieldGroups.SmartFields?.fields?.length).toBe(1); diff --git a/packages/kbn-unified-field-list/src/hooks/use_new_fields.test.tsx b/packages/kbn-unified-field-list/src/hooks/use_new_fields.test.tsx index b091ed015e312..4f34f5d16dc51 100644 --- a/packages/kbn-unified-field-list/src/hooks/use_new_fields.test.tsx +++ b/packages/kbn-unified-field-list/src/hooks/use_new_fields.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { stubLogstashDataView as dataView } from '@kbn/data-views-plugin/common/data_view.stub'; import { DataViewField } from '@kbn/data-views-plugin/common'; import { useNewFields, type UseNewFieldsParams } from './use_new_fields'; diff --git a/packages/kbn-unsaved-changes-badge/kibana.jsonc b/packages/kbn-unsaved-changes-badge/kibana.jsonc index 0f64c4d4143fd..d52497ccc81e8 100644 --- a/packages/kbn-unsaved-changes-badge/kibana.jsonc +++ b/packages/kbn-unsaved-changes-badge/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/unsaved-changes-badge", - "owner": "@elastic/kibana-data-discovery" -} + "owner": [ + "@elastic/kibana-data-discovery" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/kbn-unsaved-changes-prompt/kibana.jsonc b/packages/kbn-unsaved-changes-prompt/kibana.jsonc index d41be0d07af30..e186e2cf51176 100644 --- a/packages/kbn-unsaved-changes-prompt/kibana.jsonc +++ b/packages/kbn-unsaved-changes-prompt/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/unsaved-changes-prompt", - "owner": "@elastic/kibana-management" + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" } diff --git a/packages/kbn-user-profile-components/kibana.jsonc b/packages/kbn-user-profile-components/kibana.jsonc index ecd571c98781f..78a445a4d63d0 100644 --- a/packages/kbn-user-profile-components/kibana.jsonc +++ b/packages/kbn-user-profile-components/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/user-profile-components", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-utility-types-jest/kibana.jsonc b/packages/kbn-utility-types-jest/kibana.jsonc index 1eea6e6c96a67..73a5701184157 100644 --- a/packages/kbn-utility-types-jest/kibana.jsonc +++ b/packages/kbn-utility-types-jest/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/utility-types-jest", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-utility-types/kibana.jsonc b/packages/kbn-utility-types/kibana.jsonc index 4a6528d2ac652..f4c6c948e9fc6 100644 --- a/packages/kbn-utility-types/kibana.jsonc +++ b/packages/kbn-utility-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/utility-types", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-utils/kibana.jsonc b/packages/kbn-utils/kibana.jsonc index 516d42bb2e8ba..1fc67d63c1e32 100644 --- a/packages/kbn-utils/kibana.jsonc +++ b/packages/kbn-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/utils", - "owner": "@elastic/kibana-operations" -} + "owner": [ + "@elastic/kibana-operations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-visualization-ui-components/kibana.jsonc b/packages/kbn-visualization-ui-components/kibana.jsonc index c17c88cb88ad8..e0015f90f747f 100644 --- a/packages/kbn-visualization-ui-components/kibana.jsonc +++ b/packages/kbn-visualization-ui-components/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/visualization-ui-components", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-visualization-utils/kibana.jsonc b/packages/kbn-visualization-utils/kibana.jsonc index 6589338ddb579..fef0661ec4021 100644 --- a/packages/kbn-visualization-utils/kibana.jsonc +++ b/packages/kbn-visualization-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/visualization-utils", - "owner": "@elastic/kibana-visualizations" -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/kbn-xstate-utils/kibana.jsonc b/packages/kbn-xstate-utils/kibana.jsonc index 1fb3507854b98..3b1bcf6bf8d76 100644 --- a/packages/kbn-xstate-utils/kibana.jsonc +++ b/packages/kbn-xstate-utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/xstate-utils", - "owner": "@elastic/obs-ux-logs-team" + "owner": [ + "@elastic/obs-ux-logs-team" + ], + "group": "observability", + "visibility": "private" } diff --git a/packages/kbn-zod-helpers/kibana.jsonc b/packages/kbn-zod-helpers/kibana.jsonc index 9f7ad63233d33..905c0f02caa61 100644 --- a/packages/kbn-zod-helpers/kibana.jsonc +++ b/packages/kbn-zod-helpers/kibana.jsonc @@ -1,6 +1,10 @@ { - "devOnly": false, + "type": "shared-common", "id": "@kbn/zod-helpers", - "owner": "@elastic/security-detection-rule-management", - "type": "shared-common" -} + "owner": [ + "@elastic/security-detection-rule-management" + ], + "group": "platform", + "visibility": "shared", + "devOnly": false +} \ No newline at end of file diff --git a/packages/kbn-zod/kibana.jsonc b/packages/kbn-zod/kibana.jsonc index 1e85fceb5528c..1594934b9c28a 100644 --- a/packages/kbn-zod/kibana.jsonc +++ b/packages/kbn-zod/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/zod", - "owner": "@elastic/kibana-core" -} + "owner": [ + "@elastic/kibana-core" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/presentation/presentation_containers/kibana.jsonc b/packages/presentation/presentation_containers/kibana.jsonc index 4e16421b36204..e123312e55c75 100644 --- a/packages/presentation/presentation_containers/kibana.jsonc +++ b/packages/presentation/presentation_containers/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/presentation-containers", - "owner": "@elastic/kibana-presentation" -} + "owner": [ + "@elastic/kibana-presentation" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/presentation/presentation_publishing/kibana.jsonc b/packages/presentation/presentation_publishing/kibana.jsonc index 6063d383c3f97..524ad06a07222 100644 --- a/packages/presentation/presentation_publishing/kibana.jsonc +++ b/packages/presentation/presentation_publishing/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/presentation-publishing", - "owner": "@elastic/kibana-presentation" -} + "owner": [ + "@elastic/kibana-presentation" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/react/kibana_context/common/kibana.jsonc b/packages/react/kibana_context/common/kibana.jsonc index b52bc6a40d0cc..e7254c3e22966 100644 --- a/packages/react/kibana_context/common/kibana.jsonc +++ b/packages/react/kibana_context/common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/react-kibana-context-common", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/react/kibana_context/render/kibana.jsonc b/packages/react/kibana_context/render/kibana.jsonc index ffcc5c826cdfa..1349ec47c9c05 100644 --- a/packages/react/kibana_context/render/kibana.jsonc +++ b/packages/react/kibana_context/render/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/react-kibana-context-render", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/react/kibana_context/root/kibana.jsonc b/packages/react/kibana_context/root/kibana.jsonc index 740d92da927c9..1dc0779f86f0d 100644 --- a/packages/react/kibana_context/root/kibana.jsonc +++ b/packages/react/kibana_context/root/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/react-kibana-context-root", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/react/kibana_context/styled/kibana.jsonc b/packages/react/kibana_context/styled/kibana.jsonc index 5974cd3a50a66..32b7917f5b090 100644 --- a/packages/react/kibana_context/styled/kibana.jsonc +++ b/packages/react/kibana_context/styled/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/react-kibana-context-styled", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/react/kibana_context/theme/kibana.jsonc b/packages/react/kibana_context/theme/kibana.jsonc index 56ae8b57a6682..96f255cb467a5 100644 --- a/packages/react/kibana_context/theme/kibana.jsonc +++ b/packages/react/kibana_context/theme/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/react-kibana-context-theme", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/react/kibana_mount/kibana.jsonc b/packages/react/kibana_mount/kibana.jsonc index 2c554ac7acb91..9072cc0f51816 100644 --- a/packages/react/kibana_mount/kibana.jsonc +++ b/packages/react/kibana_mount/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/react-kibana-mount", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/response-ops/rule_params/kibana.jsonc b/packages/response-ops/rule_params/kibana.jsonc index 6a6744a58c4a1..1315303258949 100644 --- a/packages/response-ops/rule_params/kibana.jsonc +++ b/packages/response-ops/rule_params/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/response-ops-rule-params", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/serverless/project_switcher/kibana.jsonc b/packages/serverless/project_switcher/kibana.jsonc index 6e37bb95cafda..a0722bf662a4e 100644 --- a/packages/serverless/project_switcher/kibana.jsonc +++ b/packages/serverless/project_switcher/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/serverless-project-switcher", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/serverless/settings/common/kibana.jsonc b/packages/serverless/settings/common/kibana.jsonc index 57e57b4a5d828..89a0efe2937d8 100644 --- a/packages/serverless/settings/common/kibana.jsonc +++ b/packages/serverless/settings/common/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/serverless-common-settings", - "owner": "@elastic/appex-sharedux @elastic/kibana-management" -} + "owner": [ + "@elastic/appex-sharedux", + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/serverless/settings/observability_project/kibana.jsonc b/packages/serverless/settings/observability_project/kibana.jsonc index 316786b21dc67..1535ff08de872 100644 --- a/packages/serverless/settings/observability_project/kibana.jsonc +++ b/packages/serverless/settings/observability_project/kibana.jsonc @@ -1,5 +1,11 @@ { "type": "shared-common", "id": "@kbn/serverless-observability-settings", - "owner": "@elastic/appex-sharedux @elastic/kibana-management @elastic/obs-ux-management-team" -} + "owner": [ + "@elastic/appex-sharedux", + "@elastic/kibana-management", + "@elastic/obs-ux-management-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/serverless/settings/search_project/kibana.jsonc b/packages/serverless/settings/search_project/kibana.jsonc index db71259a8ea6d..b1b1171e929c6 100644 --- a/packages/serverless/settings/search_project/kibana.jsonc +++ b/packages/serverless/settings/search_project/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/serverless-search-settings", - "owner": "@elastic/search-kibana @elastic/kibana-management" -} + "owner": [ + "@elastic/search-kibana", + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/serverless/settings/security_project/kibana.jsonc b/packages/serverless/settings/security_project/kibana.jsonc index fdf4f2d206f0d..55cc4ee537d7c 100644 --- a/packages/serverless/settings/security_project/kibana.jsonc +++ b/packages/serverless/settings/security_project/kibana.jsonc @@ -1,5 +1,10 @@ { "type": "shared-common", "id": "@kbn/serverless-security-settings", - "owner": "@elastic/security-solution @elastic/kibana-management" -} + "owner": [ + "@elastic/security-solution", + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/serverless/types/kibana.jsonc b/packages/serverless/types/kibana.jsonc index 0b5a8fffe84be..89901c4c56d4f 100644 --- a/packages/serverless/types/kibana.jsonc +++ b/packages/serverless/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/serverless-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/shared-ux/avatar/solution/kibana.jsonc b/packages/shared-ux/avatar/solution/kibana.jsonc index bec67862823b3..a93d1f7e200c1 100644 --- a/packages/shared-ux/avatar/solution/kibana.jsonc +++ b/packages/shared-ux/avatar/solution/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-avatar-solution", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/button/exit_full_screen/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/kibana.jsonc index 8cd27723b051f..c1878fd3ddc0a 100644 --- a/packages/shared-ux/button/exit_full_screen/kibana.jsonc +++ b/packages/shared-ux/button/exit_full_screen/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-button-exit-full-screen", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/shared-ux/button_toolbar/kibana.jsonc b/packages/shared-ux/button_toolbar/kibana.jsonc index 8e5d78dff0e53..1a61c5ffc3d4d 100644 --- a/packages/shared-ux/button_toolbar/kibana.jsonc +++ b/packages/shared-ux/button_toolbar/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-button-toolbar", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/card/no_data/impl/kibana.jsonc b/packages/shared-ux/card/no_data/impl/kibana.jsonc index 0dc1330988ccf..f96d65188e703 100644 --- a/packages/shared-ux/card/no_data/impl/kibana.jsonc +++ b/packages/shared-ux/card/no_data/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-card-no-data", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/card/no_data/mocks/kibana.jsonc b/packages/shared-ux/card/no_data/mocks/kibana.jsonc index e332bfd1da0b4..a7d83ef725ebf 100644 --- a/packages/shared-ux/card/no_data/mocks/kibana.jsonc +++ b/packages/shared-ux/card/no_data/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-card-no-data-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/card/no_data/types/kibana.jsonc b/packages/shared-ux/card/no_data/types/kibana.jsonc index b78a1a7b9b993..b35e72493bbc1 100644 --- a/packages/shared-ux/card/no_data/types/kibana.jsonc +++ b/packages/shared-ux/card/no_data/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-card-no-data-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/chrome/navigation/kibana.jsonc b/packages/shared-ux/chrome/navigation/kibana.jsonc index 60bfed4d5796f..ea7ed68c19dfa 100644 --- a/packages/shared-ux/chrome/navigation/kibana.jsonc +++ b/packages/shared-ux/chrome/navigation/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-chrome-navigation", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/code_editor/impl/kibana.jsonc b/packages/shared-ux/code_editor/impl/kibana.jsonc index d66e88d40710e..f94d8229514be 100644 --- a/packages/shared-ux/code_editor/impl/kibana.jsonc +++ b/packages/shared-ux/code_editor/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/code-editor", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/code_editor/mocks/kibana.jsonc b/packages/shared-ux/code_editor/mocks/kibana.jsonc index c8e8a8e8e54e3..f977d535067c3 100644 --- a/packages/shared-ux/code_editor/mocks/kibana.jsonc +++ b/packages/shared-ux/code_editor/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/code-editor-mock", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/error_boundary/kibana.jsonc b/packages/shared-ux/error_boundary/kibana.jsonc index c7e6f9b517962..d23469ef11801 100644 --- a/packages/shared-ux/error_boundary/kibana.jsonc +++ b/packages/shared-ux/error_boundary/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-error-boundary", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/file/context/kibana.jsonc b/packages/shared-ux/file/context/kibana.jsonc index c4b2a631f0c9f..9612a47c01f6a 100644 --- a/packages/shared-ux/file/context/kibana.jsonc +++ b/packages/shared-ux/file/context/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-context", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/file/file_picker/impl/kibana.jsonc b/packages/shared-ux/file/file_picker/impl/kibana.jsonc index 733d78bcd3037..9d7bc72bb634d 100644 --- a/packages/shared-ux/file/file_picker/impl/kibana.jsonc +++ b/packages/shared-ux/file/file_picker/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-picker", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/file/file_upload/impl/kibana.jsonc b/packages/shared-ux/file/file_upload/impl/kibana.jsonc index 0ebcd24bf98ea..ed5b6366e2a73 100644 --- a/packages/shared-ux/file/file_upload/impl/kibana.jsonc +++ b/packages/shared-ux/file/file_upload/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-upload", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/file/image/impl/kibana.jsonc b/packages/shared-ux/file/image/impl/kibana.jsonc index e7bc1629fe4f1..3153d4e3d0174 100644 --- a/packages/shared-ux/file/image/impl/kibana.jsonc +++ b/packages/shared-ux/file/image/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-image", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/file/image/mocks/kibana.jsonc b/packages/shared-ux/file/image/mocks/kibana.jsonc index abf9037fe0497..8c80fd88b9625 100644 --- a/packages/shared-ux/file/image/mocks/kibana.jsonc +++ b/packages/shared-ux/file/image/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-image-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/file/mocks/kibana.jsonc b/packages/shared-ux/file/mocks/kibana.jsonc index ea930e806051a..820c83e5383af 100644 --- a/packages/shared-ux/file/mocks/kibana.jsonc +++ b/packages/shared-ux/file/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/file/types/kibana.jsonc b/packages/shared-ux/file/types/kibana.jsonc index 5d97907473384..ce351a0152f2b 100644 --- a/packages/shared-ux/file/types/kibana.jsonc +++ b/packages/shared-ux/file/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-types", - "owner": "@elastic/appex-sharedux" + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" } diff --git a/packages/shared-ux/file/util/kibana.jsonc b/packages/shared-ux/file/util/kibana.jsonc index 80c644db509e3..eb884e2708678 100644 --- a/packages/shared-ux/file/util/kibana.jsonc +++ b/packages/shared-ux/file/util/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-util", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/link/redirect_app/impl/kibana.jsonc b/packages/shared-ux/link/redirect_app/impl/kibana.jsonc index 9521500eae23e..4f0ae057cdbc1 100644 --- a/packages/shared-ux/link/redirect_app/impl/kibana.jsonc +++ b/packages/shared-ux/link/redirect_app/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-link-redirect-app", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc b/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc index 1c070c1998633..7e8c763f12d0f 100644 --- a/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc +++ b/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-link-redirect-app-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/link/redirect_app/types/kibana.jsonc b/packages/shared-ux/link/redirect_app/types/kibana.jsonc index ca657f445f43d..c9cfba6aef0af 100644 --- a/packages/shared-ux/link/redirect_app/types/kibana.jsonc +++ b/packages/shared-ux/link/redirect_app/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-link-redirect-app-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/markdown/impl/kibana.jsonc b/packages/shared-ux/markdown/impl/kibana.jsonc index a6a615abb33ea..3ae0b724fc2f0 100644 --- a/packages/shared-ux/markdown/impl/kibana.jsonc +++ b/packages/shared-ux/markdown/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-markdown", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/markdown/mocks/kibana.jsonc b/packages/shared-ux/markdown/mocks/kibana.jsonc index c1183a70ceda7..17764e5ed0133 100644 --- a/packages/shared-ux/markdown/mocks/kibana.jsonc +++ b/packages/shared-ux/markdown/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-markdown-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/markdown/types/kibana.jsonc b/packages/shared-ux/markdown/types/kibana.jsonc index 18412b08bd7af..8ec1ceba818f6 100644 --- a/packages/shared-ux/markdown/types/kibana.jsonc +++ b/packages/shared-ux/markdown/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-markdown-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/modal/tabbed/kibana.jsonc b/packages/shared-ux/modal/tabbed/kibana.jsonc index 4abd1fe7543ed..a81399f0f8a2e 100644 --- a/packages/shared-ux/modal/tabbed/kibana.jsonc +++ b/packages/shared-ux/modal/tabbed/kibana.jsonc @@ -1,5 +1,9 @@ { - "type": "shared-common", - "id": "@kbn/shared-ux-tabbed-modal", - "owner": "@elastic/appex-sharedux" - } \ No newline at end of file + "type": "shared-common", + "id": "@kbn/shared-ux-tabbed-modal", + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc index ed790a80bf249..ac9eb2478184d 100644 --- a/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc +++ b/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-page-kibana-no-data", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc index 6d757ebb856b4..115afdaf9cd13 100644 --- a/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc +++ b/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-kibana-no-data-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc index 6cae33b2ae21c..8f181a7f5e69a 100644 --- a/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc +++ b/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-page-kibana-no-data-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_template/impl/kibana.jsonc b/packages/shared-ux/page/kibana_template/impl/kibana.jsonc index b87289883e693..2c030cb8b6667 100644 --- a/packages/shared-ux/page/kibana_template/impl/kibana.jsonc +++ b/packages/shared-ux/page/kibana_template/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-page-kibana-template", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc b/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc index 2ced9b0086512..d786f5d945acd 100644 --- a/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc +++ b/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-page-kibana-template-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_template/types/kibana.jsonc b/packages/shared-ux/page/kibana_template/types/kibana.jsonc index cd8d55e4993b2..af638ab37d1f8 100644 --- a/packages/shared-ux/page/kibana_template/types/kibana.jsonc +++ b/packages/shared-ux/page/kibana_template/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-page-kibana-template-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data/impl/kibana.jsonc b/packages/shared-ux/page/no_data/impl/kibana.jsonc index 811b1371037c7..2b73286e43fb0 100644 --- a/packages/shared-ux/page/no_data/impl/kibana.jsonc +++ b/packages/shared-ux/page/no_data/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-page-no-data", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data/mocks/kibana.jsonc b/packages/shared-ux/page/no_data/mocks/kibana.jsonc index 78d4d58d477e3..556789fff4dee 100644 --- a/packages/shared-ux/page/no_data/mocks/kibana.jsonc +++ b/packages/shared-ux/page/no_data/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data/types/kibana.jsonc b/packages/shared-ux/page/no_data/types/kibana.jsonc index d4de4b00fbc52..0881756f39753 100644 --- a/packages/shared-ux/page/no_data/types/kibana.jsonc +++ b/packages/shared-ux/page/no_data/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-page-no-data-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data_config/impl/kibana.jsonc b/packages/shared-ux/page/no_data_config/impl/kibana.jsonc index e6c838b061329..2668487c0f89c 100644 --- a/packages/shared-ux/page/no_data_config/impl/kibana.jsonc +++ b/packages/shared-ux/page/no_data_config/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-page-no-data-config", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc b/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc index 19341c81182a0..0fbbdb79a737c 100644 --- a/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc +++ b/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data-config-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data_config/types/kibana.jsonc b/packages/shared-ux/page/no_data_config/types/kibana.jsonc index f2e1ed111e2c4..18ed5f19579f6 100644 --- a/packages/shared-ux/page/no_data_config/types/kibana.jsonc +++ b/packages/shared-ux/page/no_data_config/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data-config-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/page/solution_nav/kibana.jsonc b/packages/shared-ux/page/solution_nav/kibana.jsonc index e8aa313b0f600..a25a8801bc543 100644 --- a/packages/shared-ux/page/solution_nav/kibana.jsonc +++ b/packages/shared-ux/page/solution_nav/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-solution-nav", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc index 963fc95624f2e..8f2ad49cf2d7c 100644 --- a/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc +++ b/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-prompt-no-data-views", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc index a962fd080e86b..2fdec6e9814c8 100644 --- a/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc +++ b/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-prompt-no-data-views-mocks", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc index 3ea8eacae3409..ff1f00dec660a 100644 --- a/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc +++ b/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/shared-ux-prompt-no-data-views-types", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/prompt/not_found/kibana.jsonc b/packages/shared-ux/prompt/not_found/kibana.jsonc index fe3ad23f35c85..183c6f9330537 100644 --- a/packages/shared-ux/prompt/not_found/kibana.jsonc +++ b/packages/shared-ux/prompt/not_found/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-prompt-not-found", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/router/impl/kibana.jsonc b/packages/shared-ux/router/impl/kibana.jsonc index 57433ea556f5c..0f0222f7f7010 100644 --- a/packages/shared-ux/router/impl/kibana.jsonc +++ b/packages/shared-ux/router/impl/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-router", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/storybook/mock/kibana.jsonc b/packages/shared-ux/storybook/mock/kibana.jsonc index ac21cf1df4b22..7d6451c4d2e6d 100644 --- a/packages/shared-ux/storybook/mock/kibana.jsonc +++ b/packages/shared-ux/storybook/mock/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-storybook-mock", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/packages/shared-ux/table_persist/kibana.jsonc b/packages/shared-ux/table_persist/kibana.jsonc index 4a29533855f99..1885d24038200 100644 --- a/packages/shared-ux/table_persist/kibana.jsonc +++ b/packages/shared-ux/table_persist/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/shared-ux-table-persist", - "owner": "@elastic/appex-sharedux" -} + "owner": [ + "@elastic/appex-sharedux" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/src/core/kibana.jsonc b/src/core/kibana.jsonc index 40487ceb89e41..60cca7e819e2d 100644 --- a/src/core/kibana.jsonc +++ b/src/core/kibana.jsonc @@ -2,6 +2,8 @@ "type": "core", "id": "@kbn/core", "owner": "@elastic/kibana-core", + "group": "platform", + "visibility": "shared", "description": "The core plugin has core functionality", "serviceFolders": ["http", "saved_objects", "chrome", "application"] } diff --git a/src/core/server/index.ts b/src/core/server/index.ts index 52149cd611be3..e222f2db927b9 100644 --- a/src/core/server/index.ts +++ b/src/core/server/index.ts @@ -157,7 +157,7 @@ export type { } from '@kbn/core-user-profile-server'; export { CspConfig } from '@kbn/core-http-server-internal'; -export { CoreKibanaRequest, kibanaResponseFactory } from '@kbn/core-http-router-server-internal'; +export { kibanaResponseFactory } from '@kbn/core-http-router-server-internal'; export type { AuthenticationHandler, @@ -200,7 +200,6 @@ export type { KibanaRequestRoute, KibanaRequestRouteOptions, IKibanaResponse, - LifecycleResponseFactory, KnownHeaders, ErrorHttpResponseOptions, IKibanaSocket, diff --git a/src/plugins/console/public/application/containers/editor/utils/requests_utils.test.ts b/src/plugins/console/public/application/containers/editor/utils/requests_utils.test.ts index 29c975300db6b..504afdadb6038 100644 --- a/src/plugins/console/public/application/containers/editor/utils/requests_utils.test.ts +++ b/src/plugins/console/public/application/containers/editor/utils/requests_utils.test.ts @@ -426,6 +426,17 @@ describe('requests_utils', () => { expect(request).toEqual({ method: 'GET', url: '_search', data: ['{\n "query": {}\n}'] }); }); + it('correctly handles nested braces', () => { + const content = ['GET _search', '{', ' "query": "{a} {b}"', '}', '{', ' "query": {}', '}']; + const model = getMockModel(content); + const request = getRequestFromEditor(model, 1, 7); + expect(request).toEqual({ + method: 'GET', + url: '_search', + data: ['{\n "query": "{a} {b}"\n}', '{\n "query": {}\n}'], + }); + }); + it('works for several request bodies', () => { const content = ['GET _search', '{', ' "query": {}', '}', '{', ' "query": {}', '}']; const model = getMockModel(content); diff --git a/src/plugins/console/public/application/containers/editor/utils/requests_utils.ts b/src/plugins/console/public/application/containers/editor/utils/requests_utils.ts index 123daf919cf22..628e111df7836 100644 --- a/src/plugins/console/public/application/containers/editor/utils/requests_utils.ts +++ b/src/plugins/console/public/application/containers/editor/utils/requests_utils.ts @@ -271,23 +271,61 @@ const replaceVariables = ( return text; }; +/** + * Splits a concatenated string of JSON objects into individual JSON objects. + * + * This function takes a string containing one or more JSON objects concatenated together, + * separated by optional whitespace, and splits them into an array of individual JSON strings. + * It ensures that nested objects and strings containing braces do not interfere with the splitting logic. + * + * Example inputs: + * - '{ "query": "test"} { "query": "test" }' -> ['{ "query": "test"}', '{ "query": "test" }'] + * - '{ "query": "test"}' -> ['{ "query": "test"}'] + * - '{ "query": "{a} {b}"}' -> ['{ "query": "{a} {b}"}'] + * + */ const splitDataIntoJsonObjects = (dataString: string): string[] => { - const jsonSplitRegex = /}\s*{/; - if (dataString.match(jsonSplitRegex)) { - return dataString.split(jsonSplitRegex).map((part, index, parts) => { - let restoredBracketsString = part; - // add an opening bracket to all parts except the 1st - if (index > 0) { - restoredBracketsString = `{${restoredBracketsString}`; + const jsonObjects = []; + // Tracks the depth of nested braces + let depth = 0; + // Holds the current JSON object as we iterate + let currentObject = ''; + // Tracks whether the current position is inside a string + let insideString = false; + + // Iterate through each character in the input string + for (let i = 0; i < dataString.length; i++) { + const char = dataString[i]; + // Append the character to the current JSON object string + currentObject += char; + + // If the character is a double quote and it is not escaped, toggle the `insideString` state + if (char === '"' && dataString[i - 1] !== '\\') { + insideString = !insideString; + } else if (!insideString) { + // Only modify depth if not inside a string + + if (char === '{') { + depth++; + } else if (char === '}') { + depth--; } - // add a closing bracket to all parts except the last - if (index < parts.length - 1) { - restoredBracketsString = `${restoredBracketsString}}`; + + // If depth is zero, we have completed a JSON object + if (depth === 0) { + jsonObjects.push(currentObject.trim()); + currentObject = ''; } - return restoredBracketsString; - }); + } } - return [dataString]; + + // If there's remaining data in currentObject, add it as the last JSON object + if (currentObject.trim()) { + jsonObjects.push(currentObject.trim()); + } + + // Filter out any empty strings from the result array + return jsonObjects.filter((obj) => obj !== ''); }; const cleanUpWhitespaces = (line: string): string => { diff --git a/src/plugins/dashboard/public/dashboard_app/top_nav/add_new_panel/use_get_dashboard_panels.test.ts b/src/plugins/dashboard/public/dashboard_app/top_nav/add_new_panel/use_get_dashboard_panels.test.ts index 7a5a77bfc14fe..0bd8d95dc7916 100644 --- a/src/plugins/dashboard/public/dashboard_app/top_nav/add_new_panel/use_get_dashboard_panels.test.ts +++ b/src/plugins/dashboard/public/dashboard_app/top_nav/add_new_panel/use_get_dashboard_panels.test.ts @@ -17,7 +17,7 @@ import { VisualizationsStart, type BaseVisType, } from '@kbn/visualizations-plugin/public'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { uiActionsService, visualizationsService } from '../../../services/kibana_services'; import { useGetDashboardPanels } from './use_get_dashboard_panels'; diff --git a/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.test.tsx b/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.test.tsx index 61b7bf402bc13..3c4388903992d 100644 --- a/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.test.tsx +++ b/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { getDashboardBackupService } from '../../services/dashboard_backup_service'; import { getDashboardContentManagementService } from '../../services/dashboard_content_management_service'; diff --git a/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.test.tsx b/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.test.tsx index acfaaf7daba3e..edffaa1c32530 100644 --- a/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.test.tsx +++ b/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.test.tsx @@ -8,7 +8,7 @@ */ import React from 'react'; -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { createFilterManagerMock } from '@kbn/data-plugin/public/query/filter_manager/filter_manager.mock'; import { CONTEXT_TIE_BREAKER_FIELDS_SETTING } from '@kbn/discover-utils'; import { DiscoverServices } from '../../../build_services'; @@ -106,7 +106,7 @@ const initDefaults = (tieBreakerFields: string[], dataViewId = 'the-data-view-id return { result: renderHook(() => useContextAppFetch(props.props), { - wrapper: ({ children }: React.PropsWithChildren<{}>) => ( + wrapper: ({ children }: React.PropsWithChildren) => ( {children} ), }).result, diff --git a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx index e14b5afc30d04..287b5a60386f4 100644 --- a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx @@ -9,7 +9,7 @@ import React, { ReactElement } from 'react'; import { AggregateQuery, Query } from '@kbn/es-query'; -import { act, renderHook, WrapperComponent } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { BehaviorSubject, Subject } from 'rxjs'; import { FetchStatus } from '../../../types'; import type { DiscoverStateContainer } from '../../state_management/discover_state'; @@ -121,9 +121,7 @@ describe('useDiscoverHistogram', () => { hideChart, }; - const Wrapper: WrapperComponent> = ({ - children, - }) => ( + const Wrapper = ({ children }: React.PropsWithChildren) => ( {children as ReactElement} ); diff --git a/src/plugins/discover/public/application/main/components/layout/use_fetch_more_records.test.tsx b/src/plugins/discover/public/application/main/components/layout/use_fetch_more_records.test.tsx index 4bab0f75e87e6..eeb0cd8ccb1b4 100644 --- a/src/plugins/discover/public/application/main/components/layout/use_fetch_more_records.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/use_fetch_more_records.test.tsx @@ -8,10 +8,10 @@ */ import { BehaviorSubject } from 'rxjs'; -import { renderHook, WrapperComponent } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { buildDataTableRecord } from '@kbn/discover-utils'; import { dataViewMock, esHitsMockWithSort } from '@kbn/discover-utils/src/__mocks__'; -import { useFetchMoreRecords, UseFetchMoreRecordsParams } from './use_fetch_more_records'; +import { useFetchMoreRecords } from './use_fetch_more_records'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; import { DataDocuments$, @@ -47,10 +47,8 @@ describe('useFetchMoreRecords', () => { return stateContainer; }; - const getWrapper = ( - stateContainer: DiscoverStateContainer - ): WrapperComponent> => { - return ({ children }) => ( + const getWrapper = (stateContainer: DiscoverStateContainer) => { + return ({ children }: React.PropsWithChildren) => ( <>{children} diff --git a/src/plugins/discover/public/application/main/components/top_nav/use_top_nav_links.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/use_top_nav_links.test.tsx index 2c51d57a32615..a70b200a74346 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/use_top_nav_links.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/use_top_nav_links.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { useTopNavLinks } from './use_top_nav_links'; import { DiscoverServices } from '../../../../build_services'; diff --git a/src/plugins/discover/public/application/main/hooks/use_esql_mode.test.tsx b/src/plugins/discover/public/application/main/hooks/use_esql_mode.test.tsx index 9f3fe7004f5f6..486c477c8833e 100644 --- a/src/plugins/discover/public/application/main/hooks/use_esql_mode.test.tsx +++ b/src/plugins/discover/public/application/main/hooks/use_esql_mode.test.tsx @@ -8,8 +8,7 @@ */ import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; -import { waitFor } from '@testing-library/react'; +import { waitFor, renderHook } from '@testing-library/react'; import { DataViewsContract } from '@kbn/data-plugin/public'; import { discoverServiceMock } from '../../../__mocks__/services'; import { useEsqlMode } from './use_esql_mode'; @@ -76,8 +75,10 @@ const getDataViewsService = () => { }; const getHookContext = (stateContainer: DiscoverStateContainer) => { - return ({ children }: { children: JSX.Element }) => ( - {children} + return ({ children }: React.PropsWithChildren) => ( + + <>{children} + ); }; const renderHookWithContext = ( diff --git a/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts b/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts index 53d66419cabac..ccade68ff2c8d 100644 --- a/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts +++ b/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { discoverServiceMock } from '../../../__mocks__/services'; import { useInspector } from './use_inspector'; import { Adapters, RequestAdapter } from '@kbn/inspector-plugin/common'; diff --git a/src/plugins/discover/public/application/main/hooks/use_url.test.ts b/src/plugins/discover/public/application/main/hooks/use_url.test.ts index 427765eac1325..24c6fe6af303d 100644 --- a/src/plugins/discover/public/application/main/hooks/use_url.test.ts +++ b/src/plugins/discover/public/application/main/hooks/use_url.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { createSearchSessionMock } from '../../../__mocks__/search_session'; import { useUrl } from './use_url'; import { diff --git a/src/plugins/discover/public/application/main/state_management/discover_state_provider.tsx b/src/plugins/discover/public/application/main/state_management/discover_state_provider.tsx index d5bbbd0b7c39b..2266a7d5276f7 100644 --- a/src/plugins/discover/public/application/main/state_management/discover_state_provider.tsx +++ b/src/plugins/discover/public/application/main/state_management/discover_state_provider.tsx @@ -57,10 +57,9 @@ export const { export const DiscoverMainProvider = ({ value, children, -}: { +}: React.PropsWithChildren<{ value: DiscoverStateContainer; - children: React.ReactElement; -}) => { +}>) => { return ( diff --git a/src/plugins/discover/public/context_awareness/hooks/use_additional_cell_actions.test.tsx b/src/plugins/discover/public/context_awareness/hooks/use_additional_cell_actions.test.tsx index 88dffdfa1ce6a..df96e4ee57a37 100644 --- a/src/plugins/discover/public/context_awareness/hooks/use_additional_cell_actions.test.tsx +++ b/src/plugins/discover/public/context_awareness/hooks/use_additional_cell_actions.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { DISCOVER_CELL_ACTION_TYPE, createCellAction, @@ -76,7 +76,7 @@ describe('useAdditionalCellActions', () => { }; const render = () => { - return renderHook((props) => useAdditionalCellActions(props), { + return renderHook(useAdditionalCellActions, { initialProps, wrapper: ({ children }) => ( {children} @@ -90,6 +90,7 @@ describe('useAdditionalCellActions', () => { afterEach(() => { mockUuid = 0; + jest.clearAllMocks(); }); it('should return metadata', async () => { @@ -108,7 +109,7 @@ describe('useAdditionalCellActions', () => { expect(mockActions).toHaveLength(1); expect(mockTriggerActions[DISCOVER_CELL_ACTIONS_TRIGGER.id]).toEqual(['root-action-2']); await act(() => discoverServiceMock.profilesManager.resolveDataSourceProfile({})); - rerender(); + rerender(initialProps); expect(result.current.instanceId).toEqual('3'); expect(mockActions).toHaveLength(2); expect(mockTriggerActions[DISCOVER_CELL_ACTIONS_TRIGGER.id]).toEqual([ diff --git a/src/plugins/discover/public/context_awareness/hooks/use_profile_accessor.test.ts b/src/plugins/discover/public/context_awareness/hooks/use_profile_accessor.test.ts index 65f6f7fb3f30a..b079115d69288 100644 --- a/src/plugins/discover/public/context_awareness/hooks/use_profile_accessor.test.ts +++ b/src/plugins/discover/public/context_awareness/hooks/use_profile_accessor.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { AppliedProfile, getMergedAccessor } from '../composable_profile'; import { useProfileAccessor } from './use_profile_accessor'; import { getDataTableRecords } from '../../__fixtures__/real_hits'; diff --git a/src/plugins/discover/public/context_awareness/hooks/use_profiles.test.tsx b/src/plugins/discover/public/context_awareness/hooks/use_profiles.test.tsx index b42fc1c4b3c49..ad142371aebb5 100644 --- a/src/plugins/discover/public/context_awareness/hooks/use_profiles.test.tsx +++ b/src/plugins/discover/public/context_awareness/hooks/use_profiles.test.tsx @@ -8,7 +8,7 @@ */ import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import React from 'react'; import { discoverServiceMock } from '../../__mocks__/services'; import type { GetProfilesOptions } from '../profiles_manager'; diff --git a/src/plugins/discover/public/context_awareness/hooks/use_root_profile.test.tsx b/src/plugins/discover/public/context_awareness/hooks/use_root_profile.test.tsx index 26c3aa2df3f15..d6984eb94cb42 100644 --- a/src/plugins/discover/public/context_awareness/hooks/use_root_profile.test.tsx +++ b/src/plugins/discover/public/context_awareness/hooks/use_root_profile.test.tsx @@ -8,7 +8,7 @@ */ import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { act, renderHook } from '@testing-library/react-hooks'; +import { waitFor, act, renderHook } from '@testing-library/react'; import React from 'react'; import { discoverServiceMock } from '../../__mocks__/services'; import { useRootProfile } from './use_root_profile'; @@ -37,31 +37,34 @@ describe('useRootProfile', () => { }); it('should return rootProfileLoading as true', async () => { - const { result, waitForNextUpdate } = render(); + const { result } = render(); expect(result.current.rootProfileLoading).toBe(true); expect((result.current as Record).AppWrapper).toBeUndefined(); // avoid act warning - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); }); it('should return rootProfileLoading as false', async () => { - const { result, waitForNextUpdate } = render(); - await waitForNextUpdate(); - expect(result.current.rootProfileLoading).toBe(false); - expect((result.current as Record).AppWrapper).toBeDefined(); + const { result } = render(); + await waitFor(() => { + expect(result.current.rootProfileLoading).toBe(false); + expect((result.current as Record).AppWrapper).toBeDefined(); + }); }); it('should return rootProfileLoading as true when solutionNavId changes', async () => { - const { result, rerender, waitForNextUpdate } = render(); - await waitForNextUpdate(); - expect(result.current.rootProfileLoading).toBe(false); - expect((result.current as Record).AppWrapper).toBeDefined(); + const { result, rerender } = render(); + await waitFor(() => { + expect(result.current.rootProfileLoading).toBe(false); + expect((result.current as Record).AppWrapper).toBeDefined(); + }); act(() => mockSolutionNavId$.next('newSolutionNavId')); rerender(); expect(result.current.rootProfileLoading).toBe(true); expect((result.current as Record).AppWrapper).toBeUndefined(); - await waitForNextUpdate(); - expect(result.current.rootProfileLoading).toBe(false); - expect((result.current as Record).AppWrapper).toBeDefined(); + await waitFor(() => { + expect(result.current.rootProfileLoading).toBe(false); + expect((result.current as Record).AppWrapper).toBeDefined(); + }); }); }); diff --git a/src/plugins/discover/public/customizations/customization_provider.test.tsx b/src/plugins/discover/public/customizations/customization_provider.test.tsx index 7dbdc9e3c3475..4b871c4ae8b7b 100644 --- a/src/plugins/discover/public/customizations/customization_provider.test.tsx +++ b/src/plugins/discover/public/customizations/customization_provider.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import React from 'react'; import { getDiscoverStateMock } from '../__mocks__/discover_state.mock'; import { diff --git a/src/plugins/discover/public/embeddable/get_search_embeddable_factory.test.tsx b/src/plugins/discover/public/embeddable/get_search_embeddable_factory.test.tsx index b1c589f3e1d84..621703ad3991b 100644 --- a/src/plugins/discover/public/embeddable/get_search_embeddable_factory.test.tsx +++ b/src/plugins/discover/public/embeddable/get_search_embeddable_factory.test.tsx @@ -18,7 +18,7 @@ import { BuildReactEmbeddableApiRegistration } from '@kbn/embeddable-plugin/publ import { PresentationContainer } from '@kbn/presentation-containers'; import { PhaseEvent, PublishesUnifiedSearch, StateComparators } from '@kbn/presentation-publishing'; import { VIEW_MODE } from '@kbn/saved-search-plugin/common'; -import { act, render } from '@testing-library/react'; +import { act, render, waitFor } from '@testing-library/react'; import { AggregateQuery, Filter, Query, TimeRange } from '@kbn/es-query'; import { createDataViewDataSource } from '../../common/data_sources'; @@ -143,8 +143,10 @@ describe('saved search embeddable', () => { expect(api.dataLoading.getValue()).toBe(false); expect(discoverComponent.queryByTestId('embeddedSavedSearchDocTable')).toBeInTheDocument(); - expect(discoverComponent.getByTestId('embeddedSavedSearchDocTable').textContent).toEqual( - 'No results found' + await waitFor(() => + expect(discoverComponent.getByTestId('embeddedSavedSearchDocTable').textContent).toEqual( + 'No results found' + ) ); }); diff --git a/src/plugins/discover/public/hooks/saved_search_alias_match_redirect.test.ts b/src/plugins/discover/public/hooks/saved_search_alias_match_redirect.test.ts index c1c6c4ac0e963..4e4469188d0b8 100644 --- a/src/plugins/discover/public/hooks/saved_search_alias_match_redirect.test.ts +++ b/src/plugins/discover/public/hooks/saved_search_alias_match_redirect.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import type { History } from 'history'; import { useSavedSearchAliasMatchRedirect } from './saved_search_alias_match_redirect'; diff --git a/src/plugins/discover/public/hooks/use_data_view.test.tsx b/src/plugins/discover/public/hooks/use_data_view.test.tsx index 5ef2194ab8db1..9e8a1c8a1fd44 100644 --- a/src/plugins/discover/public/hooks/use_data_view.test.tsx +++ b/src/plugins/discover/public/hooks/use_data_view.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { renderHook } from '@testing-library/react-hooks'; +import { waitFor, renderHook } from '@testing-library/react'; import { useDataView } from './use_data_view'; const adhocDataView = { @@ -38,11 +38,11 @@ const mockServices = { const render = async ({ dataViewId }: { dataViewId: string }) => { const hookResult = renderHook(() => useDataView({ index: dataViewId }), { - wrapper: ({ children }: React.PropsWithChildren<{}>) => ( + wrapper: ({ children }: React.PropsWithChildren) => ( {children} ), }); - await hookResult.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); return hookResult; }; diff --git a/src/plugins/discover/public/hooks/use_navigation_props.test.tsx b/src/plugins/discover/public/hooks/use_navigation_props.test.tsx index 36c86e01a9bb9..16b02b44d4340 100644 --- a/src/plugins/discover/public/hooks/use_navigation_props.test.tsx +++ b/src/plugins/discover/public/hooks/use_navigation_props.test.tsx @@ -8,7 +8,7 @@ */ import React, { MouseEvent } from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { waitFor, renderHook } from '@testing-library/react'; import { useNavigationProps } from './use_navigation_props'; import type { DataView } from '@kbn/data-views-plugin/public'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; @@ -65,7 +65,7 @@ const render = async () => { ), } ); - await renderResult.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); return renderResult; }; diff --git a/src/plugins/discover_shared/kibana.jsonc b/src/plugins/discover_shared/kibana.jsonc index 88d67ab96bd65..84729ad8f5fdb 100644 --- a/src/plugins/discover_shared/kibana.jsonc +++ b/src/plugins/discover_shared/kibana.jsonc @@ -2,6 +2,8 @@ "type": "plugin", "id": "@kbn/discover-shared-plugin", "owner": ["@elastic/kibana-data-discovery", "@elastic/obs-ux-logs-team"], + "group": "platform", + "visibility": "shared", "description": "A stateful layer to register shared features and provide an access point to discover without a direct dependency", "plugin": { "id": "discoverShared", diff --git a/src/plugins/embeddable/public/lib/embeddables/embeddable_renderer.test.tsx b/src/plugins/embeddable/public/lib/embeddables/embeddable_renderer.test.tsx index 6457f721ddd16..a7a6fab89973c 100644 --- a/src/plugins/embeddable/public/lib/embeddables/embeddable_renderer.test.tsx +++ b/src/plugins/embeddable/public/lib/embeddables/embeddable_renderer.test.tsx @@ -9,8 +9,7 @@ import React from 'react'; import { waitFor } from '@testing-library/react'; -import { render } from '@testing-library/react'; -import { renderHook } from '@testing-library/react-hooks'; +import { render, renderHook } from '@testing-library/react'; import { HelloWorldEmbeddable, HelloWorldEmbeddableFactoryDefinition, @@ -28,7 +27,7 @@ describe('useEmbeddableFactory', () => { ); doStart(); - const { result, waitForNextUpdate } = renderHook(() => + const { result } = renderHook(() => useEmbeddableFactory({ factory: getFactory(), input: { id: 'hello' } }) ); @@ -36,10 +35,10 @@ describe('useEmbeddableFactory', () => { expect(loading).toBe(true); - await waitForNextUpdate(); - - const [embeddable] = result.current; - expect(embeddable).toBeDefined(); + await waitFor(() => { + const [embeddable] = result.current; + expect(embeddable).toBeDefined(); + }); }); }); diff --git a/src/plugins/presentation_panel/public/panel_component/panel_header/presentation_panel_title.test.tsx b/src/plugins/presentation_panel/public/panel_component/panel_header/presentation_panel_title.test.tsx index 298dd98d9a2b1..3f06b154fdb55 100644 --- a/src/plugins/presentation_panel/public/panel_component/panel_header/presentation_panel_title.test.tsx +++ b/src/plugins/presentation_panel/public/panel_component/panel_header/presentation_panel_title.test.tsx @@ -8,8 +8,7 @@ */ import React, { useEffect, useState } from 'react'; -import { render, screen, fireEvent } from '@testing-library/react'; -import { renderHook } from '@testing-library/react-hooks'; +import { render, screen, fireEvent, renderHook } from '@testing-library/react'; import { usePresentationPanelTitleClickHandler } from './presentation_panel_title'; describe('usePresentationPanelTitleClickHandler', () => { diff --git a/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/test_filters.test.ts b/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/test_filters.test.ts index 6d0a8c5dfc96c..7bcfb2d7aa071 100644 --- a/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/test_filters.test.ts +++ b/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/test_filters.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { Storage } from '@kbn/kibana-utils-plugin/public'; import { useTableFilters, diff --git a/src/plugins/unified_doc_viewer/public/hooks/use_es_doc_search.test.tsx b/src/plugins/unified_doc_viewer/public/hooks/use_es_doc_search.test.tsx index f86cd00f14ce1..dac1f46e4b424 100644 --- a/src/plugins/unified_doc_viewer/public/hooks/use_es_doc_search.test.tsx +++ b/src/plugins/unified_doc_viewer/public/hooks/use_es_doc_search.test.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { waitFor, renderHook, act } from '@testing-library/react'; import { type EsDocSearchProps, buildSearchBody, useEsDocSearch } from './use_es_doc_search'; import { Subject } from 'rxjs'; import type { DataView } from '@kbn/data-views-plugin/public'; @@ -281,13 +281,14 @@ describe('Test of helper / hook', () => { }, }); mockSearchResult.complete(); - await hook.waitForNextUpdate(); }); - expect(hook.result.current.slice(0, 2)).toEqual([ - ElasticRequestState.Found, - buildDataTableRecord(record), - ]); + await waitFor(() => + expect(hook.result.current.slice(0, 2)).toEqual([ + ElasticRequestState.Found, + buildDataTableRecord(record), + ]) + ); }); test('useEsDocSearch for text based languages', async () => { diff --git a/src/plugins/unified_histogram/public/chart/hooks/use_chart_actions.test.ts b/src/plugins/unified_histogram/public/chart/hooks/use_chart_actions.test.ts index ab8acc7b694fe..94c7c88005f71 100644 --- a/src/plugins/unified_histogram/public/chart/hooks/use_chart_actions.test.ts +++ b/src/plugins/unified_histogram/public/chart/hooks/use_chart_actions.test.ts @@ -7,8 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; -import { act } from 'react-test-renderer'; +import { act, renderHook } from '@testing-library/react'; import { UnifiedHistogramChartContext } from '../../types'; import { useChartActions } from './use_chart_actions'; diff --git a/src/plugins/unified_histogram/public/chart/hooks/use_edit_visualization.test.ts b/src/plugins/unified_histogram/public/chart/hooks/use_edit_visualization.test.ts index e64b41e40e547..626950e535616 100644 --- a/src/plugins/unified_histogram/public/chart/hooks/use_edit_visualization.test.ts +++ b/src/plugins/unified_histogram/public/chart/hooks/use_edit_visualization.test.ts @@ -9,9 +9,7 @@ import type { DataView } from '@kbn/data-views-plugin/common'; import type { TypedLensByValueInput } from '@kbn/lens-plugin/public'; -import { renderHook } from '@testing-library/react-hooks'; -import { act } from 'react-test-renderer'; -import { setTimeout } from 'timers/promises'; +import { waitFor, renderHook } from '@testing-library/react'; import { dataViewMock } from '../../__mocks__/data_view'; import { dataViewWithTimefieldMock } from '../../__mocks__/data_view_with_timefield'; import { unifiedHistogramServicesMock } from '../../__mocks__/services'; @@ -44,8 +42,7 @@ describe('useEditVisualization', () => { lensAttributes, }) ); - await act(() => setTimeout(0)); - expect(hook.result.current).toBeDefined(); + await waitFor(() => expect(hook.result.current).toBeDefined()); hook.result.current!(); expect(navigateToPrefilledEditor).toHaveBeenCalledWith({ id: '', @@ -64,8 +61,7 @@ describe('useEditVisualization', () => { lensAttributes: {} as unknown as TypedLensByValueInput['attributes'], }) ); - await act(() => setTimeout(0)); - expect(hook.result.current).toBeUndefined(); + await waitFor(() => expect(hook.result.current).toBeUndefined()); }); it('should return undefined if the data view is not time based', async () => { @@ -78,8 +74,7 @@ describe('useEditVisualization', () => { lensAttributes: {} as unknown as TypedLensByValueInput['attributes'], }) ); - await act(() => setTimeout(0)); - expect(hook.result.current).toBeUndefined(); + await waitFor(() => expect(hook.result.current).toBeUndefined()); }); it('should return undefined if is on text based mode', async () => { @@ -93,8 +88,7 @@ describe('useEditVisualization', () => { isPlainRecord: true, }) ); - await act(() => setTimeout(0)); - expect(hook.result.current).toBeUndefined(); + await waitFor(() => expect(hook.result.current).toBeUndefined()); }); it('should return undefined if the time field is not visualizable', async () => { @@ -113,8 +107,7 @@ describe('useEditVisualization', () => { lensAttributes: {} as unknown as TypedLensByValueInput['attributes'], }) ); - await act(() => setTimeout(0)); - expect(hook.result.current).toBeUndefined(); + await waitFor(() => expect(hook.result.current).toBeUndefined()); }); it('should return undefined if there are no compatible actions', async () => { @@ -127,7 +120,6 @@ describe('useEditVisualization', () => { lensAttributes: {} as unknown as TypedLensByValueInput['attributes'], }) ); - await act(() => setTimeout(0)); - expect(hook.result.current).toBeUndefined(); + await waitFor(() => expect(hook.result.current).toBeUndefined()); }); }); diff --git a/src/plugins/unified_histogram/public/chart/hooks/use_lens_props.test.ts b/src/plugins/unified_histogram/public/chart/hooks/use_lens_props.test.ts index 9d1522398b018..d66856bdb4f0d 100644 --- a/src/plugins/unified_histogram/public/chart/hooks/use_lens_props.test.ts +++ b/src/plugins/unified_histogram/public/chart/hooks/use_lens_props.test.ts @@ -7,8 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; -import { act } from 'react-test-renderer'; +import { act, renderHook } from '@testing-library/react'; import { Subject } from 'rxjs'; import type { UnifiedHistogramInputMessage } from '../../types'; import { dataViewWithTimefieldMock } from '../../__mocks__/data_view_with_timefield'; diff --git a/src/plugins/unified_histogram/public/chart/hooks/use_refetch.test.ts b/src/plugins/unified_histogram/public/chart/hooks/use_refetch.test.ts index 3695e08337610..cf8590009062b 100644 --- a/src/plugins/unified_histogram/public/chart/hooks/use_refetch.test.ts +++ b/src/plugins/unified_histogram/public/chart/hooks/use_refetch.test.ts @@ -10,7 +10,7 @@ import { useRefetch } from './use_refetch'; import { DataView } from '@kbn/data-views-plugin/common'; import { AggregateQuery, Filter, Query, TimeRange } from '@kbn/es-query'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { UnifiedHistogramBreakdownContext, UnifiedHistogramChartContext, diff --git a/src/plugins/unified_histogram/public/chart/hooks/use_time_range.test.tsx b/src/plugins/unified_histogram/public/chart/hooks/use_time_range.test.tsx index 0daa6ca6be066..7341dbe451c81 100644 --- a/src/plugins/unified_histogram/public/chart/hooks/use_time_range.test.tsx +++ b/src/plugins/unified_histogram/public/chart/hooks/use_time_range.test.tsx @@ -9,7 +9,7 @@ import { uiSettingsServiceMock } from '@kbn/core-ui-settings-browser-mocks'; import { TimeRange } from '@kbn/data-plugin/common'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { UnifiedHistogramBucketInterval } from '../../types'; import { useTimeRange } from './use_time_range'; diff --git a/src/plugins/unified_histogram/public/chart/hooks/use_total_hits.test.ts b/src/plugins/unified_histogram/public/chart/hooks/use_total_hits.test.ts index 1a6146e6a4c31..4ba57d490db6f 100644 --- a/src/plugins/unified_histogram/public/chart/hooks/use_total_hits.test.ts +++ b/src/plugins/unified_histogram/public/chart/hooks/use_total_hits.test.ts @@ -12,11 +12,10 @@ import { UnifiedHistogramFetchStatus, UnifiedHistogramInput$ } from '../../types import { dataViewWithTimefieldMock } from '../../__mocks__/data_view_with_timefield'; import { useTotalHits } from './use_total_hits'; import { useEffect as mockUseEffect } from 'react'; -import { renderHook } from '@testing-library/react-hooks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { searchSourceInstanceMock } from '@kbn/data-plugin/common/search/search_source/mocks'; import { of, Subject, throwError } from 'rxjs'; -import { waitFor } from '@testing-library/react'; +import { waitFor, renderHook } from '@testing-library/react'; import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { DataViewType, SearchSourceSearchOptions } from '@kbn/data-plugin/common'; import { expressionsPluginMock } from '@kbn/expressions-plugin/public/mocks'; diff --git a/src/plugins/unified_histogram/public/container/hooks/use_state_props.test.ts b/src/plugins/unified_histogram/public/container/hooks/use_state_props.test.ts index 44a36be34d1ab..5a3356ba9e038 100644 --- a/src/plugins/unified_histogram/public/container/hooks/use_state_props.test.ts +++ b/src/plugins/unified_histogram/public/container/hooks/use_state_props.test.ts @@ -9,8 +9,7 @@ import { DataView, DataViewField, DataViewType } from '@kbn/data-views-plugin/common'; import { RequestAdapter } from '@kbn/inspector-plugin/common'; -import { renderHook } from '@testing-library/react-hooks'; -import { act } from 'react-test-renderer'; +import { waitFor, renderHook, act } from '@testing-library/react'; import type { DatatableColumn } from '@kbn/expressions-plugin/common'; import { convertDatatableColumnToDataViewFieldSpec } from '@kbn/data-view-utils'; import { UnifiedHistogramFetchStatus, UnifiedHistogramSuggestionContext } from '../../types'; @@ -491,7 +490,7 @@ describe('useStateProps', () => { `); }); - it('should execute callbacks correctly', () => { + it('should execute callbacks correctly', async () => { const stateService = getStateService({ initialState }); const { result } = renderHook(() => useStateProps({ @@ -503,6 +502,21 @@ describe('useStateProps', () => { columns: undefined, }) ); + + await waitFor(() => + expect(result.current).toEqual( + expect.objectContaining({ + onTopPanelHeightChange: expect.any(Function), + onTimeIntervalChange: expect.any(Function), + onTotalHitsChange: expect.any(Function), + onChartHiddenChange: expect.any(Function), + onChartLoad: expect.any(Function), + onBreakdownFieldChange: expect.any(Function), + onSuggestionContextChange: expect.any(Function), + }) + ) + ); + const { onTopPanelHeightChange, onTimeIntervalChange, diff --git a/src/plugins/unified_histogram/public/hooks/use_request_params.test.ts b/src/plugins/unified_histogram/public/hooks/use_request_params.test.ts index 33df774f20a33..44624252041f9 100644 --- a/src/plugins/unified_histogram/public/hooks/use_request_params.test.ts +++ b/src/plugins/unified_histogram/public/hooks/use_request_params.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { unifiedHistogramServicesMock } from '../__mocks__/services'; const getUseRequestParams = async () => { diff --git a/src/plugins/unified_histogram/public/hooks/use_stable_callback.test.ts b/src/plugins/unified_histogram/public/hooks/use_stable_callback.test.ts index 7e13f153bc626..db498930c98f8 100644 --- a/src/plugins/unified_histogram/public/hooks/use_stable_callback.test.ts +++ b/src/plugins/unified_histogram/public/hooks/use_stable_callback.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useStableCallback } from './use_stable_callback'; describe('useStableCallback', () => { diff --git a/src/plugins/vis_types/timeseries/kibana.jsonc b/src/plugins/vis_types/timeseries/kibana.jsonc index 03cb4697162ed..08d76648220e2 100644 --- a/src/plugins/vis_types/timeseries/kibana.jsonc +++ b/src/plugins/vis_types/timeseries/kibana.jsonc @@ -4,6 +4,7 @@ "owner": [ "@elastic/kibana-visualizations" ], + // currently used from both visualisations and observability/infra "group": "platform", "visibility": "shared", "description": "Registers the TSVB visualization. TSVB has its one editor, works with index patterns and index strings and contains 6 types of charts: timeseries, topN, table. markdown, metric and gauge.", @@ -32,4 +33,4 @@ "fieldFormats" ] } -} \ No newline at end of file +} diff --git a/test/kibana.jsonc b/test/kibana.jsonc index f133563c47ca9..7f31b79cff9d0 100644 --- a/test/kibana.jsonc +++ b/test/kibana.jsonc @@ -2,5 +2,7 @@ "type": "test-helper", "id": "@kbn/test-suites-src", "owner": [], + "group": "platform", + "visibility": "shared", "devOnly": true } diff --git a/tsconfig.base.json b/tsconfig.base.json index 3e1d80208f5b4..bf11b49d4e17d 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -414,6 +414,8 @@ "@kbn/core-http-server-internal/*": ["packages/core/http/core-http-server-internal/*"], "@kbn/core-http-server-mocks": ["packages/core/http/core-http-server-mocks"], "@kbn/core-http-server-mocks/*": ["packages/core/http/core-http-server-mocks/*"], + "@kbn/core-http-server-utils": ["packages/core/http/core-http-server-utils"], + "@kbn/core-http-server-utils/*": ["packages/core/http/core-http-server-utils/*"], "@kbn/core-i18n-browser": ["packages/core/i18n/core-i18n-browser"], "@kbn/core-i18n-browser/*": ["packages/core/i18n/core-i18n-browser/*"], "@kbn/core-i18n-browser-internal": ["packages/core/i18n/core-i18n-browser-internal"], diff --git a/x-pack/packages/ai-infra/inference-common/kibana.jsonc b/x-pack/packages/ai-infra/inference-common/kibana.jsonc index 568755d303c3b..0e88162fa1b02 100644 --- a/x-pack/packages/ai-infra/inference-common/kibana.jsonc +++ b/x-pack/packages/ai-infra/inference-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/inference-common", - "owner": "@elastic/appex-ai-infra" -} + "owner": [ + "@elastic/appex-ai-infra" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ai-infra/product-doc-common/kibana.jsonc b/x-pack/packages/ai-infra/product-doc-common/kibana.jsonc index 16336c1fc8e27..ed5332676de2e 100644 --- a/x-pack/packages/ai-infra/product-doc-common/kibana.jsonc +++ b/x-pack/packages/ai-infra/product-doc-common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/product-doc-common", - "owner": "@elastic/appex-ai-infra" -} + "owner": [ + "@elastic/appex-ai-infra" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/kibana.jsonc b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/kibana.jsonc index dfaef1d0dfb9c..8e17b9e108b68 100644 --- a/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/kibana.jsonc +++ b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/index-lifecycle-management-common-shared", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/index-management/index_management_shared_types/kibana.jsonc b/x-pack/packages/index-management/index_management_shared_types/kibana.jsonc index ad87bb2bb4797..db696168a35a1 100644 --- a/x-pack/packages/index-management/index_management_shared_types/kibana.jsonc +++ b/x-pack/packages/index-management/index_management_shared_types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/index-management-shared-types", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-ai-assistant-common/kibana.jsonc b/x-pack/packages/kbn-ai-assistant-common/kibana.jsonc index 8babdaccbd2df..41dcc5eac4046 100644 --- a/x-pack/packages/kbn-ai-assistant-common/kibana.jsonc +++ b/x-pack/packages/kbn-ai-assistant-common/kibana.jsonc @@ -1,5 +1,9 @@ { + "type": "shared-common", "id": "@kbn/ai-assistant-common", - "owner": "@elastic/search-kibana", - "type": "shared-common" -} + "owner": [ + "@elastic/search-kibana" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-alerting-comparators/kibana.jsonc b/x-pack/packages/kbn-alerting-comparators/kibana.jsonc index 94ac1e532ab1f..cbc7950c05dfb 100644 --- a/x-pack/packages/kbn-alerting-comparators/kibana.jsonc +++ b/x-pack/packages/kbn-alerting-comparators/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/alerting-comparators", - "owner": "@elastic/response-ops" + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "shared" } \ No newline at end of file diff --git a/x-pack/packages/kbn-alerting-state-types/kibana.jsonc b/x-pack/packages/kbn-alerting-state-types/kibana.jsonc index 6c37f923f760b..03fa08fd14a00 100644 --- a/x-pack/packages/kbn-alerting-state-types/kibana.jsonc +++ b/x-pack/packages/kbn-alerting-state-types/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/alerting-state-types", - "owner": "@elastic/response-ops" -} + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-cloud-security-posture/common/kibana.jsonc b/x-pack/packages/kbn-cloud-security-posture/common/kibana.jsonc index f3bd18f10c7a8..02e924b91e134 100644 --- a/x-pack/packages/kbn-cloud-security-posture/common/kibana.jsonc +++ b/x-pack/packages/kbn-cloud-security-posture/common/kibana.jsonc @@ -1,5 +1,9 @@ { + "type": "shared-common", "id": "@kbn/cloud-security-posture-common", - "owner": "@elastic/kibana-cloud-security-posture", - "type": "shared-common" -} + "owner": [ + "@elastic/kibana-cloud-security-posture" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-cloud-security-posture/graph/kibana.jsonc b/x-pack/packages/kbn-cloud-security-posture/graph/kibana.jsonc index 513861b347059..72fe9f90b58c5 100644 --- a/x-pack/packages/kbn-cloud-security-posture/graph/kibana.jsonc +++ b/x-pack/packages/kbn-cloud-security-posture/graph/kibana.jsonc @@ -1,5 +1,9 @@ { + "type": "shared-browser", "id": "@kbn/cloud-security-posture-graph", - "owner": "@elastic/kibana-cloud-security-posture", - "type": "shared-browser" -} + "owner": [ + "@elastic/kibana-cloud-security-posture" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-cloud-security-posture/public/kibana.jsonc b/x-pack/packages/kbn-cloud-security-posture/public/kibana.jsonc index 811a1ab5dad41..1e30b747cc410 100644 --- a/x-pack/packages/kbn-cloud-security-posture/public/kibana.jsonc +++ b/x-pack/packages/kbn-cloud-security-posture/public/kibana.jsonc @@ -1,5 +1,9 @@ { + "type": "shared-browser", "id": "@kbn/cloud-security-posture", - "owner": "@elastic/kibana-cloud-security-posture", - "type": "shared-browser" -} + "owner": [ + "@elastic/kibana-cloud-security-posture" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-cloud-security-posture/public/src/hooks/use_navigate_findings.test.ts b/x-pack/packages/kbn-cloud-security-posture/public/src/hooks/use_navigate_findings.test.ts index 30dcd8c7f2ddf..d5bec5e200ff5 100644 --- a/x-pack/packages/kbn-cloud-security-posture/public/src/hooks/use_navigate_findings.test.ts +++ b/x-pack/packages/kbn-cloud-security-posture/public/src/hooks/use_navigate_findings.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks/dom'; +import { renderHook, act } from '@testing-library/react'; import { useNavigateVulnerabilities, useNavigateFindings } from './use_navigate_findings'; import { useHistory } from 'react-router-dom'; diff --git a/x-pack/packages/kbn-data-forge/kibana.jsonc b/x-pack/packages/kbn-data-forge/kibana.jsonc index 7a09830de0b3a..8b2eb5fa3d0d7 100644 --- a/x-pack/packages/kbn-data-forge/kibana.jsonc +++ b/x-pack/packages/kbn-data-forge/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/data-forge", - "owner": "@elastic/obs-ux-management-team" + "owner": [ + "@elastic/obs-ux-management-team" + ], + "group": "platform", + "visibility": "shared" } diff --git a/x-pack/packages/kbn-elastic-assistant-common/kibana.jsonc b/x-pack/packages/kbn-elastic-assistant-common/kibana.jsonc index fe36d45dd2a4c..a509f30fa0017 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/kibana.jsonc +++ b/x-pack/packages/kbn-elastic-assistant-common/kibana.jsonc @@ -1,5 +1,9 @@ { + "type": "shared-common", "id": "@kbn/elastic-assistant-common", - "owner": "@elastic/security-generative-ai", - "type": "shared-common" -} + "owner": [ + "@elastic/security-generative-ai" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-elastic-assistant/kibana.jsonc b/x-pack/packages/kbn-elastic-assistant/kibana.jsonc index 29490e1bd93c6..3c6916f819b0a 100644 --- a/x-pack/packages/kbn-elastic-assistant/kibana.jsonc +++ b/x-pack/packages/kbn-elastic-assistant/kibana.jsonc @@ -1,5 +1,9 @@ { + "type": "shared-browser", "id": "@kbn/elastic-assistant", - "owner": "@elastic/security-generative-ai", - "type": "shared-browser" -} + "owner": [ + "@elastic/security-generative-ai" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-entities-schema/kibana.jsonc b/x-pack/packages/kbn-entities-schema/kibana.jsonc index 732a640df908b..a5e6fd29fe094 100644 --- a/x-pack/packages/kbn-entities-schema/kibana.jsonc +++ b/x-pack/packages/kbn-entities-schema/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/entities-schema", - "owner": "@elastic/obs-entities" -} + "owner": [ + "@elastic/obs-entities" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-infra-forge/kibana.jsonc b/x-pack/packages/kbn-infra-forge/kibana.jsonc index a450d148358a9..b68f360a7dee3 100644 --- a/x-pack/packages/kbn-infra-forge/kibana.jsonc +++ b/x-pack/packages/kbn-infra-forge/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/infra-forge", - "owner": "@elastic/obs-ux-management-team" + "owner": [ + "@elastic/obs-ux-management-team", + ], + "group": "platform", + "visibility": "private" } diff --git a/x-pack/packages/kbn-langchain/kibana.jsonc b/x-pack/packages/kbn-langchain/kibana.jsonc index 5ef91bd2c8e6a..5fa6ad5894402 100644 --- a/x-pack/packages/kbn-langchain/kibana.jsonc +++ b/x-pack/packages/kbn-langchain/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/langchain", - "owner": "@elastic/security-generative-ai" -} + "owner": [ + "@elastic/security-generative-ai" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-random-sampling/kibana.jsonc b/x-pack/packages/kbn-random-sampling/kibana.jsonc index 963ef9add20b1..5f63a3a67b279 100644 --- a/x-pack/packages/kbn-random-sampling/kibana.jsonc +++ b/x-pack/packages/kbn-random-sampling/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/random-sampling", - "owner": "@elastic/kibana-visualizations", -} + "owner": [ + "@elastic/kibana-visualizations" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/kbn-slo-schema/kibana.jsonc b/x-pack/packages/kbn-slo-schema/kibana.jsonc index b4ca324fc112b..7e4c7cab070b8 100644 --- a/x-pack/packages/kbn-slo-schema/kibana.jsonc +++ b/x-pack/packages/kbn-slo-schema/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/slo-schema", - "owner": "@elastic/obs-ux-management-team" -} + "owner": [ + "@elastic/obs-ux-management-team" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/maps/vector_tile_utils/kibana.jsonc b/x-pack/packages/maps/vector_tile_utils/kibana.jsonc index 5e1e9957ecdf3..1ec30b45e5225 100644 --- a/x-pack/packages/maps/vector_tile_utils/kibana.jsonc +++ b/x-pack/packages/maps/vector_tile_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/maps-vector-tile-utils", - "owner": "@elastic/kibana-presentation" -} + "owner": [ + "@elastic/kibana-presentation" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/agg_utils/kibana.jsonc b/x-pack/packages/ml/agg_utils/kibana.jsonc index 3c29356a24ada..8b39e5ee5678f 100644 --- a/x-pack/packages/ml/agg_utils/kibana.jsonc +++ b/x-pack/packages/ml/agg_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-agg-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/aiops_change_point_detection/kibana.jsonc b/x-pack/packages/ml/aiops_change_point_detection/kibana.jsonc index 280a686665c66..29e42822d728c 100644 --- a/x-pack/packages/ml/aiops_change_point_detection/kibana.jsonc +++ b/x-pack/packages/ml/aiops_change_point_detection/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/aiops-change-point-detection", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/aiops_common/kibana.jsonc b/x-pack/packages/ml/aiops_common/kibana.jsonc index d675cd4022279..88dfda8bd28cd 100644 --- a/x-pack/packages/ml/aiops_common/kibana.jsonc +++ b/x-pack/packages/ml/aiops_common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/aiops-common", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/aiops_components/kibana.jsonc b/x-pack/packages/ml/aiops_components/kibana.jsonc index 6df0d201312a1..70a974dfba496 100644 --- a/x-pack/packages/ml/aiops_components/kibana.jsonc +++ b/x-pack/packages/ml/aiops_components/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/aiops-components", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/aiops_log_pattern_analysis/kibana.jsonc b/x-pack/packages/ml/aiops_log_pattern_analysis/kibana.jsonc index da2c590b49dcb..042910e2f8a8e 100644 --- a/x-pack/packages/ml/aiops_log_pattern_analysis/kibana.jsonc +++ b/x-pack/packages/ml/aiops_log_pattern_analysis/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/aiops-log-pattern-analysis", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/aiops_log_pattern_analysis/schema.ts b/x-pack/packages/ml/aiops_log_pattern_analysis/schema.ts index 72b1dbca38032..05254e72a651c 100644 --- a/x-pack/packages/ml/aiops_log_pattern_analysis/schema.ts +++ b/x-pack/packages/ml/aiops_log_pattern_analysis/schema.ts @@ -38,7 +38,6 @@ export const indicesOptionsSchema = schema.object({ ), ignore_unavailable: schema.maybe(schema.boolean()), allow_no_indices: schema.maybe(schema.boolean()), - ignore_throttled: schema.maybe(schema.boolean()), }); /** diff --git a/x-pack/packages/ml/aiops_log_rate_analysis/api/schema_v2.ts b/x-pack/packages/ml/aiops_log_rate_analysis/api/schema_v2.ts index 1e132f6f00e78..95c778a118454 100644 --- a/x-pack/packages/ml/aiops_log_rate_analysis/api/schema_v2.ts +++ b/x-pack/packages/ml/aiops_log_rate_analysis/api/schema_v2.ts @@ -45,6 +45,7 @@ export const aiopsLogRateAnalysisBase = schema.object({ end: schema.number(), searchQuery: schema.string(), timeFieldName: schema.string(), + // when v2 is removed, includeFrozen should not carry over to v3+ includeFrozen: schema.maybe(schema.boolean()), grouping: schema.maybe(schema.boolean()), /** Analysis selection time ranges */ diff --git a/x-pack/packages/ml/aiops_log_rate_analysis/kibana.jsonc b/x-pack/packages/ml/aiops_log_rate_analysis/kibana.jsonc index 210878e009a2a..8b9f6a222583f 100644 --- a/x-pack/packages/ml/aiops_log_rate_analysis/kibana.jsonc +++ b/x-pack/packages/ml/aiops_log_rate_analysis/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/aiops-log-rate-analysis", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/aiops_log_rate_analysis/queries/__mocks__/params_match_all.ts b/x-pack/packages/ml/aiops_log_rate_analysis/queries/__mocks__/params_match_all.ts index a81ba523caa43..36d63c883ecd8 100644 --- a/x-pack/packages/ml/aiops_log_rate_analysis/queries/__mocks__/params_match_all.ts +++ b/x-pack/packages/ml/aiops_log_rate_analysis/queries/__mocks__/params_match_all.ts @@ -14,6 +14,5 @@ export const paramsMock = { baselineMax: 20, deviationMin: 30, deviationMax: 40, - includeFrozen: false, searchQuery: '{ "match_all": {} }', }; diff --git a/x-pack/packages/ml/aiops_log_rate_analysis/queries/get_request_base.test.ts b/x-pack/packages/ml/aiops_log_rate_analysis/queries/get_request_base.test.ts deleted file mode 100644 index 33797e219fd37..0000000000000 --- a/x-pack/packages/ml/aiops_log_rate_analysis/queries/get_request_base.test.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { paramsMock } from './__mocks__/params_match_all'; - -import { getRequestBase } from './get_request_base'; - -describe('getRequestBase', () => { - it('defaults to not setting `ignore_throttled`', () => { - const requestBase = getRequestBase(paramsMock); - expect(requestBase.ignore_throttled).toEqual(undefined); - }); - - it('adds `ignore_throttled=false` when `includeFrozen=true`', () => { - const requestBase = getRequestBase({ - ...paramsMock, - includeFrozen: true, - }); - expect(requestBase.ignore_throttled).toEqual(false); - }); -}); diff --git a/x-pack/packages/ml/aiops_log_rate_analysis/queries/get_request_base.ts b/x-pack/packages/ml/aiops_log_rate_analysis/queries/get_request_base.ts index 8083cb25c12b5..8b16b5c050596 100644 --- a/x-pack/packages/ml/aiops_log_rate_analysis/queries/get_request_base.ts +++ b/x-pack/packages/ml/aiops_log_rate_analysis/queries/get_request_base.ts @@ -7,8 +7,7 @@ import type { AiopsLogRateAnalysisSchema } from '../api/schema'; -export const getRequestBase = ({ index, includeFrozen }: AiopsLogRateAnalysisSchema) => ({ +export const getRequestBase = ({ index }: AiopsLogRateAnalysisSchema) => ({ index, - ...(includeFrozen ? { ignore_throttled: false } : {}), ignore_unavailable: true, }); diff --git a/x-pack/packages/ml/aiops_test_utils/kibana.jsonc b/x-pack/packages/ml/aiops_test_utils/kibana.jsonc index 1c79f5adf34a4..3af237ddc2c07 100644 --- a/x-pack/packages/ml/aiops_test_utils/kibana.jsonc +++ b/x-pack/packages/ml/aiops_test_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/aiops-test-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/anomaly_utils/kibana.jsonc b/x-pack/packages/ml/anomaly_utils/kibana.jsonc index 92fa54e6104de..2685dfbcaa2ee 100644 --- a/x-pack/packages/ml/anomaly_utils/kibana.jsonc +++ b/x-pack/packages/ml/anomaly_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-anomaly-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/cancellable_search/kibana.jsonc b/x-pack/packages/ml/cancellable_search/kibana.jsonc index 2006bfd746711..8e7c129fd6134 100644 --- a/x-pack/packages/ml/cancellable_search/kibana.jsonc +++ b/x-pack/packages/ml/cancellable_search/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-cancellable-search", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/category_validator/kibana.jsonc b/x-pack/packages/ml/category_validator/kibana.jsonc index de1fea187f3c8..08e1dd96edd21 100644 --- a/x-pack/packages/ml/category_validator/kibana.jsonc +++ b/x-pack/packages/ml/category_validator/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-category-validator", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/chi2test/kibana.jsonc b/x-pack/packages/ml/chi2test/kibana.jsonc index 073ffe15d4294..29d73318e1d4b 100644 --- a/x-pack/packages/ml/chi2test/kibana.jsonc +++ b/x-pack/packages/ml/chi2test/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-chi2test", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/creation_wizard_utils/kibana.jsonc b/x-pack/packages/ml/creation_wizard_utils/kibana.jsonc index 158d811883500..01481fbf943df 100644 --- a/x-pack/packages/ml/creation_wizard_utils/kibana.jsonc +++ b/x-pack/packages/ml/creation_wizard_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-creation-wizard-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/data_frame_analytics_utils/kibana.jsonc b/x-pack/packages/ml/data_frame_analytics_utils/kibana.jsonc index 9a25068100ab6..78d1168b04951 100644 --- a/x-pack/packages/ml/data_frame_analytics_utils/kibana.jsonc +++ b/x-pack/packages/ml/data_frame_analytics_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-data-frame-analytics-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/data_grid/kibana.jsonc b/x-pack/packages/ml/data_grid/kibana.jsonc index d13bf0f37aec3..517acb32d025e 100644 --- a/x-pack/packages/ml/data_grid/kibana.jsonc +++ b/x-pack/packages/ml/data_grid/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-data-grid", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/data_view_utils/kibana.jsonc b/x-pack/packages/ml/data_view_utils/kibana.jsonc index 41251d1f7cbc2..a97ecab13383b 100644 --- a/x-pack/packages/ml/data_view_utils/kibana.jsonc +++ b/x-pack/packages/ml/data_view_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-data-view-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/date_picker/kibana.jsonc b/x-pack/packages/ml/date_picker/kibana.jsonc index d5ba9fb472f9b..655a774725250 100644 --- a/x-pack/packages/ml/date_picker/kibana.jsonc +++ b/x-pack/packages/ml/date_picker/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/ml-date-picker", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/date_utils/kibana.jsonc b/x-pack/packages/ml/date_utils/kibana.jsonc index dd8f2187bacbf..ccf73f9d922bb 100644 --- a/x-pack/packages/ml/date_utils/kibana.jsonc +++ b/x-pack/packages/ml/date_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-date-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/error_utils/kibana.jsonc b/x-pack/packages/ml/error_utils/kibana.jsonc index 7629766aca7a7..fa13892db8769 100644 --- a/x-pack/packages/ml/error_utils/kibana.jsonc +++ b/x-pack/packages/ml/error_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-error-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/field_stats_flyout/kibana.jsonc b/x-pack/packages/ml/field_stats_flyout/kibana.jsonc index 4c362fcc84e05..d6c4fc392f88f 100644 --- a/x-pack/packages/ml/field_stats_flyout/kibana.jsonc +++ b/x-pack/packages/ml/field_stats_flyout/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/ml-field-stats-flyout", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/in_memory_table/kibana.jsonc b/x-pack/packages/ml/in_memory_table/kibana.jsonc index cb50985bc6159..b1dd95dc080d3 100644 --- a/x-pack/packages/ml/in_memory_table/kibana.jsonc +++ b/x-pack/packages/ml/in_memory_table/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-in-memory-table", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/inference_integration_flyout/kibana.jsonc b/x-pack/packages/ml/inference_integration_flyout/kibana.jsonc index f7657078bb781..6cf8955917b5c 100644 --- a/x-pack/packages/ml/inference_integration_flyout/kibana.jsonc +++ b/x-pack/packages/ml/inference_integration_flyout/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/inference_integration_flyout", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/is_defined/kibana.jsonc b/x-pack/packages/ml/is_defined/kibana.jsonc index b25718598901b..43b4d3a5fdae6 100644 --- a/x-pack/packages/ml/is_defined/kibana.jsonc +++ b/x-pack/packages/ml/is_defined/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-is-defined", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/is_populated_object/kibana.jsonc b/x-pack/packages/ml/is_populated_object/kibana.jsonc index 1ef21fe110b12..719c85fa24348 100644 --- a/x-pack/packages/ml/is_populated_object/kibana.jsonc +++ b/x-pack/packages/ml/is_populated_object/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-is-populated-object", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/json_schemas/kibana.jsonc b/x-pack/packages/ml/json_schemas/kibana.jsonc index 4233a2938ecae..cc9c6e710c310 100644 --- a/x-pack/packages/ml/json_schemas/kibana.jsonc +++ b/x-pack/packages/ml/json_schemas/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/json-schemas", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/json_schemas/src/put___ml_anomaly_detectors__job_id__schema.json b/x-pack/packages/ml/json_schemas/src/put___ml_anomaly_detectors__job_id__schema.json index 79a871f1ef3fa..81e1d22bdad9b 100644 --- a/x-pack/packages/ml/json_schemas/src/put___ml_anomaly_detectors__job_id__schema.json +++ b/x-pack/packages/ml/json_schemas/src/put___ml_anomaly_detectors__job_id__schema.json @@ -10765,10 +10765,6 @@ "ignore_unavailable": { "description": "If true, missing or closed indices are not included in the response.", "type": "boolean" - }, - "ignore_throttled": { - "description": "If true, concrete, expanded or aliased indices are ignored when frozen.", - "type": "boolean" } } }, @@ -10884,4 +10880,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/packages/ml/json_schemas/src/put___ml_datafeeds__datafeed_id__schema.json b/x-pack/packages/ml/json_schemas/src/put___ml_datafeeds__datafeed_id__schema.json index 575411eb3a8c2..8bf2dbfc1f529 100644 --- a/x-pack/packages/ml/json_schemas/src/put___ml_datafeeds__datafeed_id__schema.json +++ b/x-pack/packages/ml/json_schemas/src/put___ml_datafeeds__datafeed_id__schema.json @@ -7932,10 +7932,6 @@ "ignore_unavailable": { "description": "If true, missing or closed indices are not included in the response.", "type": "boolean" - }, - "ignore_throttled": { - "description": "If true, concrete, expanded or aliased indices are ignored when frozen.", - "type": "boolean" } } }, @@ -8051,4 +8047,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/packages/ml/kibana_theme/kibana.jsonc b/x-pack/packages/ml/kibana_theme/kibana.jsonc index e9f16a1537794..cbd58ef1489a6 100644 --- a/x-pack/packages/ml/kibana_theme/kibana.jsonc +++ b/x-pack/packages/ml/kibana_theme/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-kibana-theme", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/local_storage/kibana.jsonc b/x-pack/packages/ml/local_storage/kibana.jsonc index 8afac70248f4f..6b891cccb9594 100644 --- a/x-pack/packages/ml/local_storage/kibana.jsonc +++ b/x-pack/packages/ml/local_storage/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-local-storage", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/nested_property/kibana.jsonc b/x-pack/packages/ml/nested_property/kibana.jsonc index 8256bcfc7d725..0d3c27d833344 100644 --- a/x-pack/packages/ml/nested_property/kibana.jsonc +++ b/x-pack/packages/ml/nested_property/kibana.jsonc @@ -1,5 +1,7 @@ { "type": "shared-common", "id": "@kbn/ml-nested-property", - "owner": "@elastic/ml-ui" + "owner": "@elastic/ml-ui", + "group": "platform", + "visibility": "private" } diff --git a/x-pack/packages/ml/number_utils/kibana.jsonc b/x-pack/packages/ml/number_utils/kibana.jsonc index ca46d88969078..604ca1648739d 100644 --- a/x-pack/packages/ml/number_utils/kibana.jsonc +++ b/x-pack/packages/ml/number_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-number-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/parse_interval/kibana.jsonc b/x-pack/packages/ml/parse_interval/kibana.jsonc index 6d8398c29b1cc..bb83b183b6fb2 100644 --- a/x-pack/packages/ml/parse_interval/kibana.jsonc +++ b/x-pack/packages/ml/parse_interval/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-parse-interval", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/query_utils/kibana.jsonc b/x-pack/packages/ml/query_utils/kibana.jsonc index a37eb31cb1da4..85476d1de652b 100644 --- a/x-pack/packages/ml/query_utils/kibana.jsonc +++ b/x-pack/packages/ml/query_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-query-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/random_sampler_utils/kibana.jsonc b/x-pack/packages/ml/random_sampler_utils/kibana.jsonc index 87b8e2ec0ca01..fc1185a36d953 100644 --- a/x-pack/packages/ml/random_sampler_utils/kibana.jsonc +++ b/x-pack/packages/ml/random_sampler_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-random-sampler-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/response_stream/kibana.jsonc b/x-pack/packages/ml/response_stream/kibana.jsonc index 7e8b96cc9d12b..b1fd2969348d2 100644 --- a/x-pack/packages/ml/response_stream/kibana.jsonc +++ b/x-pack/packages/ml/response_stream/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-response-stream", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/route_utils/kibana.jsonc b/x-pack/packages/ml/route_utils/kibana.jsonc index 8494cda1924d3..91565f4296b6c 100644 --- a/x-pack/packages/ml/route_utils/kibana.jsonc +++ b/x-pack/packages/ml/route_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-route-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/runtime_field_utils/kibana.jsonc b/x-pack/packages/ml/runtime_field_utils/kibana.jsonc index 5422abd1ac94d..0790fca4ed7c4 100644 --- a/x-pack/packages/ml/runtime_field_utils/kibana.jsonc +++ b/x-pack/packages/ml/runtime_field_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-runtime-field-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/string_hash/kibana.jsonc b/x-pack/packages/ml/string_hash/kibana.jsonc index 1573e9a970487..f454a38ac7813 100644 --- a/x-pack/packages/ml/string_hash/kibana.jsonc +++ b/x-pack/packages/ml/string_hash/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-string-hash", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/time_buckets/kibana.jsonc b/x-pack/packages/ml/time_buckets/kibana.jsonc index 850c794948d20..53f61afe112f0 100644 --- a/x-pack/packages/ml/time_buckets/kibana.jsonc +++ b/x-pack/packages/ml/time_buckets/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-time-buckets", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/trained_models_utils/kibana.jsonc b/x-pack/packages/ml/trained_models_utils/kibana.jsonc index 7481396bee40c..9a09f09e77bac 100644 --- a/x-pack/packages/ml/trained_models_utils/kibana.jsonc +++ b/x-pack/packages/ml/trained_models_utils/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-trained-models-utils", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/ml/ui_actions/kibana.jsonc b/x-pack/packages/ml/ui_actions/kibana.jsonc index 999f955bc2e47..b9324eb47457e 100644 --- a/x-pack/packages/ml/ui_actions/kibana.jsonc +++ b/x-pack/packages/ml/ui_actions/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-ui-actions", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/url_state/kibana.jsonc b/x-pack/packages/ml/url_state/kibana.jsonc index 8850913bfa8c2..3579ef3257303 100644 --- a/x-pack/packages/ml/url_state/kibana.jsonc +++ b/x-pack/packages/ml/url_state/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-url-state", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/ml/validators/kibana.jsonc b/x-pack/packages/ml/validators/kibana.jsonc index e747549d8e33c..d1cae5ea7515b 100644 --- a/x-pack/packages/ml/validators/kibana.jsonc +++ b/x-pack/packages/ml/validators/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/ml-validators", - "owner": "@elastic/ml-ui" -} + "owner": [ + "@elastic/ml-ui" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/observability/alert_details/kibana.jsonc b/x-pack/packages/observability/alert_details/kibana.jsonc index f63d6cf11995d..a53cdcd28b208 100644 --- a/x-pack/packages/observability/alert_details/kibana.jsonc +++ b/x-pack/packages/observability/alert_details/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/observability-alert-details", - "owner": "@elastic/obs-ux-management-team" -} + "owner": [ + "@elastic/obs-ux-management-team" + ], + "group": "observability", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/observability/alerting_rule_utils/kibana.jsonc b/x-pack/packages/observability/alerting_rule_utils/kibana.jsonc index b1b3646302d1e..ecaebb0582b2e 100644 --- a/x-pack/packages/observability/alerting_rule_utils/kibana.jsonc +++ b/x-pack/packages/observability/alerting_rule_utils/kibana.jsonc @@ -1,5 +1,8 @@ { "type": "shared-common", "id": "@kbn/observability-alerting-rule-utils", - "owner": "@elastic/obs-ux-management-team" + "owner": "@elastic/obs-ux-management-team", + // TODO refactor and transfer owner / contents to response-ops / alerting + "group": "platform", + "visibility": "shared" } diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/kibana.jsonc b/x-pack/packages/observability/get_padded_alert_time_range_util/kibana.jsonc index 30797d6915c49..394dd91e0f3a1 100644 --- a/x-pack/packages/observability/get_padded_alert_time_range_util/kibana.jsonc +++ b/x-pack/packages/observability/get_padded_alert_time_range_util/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/observability-get-padded-alert-time-range-util", - "owner": "@elastic/obs-ux-management-team" -} + "owner": [ + "@elastic/obs-ux-management-team" + ], + "group": "observability", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/observability/logs_overview/kibana.jsonc b/x-pack/packages/observability/logs_overview/kibana.jsonc index 90b3375086720..34d8ac98a5253 100644 --- a/x-pack/packages/observability/logs_overview/kibana.jsonc +++ b/x-pack/packages/observability/logs_overview/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/observability-logs-overview", - "owner": "@elastic/obs-ux-logs-team" + "owner": [ + "@elastic/obs-ux-logs-team" + ], + "group": "observability", + "visibility": "private" } diff --git a/x-pack/packages/observability/observability_utils/observability_utils_browser/kibana.jsonc b/x-pack/packages/observability/observability_utils/observability_utils_browser/kibana.jsonc index dbee36828d080..3786f797da39f 100644 --- a/x-pack/packages/observability/observability_utils/observability_utils_browser/kibana.jsonc +++ b/x-pack/packages/observability/observability_utils/observability_utils_browser/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/observability-utils-browser", - "owner": "@elastic/observability-ui" + "owner": [ + "@elastic/observability-ui" + ], + "group": "observability", + "visibility": "private" } diff --git a/x-pack/packages/observability/observability_utils/observability_utils_common/kibana.jsonc b/x-pack/packages/observability/observability_utils/observability_utils_common/kibana.jsonc index eb120052e5b0e..35916e1ec4cea 100644 --- a/x-pack/packages/observability/observability_utils/observability_utils_common/kibana.jsonc +++ b/x-pack/packages/observability/observability_utils/observability_utils_common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/observability-utils-common", - "owner": "@elastic/observability-ui" + "owner": [ + "@elastic/observability-ui" + ], + "group": "observability", + "visibility": "private" } diff --git a/x-pack/packages/observability/observability_utils/observability_utils_server/kibana.jsonc b/x-pack/packages/observability/observability_utils/observability_utils_server/kibana.jsonc index 4c2f20ef1491f..7374ebddff224 100644 --- a/x-pack/packages/observability/observability_utils/observability_utils_server/kibana.jsonc +++ b/x-pack/packages/observability/observability_utils/observability_utils_server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/observability-utils-server", - "owner": "@elastic/observability-ui" + "owner": [ + "@elastic/observability-ui" + ], + "group": "observability", + "visibility": "private" } diff --git a/x-pack/packages/observability/synthetics_test_data/kibana.jsonc b/x-pack/packages/observability/synthetics_test_data/kibana.jsonc index 94f80d9b59cad..74e5bd7a76c19 100644 --- a/x-pack/packages/observability/synthetics_test_data/kibana.jsonc +++ b/x-pack/packages/observability/synthetics_test_data/kibana.jsonc @@ -2,4 +2,6 @@ "type": "shared-common", "id": "@kbn/observability-synthetics-test-data", "owner": "@elastic/obs-ux-management-team", + "group": "observability", + "visibility": "private" } diff --git a/x-pack/packages/rollup/kibana.jsonc b/x-pack/packages/rollup/kibana.jsonc index 3961e7c7468e2..160c2b999ce53 100644 --- a/x-pack/packages/rollup/kibana.jsonc +++ b/x-pack/packages/rollup/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/rollup", - "owner": "@elastic/kibana-management" -} + "owner": [ + "@elastic/kibana-management" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/search/shared_ui/kibana.jsonc b/x-pack/packages/search/shared_ui/kibana.jsonc index aedc015c1d6fa..94c698a4cded4 100644 --- a/x-pack/packages/search/shared_ui/kibana.jsonc +++ b/x-pack/packages/search/shared_ui/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/search-shared-ui", - "owner": "@elastic/search-kibana" + "owner": [ + "@elastic/search-kibana" + ], + "group": "search", + "visibility": "private" } \ No newline at end of file diff --git a/x-pack/packages/security-solution/data_table/kibana.jsonc b/x-pack/packages/security-solution/data_table/kibana.jsonc index 9695411a65301..027d2a426bf23 100644 --- a/x-pack/packages/security-solution/data_table/kibana.jsonc +++ b/x-pack/packages/security-solution/data_table/kibana.jsonc @@ -1,7 +1,9 @@ { "type": "shared-common", "id": "@kbn/securitysolution-data-table", - "owner": "@elastic/security-threat-hunting-investigations", + "owner": [ + "@elastic/security-threat-hunting-investigations" + ], "group": "security", "visibility": "private" -} +} \ No newline at end of file diff --git a/x-pack/packages/security-solution/distribution_bar/kibana.jsonc b/x-pack/packages/security-solution/distribution_bar/kibana.jsonc index 5c984aadba9ca..49d0c41ae1037 100644 --- a/x-pack/packages/security-solution/distribution_bar/kibana.jsonc +++ b/x-pack/packages/security-solution/distribution_bar/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/security-solution-distribution-bar", - "owner": "@elastic/kibana-cloud-security-posture" -} + "owner": [ + "@elastic/kibana-cloud-security-posture" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/kibana.jsonc b/x-pack/packages/security-solution/ecs_data_quality_dashboard/kibana.jsonc index 30cc9cf249820..f5686c6d5cf9f 100644 --- a/x-pack/packages/security-solution/ecs_data_quality_dashboard/kibana.jsonc +++ b/x-pack/packages/security-solution/ecs_data_quality_dashboard/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/ecs-data-quality-dashboard", - "owner": "@elastic/security-threat-hunting-explore" -} + "owner": [ + "@elastic/security-threat-hunting-explore" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/security-solution/features/kibana.jsonc b/x-pack/packages/security-solution/features/kibana.jsonc index 0e5a360ea9929..ce6c88cbc2f74 100644 --- a/x-pack/packages/security-solution/features/kibana.jsonc +++ b/x-pack/packages/security-solution/features/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/security-solution-features", - "owner": "@elastic/security-threat-hunting-explore" -} + "owner": [ + "@elastic/security-threat-hunting-explore" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/security-solution/navigation/kibana.jsonc b/x-pack/packages/security-solution/navigation/kibana.jsonc index cec9119374006..9b2d406eb08e0 100644 --- a/x-pack/packages/security-solution/navigation/kibana.jsonc +++ b/x-pack/packages/security-solution/navigation/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/security-solution-navigation", - "owner": "@elastic/security-threat-hunting-explore" + "owner": [ + "@elastic/security-threat-hunting-explore" + ], + "group": "security", + "visibility": "private" } diff --git a/x-pack/packages/security-solution/side_nav/kibana.jsonc b/x-pack/packages/security-solution/side_nav/kibana.jsonc index 88e34019f44bd..0b83d7c4d44b4 100644 --- a/x-pack/packages/security-solution/side_nav/kibana.jsonc +++ b/x-pack/packages/security-solution/side_nav/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/security-solution-side-nav", - "owner": "@elastic/security-threat-hunting-explore" -} + "owner": [ + "@elastic/security-threat-hunting-explore" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/security-solution/upselling/kibana.jsonc b/x-pack/packages/security-solution/upselling/kibana.jsonc index 7cf9a3026f18f..b28572062b89c 100644 --- a/x-pack/packages/security-solution/upselling/kibana.jsonc +++ b/x-pack/packages/security-solution/upselling/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/security-solution-upselling", - "owner": "@elastic/security-threat-hunting-explore" -} + "owner": [ + "@elastic/security-threat-hunting-explore" + ], + "group": "security", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/security/api_key_management/kibana.jsonc b/x-pack/packages/security/api_key_management/kibana.jsonc index 16e9244e49275..9f467a2c53697 100644 --- a/x-pack/packages/security/api_key_management/kibana.jsonc +++ b/x-pack/packages/security/api_key_management/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/security-api-key-management", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/security/authorization_core/kibana.jsonc b/x-pack/packages/security/authorization_core/kibana.jsonc index f2e33db5c8a81..513d8ddc84d8d 100644 --- a/x-pack/packages/security/authorization_core/kibana.jsonc +++ b/x-pack/packages/security/authorization_core/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/security-authorization-core", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/security/authorization_core_common/kibana.jsonc b/x-pack/packages/security/authorization_core_common/kibana.jsonc index 1ddb58d875826..9ff7f5d0cae8e 100644 --- a/x-pack/packages/security/authorization_core_common/kibana.jsonc +++ b/x-pack/packages/security/authorization_core_common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/security-authorization-core-common", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/security/form_components/kibana.jsonc b/x-pack/packages/security/form_components/kibana.jsonc index 44f54ee5fe4ca..b78de9f2f9c37 100644 --- a/x-pack/packages/security/form_components/kibana.jsonc +++ b/x-pack/packages/security/form_components/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/security-form-components", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/security/plugin_types_common/kibana.jsonc b/x-pack/packages/security/plugin_types_common/kibana.jsonc index 714eb0f564cda..37202115cacfa 100644 --- a/x-pack/packages/security/plugin_types_common/kibana.jsonc +++ b/x-pack/packages/security/plugin_types_common/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/security-plugin-types-common", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/security/plugin_types_public/kibana.jsonc b/x-pack/packages/security/plugin_types_public/kibana.jsonc index f4fbe8fe8ea7d..a9e235915ded6 100644 --- a/x-pack/packages/security/plugin_types_public/kibana.jsonc +++ b/x-pack/packages/security/plugin_types_public/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-browser", "id": "@kbn/security-plugin-types-public", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/security/plugin_types_server/kibana.jsonc b/x-pack/packages/security/plugin_types_server/kibana.jsonc index e4f4a074f6e76..40ada7902e5e9 100644 --- a/x-pack/packages/security/plugin_types_server/kibana.jsonc +++ b/x-pack/packages/security/plugin_types_server/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-server", "id": "@kbn/security-plugin-types-server", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "shared" +} \ No newline at end of file diff --git a/x-pack/packages/security/role_management_model/kibana.jsonc b/x-pack/packages/security/role_management_model/kibana.jsonc index 9ba7936494167..95a1116fd7184 100644 --- a/x-pack/packages/security/role_management_model/kibana.jsonc +++ b/x-pack/packages/security/role_management_model/kibana.jsonc @@ -1,5 +1,9 @@ { "type": "shared-common", "id": "@kbn/security-role-management-model", - "owner": "@elastic/kibana-security" -} + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "private" +} \ No newline at end of file diff --git a/x-pack/packages/security/ui_components/kibana.jsonc b/x-pack/packages/security/ui_components/kibana.jsonc index 996f7b78e110a..40aaaf007acde 100644 --- a/x-pack/packages/security/ui_components/kibana.jsonc +++ b/x-pack/packages/security/ui_components/kibana.jsonc @@ -1,5 +1,9 @@ { - "type": "shared-browser", - "id": "@kbn/security-ui-components", - "owner": "@elastic/kibana-security" + "type": "shared-browser", + "id": "@kbn/security-ui-components", + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "private" } diff --git a/x-pack/plugins/actions/server/lib/task_runner_factory.ts b/x-pack/plugins/actions/server/lib/task_runner_factory.ts index d067ddaaae7ad..cf1f9eed87c32 100644 --- a/x-pack/plugins/actions/server/lib/task_runner_factory.ts +++ b/x-pack/plugins/actions/server/lib/task_runner_factory.ts @@ -8,17 +8,6 @@ import { v4 as uuidv4 } from 'uuid'; import { pick } from 'lodash'; import { addSpaceIdToPath } from '@kbn/spaces-plugin/server'; -import { - CoreKibanaRequest, - FakeRawRequest, - Headers, - IBasePath, - ISavedObjectsRepository, - Logger, - SavedObject, - SavedObjectReference, - SavedObjectsErrorHelpers, -} from '@kbn/core/server'; import { createTaskRunError, RunContext, @@ -28,6 +17,15 @@ import { } from '@kbn/task-manager-plugin/server'; import { EncryptedSavedObjectsClient } from '@kbn/encrypted-saved-objects-plugin/server'; import { createRetryableError, getErrorSource } from '@kbn/task-manager-plugin/server/task_running'; +import { type IBasePath, type Headers, type FakeRawRequest } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; +import type { Logger } from '@kbn/logging'; +import type { + ISavedObjectsRepository, + SavedObject, + SavedObjectReference, +} from '@kbn/core-saved-objects-api-server'; +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; import { ActionExecutorContract } from './action_executor'; import { ActionTaskExecutorParams, @@ -243,7 +241,7 @@ function getFakeRequest(apiKey?: string) { // Since we're using API keys and accessing elasticsearch can only be done // via a request, we're faking one with the proper authorization headers. - return CoreKibanaRequest.from(fakeRawRequest); + return kibanaRequestFactory(fakeRawRequest); } async function getActionTaskParams( diff --git a/x-pack/plugins/actions/tsconfig.json b/x-pack/plugins/actions/tsconfig.json index 8a3c56a472064..709826d33e897 100644 --- a/x-pack/plugins/actions/tsconfig.json +++ b/x-pack/plugins/actions/tsconfig.json @@ -47,7 +47,8 @@ "@kbn/core-test-helpers-kbn-server", "@kbn/security-plugin-types-server", "@kbn/core-application-common", - "@kbn/cloud-plugin" + "@kbn/cloud-plugin", + "@kbn/core-http-server-utils" ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/ai_infra/llm_tasks/kibana.jsonc b/x-pack/plugins/ai_infra/llm_tasks/kibana.jsonc index 1ef211d01210e..2a3da90e3e3df 100644 --- a/x-pack/plugins/ai_infra/llm_tasks/kibana.jsonc +++ b/x-pack/plugins/ai_infra/llm_tasks/kibana.jsonc @@ -2,6 +2,9 @@ "type": "plugin", "id": "@kbn/llm-tasks-plugin", "owner": "@elastic/appex-ai-infra", + // all packages under 'ai_infra' will be used across solutions + "group": "platform", + "visibility": "shared", "plugin": { "id": "llmTasks", "server": true, diff --git a/x-pack/plugins/ai_infra/product_doc_base/kibana.jsonc b/x-pack/plugins/ai_infra/product_doc_base/kibana.jsonc index 268b4a70c9921..c157105026b13 100644 --- a/x-pack/plugins/ai_infra/product_doc_base/kibana.jsonc +++ b/x-pack/plugins/ai_infra/product_doc_base/kibana.jsonc @@ -2,6 +2,9 @@ "type": "plugin", "id": "@kbn/product-doc-base-plugin", "owner": "@elastic/appex-ai-infra", + // all packages under 'ai_infra' will be used across solutions + "group": "platform", + "visibility": "shared", "plugin": { "id": "productDocBase", "server": true, diff --git a/x-pack/plugins/alerting/server/task_runner/maintenance_windows/get_maintenance_windows.test.ts b/x-pack/plugins/alerting/server/task_runner/maintenance_windows/get_maintenance_windows.test.ts index a6479fba828f4..9f44194dbb951 100644 --- a/x-pack/plugins/alerting/server/task_runner/maintenance_windows/get_maintenance_windows.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/maintenance_windows/get_maintenance_windows.test.ts @@ -5,7 +5,6 @@ * 2.0. */ -import { CoreKibanaRequest } from '@kbn/core-http-router-server-internal'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { maintenanceWindowCategoryIdTypes } from '../../application/maintenance_window/constants'; import { getMockMaintenanceWindow } from '../../data/maintenance_window/test_helpers'; @@ -21,6 +20,7 @@ import { import { getFakeKibanaRequest } from '../rule_loader'; import { TaskRunnerContext } from '../types'; import { FilterStateStore } from '@kbn/es-query'; +import { KibanaRequest } from '@kbn/core-http-server'; const logger = loggingSystemMock.create().get(); const mockBasePathService = { set: jest.fn() }; @@ -32,7 +32,7 @@ const ruleTypeId = mockedRule.alertTypeId; describe('getMaintenanceWindows', () => { let context: TaskRunnerContext; - let fakeRequest: CoreKibanaRequest; + let fakeRequest: KibanaRequest; let contextMock: ReturnType; beforeEach(() => { diff --git a/x-pack/plugins/alerting/server/task_runner/rule_loader.test.ts b/x-pack/plugins/alerting/server/task_runner/rule_loader.test.ts index 1d4741f84749c..4690ccc653a32 100644 --- a/x-pack/plugins/alerting/server/task_runner/rule_loader.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/rule_loader.test.ts @@ -6,10 +6,11 @@ */ import { encryptedSavedObjectsMock } from '@kbn/encrypted-saved-objects-plugin/server/mocks'; -import { CoreKibanaRequest, SavedObjectsErrorHelpers } from '@kbn/core/server'; +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { isCoreKibanaRequest } from '@kbn/core-http-server-utils'; import { schema } from '@kbn/config-schema'; -import { Logger } from '@kbn/core/server'; -import { loggingSystemMock } from '@kbn/core/server/mocks'; +import type { Logger } from '@kbn/logging'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { getDecryptedRule, @@ -244,59 +245,48 @@ describe('rule_loader', () => { describe('getFakeKibanaRequest()', () => { test('has API key, in default space', async () => { - const kibanaRequestFromMock = jest.spyOn(CoreKibanaRequest, 'from'); const fakeRequest = getFakeKibanaRequest(context, 'default', apiKey); - const bpsSetParams = mockBasePathService.set.mock.calls[0]; expect(bpsSetParams).toEqual([fakeRequest, '/']); - expect(fakeRequest).toEqual(expect.any(CoreKibanaRequest)); - expect(kibanaRequestFromMock.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Object { - "headers": Object { - "authorization": "ApiKey MTIzOmFiYw==", - }, - "path": "/", - }, - ] - `); + expect(isCoreKibanaRequest(fakeRequest)).toEqual(true); + expect(fakeRequest.auth.isAuthenticated).toEqual(false); + expect(fakeRequest.headers.authorization).toEqual('ApiKey MTIzOmFiYw=='); + expect(fakeRequest.isFakeRequest).toEqual(true); + expect(fakeRequest.isInternalApiRequest).toEqual(false); + expect(fakeRequest.isSystemRequest).toEqual(false); + expect(fakeRequest.route.path).toEqual('/'); + expect(fakeRequest.url.toString()).toEqual('https://fake-request/url'); + expect(fakeRequest.uuid).toEqual(expect.any(String)); }); test('has API key, in non-default space', async () => { - const kibanaRequestFromMock = jest.spyOn(CoreKibanaRequest, 'from'); const fakeRequest = getFakeKibanaRequest(context, spaceId, apiKey); - const bpsSetParams = mockBasePathService.set.mock.calls[0]; expect(bpsSetParams).toEqual([fakeRequest, '/s/rule-spaceId']); - expect(fakeRequest).toEqual(expect.any(CoreKibanaRequest)); - expect(kibanaRequestFromMock.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Object { - "headers": Object { - "authorization": "ApiKey MTIzOmFiYw==", - }, - "path": "/", - }, - ] - `); + expect(isCoreKibanaRequest(fakeRequest)).toEqual(true); + expect(fakeRequest.auth.isAuthenticated).toEqual(false); + expect(fakeRequest.headers.authorization).toEqual('ApiKey MTIzOmFiYw=='); + expect(fakeRequest.isFakeRequest).toEqual(true); + expect(fakeRequest.isInternalApiRequest).toEqual(false); + expect(fakeRequest.isSystemRequest).toEqual(false); + expect(fakeRequest.route.path).toEqual('/'); + expect(fakeRequest.url.toString()).toEqual('https://fake-request/url'); + expect(fakeRequest.uuid).toEqual(expect.any(String)); }); test('does not have API key, in default space', async () => { - const kibanaRequestFromMock = jest.spyOn(CoreKibanaRequest, 'from'); const fakeRequest = getFakeKibanaRequest(context, 'default', null); - const bpsSetParams = mockBasePathService.set.mock.calls[0]; expect(bpsSetParams).toEqual([fakeRequest, '/']); - expect(fakeRequest).toEqual(expect.any(CoreKibanaRequest)); - expect(kibanaRequestFromMock.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Object { - "headers": Object {}, - "path": "/", - }, - ] - `); + expect(fakeRequest.auth.isAuthenticated).toEqual(false); + expect(fakeRequest.headers).toEqual({}); + expect(fakeRequest.isFakeRequest).toEqual(true); + expect(fakeRequest.isInternalApiRequest).toEqual(false); + expect(fakeRequest.isSystemRequest).toEqual(false); + expect(fakeRequest.route.path).toEqual('/'); + expect(fakeRequest.url.toString()).toEqual('https://fake-request/url'); + expect(fakeRequest.uuid).toEqual(expect.any(String)); }); }); }); diff --git a/x-pack/plugins/alerting/server/task_runner/rule_loader.ts b/x-pack/plugins/alerting/server/task_runner/rule_loader.ts index 3dd0dc8c53a55..b917ba334b93b 100644 --- a/x-pack/plugins/alerting/server/task_runner/rule_loader.ts +++ b/x-pack/plugins/alerting/server/task_runner/rule_loader.ts @@ -6,16 +6,12 @@ */ import { addSpaceIdToPath } from '@kbn/spaces-plugin/server'; -import { - CoreKibanaRequest, - FakeRawRequest, - Headers, - Logger, - SavedObject, - SavedObjectReference, - SavedObjectsErrorHelpers, -} from '@kbn/core/server'; import { createTaskRunError, TaskErrorSource } from '@kbn/task-manager-plugin/server'; +import { type FakeRawRequest, type Headers } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; +import type { SavedObject, SavedObjectReference } from '@kbn/core-saved-objects-api-server'; +import type { Logger } from '@kbn/logging'; +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; import { RunRuleParams, TaskRunnerContext } from './types'; import { ErrorWithReason, validateRuleTypeParams } from '../lib'; import { @@ -174,7 +170,7 @@ export function getFakeKibanaRequest( path: '/', }; - const fakeRequest = CoreKibanaRequest.from(fakeRawRequest); + const fakeRequest = kibanaRequestFactory(fakeRawRequest); context.basePathService.set(fakeRequest, path); return fakeRequest; diff --git a/x-pack/plugins/alerting/tsconfig.json b/x-pack/plugins/alerting/tsconfig.json index eefc1999b26d5..d261a00db74ca 100644 --- a/x-pack/plugins/alerting/tsconfig.json +++ b/x-pack/plugins/alerting/tsconfig.json @@ -65,7 +65,6 @@ "@kbn/core-saved-objects-api-server-mocks", "@kbn/core-ui-settings-server-mocks", "@kbn/core-test-helpers-kbn-server", - "@kbn/core-http-router-server-internal", "@kbn/core-execution-context-server-mocks", "@kbn/react-kibana-context-render", "@kbn/search-types", @@ -74,7 +73,8 @@ "@kbn/core-http-server", "@kbn/zod", "@kbn/core-saved-objects-base-server-internal", - "@kbn/response-ops-rule-params" + "@kbn/response-ops-rule-params", + "@kbn/core-http-server-utils" ], "exclude": [ "target/**/*" diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_autoplay_helper.test.tsx b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_autoplay_helper.test.tsx index d293d8deade41..23823c54a26dd 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_autoplay_helper.test.tsx +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_autoplay_helper.test.tsx @@ -6,7 +6,7 @@ */ import React, { FC, PropsWithChildren } from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useAutoplayHelper } from './use_autoplay_helper'; import { WorkpadRoutingContext, WorkpadRoutingContextType } from '../workpad_routing_context'; diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_page_sync.test.ts b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_page_sync.test.ts index 6d4c99cf618fb..ba3fd671c5e2e 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_page_sync.test.ts +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_page_sync.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { usePageSync } from './use_page_sync'; const mockDispatch = jest.fn(); diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_refresh_helper.test.tsx b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_refresh_helper.test.tsx index d7dbbcf43c121..bc23831c2b65e 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_refresh_helper.test.tsx +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_refresh_helper.test.tsx @@ -6,7 +6,7 @@ */ import React, { PropsWithChildren } from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useRefreshHelper } from './use_refresh_helper'; import { WorkpadRoutingContext, WorkpadRoutingContextType } from '../workpad_routing_context'; @@ -31,7 +31,7 @@ const getMockedContext = (context: any) => const getContextWrapper = (context: WorkpadRoutingContextType) => - ({ children }: PropsWithChildren) => + ({ children }: PropsWithChildren) => {children}; describe('useRefreshHelper', () => { @@ -77,7 +77,7 @@ describe('useRefreshHelper', () => { expect(mockDispatch).not.toHaveBeenCalledWith(refreshAction); state.transient.inFlight = true; - // @ts-expect-error @types/react@18 - Type '() => void' has no properties in common with type '{ children?: ReactNode; }'. + rerender(useRefreshHelper); jest.runAllTimers(); diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_restore_history.test.tsx b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_restore_history.test.tsx index 0504368be05ac..5db80771dea24 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_restore_history.test.tsx +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_restore_history.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useRestoreHistory } from './use_restore_history'; import { encode } from '../route_state'; diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad.test.tsx b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad.test.tsx index 1ba0dacd8c143..c8c106bb2bca8 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad.test.tsx +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { waitFor, renderHook } from '@testing-library/react'; import { useWorkpad } from './use_workpad'; import { spacesService } from '../../../services/kibana_services'; @@ -62,7 +62,7 @@ describe('useWorkpad', () => { workpad: workpadResponse, }); - const { waitFor, unmount } = renderHook(() => useWorkpad(workpadId, true, getRedirectPath)); + const { unmount } = renderHook(() => useWorkpad(workpadId, true, getRedirectPath)); try { await waitFor(() => expect(mockDispatch).toHaveBeenCalledTimes(3)); @@ -88,7 +88,7 @@ describe('useWorkpad', () => { aliasId, }); - const { waitFor, unmount } = renderHook(() => useWorkpad(workpadId, true, getRedirectPath)); + const { unmount } = renderHook(() => useWorkpad(workpadId, true, getRedirectPath)); try { await waitFor(() => expect(mockDispatch).toHaveBeenCalledTimes(3)); @@ -118,7 +118,7 @@ describe('useWorkpad', () => { aliasPurpose: 'savedObjectConversion', }); - const { waitFor, unmount } = renderHook(() => useWorkpad(workpadId, true, getRedirectPath)); + const { unmount } = renderHook(() => useWorkpad(workpadId, true, getRedirectPath)); try { await waitFor(() => expect(mockRedirectLegacyUrl).toHaveBeenCalled()); expect(mockRedirectLegacyUrl).toBeCalledWith({ diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_history.test.ts b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_history.test.ts index 93c750a3e13f6..bb0430660890b 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_history.test.ts +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_history.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useWorkpadHistory } from './use_workpad_history'; import { encode } from '../route_state'; diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_persist.test.tsx b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_persist.test.tsx index 3193ad3dd79e5..f53a5a080f3dc 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_persist.test.tsx +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_persist.test.tsx @@ -4,11 +4,13 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; + +import crypto from 'crypto'; +import { renderHook } from '@testing-library/react'; import { useWorkpadPersist } from './use_workpad_persist'; const mockGetState = jest.fn(); -const mockUpdateWorkpad = jest.fn(); +const mockUpdateWorkpad = jest.fn(() => Promise.resolve(null)); const mockUpdateAssets = jest.fn(); const mockUpdate = jest.fn(); @@ -36,53 +38,41 @@ jest.mock('../../../services', () => ({ })); describe('useWorkpadPersist', () => { + const initialState = { + persistent: { + workpad: { id: crypto.randomUUID(), some: 'workpad' }, + }, + assets: { + asset1: 'some asset', + asset2: 'other asset', + }, + }; + beforeEach(() => { - jest.resetAllMocks(); + // create a default state for each test + mockGetState.mockReturnValue(initialState); }); - afterAll(() => { + afterEach(() => { jest.clearAllMocks(); }); test('initial render does not persist state', () => { - const state = { - persistent: { - workpad: { some: 'workpad' }, - }, - assets: { - asset1: 'some asset', - asset2: 'other asset', - }, - }; - - mockGetState.mockReturnValue(state); - renderHook(useWorkpadPersist); expect(mockUpdateWorkpad).not.toBeCalled(); }); test('changes to workpad cause a workpad update', () => { - const state = { - persistent: { - workpad: { some: 'workpad' }, - }, - assets: { - asset1: 'some asset', - asset2: 'other asset', - }, - }; - - mockGetState.mockReturnValue(state); - const { rerender } = renderHook(useWorkpadPersist); const newState = { - ...state, + ...initialState, persistent: { - workpad: { new: 'workpad' }, + workpad: { id: crypto.randomUUID(), new: 'workpad' }, }, }; + mockGetState.mockReturnValue(newState); rerender(); @@ -91,13 +81,6 @@ describe('useWorkpadPersist', () => { }); test('non changes causes no updated', () => { - const state = { - persistent: { - workpad: { some: 'workpad' }, - }, - }; - mockGetState.mockReturnValue(state); - const { rerender } = renderHook(useWorkpadPersist); rerender(); @@ -106,26 +89,17 @@ describe('useWorkpadPersist', () => { }); test('non write permissions causes no updates', () => { - const state = { - persistent: { - workpad: { some: 'workpad' }, - }, - transient: { - canUserWrite: false, - }, - }; - mockGetState.mockReturnValue(state); - const { rerender } = renderHook(useWorkpadPersist); const newState = { persistent: { - workpad: { new: 'workpad value' }, + workpad: { id: crypto.randomUUID(), new: 'workpad value' }, }, transient: { canUserWrite: false, }, }; + mockGetState.mockReturnValue(newState); rerender(); diff --git a/x-pack/plugins/cases/server/client/factory.test.ts b/x-pack/plugins/cases/server/client/factory.test.ts index f73e93afd680c..e9f60b45ddba1 100644 --- a/x-pack/plugins/cases/server/client/factory.test.ts +++ b/x-pack/plugins/cases/server/client/factory.test.ts @@ -5,12 +5,14 @@ * 2.0. */ -import { coreMock, httpServerMock, loggingSystemMock } from '@kbn/core/server/mocks'; +import { coreMock } from '@kbn/core/server/mocks'; +import { httpServerMock } from '@kbn/core-http-server-mocks'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { CasesClientFactory } from './factory'; import { createCasesClientFactoryMockArgs } from './mocks'; import { createCasesClient } from './client'; import type { FakeRawRequest } from '@kbn/core-http-server'; -import { CoreKibanaRequest } from '@kbn/core-http-router-server-internal'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; jest.mock('./client'); @@ -23,7 +25,7 @@ describe('CasesClientFactory', () => { path: '/', }; - const fakeRequest = CoreKibanaRequest.from(rawRequest); + const fakeRequest = kibanaRequestFactory(rawRequest); const createCasesClientMocked = createCasesClient as jest.Mock; const logger = loggingSystemMock.createLogger(); const args = createCasesClientFactoryMockArgs(); diff --git a/x-pack/plugins/cases/server/connectors/cases/cases_connector.test.ts b/x-pack/plugins/cases/server/connectors/cases/cases_connector.test.ts index c0a2a8567fd79..8eebaba88d769 100644 --- a/x-pack/plugins/cases/server/connectors/cases/cases_connector.test.ts +++ b/x-pack/plugins/cases/server/connectors/cases/cases_connector.test.ts @@ -6,6 +6,7 @@ */ import Boom from '@hapi/boom'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; import { actionsMock } from '@kbn/actions-plugin/server/mocks'; import { actionsConfigMock } from '@kbn/actions-plugin/server/actions_config.mock'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; @@ -17,7 +18,6 @@ import { CasesService } from './cases_service'; import { CasesConnectorError } from './cases_connector_error'; import { CaseError } from '../../common/error'; import { fullJitterBackoffFactory } from './full_jitter_backoff'; -import { CoreKibanaRequest } from '@kbn/core/server'; jest.mock('./cases_connector_executor'); jest.mock('./full_jitter_backoff'); @@ -28,7 +28,7 @@ const fullJitterBackoffFactoryMock = fullJitterBackoffFactory as jest.Mock; describe('CasesConnector', () => { const services = actionsMock.createServices(); const logger = loggingSystemMock.createLogger(); - const kibanaRequest = CoreKibanaRequest.from({ path: '/', headers: {} }); + const kibanaRequest = kibanaRequestFactory({ path: '/', headers: {} }); const groupingBy = ['host.name', 'dest.ip']; const rule = { diff --git a/x-pack/plugins/cases/tsconfig.json b/x-pack/plugins/cases/tsconfig.json index 1d126d78f9543..48ca36a02b2be 100644 --- a/x-pack/plugins/cases/tsconfig.json +++ b/x-pack/plugins/cases/tsconfig.json @@ -73,10 +73,11 @@ "@kbn/datemath", "@kbn/core-logging-server-mocks", "@kbn/core-logging-browser-mocks", - "@kbn/core-http-router-server-internal", "@kbn/presentation-publishing", "@kbn/alerts-ui-shared", "@kbn/cloud-plugin", + "@kbn/core-http-server-mocks", + "@kbn/core-http-server-utils", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/cloud_security_posture/public/common/hooks/use_benchmark_dynamic_values.test.ts b/x-pack/plugins/cloud_security_posture/public/common/hooks/use_benchmark_dynamic_values.test.ts index af488c4bb81b3..7dd8072ca2785 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/hooks/use_benchmark_dynamic_values.test.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/hooks/use_benchmark_dynamic_values.test.ts @@ -6,7 +6,7 @@ */ import { useBenchmarkDynamicValues } from './use_benchmark_dynamic_values'; -import { renderHook } from '@testing-library/react-hooks/dom'; +import { renderHook } from '@testing-library/react'; import type { BenchmarksCisId } from '@kbn/cloud-security-posture-common'; import { useCspIntegrationLink } from '../navigation/use_csp_integration_link'; diff --git a/x-pack/plugins/cloud_security_posture/public/common/hooks/use_url_query.test.ts b/x-pack/plugins/cloud_security_posture/public/common/hooks/use_url_query.test.ts index bc87cf2d9bb16..e8bbf1b044a79 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/hooks/use_url_query.test.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/hooks/use_url_query.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks/dom'; +import { renderHook, act } from '@testing-library/react'; import { useUrlQuery } from './use_url_query'; import { useLocation, useHistory } from 'react-router-dom'; import { encodeQuery } from '@kbn/cloud-security-posture'; diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.test.ts b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.test.ts index 8bf3984f62faa..58ecb20aed049 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.test.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { SetupTechnology } from '@kbn/fleet-plugin/public'; import { AgentPolicy, NewPackagePolicyInput } from '@kbn/fleet-plugin/common'; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/rules/use_change_csp_rule_state.test.tsx b/x-pack/plugins/cloud_security_posture/public/pages/rules/use_change_csp_rule_state.test.tsx index 6c28df502e5fc..5b2bdbf98968c 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/rules/use_change_csp_rule_state.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/rules/use_change_csp_rule_state.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ import React from 'react'; -import { act, renderHook } from '@testing-library/react-hooks'; +import { act, waitFor, renderHook } from '@testing-library/react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import type { RuleStateAttributes } from '@kbn/cloud-security-posture-common/schema/rules/v4'; @@ -87,7 +87,7 @@ describe('use_change_csp_rule_state', () => { const appMockRender = testWrapper(); const httpPostSpy = jest.spyOn(useKibana().services.http!, 'post'); - const { result, waitForNextUpdate } = await renderHook(() => useChangeCspRuleState(), { + const { result } = await renderHook(() => useChangeCspRuleState(), { wrapper: appMockRender.wrapper, }); @@ -107,22 +107,22 @@ describe('use_change_csp_rule_state', () => { result.current.mutate(mockRuleStateUpdateRequest); }); - await waitForNextUpdate(); - - expect(httpPostSpy).toHaveBeenCalledWith(CSP_BENCHMARK_RULES_BULK_ACTION_ROUTE_PATH, { - version: '1', - body: JSON.stringify({ - action: 'mute', - rules: [ - { - benchmark_id: 'benchmark_id', - benchmark_version: 'benchmark_version', - rule_number: '1', - rule_id: 'rule_1', - }, - ], - }), - }); + await waitFor(() => + expect(httpPostSpy).toHaveBeenCalledWith(CSP_BENCHMARK_RULES_BULK_ACTION_ROUTE_PATH, { + version: '1', + body: JSON.stringify({ + action: 'mute', + rules: [ + { + benchmark_id: 'benchmark_id', + benchmark_version: 'benchmark_version', + rule_number: '1', + rule_id: 'rule_1', + }, + ], + }), + }) + ); }); it('should cancel queries and update query data onMutate', async () => { @@ -131,7 +131,7 @@ describe('use_change_csp_rule_state', () => { const queryClientGetSpy = jest.spyOn(appMockRender.queryClient, 'getQueryData'); const mockSetQueryDataSpy = jest.spyOn(appMockRender.queryClient, 'setQueryData'); - const { result, waitForNextUpdate } = await renderHook(() => useChangeCspRuleState(), { + const { result } = await renderHook(() => useChangeCspRuleState(), { wrapper: appMockRender.wrapper, }); @@ -151,24 +151,24 @@ describe('use_change_csp_rule_state', () => { result.current.mutate(mockRuleStateUpdateRequest); }); - await waitForNextUpdate(); - - const expectedMutatedRules = { - ...initialRules, - rule_1: { ...initialRules.rule_1, muted: true }, - }; + await waitFor(() => { + const expectedMutatedRules = { + ...initialRules, + rule_1: { ...initialRules.rule_1, muted: true }, + }; - expect(queryClientSpy).toHaveBeenCalled(); - expect(queryClientGetSpy).toHaveBeenCalled(); - expect(mockSetQueryDataSpy).toHaveBeenCalled(); - expect(mockSetQueryDataSpy).toHaveReturnedWith(expectedMutatedRules); + expect(queryClientSpy).toHaveBeenCalled(); + expect(queryClientGetSpy).toHaveBeenCalled(); + expect(mockSetQueryDataSpy).toHaveBeenCalled(); + expect(mockSetQueryDataSpy).toHaveReturnedWith(expectedMutatedRules); + }); }); it('should invalidate queries onSettled', async () => { const appMockRender = testWrapper(); const mockInvalidateQueriesSpy = jest.spyOn(appMockRender.queryClient, 'invalidateQueries'); - const { result, waitForNextUpdate } = await renderHook(() => useChangeCspRuleState(), { + const { result } = await renderHook(() => useChangeCspRuleState(), { wrapper: appMockRender.wrapper, }); @@ -188,19 +188,19 @@ describe('use_change_csp_rule_state', () => { result.current.mutate(mockRuleStateUpdateRequest); }); - await waitForNextUpdate(); - - expect(mockInvalidateQueriesSpy).toHaveBeenCalledWith(BENCHMARK_INTEGRATION_QUERY_KEY_V2); - expect(mockInvalidateQueriesSpy).toHaveBeenCalledWith(CSPM_STATS_QUERY_KEY); - expect(mockInvalidateQueriesSpy).toHaveBeenCalledWith(KSPM_STATS_QUERY_KEY); - expect(mockInvalidateQueriesSpy).toHaveBeenCalledWith(CSP_RULES_STATES_QUERY_KEY); + await waitFor(() => { + expect(mockInvalidateQueriesSpy).toHaveBeenCalledWith(BENCHMARK_INTEGRATION_QUERY_KEY_V2); + expect(mockInvalidateQueriesSpy).toHaveBeenCalledWith(CSPM_STATS_QUERY_KEY); + expect(mockInvalidateQueriesSpy).toHaveBeenCalledWith(KSPM_STATS_QUERY_KEY); + expect(mockInvalidateQueriesSpy).toHaveBeenCalledWith(CSP_RULES_STATES_QUERY_KEY); + }); }); it('should restore previous query data onError', async () => { const appMockRender = testWrapper(); const mockSetQueryDataSpy = jest.spyOn(appMockRender.queryClient, 'setQueryData'); - const { result, waitForNextUpdate } = await renderHook(() => useChangeCspRuleState(), { + const { result } = await renderHook(() => useChangeCspRuleState(), { wrapper: appMockRender.wrapper, }); @@ -221,13 +221,13 @@ describe('use_change_csp_rule_state', () => { result.current.mutate(mockRuleStateUpdateRequest); }); - await waitForNextUpdate(); - - expect(mockSetQueryDataSpy).toHaveBeenCalled(); - expect(mockSetQueryDataSpy).toHaveReturnedWith(initialRules); + await waitFor(() => { + expect(mockSetQueryDataSpy).toHaveBeenCalled(); + expect(mockSetQueryDataSpy).toHaveReturnedWith(initialRules); + }); }); - it('creates the new set of cache rules in a muted state when calling createRulesWithUpdatedState', async () => { + it('creates the new set of cache rules in a muted state when calling createRulesWithUpdatedState', () => { const request: RuleStateUpdateRequest = { newState: 'mute', ruleIds: [ @@ -267,7 +267,7 @@ describe('use_change_csp_rule_state', () => { expect(newRulesState).toEqual({ ...initialRules, ...updateRules }); }); - it('creates the new cache with rules in a unmute state', async () => { + it('creates the new cache with rules in a unmute state', () => { const initialMutedRules: Record = { rule_1: { benchmark_id: 'benchmark_id', diff --git a/x-pack/plugins/fleet/public/applications/fleet/hooks/use_apm_service_href.test.ts b/x-pack/plugins/fleet/public/applications/fleet/hooks/use_apm_service_href.test.ts index 4a2eaddbc45d9..da4d0e2c2594d 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/hooks/use_apm_service_href.test.ts +++ b/x-pack/plugins/fleet/public/applications/fleet/hooks/use_apm_service_href.test.ts @@ -4,7 +4,8 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; + +import { waitFor, renderHook } from '@testing-library/react'; import type { DataStream } from '../types'; import * as useLocatorModule from '../../../hooks/use_locator'; @@ -29,12 +30,12 @@ describe('useApmServiceHref hook', () => { package: 'elastic_agent', } as DataStream; - const { result, waitForNextUpdate } = renderHook(() => useAPMServiceDetailHref(datastream)); - - await waitForNextUpdate(); + const { result } = renderHook(() => useAPMServiceDetailHref(datastream)); - expect(result.current).toMatchObject({ isSuccessful: true, href: undefined }); - expect(apmLocatorMock).not.toBeCalled(); + await waitFor(() => { + expect(result.current).toMatchObject({ isSuccessful: true, href: undefined }); + expect(apmLocatorMock).not.toBeCalled(); + }); }); const testCases = [ @@ -83,12 +84,12 @@ describe('useApmServiceHref hook', () => { it.each(testCases)( 'it passes the correct params to apm locator for %s', async (datastream, locatorParams) => { - const { result, waitForNextUpdate } = renderHook(() => useAPMServiceDetailHref(datastream)); - - await waitForNextUpdate(); + const { result } = renderHook(() => useAPMServiceDetailHref(datastream)); - expect(result.current).toMatchObject({ isSuccessful: true, href: '' }); - expect(apmLocatorMock).toBeCalledWith(expect.objectContaining(locatorParams)); + await waitFor(() => { + expect(result.current).toMatchObject({ isSuccessful: true, href: '' }); + expect(apmLocatorMock).toBeCalledWith(expect.objectContaining(locatorParams)); + }); } ); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx index 85a241fe828c9..599603d9d5f6a 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx @@ -5,6 +5,8 @@ * 2.0. */ +import { waitFor } from '@testing-library/react'; + import { createFleetTestRendererMock } from '../../../../../../mock'; import type { MockedFleetStartServices } from '../../../../../../mock'; import { useLicense } from '../../../../../../hooks/use_license'; @@ -189,12 +191,10 @@ describe('useOutputOptions', () => { hasAtLeast: () => true, } as unknown as LicenseService); mockApiCallsWithOutputs(testRenderer.startServices.http); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => - useOutputOptions({} as AgentPolicy) - ); + const { result } = testRenderer.renderHook(() => useOutputOptions({} as AgentPolicy)); expect(result.current.isLoading).toBeTruthy(); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.dataOutputOptions).toMatchInlineSnapshot(` Array [ Object { @@ -317,12 +317,10 @@ describe('useOutputOptions', () => { hasAtLeast: () => false, } as unknown as LicenseService); mockApiCallsWithOutputs(testRenderer.startServices.http); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => - useOutputOptions({} as AgentPolicy) - ); + const { result } = testRenderer.renderHook(() => useOutputOptions({} as AgentPolicy)); expect(result.current.isLoading).toBeTruthy(); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.dataOutputOptions).toMatchInlineSnapshot(` Array [ Object { @@ -445,12 +443,10 @@ describe('useOutputOptions', () => { hasAtLeast: () => true, } as unknown as LicenseService); mockApiCallsWithLogstashOutputs(testRenderer.startServices.http); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => - useOutputOptions({} as AgentPolicy) - ); + const { result } = testRenderer.renderHook(() => useOutputOptions({} as AgentPolicy)); expect(result.current.isLoading).toBeTruthy(); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.dataOutputOptions).toMatchInlineSnapshot(` Array [ Object { @@ -497,7 +493,7 @@ describe('useOutputOptions', () => { hasAtLeast: () => true, } as unknown as LicenseService); mockApiCallsWithLogstashOutputs(testRenderer.startServices.http); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => + const { result } = testRenderer.renderHook(() => useOutputOptions({ package_policies: [ { @@ -510,7 +506,7 @@ describe('useOutputOptions', () => { ); expect(result.current.isLoading).toBeTruthy(); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.dataOutputOptions).toMatchInlineSnapshot(` Array [ Object { @@ -601,12 +597,10 @@ describe('useOutputOptions', () => { hasAtLeast: () => true, } as unknown as LicenseService); mockApiCallsWithRemoteESOutputs(testRenderer.startServices.http); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => - useOutputOptions({} as AgentPolicy) - ); + const { result } = testRenderer.renderHook(() => useOutputOptions({} as AgentPolicy)); expect(result.current.isLoading).toBeTruthy(); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.dataOutputOptions.length).toEqual(2); expect(result.current.dataOutputOptions[1].value).toEqual('remote1'); expect(result.current.monitoringOutputOptions.length).toEqual(2); @@ -619,12 +613,10 @@ describe('useOutputOptions', () => { hasAtLeast: () => true, } as unknown as LicenseService); mockApiCallsWithInternalOutputs(testRenderer.startServices.http); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => - useOutputOptions({} as AgentPolicy) - ); + const { result } = testRenderer.renderHook(() => useOutputOptions({} as AgentPolicy)); expect(result.current.isLoading).toBeTruthy(); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.dataOutputOptions).toMatchInlineSnapshot(` Array [ Object { @@ -670,12 +662,10 @@ describe('useFleetServerHostsOptions', () => { it('should not enable internal fleet server hosts', async () => { const testRenderer = createFleetTestRendererMock(); mockApiCallsWithInternalFleetServerHost(testRenderer.startServices.http); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => - useFleetServerHostsOptions({} as AgentPolicy) - ); + const { result } = testRenderer.renderHook(() => useFleetServerHostsOptions({} as AgentPolicy)); expect(result.current.isLoading).toBeTruthy(); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.fleetServerHostsOptions).toMatchInlineSnapshot(` Array [ Object { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/form.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/form.test.tsx index 9283a8fa42c39..4ed0fd697850b 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/form.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/form.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import { act } from '@testing-library/react-hooks'; -import type { RenderHookResult } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { act, waitFor } from '@testing-library/react'; import type { TestRenderer } from '../../../../../../../mock'; import { createFleetTestRendererMock } from '../../../../../../../mock'; @@ -71,11 +71,11 @@ describe('useOnSubmit', () => { let testRenderer: TestRenderer; let renderResult: RenderHookResult< - Parameters, - ReturnType + ReturnType, + Parameters >; - const render = ({ isUpdate } = { isUpdate: false }) => - (renderResult = testRenderer.renderHook(() => + const render = async ({ isUpdate } = { isUpdate: false }) => { + renderResult = testRenderer.renderHook(() => useOnSubmit({ agentCount: 0, packageInfo, @@ -85,7 +85,12 @@ describe('useOnSubmit', () => { queryParamsPolicyId: undefined, hasFleetAddAgentsPrivileges: true, }) - )); + ); + + await waitFor(() => new Promise((resolve) => resolve(null))); + + return renderResult; + }; beforeEach(() => { testRenderer = createFleetTestRendererMock(); @@ -95,10 +100,8 @@ describe('useOnSubmit', () => { }); describe('default API response', () => { - beforeEach(() => { - act(() => { - render(); - }); + beforeEach(async () => { + await render(); }); it('should set new values when package policy changes', () => { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx index db223fee26bf2..e3b1959475649 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx @@ -284,17 +284,15 @@ describe('When on the package policy create page', () => { let cancelButton: HTMLAnchorElement; beforeEach(async () => { - await act(async () => { - render(); + render(); - cancelLink = renderResult.getByTestId( - 'createPackagePolicy_cancelBackLink' - ) as HTMLAnchorElement; + cancelLink = renderResult.getByTestId( + 'createPackagePolicy_cancelBackLink' + ) as HTMLAnchorElement; - cancelButton = (await renderResult.findByTestId( - 'createPackagePolicyCancelButton' - )) as HTMLAnchorElement; - }); + cancelButton = (await renderResult.findByTestId( + 'createPackagePolicyCancelButton' + )) as HTMLAnchorElement; }); test('should use custom "cancel" URL', () => { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_history_block.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_history_block.test.tsx index 491c5f6276941..cac13357ffa7e 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_history_block.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_history_block.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { act } from '@testing-library/react-hooks'; +import { act, waitFor } from '@testing-library/react'; import { createFleetTestRendererMock } from '../../../../../../mock'; @@ -36,7 +36,7 @@ describe('useHistoryBlock', () => { act(() => renderer.mountHistory.push('/test')); // needed because we have an async useEffect - await act(() => new Promise((resolve) => resolve())); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(renderer.startServices.overlays.openConfirm).toBeCalled(); expect(renderer.startServices.application.navigateToUrl).toBeCalledWith( @@ -53,7 +53,7 @@ describe('useHistoryBlock', () => { act(() => renderer.mountHistory.push('/test')); // needed because we have an async useEffect - await act(() => new Promise((resolve) => resolve())); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(renderer.startServices.overlays.openConfirm).toBeCalled(); expect(renderer.startServices.application.navigateToUrl).not.toBeCalled(); @@ -81,7 +81,7 @@ describe('useHistoryBlock', () => { act(() => renderer.mountHistory.push('/test?param=test')); // needed because we have an async useEffect - await act(() => new Promise((resolve) => resolve())); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(renderer.startServices.overlays.openConfirm).toBeCalled(); expect(renderer.startServices.application.navigateToUrl).toBeCalledWith( @@ -98,7 +98,7 @@ describe('useHistoryBlock', () => { act(() => renderer.mountHistory.push('/test?param=test')); // needed because we have an async useEffect - await act(() => new Promise((resolve) => resolve())); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(renderer.startServices.overlays.openConfirm).toBeCalled(); expect(renderer.startServices.application.navigateToUrl).not.toBeCalled(); @@ -127,7 +127,7 @@ describe('useHistoryBlock', () => { act(() => renderer.mountHistory.push('/test#/hash')); // needed because we have an async useEffect - await act(() => new Promise((resolve) => resolve())); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(renderer.startServices.overlays.openConfirm).toBeCalled(); expect(renderer.startServices.application.navigateToUrl).toBeCalledWith( @@ -144,7 +144,7 @@ describe('useHistoryBlock', () => { act(() => renderer.mountHistory.push('/test#/hash')); // needed because we have an async useEffect - await act(() => new Promise((resolve) => resolve())); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(renderer.startServices.overlays.openConfirm).toBeCalled(); expect(renderer.startServices.application.navigateToUrl).not.toBeCalled(); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_package_policy.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_package_policy.test.tsx index 67b8f35a22eb4..2df9363a3daa0 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_package_policy.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_package_policy.test.tsx @@ -12,6 +12,7 @@ * 2.0. */ +import { waitFor } from '@testing-library/react'; import { omit } from 'lodash'; import { sendGetPackageInfoByKey, sendUpgradePackagePolicyDryRun } from '../../../../../../hooks'; @@ -274,22 +275,22 @@ jest.mock('../../../../../../hooks/use_request', () => ({ describe('usePackagePolicy', () => { it('should load the package policy if this is a not an upgrade', async () => { const renderer = createFleetTestRendererMock(); - const { result, waitForNextUpdate } = renderer.renderHook(() => + const { result } = renderer.renderHook(() => usePackagePolicyWithRelatedData('package-policy-1', {}) ); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.packagePolicy).toEqual(omit(mockPackagePolicy, 'id')); }); it('should load the package policy if this is an upgrade', async () => { const renderer = createFleetTestRendererMock(); - const { result, waitForNextUpdate } = renderer.renderHook(() => + const { result } = renderer.renderHook(() => usePackagePolicyWithRelatedData('package-policy-1', { forceUpgrade: true, }) ); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.packagePolicy).toMatchInlineSnapshot(` Object { "description": "Nginx description", @@ -514,12 +515,12 @@ describe('usePackagePolicy', () => { isLoading: false, } as any); const renderer = createFleetTestRendererMock(); - const { result, waitForNextUpdate } = renderer.renderHook(() => + const { result } = renderer.renderHook(() => usePackagePolicyWithRelatedData('package-policy-2', { forceUpgrade: true, }) ); - await waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result.current.packagePolicy).toMatchInlineSnapshot(` Object { "description": "Nginx description", diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/export_csv.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/export_csv.test.tsx index b2fdf7a1023f6..48bed25131b86 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/export_csv.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/export_csv.test.tsx @@ -5,8 +5,7 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { act } from '@testing-library/react-hooks'; +import { act, type RenderHookResult } from '@testing-library/react'; import { createFleetTestRendererMock } from '../../../../../../mock'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_action_status.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_action_status.test.tsx index 1b4f3e6faff7c..76e8aeb78c3d2 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_action_status.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_action_status.test.tsx @@ -5,7 +5,9 @@ * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { act, waitFor, renderHook } from '@testing-library/react'; + +import type { ActionStatus } from '../../../../../../../common/types'; import { sendGetActionStatus, sendPostCancelAction, useStartServices } from '../../../../hooks'; @@ -41,7 +43,7 @@ describe('useActionStatus', () => { nbAgentsFailed: 0, nbAgentsActioned: 2, creationTime: '2022-09-19T12:07:27.102Z', - }, + } as ActionStatus, ]; beforeEach(() => { mockSendGetActionStatus.mockReset(); @@ -63,20 +65,15 @@ describe('useActionStatus', () => { it('should refresh statuses on refresh flag', async () => { let refresh = false; - await act(async () => { - const result = renderHook(() => useActionStatus(mockOnAbortSuccess, refresh, 20, null)); - refresh = true; - result.rerender(); - }); - expect(mockSendGetActionStatus).toHaveBeenCalledTimes(5); + const result = renderHook(() => useActionStatus(mockOnAbortSuccess, refresh, 20, null)); + refresh = true; + result.rerender(); + await waitFor(() => expect(mockSendGetActionStatus).toHaveBeenCalled()); }); it('should post cancel and invoke callback on cancel upgrade', async () => { mockSendPostCancelAction.mockResolvedValue({}); - let result: any | undefined; - await act(async () => { - ({ result } = renderHook(() => useActionStatus(mockOnAbortSuccess, false, 20, null))); - }); + const { result } = renderHook(() => useActionStatus(mockOnAbortSuccess, false, 20, null)); await act(async () => { await result.current.abortUpgrade(mockActionStatuses[0]); }); @@ -89,10 +86,7 @@ describe('useActionStatus', () => { it('should post cancel and invoke callback on cancel upgrade - plural', async () => { mockSendPostCancelAction.mockResolvedValue({}); - let result: any | undefined; - await act(async () => { - ({ result } = renderHook(() => useActionStatus(mockOnAbortSuccess, false, 20, null))); - }); + const { result } = renderHook(() => useActionStatus(mockOnAbortSuccess, false, 20, null)); await act(async () => { await result.current.abortUpgrade({ ...mockActionStatuses[0], nbAgentsAck: 0 }); }); @@ -106,10 +100,7 @@ describe('useActionStatus', () => { it('should report error on cancel upgrade failure', async () => { const error = new Error('error'); mockSendPostCancelAction.mockRejectedValue(error); - let result: any | undefined; - await act(async () => { - ({ result } = renderHook(() => useActionStatus(mockOnAbortSuccess, false, 20, null))); - }); + const { result } = renderHook(() => useActionStatus(mockOnAbortSuccess, false, 20, null)); await act(async () => { await result.current.abortUpgrade(mockActionStatuses[0]); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_agent_soft_limit.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_agent_soft_limit.test.tsx index 4b9d908baa84d..46c72c9c5213c 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_agent_soft_limit.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_agent_soft_limit.test.tsx @@ -38,10 +38,12 @@ describe('useAgentSoftLimit', () => { total: 5, }, } as any); - const { result, waitForNextUpdate } = renderer.renderHook(() => useAgentSoftLimit()); - await waitForNextUpdate(); + const { result, rerender } = renderer.renderHook(() => useAgentSoftLimit()); + await renderer.waitFor(() => expect(mockedSendGetAgents).toBeCalled()); + + // re-render so cache is updated to value from most recent call + rerender(); - expect(mockedSendGetAgents).toBeCalled(); expect(result.current.shouldDisplayAgentSoftLimit).toEqual(false); }); @@ -53,10 +55,12 @@ describe('useAgentSoftLimit', () => { total: 15, }, } as any); - const { result, waitForNextUpdate } = renderer.renderHook(() => useAgentSoftLimit()); - await waitForNextUpdate(); + const { result, rerender } = renderer.renderHook(() => useAgentSoftLimit()); + await renderer.waitFor(() => expect(mockedSendGetAgents).toBeCalled()); + + // re-render so cache is updated to value from most recent call + rerender(); - expect(mockedSendGetAgents).toBeCalled(); expect(result.current.shouldDisplayAgentSoftLimit).toEqual(true); }); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_fetch_agents_data.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_fetch_agents_data.test.tsx index db4cff14e4804..27cb000bdb154 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_fetch_agents_data.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_fetch_agents_data.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { act } from '@testing-library/react-hooks'; +import { act, waitFor } from '@testing-library/react'; import { useStartServices } from '../../../../hooks'; @@ -118,10 +118,8 @@ describe('useFetchAgentsData', () => { it('should fetch agents and agent policies data', async () => { const renderer = createFleetTestRendererMock(); - const { result, waitForNextUpdate } = renderer.renderHook(() => useFetchAgentsData()); - await act(async () => { - await waitForNextUpdate(); - }); + const { result } = renderer.renderHook(() => useFetchAgentsData()); + await waitFor(() => new Promise((resolve) => resolve(null))); expect(result?.current.selectedStatus).toEqual(['healthy', 'unhealthy', 'updating', 'offline']); expect(result?.current.allAgentPolicies).toEqual([ @@ -155,27 +153,22 @@ describe('useFetchAgentsData', () => { it('sync querystring kuery with current search', async () => { const renderer = createFleetTestRendererMock(); - const { result, waitForNextUpdate } = renderer.renderHook(() => useFetchAgentsData()); - await act(async () => { - await waitForNextUpdate(); - }); + const { result } = renderer.renderHook(() => useFetchAgentsData()); - expect(renderer.history.location.search).toEqual(''); + await waitFor(() => expect(renderer.history.location.search).toEqual('')); // Set search await act(async () => { result.current.setSearch('active:true'); - await waitForNextUpdate(); }); - expect(renderer.history.location.search).toEqual('?kuery=active%3Atrue'); + await waitFor(() => expect(renderer.history.location.search).toEqual('?kuery=active%3Atrue')); // Clear search await act(async () => { result.current.setSearch(''); - await waitForNextUpdate(); }); - expect(renderer.history.location.search).toEqual(''); + await waitFor(() => expect(renderer.history.location.search).toEqual('')); }); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_update_tags.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_update_tags.test.tsx index 89059d5a17971..0545f1b412f00 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_update_tags.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/hooks/use_update_tags.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { act, renderHook } from '@testing-library/react'; import { sendPostBulkAgentTagsUpdate, diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/hooks.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/hooks.test.tsx index 8aea16559058a..be5de3cd04343 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/hooks.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/hooks.test.tsx @@ -6,7 +6,7 @@ */ import moment from 'moment'; -import { act } from '@testing-library/react-hooks'; +import { act } from '@testing-library/react'; import { createFleetTestRendererMock } from '../../../../../../mock'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/hooks/use_fleet_server_unhealthy.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/hooks/use_fleet_server_unhealthy.test.tsx index 7372edf0ada2a..c4caa7e47c07b 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/hooks/use_fleet_server_unhealthy.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/hooks/use_fleet_server_unhealthy.test.tsx @@ -22,7 +22,7 @@ jest.mock('../../../../../hooks/use_authz', () => ({ describe('useFleetServerUnhealthy', () => { const testRenderer = createFleetTestRendererMock(); - it('should return isUnHealthy:false with an online fleet slerver', async () => { + it('should return isUnHealthy:false with an online fleet server', async () => { jest.mocked(sendGetEnrollmentSettings).mockResolvedValueOnce({ error: null, data: { @@ -46,13 +46,12 @@ describe('useFleetServerUnhealthy', () => { }, }); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => useFleetServerUnhealthy()); - await waitForNextUpdate(); - expect(result.current.isLoading).toBeFalsy(); + const { result } = testRenderer.renderHook(() => useFleetServerUnhealthy()); + await testRenderer.waitFor(() => expect(result.current.isLoading).toBeFalsy()); expect(result.current.isUnhealthy).toBeFalsy(); }); - it('should return isUnHealthy:true with only one offline fleet slerver', async () => { + it('should return isUnHealthy:true with only one offline fleet server', async () => { jest.mocked(sendGetEnrollmentSettings).mockResolvedValue({ error: null, data: { @@ -62,9 +61,8 @@ describe('useFleetServerUnhealthy', () => { }, }, }); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => useFleetServerUnhealthy()); - await waitForNextUpdate(); - expect(result.current.isLoading).toBeFalsy(); + const { result } = testRenderer.renderHook(() => useFleetServerUnhealthy()); + await testRenderer.waitFor(() => expect(result.current.isLoading).toBeFalsy()); expect(result.current.isUnhealthy).toBeTruthy(); }); @@ -73,9 +71,8 @@ describe('useFleetServerUnhealthy', () => { error: new Error('Invalid request'), data: null, }); - const { result, waitForNextUpdate } = testRenderer.renderHook(() => useFleetServerUnhealthy()); - await waitForNextUpdate(); - expect(result.current.isLoading).toBeFalsy(); + const { result } = testRenderer.renderHook(() => useFleetServerUnhealthy()); + await testRenderer.waitFor(() => expect(result.current.isLoading).toBeFalsy()); expect(result.current.isUnhealthy).toBeFalsy(); expect(testRenderer.startServices.notifications.toasts.addError).toBeCalled(); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.test.tsx index 4650b97bfd656..7e3d3f87137da 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { act } from 'react-test-renderer'; +import { act } from '@testing-library/react'; import { createFleetTestRendererMock } from '../../../../../../mock'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/fleet_server_hosts_flyout/use_fleet_server_host_form.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/fleet_server_hosts_flyout/use_fleet_server_host_form.test.tsx index 95a94848f4794..87555b034680b 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/fleet_server_hosts_flyout/use_fleet_server_host_form.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/fleet_server_hosts_flyout/use_fleet_server_host_form.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { act } from 'react-test-renderer'; +import { act } from '@testing-library/react'; import { createFleetTestRendererMock } from '../../../../../../mock'; @@ -28,20 +28,22 @@ describe('useFleetServerHostsForm', () => { await act(() => result.current.submit()); - expect(result.current.inputs.hostUrlsInput.props.errors).toMatchInlineSnapshot(` - Array [ - Object { - "index": 0, - "message": "Duplicate URL", - }, - Object { - "index": 1, - "message": "Duplicate URL", - }, - ] - `); - expect(onSuccess).not.toBeCalled(); - expect(result.current.isDisabled).toBeTruthy(); + await testRenderer.waitFor(() => { + expect(result.current.inputs.hostUrlsInput.props.errors).toMatchInlineSnapshot(` + Array [ + Object { + "index": 0, + "message": "Duplicate URL", + }, + Object { + "index": 1, + "message": "Duplicate URL", + }, + ] + `); + expect(onSuccess).not.toBeCalled(); + expect(result.current.isDisabled).toBeTruthy(); + }); }); it('should submit a valid form', async () => { @@ -64,7 +66,8 @@ describe('useFleetServerHostsForm', () => { act(() => result.current.inputs.hostUrlsInput.props.onChange(['https://test.fr'])); await act(() => result.current.submit()); - expect(onSuccess).toBeCalled(); + + await testRenderer.waitFor(() => expect(onSuccess).toBeCalled()); }); it('should allow the user to correct and submit a invalid form', async () => { @@ -89,13 +92,16 @@ describe('useFleetServerHostsForm', () => { ); await act(() => result.current.submit()); - expect(onSuccess).not.toBeCalled(); - expect(result.current.isDisabled).toBeTruthy(); + + await testRenderer.waitFor(() => { + expect(onSuccess).not.toBeCalled(); + expect(result.current.isDisabled).toBeTruthy(); + }); act(() => result.current.inputs.hostUrlsInput.props.onChange(['https://test.fr'])); expect(result.current.isDisabled).toBeFalsy(); await act(() => result.current.submit()); - expect(onSuccess).toBeCalled(); + await testRenderer.waitFor(() => expect(onSuccess).toBeCalled()); }); }); diff --git a/x-pack/plugins/fleet/public/applications/integrations/hooks/use_merge_epr_with_replacements.test.ts b/x-pack/plugins/fleet/public/applications/integrations/hooks/use_merge_epr_with_replacements.test.ts index d137d908ca3b9..f5aed7de52ab8 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/hooks/use_merge_epr_with_replacements.test.ts +++ b/x-pack/plugins/fleet/public/applications/integrations/hooks/use_merge_epr_with_replacements.test.ts @@ -8,7 +8,7 @@ import type { CustomIntegration } from '@kbn/custom-integrations-plugin/common'; import type { IntegrationCategory } from '@kbn/custom-integrations-plugin/common'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import type { PackageListItem } from '../../../../common/types/models'; diff --git a/x-pack/plugins/fleet/public/applications/integrations/hooks/use_package_install.test.tsx b/x-pack/plugins/fleet/public/applications/integrations/hooks/use_package_install.test.tsx index 6040c3bacd70f..d73d233ac0b09 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/hooks/use_package_install.test.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/hooks/use_package_install.test.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { act, type WrapperComponent } from '@testing-library/react-hooks'; +import { act } from '@testing-library/react'; import { coreMock } from '@kbn/core/public/mocks'; import { createIntegrationsTestRendererMock } from '../../../mock'; @@ -48,9 +48,10 @@ describe('usePackageInstall', () => { throw error; }) as any); - const wrapper: WrapperComponent = ({ children }) => ( + const wrapper = ({ children }: React.PropsWithChildren) => ( {children} ); + const { result } = renderer.renderHook(() => useInstallPackage(), wrapper); const installPackage = result.current; diff --git a/x-pack/plugins/fleet/public/hooks/use_agent_version.test.ts b/x-pack/plugins/fleet/public/hooks/use_agent_version.test.ts index 34a7afe33baaa..36024a38fb51e 100644 --- a/x-pack/plugins/fleet/public/hooks/use_agent_version.test.ts +++ b/x-pack/plugins/fleet/public/hooks/use_agent_version.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { waitFor, renderHook } from '@testing-library/react'; import { useAgentVersion } from './use_agent_version'; import { useKibanaVersion } from './use_kibana_version'; @@ -28,13 +28,11 @@ describe('useAgentVersion', () => { data: { items: mockAvailableVersions }, }); - const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + const { result } = renderHook(() => useAgentVersion()); expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); - await waitForNextUpdate(); - - expect(result.current).toEqual(mockKibanaVersion); + await waitFor(() => expect(result.current).toEqual(mockKibanaVersion)); }); it('should return agent version with newer patch than kibana', async () => { @@ -46,13 +44,11 @@ describe('useAgentVersion', () => { data: { items: mockAvailableVersions }, }); - const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + const { result } = renderHook(() => useAgentVersion()); expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); - await waitForNextUpdate(); - - expect(result.current).toEqual('8.8.2'); + await waitFor(() => expect(result.current).toEqual('8.8.2')); }); it('should return the latest availeble agent version if a version that matches Kibana version is not released', async () => { @@ -64,13 +60,11 @@ describe('useAgentVersion', () => { data: { items: mockAvailableVersions }, }); - const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + const { result } = renderHook(() => useAgentVersion()); expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); - await waitForNextUpdate(); - - expect(result.current).toEqual('8.9.2'); + await waitFor(() => expect(result.current).toEqual('8.9.2')); }); it('should return the agent version that is <= Kibana version if an agent version that matches Kibana version is not released', async () => { @@ -82,13 +76,11 @@ describe('useAgentVersion', () => { data: { items: mockAvailableVersions }, }); - const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + const { result } = renderHook(() => useAgentVersion()); expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); - await waitForNextUpdate(); - - expect(result.current).toEqual('8.8.2'); + await waitFor(() => expect(result.current).toEqual('8.8.2')); }); it('should return the latest availeble agent version if a snapshot version', async () => { @@ -100,13 +92,11 @@ describe('useAgentVersion', () => { data: { items: mockAvailableVersions }, }); - const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + const { result } = renderHook(() => useAgentVersion()); expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); - await waitForNextUpdate(); - - expect(result.current).toEqual('8.9.2'); + await waitFor(() => expect(result.current).toEqual('8.9.2')); }); it('should return kibana version if no agent versions available', async () => { @@ -118,13 +108,11 @@ describe('useAgentVersion', () => { data: { items: mockAvailableVersions }, }); - const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + const { result } = renderHook(() => useAgentVersion()); expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); - await waitForNextUpdate(); - - expect(result.current).toEqual('8.11.0'); + await waitFor(() => expect(result.current).toEqual('8.11.0')); }); it('should return kibana version if the list of available agent versions is not available', async () => { @@ -133,12 +121,10 @@ describe('useAgentVersion', () => { (useKibanaVersion as jest.Mock).mockReturnValue(mockKibanaVersion); (sendGetAgentsAvailableVersions as jest.Mock).mockRejectedValue(new Error('Fetching error')); - const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + const { result } = renderHook(() => useAgentVersion()); expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); - await waitForNextUpdate(); - - expect(result.current).toEqual(mockKibanaVersion); + await waitFor(() => expect(result.current).toEqual(mockKibanaVersion)); }); it('should return the latest availeble agent version if has build suffix', async () => { @@ -157,12 +143,10 @@ describe('useAgentVersion', () => { data: { items: mockAvailableVersions }, }); - const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + const { result } = renderHook(() => useAgentVersion()); expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); - await waitForNextUpdate(); - - expect(result.current).toEqual('8.11.1+build123456789'); + await waitFor(() => expect(result.current).toEqual('8.11.1+build123456789')); }); }); diff --git a/x-pack/plugins/fleet/public/hooks/use_dismissable_tour.test.ts b/x-pack/plugins/fleet/public/hooks/use_dismissable_tour.test.ts index 394699fc3f34f..7dbdcea26b250 100644 --- a/x-pack/plugins/fleet/public/hooks/use_dismissable_tour.test.ts +++ b/x-pack/plugins/fleet/public/hooks/use_dismissable_tour.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { act, renderHook } from '@testing-library/react'; import { TOUR_STORAGE_KEYS } from '../constants'; import { createStartServices } from '../mock'; diff --git a/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.test.tsx b/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.test.tsx index 6f9c96d130ebd..1676f07d2e11f 100644 --- a/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.test.tsx +++ b/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useFleetServerHostsForPolicy } from './use_fleet_server_hosts_for_policy'; import { useGetEnrollmentSettings } from './use_request/settings'; diff --git a/x-pack/plugins/fleet/public/hooks/use_is_package_policy_upgradable.test.tsx b/x-pack/plugins/fleet/public/hooks/use_is_package_policy_upgradable.test.tsx index b928a74c306ea..80e0360f739a0 100644 --- a/x-pack/plugins/fleet/public/hooks/use_is_package_policy_upgradable.test.tsx +++ b/x-pack/plugins/fleet/public/hooks/use_is_package_policy_upgradable.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useIsPackagePolicyUpgradable } from './use_is_package_policy_upgradable'; import { useGetPackages } from './use_request/epm'; diff --git a/x-pack/plugins/fleet/public/hooks/use_space_settings_context.test.tsx b/x-pack/plugins/fleet/public/hooks/use_space_settings_context.test.tsx index 6f3d286db3706..9f7bfc8ceaf8e 100644 --- a/x-pack/plugins/fleet/public/hooks/use_space_settings_context.test.tsx +++ b/x-pack/plugins/fleet/public/hooks/use_space_settings_context.test.tsx @@ -23,7 +23,7 @@ describe('useSpaceSettingsContext', () => { function renderHook() { return createFleetTestRendererMock().renderHook( () => useSpaceSettingsContext(), - ({ children }: { children: any }) => ( + ({ children }: React.PropsWithChildren) => ( {children} ) ); diff --git a/x-pack/plugins/fleet/public/mock/create_test_renderer.tsx b/x-pack/plugins/fleet/public/mock/create_test_renderer.tsx index 66155cee7bb35..3eb6ade241d3f 100644 --- a/x-pack/plugins/fleet/public/mock/create_test_renderer.tsx +++ b/x-pack/plugins/fleet/public/mock/create_test_renderer.tsx @@ -8,10 +8,8 @@ import type { History } from 'history'; import { createMemoryHistory } from 'history'; import React, { memo } from 'react'; -import type { RenderOptions, RenderResult } from '@testing-library/react'; -import { render as reactRender, act } from '@testing-library/react'; -import { renderHook, type WrapperComponent } from '@testing-library/react-hooks'; -import type { RenderHookResult } from '@testing-library/react-hooks'; +import type { RenderOptions, RenderResult, RenderHookResult } from '@testing-library/react'; +import { render as reactRender, act, waitFor, renderHook } from '@testing-library/react'; import { Router } from '@kbn/shared-ux-router'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; @@ -52,11 +50,12 @@ export interface TestRenderer { AppWrapper: React.FC; HookWrapper: React.FC; render: UiRender; - renderHook: ( + renderHook: ( callback: (props: TProps) => TResult, - wrapper?: WrapperComponent - ) => RenderHookResult; + wrapper?: React.FC + ) => RenderHookResult; setHeaderActionMenu: Function; + waitFor: typeof waitFor; } // disable retries to avoid test flakiness @@ -124,17 +123,21 @@ export const createFleetTestRendererMock = (): TestRenderer => { HookWrapper, renderHook: ( callback, - ExtraWrapper: WrapperComponent = memo(({ children }) => <>{children}) + ExtraWrapper: React.FC> = memo(({ children }) => ( + <>{children} + )) ) => { - const wrapper: WrapperComponent = ({ children }) => ( + const wrapper: React.FC> = ({ children }) => ( {children} ); + return renderHook(callback, { wrapper, }); }, + waitFor, render: (ui, options) => { let renderResponse: RenderResult; act(() => { @@ -207,9 +210,11 @@ export const createIntegrationsTestRendererMock = (): TestRenderer => { }, renderHook: ( callback, - ExtraWrapper: WrapperComponent = memo(({ children }) => <>{children}) + ExtraWrapper: React.FC> = memo(({ children }) => ( + <>{children} + )) ) => { - const wrapper: WrapperComponent = ({ children }) => ( + const wrapper: React.FC> = ({ children }) => ( {children} @@ -218,6 +223,7 @@ export const createIntegrationsTestRendererMock = (): TestRenderer => { wrapper, }); }, + waitFor, }; return testRendererMocks; diff --git a/x-pack/plugins/fleet/server/services/api_keys/transform_api_keys.ts b/x-pack/plugins/fleet/server/services/api_keys/transform_api_keys.ts index 8888ae75e4699..b422660ba78fa 100644 --- a/x-pack/plugins/fleet/server/services/api_keys/transform_api_keys.ts +++ b/x-pack/plugins/fleet/server/services/api_keys/transform_api_keys.ts @@ -9,8 +9,8 @@ import type { CreateRestAPIKeyParams, CreateRestAPIKeyWithKibanaPrivilegesParams, } from '@kbn/security-plugin/server'; -import type { FakeRawRequest, Headers } from '@kbn/core-http-server'; -import { CoreKibanaRequest } from '@kbn/core-http-router-server-internal'; +import { type FakeRawRequest, type Headers } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; import type { Logger } from '@kbn/logging'; @@ -43,7 +43,7 @@ function createKibanaRequestFromAuth(authorizationHeader: HTTPAuthorizationHeade // Since we're using API keys and accessing elasticsearch can only be done // via a request, we're faking one with the proper authorization headers. - const fakeRequest = CoreKibanaRequest.from(fakeRawRequest); + const fakeRequest = kibanaRequestFactory(fakeRawRequest); return fakeRequest; } diff --git a/x-pack/plugins/fleet/server/services/app_context.ts b/x-pack/plugins/fleet/server/services/app_context.ts index da40f8ff7d819..8b49ca1b32329 100644 --- a/x-pack/plugins/fleet/server/services/app_context.ts +++ b/x-pack/plugins/fleet/server/services/app_context.ts @@ -8,16 +8,9 @@ import type { Observable } from 'rxjs'; import { BehaviorSubject } from 'rxjs'; import { kibanaPackageJson } from '@kbn/repo-info'; -import type { - ElasticsearchClient, - SavedObjectsServiceStart, - HttpServiceSetup, - Logger, - KibanaRequest, - SecurityServiceStart, -} from '@kbn/core/server'; -import { CoreKibanaRequest } from '@kbn/core/server'; +import type { HttpServiceSetup, KibanaRequest } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; import type { PluginStart as DataPluginStart } from '@kbn/data-plugin/server'; import type { @@ -29,8 +22,12 @@ import type { SecurityPluginStart, SecurityPluginSetup } from '@kbn/security-plu import type { CloudSetup } from '@kbn/cloud-plugin/server'; import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; import type { SavedObjectTaggingStart } from '@kbn/saved-objects-tagging-plugin/server'; +import type { SavedObjectsServiceStart } from '@kbn/core-saved-objects-server'; import { SECURITY_EXTENSION_ID, SPACES_EXTENSION_ID } from '@kbn/core-saved-objects-server'; import type { TaskManagerStartContract } from '@kbn/task-manager-plugin/server'; +import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { SecurityServiceStart } from '@kbn/core-security-server'; +import type { Logger } from '@kbn/logging'; import type { FleetConfigType } from '../../common/types'; import { @@ -188,7 +185,7 @@ class AppContextService { return this.savedObjectsTagging; } public getInternalUserSOClientForSpaceId(spaceId?: string) { - const request = CoreKibanaRequest.from({ + const request = kibanaRequestFactory({ headers: {}, path: '/', route: { settings: {} }, diff --git a/x-pack/plugins/fleet/tsconfig.json b/x-pack/plugins/fleet/tsconfig.json index 6ebdaffde2a31..7499f980d5ebf 100644 --- a/x-pack/plugins/fleet/tsconfig.json +++ b/x-pack/plugins/fleet/tsconfig.json @@ -93,7 +93,6 @@ "@kbn/core-http-request-handler-context-server", "@kbn/shared-ux-router", "@kbn/shared-ux-link-redirect-app", - "@kbn/core-http-router-server-internal", "@kbn/safer-lodash-set", "@kbn/shared-ux-file-types", "@kbn/core-application-browser", @@ -118,5 +117,7 @@ "@kbn/zod", "@kbn/reporting-public", "@kbn/field-formats-plugin", + "@kbn/core-security-server", + "@kbn/core-http-server-utils", ] } diff --git a/x-pack/plugins/index_lifecycle_management/kibana.jsonc b/x-pack/plugins/index_lifecycle_management/kibana.jsonc index e61210ebbbef9..e081aab35d3ef 100644 --- a/x-pack/plugins/index_lifecycle_management/kibana.jsonc +++ b/x-pack/plugins/index_lifecycle_management/kibana.jsonc @@ -2,6 +2,8 @@ "type": "plugin", "id": "@kbn/index-lifecycle-management-plugin", "owner": "@elastic/kibana-management", + "group": "platform", + "visibility": "private", "plugin": { "id": "indexLifecycleManagement", "server": true, diff --git a/x-pack/plugins/lists/server/get_space_id.test.ts b/x-pack/plugins/lists/server/get_space_id.test.ts index 3faaf5f1c142a..980a4125d254f 100644 --- a/x-pack/plugins/lists/server/get_space_id.test.ts +++ b/x-pack/plugins/lists/server/get_space_id.test.ts @@ -5,16 +5,16 @@ * 2.0. */ -import { httpServerMock } from '@kbn/core/server/mocks'; -import { CoreKibanaRequest } from '@kbn/core/server'; import { spacesServiceMock } from '@kbn/spaces-plugin/server/spaces_service/spaces_service.mock'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; +import { httpServerMock } from '@kbn/core-http-server-mocks'; import { getSpaceId } from './get_space_id'; describe('get_space_id', () => { - let request = CoreKibanaRequest.from(httpServerMock.createRawRequest({})); + let request = kibanaRequestFactory(httpServerMock.createRawRequest({})); beforeEach(() => { - request = CoreKibanaRequest.from(httpServerMock.createRawRequest({})); + request = kibanaRequestFactory(httpServerMock.createRawRequest({})); jest.clearAllMocks(); }); diff --git a/x-pack/plugins/lists/tsconfig.json b/x-pack/plugins/lists/tsconfig.json index a7d1c5b7b3153..61229d39bdbdd 100644 --- a/x-pack/plugins/lists/tsconfig.json +++ b/x-pack/plugins/lists/tsconfig.json @@ -42,7 +42,9 @@ "@kbn/core-elasticsearch-client-server-mocks", "@kbn/core-saved-objects-server", "@kbn/zod-helpers", - "@kbn/core-security-server" + "@kbn/core-security-server", + "@kbn/core-http-server-mocks", + "@kbn/core-http-server-utils" ], "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/ml/public/application/model_management/models_list.tsx b/x-pack/plugins/ml/public/application/model_management/models_list.tsx index a717995d4ee14..d66ab1ab3db16 100644 --- a/x-pack/plugins/ml/public/application/model_management/models_list.tsx +++ b/x-pack/plugins/ml/public/application/model_management/models_list.tsx @@ -697,7 +697,7 @@ export const ModelsList: FC = ({ <> {downloadState ? ( - (downloadState.downloaded_parts / downloadState.total_parts) * + (downloadState.downloaded_parts / (downloadState.total_parts || -1)) * 100 ).toFixed(0) + '%' : '100%'} diff --git a/x-pack/plugins/ml/server/models/job_service/jobs.ts b/x-pack/plugins/ml/server/models/job_service/jobs.ts index 9c4ea6b1d3307..fa779258e5f23 100644 --- a/x-pack/plugins/ml/server/models/job_service/jobs.ts +++ b/x-pack/plugins/ml/server/models/job_service/jobs.ts @@ -354,6 +354,10 @@ export function jobsProvider( const result: { datafeed?: Datafeed; job?: Job } = { job: undefined, datafeed: undefined }; if (datafeedResult && datafeedResult.job_id === jobId) { result.datafeed = datafeedResult; + if (result.datafeed.indices_options?.ignore_throttled !== undefined) { + // ignore_throttled is a deprecated setting, remove it from the response + delete result.datafeed.indices_options.ignore_throttled; + } } if (jobResults?.jobs?.length > 0) { diff --git a/x-pack/plugins/ml/server/routes/schemas/datafeeds_schema.ts b/x-pack/plugins/ml/server/routes/schemas/datafeeds_schema.ts index 27e1b6afe3364..2c61dca8859b2 100644 --- a/x-pack/plugins/ml/server/routes/schemas/datafeeds_schema.ts +++ b/x-pack/plugins/ml/server/routes/schemas/datafeeds_schema.ts @@ -27,7 +27,10 @@ export const indicesOptionsSchema = schema.object({ ), ignore_unavailable: schema.maybe(schema.boolean()), allow_no_indices: schema.maybe(schema.boolean()), + // retaining the deprecated ignore_throttled in case an older jobs are used + // we don't want to fail the schema validation if this is present ignore_throttled: schema.maybe(schema.boolean()), + failure_store: schema.maybe(schema.string()), }); export const datafeedConfigSchema = schema.object({ diff --git a/x-pack/plugins/ml/server/shared_services/shared_services.ts b/x-pack/plugins/ml/server/shared_services/shared_services.ts index f7b0d42409221..d4af7166435d4 100644 --- a/x-pack/plugins/ml/server/shared_services/shared_services.ts +++ b/x-pack/plugins/ml/server/shared_services/shared_services.ts @@ -5,20 +5,17 @@ * 2.0. */ -import type { - IClusterClient, - IScopedClusterClient, - SavedObjectsClientContract, - UiSettingsServiceStart, - KibanaRequest, - CoreAuditService, -} from '@kbn/core/server'; import type { SpacesPluginStart } from '@kbn/spaces-plugin/server'; -import { CoreKibanaRequest } from '@kbn/core/server'; import type { CloudSetup } from '@kbn/cloud-plugin/server'; import type { PluginStart as DataViewsPluginStart } from '@kbn/data-views-plugin/server'; import type { SecurityPluginSetup } from '@kbn/security-plugin/server'; import type { FieldFormatsStart } from '@kbn/field-formats-plugin/server'; +import { isCoreKibanaRequest } from '@kbn/core-http-server-utils'; +import type { KibanaRequest } from '@kbn/core-http-server'; +import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; +import type { IClusterClient, IScopedClusterClient } from '@kbn/core-elasticsearch-server'; +import type { UiSettingsServiceStart } from '@kbn/core-ui-settings-server'; +import type { CoreAuditService } from '@kbn/core-security-server'; import type { CompatibleModule } from '../../common/constants/app'; import type { MlLicense } from '../../common/license'; @@ -269,7 +266,7 @@ function getRequestItemsProvider( }; let mlSavedObjectService; - if (request instanceof CoreKibanaRequest) { + if (isCoreKibanaRequest(request)) { scopedClient = clusterClient.asScoped(request); mlSavedObjectService = getSobSavedObjectService(scopedClient); const auditLogger = new MlAuditLogger(auditService, request); diff --git a/x-pack/plugins/ml/tsconfig.json b/x-pack/plugins/ml/tsconfig.json index 73ab75d5f2515..e11358f258a3a 100644 --- a/x-pack/plugins/ml/tsconfig.json +++ b/x-pack/plugins/ml/tsconfig.json @@ -133,5 +133,9 @@ "@kbn/unified-search-plugin", "@kbn/usage-collection-plugin", "@kbn/utility-types", + "@kbn/core-http-server-utils", + "@kbn/core-saved-objects-api-server", + "@kbn/core-ui-settings-server", + "@kbn/core-security-server", ] } diff --git a/x-pack/plugins/observability_solution/apm/server/lib/anomaly_detection/create_anomaly_detection_jobs.ts b/x-pack/plugins/observability_solution/apm/server/lib/anomaly_detection/create_anomaly_detection_jobs.ts index 861481351bf96..fd456d6b203d4 100644 --- a/x-pack/plugins/observability_solution/apm/server/lib/anomaly_detection/create_anomaly_detection_jobs.ts +++ b/x-pack/plugins/observability_solution/apm/server/lib/anomaly_detection/create_anomaly_detection_jobs.ts @@ -11,7 +11,6 @@ import { snakeCase } from 'lodash'; import moment from 'moment'; import { v4 as uuidv4 } from 'uuid'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { waitForIndexStatus } from '@kbn/core-saved-objects-migration-server-internal'; import type { APMIndices } from '@kbn/apm-data-access-plugin/server'; import { ElasticsearchCapabilities } from '@kbn/core-elasticsearch-server'; import { ML_ERRORS } from '../../../common/anomaly_detection'; @@ -51,10 +50,20 @@ export async function createAnomalyDetectionJobs({ return withApmSpan('create_anomaly_detection_jobs', async () => { logger.info(`Creating ML anomaly detection jobs for environments: [${uniqueMlJobEnvs}].`); - const apmMetricIndex = indices.metric; const responses = []; const failedJobs = []; + + if (!esCapabilities.serverless) { + // Waiting for the index is not enabled in serverless, this could potentially cause + // problems when creating jobs in parallel + try { + await waitForIndexStatus(esClient, apmMetricIndex, 'yellow'); + } catch (err) { + logger.warn(`Error waiting for ${apmMetricIndex} to turn yellow before creating ML jobs`); + } + } + // Avoid the creation of multiple ml jobs in parallel // https://github.com/elastic/elasticsearch/issues/36271 for (const environment of uniqueMlJobEnvs) { @@ -62,10 +71,8 @@ export async function createAnomalyDetectionJobs({ responses.push( await createAnomalyDetectionJob({ mlClient, - esClient, environment, apmMetricIndex, - esCapabilities, }) ); } catch (e) { @@ -88,19 +95,13 @@ export async function createAnomalyDetectionJobs({ async function createAnomalyDetectionJob({ mlClient, - esClient, environment, apmMetricIndex, - esCapabilities, }: { mlClient: Required; - esClient: ElasticsearchClient; environment: string; apmMetricIndex: string; - esCapabilities: ElasticsearchCapabilities; }) { - const { serverless } = esCapabilities; - return withApmSpan('create_anomaly_detection_job', async () => { const randomToken = uuidv4().substr(-4); @@ -134,17 +135,6 @@ async function createAnomalyDetectionJob({ ], }); - // Waiting for the index is not enabled in serverless, this could potentially cause - // problems when creating jobs in parallels - if (!serverless) { - await waitForIndexStatus({ - client: esClient, - index: '.ml-*', - timeout: DEFAULT_TIMEOUT, - status: 'yellow', - })(); - } - return anomalyDetectionJob; }); } @@ -166,3 +156,22 @@ async function getUniqueMlJobEnvs(mlClient: MlClient, environments: Environment[ return environments.filter((env) => !existingMlJobEnvs.includes(env)); } + +async function waitForIndexStatus( + esClient: ElasticsearchClient, + index: string, + waitForStatus: 'yellow' | 'green', + timeout = DEFAULT_TIMEOUT +) { + return await esClient.cluster.health( + { + index, + wait_for_status: waitForStatus, + timeout, + }, + { + retryOnTimeout: true, + maxRetries: 3, + } + ); +} diff --git a/x-pack/plugins/observability_solution/apm/tsconfig.json b/x-pack/plugins/observability_solution/apm/tsconfig.json index 0f08bf3143cd2..d3de1633dcad7 100644 --- a/x-pack/plugins/observability_solution/apm/tsconfig.json +++ b/x-pack/plugins/observability_solution/apm/tsconfig.json @@ -70,7 +70,6 @@ "@kbn/core-saved-objects-api-server-mocks", "@kbn/field-types", "@kbn/babel-register", - "@kbn/core-saved-objects-migration-server-internal", "@kbn/core-elasticsearch-server", "@kbn/safer-lodash-set", "@kbn/shared-ux-router", diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/types.ts b/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/types.ts index 2c04cdf8f0767..7d5086323e90b 100644 --- a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/types.ts +++ b/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/types.ts @@ -15,7 +15,6 @@ import type { EmbeddableStart } from '@kbn/embeddable-plugin/public'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import type { LensPublicStart } from '@kbn/lens-plugin/public'; import type { ObservabilitySharedPluginStart } from '@kbn/observability-shared-plugin/public'; -import type { OsqueryPluginStart } from '@kbn/osquery-plugin/public'; import { ALERT_GROUP, ALERT_RULE_PARAMETERS } from '@kbn/rule-data-utils'; import type { SharePluginStart } from '@kbn/share-plugin/public'; import type { SpacesPluginStart } from '@kbn/spaces-plugin/public'; @@ -72,7 +71,6 @@ export interface InfraClientStartDeps { lens: LensPublicStart; observability: ObservabilityPublicStart; observabilityShared: ObservabilitySharedPluginStart; - osquery?: OsqueryPluginStart; share: SharePluginStart; spaces: SpacesPluginStart; storage: IStorageWrapper; diff --git a/x-pack/plugins/observability_solution/observability/tsconfig.json b/x-pack/plugins/observability_solution/observability/tsconfig.json index 83c14047131b6..84a691f1033af 100644 --- a/x-pack/plugins/observability_solution/observability/tsconfig.json +++ b/x-pack/plugins/observability_solution/observability/tsconfig.json @@ -66,7 +66,6 @@ "@kbn/discover-plugin", "@kbn/embeddable-plugin", "@kbn/lens-plugin", - "@kbn/osquery-plugin", "@kbn/ui-actions-plugin", "@kbn/unified-search-plugin", "@kbn/lens-embeddable-utils", diff --git a/x-pack/plugins/observability_solution/observability_logs_explorer/public/state_machines/observability_logs_explorer/src/notifications.tsx b/x-pack/plugins/observability_solution/observability_logs_explorer/public/state_machines/observability_logs_explorer/src/notifications.tsx deleted file mode 100644 index 79ad5820ff277..0000000000000 --- a/x-pack/plugins/observability_solution/observability_logs_explorer/public/state_machines/observability_logs_explorer/src/notifications.tsx +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { IToasts } from '@kbn/core-notifications-browser'; -import { mountReactNode } from '@kbn/core-mount-utils-browser-internal'; -import { i18n } from '@kbn/i18n'; -import React from 'react'; - -export const createRequestFeedbackNotifier = (toasts: IToasts) => () => { - toasts.addInfo({ - title: i18n.translate('xpack.observabilityLogsExplorer.feedbackToast.title', { - defaultMessage: 'Tell us what you think!', - }), - text: mountReactNode(<>), - iconType: 'editorComment', - }); -}; diff --git a/x-pack/plugins/observability_solution/observability_logs_explorer/tsconfig.json b/x-pack/plugins/observability_solution/observability_logs_explorer/tsconfig.json index 5a2f18aa4249a..443d4ef8f0de7 100644 --- a/x-pack/plugins/observability_solution/observability_logs_explorer/tsconfig.json +++ b/x-pack/plugins/observability_solution/observability_logs_explorer/tsconfig.json @@ -13,7 +13,6 @@ "kbn_references": [ "@kbn/config-schema", "@kbn/core", - "@kbn/core-mount-utils-browser-internal", "@kbn/core-notifications-browser", "@kbn/data-plugin", "@kbn/deeplinks-observability", diff --git a/x-pack/plugins/observability_solution/observability_onboarding/public/application/quickstart_flows/auto_detect/use_auto_detect_telemetry.test.ts b/x-pack/plugins/observability_solution/observability_onboarding/public/application/quickstart_flows/auto_detect/use_auto_detect_telemetry.test.ts index d296e598c9e11..f77db3b8aad3d 100644 --- a/x-pack/plugins/observability_solution/observability_onboarding/public/application/quickstart_flows/auto_detect/use_auto_detect_telemetry.test.ts +++ b/x-pack/plugins/observability_solution/observability_onboarding/public/application/quickstart_flows/auto_detect/use_auto_detect_telemetry.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { useAutoDetectTelemetry } from './use_auto_detect_telemetry'; import { ObservabilityOnboardingFlowStatus } from './get_onboarding_status'; diff --git a/x-pack/plugins/observability_solution/observability_onboarding/public/hooks/use_flow_progress_telemetry.test.tsx b/x-pack/plugins/observability_solution/observability_onboarding/public/hooks/use_flow_progress_telemetry.test.tsx index aede0d27bd4ef..45ca17d878991 100644 --- a/x-pack/plugins/observability_solution/observability_onboarding/public/hooks/use_flow_progress_telemetry.test.tsx +++ b/x-pack/plugins/observability_solution/observability_onboarding/public/hooks/use_flow_progress_telemetry.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useFlowProgressTelemetry } from './use_flow_progress_telemetry'; import { useKibana } from './use_kibana'; diff --git a/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_breadcrumbs.test.tsx b/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_breadcrumbs.test.tsx index c166057df0304..8407fd8764196 100644 --- a/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_breadcrumbs.test.tsx +++ b/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_breadcrumbs.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; -import React, { ReactNode } from 'react'; +import { renderHook } from '@testing-library/react'; +import React from 'react'; import { MemoryRouter } from 'react-router-dom'; import { CoreStart } from '@kbn/core/public'; import { createKibanaReactContext } from '@kbn/kibana-react-plugin/public'; @@ -28,7 +28,7 @@ const kibanaServices = { } as unknown as Partial; const KibanaContext = createKibanaReactContext(kibanaServices); -function Wrapper({ children }: { children?: ReactNode }) { +function Wrapper({ children }: React.PropsWithChildren) { return ( {children} @@ -38,18 +38,20 @@ function Wrapper({ children }: { children?: ReactNode }) { describe('useBreadcrumbs', () => { afterEach(() => { - setBreadcrumbs.mockClear(); - setTitle.mockClear(); + jest.clearAllMocks(); }); describe('when setBreadcrumbs and setTitle are not defined', () => { it('does not set breadcrumbs or the title', () => { renderHook(() => useBreadcrumbs([]), { - wrapper: ({ children }: React.PropsWithChildren<{}>) => ( + wrapper: ({ children }: React.PropsWithChildren) => ( + { + ...kibanaServices, + chrome: { ...kibanaServices.chrome, docTitle: {}, setBreadcrumbs: null }, + } as unknown as Partial } > {children} diff --git a/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_breadcrumbs.ts b/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_breadcrumbs.ts index 5c9c0d3981bb0..81ee8857e03f4 100644 --- a/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_breadcrumbs.ts +++ b/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_breadcrumbs.ts @@ -97,7 +97,7 @@ export const useBreadcrumbs = ( const setBreadcrumbs = useMemo(() => { if (!serverless?.setBreadcrumbs) { return (breadcrumbs: ChromeBreadcrumb[]) => - chromeSetBreadcrumbs( + chromeSetBreadcrumbs?.( breadcrumbs, !classicOnly ? { diff --git a/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_link_props.test.tsx b/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_link_props.test.tsx index 69ad845939e49..4c6a4f4a06ff0 100644 --- a/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_link_props.test.tsx +++ b/x-pack/plugins/observability_solution/observability_shared/public/hooks/use_link_props.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { createMemoryHistory } from 'history'; import React, { PropsWithChildren } from 'react'; import { Router } from '@kbn/shared-ux-router'; diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_route_wrapper.ts b/x-pack/plugins/observability_solution/synthetics/server/synthetics_route_wrapper.ts index 7091f85ac3f43..697cf93d74213 100644 --- a/x-pack/plugins/observability_solution/synthetics/server/synthetics_route_wrapper.ts +++ b/x-pack/plugins/observability_solution/synthetics/server/synthetics_route_wrapper.ts @@ -4,9 +4,9 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { KibanaResponse } from '@kbn/core-http-router-server-internal'; import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; import { isEmpty } from 'lodash'; +import { isKibanaResponse } from '@kbn/core-http-server'; import { isTestUser, SyntheticsEsClient } from './lib'; import { checkIndicesReadPrivileges } from './synthetics_service/authentication/check_has_privilege'; import { SYNTHETICS_INDEX_PATTERN } from '../common/constants'; @@ -60,7 +60,7 @@ export const syntheticsRouteWrapper: SyntheticsRouteWrapper = ( spaceId, syntheticsMonitorClient, }); - if (res instanceof KibanaResponse) { + if (isKibanaResponse(res)) { return res; } diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/fake_kibana_request.ts b/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/fake_kibana_request.ts index d57fc23cd5c7c..a156b0473ad9c 100644 --- a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/fake_kibana_request.ts +++ b/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/fake_kibana_request.ts @@ -5,8 +5,8 @@ * 2.0. */ -import type { FakeRawRequest, Headers } from '@kbn/core/server'; -import { CoreKibanaRequest } from '@kbn/core/server'; +import { type FakeRawRequest, type Headers } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; export function getFakeKibanaRequest(apiKey: { id: string; api_key: string }) { const requestHeaders: Headers = {}; @@ -20,5 +20,5 @@ export function getFakeKibanaRequest(apiKey: { id: string; api_key: string }) { path: '/', }; - return CoreKibanaRequest.from(fakeRawRequest); + return kibanaRequestFactory(fakeRawRequest); } diff --git a/x-pack/plugins/observability_solution/synthetics/tsconfig.json b/x-pack/plugins/observability_solution/synthetics/tsconfig.json index 32d15f8080ffd..c82f6a5c3036a 100644 --- a/x-pack/plugins/observability_solution/synthetics/tsconfig.json +++ b/x-pack/plugins/observability_solution/synthetics/tsconfig.json @@ -45,7 +45,6 @@ "@kbn/core-http-browser", "@kbn/core-notifications-browser", "@kbn/rison", - "@kbn/core-http-router-server-internal", "@kbn/licensing-plugin", "@kbn/rule-registry-plugin", "@kbn/encrypted-saved-objects-plugin", @@ -106,7 +105,8 @@ "@kbn/alerting-types", "@kbn/core-chrome-browser", "@kbn/core-rendering-browser", - "@kbn/index-lifecycle-management-common-shared" + "@kbn/index-lifecycle-management-common-shared", + "@kbn/core-http-server-utils" ], "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts b/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts index 58b20dba1c471..a4ef42c07f02b 100644 --- a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts +++ b/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { KibanaResponse } from '@kbn/core-http-router-server-internal'; -import { UMKibanaRouteWrapper } from './types'; +import { isKibanaResponse } from '@kbn/core-http-server'; +import type { UMKibanaRouteWrapper } from './types'; import { UptimeEsClient } from '../lib/lib'; export const uptimeRouteWrapper: UMKibanaRouteWrapper = (uptimeRoute, server) => ({ @@ -42,7 +42,7 @@ export const uptimeRouteWrapper: UMKibanaRouteWrapper = (uptimeRoute, server) => server, }); - if (res instanceof KibanaResponse) { + if (isKibanaResponse(res)) { return res; } diff --git a/x-pack/plugins/observability_solution/uptime/tsconfig.json b/x-pack/plugins/observability_solution/uptime/tsconfig.json index 22b5e9afb7381..1d60bc456170e 100644 --- a/x-pack/plugins/observability_solution/uptime/tsconfig.json +++ b/x-pack/plugins/observability_solution/uptime/tsconfig.json @@ -68,7 +68,6 @@ "@kbn/safer-lodash-set", "@kbn/core-elasticsearch-client-server-mocks", "@kbn/core-http-server", - "@kbn/core-http-router-server-internal", "@kbn/actions-plugin", "@kbn/core-saved-objects-server", "@kbn/observability-ai-assistant-plugin", diff --git a/x-pack/plugins/osquery/kibana.jsonc b/x-pack/plugins/osquery/kibana.jsonc index cd8e929da43d9..3cd4cfc7f0052 100644 --- a/x-pack/plugins/osquery/kibana.jsonc +++ b/x-pack/plugins/osquery/kibana.jsonc @@ -2,6 +2,8 @@ "type": "plugin", "id": "@kbn/osquery-plugin", "owner": "@elastic/security-defend-workflows", + "group": "platform", + "visibility": "shared", "plugin": { "id": "osquery", "server": true, diff --git a/x-pack/plugins/rollup/server/types.ts b/x-pack/plugins/rollup/server/types.ts index cb3f9b37541a9..b76a1e99f6d1d 100644 --- a/x-pack/plugins/rollup/server/types.ts +++ b/x-pack/plugins/rollup/server/types.ts @@ -5,24 +5,22 @@ * 2.0. */ -import { IRouter } from '@kbn/core/server'; -import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/server'; -import { VisTypeTimeseriesSetup } from '@kbn/vis-type-timeseries-plugin/server'; +import type { IRouter } from '@kbn/core/server'; +import type { UsageCollectionSetup } from '@kbn/usage-collection-plugin/server'; -import { getCapabilitiesForRollupIndices } from '@kbn/data-plugin/server'; -import { IndexManagementPluginSetup } from '@kbn/index-management-plugin/server'; -import { FeaturesPluginSetup } from '@kbn/features-plugin/server'; -import { DataViewsServerPluginSetup } from '@kbn/data-views-plugin/server'; -import { PluginSetup as DataPluginSetup } from '@kbn/data-plugin/server'; -import { LicensingPluginSetup } from '@kbn/licensing-plugin/server'; -import { License } from './services'; -import { IndexPatternsFetcher } from './shared_imports'; -import { handleEsError } from './shared_imports'; -import { formatEsError } from './lib/format_es_error'; +import type { getCapabilitiesForRollupIndices } from '@kbn/data-plugin/server'; +import type { IndexManagementPluginSetup } from '@kbn/index-management-plugin/server'; +import type { FeaturesPluginSetup } from '@kbn/features-plugin/server'; +import type { DataViewsServerPluginSetup } from '@kbn/data-views-plugin/server'; +import type { PluginSetup as DataPluginSetup } from '@kbn/data-plugin/server'; +import type { LicensingPluginSetup } from '@kbn/licensing-plugin/server'; +import type { License } from './services'; +import type { IndexPatternsFetcher } from './shared_imports'; +import type { handleEsError } from './shared_imports'; +import type { formatEsError } from './lib/format_es_error'; export interface Dependencies { indexManagement?: IndexManagementPluginSetup; - visTypeTimeseries?: VisTypeTimeseriesSetup; usageCollection?: UsageCollectionSetup; licensing: LicensingPluginSetup; features: FeaturesPluginSetup; diff --git a/x-pack/plugins/rollup/tsconfig.json b/x-pack/plugins/rollup/tsconfig.json index 2957a4bcb17c4..a74f689515de1 100644 --- a/x-pack/plugins/rollup/tsconfig.json +++ b/x-pack/plugins/rollup/tsconfig.json @@ -19,7 +19,6 @@ "@kbn/home-plugin", "@kbn/index-management-plugin", "@kbn/usage-collection-plugin", - "@kbn/vis-type-timeseries-plugin", // required bundles "@kbn/kibana-utils-plugin", "@kbn/kibana-react-plugin", diff --git a/x-pack/plugins/rule_registry/server/routes/get_alert_by_id.ts b/x-pack/plugins/rule_registry/server/routes/get_alert_by_id.ts index 0ecab0aaa0945..ca5e72c529d71 100644 --- a/x-pack/plugins/rule_registry/server/routes/get_alert_by_id.ts +++ b/x-pack/plugins/rule_registry/server/routes/get_alert_by_id.ts @@ -7,7 +7,7 @@ import { IRouter } from '@kbn/core/server'; import * as t from 'io-ts'; -import { id as _id } from '@kbn/securitysolution-io-ts-list-types'; +import { NonEmptyString } from '@kbn/securitysolution-io-ts-types'; import { transformError } from '@kbn/securitysolution-es-utils'; import { RacRequestHandlerContext } from '../types'; @@ -23,7 +23,7 @@ export const getAlertByIdRoute = (router: IRouter) => t.intersection([ t.exact( t.type({ - id: _id, + id: NonEmptyString, }) ), t.exact( diff --git a/x-pack/plugins/rule_registry/tsconfig.json b/x-pack/plugins/rule_registry/tsconfig.json index 8c244ed95e014..794917b370125 100644 --- a/x-pack/plugins/rule_registry/tsconfig.json +++ b/x-pack/plugins/rule_registry/tsconfig.json @@ -24,7 +24,6 @@ "@kbn/spaces-plugin", "@kbn/securitysolution-es-utils", "@kbn/securitysolution-io-ts-types", - "@kbn/securitysolution-io-ts-list-types", "@kbn/es-types", "@kbn/core-elasticsearch-client-server-mocks", "@kbn/logging-mocks", diff --git a/x-pack/plugins/search_connectors/kibana.jsonc b/x-pack/plugins/search_connectors/kibana.jsonc index 83d052ac232ad..6290b9692b384 100644 --- a/x-pack/plugins/search_connectors/kibana.jsonc +++ b/x-pack/plugins/search_connectors/kibana.jsonc @@ -2,8 +2,11 @@ "type": "plugin", "id": "@kbn/search-connectors-plugin", "owner": "@elastic/search-kibana", - "group": "platform", - "visibility": "shared", + // TODO this is currently used from Observability too, must be refactored before solution-specific builds + // see x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx + // cc sphilipse + "group": "search", + "visibility": "private", "description": "Plugin hosting shared features for connectors", "plugin": { "id": "searchConnectors", diff --git a/x-pack/plugins/security/server/anonymous_access/anonymous_access_service.ts b/x-pack/plugins/security/server/anonymous_access/anonymous_access_service.ts index ad0a9b79fff46..f82f83c2f21fc 100644 --- a/x-pack/plugins/security/server/anonymous_access/anonymous_access_service.ts +++ b/x-pack/plugins/security/server/anonymous_access/anonymous_access_service.ts @@ -5,16 +5,12 @@ * 2.0. */ -import type { - Capabilities, - CapabilitiesStart, - FakeRawRequest, - IBasePath, - IClusterClient, - KibanaRequest, - Logger, -} from '@kbn/core/server'; -import { CoreKibanaRequest } from '@kbn/core/server'; +import type { Capabilities } from '@kbn/core-capabilities-common'; +import type { CapabilitiesStart } from '@kbn/core-capabilities-server'; +import type { IClusterClient } from '@kbn/core-elasticsearch-server'; +import type { FakeRawRequest, IBasePath, KibanaRequest } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; +import type { Logger } from '@kbn/logging'; import { addSpaceIdToPath } from '@kbn/spaces-plugin/common'; import type { SpacesServiceStart } from '@kbn/spaces-plugin/server'; @@ -176,6 +172,6 @@ export class AnonymousAccessService { auth: { isAuthenticated: authenticateRequest }, path: '/', }; - return CoreKibanaRequest.from(fakeRawRequest); + return kibanaRequestFactory(fakeRawRequest); } } diff --git a/x-pack/plugins/security/server/audit/audit_service.test.ts b/x-pack/plugins/security/server/audit/audit_service.test.ts index 8df7450317df4..4bb33c5d1c2fb 100644 --- a/x-pack/plugins/security/server/audit/audit_service.test.ts +++ b/x-pack/plugins/security/server/audit/audit_service.test.ts @@ -8,14 +8,11 @@ import type { Socket } from 'net'; import { lastValueFrom, Observable, of } from 'rxjs'; -import type { FakeRawRequest } from '@kbn/core/server'; -import { CoreKibanaRequest } from '@kbn/core/server'; -import { - coreMock, - httpServerMock, - httpServiceMock, - loggingSystemMock, -} from '@kbn/core/server/mocks'; +import { coreMock } from '@kbn/core/server/mocks'; +import type { FakeRawRequest } from '@kbn/core-http-server'; +import { httpServerMock, httpServiceMock } from '@kbn/core-http-server-mocks'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import type { AuditEvent } from '@kbn/security-plugin-types-server'; import { @@ -233,7 +230,7 @@ describe('#asScoped', () => { headers: {}, path: '/', }; - const request = CoreKibanaRequest.from(fakeRawRequest); + const request = kibanaRequestFactory(fakeRawRequest); await auditSetup.asScoped(request).log({ message: 'MESSAGE', diff --git a/x-pack/plugins/security/server/authentication/api_keys/fake_kibana_request.ts b/x-pack/plugins/security/server/authentication/api_keys/fake_kibana_request.ts index d57fc23cd5c7c..c00dc6a44fa71 100644 --- a/x-pack/plugins/security/server/authentication/api_keys/fake_kibana_request.ts +++ b/x-pack/plugins/security/server/authentication/api_keys/fake_kibana_request.ts @@ -5,8 +5,8 @@ * 2.0. */ -import type { FakeRawRequest, Headers } from '@kbn/core/server'; -import { CoreKibanaRequest } from '@kbn/core/server'; +import type { FakeRawRequest, Headers } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; export function getFakeKibanaRequest(apiKey: { id: string; api_key: string }) { const requestHeaders: Headers = {}; @@ -20,5 +20,5 @@ export function getFakeKibanaRequest(apiKey: { id: string; api_key: string }) { path: '/', }; - return CoreKibanaRequest.from(fakeRawRequest); + return kibanaRequestFactory(fakeRawRequest); } diff --git a/x-pack/plugins/security/tsconfig.json b/x-pack/plugins/security/tsconfig.json index 4837d3729e3f9..bfbf5df127597 100644 --- a/x-pack/plugins/security/tsconfig.json +++ b/x-pack/plugins/security/tsconfig.json @@ -88,6 +88,9 @@ "@kbn/core-http-router-server-mocks", "@kbn/security-authorization-core-common", "@kbn/doc-links", + "@kbn/core-capabilities-server", + "@kbn/core-elasticsearch-server", + "@kbn/core-http-server-utils", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/insight/use_insight_data_providers.test.ts b/x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/insight/use_insight_data_providers.test.ts index 4d1807b91b718..f8b0e1bff9441 100644 --- a/x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/insight/use_insight_data_providers.test.ts +++ b/x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/insight/use_insight_data_providers.test.ts @@ -4,13 +4,11 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; -import type { UseInsightDataProvidersProps, Provider } from './use_insight_data_providers'; + +import { renderHook } from '@testing-library/react'; +import type { Provider } from './use_insight_data_providers'; import type { TimelineEventsDetailsItem } from '../../../../../../common/search_strategy'; -import { - useInsightDataProviders, - type UseInsightDataProvidersResult, -} from './use_insight_data_providers'; +import { useInsightDataProviders } from './use_insight_data_providers'; import { mockAlertDetailsData } from '../../../event_details/mocks'; const mockAlertDetailsDataWithIsObject = mockAlertDetailsData.map((detail) => { @@ -103,7 +101,7 @@ const providerWithRange: Provider[][] = [ describe('useInsightDataProviders', () => { it('should return 2 data providers, 1 with a nested provider ANDed to it', () => { - const { result } = renderHook(() => + const { result } = renderHook(() => useInsightDataProviders({ providers: nestedAndProvider, alertData: mockAlertDetailsDataWithIsObject, @@ -117,7 +115,7 @@ describe('useInsightDataProviders', () => { }); it('should return 3 data providers without any containing nested ANDs', () => { - const { result } = renderHook(() => + const { result } = renderHook(() => useInsightDataProviders({ providers: topLevelOnly, alertData: mockAlertDetailsDataWithIsObject, @@ -130,7 +128,7 @@ describe('useInsightDataProviders', () => { }); it('should use the string literal if no field in the alert matches a bracketed value', () => { - const { result } = renderHook(() => + const { result } = renderHook(() => useInsightDataProviders({ providers: nonExistantField, alertData: mockAlertDetailsDataWithIsObject, @@ -145,7 +143,7 @@ describe('useInsightDataProviders', () => { }); it('should use template data providers when called without alertData', () => { - const { result } = renderHook(() => + const { result } = renderHook(() => useInsightDataProviders({ providers: nestedAndProvider, }) @@ -159,7 +157,7 @@ describe('useInsightDataProviders', () => { }); it('should return an empty array of dataProviders and populated filters if a provider contains a range type', () => { - const { result } = renderHook(() => + const { result } = renderHook(() => useInsightDataProviders({ providers: providerWithRange, }) diff --git a/x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/insight/use_insight_query.test.ts b/x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/insight/use_insight_query.test.ts index a162c625c7adc..98d5e2f3f7df4 100644 --- a/x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/insight/use_insight_query.test.ts +++ b/x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/insight/use_insight_query.test.ts @@ -4,13 +4,11 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import type React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import type { QueryOperator } from '@kbn/timelines-plugin/common'; import { DataProviderTypeEnum } from '../../../../../../common/api/timeline'; import { useInsightQuery } from './use_insight_query'; import { TestProviders } from '../../../../mock'; -import type { UseInsightQuery, UseInsightQueryResult } from './use_insight_query'; import { IS_OPERATOR } from '../../../../../timelines/components/timeline/data_providers/data_provider'; const mockProvider = { @@ -30,7 +28,7 @@ const mockProvider = { describe('useInsightQuery', () => { it('should return renderable defaults', () => { - const { result } = renderHook, UseInsightQueryResult>( + const { result } = renderHook( () => useInsightQuery({ dataProviders: [mockProvider], diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_summary_charts_panel/use_summary_chart_data.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_summary_charts_panel/use_summary_chart_data.test.tsx index 74e04a61ae5bd..e34d8be795ba8 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_summary_charts_panel/use_summary_chart_data.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_summary_charts_panel/use_summary_chart_data.test.tsx @@ -5,11 +5,10 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; -import type { PropsWithChildren } from 'react'; +import { renderHook } from '@testing-library/react'; import { TestProviders } from '../../../../common/mock'; import { ALERTS_QUERY_NAMES } from '../../../containers/detection_engine/alerts/constants'; -import type { UseAlerts, UseAlertsQueryProps } from './use_summary_chart_data'; +import type { UseAlertsQueryProps } from './use_summary_chart_data'; import { useSummaryChartData, getAlertsQuery } from './use_summary_chart_data'; import * as aggregations from './aggregations'; import * as severityMock from '../severity_level_panel/mock_data'; @@ -76,7 +75,7 @@ describe('getAlertsQuery', () => { // helper function to render the hook const renderUseSummaryChartData = (props: Partial = {}) => - renderHook, ReturnType>( + renderHook( () => useSummaryChartData({ aggregations: aggregations.severityAggregations, diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/chart_panels/alerts_local_storage/index.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/chart_panels/alerts_local_storage/index.test.tsx index 303b85a40e6ee..82e8456e28571 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/chart_panels/alerts_local_storage/index.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/chart_panels/alerts_local_storage/index.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import React from 'react'; import { useAlertsLocalStorage } from '.'; diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/common/hooks.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/common/hooks.test.tsx index c89626b9edcec..f7fd2eced3d3d 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/common/hooks.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/common/hooks.test.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import type { FieldSpec } from '@kbn/data-plugin/common'; import type { GetAggregatableFields, UseInspectButtonParams } from './hooks'; @@ -120,7 +120,7 @@ describe('hooks', () => { jest.clearAllMocks(); }); it('returns only aggregateable fields', () => { - const wrapper = ({ children }: { children: JSX.Element }) => ( + const wrapper = ({ children }: React.PropsWithChildren) => ( {children} ); const { result, unmount } = renderHook(() => useStackByFields(), { wrapper }); @@ -137,7 +137,7 @@ describe('hooks', () => { browserFields: { base: mockBrowserFields.base }, }); - const wrapper = ({ children }: { children: JSX.Element }) => ( + const wrapper = ({ children }: React.PropsWithChildren) => ( {children} ); const useLensCompatibleFields = true; @@ -155,7 +155,7 @@ describe('hooks', () => { browserFields: { nestedField: mockBrowserFields.nestedField }, }); - const wrapper = ({ children }: { children: JSX.Element }) => ( + const wrapper = ({ children }: React.PropsWithChildren) => ( {children} ); const useLensCompatibleFields = true; diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/investigate_in_resolver.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/investigate_in_resolver.test.tsx index cb1fa0b4ef86e..fe3648c426bc0 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/investigate_in_resolver.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/investigate_in_resolver.test.tsx @@ -7,7 +7,7 @@ import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs'; import { useIsInvestigateInResolverActionEnabled } from './investigate_in_resolver'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { TestProviders } from '../../../../common/mock'; describe('InvestigateInResolverAction', () => { diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_add_to_case_actions.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_add_to_case_actions.test.tsx index b60a7a5644b52..d22520f9f9553 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_add_to_case_actions.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_add_to_case_actions.test.tsx @@ -7,8 +7,7 @@ import React from 'react'; import { EuiContextMenu, EuiPopover } from '@elastic/eui'; -import { act, renderHook } from '@testing-library/react-hooks'; -import { render, screen } from '@testing-library/react'; +import { render, screen, renderHook, act } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { useAddToCaseActions } from './use_add_to_case_actions'; import { TestProviders } from '../../../../common/mock'; diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alert_assignees_actions.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alert_assignees_actions.test.tsx index a7bde416b7ca0..b3173bcff3770 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alert_assignees_actions.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alert_assignees_actions.test.tsx @@ -5,12 +5,11 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; import type { UseAlertAssigneesActionsProps } from './use_alert_assignees_actions'; import { useAlertAssigneesActions } from './use_alert_assignees_actions'; import { useAlertsPrivileges } from '../../../containers/detection_engine/alerts/use_alerts_privileges'; import type { AlertTableContextMenuItem } from '../types'; -import { render } from '@testing-library/react'; +import { render, renderHook } from '@testing-library/react'; import React from 'react'; import type { EuiContextMenuPanelDescriptor } from '@elastic/eui'; import { EuiPopover, EuiContextMenu } from '@elastic/eui'; diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alert_tags_actions.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alert_tags_actions.test.tsx index 4e037467597c9..64461725b8622 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alert_tags_actions.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alert_tags_actions.test.tsx @@ -5,12 +5,11 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; import type { UseAlertTagsActionsProps } from './use_alert_tags_actions'; import { useAlertTagsActions } from './use_alert_tags_actions'; import { useAlertsPrivileges } from '../../../containers/detection_engine/alerts/use_alerts_privileges'; import type { AlertTableContextMenuItem } from '../types'; -import { render } from '@testing-library/react'; +import { render, renderHook } from '@testing-library/react'; import React from 'react'; import type { EuiContextMenuPanelDescriptor } from '@elastic/eui'; import { EuiPopover, EuiContextMenu } from '@elastic/eui'; diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_investigate_in_timeline.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_investigate_in_timeline.test.tsx index 9de3d29889bbb..8de172d54a07f 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_investigate_in_timeline.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_investigate_in_timeline.test.tsx @@ -4,8 +4,8 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks'; -import { fireEvent, render, waitFor } from '@testing-library/react'; + +import { fireEvent, render, waitFor, renderHook, act } from '@testing-library/react'; import { of } from 'rxjs'; import { TestProviders } from '../../../../common/mock'; import { useKibana } from '../../../../common/lib/kibana'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_fetch_alerts.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_fetch_alerts.test.ts index c4910f5daa42a..9f9d031cc0bf2 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_fetch_alerts.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_fetch_alerts.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook, waitFor } from '@testing-library/react'; import { useKibana } from '../../../../common/lib/kibana'; import { createFindAlerts } from '../services/find_alerts'; import { useFetchAlerts, type UseAlertsQueryParams } from './use_fetch_alerts'; @@ -41,15 +41,14 @@ describe('useFetchAlerts', () => { sort: [{ '@timestamp': 'desc' }], }; - const { result, waitFor } = renderHook(() => useFetchAlerts(params), { + const { result } = renderHook(() => useFetchAlerts(params), { wrapper: createReactQueryWrapper(), }); expect(result.current.loading).toBe(true); - await waitFor(() => !result.current.loading); + await waitFor(() => expect(result.current.loading).toBe(false)); - expect(result.current.loading).toBe(false); expect(result.current.error).toBe(false); expect(result.current.totalItemCount).toBe(10); expect(result.current.data).toEqual(['alert1', 'alert2', 'alert3']); @@ -70,13 +69,13 @@ describe('useFetchAlerts', () => { sort: [{ '@timestamp': 'desc' }], }; - const { result, waitFor } = renderHook(() => useFetchAlerts(params), { + const { result } = renderHook(() => useFetchAlerts(params), { wrapper: createReactQueryWrapper(), }); expect(result.current.loading).toBe(true); - await waitFor(() => !result.current.loading); + await waitFor(() => expect(result.current.loading).toBe(false)); expect(result.current.loading).toBe(false); expect(result.current.error).toBe(true); diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_response_actions_view.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_response_actions_view.test.ts index cafac9f3a0b9f..5e6469e44a048 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_response_actions_view.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_response_actions_view.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useResponseActionsView } from './use_response_actions_view'; import { mockSearchHit } from '../../shared/mocks/mock_search_hit'; import { mockDataAsNestedObject } from '../../shared/mocks/mock_data_as_nested_object'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_threat_intelligence_details.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_threat_intelligence_details.test.ts index 17e564a1eb8ab..75b76adae787d 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_threat_intelligence_details.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/left/hooks/use_threat_intelligence_details.test.ts @@ -6,7 +6,7 @@ */ import { useThreatIntelligenceDetails } from './use_threat_intelligence_details'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { SecurityPageName } from '@kbn/deeplinks-security'; import { useTimelineEventsDetails } from '../../../../timelines/containers/details'; import { useSourcererDataView } from '../../../../sourcerer/containers'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_accordion_state.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_accordion_state.test.ts index ac3c9c8a6be0d..80ac41b539fa1 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_accordion_state.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_accordion_state.test.ts @@ -7,14 +7,14 @@ import type { ToggleReducerAction, UseAccordionStateValue } from './use_accordion_state'; import { useAccordionState, toggleReducer } from './use_accordion_state'; -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import { FLYOUT_STORAGE_KEYS } from '../../shared/constants/local_storage'; const mockSet = jest.fn(); describe('useAccordionState', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return initial value', () => { hookResult = renderHook((props: boolean) => useAccordionState(props), { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_assistant.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_assistant.test.tsx index 9ca0d9fd18e7d..1871c4aad5b8d 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_assistant.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_assistant.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseAssistantParams, UseAssistantResult } from './use_assistant'; import { useAssistant } from './use_assistant'; import { mockDataFormattedForFieldBrowser } from '../../shared/mocks/mock_data_formatted_for_field_browser'; @@ -25,7 +25,7 @@ const renderUseAssistant = () => }); describe('useAssistant', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it(`should return showAssistant true and a value for promptContextId`, () => { jest.mocked(useAssistantAvailability).mockReturnValue({ diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_expand_section.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_expand_section.test.ts index 998f56312b0f0..26c9b36a728aa 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_expand_section.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_expand_section.test.ts @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseExpandSectionParams } from './use_expand_section'; import { useExpandSection } from './use_expand_section'; import { useKibana } from '../../../../common/lib/kibana'; @@ -14,7 +14,7 @@ import { useKibana } from '../../../../common/lib/kibana'; jest.mock('../../../../common/lib/kibana'); describe('useExpandSection', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return default value if nothing in localStorage', () => { (useKibana as jest.Mock).mockReturnValue({ diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_fetch_threat_intelligence.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_fetch_threat_intelligence.test.tsx index e778552dff613..74672356f0762 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_fetch_threat_intelligence.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_fetch_threat_intelligence.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseThreatIntelligenceParams, UseThreatIntelligenceResult, @@ -41,7 +41,7 @@ const dataFormattedForFieldBrowser = [ ]; describe('useFetchThreatIntelligence', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('return render 1 match detected and 1 field enriched', () => { (useInvestigationTimeEnrichment as jest.Mock).mockReturnValue({ diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_flyout_is_expandable.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_flyout_is_expandable.test.tsx index a67bb675a373a..3611ab6282644 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_flyout_is_expandable.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_flyout_is_expandable.test.tsx @@ -6,7 +6,7 @@ */ import { useFlyoutIsExpandable } from './use_flyout_is_expandable'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs'; import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_get_flyout_link.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_get_flyout_link.test.tsx index 2db21334e59f3..71b24ab891e78 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_get_flyout_link.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_get_flyout_link.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useGetFlyoutLink } from './use_get_flyout_link'; import { useGetAppUrl } from '@kbn/security-solution-navigation'; import { ALERT_DETAILS_REDIRECT_PATH } from '../../../../../common/constants'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_graph_preview.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_graph_preview.test.tsx index d12154a390abf..7fa0741a85118 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_graph_preview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_graph_preview.test.tsx @@ -5,15 +5,15 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseGraphPreviewParams, UseGraphPreviewResult } from './use_graph_preview'; import { useGraphPreview } from './use_graph_preview'; import type { GetFieldsData } from '../../shared/hooks/use_get_fields_data'; import { mockFieldData } from '../../shared/mocks/mock_get_fields_data'; describe('useGraphPreview', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it(`should return false when missing actor`, () => { const getFieldsData: GetFieldsData = (field: string) => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_process_data.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_process_data.test.tsx index 31eb78975d195..6f6085c13ee6f 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_process_data.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_process_data.test.tsx @@ -6,7 +6,7 @@ */ import { getUserDisplayName, useProcessData } from './use_process_data'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import type { FC, PropsWithChildren } from 'react'; import { DocumentDetailsContext } from '../../shared/context'; import React from 'react'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_session_preview.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_session_preview.test.tsx index 0f6f233772626..4e2e19c6b54fa 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_session_preview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_session_preview.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseSessionPreviewParams } from './use_session_preview'; import { useSessionPreview } from './use_session_preview'; import type { SessionViewConfig } from '@kbn/securitysolution-data-table/common/types'; @@ -15,7 +15,7 @@ import { mockDataFormattedForFieldBrowser } from '../../shared/mocks/mock_data_f import { mockFieldData, mockGetFieldsData } from '../../shared/mocks/mock_get_fields_data'; describe('useSessionPreview', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it(`should return a session view config object if alert ancestor index is available`, () => { const getFieldsData: GetFieldsData = (field: string) => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_tabs.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_tabs.test.tsx index 87a23a06b7ce1..a8a7f61bac26c 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_tabs.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/hooks/use_tabs.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseTabsParams, UseTabsResult } from './use_tabs'; import { allThreeTabs, twoTabs, useTabs } from './use_tabs'; @@ -26,7 +26,7 @@ jest.mock('../../../../common/lib/kibana', () => { }); describe('useTabs', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return 3 tabs to render and the one from path as selected', () => { const initialProps: UseTabsParams = { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_document_analyzer_schema.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_document_analyzer_schema.test.tsx index 3c31720b53f99..8d9cbd958e432 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_document_analyzer_schema.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_document_analyzer_schema.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import { useQuery } from '@tanstack/react-query'; import type { UseAlertDocumentAnalyzerSchemaParams, @@ -20,8 +20,8 @@ jest.mock('@tanstack/react-query'); describe('useAlertPrevalenceFromProcessTree', () => { let hookResult: RenderHookResult< - UseAlertDocumentAnalyzerSchemaParams, - UseAlertDocumentAnalyzerSchemaResult + UseAlertDocumentAnalyzerSchemaResult, + UseAlertDocumentAnalyzerSchemaParams >; beforeEach(() => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_prevalence.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_prevalence.test.tsx index 231e0e5419441..27b83255443b5 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_prevalence.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_prevalence.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import { ALERT_PREVALENCE_AGG, useAlertPrevalence } from './use_alert_prevalence'; import type { UseAlertPrevalenceParams, UserAlertPrevalenceResult } from './use_alert_prevalence'; import { useGlobalTime } from '../../../../common/containers/use_global_time'; @@ -18,7 +18,7 @@ jest.mock('../../../../common/hooks/use_selector'); jest.mock('../../../../detections/containers/detection_engine/alerts/use_query'); describe('useAlertPrevalence', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; beforeEach(() => { (useDeepEqualSelector as jest.Mock).mockReturnValue({ diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_prevalence_from_process_tree.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_prevalence_from_process_tree.test.tsx index 94b7cfa623507..668f233e65710 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_prevalence_from_process_tree.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_alert_prevalence_from_process_tree.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseAlertPrevalenceFromProcessTreeParams, UserAlertPrevalenceFromProcessTreeResult, @@ -25,8 +25,8 @@ jest.mock('@tanstack/react-query'); describe('useAlertPrevalenceFromProcessTree', () => { let hookResult: RenderHookResult< - UseAlertPrevalenceFromProcessTreeParams, - UserAlertPrevalenceFromProcessTreeResult + UserAlertPrevalenceFromProcessTreeResult, + UseAlertPrevalenceFromProcessTreeParams >; beforeEach(() => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_basic_data_from_details_data.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_basic_data_from_details_data.test.tsx index b4cd7c35824a1..2894cb0d21276 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_basic_data_from_details_data.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_basic_data_from_details_data.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useBasicDataFromDetailsData } from './use_basic_data_from_details_data'; import { mockDataFormattedForFieldBrowser } from '../mocks/mock_data_formatted_for_field_browser'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_event_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_event_details.test.tsx index efa56c9e65720..1d9181b8514b1 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_event_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_event_details.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseEventDetailsParams, UseEventDetailsResult } from './use_event_details'; import { getAlertIndexAlias, useEventDetails } from './use_event_details'; import { useSpaceId } from '../../../../common/hooks/use_space_id'; @@ -45,7 +45,7 @@ describe('getAlertIndexAlias', () => { }); describe('useEventDetails', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return all properties', () => { jest.mocked(useSpaceId).mockReturnValue('default'); diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_ancestry.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_ancestry.test.tsx index 4d65339c6b41a..7630c260f4c21 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_ancestry.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_ancestry.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseFetchRelatedAlertsByAncestryParams, UseFetchRelatedAlertsByAncestryResult, @@ -22,8 +22,8 @@ const scopeId = 'scopeId'; describe('useFetchRelatedAlertsByAncestry', () => { let hookResult: RenderHookResult< - UseFetchRelatedAlertsByAncestryParams, - UseFetchRelatedAlertsByAncestryResult + UseFetchRelatedAlertsByAncestryResult, + UseFetchRelatedAlertsByAncestryParams >; it('should return loading true while data is loading', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_same_source_event.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_same_source_event.test.tsx index ff74774068adf..9da01a94d51dc 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_same_source_event.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_same_source_event.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseFetchRelatedAlertsBySameSourceEventParams, UseFetchRelatedAlertsBySameSourceEventResult, @@ -21,8 +21,8 @@ const scopeId = 'scopeId'; describe('useFetchRelatedAlertsBySameSourceEvent', () => { let hookResult: RenderHookResult< - UseFetchRelatedAlertsBySameSourceEventParams, - UseFetchRelatedAlertsBySameSourceEventResult + UseFetchRelatedAlertsBySameSourceEventResult, + UseFetchRelatedAlertsBySameSourceEventParams >; it('should return loading true while data is loading', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_session.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_session.test.tsx index b38ef44178f9f..27f030cc11e2d 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_session.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_alerts_by_session.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseFetchRelatedAlertsBySessionParams, @@ -22,8 +22,8 @@ const scopeId = 'scopeId'; describe('useFetchRelatedAlertsBySession', () => { let hookResult: RenderHookResult< - UseFetchRelatedAlertsBySessionParams, - UseFetchRelatedAlertsBySessionResult + UseFetchRelatedAlertsBySessionResult, + UseFetchRelatedAlertsBySessionParams >; it('should return loading true while data is loading', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_cases.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_cases.test.ts index 6ebdc2bc4b7c7..9e494ef8e05d0 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_cases.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_fetch_related_cases.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { createReactQueryWrapper } from '../../../../common/mock'; import { useFetchRelatedCases } from './use_fetch_related_cases'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_get_fields_data.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_get_fields_data.test.tsx index fcf370b4bca1a..a91d14c7a84ee 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_get_fields_data.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_get_fields_data.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import { mockSearchHit } from '../mocks/mock_search_hit'; import type { UseGetFieldsDataParams, UseGetFieldsDataResult } from './use_get_fields_data'; import { useGetFieldsData } from './use_get_fields_data'; @@ -17,7 +17,7 @@ const fieldsData = { }; describe('useGetFieldsData', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return the value for a field', () => { hookResult = renderHook(() => useGetFieldsData({ fieldsData })); diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_highlighted_fields.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_highlighted_fields.test.tsx index 6eb8c242c79fe..6bffb7c58ae3f 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_highlighted_fields.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_highlighted_fields.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { mockDataFormattedForFieldBrowser, diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_investigation_enrichment.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_investigation_enrichment.test.ts index 0e1cdbc845b38..c79e1ec07ce15 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_investigation_enrichment.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_investigation_enrichment.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useInvestigationTimeEnrichment } from './use_investigation_enrichment'; import { DEFAULT_EVENT_ENRICHMENT_FROM, diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_investigation_guide.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_investigation_guide.test.ts index f7e3a40e60c40..39522df675486 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_investigation_guide.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_investigation_guide.test.ts @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseInvestigationGuideParams, UseInvestigationGuideResult, @@ -22,7 +22,7 @@ jest.mock('../../../../detection_engine/rule_management/logic/use_rule_with_fall const dataFormattedForFieldBrowser = mockDataFormattedForFieldBrowser; describe('useInvestigationGuide', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return loading true', () => { (useBasicDataFromDetailsData as jest.Mock).mockReturnValue({ ruleId: 'ruleId' }); diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_navigate_to_analyzer.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_navigate_to_analyzer.test.tsx index 6f578c7cdb95c..334bf5f08721e 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_navigate_to_analyzer.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_navigate_to_analyzer.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useExpandableFlyoutApi } from '@kbn/expandable-flyout'; import { useNavigateToAnalyzer } from './use_navigate_to_analyzer'; import { mockFlyoutApi } from '../mocks/mock_flyout_context'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_navigate_to_session_view.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_navigate_to_session_view.test.tsx index c0f85e07377df..ac624ce11ce56 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_navigate_to_session_view.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_navigate_to_session_view.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useExpandableFlyoutApi } from '@kbn/expandable-flyout'; import { useNavigateToSessionView } from './use_navigate_to_session_view'; import { mockFlyoutApi } from '../mocks/mock_flyout_context'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_prevalence.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_prevalence.test.tsx index a9c12adfc84ca..d4acc0eb0c7f6 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_prevalence.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_prevalence.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { usePrevalence } from './use_prevalence'; import { mockDataFormattedForFieldBrowser } from '../mocks/mock_data_formatted_for_field_browser'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_rule_details_link.test.ts b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_rule_details_link.test.ts index f77b82af80065..ca748433c1931 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_rule_details_link.test.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_rule_details_link.test.ts @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseRuleDetailsLinkParams } from './use_rule_details_link'; import { useRuleDetailsLink } from './use_rule_details_link'; @@ -24,7 +24,7 @@ jest.mock('../../../../common/components/link_to', () => ({ })); describe('useRuleDetailsLink', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return null if the ruleId prop is null', () => { const initialProps: UseRuleDetailsLinkParams = { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_ancestry.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_ancestry.test.tsx index f4be536d5419c..938930496d803 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_ancestry.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_ancestry.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseShowRelatedAlertsByAncestryParams, UseShowRelatedAlertsByAncestryResult, @@ -36,8 +36,8 @@ const dataAsNestedObject = mockDataAsNestedObject; describe('useShowRelatedAlertsByAncestry', () => { let hookResult: RenderHookResult< - UseShowRelatedAlertsByAncestryParams, - UseShowRelatedAlertsByAncestryResult + UseShowRelatedAlertsByAncestryResult, + UseShowRelatedAlertsByAncestryParams >; it('should return false if Process Entity Info is not available', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_same_source_event.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_same_source_event.test.tsx index dfbfeeccc655a..71f681c64e802 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_same_source_event.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_same_source_event.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { ShowRelatedAlertsBySameSourceEventParams, @@ -18,8 +18,8 @@ const eventId = 'eventId'; describe('useShowRelatedAlertsBySameSourceEvent', () => { let hookResult: RenderHookResult< - ShowRelatedAlertsBySameSourceEventParams, - ShowRelatedAlertsBySameSourceEventResult + ShowRelatedAlertsBySameSourceEventResult, + ShowRelatedAlertsBySameSourceEventParams >; it('should return eventId if getFieldsData returns null', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_session.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_session.test.tsx index 32595a4c27c6d..92d9c076ab64f 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_session.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_alerts_by_session.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { UseShowRelatedAlertsBySessionParams, @@ -16,8 +16,8 @@ import { useShowRelatedAlertsBySession } from './use_show_related_alerts_by_sess describe('useShowRelatedAlertsBySession', () => { let hookResult: RenderHookResult< - UseShowRelatedAlertsBySessionParams, - UseShowRelatedAlertsBySessionResult + UseShowRelatedAlertsBySessionResult, + UseShowRelatedAlertsBySessionParams >; it('should return false if getFieldsData returns null', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_cases.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_cases.test.tsx index cfa9b87d8fcfc..6245e480a35db 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_cases.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_related_cases.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useKibana as mockUseKibana } from '../../../../common/lib/kibana/__mocks__'; import { useShowRelatedCases } from './use_show_related_cases'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_suppressed_alerts.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_suppressed_alerts.test.tsx index 622f37a0997cf..b10e154fed3d5 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_suppressed_alerts.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_show_suppressed_alerts.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import type { ShowSuppressedAlertsParams, ShowSuppressedAlertsResult, @@ -14,7 +14,7 @@ import type { import { useShowSuppressedAlerts } from './use_show_suppressed_alerts'; describe('useShowSuppressedAlerts', () => { - let hookResult: RenderHookResult; + let hookResult: RenderHookResult; it('should return false if getFieldsData returns null', () => { const getFieldsData = () => null; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_which_flyout.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_which_flyout.test.tsx index 76277b8da889b..033fb53a5c029 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_which_flyout.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_which_flyout.test.tsx @@ -5,13 +5,13 @@ * 2.0. */ -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; +import type { RenderHookResult } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import { useWhichFlyout } from './use_which_flyout'; import { Flyouts } from '../constants/flyouts'; describe('useWhichFlyout', () => { - let hookResult: RenderHookResult<{}, string | null>; + let hookResult: RenderHookResult; beforeEach(() => { jest.clearAllMocks(); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_on_expandable_flyout_close.test.tsx b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_on_expandable_flyout_close.test.tsx index 308c1bcfc6cfc..2a4e5576e24bc 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_on_expandable_flyout_close.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_on_expandable_flyout_close.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useWhichFlyout } from '../../document_details/shared/hooks/use_which_flyout'; import { useOnExpandableFlyoutClose } from './use_on_expandable_flyout_close'; import { Flyouts } from '../../document_details/shared/constants/flyouts'; diff --git a/x-pack/plugins/security_solution/public/notes/hooks/use_fetch_notes.test.ts b/x-pack/plugins/security_solution/public/notes/hooks/use_fetch_notes.test.ts index 7498a6f40c6b6..b7fa3ab3fc519 100644 --- a/x-pack/plugins/security_solution/public/notes/hooks/use_fetch_notes.test.ts +++ b/x-pack/plugins/security_solution/public/notes/hooks/use_fetch_notes.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useDispatch } from 'react-redux'; import { useIsExperimentalFeatureEnabled } from '../../common/hooks/use_experimental_features'; import { fetchNotesByDocumentIds } from '../store/notes.slice'; diff --git a/x-pack/plugins/security_solution/public/sourcerer/components/use_get_sourcerer_data_view.test.ts b/x-pack/plugins/security_solution/public/sourcerer/components/use_get_sourcerer_data_view.test.ts index 87345f80ef701..bf687fa361db5 100644 --- a/x-pack/plugins/security_solution/public/sourcerer/components/use_get_sourcerer_data_view.test.ts +++ b/x-pack/plugins/security_solution/public/sourcerer/components/use_get_sourcerer_data_view.test.ts @@ -6,7 +6,7 @@ */ import { DataView } from '@kbn/data-views-plugin/common'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useSourcererDataView } from '../containers'; import { mockSourcererScope } from '../containers/mocks'; import { SourcererScopeName } from '../store/model'; @@ -14,14 +14,11 @@ import type { UseGetScopedSourcererDataViewArgs } from './use_get_sourcerer_data import { useGetScopedSourcererDataView } from './use_get_sourcerer_data_view'; const renderHookCustom = (args: UseGetScopedSourcererDataViewArgs) => { - return renderHook( - ({ sourcererScope }) => useGetScopedSourcererDataView({ sourcererScope }), - { - initialProps: { - ...args, - }, - } - ); + return renderHook(({ sourcererScope }) => useGetScopedSourcererDataView({ sourcererScope }), { + initialProps: { + ...args, + }, + }); }; jest.mock('../containers'); diff --git a/x-pack/plugins/security_solution/public/sourcerer/components/use_update_data_view.test.tsx b/x-pack/plugins/security_solution/public/sourcerer/components/use_update_data_view.test.tsx index b37565f3eb912..bb4d935dbdc99 100644 --- a/x-pack/plugins/security_solution/public/sourcerer/components/use_update_data_view.test.tsx +++ b/x-pack/plugins/security_solution/public/sourcerer/components/use_update_data_view.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useUpdateDataView } from './use_update_data_view'; import { useKibana as mockUseKibana } from '../../common/lib/kibana/__mocks__'; import * as i18n from './translations'; diff --git a/x-pack/plugins/security_solution/public/sourcerer/containers/hooks.test.tsx b/x-pack/plugins/security_solution/public/sourcerer/containers/hooks.test.tsx index e712e780636e4..83019347d309f 100644 --- a/x-pack/plugins/security_solution/public/sourcerer/containers/hooks.test.tsx +++ b/x-pack/plugins/security_solution/public/sourcerer/containers/hooks.test.tsx @@ -6,8 +6,7 @@ */ import React from 'react'; -import { act, renderHook } from '@testing-library/react-hooks'; -import { waitFor } from '@testing-library/react'; +import { act, waitFor, renderHook } from '@testing-library/react'; import { Provider } from 'react-redux'; import { useSourcererDataView } from '.'; @@ -137,8 +136,12 @@ jest.mock('../../common/lib/kibana', () => ({ type: 'keyword', }, }), + toSpec: () => ({ + id: dataViewId, + }), }) ), + getExistingIndices: jest.fn(() => [] as string[]), }, indexPatterns: { getTitles: jest.fn().mockImplementation(() => Promise.resolve(mockPatterns)), @@ -153,34 +156,35 @@ jest.mock('../../common/lib/kibana', () => ({ describe('Sourcerer Hooks', () => { let store = createMockStore(); + const StoreProvider: React.FC = ({ children }) => ( + {children} + ); + const Wrapper: React.FC = ({ children }) => ( + {children} + ); + beforeEach(() => { jest.clearAllMocks(); store = createMockStore(); mockUseUserInfo.mockImplementation(() => userInfoState); }); it('initializes loading default and timeline index patterns', async () => { - await act(async () => { - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - expect(mockDispatch).toBeCalledTimes(3); - expect(mockDispatch.mock.calls[0][0]).toEqual({ - type: 'x-pack/security_solution/local/sourcerer/SET_DATA_VIEW_LOADING', - payload: { id: 'security-solution', loading: true }, - }); - expect(mockDispatch.mock.calls[1][0]).toEqual({ - type: 'x-pack/security_solution/local/sourcerer/SET_SELECTED_DATA_VIEW', - payload: { - id: 'timeline', - selectedDataViewId: 'security-solution', - selectedPatterns: ['.siem-signals-spacename', ...DEFAULT_INDEX_PATTERN], - }, - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + expect(mockDispatch.mock.calls[0][0]).toEqual({ + type: 'x-pack/security_solution/local/sourcerer/SET_DATA_VIEW_LOADING', + payload: { id: 'security-solution', loading: true }, + }); + expect(mockDispatch.mock.calls[1][0]).toEqual({ + type: 'x-pack/security_solution/local/sourcerer/SET_SELECTED_DATA_VIEW', + payload: { + id: 'timeline', + selectedDataViewId: 'security-solution', + selectedPatterns: ['.siem-signals-spacename', ...DEFAULT_INDEX_PATTERN], + }, }); }); it('sets signal index name', async () => { @@ -202,47 +206,42 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - mockUseUserInfo.mockImplementation(() => ({ - ...userInfoState, - loading: false, - signalIndexName: mockSourcererState.signalIndexName, - })); - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - await waitFor(() => { - expect(mockDispatch.mock.calls[3][0]).toEqual({ - type: 'x-pack/security_solution/local/sourcerer/SET_SOURCERER_SCOPE_LOADING', - payload: { loading: true }, - }); - expect(mockDispatch.mock.calls[4][0]).toEqual({ - type: 'x-pack/security_solution/local/sourcerer/SET_SIGNAL_INDEX_NAME', - payload: { signalIndexName: mockSourcererState.signalIndexName }, - }); - expect(mockDispatch.mock.calls[5][0]).toEqual({ - type: 'x-pack/security_solution/local/sourcerer/SET_DATA_VIEW_LOADING', - payload: { - id: mockSourcererState.defaultDataView.id, - loading: true, - }, - }); - expect(mockDispatch.mock.calls[6][0]).toEqual({ - type: 'x-pack/security_solution/local/sourcerer/SET_SOURCERER_DATA_VIEWS', - payload: mockNewDataViews, - }); - expect(mockDispatch.mock.calls[7][0]).toEqual({ - type: 'x-pack/security_solution/local/sourcerer/SET_SOURCERER_SCOPE_LOADING', - payload: { loading: false }, - }); - expect(mockDispatch).toHaveBeenCalledTimes(8); - expect(mockSearch).toHaveBeenCalledTimes(2); + mockUseUserInfo.mockImplementation(() => ({ + ...userInfoState, + loading: false, + signalIndexName: mockSourcererState.signalIndexName, + })); + const { rerender } = renderHook(useInitSourcerer, { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => { + expect(mockDispatch.mock.calls[3][0]).toEqual({ + type: 'x-pack/security_solution/local/sourcerer/SET_SOURCERER_SCOPE_LOADING', + payload: { loading: true }, + }); + expect(mockDispatch.mock.calls[4][0]).toEqual({ + type: 'x-pack/security_solution/local/sourcerer/SET_SIGNAL_INDEX_NAME', + payload: { signalIndexName: mockSourcererState.signalIndexName }, + }); + expect(mockDispatch.mock.calls[5][0]).toEqual({ + type: 'x-pack/security_solution/local/sourcerer/SET_DATA_VIEW_LOADING', + payload: { + id: mockSourcererState.defaultDataView.id, + loading: true, + }, + }); + expect(mockDispatch.mock.calls[6][0]).toEqual({ + type: 'x-pack/security_solution/local/sourcerer/SET_SOURCERER_DATA_VIEWS', + payload: mockNewDataViews, }); + expect(mockDispatch.mock.calls[7][0]).toEqual({ + type: 'x-pack/security_solution/local/sourcerer/SET_SOURCERER_SCOPE_LOADING', + payload: { loading: false }, + }); + + expect(mockSearch).toHaveBeenCalledTimes(2); }); }); @@ -258,8 +257,8 @@ describe('Sourcerer Hooks', () => { }) ); - renderHook, void>(() => useInitSourcerer(), { - wrapper: ({ children }) => {children}, + renderHook(() => useInitSourcerer(), { + wrapper: Wrapper, }); expect(mockDispatch).toHaveBeenCalledWith( @@ -278,8 +277,8 @@ describe('Sourcerer Hooks', () => { onInitialize(null) ); - renderHook, void>(() => useInitSourcerer(), { - wrapper: ({ children }) => {children}, + renderHook(() => useInitSourcerer(), { + wrapper: Wrapper, }); expect(updateUrlParam).toHaveBeenCalledWith({ @@ -302,16 +301,14 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - renderHook, void>(() => useInitSourcerer(), { - wrapper: ({ children }) => {children}, - }); + renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); - await waitFor(() => { - expect(mockAddWarning).toHaveBeenNthCalledWith(1, { - text: 'Users with write permission need to access the Elastic Security app to initialize the app source data.', - title: 'Write role required to generate data', - }); + await waitFor(() => { + expect(mockAddWarning).toHaveBeenNthCalledWith(1, { + text: 'Users with write permission need to access the Elastic Security app to initialize the app source data.', + title: 'Write role required to generate data', }); }); }); @@ -333,27 +330,25 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - mockUseUserInfo.mockImplementation(() => ({ - ...userInfoState, - loading: false, - signalIndexName: mockSourcererState.signalIndexName, - })); - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); + mockUseUserInfo.mockImplementation(() => ({ + ...userInfoState, + loading: false, + signalIndexName: mockSourcererState.signalIndexName, + })); - await waitFor(() => { - expect(mockCreateSourcererDataView).toHaveBeenCalled(); - expect(mockAddError).not.toHaveBeenCalled(); - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, }); + + await waitFor(() => new Promise((resolve) => resolve(null))); + + rerender(); + + await waitFor(() => new Promise((resolve) => resolve(null))); + + expect(mockCreateSourcererDataView).toHaveBeenCalled(); + expect(mockAddError).not.toHaveBeenCalled(); }); it('does call addError if updateSourcererDataView receives a non-abort error', async () => { @@ -375,66 +370,51 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - mockUseUserInfo.mockImplementation(() => ({ - ...userInfoState, - loading: false, - signalIndexName: mockSourcererState.signalIndexName, - })); - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); + mockUseUserInfo.mockImplementation(() => ({ + ...userInfoState, + loading: false, + signalIndexName: mockSourcererState.signalIndexName, + })); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); - await waitForNextUpdate(); - rerender(); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); - await waitFor(() => { - expect(mockAddError).toHaveBeenCalled(); - }); + await waitFor(() => { + expect(mockAddError).toHaveBeenCalled(); }); }); it('handles detections page', async () => { - await act(async () => { - mockUseUserInfo.mockImplementation(() => ({ - ...userInfoState, - signalIndexName: mockSourcererState.signalIndexName, - isSignalIndexExists: true, - })); - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(SourcererScopeName.detections), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - expect(mockDispatch.mock.calls[3][0]).toEqual({ - type: 'x-pack/security_solution/local/sourcerer/SET_SELECTED_DATA_VIEW', - payload: { - id: 'detections', - selectedDataViewId: mockSourcererState.defaultDataView.id, - selectedPatterns: [mockSourcererState.signalIndexName], - }, - }); + mockUseUserInfo.mockImplementation(() => ({ + ...userInfoState, + signalIndexName: mockSourcererState.signalIndexName, + isSignalIndexExists: true, + })); + const { rerender } = renderHook(() => useInitSourcerer(SourcererScopeName.detections), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + expect(mockDispatch.mock.calls[3][0]).toEqual({ + type: 'x-pack/security_solution/local/sourcerer/SET_SELECTED_DATA_VIEW', + payload: { + id: 'detections', + selectedDataViewId: mockSourcererState.defaultDataView.id, + selectedPatterns: [mockSourcererState.signalIndexName], + }, }); }); it('index field search is not repeated when default and timeline have same dataViewId', async () => { - await act(async () => { - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - await waitFor(() => { - expect(mockSearch).toHaveBeenCalledTimes(1); - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => { + expect(mockSearch).toHaveBeenCalledTimes(1); }); }); it('index field search called twice when default and timeline have different dataViewId', async () => { @@ -451,18 +431,13 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - await waitFor(() => { - expect(mockSearch).toHaveBeenCalledTimes(2); - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => { + expect(mockSearch).toHaveBeenCalledTimes(2); }); }); describe('initialization settings', () => { @@ -476,21 +451,16 @@ describe('Sourcerer Hooks', () => { })); }); it('does not needToBeInit if scope is default and selectedPatterns/missingPatterns have values', async () => { - await act(async () => { - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - await waitFor(() => { - expect(mockIndexFieldsSearch).toHaveBeenCalledWith({ - dataViewId: mockSourcererState.defaultDataView.id, - needToBeInit: false, - scopeId: SourcererScopeName.default, - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => { + expect(mockIndexFieldsSearch).toHaveBeenCalledWith({ + dataViewId: mockSourcererState.defaultDataView.id, + needToBeInit: false, + scopeId: SourcererScopeName.default, }); }); }); @@ -510,21 +480,16 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - await waitFor(() => { - expect(mockIndexFieldsSearch).toHaveBeenCalledWith({ - dataViewId: mockSourcererState.defaultDataView.id, - needToBeInit: true, - scopeId: SourcererScopeName.default, - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => { + expect(mockIndexFieldsSearch).toHaveBeenCalledWith({ + dataViewId: mockSourcererState.defaultDataView.id, + needToBeInit: true, + scopeId: SourcererScopeName.default, }); }); }); @@ -549,22 +514,17 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - await waitFor(() => { - expect(mockIndexFieldsSearch).toHaveBeenNthCalledWith(2, { - dataViewId: 'something-weird', - needToBeInit: true, - scopeId: SourcererScopeName.timeline, - skipScopeUpdate: false, - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => { + expect(mockIndexFieldsSearch).toHaveBeenNthCalledWith(2, { + dataViewId: 'something-weird', + needToBeInit: true, + scopeId: SourcererScopeName.timeline, + skipScopeUpdate: false, }); }); }); @@ -589,22 +549,17 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - await waitFor(() => { - expect(mockIndexFieldsSearch).toHaveBeenNthCalledWith(2, { - dataViewId: 'something-weird', - needToBeInit: true, - scopeId: SourcererScopeName.timeline, - skipScopeUpdate: true, - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => { + expect(mockIndexFieldsSearch).toHaveBeenNthCalledWith(2, { + dataViewId: 'something-weird', + needToBeInit: true, + scopeId: SourcererScopeName.timeline, + skipScopeUpdate: true, }); }); }); @@ -633,21 +588,16 @@ describe('Sourcerer Hooks', () => { }, }, }); - await act(async () => { - const { rerender, waitForNextUpdate } = renderHook, void>( - () => useInitSourcerer(), - { - wrapper: ({ children }) => {children}, - } - ); - await waitForNextUpdate(); - rerender(); - await waitFor(() => { - expect(mockIndexFieldsSearch).toHaveBeenNthCalledWith(2, { - dataViewId: 'something-weird', - needToBeInit: false, - scopeId: SourcererScopeName.timeline, - }); + const { rerender } = renderHook(() => useInitSourcerer(), { + wrapper: StoreProvider, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => { + expect(mockIndexFieldsSearch).toHaveBeenNthCalledWith(2, { + dataViewId: 'something-weird', + needToBeInit: false, + scopeId: SourcererScopeName.timeline, }); }); }); @@ -655,38 +605,39 @@ describe('Sourcerer Hooks', () => { describe('useSourcererDataView', () => { it('Should put any excludes in the index pattern at the end of the pattern list, and sort both the includes and excludes', async () => { - await act(async () => { - store = createMockStore({ - ...mockGlobalState, - sourcerer: { - ...mockGlobalState.sourcerer, - sourcererScopes: { - ...mockGlobalState.sourcerer.sourcererScopes, - [SourcererScopeName.default]: { - ...mockGlobalState.sourcerer.sourcererScopes[SourcererScopeName.default], - selectedPatterns: [ - '-packetbeat-*', - 'endgame-*', - 'auditbeat-*', - 'filebeat-*', - 'winlogbeat-*', - '-filebeat-*', - 'packetbeat-*', - 'traces-apm*', - 'apm-*-transaction*', - ], - }, + store = createMockStore({ + ...mockGlobalState, + sourcerer: { + ...mockGlobalState.sourcerer, + sourcererScopes: { + ...mockGlobalState.sourcerer.sourcererScopes, + [SourcererScopeName.default]: { + ...mockGlobalState.sourcerer.sourcererScopes[SourcererScopeName.default], + selectedPatterns: [ + '-packetbeat-*', + 'endgame-*', + 'auditbeat-*', + 'filebeat-*', + 'winlogbeat-*', + '-filebeat-*', + 'packetbeat-*', + 'traces-apm*', + 'apm-*-transaction*', + ], }, }, - }); - const { result, rerender, waitForNextUpdate } = renderHook< - React.PropsWithChildren<{}>, - SelectedDataView - >(() => useSourcererDataView(), { - wrapper: ({ children }) => {children}, - }); - await waitForNextUpdate(); - rerender(); + }, + }); + + const { result, rerender } = renderHook( + useSourcererDataView, + { + wrapper: StoreProvider, + } + ); + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender(); + await waitFor(() => expect(result.current.selectedPatterns).toEqual([ 'apm-*-transaction*', 'auditbeat-*', @@ -697,17 +648,14 @@ describe('Sourcerer Hooks', () => { 'winlogbeat-*', '-filebeat-*', '-packetbeat-*', - ]); - }); + ]) + ); }); it('should update the title and name of the data view according to the selected patterns', async () => { - const { result, rerender } = renderHook, SelectedDataView>( - () => useSourcererDataView(), - { - wrapper: ({ children }) => {children}, - } - ); + const { result, rerender } = renderHook(() => useSourcererDataView(), { + wrapper: StoreProvider, + }); expect(result.current.sourcererDataView.title).toBe( 'apm-*-transaction*,auditbeat-*,endgame-*,filebeat-*,logs-*,packetbeat-*,traces-apm*,winlogbeat-*,-*elastic-cloud-logs-*' @@ -724,7 +672,7 @@ describe('Sourcerer Hooks', () => { ); }); - await rerender(); + rerender(); expect(result.current.sourcererDataView.title).toBe(testPatterns.join(',')); expect(result.current.sourcererDataView.name).toBe(testPatterns.join(',')); diff --git a/x-pack/plugins/security_solution/public/sourcerer/containers/use_signal_helpers.test.tsx b/x-pack/plugins/security_solution/public/sourcerer/containers/use_signal_helpers.test.tsx index 5bb0cc11ebffb..43f6f5d8a0a1f 100644 --- a/x-pack/plugins/security_solution/public/sourcerer/containers/use_signal_helpers.test.tsx +++ b/x-pack/plugins/security_solution/public/sourcerer/containers/use_signal_helpers.test.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { createMockStore, mockGlobalState, TestProviders } from '../../common/mock'; -import { act, renderHook } from '@testing-library/react-hooks'; +import { waitFor, renderHook } from '@testing-library/react'; import { useSignalHelpers } from './use_signal_helpers'; import type { State } from '../../common/store'; import { createSourcererDataView } from './create_sourcerer_data_view'; @@ -41,14 +41,12 @@ describe('useSignalHelpers', () => { ); test('Default state, does not need init and does not need poll', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useSignalHelpers(), { - wrapper: wrapperContainer, - }); - await waitForNextUpdate(); - expect(result.current.signalIndexNeedsInit).toEqual(false); - expect(result.current.pollForSignalIndex).toEqual(undefined); + const { result } = renderHook(() => useSignalHelpers(), { + wrapper: wrapperContainer, }); + await waitFor(() => new Promise((resolve) => resolve(null))); + expect(result.current.signalIndexNeedsInit).toEqual(false); + expect(result.current.pollForSignalIndex).toEqual(undefined); }); test('Needs init and does not need poll when signal index is not yet in default data view', async () => { const state: State = { @@ -70,16 +68,14 @@ describe('useSignalHelpers', () => { }, }; const store = createMockStore(state); - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useSignalHelpers(), { - wrapper: ({ children }: React.PropsWithChildren<{}>) => ( - {children} - ), - }); - await waitForNextUpdate(); - expect(result.current.signalIndexNeedsInit).toEqual(true); - expect(result.current.pollForSignalIndex).toEqual(undefined); + const { result } = renderHook(() => useSignalHelpers(), { + wrapper: ({ children }: React.PropsWithChildren<{}>) => ( + {children} + ), }); + await waitFor(() => new Promise((resolve) => resolve(null))); + expect(result.current.signalIndexNeedsInit).toEqual(true); + expect(result.current.pollForSignalIndex).toEqual(undefined); }); test('Init happened and signal index does not have data yet, poll function becomes available', async () => { const state: State = { @@ -101,16 +97,14 @@ describe('useSignalHelpers', () => { }, }; const store = createMockStore(state); - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useSignalHelpers(), { - wrapper: ({ children }: React.PropsWithChildren<{}>) => ( - {children} - ), - }); - await waitForNextUpdate(); - expect(result.current.signalIndexNeedsInit).toEqual(false); - expect(result.current.pollForSignalIndex).not.toEqual(undefined); + const { result } = renderHook(() => useSignalHelpers(), { + wrapper: ({ children }: React.PropsWithChildren<{}>) => ( + {children} + ), }); + await waitFor(() => new Promise((resolve) => resolve(null))); + expect(result.current.signalIndexNeedsInit).toEqual(false); + expect(result.current.pollForSignalIndex).not.toEqual(undefined); }); test('Init happened and signal index does not have data yet, poll function becomes available but createSourcererDataView throws an abort error', async () => { @@ -134,17 +128,15 @@ describe('useSignalHelpers', () => { }, }; const store = createMockStore(state); - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useSignalHelpers(), { - wrapper: ({ children }: React.PropsWithChildren<{}>) => ( - {children} - ), - }); - await waitForNextUpdate(); - expect(result.current.signalIndexNeedsInit).toEqual(false); - expect(result.current.pollForSignalIndex).not.toEqual(undefined); - expect(mockAddError).not.toHaveBeenCalled(); + const { result } = renderHook(() => useSignalHelpers(), { + wrapper: ({ children }: React.PropsWithChildren<{}>) => ( + {children} + ), }); + await waitFor(() => new Promise((resolve) => resolve(null))); + expect(result.current.signalIndexNeedsInit).toEqual(false); + expect(result.current.pollForSignalIndex).not.toEqual(undefined); + expect(mockAddError).not.toHaveBeenCalled(); }); test('Init happened and signal index does not have data yet, poll function becomes available but createSourcererDataView throws a non-abort error', async () => { @@ -170,17 +162,15 @@ describe('useSignalHelpers', () => { }, }; const store = createMockStore(state); - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useSignalHelpers(), { - wrapper: ({ children }: React.PropsWithChildren<{}>) => ( - {children} - ), - }); - await waitForNextUpdate(); - expect(result.current.signalIndexNeedsInit).toEqual(false); - expect(result.current.pollForSignalIndex).not.toEqual(undefined); - result.current.pollForSignalIndex?.(); - expect(mockAddError).toHaveBeenCalled(); + const { result } = renderHook(() => useSignalHelpers(), { + wrapper: ({ children }: React.PropsWithChildren<{}>) => ( + {children} + ), }); + await waitFor(() => new Promise((resolve) => resolve(null))); + expect(result.current.signalIndexNeedsInit).toEqual(false); + expect(result.current.pollForSignalIndex).not.toEqual(undefined); + result.current.pollForSignalIndex?.(); + expect(mockAddError).toHaveBeenCalled(); }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/fields_browser/create_field_button/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/fields_browser/create_field_button/index.test.tsx index 4c1c72500ae8b..01c9dd701292a 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/fields_browser/create_field_button/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/fields_browser/create_field_button/index.test.tsx @@ -5,19 +5,18 @@ * 2.0. */ -import { render } from '@testing-library/react'; +import { render, renderHook } from '@testing-library/react'; import React from 'react'; -import type { UseCreateFieldButton, UseCreateFieldButtonProps } from '.'; +import type { UseCreateFieldButtonProps } from '.'; import { useCreateFieldButton } from '.'; import { TestProviders } from '../../../../common/mock'; -import { renderHook } from '@testing-library/react-hooks'; const mockOpenFieldEditor = jest.fn(); const mockOnHide = jest.fn(); const renderUseCreateFieldButton = (props: Partial = {}) => - renderHook, ReturnType>( + renderHook( () => useCreateFieldButton({ isAllowed: true, diff --git a/x-pack/plugins/security_solution/public/timelines/components/fields_browser/field_table_columns/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/fields_browser/field_table_columns/index.test.tsx index 8d82c3402af7c..a565a31ef67a7 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/fields_browser/field_table_columns/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/fields_browser/field_table_columns/index.test.tsx @@ -6,12 +6,11 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import type { UseFieldTableColumnsProps, UseFieldTableColumns } from '.'; +import { render, renderHook } from '@testing-library/react'; +import type { UseFieldTableColumnsProps } from '.'; import { useFieldTableColumns } from '.'; import { TestProviders } from '../../../../common/mock'; -import { renderHook } from '@testing-library/react-hooks'; import { EuiInMemoryTable } from '@elastic/eui'; import type { BrowserFieldItem } from '@kbn/triggers-actions-ui-plugin/public/types'; @@ -21,7 +20,7 @@ const mockOpenDeleteFieldModal = jest.fn(); // helper function to render the hook const renderUseFieldTableColumns = (props: Partial = {}) => - renderHook, ReturnType>( + renderHook( () => useFieldTableColumns({ hasFieldEditPermission: true, diff --git a/x-pack/plugins/security_solution/public/timelines/components/fields_browser/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/fields_browser/index.test.tsx index 67094a18cf327..7b67fb6614adf 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/fields_browser/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/fields_browser/index.test.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { render, act } from '@testing-library/react'; +import type { RenderHookResult } from '@testing-library/react'; +import { render, act, waitFor, renderHook } from '@testing-library/react'; import type { Store } from 'redux'; import type { UseFieldBrowserOptionsProps, UseFieldBrowserOptions, FieldEditorActionsRef } from '.'; import { useFieldBrowserOptions } from '.'; @@ -16,8 +17,6 @@ import { indexPatternFieldEditorPluginMock } from '@kbn/data-view-field-editor-p import { TestProviders } from '../../../common/mock'; import { useKibana } from '../../../common/lib/kibana'; import type { DataView, DataViewField } from '@kbn/data-plugin/common'; -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; import { SourcererScopeName } from '../../../sourcerer/store/model'; import { defaultColumnHeaderType } from '../timeline/body/column_headers/default_headers'; import { DEFAULT_COLUMN_MIN_WIDTH } from '../timeline/body/constants'; @@ -42,12 +41,13 @@ const mockOnHide = jest.fn(); const runAllPromises = () => new Promise(setImmediate); // helper function to render the hook -const renderUseFieldBrowserOptions = ( - props: Partial = {} -) => +const renderUseFieldBrowserOptions = ({ + store, + ...props +}: Partial = {}) => renderHook< - React.PropsWithChildren, - ReturnType + ReturnType, + React.PropsWithChildren >( () => useFieldBrowserOptions({ @@ -57,7 +57,7 @@ const renderUseFieldBrowserOptions = ( ...props, }), { - wrapper: ({ children, store }) => { + wrapper: ({ children }) => { if (store) { return {children}; } @@ -71,12 +71,12 @@ const renderUpdatedUseFieldBrowserOptions = async ( props: Partial = {} ) => { let renderHookResult: RenderHookResult< - UseFieldBrowserOptionsProps, - ReturnType + ReturnType, + UseFieldBrowserOptionsProps > | null = null; await act(async () => { renderHookResult = renderUseFieldBrowserOptions(props); - await renderHookResult.waitForNextUpdate(); + await waitFor(() => new Promise((resolve) => resolve(null))); }); return renderHookResult!; }; diff --git a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/helpers.test.ts b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/helpers.test.ts index 3faed3a5f7d51..0d5e013e30380 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/helpers.test.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/helpers.test.ts @@ -6,8 +6,7 @@ */ import { cloneDeep, omit } from 'lodash/fp'; -import { renderHook } from '@testing-library/react-hooks'; -import { waitFor } from '@testing-library/react'; +import { waitFor, renderHook } from '@testing-library/react'; import { mockTimelineResults } from '../../../common/mock'; import { timelineDefaults } from '../../store/defaults'; diff --git a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/index.test.tsx index da56cb12b4a00..5a3ba28a82767 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/index.test.tsx @@ -6,9 +6,8 @@ */ import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; import { mount } from 'enzyme'; -import { fireEvent, render, waitFor } from '@testing-library/react'; +import { fireEvent, render, waitFor, renderHook } from '@testing-library/react'; import { useHistory, useParams } from 'react-router-dom'; import '../../../common/mock/formatted_relative'; @@ -30,7 +29,6 @@ import { NotePreviews } from './note_previews'; import { OPEN_TIMELINE_CLASS_NAME } from './helpers'; import { StatefulOpenTimeline } from '.'; import { TimelineTabsStyle } from './types'; -import type { UseTimelineTypesArgs, UseTimelineTypesResult } from './use_timeline_types'; import { useTimelineTypes } from './use_timeline_types'; import { deleteTimelinesByIds } from '../../containers/api'; import { useUserPrivileges } from '../../../common/components/user_privileges'; @@ -165,12 +163,12 @@ describe('StatefulOpenTimeline', () => { describe("Template timelines' tab", () => { test("should land on correct timelines' tab with url timelines/default", () => { - const { result } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 0 }), { - wrapper: ({ children }) => {children}, - }); + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 0 }), + { + wrapper: ({ children }) => {children}, + } + ); expect(result.current.timelineType).toBe(TimelineTypeEnum.default); }); @@ -181,12 +179,12 @@ describe('StatefulOpenTimeline', () => { pageName: SecurityPageName.timelines, }); - const { result } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 0 }), { - wrapper: ({ children }) => {children}, - }); + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 0 }), + { + wrapper: ({ children }) => {children}, + } + ); expect(result.current.timelineType).toBe(TimelineTypeEnum.template); }); @@ -223,12 +221,12 @@ describe('StatefulOpenTimeline', () => { pageName: SecurityPageName.case, }); - const { result } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 0 }), { - wrapper: ({ children }) => {children}, - }); + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 0 }), + { + wrapper: ({ children }) => {children}, + } + ); expect(result.current.timelineType).toBe(TimelineTypeEnum.default); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/note_previews/hooks/use_delete_note.test.ts b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/note_previews/hooks/use_delete_note.test.ts index b2c88364a8209..d9dd243357d5b 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/note_previews/hooks/use_delete_note.test.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/note_previews/hooks/use_delete_note.test.ts @@ -4,7 +4,8 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks'; + +import { renderHook, act } from '@testing-library/react'; import { useKibana } from '../../../../../common/lib/kibana'; import { useAppToasts } from '../../../../../common/hooks/use_app_toasts'; import { appActions } from '../../../../../common/store/app'; diff --git a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_timeline_types.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_timeline_types.test.tsx index 66d3a41bc0d48..22e03955afbc2 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_timeline_types.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_timeline_types.test.tsx @@ -6,9 +6,7 @@ */ import React from 'react'; -import { fireEvent, render } from '@testing-library/react'; -import { renderHook, act } from '@testing-library/react-hooks'; -import type { UseTimelineTypesArgs, UseTimelineTypesResult } from './use_timeline_types'; +import { fireEvent, render, waitFor, screen, renderHook } from '@testing-library/react'; import { useTimelineTypes } from './use_timeline_types'; import { TestProviders } from '../../../common/mock'; @@ -31,12 +29,14 @@ jest.mock('../../../common/components/link_to', () => { }; }); +const mockNavigateToUrl = jest.fn(); + jest.mock('@kbn/kibana-react-plugin/public', () => { const originalModule = jest.requireActual('@kbn/kibana-react-plugin/public'); const useKibana = jest.fn().mockImplementation(() => ({ services: { application: { - navigateToUrl: jest.fn(), + navigateToUrl: mockNavigateToUrl, }, }, })); @@ -48,92 +48,83 @@ jest.mock('@kbn/kibana-react-plugin/public', () => { }); describe('useTimelineTypes', () => { + afterEach(() => { + jest.clearAllMocks(); + }); + it('init', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), { + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), + { wrapper: TestProviders, - }); - await waitForNextUpdate(); - expect(result.current).toEqual({ - timelineType: 'default', - timelineTabs: result.current.timelineTabs, - timelineFilters: result.current.timelineFilters, - }); + } + ); + + expect(result.current).toEqual({ + timelineType: 'default', + timelineTabs: result.current.timelineTabs, + timelineFilters: result.current.timelineFilters, }); }); describe('timelineTabs', () => { it('render timelineTabs', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), { + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), + { wrapper: TestProviders, - }); - await waitForNextUpdate(); - - const { container } = render(result.current.timelineTabs); - expect( - container.querySelector('[data-test-subj="timeline-tab-default"]') - ).toHaveTextContent('Timelines'); - expect( - container.querySelector('[data-test-subj="timeline-tab-template"]') - ).toHaveTextContent('Templates'); - }); + } + ); + await waitFor(() => new Promise((resolve) => resolve(null))); + + render(result.current.timelineTabs); + expect(screen.getByTestId('timeline-tab-default')).toHaveTextContent('Timelines'); + expect(screen.getByTestId('timeline-tab-template')).toHaveTextContent('Templates'); }); it('set timelineTypes correctly', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), { + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), + { wrapper: TestProviders, - }); - await waitForNextUpdate(); + } + ); - const { container } = render(result.current.timelineTabs); + await waitFor(() => expect(result.current.timelineTabs).toBeDefined()); - fireEvent( - container.querySelector('[data-test-subj="timeline-tab-template"]')!, - new MouseEvent('click', { - bubbles: true, - cancelable: true, - }) - ); + const { container } = render(result.current.timelineTabs); - expect(result.current).toEqual({ - timelineType: 'template', - timelineTabs: result.current.timelineTabs, - timelineFilters: result.current.timelineFilters, - }); - }); + fireEvent( + container.querySelector('[data-test-subj="timeline-tab-template"]')!, + new MouseEvent('click', { + bubbles: true, + cancelable: true, + }) + ); + + expect(mockNavigateToUrl).toHaveBeenCalled(); }); it('stays in the same tab if clicking again on current tab', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), { + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), + { wrapper: TestProviders, - }); - await waitForNextUpdate(); + } + ); + await waitFor(() => new Promise((resolve) => resolve(null))); - const { container } = render(result.current.timelineTabs); + render(result.current.timelineTabs); - fireEvent( - container.querySelector('[data-test-subj="timeline-tab-default"]')!, - new MouseEvent('click', { - bubbles: true, - cancelable: true, - }) - ); + fireEvent( + screen.getByTestId('timeline-tab-default'), + new MouseEvent('click', { + bubbles: true, + cancelable: true, + }) + ); + await waitFor(() => { expect(result.current).toEqual({ timelineType: 'default', timelineTabs: result.current.timelineTabs, @@ -145,79 +136,77 @@ describe('useTimelineTypes', () => { describe('timelineFilters', () => { it('render timelineFilters', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), { + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), + { wrapper: TestProviders, - }); - await waitForNextUpdate(); - - const { container } = render(<>{result.current.timelineFilters}); - expect( - container.querySelector('[data-test-subj="open-timeline-modal-body-filter-default"]') - ).toHaveTextContent('Timelines'); - expect( - container.querySelector('[data-test-subj="open-timeline-modal-body-filter-template"]') - ).toHaveTextContent('Templates'); - }); + } + ); + await waitFor(() => new Promise((resolve) => resolve(null))); + + const { container } = render(<>{result.current.timelineFilters}); + + expect( + container.querySelector('[data-test-subj="open-timeline-modal-body-filter-default"]') + ).toHaveTextContent('Timelines'); + expect( + container.querySelector('[data-test-subj="open-timeline-modal-body-filter-template"]') + ).toHaveTextContent('Templates'); }); it('set timelineTypes correctly', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), { + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), + { wrapper: TestProviders, - }); - await waitForNextUpdate(); + } + ); - const { container } = render(<>{result.current.timelineFilters}); + await waitFor(() => expect(result.current.timelineFilters).toBeDefined()); - fireEvent( - container.querySelector('[data-test-subj="open-timeline-modal-body-filter-template"]')!, - new MouseEvent('click', { - bubbles: true, - cancelable: true, - }) - ); + render(<>{result.current.timelineFilters}); - expect(result.current).toEqual({ - timelineType: 'template', + await waitFor(() => new Promise((resolve) => resolve(null))); + + fireEvent.click(screen.getByTestId('open-timeline-modal-body-filter-template')); + + await waitFor(() => expect(result.current.timelineType).toEqual('template')); + + expect(result.current).toEqual( + expect.objectContaining({ timelineTabs: result.current.timelineTabs, timelineFilters: result.current.timelineFilters, - }); - }); + }) + ); }); it('stays in the same tab if clicking again on current tab', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook< - React.PropsWithChildren, - UseTimelineTypesResult - >(() => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), { + const { result } = renderHook( + () => useTimelineTypes({ defaultTimelineCount: 0, templateTimelineCount: 3 }), + { wrapper: TestProviders, - }); - await waitForNextUpdate(); + } + ); - const { container } = render(<>{result.current.timelineFilters}); + await waitFor(() => new Promise((resolve) => resolve(null))); - fireEvent( - container.querySelector('[data-test-subj="open-timeline-modal-body-filter-default"]')!, - new MouseEvent('click', { - bubbles: true, - cancelable: true, - }) - ); + const { container } = render(<>{result.current.timelineFilters}); + fireEvent( + container.querySelector('[data-test-subj="open-timeline-modal-body-filter-default"]')!, + new MouseEvent('click', { + bubbles: true, + cancelable: true, + }) + ); + + await waitFor(() => expect(result.current).toEqual({ timelineType: 'default', timelineTabs: result.current.timelineTabs, timelineFilters: result.current.timelineFilters, - }); - }); + }) + ); }); }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_update_timeline.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_update_timeline.test.tsx index b2c990b12eced..6d052a3f8b2d2 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_update_timeline.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_update_timeline.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { act, waitFor, renderHook } from '@testing-library/react'; import { mockTimelineModel, TestProviders } from '../../../common/mock'; import { setTimelineRangeDatePicker as dispatchSetTimelineRangeDatePicker } from '../../../common/store/inputs/actions'; import { @@ -79,7 +79,10 @@ describe('dispatchUpdateTimeline', () => { beforeEach(() => { jest.clearAllMocks(); - clock = sinon.useFakeTimers(unix); + clock = sinon.useFakeTimers({ + now: unix, + toFake: ['Date'], + }); }); afterEach(function () { @@ -87,128 +90,134 @@ describe('dispatchUpdateTimeline', () => { }); it('it invokes date range picker dispatch', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useUpdateTimeline(), { - wrapper: TestProviders, - }); - await waitForNextUpdate(); + const { result } = renderHook(() => useUpdateTimeline(), { + wrapper: TestProviders, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + + act(() => { result.current(defaultArgs); + }); - expect(dispatchSetTimelineRangeDatePicker).toHaveBeenCalledWith({ - from: '2020-03-26T14:35:56.356Z', - to: '2020-03-26T14:41:56.356Z', - }); + expect(dispatchSetTimelineRangeDatePicker).toHaveBeenCalledWith({ + from: '2020-03-26T14:35:56.356Z', + to: '2020-03-26T14:41:56.356Z', }); }); it('it invokes add timeline dispatch', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useUpdateTimeline(), { - wrapper: TestProviders, - }); - await waitForNextUpdate(); + const { result } = renderHook(() => useUpdateTimeline(), { + wrapper: TestProviders, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + + act(() => { result.current(defaultArgs); + }); - expect(dispatchAddTimeline).toHaveBeenCalledWith({ - id: TimelineId.active, - savedTimeline: true, - timeline: { - ...mockTimelineModel, - version: null, - updated: undefined, - changed: true, - }, - }); + expect(dispatchAddTimeline).toHaveBeenCalledWith({ + id: TimelineId.active, + savedTimeline: true, + timeline: { + ...mockTimelineModel, + version: null, + updated: undefined, + changed: true, + }, }); }); it('it does not invoke kql filter query dispatches if timeline.kqlQuery.filterQuery is null', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useUpdateTimeline(), { - wrapper: TestProviders, - }); - await waitForNextUpdate(); - result.current(defaultArgs); + const { result } = renderHook(() => useUpdateTimeline(), { + wrapper: TestProviders, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); - expect(dispatchApplyKqlFilterQuery).not.toHaveBeenCalled(); + act(() => { + result.current(defaultArgs); }); + + expect(dispatchApplyKqlFilterQuery).not.toHaveBeenCalled(); }); it('it does not invoke notes dispatch if duplicate is true', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useUpdateTimeline(), { - wrapper: TestProviders, - }); - await waitForNextUpdate(); + const { result } = renderHook(() => useUpdateTimeline(), { + wrapper: TestProviders, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + act(() => { result.current(defaultArgs); - - expect(dispatchAddNotes).not.toHaveBeenCalled(); }); + + expect(dispatchAddNotes).not.toHaveBeenCalled(); }); it('it does not invoke kql filter query dispatches if timeline.kqlQuery.kuery is null', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useUpdateTimeline(), { - wrapper: TestProviders, - }); - await waitForNextUpdate(); - const mockTimeline = { - ...mockTimelineModel, - kqlQuery: { - filterQuery: { - kuery: null, - serializedQuery: 'some-serialized-query', - }, + const { result } = renderHook(() => useUpdateTimeline(), { + wrapper: TestProviders, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + const mockTimeline = { + ...mockTimelineModel, + kqlQuery: { + filterQuery: { + kuery: null, + serializedQuery: 'some-serialized-query', }, - }; + }, + }; + + act(() => { result.current({ ...defaultArgs, timeline: mockTimeline, }); - - expect(dispatchApplyKqlFilterQuery).not.toHaveBeenCalled(); }); + + expect(dispatchApplyKqlFilterQuery).not.toHaveBeenCalled(); }); it('it invokes kql filter query dispatches if timeline.kqlQuery.filterQuery.kuery is not null', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useUpdateTimeline(), { - wrapper: TestProviders, - }); - await waitForNextUpdate(); - const mockTimeline = { - ...mockTimelineModel, - kqlQuery: { - filterQuery: { - kuery: { expression: 'expression', kind: 'kuery' as KueryFilterQueryKind }, - serializedQuery: 'some-serialized-query', - }, + const { result } = renderHook(() => useUpdateTimeline(), { + wrapper: TestProviders, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + const mockTimeline = { + ...mockTimelineModel, + kqlQuery: { + filterQuery: { + kuery: { expression: 'expression', kind: 'kuery' as KueryFilterQueryKind }, + serializedQuery: 'some-serialized-query', }, - }; + }, + }; + + act(() => { result.current({ ...defaultArgs, timeline: mockTimeline, }); + }); - expect(dispatchApplyKqlFilterQuery).toHaveBeenCalledWith({ - id: TimelineId.active, - filterQuery: { - kuery: { - kind: 'kuery', - expression: 'expression', - }, - serializedQuery: 'some-serialized-query', + expect(dispatchApplyKqlFilterQuery).toHaveBeenCalledWith({ + id: TimelineId.active, + filterQuery: { + kuery: { + kind: 'kuery', + expression: 'expression', }, - }); + serializedQuery: 'some-serialized-query', + }, }); }); it('it invokes dispatchAddNotes if duplicate is false', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useUpdateTimeline(), { - wrapper: TestProviders, - }); - await waitForNextUpdate(); + const { result } = renderHook(() => useUpdateTimeline(), { + wrapper: TestProviders, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + + act(() => { result.current({ ...defaultArgs, duplicate: false, @@ -223,53 +232,55 @@ describe('dispatchUpdateTimeline', () => { }, ], }); + }); - expect(dispatchAddGlobalTimelineNote).not.toHaveBeenCalled(); - expect(dispatchUpdateNote).not.toHaveBeenCalled(); - expect(dispatchAddNotes).toHaveBeenCalledWith({ - notes: [ - { - created: new Date('2020-03-26T14:35:56.356Z'), - eventId: null, - id: 'note-id', - lastEdit: new Date('2020-03-26T14:35:56.356Z'), - note: 'I am a note', - user: 'unknown', - saveObjectId: 'note-id', - timelineId: 'abc', - version: 'testVersion', - }, - ], - }); + expect(dispatchAddGlobalTimelineNote).not.toHaveBeenCalled(); + expect(dispatchUpdateNote).not.toHaveBeenCalled(); + expect(dispatchAddNotes).toHaveBeenCalledWith({ + notes: [ + { + created: new Date('2020-03-26T14:35:56.356Z'), + eventId: null, + id: 'note-id', + lastEdit: new Date('2020-03-26T14:35:56.356Z'), + note: 'I am a note', + user: 'unknown', + saveObjectId: 'note-id', + timelineId: 'abc', + version: 'testVersion', + }, + ], }); }); it('it invokes dispatch to create a timeline note if duplicate is true and ruleNote exists', async () => { + const { result } = renderHook(() => useUpdateTimeline(), { + wrapper: TestProviders, + }); + await waitFor(() => new Promise((resolve) => resolve(null))); + await act(async () => { - const { result, waitForNextUpdate } = renderHook(() => useUpdateTimeline(), { - wrapper: TestProviders, - }); - await waitForNextUpdate(); result.current({ ...defaultArgs, ruleNote: '# this would be some markdown', }); - const expectedNote: Note = { - created: new Date(anchor), - id: 'uuidv4()', - lastEdit: null, - note: '# this would be some markdown', - saveObjectId: null, - user: 'elastic', - version: null, - }; + }); - expect(dispatchAddNotes).not.toHaveBeenCalled(); - expect(dispatchUpdateNote).toHaveBeenCalledWith({ note: expectedNote }); - expect(dispatchAddGlobalTimelineNote).toHaveBeenLastCalledWith({ - id: TimelineId.active, - noteId: 'uuidv4()', - }); + const expectedNote: Note = { + created: new Date(anchor), + id: 'uuidv4()', + lastEdit: null, + note: '# this would be some markdown', + saveObjectId: null, + user: 'elastic', + version: null, + }; + + expect(dispatchAddNotes).not.toHaveBeenCalled(); + expect(dispatchUpdateNote).toHaveBeenCalledWith({ note: expectedNote }); + expect(dispatchAddGlobalTimelineNote).toHaveBeenLastCalledWith({ + id: TimelineId.active, + noteId: 'uuidv4()', }); }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/use_notes_in_flyout.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/use_notes_in_flyout.test.tsx index 32b5b8bc3c129..fd50be53c6a85 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/use_notes_in_flyout.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/use_notes_in_flyout.test.tsx @@ -7,11 +7,10 @@ import React from 'react'; import { TimelineId, TimelineTabs } from '../../../../../common/types'; -import { renderHook, act } from '@testing-library/react-hooks/dom'; +import { act, waitFor, renderHook } from '@testing-library/react'; import { createMockStore, mockGlobalState, TestProviders } from '../../../../common/mock'; import type { UseNotesInFlyoutArgs } from './use_notes_in_flyout'; import { useNotesInFlyout } from './use_notes_in_flyout'; -import { waitFor } from '@testing-library/react'; import { useDispatch } from 'react-redux'; jest.mock('react-redux', () => ({ @@ -202,8 +201,8 @@ describe('useNotesInFlyout', () => { expect(result.current.isNotesFlyoutVisible).toBe(false); }); - it('should close the flyout when activeTab is changed', () => { - const { result, rerender, waitForNextUpdate } = renderTestHook(); + it('should close the flyout when activeTab is changed', async () => { + const { result, rerender } = renderTestHook(); act(() => { result.current.setNotesEventId('event-1'); @@ -226,8 +225,6 @@ describe('useNotesInFlyout', () => { rerender({ activeTab: TimelineTabs.eql }); }); - waitForNextUpdate(); - - expect(result.current.isNotesFlyoutVisible).toBe(false); + await waitFor(() => expect(result.current.isNotesFlyoutVisible).toBe(false)); }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/esql/customizations/use_histogram_customizations.test.ts b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/esql/customizations/use_histogram_customizations.test.ts index d40b417b95218..10dfa97f35bdc 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/esql/customizations/use_histogram_customizations.test.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/esql/customizations/use_histogram_customizations.test.ts @@ -11,7 +11,7 @@ import type { ClickTriggerEvent, MultiClickTriggerEvent, } from '@kbn/charts-plugin/public'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import type { DiscoverStateContainer, UnifiedHistogramCustomization, diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/esql/use_get_stateful_query_bar.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/esql/use_get_stateful_query_bar.test.tsx index 17b018ffea99d..fe26d8780a903 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/esql/use_get_stateful_query_bar.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/esql/use_get_stateful_query_bar.test.tsx @@ -6,7 +6,7 @@ */ import { TestProviders } from '../../../../../common/mock'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useGetStatefulQueryBar } from './use_get_stateful_query_bar'; describe('useGetStatefulQueryBar', () => { diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/session/use_session_view.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/session/use_session_view.test.tsx index 9c4b135b5e774..54155a493da64 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/session/use_session_view.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/session/use_session_view.test.tsx @@ -8,8 +8,7 @@ import type { PropsWithChildren } from 'react'; import React, { memo } from 'react'; -import { render } from '@testing-library/react'; -import { renderHook } from '@testing-library/react-hooks'; +import { render, renderHook } from '@testing-library/react'; import { TimelineId, TimelineTabs } from '../../../../../../common/types/timeline'; import { mockTimelineModel, TestProviders } from '../../../../../common/mock'; import { useKibana } from '../../../../../common/lib/kibana'; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/shared/use_timeline_columns.test.ts b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/shared/use_timeline_columns.test.ts index 926082ff9ed41..66162fe82e458 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/shared/use_timeline_columns.test.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/shared/use_timeline_columns.test.ts @@ -6,7 +6,7 @@ */ import { TestProviders } from '../../../../../common/mock'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useTimelineColumns } from './use_timeline_columns'; import { defaultUdtHeaders } from '../../body/column_headers/default_headers'; import type { ColumnHeaderOptions } from '../../../../../../common/types/timeline/columns'; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/shared/use_timeline_control_columns.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/shared/use_timeline_control_columns.test.tsx index efbe954250037..8168742d4e08d 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/shared/use_timeline_control_columns.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/shared/use_timeline_control_columns.test.tsx @@ -6,7 +6,7 @@ */ import type { EuiDataGridControlColumn } from '@elastic/eui'; import { TestProviders } from '../../../../../common/mock'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useLicense } from '../../../../../common/hooks/use_license'; import { useTimelineControlColumn } from './use_timeline_control_columns'; import type { ColumnHeaderOptions } from '../../../../../../common/types/timeline/columns'; diff --git a/x-pack/plugins/security_solution/public/timelines/containers/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/containers/index.test.tsx index 68846de0fed37..f00ca0551a9a3 100644 --- a/x-pack/plugins/security_solution/public/timelines/containers/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/containers/index.test.tsx @@ -6,7 +6,7 @@ */ import { DataLoadingState } from '@kbn/unified-data-table'; -import { renderHook, act } from '@testing-library/react-hooks'; +import { act, waitFor, renderHook } from '@testing-library/react'; import type { TimelineArgs, UseTimelineEventsProps } from '.'; import { initSortDefault, useTimelineEvents } from '.'; import { SecurityPageName } from '../../../common/constants'; @@ -60,21 +60,23 @@ jest.mock('../../common/lib/kibana', () => ({ mockSearch(); return { subscribe: jest.fn().mockImplementation(({ next }) => { - next({ - isRunning: false, - isPartial: false, - inspect: { - dsl: [], - response: [], - }, - edges: mockEvents.map((item) => ({ node: item })), - pageInfo: { - activePage: 0, - totalPages: 10, - }, - rawResponse: {}, - totalCount: mockTimelineData.length, - }); + setTimeout(() => { + next({ + isRunning: false, + isPartial: false, + inspect: { + dsl: [], + response: [], + }, + edges: mockEvents.map((item) => ({ node: item })), + pageInfo: { + activePage: 0, + totalPages: 10, + }, + rawResponse: {}, + totalCount: mockTimelineData.length, + }); + }, 0); return { unsubscribe: jest.fn() }; }), }; @@ -135,47 +137,41 @@ describe('useTimelineEvents', () => { }; test('init', async () => { - await act(async () => { - const { result, waitForNextUpdate } = renderHook< - UseTimelineEventsProps, - [DataLoadingState, TimelineArgs] - >((args) => useTimelineEvents(args), { - initialProps: { ...props }, - }); - - // useEffect on params request - await waitForNextUpdate(); - expect(result.current).toEqual([ - DataLoadingState.loaded, - { - events: [], - id: TimelineId.active, - inspect: result.current[1].inspect, - loadPage: result.current[1].loadPage, - pageInfo: result.current[1].pageInfo, - refetch: result.current[1].refetch, - totalCount: -1, - refreshedAt: 0, - }, - ]); + const { result } = renderHook((args) => useTimelineEvents(args), { + initialProps: props, }); + + expect(result.current).toEqual([ + DataLoadingState.loading, + { + events: [], + id: TimelineId.active, + inspect: expect.objectContaining({ dsl: [], response: [] }), + loadPage: expect.any(Function), + pageInfo: expect.objectContaining({ + activePage: 0, + querySize: 0, + }), + refetch: expect.any(Function), + totalCount: -1, + refreshedAt: 0, + }, + ]); }); test('happy path query', async () => { - await act(async () => { - const { result, waitForNextUpdate, rerender } = renderHook< - UseTimelineEventsProps, - [DataLoadingState, TimelineArgs] - >((args) => useTimelineEvents(args), { - initialProps: { ...props }, - }); - - // useEffect on params request - await waitForNextUpdate(); - rerender({ ...props, startDate, endDate }); - // useEffect on params request - await waitForNextUpdate(); + const { result, rerender } = renderHook< + [DataLoadingState, TimelineArgs], + UseTimelineEventsProps + >((args) => useTimelineEvents(args), { + initialProps: props, + }); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender({ ...props, startDate, endDate }); + // useEffect on params request + await waitFor(() => { expect(mockSearch).toHaveBeenCalledTimes(2); expect(result.current).toEqual([ DataLoadingState.loaded, @@ -194,73 +190,53 @@ describe('useTimelineEvents', () => { }); test('Mock cache for active timeline when switching page', async () => { - await act(async () => { - const { result, waitForNextUpdate, rerender } = renderHook< - UseTimelineEventsProps, - [DataLoadingState, TimelineArgs] - >((args) => useTimelineEvents(args), { - initialProps: { ...props }, - }); - - // useEffect on params request - await waitForNextUpdate(); - rerender({ ...props, startDate, endDate }); - // useEffect on params request - await waitForNextUpdate(); - - mockUseRouteSpy.mockReturnValue([ - { - pageName: SecurityPageName.timelines, - detailName: undefined, - tabName: undefined, - search: '', - pathName: '/timelines', - }, - ]); - - expect(mockSearch).toHaveBeenCalledTimes(2); - - expect(result.current).toEqual([ - DataLoadingState.loaded, - { - events: mockEvents, - id: TimelineId.active, - inspect: result.current[1].inspect, - loadPage: result.current[1].loadPage, - pageInfo: result.current[1].pageInfo, - refetch: result.current[1].refetch, - totalCount: 32, - refreshedAt: result.current[1].refreshedAt, - }, - ]); + const { result, rerender } = renderHook< + [DataLoadingState, TimelineArgs], + UseTimelineEventsProps + >((args) => useTimelineEvents(args), { + initialProps: props, }); + + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender({ ...props, startDate, endDate }); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); + + mockUseRouteSpy.mockReturnValue([ + { + pageName: SecurityPageName.timelines, + detailName: undefined, + tabName: undefined, + search: '', + pathName: '/timelines', + }, + ]); + + expect(mockSearch).toHaveBeenCalledTimes(2); + + expect(result.current).toEqual([ + DataLoadingState.loaded, + { + events: mockEvents, + id: TimelineId.active, + inspect: result.current[1].inspect, + loadPage: result.current[1].loadPage, + pageInfo: result.current[1].pageInfo, + refetch: result.current[1].refetch, + totalCount: 32, + refreshedAt: result.current[1].refreshedAt, + }, + ]); }); test('Correlation pagination is calling search strategy when switching page', async () => { - await act(async () => { - const { result, waitForNextUpdate, rerender } = renderHook< - UseTimelineEventsProps, - [DataLoadingState, TimelineArgs] - >((args) => useTimelineEvents(args), { - initialProps: { - ...props, - language: 'eql', - eqlOptions: { - eventCategoryField: 'category', - tiebreakerField: '', - timestampField: '@timestamp', - query: 'find it EQL', - size: 100, - }, - }, - }); - - // useEffect on params request - await waitForNextUpdate(); - rerender({ + const { result, rerender } = renderHook< + [DataLoadingState, TimelineArgs], + UseTimelineEventsProps + >((args) => useTimelineEvents(args), { + initialProps: { ...props, - startDate, - endDate, language: 'eql', eqlOptions: { eventCategoryField: 'category', @@ -269,123 +245,113 @@ describe('useTimelineEvents', () => { query: 'find it EQL', size: 100, }, - }); - // useEffect on params request - await waitForNextUpdate(); - mockSearch.mockReset(); + }, + }); + + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender({ + ...props, + startDate, + endDate, + language: 'eql', + eqlOptions: { + eventCategoryField: 'category', + tiebreakerField: '', + timestampField: '@timestamp', + query: 'find it EQL', + size: 100, + }, + }); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); + mockSearch.mockReset(); + act(() => { result.current[1].loadPage(4); - await waitForNextUpdate(); - expect(mockSearch).toHaveBeenCalledTimes(1); }); + await waitFor(() => expect(mockSearch).toHaveBeenCalledTimes(1)); }); test('should query again when a new field is added', async () => { - await act(async () => { - const { waitForNextUpdate, rerender } = renderHook< - UseTimelineEventsProps, - [DataLoadingState, TimelineArgs] - >((args) => useTimelineEvents(args), { - initialProps: { ...props }, - }); - - // useEffect on params request - await waitForNextUpdate(); - rerender({ ...props, startDate, endDate }); - // useEffect on params request - await waitForNextUpdate(); - - expect(mockSearch).toHaveBeenCalledTimes(2); - mockSearch.mockClear(); + const { rerender } = renderHook((args) => useTimelineEvents(args), { + initialProps: props, + }); - rerender({ - ...props, - startDate, - endDate, - fields: ['@timestamp', 'event.kind', 'event.category'], - }); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender({ ...props, startDate, endDate }); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); - await waitForNextUpdate(); + expect(mockSearch).toHaveBeenCalledTimes(2); + mockSearch.mockClear(); - expect(mockSearch).toHaveBeenCalledTimes(1); + rerender({ + ...props, + startDate, + endDate, + fields: ['@timestamp', 'event.kind', 'event.category'], }); + + await waitFor(() => expect(mockSearch).toHaveBeenCalledTimes(1)); }); test('should not query again when a field is removed', async () => { - await act(async () => { - const { waitForNextUpdate, rerender } = renderHook< - UseTimelineEventsProps, - [DataLoadingState, TimelineArgs] - >((args) => useTimelineEvents(args), { - initialProps: { ...props }, - }); - - // useEffect on params request - await waitForNextUpdate(); - rerender({ ...props, startDate, endDate }); - // useEffect on params request - await waitForNextUpdate(); + const { rerender } = renderHook((args) => useTimelineEvents(args), { + initialProps: props, + }); - expect(mockSearch).toHaveBeenCalledTimes(2); - mockSearch.mockClear(); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender({ ...props, startDate, endDate }); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); - rerender({ ...props, startDate, endDate, fields: ['@timestamp'] }); + expect(mockSearch).toHaveBeenCalledTimes(2); + mockSearch.mockClear(); - // since there is no new update in useEffect, it should throw an timeout error - await expect(waitForNextUpdate()).rejects.toThrowError(); + rerender({ ...props, startDate, endDate, fields: ['@timestamp'] }); - expect(mockSearch).toHaveBeenCalledTimes(0); - }); + await waitFor(() => expect(mockSearch).toHaveBeenCalledTimes(0)); }); test('should not query again when a removed field is added back', async () => { - await act(async () => { - const { waitForNextUpdate, rerender } = renderHook< - UseTimelineEventsProps, - [DataLoadingState, TimelineArgs] - >((args) => useTimelineEvents(args), { - initialProps: { ...props }, - }); + const { rerender } = renderHook((args) => useTimelineEvents(args), { + initialProps: props, + }); - // useEffect on params request - await waitForNextUpdate(); - rerender({ ...props, startDate, endDate }); - // useEffect on params request - await waitForNextUpdate(); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); + rerender({ ...props, startDate, endDate }); + // useEffect on params request + await waitFor(() => new Promise((resolve) => resolve(null))); - expect(mockSearch).toHaveBeenCalledTimes(2); - mockSearch.mockClear(); + expect(mockSearch).toHaveBeenCalledTimes(2); + mockSearch.mockClear(); - // remove `event.kind` from default fields - rerender({ ...props, startDate, endDate, fields: ['@timestamp'] }); + // remove `event.kind` from default fields + rerender({ ...props, startDate, endDate, fields: ['@timestamp'] }); - // since there is no new update in useEffect, it should throw an timeout error - await expect(waitForNextUpdate()).rejects.toThrowError(); + await waitFor(() => new Promise((resolve) => resolve(null))); - expect(mockSearch).toHaveBeenCalledTimes(0); + expect(mockSearch).toHaveBeenCalledTimes(0); - // request default Fields - rerender({ ...props, startDate, endDate }); + // request default Fields + rerender({ ...props, startDate, endDate }); - // since there is no new update in useEffect, it should throw an timeout error - await expect(waitForNextUpdate()).rejects.toThrowError(); - - expect(mockSearch).toHaveBeenCalledTimes(0); - }); + // since there is no new update in useEffect, it should throw an timeout error + // await expect(waitFor(() => null)).rejects.toThrowError(); + await waitFor(() => expect(mockSearch).toHaveBeenCalledTimes(0)); }); describe('Fetch Notes', () => { test('should call onLoad for notes when events are fetched', async () => { - await act(async () => { - const { waitFor } = renderHook( - (args) => useTimelineEvents(args), - { - initialProps: { ...props }, - } - ); - - await waitFor(() => { - expect(mockSearch).toHaveBeenCalledTimes(1); - expect(onLoadMock).toHaveBeenNthCalledWith(1, expect.objectContaining(mockEvents)); - }); + renderHook((args) => useTimelineEvents(args), { + initialProps: props, + }); + + await waitFor(() => { + expect(mockSearch).toHaveBeenCalledTimes(1); + expect(onLoadMock).toHaveBeenNthCalledWith(1, expect.objectContaining(mockEvents)); }); }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/containers/use_timeline_data_filters.test.tsx b/x-pack/plugins/security_solution/public/timelines/containers/use_timeline_data_filters.test.tsx index 9142aca78424c..db9413df30595 100644 --- a/x-pack/plugins/security_solution/public/timelines/containers/use_timeline_data_filters.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/containers/use_timeline_data_filters.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { mockGlobalState, TestProviders, createMockStore } from '../../common/mock'; import { useTimelineDataFilters } from './use_timeline_data_filters'; import React from 'react'; diff --git a/x-pack/plugins/security_solution/public/timelines/hooks/use_create_timeline.test.tsx b/x-pack/plugins/security_solution/public/timelines/hooks/use_create_timeline.test.tsx index a4c054371a316..0864c2bb024bd 100644 --- a/x-pack/plugins/security_solution/public/timelines/hooks/use_create_timeline.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/hooks/use_create_timeline.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useCreateTimeline } from './use_create_timeline'; import type { TimeRange } from '../../common/store/inputs/model'; import { RowRendererCount, TimelineTypeEnum } from '../../../common/api/timeline'; diff --git a/x-pack/plugins/security_solution/server/endpoint/services/saved_objects/saved_objects_client_factory.ts b/x-pack/plugins/security_solution/server/endpoint/services/saved_objects/saved_objects_client_factory.ts index c925c666d6957..560873d0a69e6 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/saved_objects/saved_objects_client_factory.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/saved_objects/saved_objects_client_factory.ts @@ -9,10 +9,10 @@ import type { SavedObjectsServiceStart } from '@kbn/core-saved-objects-server'; import { SECURITY_EXTENSION_ID, SPACES_EXTENSION_ID } from '@kbn/core-saved-objects-server'; -import type { HttpServiceSetup } from '@kbn/core/server'; -import { type SavedObjectsClientContract } from '@kbn/core/server'; -import { CoreKibanaRequest } from '@kbn/core-http-router-server-internal'; +import type { HttpServiceSetup, KibanaRequest } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; import { DEFAULT_SPACE_ID, addSpaceIdToPath } from '@kbn/spaces-plugin/common'; +import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; import { EndpointError } from '../../../../common/endpoint/errors'; type SavedObjectsClientContractKeys = keyof SavedObjectsClientContract; @@ -39,8 +39,8 @@ export class SavedObjectsClientFactory { private readonly httpServiceSetup: HttpServiceSetup ) {} - protected createFakeHttpRequest(spaceId: string = DEFAULT_SPACE_ID): CoreKibanaRequest { - const fakeRequest = CoreKibanaRequest.from({ + protected createFakeHttpRequest(spaceId: string = DEFAULT_SPACE_ID): KibanaRequest { + const fakeRequest = kibanaRequestFactory({ headers: {}, path: '/', route: { settings: {} }, diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/tasks/helpers.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/tasks/helpers.ts index 0fbb0ef2c8652..9070f1b4070b3 100644 --- a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/tasks/helpers.ts +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/tasks/helpers.ts @@ -6,14 +6,12 @@ */ import datemath from '@kbn/datemath'; -import { - CoreKibanaRequest, - type KibanaRequest, - SECURITY_EXTENSION_ID, - type CoreStart, -} from '@kbn/core/server'; import { addSpaceIdToPath } from '@kbn/spaces-plugin/server'; +import type { KibanaRequest } from '@kbn/core-http-server'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; +import type { CoreStart } from '@kbn/core-lifecycle-server'; +import { SECURITY_EXTENSION_ID } from '@kbn/core-saved-objects-server'; import type { Range } from '../../../../../common/entity_analytics/risk_engine'; export const convertDateToISOString = (dateString: string): string => { @@ -43,7 +41,7 @@ const buildFakeScopedRequest = ({ path: '/', }; - const request = CoreKibanaRequest.from(rawRequest); + const request = kibanaRequestFactory(rawRequest); const scopedPath = addSpaceIdToPath('/', namespace); coreStart.http.basePath.set(request, scopedPath); diff --git a/x-pack/plugins/security_solution/server/routes/limited_concurrency.ts b/x-pack/plugins/security_solution/server/routes/limited_concurrency.ts index bce6c835a7ed7..396bad7d2ce24 100644 --- a/x-pack/plugins/security_solution/server/routes/limited_concurrency.ts +++ b/x-pack/plugins/security_solution/server/routes/limited_concurrency.ts @@ -6,11 +6,11 @@ */ import type { - CoreSetup, KibanaRequest, LifecycleResponseFactory, OnPreAuthToolkit, -} from '@kbn/core/server'; +} from '@kbn/core-http-server'; +import type { CoreSetup } from '@kbn/core-lifecycle-server'; import { LIMITED_CONCURRENCY_ROUTE_TAG_PREFIX } from '../../common/constants'; class MaxCounter { diff --git a/x-pack/plugins/security_solution/tsconfig.json b/x-pack/plugins/security_solution/tsconfig.json index 43b4665b8d9d8..4a00ef93abe63 100644 --- a/x-pack/plugins/security_solution/tsconfig.json +++ b/x-pack/plugins/security_solution/tsconfig.json @@ -221,7 +221,6 @@ "@kbn/entities-schema", "@kbn/inference-plugin", "@kbn/core-saved-objects-server-mocks", - "@kbn/core-http-router-server-internal", "@kbn/core-security-server-mocks", "@kbn/serverless", "@kbn/core-user-profile-browser", @@ -230,6 +229,7 @@ "@kbn/core-user-profile-common", "@kbn/langchain", "@kbn/react-hooks", - "@kbn/index-adapter" + "@kbn/index-adapter", + "@kbn/core-http-server-utils" ] } diff --git a/x-pack/plugins/session_view/public/components/tty_player/hooks.test.tsx b/x-pack/plugins/session_view/public/components/tty_player/hooks.test.tsx index e631fac8d6d24..5531210e10a3c 100644 --- a/x-pack/plugins/session_view/public/components/tty_player/hooks.test.tsx +++ b/x-pack/plugins/session_view/public/components/tty_player/hooks.test.tsx @@ -4,7 +4,8 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { renderHook, act } from '@testing-library/react-hooks'; + +import { renderHook, act } from '@testing-library/react'; import { sessionViewIOEventsMock } from '../../../common/mocks/responses/session_view_io_events.mock'; import { useIOLines, useXtermPlayer, XtermPlayerDeps } from './hooks'; import type { ProcessEventsPage } from '../../../common'; @@ -31,7 +32,7 @@ describe('TTYPlayer/hooks', () => { // test memoization let last = result.current.lines; - rerender(); + rerender({ pages: initial }); expect(result.current.lines === last).toBeTruthy(); last = result.current.lines; rerender({ pages: [...initial] }); diff --git a/x-pack/plugins/session_view/public/components/tty_search_bar/index.test.tsx b/x-pack/plugins/session_view/public/components/tty_search_bar/index.test.tsx index 7918a6fdda693..cf79e32dfce83 100644 --- a/x-pack/plugins/session_view/public/components/tty_search_bar/index.test.tsx +++ b/x-pack/plugins/session_view/public/components/tty_search_bar/index.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { AppContextTestRender, createAppRootMockRenderer } from '../../test'; import { sessionViewIOEventsMock } from '../../../common/mocks/responses/session_view_io_events.mock'; diff --git a/x-pack/plugins/spaces/server/lib/request_interceptors/on_request_interceptor.ts b/x-pack/plugins/spaces/server/lib/request_interceptors/on_request_interceptor.ts index 61d7ac23818ad..812d7177a4163 100644 --- a/x-pack/plugins/spaces/server/lib/request_interceptors/on_request_interceptor.ts +++ b/x-pack/plugins/spaces/server/lib/request_interceptors/on_request_interceptor.ts @@ -6,11 +6,11 @@ */ import type { - CoreSetup, KibanaRequest, LifecycleResponseFactory, OnPreRoutingToolkit, -} from '@kbn/core/server'; +} from '@kbn/core-http-server'; +import type { CoreSetup } from '@kbn/core-lifecycle-server'; import { getSpaceIdFromPath } from '../../../common'; diff --git a/x-pack/plugins/spaces/tsconfig.json b/x-pack/plugins/spaces/tsconfig.json index 1099a054bd708..771f1b2e6139b 100644 --- a/x-pack/plugins/spaces/tsconfig.json +++ b/x-pack/plugins/spaces/tsconfig.json @@ -53,7 +53,8 @@ "@kbn/core-http-router-server-mocks", "@kbn/core-application-browser-mocks", "@kbn/ui-theme", - "@kbn/core-chrome-browser" + "@kbn/core-chrome-browser", + "@kbn/core-lifecycle-server" ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/threat_intelligence/public/hooks/use_integrations.test.tsx b/x-pack/plugins/threat_intelligence/public/hooks/use_integrations.test.tsx index 2df9bea337ba5..e13fb396808d2 100644 --- a/x-pack/plugins/threat_intelligence/public/hooks/use_integrations.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/hooks/use_integrations.test.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { waitFor, renderHook } from '@testing-library/react'; import { QueryClient, QueryClientProvider, useQuery } from '@tanstack/react-query'; import { INSTALLATION_STATUS, THREAT_INTELLIGENCE_CATEGORY } from '../utils/filter_integrations'; @@ -25,9 +25,7 @@ const renderUseQuery = (result: { items: any[] }) => describe('useIntegrations', () => { it('should have undefined data during loading state', async () => { const mockIntegrations = { items: [] }; - const { result, waitFor } = renderUseQuery(mockIntegrations); - - await waitFor(() => result.current.isLoading); + const { result } = renderUseQuery(mockIntegrations); expect(result.current.isLoading).toBeTruthy(); expect(result.current.data).toBeUndefined(); @@ -43,9 +41,9 @@ describe('useIntegrations', () => { }, ], }; - const { result, waitFor } = renderUseQuery(mockIntegrations); + const { result } = renderUseQuery(mockIntegrations); - await waitFor(() => result.current.isSuccess); + await waitFor(() => expect(result.current.isSuccess).toBe(true)); expect(result.current.isLoading).toBeFalsy(); expect(result.current.data).toEqual(mockIntegrations); diff --git a/x-pack/plugins/threat_intelligence/public/modules/block_list/hooks/use_policies.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/block_list/hooks/use_policies.test.tsx index a01b7da64b684..4a1af74a100a3 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/block_list/hooks/use_policies.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/block_list/hooks/use_policies.test.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { waitFor, renderHook } from '@testing-library/react'; import { QueryClient, QueryClientProvider, useQuery } from '@tanstack/react-query'; const createWrapper = () => { @@ -24,9 +24,7 @@ const renderUseQuery = (result: { items: any[] }) => describe('usePolicies', () => { it('should have undefined data during loading state', async () => { const mockPolicies = { items: [] }; - const { result, waitFor } = renderUseQuery(mockPolicies); - - await waitFor(() => result.current.isLoading); + const { result } = renderUseQuery(mockPolicies); expect(result.current.isLoading).toBeTruthy(); expect(result.current.data).toBeUndefined(); @@ -41,9 +39,9 @@ describe('usePolicies', () => { }, ], }; - const { result, waitFor } = renderUseQuery(mockPolicies); + const { result } = renderUseQuery(mockPolicies); - await waitFor(() => result.current.isSuccess); + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()); expect(result.current.isLoading).toBeFalsy(); expect(result.current.data).toEqual(mockPolicies); diff --git a/x-pack/plugins/threat_intelligence/public/modules/cases/hooks/use_case_permission.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/cases/hooks/use_case_permission.test.tsx index 8e2f5d3d96a25..a38b25fce0f61 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/cases/hooks/use_case_permission.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/cases/hooks/use_case_permission.test.tsx @@ -6,7 +6,7 @@ */ import React, { FC, ReactNode } from 'react'; -import { Renderer, renderHook, RenderHookResult } from '@testing-library/react-hooks'; +import { renderHook, RenderHookResult } from '@testing-library/react'; import { casesPluginMock } from '@kbn/cases-plugin/public/mocks'; import { KibanaContext } from '../../../hooks/use_kibana'; import { useCaseDisabled } from './use_case_permission'; @@ -27,7 +27,7 @@ const getProviderComponent = ); describe('useCasePermission', () => { - let hookResult: RenderHookResult<{}, boolean, Renderer>; + let hookResult: RenderHookResult; it('should return false if user has correct permissions and indicator has a name', () => { const mockedServices = { diff --git a/x-pack/plugins/threat_intelligence/public/modules/cases/hooks/use_indicator_by_id.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/cases/hooks/use_indicator_by_id.test.tsx index 0c23962ccaa46..e9f43c316190a 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/cases/hooks/use_indicator_by_id.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/cases/hooks/use_indicator_by_id.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import { renderHook } from '@testing-library/react-hooks'; -import { useIndicatorById, UseIndicatorByIdValue } from './use_indicator_by_id'; +import { waitFor, renderHook } from '@testing-library/react'; +import { useIndicatorById } from './use_indicator_by_id'; import { TestProvidersComponent } from '../../../mocks/test_providers'; import { createFetchIndicatorById } from '../services/fetch_indicator_by_id'; import { Indicator } from '../../../../common/types/indicator'; @@ -16,13 +16,10 @@ jest.mock('../services/fetch_indicator_by_id'); const indicatorByIdQueryResult = { _id: 'testId' } as unknown as Indicator; const renderUseIndicatorById = (initialProps = { indicatorId: 'testId' }) => - renderHook<{ indicatorId: string }, UseIndicatorByIdValue>( - (props) => useIndicatorById(props.indicatorId), - { - initialProps, - wrapper: TestProvidersComponent, - } - ); + renderHook((props) => useIndicatorById(props.indicatorId), { + initialProps, + wrapper: TestProvidersComponent, + }); describe('useIndicatorById()', () => { type MockedCreateFetchIndicators = jest.MockedFunction; @@ -49,8 +46,7 @@ describe('useIndicatorById()', () => { expect(indicatorsQuery).toHaveBeenCalledTimes(1); // isLoading should turn to false eventually - await hookResult.waitFor(() => !hookResult.result.current.isLoading); - expect(hookResult.result.current.isLoading).toEqual(false); + await waitFor(() => expect(hookResult.result.current.isLoading).toBe(false)); }); }); }); diff --git a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_aggregated_indicators.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_aggregated_indicators.test.tsx index 11e1d03a32b51..72935990ef71f 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_aggregated_indicators.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_aggregated_indicators.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { act, renderHook } from '@testing-library/react-hooks'; +import { act, waitFor, renderHook } from '@testing-library/react'; import { useAggregatedIndicators, UseAggregatedIndicatorsParam } from './use_aggregated_indicators'; import { mockedTimefilterService, TestProvidersComponent } from '../../../mocks/test_providers'; import { createFetchAggregatedIndicators } from '../services/fetch_aggregated_indicators'; @@ -47,7 +47,7 @@ describe('useAggregatedIndicators()', () => { it('should create and call the aggregatedIndicatorsQuery correctly', async () => { aggregatedIndicatorsQuery.mockResolvedValue([]); - const { result, rerender, waitFor } = renderUseAggregatedIndicators(); + const { result, rerender } = renderUseAggregatedIndicators(); // indicators service and the query should be called just once expect( @@ -81,7 +81,7 @@ describe('useAggregatedIndicators()', () => { expect.any(AbortSignal) ); - await waitFor(() => !result.current.isLoading); + await waitFor(() => expect(result.current.isLoading).toBe(false)); expect(result.current).toMatchInlineSnapshot(` Object { diff --git a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_column_settings.test.ts b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_column_settings.test.ts index 74b76030bca37..cbba1c3043f3e 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_column_settings.test.ts +++ b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_column_settings.test.ts @@ -6,7 +6,7 @@ */ import { mockedServices, TestProvidersComponent } from '../../../mocks/test_providers'; -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { useColumnSettings } from './use_column_settings'; const renderUseColumnSettings = () => diff --git a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_indicators.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_indicators.test.tsx index be710e771b040..2276d1cfcf635 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_indicators.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_indicators.test.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import { act, renderHook } from '@testing-library/react-hooks'; -import { useIndicators, UseIndicatorsParams, UseIndicatorsValue } from './use_indicators'; +import { act, waitFor, renderHook } from '@testing-library/react'; +import { useIndicators, UseIndicatorsParams } from './use_indicators'; import { TestProvidersComponent } from '../../../mocks/test_providers'; import { createFetchIndicators } from '../services/fetch_indicators'; import { mockTimeRange } from '../../../mocks/mock_indicators_filters_context'; @@ -23,7 +23,7 @@ const useIndicatorsParams: UseIndicatorsParams = { const indicatorsQueryResult = { indicators: [], total: 0 }; const renderUseIndicators = (initialProps = useIndicatorsParams) => - renderHook((props) => useIndicators(props), { + renderHook(useIndicators, { initialProps, wrapper: TestProvidersComponent, }); @@ -53,7 +53,7 @@ describe('useIndicators()', () => { expect(indicatorsQuery).toHaveBeenCalledTimes(1); // isLoading should turn to false eventually - await hookResult.waitFor(() => !hookResult.result.current.isLoading); + await waitFor(() => expect(hookResult.result.current.isLoading).toBe(false)); expect(hookResult.result.current.isLoading).toEqual(false); }); }); @@ -77,7 +77,7 @@ describe('useIndicators()', () => { // Change page size await act(async () => hookResult.result.current.onChangeItemsPerPage(50)); - expect(indicatorsQuery).toHaveBeenCalledTimes(3); + await waitFor(() => expect(indicatorsQuery).toHaveBeenCalledTimes(3)); expect(indicatorsQuery).toHaveBeenLastCalledWith( expect.objectContaining({ pagination: expect.objectContaining({ pageIndex: 0, pageSize: 50 }), @@ -101,7 +101,7 @@ describe('useIndicators()', () => { expect.any(AbortSignal) ); - await hookResult.waitFor(() => !hookResult.result.current.isLoading); + await waitFor(() => expect(hookResult.result.current.isLoading).toBe(false)); expect(hookResult.result.current).toMatchInlineSnapshot(` Object { diff --git a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_toolbar_options.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_toolbar_options.test.tsx index 7af7320af0988..9a69b71fd3f75 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_toolbar_options.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_toolbar_options.test.tsx @@ -6,7 +6,7 @@ */ import { TestProvidersComponent } from '../../../mocks/test_providers'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useToolbarOptions } from './use_toolbar_options'; describe('useToolbarOptions()', () => { diff --git a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_total_count.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_total_count.test.tsx index 893367b42dbd3..8735817747f12 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_total_count.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/indicators/hooks/use_total_count.test.tsx @@ -6,7 +6,7 @@ */ import { mockedSearchService, TestProvidersComponent } from '../../../mocks/test_providers'; -import { act, renderHook } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { BehaviorSubject } from 'rxjs'; import { useIndicatorsTotalCount } from './use_total_count'; diff --git a/x-pack/plugins/threat_intelligence/public/modules/query_bar/hooks/use_filter_in_out.test.ts b/x-pack/plugins/threat_intelligence/public/modules/query_bar/hooks/use_filter_in_out.test.ts index 7e435d944145b..18c8fccd573f1 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/query_bar/hooks/use_filter_in_out.test.ts +++ b/x-pack/plugins/threat_intelligence/public/modules/query_bar/hooks/use_filter_in_out.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { Renderer, renderHook, RenderHookResult } from '@testing-library/react-hooks'; +import { renderHook, RenderHookResult } from '@testing-library/react'; import { generateMockIndicator, generateMockUrlIndicator, @@ -19,7 +19,7 @@ import { updateFiltersArray } from '../utils/filter'; jest.mock('../utils/filter', () => ({ updateFiltersArray: jest.fn() })); describe('useFilterInOut()', () => { - let hookResult: RenderHookResult<{}, UseFilterInValue, Renderer>; + let hookResult: RenderHookResult; it('should return empty object if Indicator is incorrect', () => { const indicator: Indicator = generateMockIndicator(); diff --git a/x-pack/plugins/threat_intelligence/public/modules/timeline/hooks/use_add_to_timeline.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/timeline/hooks/use_add_to_timeline.test.tsx index 18d96282d98b6..0b5cc302ef0ea 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/timeline/hooks/use_add_to_timeline.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/timeline/hooks/use_add_to_timeline.test.tsx @@ -6,7 +6,7 @@ */ import { EMPTY_VALUE } from '../../../constants/common'; -import { Renderer, renderHook, RenderHookResult } from '@testing-library/react-hooks'; +import { renderHook, RenderHookResult } from '@testing-library/react'; import { generateMockIndicator, generateMockUrlIndicator, @@ -16,7 +16,7 @@ import { TestProvidersComponent } from '../../../mocks/test_providers'; import { useAddToTimeline, UseAddToTimelineValue } from './use_add_to_timeline'; describe('useInvestigateInTimeline()', () => { - let hookResult: RenderHookResult<{}, UseAddToTimelineValue, Renderer>; + let hookResult: RenderHookResult; xit('should return empty object if Indicator is incorrect', () => { const indicator: Indicator = generateMockIndicator(); diff --git a/x-pack/plugins/threat_intelligence/public/modules/timeline/hooks/use_investigate_in_timeline.test.tsx b/x-pack/plugins/threat_intelligence/public/modules/timeline/hooks/use_investigate_in_timeline.test.tsx index 5d416c5ff56c7..dc9b3a4a00296 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/timeline/hooks/use_investigate_in_timeline.test.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/timeline/hooks/use_investigate_in_timeline.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { Renderer, renderHook, RenderHookResult } from '@testing-library/react-hooks'; +import { renderHook, RenderHookResult } from '@testing-library/react'; import { useInvestigateInTimeline, UseInvestigateInTimelineValue, @@ -18,7 +18,7 @@ import { import { TestProvidersComponent } from '../../../mocks/test_providers'; describe('useInvestigateInTimeline()', () => { - let hookResult: RenderHookResult<{}, UseInvestigateInTimelineValue, Renderer>; + let hookResult: RenderHookResult; it('should return empty object if Indicator is incorrect', () => { const indicator: Indicator = generateMockIndicator(); diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/credential_store.test.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/credential_store.test.ts index be838e00f251b..5be26c69922aa 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/credential_store.test.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/credential_store.test.ts @@ -5,16 +5,17 @@ * 2.0. */ -import { CoreKibanaRequest } from '@kbn/core/server'; -import { loggingSystemMock, httpServerMock } from '@kbn/core/server/mocks'; +import { kibanaRequestFactory } from '@kbn/core-http-server-utils'; import { securityMock } from '@kbn/security-plugin/server/mocks'; -import { ReindexStep, ReindexStatus, ReindexSavedObject } from '../../../common/types'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import { httpServerMock } from '@kbn/core-http-server-mocks'; import { credentialStoreFactory } from './credential_store'; +import { ReindexStep, ReindexStatus, type ReindexSavedObject } from '../../../common/types'; const basicAuthHeader = 'Basic abc'; const logMock = loggingSystemMock.create().get(); -const requestMock = CoreKibanaRequest.from( +const requestMock = kibanaRequestFactory( httpServerMock.createRawRequest({ headers: { authorization: basicAuthHeader, diff --git a/x-pack/plugins/upgrade_assistant/tsconfig.json b/x-pack/plugins/upgrade_assistant/tsconfig.json index 34e02a4041310..85fb886ca2af3 100644 --- a/x-pack/plugins/upgrade_assistant/tsconfig.json +++ b/x-pack/plugins/upgrade_assistant/tsconfig.json @@ -39,7 +39,10 @@ "@kbn/shared-ux-link-redirect-app", "@kbn/react-kibana-context-render", "@kbn/data-views-plugin", - "@kbn/deeplinks-observability" + "@kbn/deeplinks-observability", + "@kbn/core-logging-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-http-server-utils" ], "exclude": [ "target/**/*", diff --git a/x-pack/test/alerting_api_integration/packages/helpers/kibana.jsonc b/x-pack/test/alerting_api_integration/packages/helpers/kibana.jsonc index 0995f28c9c5d6..2a95a25e41dd1 100644 --- a/x-pack/test/alerting_api_integration/packages/helpers/kibana.jsonc +++ b/x-pack/test/alerting_api_integration/packages/helpers/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "test-helper", "id": "@kbn/alerting-api-integration-helpers", - "owner": "@elastic/response-ops", + "owner": [ + "@elastic/response-ops" + ], + "group": "platform", + "visibility": "private", "devOnly": true -} +} \ No newline at end of file diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_result_views/aggregated_scripted_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection_result_views/aggregated_scripted_job.ts index d2171544aa993..0d27f9afe153b 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_result_views/aggregated_scripted_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_result_views/aggregated_scripted_job.ts @@ -59,7 +59,6 @@ export default function ({ getService }: FtrProviderContext) { expand_wildcards: ['open'], ignore_unavailable: false, allow_no_indices: true, - ignore_throttled: true, }, query: { match_all: {}, @@ -140,7 +139,6 @@ export default function ({ getService }: FtrProviderContext) { expand_wildcards: ['open'], ignore_unavailable: false, allow_no_indices: true, - ignore_throttled: true, }, query: { bool: { @@ -217,7 +215,6 @@ export default function ({ getService }: FtrProviderContext) { expand_wildcards: ['open'], ignore_unavailable: false, allow_no_indices: true, - ignore_throttled: true, }, query: { match_all: {}, @@ -317,7 +314,6 @@ export default function ({ getService }: FtrProviderContext) { expand_wildcards: ['open'], ignore_unavailable: false, allow_no_indices: true, - ignore_throttled: true, }, query: { bool: { diff --git a/x-pack/test/functional/page_objects/index_management_page.ts b/x-pack/test/functional/page_objects/index_management_page.ts index e5a2604294675..e0e2a555540be 100644 --- a/x-pack/test/functional/page_objects/index_management_page.ts +++ b/x-pack/test/functional/page_objects/index_management_page.ts @@ -221,14 +221,33 @@ export function IndexManagementPageProvider({ getService }: FtrProviderContext) }, async expectIndexIsDeleted(indexName: string) { - const table = await find.byCssSelector('table'); - const rows = await table.findAllByTestSubject('indexTableRow'); - const indexNames: string[] = await Promise.all( - rows.map(async (row) => { - return await (await row.findByTestSubject('indexTableIndexNameLink')).getVisibleText(); - }) - ); - expect(indexNames.includes(indexName)).to.be(false); + try { + const table = await find.byCssSelector('table'); + const rows = await table.findAllByTestSubject('indexTableRow'); + + const indexNames = await Promise.all( + rows.map(async (row) => { + try { + return await ( + await row.findByTestSubject('indexTableIndexNameLink') + ).getVisibleText(); + } catch (error) { + // If the current row is stale, it has already been removed + if (error.name === 'StaleElementReferenceError') return undefined; + throw error; // Rethrow unexpected errors + } + }) + ).then((names) => names.filter((name) => name !== undefined)); + + expect(indexNames.includes(indexName)).to.be(false); + } catch (error) { + if (error.name === 'StaleElementReferenceError') { + // If the table itself is stale, it means all rows have been removed + return; // Pass the test since the table is gone + } else { + throw error; // Rethrow unexpected errors + } + } }, async manageIndex(indexName: string) { const id = `checkboxSelectIndex-${indexName}`; diff --git a/x-pack/test/kibana.jsonc b/x-pack/test/kibana.jsonc index 609e591270853..89a09b07fb7df 100644 --- a/x-pack/test/kibana.jsonc +++ b/x-pack/test/kibana.jsonc @@ -2,5 +2,7 @@ "type": "test-helper", "id": "@kbn/test-suites-xpack", "owner": [], + "group": "platform", + "visibility": "shared", "devOnly": true } diff --git a/x-pack/test/security_api_integration/packages/helpers/kibana.jsonc b/x-pack/test/security_api_integration/packages/helpers/kibana.jsonc index accbad4620166..f85c93d50ca51 100644 --- a/x-pack/test/security_api_integration/packages/helpers/kibana.jsonc +++ b/x-pack/test/security_api_integration/packages/helpers/kibana.jsonc @@ -1,6 +1,10 @@ { "type": "shared-common", "id": "@kbn/security-api-integration-helpers", - "owner": "@elastic/kibana-security", + "owner": [ + "@elastic/kibana-security" + ], + "group": "platform", + "visibility": "private", "devOnly": true -} +} \ No newline at end of file diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/ai_assistant/tests/complete/complete.spec.ts b/x-pack/test_serverless/api_integration/test_suites/observability/ai_assistant/tests/complete/complete.spec.ts index 385040bd9754f..cd6ebf4923ab6 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/ai_assistant/tests/complete/complete.spec.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/ai_assistant/tests/complete/complete.spec.ts @@ -63,8 +63,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { }, ]; - // FLAKY: https://github.com/elastic/kibana/issues/197175 - describe.skip('/internal/observability_ai_assistant/chat/complete', function () { + describe('/internal/observability_ai_assistant/chat/complete', function () { // TODO: https://github.com/elastic/kibana/issues/192751 this.tags(['skipMKI']); let proxy: LlmProxy; @@ -186,7 +185,11 @@ export default function ApiTest({ getService }: FtrProviderContext) { const parsedEvents = decodeEvents(receivedChunks.join('')); - expect(parsedEvents.map((event) => event.type)).to.eql([ + expect( + parsedEvents + .map((event) => event.type) + .filter((eventType) => eventType !== StreamingChatResponseEventType.BufferFlush) + ).to.eql([ StreamingChatResponseEventType.MessageAdd, StreamingChatResponseEventType.MessageAdd, StreamingChatResponseEventType.ChatCompletionChunk, diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index_management/indices.ts b/x-pack/test_serverless/functional/test_suites/common/management/index_management/indices.ts index 0d8f091123627..a88d1977a0abb 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/index_management/indices.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/index_management/indices.ts @@ -15,6 +15,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const esDeleteAllIndices = getService('esDeleteAllIndices'); const testIndexName = `index-ftr-test-${Math.random()}`; const es = getService('es'); + const retry = getService('retry'); describe('Indices', function () { this.tags(['skipSvlSearch']); @@ -73,7 +74,9 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); it('can delete index', async () => { await pageObjects.indexManagement.confirmDeleteModalIsVisible(); - await pageObjects.indexManagement.expectIndexIsDeleted(testIndexName); + await retry.try(async () => { + await pageObjects.indexManagement.expectIndexIsDeleted(testIndexName); + }); }); }); }); diff --git a/x-pack/test_serverless/kibana.jsonc b/x-pack/test_serverless/kibana.jsonc index 2ad994687ff92..a25f8d1fc1418 100644 --- a/x-pack/test_serverless/kibana.jsonc +++ b/x-pack/test_serverless/kibana.jsonc @@ -2,5 +2,7 @@ "type": "test-helper", "id": "@kbn/test-suites-serverless", "owner": [], - "devOnly": true + "devOnly": true, + "group": "platform", + "visibility": "shared" } diff --git a/yarn.lock b/yarn.lock index d5acff31b563b..e3c2abbe30a7e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4606,6 +4606,10 @@ version "0.0.0" uid "" +"@kbn/core-http-server-utils@link:packages/core/http/core-http-server-utils": + version "0.0.0" + uid "" + "@kbn/core-http-server@link:packages/core/http/core-http-server": version "0.0.0" uid ""