Skip to content

chore(git): sync with main#31060

Merged
ShaneK merged 25 commits intomajor-9.0from
sync-major-9.0-with-main
Apr 1, 2026
Merged

chore(git): sync with main#31060
ShaneK merged 25 commits intomajor-9.0from
sync-major-9.0-with-main

Conversation

@ShaneK
Copy link
Copy Markdown
Member

@ShaneK ShaneK commented Apr 1, 2026

Sync major-9.0 with main after v8.8.3 release.

ShaneK and others added 25 commits March 5, 2026 23:56
Issue number: internal

---------

## What is the current behavior?
Currently, the 8.8 refresher events are not exported to Angular

## What is the new behavior?
With this change, we export the new events and also add Angular tests to
validate that they work and will continue working in the future.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No
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.1.0`
→
`8.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/8.1.0/8.2.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcore/8.2.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcore/8.1.0/8.2.0?slim=true)
|

---

### Release Notes

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

###
[`v8.2.0`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#820-2026-03-06)

[Compare
Source](https://redirect.github.com/ionic-team/capacitor/compare/8.1.0...09770f7d2dc8d566bb377f9968355090f20918b6)

##### Bug Fixes

- **android:** Add missing null checks in BridgeActivity
([#&#8203;8185](https://redirect.github.com/ionic-team/capacitor/issues/8185))
([bd29b99](https://redirect.github.com/ionic-team/capacitor/commit/bd29b9913a9279de26fc21c6cb0b93b8f5e5433a))
- **android:** Concurrent Range Requests for assets
([#&#8203;8357](https://redirect.github.com/ionic-team/capacitor/issues/8357))
([5e82c89](https://redirect.github.com/ionic-team/capacitor/commit/5e82c89f1bff6d0e9ccea2554007aacb920d4c58))
- **android:** handle lowercase range header
([#&#8203;8368](https://redirect.github.com/ionic-team/capacitor/issues/8368))
([ae0e2dd](https://redirect.github.com/ionic-team/capacitor/commit/ae0e2ddccb2904ee4b3d47d4be1f7556ac7000a1))
- **android:** invalid http range seeking
([#&#8203;8369](https://redirect.github.com/ionic-team/capacitor/issues/8369))
([3109d22](https://redirect.github.com/ionic-team/capacitor/commit/3109d22547253ed44293777c60652f14cf83e416))
- **cli:** Allow to run update on non macOS
([#&#8203;8344](https://redirect.github.com/ionic-team/capacitor/issues/8344))
([a441280](https://redirect.github.com/ionic-team/capacitor/commit/a441280d7c6b310ca516d6fb2736c09525987774))
- **cli:** Don't overwrite config.server section with `--live-reload`
([#&#8203;7528](https://redirect.github.com/ionic-team/capacitor/issues/7528))
([782b9d9](https://redirect.github.com/ionic-team/capacitor/commit/782b9d9c26dcf1282b918996becb0224c0baca1d))
- **cli:** use 8.0.0 as default Capacitor SPM dependency version
([#&#8203;8341](https://redirect.github.com/ionic-team/capacitor/issues/8341))
([a55dc5e](https://redirect.github.com/ionic-team/capacitor/commit/a55dc5ee4dfeab861cde1e11c9063aefea91006b))
- **docs:** fix typo in CapApp-SPM README
([#&#8203;8348](https://redirect.github.com/ionic-team/capacitor/issues/8348))
([7d001ac](https://redirect.github.com/ionic-team/capacitor/commit/7d001ac4c58757fba922ea50f5bf5233ce217490))
- **ios:** remove tmpWindow usages on presentVC/dismissVC
([#&#8203;8338](https://redirect.github.com/ionic-team/capacitor/issues/8338))
([fc9647f](https://redirect.github.com/ionic-team/capacitor/commit/fc9647f26f08ff64f53b32c79fb19f153e3b0a24))

##### Features

- **cli:** Add --https option for --live-reload
([#&#8203;8194](https://redirect.github.com/ionic-team/capacitor/issues/8194))
([5db81e6](https://redirect.github.com/ionic-team/capacitor/commit/5db81e68c67652e9d2b29d7ad30629b423d2ad30))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
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:eyJjcmVhdGVkSW5WZXIiOiI0My41Ni4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

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

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | minor | `v6.2.0` → `v6.3.0` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

###
[`v6.3.0`](https://redirect.github.com/actions/setup-node/releases/tag/v6.3.0)

[Compare
Source](https://redirect.github.com/actions/setup-node/compare/v6.2.0...v6.3.0)

##### What's Changed

##### Enhancements:

- Support parsing `devEngines` field by
[@&#8203;susnux](https://redirect.github.com/susnux) in
[#&#8203;1283](https://redirect.github.com/actions/setup-node/pull/1283)

> When using node-version-file: package.json, setup-node now
prefers devEngines.runtime over engines.node.

##### Dependency updates:

- Fix npm audit issues by
[@&#8203;gowridurgad](https://redirect.github.com/gowridurgad) in
[#&#8203;1491](https://redirect.github.com/actions/setup-node/pull/1491)
- Replace uuid with crypto.randomUUID() by
[@&#8203;trivikr](https://redirect.github.com/trivikr) in
[#&#8203;1378](https://redirect.github.com/actions/setup-node/pull/1378)
- Upgrade minimatch from 3.1.2 to 3.1.5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;1498](https://redirect.github.com/actions/setup-node/pull/1498)

##### Bug fixes:

- Remove hardcoded bearer for mirror-url
[@&#8203;marco-ippolito](https://redirect.github.com/marco-ippolito) in
[#&#8203;1467](https://redirect.github.com/actions/setup-node/pull/1467)
- Scope test lockfiles by package manager and update cache tests by
[@&#8203;gowridurgad](https://redirect.github.com/gowridurgad) in
[#&#8203;1495](https://redirect.github.com/actions/setup-node/pull/1495)

##### New Contributors

- [@&#8203;susnux](https://redirect.github.com/susnux) made their first
contribution in
[#&#8203;1283](https://redirect.github.com/actions/setup-node/pull/1283)

**Full Changelog**:
<actions/setup-node@v6...v6.3.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
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:eyJjcmVhdGVkSW5WZXIiOiI0My40OC4xIiwidXBkYXRlZEluVmVyIjoiNDMuNDguMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

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

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/download-artifact](https://redirect.github.com/actions/download-artifact)
| action | major | `v7` → `v8` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v6` → `v7` |

---

### Release Notes

<details>
<summary>actions/download-artifact (actions/download-artifact)</summary>

###
[`v8`](https://redirect.github.com/actions/download-artifact/compare/v7...v8)

[Compare
Source](https://redirect.github.com/actions/download-artifact/compare/v7...v8)

</details>

<details>
<summary>actions/upload-artifact (actions/upload-artifact)</summary>

###
[`v7`](https://redirect.github.com/actions/upload-artifact/compare/v6...v7)

[Compare
Source](https://redirect.github.com/actions/upload-artifact/compare/v6...v7)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
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.

👻 **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 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:eyJjcmVhdGVkSW5WZXIiOiI0My4zNi4yIiwidXBkYXRlZEluVmVyIjoiNDMuMzYuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

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

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
Checkbox's render function applies the `label-text-wrapper-hidden` css
class when there is no label text to prevent extra margin from being
added. The render function is not re-evaluated if the label is updated.
This causes a problem in Angular where dynamic variables get applied
after the page is loaded, and a checkbox using a variable as a label
gets stuck with its label hidden until something else triggers a
re-render, e.g. ticking the box.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- The checkbox will be re-rendered, and css classes will be updated,
when the label text is changed.
- Updated tests to check that the label is visible after changing from
blank to having content.
## Does this introduce a breaking change?

- [ ] Yes
- [X] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->
…1005)

## What is the current behavior?
Checkbox and toggle components are not validated to be ticked/on in
`packages/angular/test/base/src/app/lazy/template-form`. This prevents
the error text from being displayed. While they have the `required`
attribute, this only applies to accessibility for
[checkbox](https://ionicframework.com/docs/api/checkbox#required) and
[toggle](https://ionicframework.com/docs/api/toggle#required).

## What is the new behavior?
- Use an Angular validator directive for checkbox and toggle.
- Make template-form an Angular module so the validator directive can be
imported.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No
Issue number: internal

---------

## What is the current behavior?
In Android native, when a user places a day in focus and then changes
the month by dragging the month, the div previous on focus remains in
focus in the new month.

## What is the new behavior?
After changing the month, the focus is removed from the active element
and placed on the calendar


## Does this introduce a breaking change?

- [ ] Yes
- [ ] No


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

---------

Co-authored-by: Shane <shane@shanessite.net>
…verOptions (#31022)

Issue number: resolves #31012

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
`ModalOptions` and `PopoverOptions` in `@ionic/angular` are non-generic
type aliases. Using `ModalOptions<typeof MyComponent>` causes a
typescript error, even though the core `@ionic/core` types accept a
generic parameter.

## What is the new behavior?
`ModalOptions` and `PopoverOptions` now forward the generic type
parameter from their core counterparts, allowing usage like`
ModalOptions<typeof MyComponent>`. The default parameter preserves
backward compatibility and existing code using ModalOptions without a
generic should continue to work.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No

## Other information

This was the initial and intended behavior, but got broken in
#30899
unintentionally. This PR fixes the issue and creates a test to ensure it
doesn't happen again.

Current dev build:
```
8.8.2-dev.11773931429.15b2a51c
```
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

While working on the migration for the spinner to Ionic Modular, I
noticed that we had a [Transform test
page](https://github.com/ionic-team/ionic-framework/blob/2b5b9137fc164c2f3305e493510a884c0afbfcf0/core/src/components/spinner/test/transform/index.html#L5)
without any context of why it was there. I found out that it's meant for
a [bug](#19247) that
was reported in v4 and we did have a
[test](https://github.com/ionic-team/ionic-framework/pull/24643/changes#diff-7b7ff84d3845fbde015775aa2da960310e80f79ec01b1f4a5957d751eddce7c9R1)
for it at some point but it was removed at a later date because it was
[discovered](#25259)
that it wasn't doing anything.

So we don't have any coverage of it if there's a regression.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Added a test to prevent a regression

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

How to test:
1. Be on your local
2. Navigate to `spinner.scss`
3. Update the following code snippet:
```diff
- :host(.spinner-circular) svg {
+ :host(.spinner-circular) {
  animation: spinner-circular linear infinite;
}
```
4. By making this code change, we are introducing the [original
issue](https://github.com/ionic-team/ionic-framework/pull/24643/changes#diff-fa8f6fb72eceb39e2482c0dbc083f69ecdabd411be541c21947f8e8e9bf9ee48L118).
5. Run the test
6. Notice that it fails
7. Undo the code change
8. Run the test
9. Verify that it passes
v8.8.2

---------

Co-authored-by: ionitron <hi@ionicframework.com>
Issue number: resolves internal

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
When the user swipes to a previous month that has adjacent days and
selects one of the adjacent days from a previous month, the datetime
selects the day but fails to scroll to the previous month.

## What is the new behavior?
When a user clicks on a previous adjacent day after swiping the month,
the calendar scrolls to the previous month. The same is applied to the
next month.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->


## Other information

The previous behavior was only reproducible on iOS real devices.
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) | Type |
Update |
|---|---|---|---|---|---|
|
[@axe-core/playwright](https://redirect.github.com/dequelabs/axe-core-npm)
| [`^4.11.0` →
`^4.11.1`](https://renovatebot.com/diffs/npm/@axe-core%2fplaywright/4.11.0/4.11.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@axe-core%2fplaywright/4.11.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@axe-core%2fplaywright/4.11.0/4.11.1?slim=true)
| devDependencies | patch |
| [@playwright/test](https://playwright.dev)
([source](https://redirect.github.com/microsoft/playwright)) |
[`^1.56.1` →
`^1.58.2`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.56.1/1.58.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.58.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.56.1/1.58.2?slim=true)
| devDependencies | minor |
| mcr.microsoft.com/playwright | `v1.56.1` → `v1.58.2` |
![age](https://developer.mend.io/api/mc/badges/age/docker/mcr.microsoft.com%2fplaywright/v1.58.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/mcr.microsoft.com%2fplaywright/v1.56.1/v1.58.2?slim=true)
| final | minor |

---

### Release Notes

<details>
<summary>dequelabs/axe-core-npm (@&#8203;axe-core/playwright)</summary>

###
[`v4.11.1`](https://redirect.github.com/dequelabs/axe-core-npm/blob/HEAD/CHANGELOG.md#4111-2026-01-09)

[Compare
Source](https://redirect.github.com/dequelabs/axe-core-npm/compare/v4.11.0...v4.11.1)

##### Bug Fixes

- reorder exports to place types first
([#&#8203;1261](https://redirect.github.com/dequelabs/axe-core-npm/issues/1261))
([40d22e3](https://redirect.github.com/dequelabs/axe-core-npm/commit/40d22e3cd6381796d731802efc71bc21c924025e)),
closes
[#&#8203;1243](https://redirect.github.com/dequelabs/axe-core-npm/issues/1243)
- Update axe-core to v4.11.1
([#&#8203;1271](https://redirect.github.com/dequelabs/axe-core-npm/issues/1271))
([77f577e](https://redirect.github.com/dequelabs/axe-core-npm/commit/77f577ed47510045e75b939fa97ac1d4f91b219b))

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.58.2`](https://redirect.github.com/microsoft/playwright/compare/v1.58.1...ce480a952553175eae75342aad2c5e86cdf2cbba)

[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.58.1...v1.58.2)

###
[`v1.58.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.58.1)

[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.58.0...v1.58.1)

##### Highlights


[#&#8203;39036](https://redirect.github.com/microsoft/playwright/issues/39036)
fix(msedge): fix local network permissions

[#&#8203;39037](https://redirect.github.com/microsoft/playwright/issues/39037)
chore: update cft download location

[#&#8203;38995](https://redirect.github.com/microsoft/playwright/issues/38995)
chore(webkit): disable frame sessions on fronzen builds

##### Browser Versions

- Chromium 145.0.7632.6
- Mozilla Firefox 146.0.1
- WebKit 26.0

###
[`v1.58.0`](https://redirect.github.com/microsoft/playwright/compare/v1.57.0...961381ec73a9fa2661d92504eab1a6bd6eaffc75)

[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.57.0...v1.58.0)

###
[`v1.57.0`](https://redirect.github.com/microsoft/playwright/compare/v1.56.1...80581972582c9565e141c5fedd3c5fa10cc0e38b)

[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.56.1...v1.57.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
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.

👻 **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 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS45IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com>
…30983)

Closes #30913

## Description

When `ion-input-otp` has the `readonly` prop set, typing is correctly
blocked but users are still able to delete characters using the
Backspace or Delete keys.

When `disabled` or `readonly` are set, users are still able to paste
into the component.

## Changes

- Added guard for `disabled` and `readonly` inside `onInput` and
`onPaste` handler
- Prevented default behavior for `Backspace` and `Delete` when
`readonly` is `true`
- Return in `onKeydown` when `disabled` is `true`
- Added e2e tests verifying the behavior

## How to Test

1. Add `readonly` to `ion-input-otp`
2. Attempt to type → no input allowed
3. Press Backspace/Delete → no characters removed

Behavior now matches expected readonly semantics.

---------

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/) |
|---|---|---|---|
| [@capacitor/core](https://capacitorjs.com)
([source](https://redirect.github.com/ionic-team/capacitor)) | [`8.2.0`
→
`8.3.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/8.2.0/8.3.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcore/8.3.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcore/8.2.0/8.3.0?slim=true)
|
|
[@capacitor/keyboard](https://redirect.github.com/ionic-team/capacitor-keyboard)
| [`8.0.1` →
`8.0.2`](https://renovatebot.com/diffs/npm/@capacitor%2fkeyboard/8.0.1/8.0.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fkeyboard/8.0.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fkeyboard/8.0.1/8.0.2?slim=true)
|
|
[@capacitor/status-bar](https://redirect.github.com/ionic-team/capacitor-plugins)
| [`8.0.1` →
`8.0.2`](https://renovatebot.com/diffs/npm/@capacitor%2fstatus-bar/8.0.1/8.0.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fstatus-bar/8.0.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fstatus-bar/8.0.1/8.0.2?slim=true)
|

---

### Release Notes

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

###
[`v8.3.0`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#830-2026-03-25)

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

##### Bug Fixes

- **android:** correctly parsing `server.url` when they include paths
([#&#8203;8391](https://redirect.github.com/ionic-team/capacitor/issues/8391))
([a9f2181](https://redirect.github.com/ionic-team/capacitor/commit/a9f218179b60555d86b44bf2b33354da3e64e98c))
- **cli:** inline CSS sourcemaps in addition to JS sourcemaps
([#&#8203;8377](https://redirect.github.com/ionic-team/capacitor/issues/8377))
([69476ab](https://redirect.github.com/ionic-team/capacitor/commit/69476ab9c0b47911a14d2482cab53a877a5ae784))
- **http:** handle URL objects on fetch
([#&#8203;8386](https://redirect.github.com/ionic-team/capacitor/issues/8386))
([003099a](https://redirect.github.com/ionic-team/capacitor/commit/003099aef246adfd76d890074d46b1484951824b))
- **ios:** make getArray accesible on Objective-C plugins
([#&#8203;8392](https://redirect.github.com/ionic-team/capacitor/issues/8392))
([afb80f2](https://redirect.github.com/ionic-team/capacitor/commit/afb80f2fecb4bf85dbebe25e815de2a5564264d6))
- **SystemBars:** use native safe area insets on Android
([#&#8203;8384](https://redirect.github.com/ionic-team/capacitor/issues/8384))
([4e99598](https://redirect.github.com/ionic-team/capacitor/commit/4e99598a2a57ee97e82be1aaa09492744622fa60))

##### Features

- **cli:** Experimental config for swift-tools-version in SPM apps
([#&#8203;8372](https://redirect.github.com/ionic-team/capacitor/issues/8372))
([d2ee84f](https://redirect.github.com/ionic-team/capacitor/commit/d2ee84f8186909b142b418c02fc19f79d3c6a6ed))
- **cli:** support SPM package traits in generated Package.swift
([#&#8203;8351](https://redirect.github.com/ionic-team/capacitor/issues/8351))
([27e6aa8](https://redirect.github.com/ionic-team/capacitor/commit/27e6aa89cf22e0b1a6d46710faed9aa8899600b0))

</details>

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

###
[`v8.0.2`](https://redirect.github.com/ionic-team/capacitor-keyboard/blob/HEAD/CHANGELOG.md#802-2026-03-25)

[Compare
Source](https://redirect.github.com/ionic-team/capacitor-keyboard/compare/v8.0.1...v8.0.2)

##### Bug Fixes

- **android:** calling ViewCompat.onApplyWindowInsets
([#&#8203;59](https://redirect.github.com/ionic-team/capacitor-keyboard/issues/59))
([cc74b2d](https://redirect.github.com/ionic-team/capacitor-keyboard/commit/cc74b2dd62b719b450fe241cd1c802b103d62d5f))

</details>

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

###
[`v8.0.2`](https://redirect.github.com/ionic-team/capacitor-plugins/releases/tag/%40capacitor/local-notifications%408.0.2)

[Compare
Source](https://redirect.github.com/ionic-team/capacitor-plugins/compare/@capacitor/status-bar@8.0.1...@capacitor/status-bar@8.0.2)

##### Bug Fixes

- **android:** notification Bundles with non-string values
([#&#8203;2445](https://redirect.github.com/ionic-team/capacitor-plugins/issues/2445))
([2788f81](https://redirect.github.com/ionic-team/capacitor-plugins/commit/2788f81d5dfe53e5d72b32e3b724e0f1a41e8373))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
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 these
updates 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:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

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/haptics](https://redirect.github.com/ionic-team/capacitor-haptics)
| [`8.0.1` →
`8.0.2`](https://renovatebot.com/diffs/npm/@capacitor%2fhaptics/8.0.1/8.0.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fhaptics/8.0.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fhaptics/8.0.1/8.0.2?slim=true)
|

---

### Release Notes

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

###
[`v8.0.2`](https://redirect.github.com/ionic-team/capacitor-haptics/blob/HEAD/CHANGELOG.md#802-2026-03-27)

[Compare
Source](https://redirect.github.com/ionic-team/capacitor-haptics/compare/v8.0.1...v8.0.2)

##### Documentation updates

- fix Capitalization on default NotificationType
([#&#8203;23](https://redirect.github.com/ionic-team/capacitor-haptics/issues/23))
([797ccbe](https://redirect.github.com/ionic-team/capacitor-haptics/commit/bbfd42dbda738c90f26ed08aa0c7ca3dc2d0fcae))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
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:eyJjcmVhdGVkSW5WZXIiOiI0My45NC4xIiwidXBkYXRlZEluVmVyIjoiNDMuOTQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
v8.8.3

---------

Co-authored-by: ionitron <hi@ionicframework.com>
@ShaneK ShaneK requested a review from a team as a code owner April 1, 2026 21:06
@ShaneK ShaneK requested a review from BenOsodrac April 1, 2026 21:06
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 1, 2026

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

Project Deployment Actions Updated (UTC)
ionic-framework Ready Ready Preview, Comment Apr 1, 2026 9:08pm

Request Review

@github-actions github-actions bot added package: core @ionic/core package package: angular @ionic/angular package labels Apr 1, 2026
@github-actions github-actions bot added package: vue @ionic/vue package package: react @ionic/react package labels Apr 1, 2026
@ShaneK ShaneK merged commit 9c0bcb3 into major-9.0 Apr 1, 2026
49 checks passed
@ShaneK ShaneK deleted the sync-major-9.0-with-main branch April 1, 2026 21: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.

7 participants