Commit graph

4929 commits

Author SHA1 Message Date
Nastasha Solomon
95609f9bf6
[Docs][9.0.x] Add known issue about AI Obs Assistant getting stuck when attempting to call the call the execute_connector function (#221834)
## Summary

Contributes to https://github.com/elastic/docs-content/issues/1508 by
updating the Kibana 9.0.x release notes to include a known issue about
AI Observability Assistant getting stuck when attempting to call the
`execute_connector` function.

**NOTE:** I also removed the version title on the known issues page
since we're no longer separating known issues by version in the V3
release notes. To convey the affected versions, I added the `Applies
to:` section to all known issue summaries. Example
[here](https://github.com/elastic/kibana/pull/221834/files#diff-30afc7e6ff1580c73ef66adaddc840df18c2c28b7b9b4835cdf8104d3fd2b31cR22).

**Corresponding PRs**
- Kibana 8.18.x known issues:
https://github.com/elastic/kibana/pull/221804

## Preview
- [Known
issues](https://docs-v3-preview.elastic.dev/elastic/kibana/pull/221834/release-notes/known-issues)
2025-05-28 20:44:28 +00:00
Pierre Gayvallet
f3b4975c8c
[onechat] Introduce plugin and tool registry (#220889)
## Summary

Implements the onechat tool registry RFC.

Fix https://github.com/elastic/search-team/issues/9938
Fix https://github.com/elastic/search-team/issues/10019

This PR introduces the following artifacts:

**plugins:**
- `onechat`

**packages:**
- `@kbn/onechat-common`
- `@kbn/onechat-server`
- `@kbn/onechat-browser`

## Tool APIs overview

### Registering a tool

```ts
class MyPlugin {
  setup(core: CoreSetup, { onechat }: { onechat: OnechatPluginSetup }) {
    onechat.tools.register({
      id: 'my_tool',
      name: 'My Tool',
      description: 'My very first tool',
      meta: {
        tags: ['foo', 'bar'],
      },
      schema: z.object({
        someNumber: z.number().describe('Some random number'),
      }),
      handler: ({ someNumber }, context) => {
        return 42 + someNumber;
      },
    });
  }
}
```

### Executing a tool

Using the `execute` API:

```ts
const { result } = await onechat.tools.execute({
  toolId: 'my_tool',
  toolParams: { someNumber: 9000 },
  request,
});
```

Using a tool descriptor:

```ts
const tool = await onechat.tools.registry.get({ toolId: 'my_tool', request });
const { result } = await tool.execute({ toolParams: { someNumber: 9000 } });
```

With error handling:

```ts
import { isToolNotFoundError } from '@kbn/onechat-common';

try {
  const { result } = await onechat.tools.execute({
    toolId: 'my_tool',
    toolParams: { someNumber: 9000 },
    request,
  });
} catch (e) {
  if (isToolNotFoundError(e)) {
    throw new Error(`run ${e.meta.runId} failed because tool was not found`);
  }
}
```

### Listing tools

```ts
const tools = await onechat.tools.registry.list({ request });
```

*More details and example in the plugin's readme.*

### What is **not** included in this PR:

- tool access control / authorization - we have a dedicated RFC
- dynamic tool registration / permissions checks part/of depends on the
authorization RFC
- feature / capabilities - will come with browser-side and HTTP APIs
- fully defining tool meta - hard to do now
- filter parameters for the tool list API - depends on the meta being
defined

*Those will be follow-ups*. Everything else from the RFC should be
there.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-05-28 00:45:01 +03:00
David Kilfoyle
4c03ca41c2
[Docs] Remove outdated settings yaml file (#221630)
This outdated settings file could cause some confusion so let's remove
it.

The newer `kibana-alert-action-settings.yml` will be used to generated
settings docs.
2025-05-27 13:17:45 -04:00
Eyo O. Eyo
f635e2a3b0
[MVP] Product Intercept Dialog (#209571)
## Summary

This PR aims to answer questions about the implementation details for
https://github.com/elastic/kibana-team/issues/1328

We'd like to trigger an intercept dialog to users at specific time
intervals that vary and depend on different parameters, see the PRD
linked in the aforementioned issue.

This MVP takes an approach such that the constraints listed below are
resolved;
- Have the intercept be specific to a single user
- Define a strategy to configure triggers that can vary for the
intercept that's not dependent on the client

How does this work?
- A generic plugin has been created which when declared as dependency
can be used to register and schedule an intercept that should be
presented to the user, this plugin is what's been used for the product
intercept dialog.
- To handle rendering the UI component that gets displayed to the users,
in this PR we hook into core's existing notification system, through the
notification coordinator system that's been created so that we don't
have a situation where an intercept is being displayed whilst a user
might have a toast being rendered to them, if there's an intercept to be
displayed said intercept would not be displayed till the user is
completely done interacting with the toast. [See it's implementation
details
here](src/core/packages/notifications/browser-internal/src/notification_coordinator.ts)
and
[here](x-pack/platform/plugins/private/intercepts/public/prompter/service/intercept_dialog_service.tsx)
for how it's integrated.
- The plugin provides some bootstrap data through an endpoint that every
user calls on page load, ideally this would need to happen just the once
on page load, we then compute when a user should see a trigger
leveraging the bootstrap data provided for the particular registered
trigger in question, the returned data returns the following data as
seen below;

<img width="476" alt="Screenshot 2025-03-27 at 18 01 12"
src="https://github.com/user-attachments/assets/c747b6c8-70d0-4305-b555-ec9998b180c1"
/>


Given we have this data we might then have a flow for triggering the
intercept on the client based of the bootstrap data like so;

	```mermaid
	flowchart TD
	 A[State Bootstrap] --> B{Has data?}
	 B -->|No| C(Do Nothing)
B -->|Yes| D{Does computed runs since trigger registration match stored
user trigger run feedback value?}
	 D -->|No| E[setup timer to display an intercept in that time]
E -->|on completion| G[setup interval to display intercept in the
future]
	 D -->|Yes| G
	 G -->|repeat| G
    ```
	reloading the page restarts the entire process.

## Telemetry

The intercept component provided by defaults records telemetry for
intercept registration, acknowledgement (differentiated into dismissal
and completion), alongside registration overload.


## Visuals


<!--
https://github.com/user-attachments/assets/b39a506c-a119-40e8-9152-258d78691f28
-->

<!--
https://github.com/user-attachments/assets/f564b4bc-9ad9-4e19-8158-6e154ef52fc2
-->

<img width="738" alt="Screenshot 2025-05-07 at 19 41 23"
src="https://github.com/user-attachments/assets/902c6d0b-9299-44bd-8808-4ad97227d0da"
/>

## Testing this PR

- Pull this branch to your machine
- Add the following to your `kibana.dev.yml`, to enable the intercept to
run and be visible

```yml
xpack.intercepts.enabled: true
xpack.product_intercept.enabled: true
xpack.product_intercept.interval: '30s'
```

<!--

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-05-27 16:57:58 +02:00
Maryam Saeidi
3d86a175d7
Extend default log pattern on server-side to include error information (#219940)
## Release Notes
Kibana logging's pattern layout, used by default for the console
appender, will now use a new default pattern layout
`[%date][%level][%logger] %message %error`. This will include the error
name and stack trace if these were included in the log entry. To opt out
of this behavior users can omit the `%error` placeholder from their log
pattern config in kibana.yml e.g.:
```
logging:
  appenders:
    console:
      type: console
      layout:
        type: pattern
        pattern: "[%date][%level][%logger] %message"
```

## Summary

Previously, when we pass the error in meta, the information related to
stacktrace and error message was not available in console. This PR
changed the default pattern to also include error information if it is
provided in meta (similar to the way that the logging happens when error
is directly passed to logger.error).

New pattern: (added `%error` at the end)
```
[%date][%level][%logger] %message %error
```

Here you can see the difference:

Logger:

```
server.logger.error(
        `Unable to create Synthetics monitor ${monitorWithNamespace[ConfigKey.NAME]}`,
        { error: e }
      );
```

#### Before


![image](https://github.com/user-attachments/assets/4f3ff751-84d5-4b5b-b6a9-d49f868a9606)

#### After


![image](https://github.com/user-attachments/assets/e22b8e45-1b0a-4d8c-b51d-5dfb3938da4f)


### Alternative
We could also change the MetaConversion and include this information,
but we might have additional meta information which I am not sure if it
is OK to be logged by default. Let me know if you prefer changing
MetaConversion instead of adding a new error conversion.

<details>
<summary>Code changes for MetaConversion</summary>

```
function isError(x: any): x is Error {
  return x instanceof Error;
}

export const MetaConversion: Conversion = {
  pattern: /%meta/g,
  convert(record: LogRecord) {
    if (!record.meta) {
      return '';
    }
    const { error, ...rest } = record.meta;
    const metaString = Object.keys(rest).length !== 0 ? JSON.stringify(rest) : '';
    let errorString = '';

    if (isError(record.meta?.error)) {
      errorString = record.meta?.error.stack || '';
    }

    return [metaString, errorString].filter(Boolean).join(' ');
  },
};
```
</details>

Here is how adjusting meta will look like in this case:


![image](https://github.com/user-attachments/assets/d7dce9bc-7147-472d-b434-373322f41bbf)
2025-05-22 16:57:42 +02:00
Jonathan Budzenski
d46dbb7e53 Update plugin-list.md 2025-05-22 07:32:18 -05:00
Colleen McGinnis
fbda17de2d
[docs] Fix various syntax and rendering errors (#218883)
Fixes various syntax and rendering errors that might include:

* Fixing broken images
* Hardcoding book-level substitution values
* Fixing incorrectly closed blocks (admonitions, tab sets, code blocks,
dropdowns etc.)
* Fixing poorly migrated complex tables
* Fixing poorly migrated lists
* Fixing poorly migrated tab sets
* Removing inline text formatting from directive titles where they won't
be rendered (for example, inline `code` formatting in dropdown titles)
* Specifying if a version is trying to communicate if a feature was
added, deprecated, or coming (for example, during migration
`deprecated:[8.15.0]` became `[8.15.0]`, which doesn't give any
information about _what_ happened in 8.15.0)
* Note: I used an `{admonition}` for this, but you can change it to
prose or some other kind of admonition if you want.
* Fixing nested dropdowns / definition lists
* Fixing poorly migrated footnotes
* Updating references to prerelease `9.0.0` versions (using a repo-level
substitution until there is a solution to
https://github.com/elastic/docs-builder/issues/737)

Links to pages that were updated:

| Before | After |
|---|---|
| https://www.elastic.co/docs/extend/kibana/development-documentation |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/development-documentation
|
| https://www.elastic.co/docs/extend/kibana/development-security |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/development-security
|
| https://www.elastic.co/docs/extend/kibana/development-tests |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/development-tests
|
|
https://www.elastic.co/docs/extend/kibana/external-plugin-functional-tests
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/external-plugin-functional-tests
|
| https://www.elastic.co/docs/extend/kibana/external-plugin-localization
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/external-plugin-localization
|
| https://www.elastic.co/docs/extend/kibana/interpreting-ci-failures |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/interpreting-ci-failures
|
| https://www.elastic.co/docs/extend/kibana/plugin-list |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/plugin-list
|
| https://www.elastic.co/docs/extend/kibana/sample-data |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/sample-data
|
| https://www.elastic.co/docs/extend/kibana/saved-objects-service |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/saved-objects-service
|
| https://www.elastic.co/docs/extend/kibana/sharing-saved-objects |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/sharing-saved-objects
|
| https://www.elastic.co/docs/extend/kibana/stability |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/stability
|
| https://www.elastic.co/docs/reference/kibana/advanced-settings |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/advanced-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/ai-assistant-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/ai-assistant-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/fleet-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/fleet-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/general-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/general-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/monitoring-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/monitoring-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/reporting-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/reporting-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/task-manager-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/task-manager-settings
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/cases-webhook-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/cases-webhook-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/email-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/email-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/pre-configured-connectors
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/pre-configured-connectors
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/servicenow-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/servicenow-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/servicenow-itom-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/servicenow-itom-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/servicenow-sir-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/servicenow-sir-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/thehive-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/thehive-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/webhook-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/webhook-action-type
|
| https://www.elastic.co/docs/reference/kibana/kibana-audit-events |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/kibana-audit-events
|
| https://www.elastic.co/docs/reference/kibana/kibana-plugins |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/kibana-plugins
|
| https://www.elastic.co/docs/release-kibana/notes/index |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/release-notes/index
|

---------

Co-authored-by: wajihaparvez <wajiha.parvez@elastic.co>
2025-05-22 10:10:07 +02:00
Elena Shostak
c3a26c32e5
[Authz] Cleanup of access tags functionality and documentation (#220231)
## Summary

Mandatory security config has been added in
https://github.com/elastic/kibana/pull/215180. This PR cleans up access
tags functionality, documentation and migration eslint rule
`no_deprecated_authz_config` that is no longer needed.


### Checklist
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-05-22 08:45:17 +02:00
florent-leborgne
0ce0f65f49
[Docs] Add Kibana Accessibility statement page (#220997)
This PR re-makes the Kibana accessibility statement page its own page to
ease sharing.
2025-05-20 14:11:48 +00:00
florent-leborgne
edd73b2df6
[Docs] Add behavioral analytics removal to Kibana 9.0 breaking changes (#220906)
Behavioral analytics was hidden from the UI and its associated APIs were
deprecated in 9.0, but only the API deprecation was called out in
Elasticseach release notes. This PR addresses the UI communication gap
by adding a mention to the 9.0 breaking changes (while it's technically
a deprecation, the fact that it's been hidden in Kibana makes it look
more like a breaking change from a customer perspective).

Rel: https://github.com/elastic/docs-content/issues/1417
Rel: https://github.com/elastic/kibana/pull/212031
2025-05-20 11:00:55 +02:00
Colleen McGinnis
266def5a26
[docs] Add products to docset.yml (#220848)
Related to https://github.com/elastic/docs-builder/issues/1200

Add `products` to `docset.yml` to be used in the search experience.

cc @KOTungseth
2025-05-16 17:17:06 +02:00
István Zoltán Szabó
e499dd4e6d
[DOCS] Adds Elastic Managed LLM to Kibana connectors (#220247)
## Summary

Related to https://github.com/elastic/search-team/issues/9890

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
2025-05-14 11:27:35 -07:00
Lisa Cawley
f3115c6746
[DOCS] Update CrowdStrike and SentinelOne connectors (#219887) 2025-05-08 11:34:40 -07:00
Lisa Cawley
154ed1ef6f
[DOCS] Microsoft Defender for Endpoint connector (#219999) 2025-05-08 11:34:12 -07:00
Edu González de la Herrán
802c791655
release notes security advisor message added to 9.0.1 release notes (#220498)
Updating release notes for 9.0.1 (docs V3) in main branch.

Not sure how we plan to deal with the security advisor messages in the
release notes in the new docs system, considering the release notes page
include a generic message at the beginning pointing to the security
advisory board.

Also I'm not totally sure if this needs to be merged into any other
branch, I'll let @wajihaparvez and @florent-leborgne to determine how
this should be done, and approve or reject the PR.
2025-05-08 10:25:42 -04:00
Sergi Romeu
fad881d918
[APM] Remove technical preview from apmProgressiveLoading (#220343) 2025-05-08 09:42:54 +02:00
Steph Milovic
0de633e01d
[GenAI Connectors] Update Default Model IDs for Bedrock and OpenAI Connectors (#220146) 2025-05-07 17:34:06 -06:00
florent-leborgne
2671acc695
[Docs] Add known issue about Obs AI Assistant KB to 9.0 docs (#220401)
^^ 

Counterpart of https://github.com/elastic/kibana/pull/220397 for 9.0
docs
2025-05-07 16:53:02 +00:00
Sergi Romeu
eb6a159317
[Infra] Remove enableInfrastructureAssetCustomDashboards setting (#220210)
## Summary

Part of #218501

This PR removes the advanced setting
`observability:enableInfrastructureAssetCustomDashboards` but keeps the
saved object, to be removed in a [follow-up
issue](https://github.com/elastic/kibana/issues/220340).

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-05-07 14:21:08 +02:00
Sergi Romeu
89c91350cc
[APM] Remove apmTraceExplorerTab setting and feature (#219063)
## Summary

Part of #218501

This PR removes the advanced setting `observability:apmTraceExplorerTab`
and the feature.
2025-05-07 10:46:56 +02:00
Sergi Romeu
c47556ac08
Revert "[APM] Set apmProgressiveLoading low by default and remove technical preview" (#220234)
Reverts elastic/kibana#219067
2025-05-06 17:43:45 +02:00
Sergi Romeu
74408094ba
[APM] Remove enableContinuousRollups setting and enable it by default (#219054)
## Summary

Part of #218501

This PR removes the advanced setting
`observability:enableContinuousRollups` and enables the feature by
default
2025-05-06 15:03:39 +02:00
Sergi Romeu
b4b3824509
[APM] Remove enableAwsLambdaMetrics setting and enable it by default (#219057)
## Summary

Part of #218501

This PR removes the advanced setting
`observability:enableAwsLambdaMetrics` and enables the feature by
default
2025-05-06 12:49:08 +02:00
florent-leborgne
b1a7bc3b10
[Docs] Kibana 9.0.1 release notes (#219734)
This PR adds release notes for the Kibana 9.0.1 release

👀
[preview](https://docs-v3-preview.elastic.dev/elastic/kibana/pull/219734/release-notes/)
👀

---------

Co-authored-by: Matthias Wilhelm <ankertal@gmail.com>
2025-05-06 09:11:58 +00:00
Sergi Romeu
a5fa9a2af6
[APM] Remove apmEnableServiceMetrics setting and enable it by default (#219052)
## Summary

Part of #218501

This PR removes the advanced setting
`observability:apmEnableServiceMetrics` and enables the feature by
default
2025-05-05 18:29:50 +02:00
Lisa Cawley
3dd3975f7b
[DOCS] Fix images and frontmatter in connector docs (#219892) 2025-05-05 07:45:27 -07:00
Sergi Romeu
1070ceeea2
[APM] Remove apmAgentExplorerView setting and enable it by default (#219061)
## Summary

Part of #218501

This PR removes the advanced setting
`observability:apmAgentExplorerView` and enables the feature by default
2025-05-05 16:26:21 +02:00
Sergi Romeu
321436ebfe
[APM] Remove apmServiceInventoryOptimizedSorting setting and enable it by default (#219058)
## Summary

Part of #218501

This PR removes the advanced setting
`observability:apmServiceInventoryOptimizedSorting` and enables the
feature by default
2025-05-05 16:25:34 +02:00
Sergi Romeu
4bf6522d78
[APM] Remove apmEnableCriticalPath setting and enable it by default (#219055)
## Summary

Part of #218501

This PR removes the advanced setting
`observability:apmEnableCriticalPath` and enables the feature by default
2025-05-05 16:17:18 +02:00
Alejandro Fernández Haro
75c0f9543a
Revert "Removed switchToModelVersionAt from SO API definition (#219029)" (#220059)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-05-05 16:01:45 +02:00
florent-leborgne
8a05701cc4
[Docs] Replace remaining occurrences of ESS (#220045)
This PR updates some remaining obsolete variables and mentions of
ESS/Elasticsearch Service that should now refer to Elastic Cloud Hosted.

Note: There are still a few valid references to the Elasticsearch
service, not to be mixed with the cloud offering bearing the same name.
2025-05-05 10:29:30 +00:00
Arianna Laudazzi
0fbb150907
[Reference] Revisit the kibana landing page (#220025)
This PR updates the Kibana landing page.
Relates to https://github.com/elastic/docs-content/issues/1303

---------

Co-authored-by: Florent Le Borgne <florent.leborgne@elastic.co>
2025-05-05 09:56:31 +00:00
Davis McPhee
d536f85005
[Discover] Support Lens fetches across tabs (#218506)
## Summary

This PR implements support for Lens chart fetches across Discover tabs,
and restoring chart state when returning to a tab.

The Lens embeddable does not currently support continuing data fetching
after it's been unmounted, or fully support restoring chart state using
previously fetched data. The Vis team is aware of this request, but in
the meantime we're using an alternative approach that keeps Lens charts
rendered in memory for each tab that's been visited at least once. This
allows fetches to run in the background and displays the resulting chart
when switching back to tabs. Doing this involved some refactoring to
both Discover and Unified Histogram:
- Create a `ChartPortalsRenderer` wrapper component in Discover to lift
chart rendering high up in the React tree and render charts into
[reverse portals](https://github.com/httptoolkit/react-reverse-portal),
ensuring charts are not remounted when switching tabs and continue to be
rendered after switching away from a tab.
- Refactor Unified Histogram from a single "container" component into
three pieces: a `UnifiedHistogramLayout` component, a
`UnifiedHistogramChart` component, and a `useUnifiedHistogram` hook to
tie things together. This approach allows us to render the chart and
hook separately (in a reverse portal) from the layout, making it
possible to separate the lifecycle of both components without keeping
the rest of Discover's components in memory after switching tabs.
- **Important note:** This change had the side effect of bloating the
Unified Histogram page load bundle since we're now exporting a static
hook that isn't dynamically imported. We could have worked around this
by getting creative with dynamic imports, but doing that seemed hacky.
Instead I decided now was a good time to split Unified Histogram out
into a package in order to support tree shaking, which also has the
added benefits of one fewer plugins to load on startup, and simplifying
the Discover async bundles.

There is one flaw with this approach: the `useDiscoverHistogram` hook
currently depends on global services for retrieving the current query
and filters (including global filters) through the `useQuerySubscriber`
hook. This means the values can become out of sync in inactive tabs when
the user modifies them in the current tab. In practice this doesn't seem
to have an effect in most cases since we don't trigger new fetches in
inactive tabs, and sync the the current tab values to the global
services when switching back to a tab. However, we should still fix this
for the MVP with an approach that doesn't leak state since the current
approach is brittle. I avoided doing that in this PR since it would
likely cause more conflicts with #217706, and that PR may introduce a
solution to the issue anyway (syncing global state to the redux store,
which we can rely on in the hook instead).

Resolves #216475.

### Checklist

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-05-02 13:39:25 -03:00
Sergi Romeu
4748d4f1a8
[APM] Set apmProgressiveLoading low by default and remove technical preview (#219067)
## Summary

Part of #218501

This PR sets the advanced setting `observability:apmProgressiveLoading`
as low by default and removes the technical preview
2025-04-30 13:07:34 +02:00
Sergi Romeu
0e15ae0e55
[Profiling] Remove profilingFetchTopNFunctionsFromStacktraces setting (#219050)
## Summary

Part of #218501

This PR removes the advanced setting
`observability:profilingFetchTopNFunctionsFromStacktraces`
2025-04-30 11:20:02 +02:00
Walter Rafelsberger
8655e8b324
[ML] Transforms: Updated README.md (#218808)
## Summary

Updated the transform plugin's `README.md` with some more details.
Updates CODEOWNERS for transforms so `elastic/ml-ui` and
`elastic/kibana-management` are both code owners.

### Checklist

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
2025-04-28 15:23:32 +02:00
Christiane (Tina) Heiligers
19c017a111
Removed switchToModelVersionAt from SO API definition (#219029)
## Summary
Part of https://github.com/elastic/kibana/issues/201807

**Strategy**:
This PR assumes that `switchToModelVersionAt` has done it’s job and all
SO type owners now use `modelVersions` instead of `migrations`.
It takes the approach of trusting that this is fine™

**Changes in this PR:**
- `switchToModelVersionAt` removed from all registered saved objects, so
their mapping hash had to be updated.
- Implements `globalSwitchToModelVersionAt` directly in `version_map`
- Updates logic to prioritize `modelVersions` over `migrations` in
`getLatestMappingsModelVersion`, that previously relied on
`switchToModelVersionAt` being set
- Updates unit tests to match the refactored logic
- Updates snapshots
- Adapts SO types registered in the **cases**, **SLO** and **encrypted
saved objects** plugins.
- Updates docs

**Risks**:
- Plugin developers disregard the deprecated status of `migrations` and
introduce new versions, which will not be BWC. Saved object type hash
changes will notify the core team for a code owner review. The core team
needs to investigate the related changes and provide feedback.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-26 08:00:09 -07:00
Michael Wolf
3a8bd29b2e
Osquery: Update exported fields reference for osquery 5.15.0 (#215619)
Update exported fields reference for osquery 5.15.0.
2025-04-24 19:21:38 +00:00
florent-leborgne
2210960152
[Docs] Fix column offset from migration to md in Audit events page (#218938)
Some values are not in the right column on this page
https://www.elastic.co/docs/reference/kibana/kibana-audit-events
(basically for all "failure" rows). This PR fixes this
2025-04-23 10:49:28 +00:00
Pierre Gayvallet
29a81d8972
[workchat] prepare the workflow framework (#218138)
## Summary

Setup the foundations of the workflow framework, adding types and
initial implementation.


## Examples

### Looping over some input to call the LLM

**workflow**
```typescript
{
      id: 'my_test_workflow',
      name: 'Just a test workflow',
      type: 'graph',
      inputs: [
        {
          name: 'input',
          type: 'array',
          required: true,
        },
      ],
      steps: [
        {
          id: 'mainLoop',
          type: NodeType.loop,
          configuration: {
            inputList: 'input',
            itemVar: 'prompt',
            output: {
              source: 'output',
              destination: 'results',
            },
            steps: [
              {
                id: 'step1',
                type: NodeType.prompt,
                configuration: {
                  prompt:
                    'How much is {prompt}? Please just output the result without anything else',
                  output: 'output',
                },
              },
            ],
          },
        },
      ],
      outputs: [
        {
          name: 'results',
          ref: 'results',
        },
      ],
    }
``` 

**Running**
```ts
workchatFramework.workflows.run({
    id: 'my_test_workflow',
    inputs: { input: ['3 + 3', '7 - 1', '4 * 6'] },
    request,
})
```

**Output**

```ts
 {
  runId: '6f254746-57fc-4fd3-8bfa-25014725f53f',
  output: { results: [ '6', '6', '24' ] }
}
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-22 22:04:26 +02:00
florent-leborgne
9e082dd1ff
[Docs] Release notes ID structure template (#218782)
For future release notes, section IDs should follow a specific pattern.
This PR updates the ID template in related files.

Rel: https://github.com/elastic/docs-content/issues/1152
2025-04-22 12:31:15 +02:00
wajihaparvez
c7fa2b43c3
[Docs] Add link to dependencies page (#218588)
## Summary

Adding in a page that was missing from the new docs.

Closes: [#667](https://github.com/elastic/platform-docs-team/issues/667)

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-04-21 14:54:05 -04:00
Yuliia Naumenko
221c199ed1
[Search Connectors][Serverless] Add Search Connectors UI to the Stack Management data Section (#213509)
**!!MAJORITY OF THE CHANGED FILES ARE MOVED OR COPIED!!**

### Vision

According to the product vision we will build a new simple UI/UX in the
future https://github.com/elastic/security-team/issues/11790

This PR is a first iteration on enabling Content Connectors Management
UI in Serverless Kibana Stack Management.
Elastic Managed content connectors will be available only for Security
and Observability projects.
### Current PR scope

1. Used initial search_connectors plugin and renamed it to
content_connectors + moved from `x-pack/solutions/search` to
`x-pack/platform/plugins/shared`
2. Copy relevant connectors UI and routes from enterprise_search plugin.
3. Introduce the new Stack Management card/navigation option under the
Data section.
4. Enabled this plugin only in Serverless for Security and Observability
projects.
5. For making PR smaller Pipelines tab was not moved. And according to
Search team vision this functionality should be dropped anyway soon.
6. Extended fleet package logic to include elastic_connectors for
security and o11y serverless projects
7. Added back `search:agentless-connectors-manager` task

In Stack Management navigation:
<img width="2062" alt="Screenshot 2025-04-15 at 3 51 43 PM"
src="https://github.com/user-attachments/assets/5c93ba01-9a6a-4eac-a21d-1370f03b8f35"
/>

Stack Management cards:
<img width="2081" alt="Screenshot 2025-04-10 at 8 41 43 PM"
src="https://github.com/user-attachments/assets/3def1c12-561b-4a84-8241-4dd61cd9313d"
/>


Create Elastic Managed Connector UI (on Agentless):

<img width="1822" alt="Screenshot 2025-04-15 at 3 55 29 PM"
src="https://github.com/user-attachments/assets/6e9fea48-85e7-43df-919d-0e5492d0e704"
/>

Create Self Managed Connector UI:

<img width="2064" alt="Screenshot 2025-04-15 at 3 55 49 PM"
src="https://github.com/user-attachments/assets/d5051898-c8fa-4e41-b9ea-b41d4ed4a0d5"
/>

### Next steps

- [ ] Remove duplicated code between content_connectors,
enterprise_search and serverless_search
- [ ] Extract [common server
libs](https://github.com/elastic/kibana/tree/main/x-pack/solutions/search/plugins/enterprise_search/server/lib)
to the shared package `kbn-search-connectors`

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Artem Shelkovnikov <artem.shelkovnikov@elastic.co>
Co-authored-by: Artem Shelkovnikov <lavatroublebubble@gmail.com>
Co-authored-by: Kyle Pollich <kyle.pollich@elastic.co>
2025-04-18 04:50:56 +02:00
Gerard Soldevila
cf94c2fe0f
SKA: Relocate ai assistant management (#218129)
## Summary

Pre-requisite for https://github.com/elastic/kibana/pull/216088, as the
`AI Assistant Management` configuration settings should be available for
Search too.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-17 13:55:02 +02:00
Catherine Liu
a015e5f9f7
[Canvas] Move expressions used in Canvas only back into Canvas plugin (#214993)
## Summary

Closes [214026](https://github.com/elastic/kibana/issues/214026).

This deletes the following expression plugins/package and moves the code
back into Canvas because they are functions and renderers used
exclusively by Canvas:
- `expression_image`
- `expression_error`
- `expression_repeat_image`
- `expression_reveal_image`
- `expression_shape`
- `kbn-expression-utils`

This reduces the number of plugins loaded on Kibana start and will only
load these functions when using Canvas.

To test, import these Canvas workpad saved objects to enable Canvas:

[test-workpads.ndjson.zip](https://github.com/user-attachments/files/19766567/test-workpads.ndjson.zip)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-16 22:42:21 +02:00
Colleen McGinnis
907cd5904b
[docs] Fix image paths for docs-assembler (#218344)
Fixes image paths to work with docs-assembler.

Notes for the reviewer:
* I was not able to get images in reference, extend, or release-notes to
work using the `:::{image}` syntax because it seems to resolve
differently than the Markdown `![]()` syntax. We should address this in
docs-builder, but in order to get images working as soon as possible,
I've used Markdown syntax and left us a `TO DO` in a code comment to add
back the `screenshot` class where applicable.
* Can you please add the appropriate labels needed for backporting?
2025-04-15 16:59:57 -05:00
Dima Arnautov
6722f142a4
Support local file path for xpack.productDocBase.artifactRepositoryUrl (#217046)
## Summary

Closes https://github.com/elastic/kibana/issues/216583

Adds support for a local file path in
`xpack.productDocBase.artifactRepositoryUrl` setting.
If local path with `file://` protocol is provided, it has to contain a
path to a directory with the artifacts and the `index.xml` file.

#### How to test 

1. Download the XML and zip files from
https://kibana-knowledge-base-artifacts.elastic.co
2. Create a folder, e.g. `mkdir /Users/<my_user>/test_artifacts` and
place all the files there. The XML file has to be called `index.xml`
3. Add `xpack.productDocBase.artifactRepositoryUrl:
'file:///Users/<my_user>/test_artifacts'` to your `kibana.dev.yml`
4. Go to `/app/management/kibana/observabilityAiAssistantManagement` in
Kibana and install Elastic documentation
5. Kibana dev server should report `[2025-04-07T14:05:10.640+02:00][INFO
][plugins.productDocBase.package-installer] Documentation installation
successful for product [security] and version [8.17]`
6. Check `data/ai-kb-artifacts` folder in your Kibana repo, it should
contain zip files with docs

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-04-14 15:27:41 +02:00
George Wallace
db555fdebf
Removing Italics from links (#217926) 2025-04-11 07:55:35 -06:00
Lisa Cawley
388a6fcfbd
[DOCS] Fix path to images in connector docs (#217920) 2025-04-10 17:16:06 -07:00
Alison Goryachev
8c8ccbb3ea
update codeowners file + add data_usage readme (#216486) 2025-04-10 21:35:36 +02:00