Commit graph

87083 commits

Author SHA1 Message Date
Alex Szabo
20764b6914
add es-cache to cleaned folders (#223373)
## Summary
Currently, `yarn kbn clean` nor `yarn kbn reset` won't remove cached ES
snapshot builds. This might cause issues for developers when switching
between branches with major changes. (see:
https://elastic.slack.com/archives/C5UDAFZQU/p1749628993034289)

This PR adds a softer and a harder clean to `clean` and `reset`
respectively.
2025-06-12 10:58:05 +02:00
Stratoula Kalafateli
8577ff35fa
[ES|QL] Better handling of long fields in the editor (#223222)
## Summary

Small change to help with long field names



![image](https://github.com/user-attachments/assets/c719fbc2-8c22-4797-86ff-61f28f7ce658)
2025-06-12 09:53:41 +02:00
Kibana Machine
e77f54de04
[api-docs] 2025-06-12 Daily api_docs build (#223490)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/1101
2025-06-12 08:08:28 +02:00
Dominique Clarke
33825663e9
[Incident Management] [Suggested dashboards] Deduplicated linked dashboards from list of linked dashboards (#221972)
## Summary

Resolves https://github.com/elastic/kibana/issues/212801

Removes already linked dashboards from the list of suggested dashboards

Also has the side effect of returning the linked dashboards from the
related dashboards api, which can be used to render the linked
dashboards list along with the suggested dashboards, rather than calling
a separate API from the client.

---------

Co-authored-by: Justin Kambic <jk@elastic.co>
2025-06-11 21:18:22 -04:00
Ievgen Sorokopud
2c5d5a49d7
[Attack Discovery][Scheduling] Add a adhoc alerts index for the manually generated attack discoveries (#12484) (#222584)
## Summary

Main ticket ([Internal
link](https://github.com/elastic/security-team/issues/12484))

With these changes we switch from temporarily (while behind the feature
flag) used data stream `.alerts-security.attack.discovery.alerts-ad-hoc`
to a one created and setup by Alerting Framework
`.adhoc.alerts-security.attack.discovery.alerts`. This index used to
store "ad-hoc" attack discovery alerts generated by user manually and
initially visible only to that user with the option to share those
alerts to other people in the same organization.

There should be no visual changes, only the underlying index changed for
the manually generated attack discovery alerts.

**To test**:
1. Generate attack discovery via "Generate" button on Attack Discovery
page
2. Check generated alerts within the
`.adhoc.alerts-security.attack.discovery.alerts*` index

```
GET .adhoc.alerts-security.attack.discovery.alerts*/_search
```

## NOTES

The feature is hidden behind the feature flag (in `kibana.dev.yml`):

```
feature_flags.overrides:
  securitySolution.attackDiscoveryAlertsEnabled: true
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-12 00:58:37 +02:00
Brad White
fe9c921b3e
[Build] Fix parallel stderr (#223177)
## Summary
- Caused by #217929
- Fixes errors not being correctly surfaced when running tasks in
parallel, see:
[logs](https://buildkite.com/elastic/kibana-artifacts-snapshot/builds/6363#0197545d-e878-4dfb-97a5-0ab7d11af95c/7318-7837)
- Added tests for `bufferLogs: true`

### Testing
- [Error
build](https://buildkite.com/elastic/kibana-artifacts-snapshot/builds/6391)
- Future errors will be under the "Finalizing Kibana Artifacts" header
instead of the last artifact's logs. See
2aa4e6523a
- [Good
build](https://buildkite.com/elastic/kibana-artifacts-snapshot/builds/6392)
2025-06-11 16:49:30 -06:00
Garrett Spong
dffa277e09
[Security Solution] [Security Assistant] Poll for evaluation completion in FTR tests (#222487)
## Summary

This PR fixes an issue with running our Security Assistant evals on CI
where the tests would finish and cleanup before the evaluations would
actually complete. There was no issue with actually running the
evaluations, they would finish without error, however since the tests
would complete beforehand, the required resources (alerts, kb docs,
elser, etc) would be cleaned up and the evaluations wouldn't pass.

The issue has been fixed by polling for evaluation completion before
letting the tests complete. This was accomplished by writing evaluation
results (`id`/`status`) to a new ephemeral index
`.kibana-elastic-ai-assistant-evaluations-default` with an ILM policy of
`1d`, and then updating the GET evaluation route to include a `results`
array that can be used to confirm the status of the evaluation.


Note: There is no impact to production deployments with these changes as
all evaluation routes are gated behind the evaluation feature flag,
which can be enabled by adding the below configuration to your
`kibana.dev.yml`:


```
xpack.securitySolution.enableExperimental:
  - "assistantModelEvaluation"
```
---

## Results

[Successful
Build](https://buildkite.com/elastic/kibana-pull-request/builds/306787/summary/annotations?jid=019756d8-e32f-4366-be5c-0f766a7c2934)
with `33m16s` runtime

[ES|QL Generation
Regression](261dcc59-fbe7-4397-a662-ff94042f666c/compare?selectedSessions=3303dbd1-4b29-4e36-900e-fc17ccfc923b,0acddaab-badb-4830-b731-170a3c122fcb,b8c300dc-3947-4c47-96d0-e3224be44d59,ce88d37d-6083-41ed-bcc7-989a2efc9c33&baseline=3303dbd1-4b29-4e36-900e-fc17ccfc923b)

<p align="center">
<img width="800"
src="https://github.com/user-attachments/assets/45750385-56c1-424d-bdc7-19ef1e378416"
/>
</p> 







[Alerts RAG Regression (Episodes
1-8)](bd5bba1d-97aa-4512-bce7-b09aa943c651/compare?selectedSessions=f99b3bc7-bebf-4338-8cc5-96cff42015ab,776083c7-733b-476f-9a2e-ab90f62ba95b,f2036996-be11-45af-ab48-ee407b417679,7c02109b-ff7e-4b7c-8273-937a269f8924&baseline=f99b3bc7-bebf-4338-8cc5-96cff42015ab)

> [!NOTE]
> Need to either update dataset's referenced output to match the more
verbose outputs of the tests, or to tune the evaluator prompt to be more
lax as this is incorrectly the impacting correctness value. Examples
needing updated:
>
> Example: #9e6e
> Example: #d33b
> Example: #e4c6

<p align="center">
<img width="800"
src="https://github.com/user-attachments/assets/61b8711a-f9bc-4b0b-93ce-cb9436864857"
/>
</p> 




[Assistant Eval: Custom
Knowledge](2d5f7c18-4bf4-4cdb-97a1-16e39a865cab/compare?selectedSessions=589cbefa-893d-411e-86ea-cf2fe01d352e,4f0e797e-b6fa-4aa6-b707-3fd952d9eccb,75a78e49-0ae4-4edd-b6c5-35a1ea2cafa8,3b7bef1e-69e7-4692-b156-acf30992383d&baseline=589cbefa-893d-411e-86ea-cf2fe01d352e)

> [!NOTE]
> Quite a few failures here which seem to be stemming from either
mis-matches in anonymization values when referencing specific host names
(differing from example alerts used in tests vs data set generation), or
the [KBRetrival tool not even being
called](https://smith.langchain.com/public/d76c989e-f467-43a6-b606-c601e986d382/r).

<p align="center">
<img width="800"
src="https://github.com/user-attachments/assets/1a57efbc-8615-4209-9483-7aee69f2a622"
/>
</p> 



[Eval AD: All
Scenarios](4690ee16-9df5-416c-8bf0-b62bc2f2aba9/compare?selectedSessions=2ca55bc8-7b26-4f4a-909d-5e86ceddc53d,3694531a-32e0-4216-b91b-9136e7523bbb,6daa7be3-6b9b-44d3-bac3-6ba6980accfd,ad741ca8-07bf-4bfe-ba85-6b271e9c3e34&baseline=2ca55bc8-7b26-4f4a-909d-5e86ceddc53d&textDisplayMode=compact&compare-experiment-tab=0)


<p align="center">
<img width="800"
src="https://github.com/user-attachments/assets/7e946207-290d-450f-a6ad-e679c8b60f0b"
/>
</p> 


## Next Steps

* Need to improve the `Alerts RAG Regression (Episodes 1-8)` and
`Assistant Eval: Custom Knowledge` suites as correctness is being
impacted by a few factors: more verbose output from some models,
evaluator prompt, example alerts/anonymization mis-matching, or missed
tool calls
* Add telemetry for writing execution times and single correctness score
per model per suite
  * Optionally write as console output/test artifact when running tests 
* Output link to LangSmith results in console output
2025-06-11 15:47:07 -06:00
Mason Herron
b85b3d1288
[Fleet] Fix - Missing attributes on dynamic mappings (#221818)
## Summary

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

- Added a helper function to apply certain known fields to dynamic
mappings, similar to how static mappings work. @jsoriano and I have
discussed refactoring in the future to make it a bit more flexible, but
that is a bit out-of-scope at this time.


### 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
N/A

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-11 23:30:00 +02:00
Maryam Saeidi
cfc7f0ed0e
Add trace.id to EBT events (#222366)
Closes https://github.com/elastic/observability-dev/issues/4445

EBT implementation: https://github.com/elastic/ebt/pull/57

## Summary

In this PR, we are adding `getTraceContext` to the `createAnalytics` in
order to include `trace.id` in the EBT events.


![image](https://github.com/user-attachments/assets/6aa19400-0e38-477a-b5de-74defea7652a)

### ⚠️ Note

Some events might not have a `trace.id` due to not having an active
transaction at the moment of reporting the event. For those, we can
implement more sophisticated logic to keep track of transactions and use
the `trace.id` of the last one for the event (in a follow-up ticket, if
necessary).

### How to test
- Add `telemetry.localShipper: true` to the kibana config and create a
data view for `ebt-kibana-browser` index
- Check the `trace.id` in the events that are passed

---------

Co-authored-by: Alejandro Fernández Haro <alejandro.haro@elastic.co>
2025-06-11 22:11:41 +02:00
Ievgen Sorokopud
297d447248
[Attack Discovery][Scheduling] Add attack discovery details URL to alert document (#221957)
## Summary

Main ticket ([Internal
link](https://github.com/elastic/security-team/issues/10142))

With these changes we add a attack discovery alert details url. Same as
detection alerts it will be stored within the `kibana.alert.url` field.
The url uses the `server.publicBaseUrl` configuration from `kibana.yml`
file and if that config is not set the url will be `undefined`. This
config is set internally (in the
https://github.com/elastic/project-controller/tree/main) for
**serverless** projects ([internal
discussion](https://elastic.slack.com/archives/C054M7BU84Q/p1748539899308869)).

Also, to allow users to access the details link in case of the `for each
alert` action frequency from within the connector we added a new message
variable: `context.attack.detailsUrl`.

**To test**:
1. Set `server.publicBaseUrl` in `kibana.yml`
2. Generate attack discovery via schedule
3. Check generated alerts within the
`.alerts-security.attack.discovery.alerts*` index (specifically
`kibana.alert.url` field)

## NOTES

The feature is hidden behind the feature flag (in `kibana.dev.yml`):

```
feature_flags.overrides:
  securitySolution.assistantAttackDiscoverySchedulingEnabled: true
```
2025-06-11 20:57:00 +02:00
Viduni Wickramarachchi
4a9b69fb22
[Obs AI Assistant] Improve conversation callout (#223442)
## Summary

Improve conversation callout rendering when the callout should not be
displayed.

### Checklist

- [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-06-11 14:06:19 -04:00
elastic-renovate-prod[bot]
f6834ce0f2
Update dependency @elastic/ebt to ^1.2.1 (main) (#223269) 2025-06-11 20:02:31 +02:00
Tiago Costa
d1e049b5f1
skip flaky suite (#223437) 2025-06-11 18:33:56 +01:00
Tiago Costa
f23212db31
skip flaky suite (#216661) 2025-06-11 17:22:55 +01:00
Joey F. Poon
2b45f448bd
[Security Solution] fix uninstall token service space awareness (#223180)
## Summary

Fixes an issue where the uninstall token cannot be fetched with space
awareness enabled.
2025-06-12 01:18:14 +09:00
elastic-renovate-prod[bot]
bdf403582e
Update base64-js dependencies (main) (#219586)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| @&#8203;types/base64-js | devDependencies | minor | [`^1.2.5` ->
`^1.5.0`](https://renovatebot.com/diffs/npm/@types%2fbase64-js/1.2.5/1.5.0)
|
| [base64-js](https://redirect.github.com/beatgammit/base64-js) |
dependencies | patch | [`^1.3.1` ->
`^1.5.1`](https://renovatebot.com/diffs/npm/base64-js/1.5.1/1.5.1) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOlNoYXJlZFVYIiwiYmFja3BvcnQ6YWxsLW9wZW4iLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Tim Sullivan <tsullivan@users.noreply.github.com>
2025-06-11 09:17:40 -07:00
elastic-renovate-prod[bot]
e407e9fee3
Update lz-string dependencies to ^1.5.0 (main) (#219591)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| @&#8203;types/lz-string | devDependencies | minor | [`^1.3.34` ->
`^1.5.0`](https://renovatebot.com/diffs/npm/@types%2flz-string/1.3.34/1.5.0)
|
| [lz-string](http://pieroxy.net/blog/pages/lz-string/index.html)
([source](https://redirect.github.com/pieroxy/lz-string)) | dependencies
| patch | [`^1.4.4` ->
`^1.5.0`](https://renovatebot.com/diffs/npm/lz-string/1.5.0/1.5.0) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOlNoYXJlZFVYIiwiYmFja3BvcnQ6YWxsLW9wZW4iLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Jeramy Soucy <jeramy.soucy@elastic.co>
Co-authored-by: Tim Sullivan <tsullivan@users.noreply.github.com>
2025-06-11 09:17:26 -07:00
Tim Sullivan
aa7ea37d89
[CODEOWNERS] fix the codeowners file for appex sharedux team (#223433)
## Summary

Resolve a typo in CODEOWNERS
2025-06-11 17:16:32 +01:00
christineweng
1ca1e79813
[Security Solution] Remove unneeded isPreview prop in highlighted fields (#223321)
## Summary

`isPreview` check is not used and no longer needed. No change to UI


### Checklist

- [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-06-11 11:15:57 -05:00
Milton Hultgren
98701f3f5d
Use American spelling for some occurrences of analyze/analyse (#223416)
To align with EUI language guidelines
2025-06-11 18:10:06 +02:00
Davis McPhee
b3088f585c
[Discover] Fix cell actions extension not working for ES|QL computed columns (#223071)
## Summary

This PR fixes an issue where the Discover cell actions extension did not
work for ES|QL computed columns.

### 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
- [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
- [ ] 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
- [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-06-11 12:56:55 -03:00
elastic-renovate-prod[bot]
50b3dc3cc4
Update dependency msw to ~2.9.0 (main) (#223181) 2025-06-11 17:20:55 +02:00
Kevin Delemme
3f9b5c93e8
fix(slo): use correct timeslice window duration as bucket size in good vs bad events (#223413) 2025-06-11 17:18:43 +02:00
Nick Partridge
5f3e141f16
[Renovate] Update Vega config (#223415)
## Summary

This PR replaces
[`recreateWhen`](https://docs.renovatebot.com/configuration-options/#recreatewhen)
for
[`dependencyDashboardApproval`](https://docs.renovatebot.com/configuration-options/#dependencydashboardapproval).

As it is, renovate will keep creating PRs an undue noice for any new
version in the Vega group. But these will not be supported in kibana for
months possibly longer.

Thus, we need to be more aggressive with preventing Vega upgrade PRs.
With this changes we now need to manually trigger Vega renovate upgrade
PRs from the [Dependency
Dashboard](https://github.com/elastic/kibana/issues/190549).
2025-06-11 15:02:08 +00:00
Marco Antonio Ghiani
fe745740d2
[SLO] Remove duplicate header Annotations entry (#223391) 2025-06-11 10:33:26 -04:00
Bailey Cash
110631493d
[Obs] Convert EuiErrorBoundary to KibanaErrorBoundary for Obs UX Management owned components (#223145)
## Summary

Resolves
[#4567](https://github.com/elastic/observability-dev/issues/4567)

Convert EuiErrorBoundary to KibanaErrorBoundary for Obs UX owned
components
2025-06-11 09:46:05 -04:00
Marco Antonio Ghiani
551715e309
[Config] Apply pricing config overrides from CLI options (#223386)
## 📓 Summary

When starting Kibana with CLI config overrides, the ones that looked up
for the tier and loaded the appropriate configuration file were not
wired, resulting in the override being ineffective.

This change fixes the behaviour, giving precedence to unknown CLI args
that might override the `pricing` configuration and correctly configure
Kibana.
2025-06-11 15:36:07 +02:00
Jedr Blaszyk
8c6fc9e21c
[1chat] MCP Server that can expose 1chat tools (#222231)
## Summary

This PR introduces the **1chat MCP server** in Kibana, exposed at the
experimental `/api/mcp` endpoint behind a feature flag. It allows
external MCP clients (e.g. Claude Desktop, Cursor, OpenAI Agents) to
connect and use tools registered in the 1chat registry.

### MCP server
- Implements a **stateless** MCP server following the MCP spec
(Streamable HTTP transport).
- Supports **API key** and **basic auth** for authentication.
- Works with clients via:
  - **Streamable HTTP** with auth header 
  - **STDIO** transport using `mcp-remote` proxy
- Endpoint under a feature flag `xpack.onechat.mcpServer.enabled`
- 1chat tools are scoped to the caller’s permissions, as determined by
the auth header.

### Other changes
- Implemented `KibanaMcpHttpTransport` (mcp http transport layer adapted
to Kibana Core primitives) + tests

### Local testing

Set ui setting: `onechat:mcpServer:enabled` to true

E.g. add this to Claude Desktop:

```
{
  "mcpServers": {
    "elastic": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://{kbn}/api/mcp",
        "--header",
        "Authorization: ApiKey ${API_KEY}"
      ],
      "env": {
        "API_KEY": "..."
      }
    },
  }
}

```
### Enable feature via API

```
POST kbn:/internal/kibana/settings/onechat:mcpServer:enabled
{"value": true}
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-11 15:16:08 +02:00
elastic-renovate-prod[bot]
f99ac4e87a
Update @elastic/kibana-management - file-saver (main) (#208276)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[@types/file-saver](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/file-saver)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/file-saver))
| devDependencies | patch | [`^2.0.0` ->
`^2.0.7`](https://renovatebot.com/diffs/npm/@types%2ffile-saver/2.0.0/2.0.7)
|
| [file-saver](https://redirect.github.com/eligrey/FileSaver.js) |
dependencies | major | [`^1.3.8` ->
`^2.0.5`](https://renovatebot.com/diffs/npm/file-saver/1.3.8/2.0.5) |

---

### Release Notes

<details>
<summary>eligrey/FileSaver.js (file-saver)</summary>

###
[`v2.0.5`](https://redirect.github.com/eligrey/FileSaver.js/compare/2.0.4...5bb701bd6ea05a02836daf8ef88ec350a1dd4d83)

[Compare
Source](https://redirect.github.com/eligrey/FileSaver.js/compare/2.0.4...5bb701bd6ea05a02836daf8ef88ec350a1dd4d83)

###
[`v2.0.4`](https://redirect.github.com/eligrey/FileSaver.js/releases/tag/v2.0.4)

[Compare
Source](https://redirect.github.com/eligrey/FileSaver.js/compare/v2.0.2...2.0.4)

changes how it detect safari

###
[`v2.0.2`](https://redirect.github.com/eligrey/FileSaver.js/blob/HEAD/CHANGELOG.md#202---2019-05-14)

[Compare
Source](3e46b73052...v2.0.2)

- Catching an exception on Send (HEAD)
(\[[#&#8203;534](https://redirect.github.com/eligrey/FileSaver.js/issues/534)])

###
[`v2.0.1`](https://redirect.github.com/eligrey/FileSaver.js/compare/2.0.0...3e46b730528fa34a82fcd97ba98d6e08c6f8eddf)

[Compare
Source](https://redirect.github.com/eligrey/FileSaver.js/compare/2.0.0...3e46b730528fa34a82fcd97ba98d6e08c6f8eddf)

###
[`v2.0.0`](https://redirect.github.com/eligrey/FileSaver.js/blob/HEAD/CHANGELOG.md#200---2018-10-17)

[Compare
Source](https://redirect.github.com/eligrey/FileSaver.js/compare/1.3.8...2.0.0)

- Removed eval to resolve CSP
(\[[#&#8203;465](https://redirect.github.com/eligrey/FileSaver.js/issues/465)])

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOktpYmFuYSBNYW5hZ2VtZW50IiwiYmFja3BvcnQ6YWxsLW9wZW4iLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-06-11 06:02:38 -07:00
elastic-renovate-prod[bot]
9ce88a90a4
Update react-virtualized (main) (#206173)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[@types/react-virtualized](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-virtualized)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-virtualized))
| devDependencies | minor | [`^9.21.30` ->
`^9.22.2`](https://renovatebot.com/diffs/npm/@types%2freact-virtualized/9.21.30/9.22.2)
|
|
[react-virtualized](https://redirect.github.com/bvaughn/react-virtualized)
| dependencies | patch | [`^9.22.5` ->
`^9.22.6`](https://renovatebot.com/diffs/npm/react-virtualized/9.22.5/9.22.6)
|

---

### Release Notes

<details>
<summary>bvaughn/react-virtualized (react-virtualized)</summary>

###
[`v9.22.6`](https://redirect.github.com/bvaughn/react-virtualized/releases/tag/9.22.6)

[Compare
Source](https://redirect.github.com/bvaughn/react-virtualized/compare/9.22.5...9.22.6)

-   Update peer dependencies to include React 19

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOktpYmFuYSBNYW5hZ2VtZW50IiwiVGVhbTpNb25pdG9yaW5nIiwiYmFja3BvcnQ6YWxsLW9wZW4iLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

---------

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: iblancof <irene.blanco@elastic.co>
2025-06-11 05:59:48 -07:00
Joey F. Poon
03ed19b697
[Security Solution] update policy protection notes to be space aware (#222804)
## Summary

Updates policy protection notes to be space aware. Access to policy
protection notes is based on the agent policy's spaces.

Agent policy with access to spaces `default`, `foo`, and `bar`:
![Screenshot 2025-06-05 at 9 05
24 PM](https://github.com/user-attachments/assets/cd02e843-5bea-4729-9159-e0f9e03c0f09)

Note accessible from `foo` space:
![Screenshot 2025-06-05 at 9 05
49 PM](https://github.com/user-attachments/assets/e21d0ff9-392e-4da1-be06-32298acbe8d0)

Note accessible from `bar` space:
![Screenshot 2025-06-05 at 9 06
10 PM](https://github.com/user-attachments/assets/269dd3e4-5b6b-4ffd-99cd-bbea735a809a)

Note not accessible from `moo` space:
![Screenshot 2025-06-05 at 9 06
34 PM](https://github.com/user-attachments/assets/5e378440-3957-477a-b715-c0c21d2807b3)

To test:
1) enable feature flags:
```
xpack.securitySolution.enableExperimental:
  - endpointManagementSpaceAwarenessEnabled

xpack.fleet.enableExperimental:
  - useSpaceAwareness
```
2) turn on fleet space awareness: `POST
/internal/fleet/enable_space_awareness`
3) Add at least 3 spaces (e.g., a, b, c)
4) Create an agent policy that is available in 2 of the 3 spaces (e.g.,
a, b) from step 3
5) Add Elastic Defend using the agent policy from step 4
6) Switch to one of the spaces that the agent policy is available in
from step 4 (e.g., a)
7) Add a policy protection note
8) Switch to the other space that the agent policy is available in from
step 4 (e.g., b)
9) Confirm that you can read the policy protection note from step 7
10) Switch to a space that the agent policy is not available in (e.g.,
c)
11) Confirm that you cannot access the policy protection note
(technically, you can't access the policy at all)


### Checklist

- [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-06-11 21:54:42 +09:00
Kevin Delemme
d5936def67
chore(slo): show on discover the clicked bar events (#223312)
Resolves https://github.com/elastic/kibana/issues/223008

### Summary

This PR enhances the good vs bad charts by filtering the clicked events
when redirecting to discover. When clicking on View Events, we keep the
default behaviour of showing the total events

For example, if the user clicks on the good events (resp. bad events)
bar, we will select the "good events" (resp. bad events) filter on
discover.

### Manual testing

- Run data forge
- Create some SLOs with and without groups
- Verify the good events bar redirects to discover with good events
filter enabled
- Verify the bad events bar redirects to discover with bad events filter
enabled
- Verify the "View Events" link redirects to discover with total events
filter enabled
2025-06-11 08:40:11 -04:00
Marta Bondyra
1dfc7ceb3a
[Dashboard] Rewrite scss to emotion (#220520)
## Summary

Part of https://github.com/elastic/kibana/issues/207852 

II tested printed styles via exporting PDF and comparing. 
I prioritized classes over overly complex emotion props.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-11 14:17:30 +02:00
Stratoula Kalafateli
71006bd7bd
[ES|QL] Better handling of ccs and local sources in the registry (#223365)
## Summary

Small fix on the way we are concatenating the 2 sources (local and ccs).
Previously if one of the sources was empty such as

```
{
  indices: [],
  data_streams: [],
   aliases: []
}
```

would return wrongly empty extensions.
2025-06-11 12:44:11 +02:00
Alejandro Fernández Haro
70a2da8304
[Unzyme] src/core/packages/i18n (#223159) 2025-06-11 12:19:29 +02:00
Miriam
7b31e2831b
[ObsUX][A11y] Fix focus after closing manage views flyout (#223084)
Closes https://github.com/elastic/kibana/issues/218088


https://github.com/user-attachments/assets/00dcd48c-c820-4b14-b805-21d833349697
2025-06-11 11:09:49 +01:00
Francesco Fagnani
6555e86c50
[Synthetics] Avoid re-render when Run test finishes (#222503)
This PR closes #217482 

After manually running a test a re-render was causing loss of unsaved
changes.

Before:


https://github.com/user-attachments/assets/117b9130-b6cd-4c11-90f9-54e63e9cfc36

After:


https://github.com/user-attachments/assets/c84fac4e-b348-4a5d-ada6-94529ebfc42f
2025-06-11 11:58:29 +02:00
Robert Stelmach
26161740f8
[Dataset Quality] Apply chunking algorithm for getIndexBasicStats (#221153)
After adding a chunking algorithm for getIndexBasicStats errors are not
appearing anymore.
For testing purposes I created 600 indicies using this command : 
`for i in {1..600}; do
curl -u <username>:<password> -X POST
"<elasticsearch_url>/<index_base_name>-$i/_doc" -H 'Content-Type:
application/json' -d '{"@timestamp": "<timestamp>", "message":
"<message>"}'
done`

 and created this test for testing the telemetry function :

```

import { ElasticsearchClient } from '@kbn/core-elasticsearch-server';
import { Client } from '@elastic/elasticsearch';
import { lastValueFrom } from 'rxjs';
import {
  getIndexBasicStats,
  addMappingsToIndices,
  getIndicesInfoForPattern,
} from '@kbn/dataset-quality-plugin/server/services/data_telemetry/helpers';

export type IndicesGetResponse = Record<IndexName, any>;
export type IndexName = string;

async function runTest() {
  const client = new Client({
    node: 'http://localhost:9200',
    auth: { username: '', password: '' },
  });

  const results = {
    addMappings: await testAddMappingsToIndicesTypeSafety(client),
    indicesInfo: await testGetIndicesInfoForPattern(client),
    basicStats: await testGetIndexBasicStats(client),
  };

  process.stdout.write('Test results:\n');
  process.stdout.write(`- addMappingsToIndices: ${results.addMappings ? 'SUCCESS' : 'FAILED'}\n`);
  process.stdout.write(
    `- getIndicesInfoForPattern: ${results.indicesInfo ? 'SUCCESS' : 'FAILED'}\n`
  );
  process.stdout.write(`- getIndexBasicStats: ${results.basicStats ? 'SUCCESS' : 'FAILED'}\n`);
}

async function testAddMappingsToIndicesTypeSafety(client: Client): Promise<boolean> {
  try {
    const logsIndexPatterns = [{ patternName: 'logs-*', shipper: 'test', pattern: 'logs-*' }];
    const dataStreamsInfo = [
      {
        patternName: 'logs-*',
        shipper: 'test',
        isDataStream: false,
        name: 'logs-test-1',
        indices: ['logs-test-1'],
        mapping: undefined,
      },
    ];
    const observable = addMappingsToIndices({
      esClient: client as unknown as ElasticsearchClient,
      dataStreamsInfo,
      logsIndexPatterns,
    });
    const result = await lastValueFrom(observable);

    const hasMapping = result.length > 0 && !!result[0].mapping;
    process.stdout.write(
      `addMappingsToIndices ${hasMapping ? 'found mappings' : 'no mapping found'}\n`
    );
    if (hasMapping) {
      const keys = Object.keys(result[0].mapping!);
      process.stdout.write(`  Keys: ${keys.join(', ')}\n`);
    }
    return true;
  } catch (error) {
    process.stdout.write(
      `addMappingsToIndices error: ${error instanceof Error ? error.message : String(error)}\n`
    );
    return false;
  }
}

async function testGetIndicesInfoForPattern(client: Client): Promise<boolean> {
  try {
    const pattern = { patternName: 'logs-*', shipper: 'test', pattern: 'logs-*' };
    const result = await getIndicesInfoForPattern({
      esClient: client as unknown as ElasticsearchClient,
      pattern,
    });

    if (result.length > 0) {
      process.stdout.write(
        `getIndicesInfoForPattern found ${result.length} indices, sample: ${result[0].name}\n`
      );
      return true;
    } else {
      process.stdout.write('getIndicesInfoForPattern returned no results\n');
      return false;
    }
  } catch (error) {
    process.stdout.write(
      `getIndicesInfoForPattern error: ${error instanceof Error ? error.message : String(error)}\n`
    );
    return false;
  }
}

async function testGetIndexBasicStats(client: Client): Promise<boolean> {
  try {
    const response = await client.cat.indices({
      format: 'json',
      h: 'index',
      index: 'logs-*',
    });

    const indicesList = response as Array<{ index: string }>;

    if (indicesList.length === 0) {
      process.stdout.write('No indices found to test with\n');
      return false;
    }

    const indexBasicInfos = indicesList.map((indexObj) => ({
      patternName: 'logs-*',
      shipper: 'test',
      isDataStream: false,
      name: indexObj.index,
      indices: [indexObj.index],
      mapping: undefined,
    }));

    process.stdout.write(`Testing with ${indexBasicInfos.length} indices\n`);

    const observable = getIndexBasicStats({
      esClient: client as unknown as ElasticsearchClient,
      indices: indexBasicInfos,
      breatheDelay: 0,
    });

    const result = await lastValueFrom(observable);
    process.stdout.write(`getIndexBasicStats processed ${result.length} indices\n`);
    return result.length > 0;
  } catch (error) {
    process.stdout.write(
      `getIndexBasicStats error: ${error instanceof Error ? error.message : String(error)}\n`
    );
    return false;
  }
}

runTest().catch((err) => {
  process.stdout.write('Unhandled error in test:', err);
});
      
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Abdul Zahid <awahab07@yahoo.com>
2025-06-11 11:53:07 +02:00
Kibana Machine
60bb0afc56
[Console] Update console definitions (main) (#223079)
This PR updates the console definitions to match the latest ones from
the @elastic/elasticsearch-specification repo.

---------

Co-authored-by: Sonia Sanz Vivas <sonia.sanzvivas@elastic.co>
2025-06-11 11:32:11 +02:00
Robert Stelmach
fa400a4ebb
[Data Set Quality] Hide Data set details when dataStream is coming from remote cluster (#220529)
Because Data Set quality page does not currently work with CCS, logs
coming from remote cluster have dataset quality link hidden in the
flyout.

The fix would hide a Data Set Quality link for documents that are coming
from remote clusters

Fixes #211602

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-11 11:19:51 +02:00
Dario Gieselaar
71ec37a2a6
[Obs AI Assistant] Anonymization support (#223351)
Re-submit of https://github.com/elastic/kibana/pull/216352 as it has
merge conflicts and we don't have write permissions for Sandra's remote.

To test, add the following to your kibana.yml:

```
uiSettings:
  overrides:
    "observability:aiAssistantAnonymizationRules":
      - id: "ner"
        type: "ner"
        enabled: true
      - id: "beach"
        type: "regex"
        enabled: true
        pattern: "sandy"
```

---------

Co-authored-by: Sandra Gonzales <sandra.gonzales@elastic.co>
Co-authored-by: Sandra G <neptunian@users.noreply.github.com>
2025-06-11 11:00:40 +02:00
Rickyanto Ang
f925877564
[Cloud Security] Cypress test for Take action button (#223243)
## Summary

This PR adds cypress test for the newly added Take Action button in
Generic, User, Host Flyout
2025-06-11 01:43:25 -07:00
Marco Antonio Ghiani
940b0f5ae4
[Core] Udpate pricing service docs (#223348)
## 📓 Summary

Update a wrong reference in a client-side documentation example and
update list of loaded configs.
2025-06-11 10:17:42 +02:00
Drew Tate
4ee887c75f
[ES|QL] Only add editor marker when actually needed (#223065)
## Summary

Part of https://github.com/elastic/kibana/issues/215186

also sets the stage for https://github.com/elastic/kibana/issues/216492

### Checklist

- [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

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2025-06-11 09:24:00 +02:00
Marco Vettorello
6eec63d5f1
[Lens] Limit user messages to the lens container (#202717)
## Summary

This PR fixes the wrong position of the Lens user messages caused by the
absolute positioning of their container within a `static` positioned
parent.

>An element with `position: absolute` is positioned relative to its
nearest positioned ancestor. A "positioned" ancestor has a position
value other than static (the default).
If no such ancestor exists, the element will be positioned relative to
the initial containing block, which is usually the <html> element.

The `LensEmbeddableComponent` root div was with a `position:static` by
default, causing the absolute positioned badge/user message icon to be
positioned in the nearest positioned ancestor.

Fix https://github.com/elastic/kibana/issues/189344

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-11 09:08:36 +02:00
Kibana Machine
d18138fea9
[api-docs] 2025-06-11 Daily api_docs build (#223347)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/1100
2025-06-11 08:19:50 +02:00
Davis McPhee
9b18d391b1
Revert "[ES|QL] Fix CSV report time range when exporting from Discover (#216792)" (#223249)
## Summary

This reverts commit 6a0c173b1a.

Fixes #223171.

### 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)
- [ ] 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)
2025-06-10 23:57:09 -03:00
elastic-renovate-prod[bot]
7b8c157fd9
Update dependency @types/moment-duration-format to ^2.2.6 (main) (#202973)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[@types/moment-duration-format](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/moment-duration-format)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/moment-duration-format))
| devDependencies | patch | [`^2.2.3` ->
`^2.2.6`](https://renovatebot.com/diffs/npm/@types%2fmoment-duration-format/2.2.3/2.2.6)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [x] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOktpYmFuYSBNYW5hZ2VtZW50IiwiVGVhbTpNb25pdG9yaW5nIiwiYmFja3BvcnQ6YWxsLW9wZW4iLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Matthew Kime <matt@mattki.me>
2025-06-10 18:25:06 -07:00
Paulo Silva
096ec40dd9
[Asset Inventory] Updating Empty State onboarding screen (#223178)
## Summary

It closes #222658

This PR add changes to the Asset Inventory Empty State component:

- Removed the integrations card grid
- Having an "Add integration" link that will go to the **Asset
Discovery** integration when it's available. (When the integration is
not available it redirects to the all "Integrations" page.

**Test Refactoring:**
- Updated `no_data_found.test.tsx` and `initializing.test.tsx` to use
the new mockUseAddIntegrationPath utility and type-safe mocking with
jest.Mock.
- Improved assertions for the "Add integration" link/button, checking
both href and disabled state for more accurate UI validation.

### Screenshot

**Before:**

<img width="1441" alt="image"
src="https://github.com/user-attachments/assets/a2e1bd86-2d67-4a5e-b191-d3d30205cff1"
/>

**After:**

<img width="1508" alt="image"
src="https://github.com/user-attachments/assets/99b312a3-59c7-47f8-9791-aea7334fff0f"
/>
2025-06-11 03:20:44 +02:00
elastic-renovate-prod[bot]
962dd1df9f
Update dependency blurhash to ^2.0.5 (main) (#219584)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [blurhash](https://blurha.sh/)
([source](https://redirect.github.com/woltapp/blurhash/tree/HEAD/TypeScript))
| dependencies | patch | [`^2.0.1` ->
`^2.0.5`](https://renovatebot.com/diffs/npm/blurhash/2.0.1/2.0.5) |

---

### Release Notes

<details>
<summary>woltapp/blurhash (blurhash)</summary>

###
[`v2.0.4`](4dc3378847...7179af6173)

[Compare
Source](4dc3378847...7179af6173)

###
[`v2.0.3`](483859d3ba...4dc3378847)

[Compare
Source](483859d3ba...4dc3378847)

###
[`v2.0.2`](b93ee19c66...483859d3ba)

[Compare
Source](b93ee19c66...483859d3ba)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOlNoYXJlZFVYIiwiYmFja3BvcnQ6YWxsLW9wZW4iLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Jeramy Soucy <jeramy.soucy@elastic.co>
Co-authored-by: Tim Sullivan <tsullivan@users.noreply.github.com>
2025-06-11 01:39:46 +02:00