Skip to content

merge release-9.0.4 - #31454

Merged
thetaPC merged 12 commits into
9.0.xfrom
release-9.0.4
Sep 16, 2026
Merged

thetaPC merged 12 commits into
9.0.xfrom
release-9.0.4

Conversation

@thetaPC

@thetaPC thetaPC commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Release 9.0.4

brandyscarney and others added 12 commits September 9, 2026 11:47
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`24.13.3` →
`24.13.4`](https://renovatebot.com/diffs/npm/@types%2fnode/24.13.3/24.13.4)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/24.13.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/24.13.3/24.13.4?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "every weekday before 11am"
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Never, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | minor | `v4.37.9` → `v4.38.0` |

---

### Release Notes

<details>
<summary>github/codeql-action (github/codeql-action)</summary>

###
[`v4.38.0`](https://redirect.github.com/github/codeql-action/releases/tag/v4.38.0)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.37.9...v4.38.0)

- On GitHub-hosted runners, the CodeQL Action now deletes unused CodeQL
bundles from the toolcache before downloading a different bundle, which
frees up disk space for the analysis. We expect to roll this change out
to everyone in September.
[#&#8203;4124](https://redirect.github.com/github/codeql-action/pull/4124)
- The CodeQL Action now supports CodeQL releases that are compatible
with Linux Arm64 and downloads the native `linux-arm64` CodeQL bundle
when available.
[#&#8203;4072](https://redirect.github.com/github/codeql-action/pull/4072)
- Update default CodeQL bundle version to
[2.27.0](https://redirect.github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.0).
[#&#8203;4129](https://redirect.github.com/github/codeql-action/pull/4129)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "every weekday before 11am"
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Never, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…nt is clicked (#31423)

Issue number: resolves internal

---------

## What is the current behavior?

Clicking content in the `start` or `end` slot behaves differently in
each form control. `ion-input` and `ion-textarea` emit the click event
**twice**, while `ion-select` emits **once** but does not respond to the
click at all.

The duplicate comes from the browser rather than from Ionic emitting
twice. The wrapping `<label>` forwards the click to the native control,
and that forwarded click is re-emitted from the host. Browsers skip this
forwarding when the click lands on interactive content, which is why
slotted buttons were never affected.

`ion-select` separately cancels the default action on every slotted
click. A slotted link does not navigate and a slotted checkbox does not
toggle, while the same markup works in `ion-input`.

## What is the new behavior?

- Clicking slotted content emits a single click event from all three
components.
- Decorative slotted content now activates the control: `ion-input` and
`ion-textarea` focus, `ion-select` opens.
- Interactive slotted content, such as a button or a link, keeps its own
behavior and does not activate the control.
- Slotted links and form controls work inside `ion-select`.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

Previews:
-
[Input](https://ionic-framework-git-fw-7677-ionic1.vercel.app/src/components/input/test/slot)
-
[Textarea](https://ionic-framework-git-fw-7677-ionic1.vercel.app/src/components/textarea/test/slot)
-
[Select](https://ionic-framework-git-fw-7677-ionic1.vercel.app/src/components/select/test/slot)

---------

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
…wide (#31435)

Issue number: resolves internal

---------

## What is the current behavior?

With a start-positioned label and a wide start or end slot, the editable
area of `ion-input` and `ion-textarea` collapses to **0px**. The value
is not merely cramped, it is gone, so the user cannot see what they are
typing.

`ion-select` looks like it already solves this, because `.select-text`
carries a `min-width`. It does not. `.native-wrapper` collapses to
**0px** and clips the text away, so the selected value is invisible too
and that floor has never had any effect.

## What is the new behavior?

- The editable area of `ion-input` and `ion-textarea` now keeps a
minimum width, so the value stays visible however wide the slotted
content is.
- The floor is `2ch` rather than a pixel value, so the same two
characters stay visible as text scales. A pixel floor degrades to
roughly **1.2 characters** at a 24px base font.
- `ion-textarea` also needed its `.native-wrapper` floored. The
`min-width: inherit` it carried computed to `0px`, so the textarea kept
its width but spilled outside the field border.
- `ion-select` reads the same variable so the three cannot drift. Its
only visible change is **2px** on the `fit-content` snapshot.

**`ion-select` still shows no selected text when slotted content is
wide, and this PR does not change that.** Sharing the variable is not
enough for select, because `.native-wrapper` gives up all of its width
to the label and hides its overflow, so any floor on `.select-text` is
clipped to nothing. Fixing it means changing how that wrapper trades
width with the label, which is FW-7682. The two select tests added here
are skipped with `TODO(FW-7682)` and are the ready-made coverage for it,
so once the wrapper keeps its width, select picks up the shared floor
and the tests can be unskipped.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

Material solves this differently, and its approach does not port. It
caps the leading and trailing slots so oversized content contributes no
width, then floors the *container* at `min-content` so the field
overflows outward instead of collapsing inward. `min-content` on our
input measures `0px`, so the floor has to sit on the editable element
instead. Capping the slots is FW-7650, and it is the change that
actually removes the pressure here: it takes the worst case budget from
**46px** to about **148px**.

Wide glyphs can still clip an unfocused leading character, since `ch`
measures the `0` glyph. Fitting them needs 24px out of a 46px budget
shared with the label, which costs the label its ellipsis, and typing
scrolls the caret into view regardless.

Previews:

- [Input:
Slot](https://ionic-framework-git-fw-7679-ionic1.vercel.app/src/components/input/test/slot)
- [Textarea:
Slot](https://ionic-framework-git-fw-7679-ionic1.vercel.app/src/components/textarea/test/slot)
- [Select:
Slot](https://ionic-framework-git-fw-7679-ionic1.vercel.app/src/components/select/test/slot)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@stencil/core](https://stenciljs.com/)
([source](https://redirect.github.com/stenciljs/core)) | [`4.44.2` →
`4.45.0`](https://renovatebot.com/diffs/npm/@stencil%2fcore/4.44.2/4.45.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@stencil%2fcore/4.45.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@stencil%2fcore/4.44.2/4.45.0?slim=true)
|

---

### Release Notes

<details>
<summary>stenciljs/core (@&#8203;stencil/core)</summary>

###
[`v4.45.0`](https://redirect.github.com/stenciljs/core/blob/HEAD/CHANGELOG.md#-4450-2026-09-12)

[Compare
Source](https://redirect.github.com/stenciljs/core/compare/v4.44.2...v4.45.0)

##### Bug Fixes

- **compiler:** stop double `transformTag` wrap
([#&#8203;6884](https://redirect.github.com/stenciljs/core/issues/6884))
([6480675](https://redirect.github.com/stenciljs/core/commit/648067564221aa86778c8a8991dd28bba474949c))
- **runtime:** create new element for new child when keyed tag changes
([#&#8203;6885](https://redirect.github.com/stenciljs/core/issues/6885))
([3743c44](https://redirect.github.com/stenciljs/core/commit/3743c445f4451ae252fc152bf9192f9652c41963))
- **runtime:** lazy getter / setter queue last set value
([#&#8203;6883](https://redirect.github.com/stenciljs/core/issues/6883))
([36404ac](https://redirect.github.com/stenciljs/core/commit/36404acd3331271e4a531bc6d77eceeb510fcbdc))
- **compiler:** scope-css process layer selectors
([#&#8203;6858](https://redirect.github.com/stenciljs/core/issues/6858))
([635f1d4](https://redirect.github.com/stenciljs/core/commit/635f1d4b6ccf871ebc545b58c0a619f629475710)),
closes
[#&#8203;6857](https://redirect.github.com/stenciljs/core/issues/6857)
- **ssr:** abort stuck component and in-flight fetch() on hydrate
timeout
([#&#8203;6881](https://redirect.github.com/stenciljs/core/issues/6881))
([cf5982e](https://redirect.github.com/stenciljs/core/commit/cf5982e202a89a3b6aa848f71fc3e72dcc519842))
- **testing:** await puppeteer executablePath() for puppeteer >= 25
([#&#8203;6882](https://redirect.github.com/stenciljs/core/issues/6882))
([#&#8203;6886](https://redirect.github.com/stenciljs/core/issues/6886))
([67fa599](https://redirect.github.com/stenciljs/core/commit/67fa5990b2c7f92215d23ed58c19f0b0988af500))
- **types:** loosen greedy `aria${string}` type
([#&#8203;6880](https://redirect.github.com/stenciljs/core/issues/6880))
([3d0371e](https://redirect.github.com/stenciljs/core/commit/3d0371e7fd14f0b00dd49331fedd5def924d24e9))

#### 🌜
[4.44.2](https://redirect.github.com/stenciljs/core/compare/v4.44.1...v4.44.2)
(2026-08-26)

##### Bug Fixes

- **runtime:** reflected any-typed props
([#&#8203;6849](https://redirect.github.com/stenciljs/core/issues/6849))
([0ead28c](https://redirect.github.com/stenciljs/core/commit/0ead28ca9f3df241ab66dfcd4b2d880be14f2add))

#### 🐠
[4.44.1](https://redirect.github.com/stenciljs/core/compare/v4.44.0...v4.44.1)
(2026-08-21)

##### Bug Fixes

- **compiler:** track type query references
([#&#8203;6825](https://redirect.github.com/stenciljs/core/issues/6825))
([4c90b3b](https://redirect.github.com/stenciljs/core/commit/4c90b3b41c3f8b389e47749787fc6a7e0358b86a)),
closes
[#&#8203;2482](https://redirect.github.com/stenciljs/core/issues/2482)
- **runtime:** fix performance mark error in `dist-custom-elements`
output
([#&#8203;6840](https://redirect.github.com/stenciljs/core/issues/6840))
([b1f89b6](https://redirect.github.com/stenciljs/core/commit/b1f89b626bcc6c976016b37edbcdc1c1832ce93a))
- **runtime:** guard against null parent in insertBefore
([#&#8203;6836](https://redirect.github.com/stenciljs/core/issues/6836))
([170039a](https://redirect.github.com/stenciljs/core/commit/170039a28bfde8216b7268daac2934b76874e042))
- **runtime:** reflected boolean attributes
([#&#8203;6838](https://redirect.github.com/stenciljs/core/issues/6838))
([0a7e130](https://redirect.github.com/stenciljs/core/commit/0a7e1305ef046364e9a2670166960d7295bdc0da))
- **types:** defineCustomElements
([#&#8203;6839](https://redirect.github.com/stenciljs/core/issues/6839))
([8b06d1d](https://redirect.github.com/stenciljs/core/commit/8b06d1d0c9107af0e0387af9de01399b5a6645b2))

##### Features

- **types:** added `focusgroupstart` property
([#&#8203;6829](https://redirect.github.com/stenciljs/core/issues/6829))
([b583bf3](https://redirect.github.com/stenciljs/core/commit/b583bf3aaa52b5fb658701a9983cb16ff200b5fe))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "every weekday before 11am"
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Never, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@capacitor/core](https://capacitorjs.com)
([source](https://redirect.github.com/ionic-team/capacitor)) | [`8.5.1`
→
`8.5.2`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/8.5.1/8.5.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcore/8.5.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcore/8.5.1/8.5.2?slim=true)
|

---

### Release Notes

<details>
<summary>ionic-team/capacitor (@&#8203;capacitor/core)</summary>

###
[`v8.5.2`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#852-2026-09-11)

[Compare
Source](https://redirect.github.com/ionic-team/capacitor/compare/8.5.1...8.5.2)

##### Bug Fixes

- **android:** add null checks for plugin annotation when retrieving
permissions
([#&#8203;8400](https://redirect.github.com/ionic-team/capacitor/issues/8400))
([035b16a](https://redirect.github.com/ionic-team/capacitor/commit/035b16aca15eab136efc49eaec64b45987cfefeb))
- **ios:** do not forward scene lifecycle events to the page before it
has loaded
([#&#8203;8595](https://redirect.github.com/ionic-team/capacitor/issues/8595))
([c567328](https://redirect.github.com/ionic-team/capacitor/commit/c567328d0feb90c306ea824edc5a799bdfe26542))
- resolve issues with safe area / systembars plugin
([#&#8203;8535](https://redirect.github.com/ionic-team/capacitor/issues/8535))
([e37d9c6](https://redirect.github.com/ionic-team/capacitor/commit/e37d9c60785368acf2a83cfd4c20f47076672bdd))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "every weekday before 11am"
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Never, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…31413)

Issue number: resolves #31149

---------

## What is the current behavior?
Setting `--height` to any of the following on an `ion-modal` containing
an `ion-content` results in the `ion-content` collapsing to `0` height:
`auto`, `fit-content`, `min-content`, or `max-content`.

## What is the new behavior?
- Checks if modal `--height` is set to `auto`, `fit-content`,
`min-content,` or `max-content` and styles the `ion-content`, `ion-nav`
and `.ion-page` appropriately if so
- Watches for changes to `--height` on `ion-modal` to dynamically add
and remove the class that sizes the `ion-content` to its content
- Updates modal `--max-height` to `100%` which allows the content to
scroll instead of overflowing and being clipped
- Adds a preview test for different scenarios where `ion-modal` has
`--height` set
- Adds e2e tests for the various `--height` scenarios
- Updates `safe-area-utils` to account for the new content-sized modals
- Adds spec tests for all new functions

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

**Dev build**: `9.0.1-dev.11788212611.154b1596`

**Previews**: 
- [Modal: Content
Height](https://ionic-framework-git-fw-7731-ionic1.vercel.app/src/components/modal/test/content-height)
- [Modal: Safe
Area](https://ionic-framework-git-fw-7731-ionic1.vercel.app/src/components/modal/test/safe-area)

**Docs PR**: ionic-team/ionic-docs#4689

---------

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [vitest](https://vitest.dev)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest))
| [`5.0.0` →
`5.0.1`](https://renovatebot.com/diffs/npm/vitest/5.0.0/5.0.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/5.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/5.0.0/5.0.1?slim=true)
|

---

### Release Notes

<details>
<summary>vitest-dev/vitest (vitest)</summary>

###
[`v5.0.1`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v5.0.1)

[Compare
Source](https://redirect.github.com/vitest-dev/vitest/compare/v5.0.0...v5.0.1)

#####    🚀 Features

- **ui**:
- Move trace attempts selector to viewer header  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa), **Hiroshi
Ogawa** and **Codex** in
[#&#8203;11189](https://redirect.github.com/vitest-dev/vitest/issues/11189)
[<samp>(5dc4b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5dc4b5c92)
- Add focused trace view layout mode  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa), **Hiroshi
Ogawa**, **OpenCode (gpt-5.6-sol)** and **Codex** in
[#&#8203;11190](https://redirect.github.com/vitest-dev/vitest/issues/11190)
[<samp>(376dc)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/376dc3bc1)

#####    🐞 Bug Fixes

- Exit 1 when vitest list fails collection  -  by
[@&#8203;hamed-bavar](https://redirect.github.com/hamed-bavar) in
[#&#8203;11145](https://redirect.github.com/vitest-dev/vitest/issues/11145)
and
[#&#8203;11146](https://redirect.github.com/vitest-dev/vitest/issues/11146)
[<samp>(6108b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6108b8197)
- Keep parse error details in static collection  -  by
[@&#8203;hamed-bavar](https://redirect.github.com/hamed-bavar) in
[#&#8203;11150](https://redirect.github.com/vitest-dev/vitest/issues/11150)
and
[#&#8203;11151](https://redirect.github.com/vitest-dev/vitest/issues/11151)
[<samp>(7c818)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7c818153a)
- Avoid recursive prototype in automocking  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;11195](https://redirect.github.com/vitest-dev/vitest/issues/11195)
[<samp>(99fc5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/99fc52591)
- Prevent false Vitest import resolution  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;11196](https://redirect.github.com/vitest-dev/vitest/issues/11196)
[<samp>(b426c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b426c1976)
- Keep metadata file when clearing the cache  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;11199](https://redirect.github.com/vitest-dev/vitest/issues/11199)
[<samp>(73614)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/73614654a)
- Correct typos in error message and comments  -  by
[@&#8203;shinji00222](https://redirect.github.com/shinji00222) and
**Shinji** in
[#&#8203;11187](https://redirect.github.com/vitest-dev/vitest/issues/11187)
[<samp>(115c3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/115c3f6d2)
- Resolve ResolvedConfig exactOptionalPropertyTypes errors  -  by
[@&#8203;LukeAbby](https://redirect.github.com/LukeAbby) in
[#&#8203;11175](https://redirect.github.com/vitest-dev/vitest/issues/11175)
[<samp>(498fb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/498fbe922)
- Share the server on self-referencing `extends`  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;11034](https://redirect.github.com/vitest-dev/vitest/issues/11034)
[<samp>(23dda)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/23dda738c)
- Warn when deprecated `deps.optimizer.web` is used  -  by
[@&#8203;im10furry](https://redirect.github.com/im10furry) in
[#&#8203;11214](https://redirect.github.com/vitest-dev/vitest/issues/11214)
[<samp>(2ce29)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2ce29d5fa)
- **browser**:
- Avoid double quotes in `config.define`  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;11198](https://redirect.github.com/vitest-dev/vitest/issues/11198)
[<samp>(972e2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/972e24bab)
- **doctor**:
- Measure vm pools for custom environments  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;11212](https://redirect.github.com/vitest-dev/vitest/issues/11212)
[<samp>(91ab1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/91ab1588c)
- **expect**:
- Correct return value in `toMatchAriaSnapshot`  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;11208](https://redirect.github.com/vitest-dev/vitest/issues/11208)
[<samp>(c119b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c119be016)
- **fakeTimers**:
- Force `queueMicrotask` and `nextTick` in `toNotFake`  -  by
[@&#8203;kingmakeruix](https://redirect.github.com/kingmakeruix),
**kingmakeruix**, **Hiroshi Ogawa**, **Codex** and
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#&#8203;11261](https://redirect.github.com/vitest-dev/vitest/issues/11261)
[<samp>(a47d7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a47d7908f)
- **snapshot**:
- Report obsolete keys next to skipped tests  -  by
[@&#8203;hamed-bavar](https://redirect.github.com/hamed-bavar),
**Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in
[#&#8203;11157](https://redirect.github.com/vitest-dev/vitest/issues/11157)
and
[#&#8203;11158](https://redirect.github.com/vitest-dev/vitest/issues/11158)
[<samp>(17e2b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/17e2b22dd)
- **types**:
- Make public declarations self-contained  -  by
[@&#8203;ZoeySigel](https://redirect.github.com/ZoeySigel) in
[#&#8203;11141](https://redirect.github.com/vitest-dev/vitest/issues/11141)
[<samp>(45546)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/455466c16)
- **ui**:
- Fix collapse/expand suite with file name search  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa), **Hiroshi
Ogawa** and **Codex** in
[#&#8203;11260](https://redirect.github.com/vitest-dev/vitest/issues/11260)
[<samp>(0a712)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0a7122daa)
- Fix explorer file summary count  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa), **Hiroshi
Ogawa**, **OpenCode (gpt-5.6-sol)** and **Codex** in
[#&#8203;11125](https://redirect.github.com/vitest-dev/vitest/issues/11125)
[<samp>(05982)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/05982297d)
- **utils**:
- Fix `deepMerge` to handle prototype  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa), **Hiroshi
Ogawa** and **Codex** in
[#&#8203;11215](https://redirect.github.com/vitest-dev/vitest/issues/11215)
[<samp>(4944c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4944cf498)

#####     [View changes on
GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v5.0.0...v5.0.1)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "every weekday before 11am"
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Never, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`24.13.4` →
`24.13.5`](https://renovatebot.com/diffs/npm/@types%2fnode/24.13.4/24.13.5)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/24.13.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/24.13.4/24.13.5?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "every weekday before 11am"
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Never, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@thetaPC
thetaPC requested a review from a team as a code owner September 16, 2026 18:04
@thetaPC
thetaPC requested review from ShaneK and removed request for a team September 16, 2026 18:04
@github-actions github-actions Bot added package: core @ionic/core package package: angular @ionic/angular package package: vue @ionic/vue package package: react @ionic/react package labels Sep 16, 2026
@vercel

vercel Bot commented Sep 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ionic-framework Ready Ready Preview Sep 16, 2026 6:08pm UTC

Request Review

@thetaPC
thetaPC merged commit 0e701a1 into 9.0.x Sep 16, 2026
108 checks passed
@thetaPC
thetaPC deleted the release-9.0.4 branch September 16, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: angular @ionic/angular package package: core @ionic/core package package: react @ionic/react package package: vue @ionic/vue package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants