Skip to content

merge release-8.8.12#31244

Merged
thetaPC merged 6 commits into
8.8.xfrom
release-8.8.12
Jun 24, 2026
Merged

merge release-8.8.12#31244
thetaPC merged 6 commits into
8.8.xfrom
release-8.8.12

Conversation

@thetaPC

@thetaPC thetaPC commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Release 8.8.12

brandyscarney and others added 6 commits June 17, 2026 14:53
v8.8.11

---------

Co-authored-by: ionitron <hi@ionicframework.com>
This PR contains the following updates:

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

---

### Release Notes

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

###
[`v8.0.5`](https://redirect.github.com/ionic-team/capacitor-keyboard/blob/HEAD/CHANGELOG.md#805-2026-06-16)

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

##### Bug Fixes

- **docs:** `autoBackdropColor` reference
([cb4af94](https://redirect.github.com/ionic-team/capacitor-keyboard/commit/cb4af9441fbfeadc2d210c0137c257faac0376f8))

###
[`v8.0.4`](https://redirect.github.com/ionic-team/capacitor-keyboard/blob/HEAD/CHANGELOG.md#804-2026-06-16)

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

##### Bug Fixes

- **android:** reset WebView height when keyboard hides without
animation
([#&#8203;60](https://redirect.github.com/ionic-team/capacitor-keyboard/issues/60))
([f2e9cd2](https://redirect.github.com/ionic-team/capacitor-keyboard/commit/f2e9cd2803e87982c07381ee1987772c2d4a7a60))
- **ios:** prevent black QuickType bar when using Magic Keyboard on iPad
+ Fix Keyboard on iOS 26
([#&#8203;52](https://redirect.github.com/ionic-team/capacitor-keyboard/issues/52))
([068f643](https://redirect.github.com/ionic-team/capacitor-keyboard/commit/068f64396600f54fe31775776668634a38afc937))

</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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Issue number: resolves #26394

---------

## What is the current behavior?

When `routerLink` is applied to a non-anchor Ionic component
(`ion-item`, `ion-button`), `RouterLinkDelegateDirective` always routes
in-app on click. A ctrl/meta/shift/alt click, or a host with
`target="_blank"`, gets swallowed by the in-app navigation, so the
browser never opens the link in a new tab. A plain `<a routerLink>`
honors these intents, but the Ionic delegate doesn't, even though these
components render a native anchor in their shadow DOM that's capable of
the native new-tab behavior.

## What is the new behavior?

`RouterLinkDelegateDirective` now adds a capture-phase click listener so
it runs before Angular's `RouterLink` handler and the directive's own
bubble-phase `onClick`. When the click should be handled natively (a
ctrl/meta/shift/alt modifier is held, or the host `target` is set to
anything other than `_self`), it calls `stopImmediatePropagation()` to
cancel the in-app navigation but leaves `preventDefault` alone, so the
shadow-DOM anchor can still open the tab. This mirrors the modifier set
Angular's own `RouterLink` guards on. Normal clicks are unaffected and
continue to navigate in-app. The listener is removed in `ngOnDestroy`.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

This supersedes #28976 by @j-oppenhuis, which first surfaced the target
and modifier-click gap. Credited as co-author below.

To verify manually in the Angular preview, ctrl/cmd-click the two
`ion-item` rows (a plain one and a `target="_blank"` one) and confirm
each opens a new tab instead of navigating in place:

https://ionic-framework-git-fix-angular-routerlink-modifi-896c58-ionic1.vercel.app/angular/standalone/router-link

If you compare that against the main version of the same component,
you'll be able to see how it's fixed:

https://ionic-framework-git-main-ionic1.vercel.app/angular/standalone/router-link

Co-authored-by: Jelle Oppenhuis <jelle@siyou.nl>
Issue number: resolves #31220

---------

## What is the current behavior?

Currently, a component opened through `ModalController` that binds a
value from `componentProps` in its template, like `<ion-nav
[root]="rootPage()">`, can render empty. `attachView` only runs the
creation pass, so the `[root]` binding is applied on a later tick, after
`ion-nav` has already finished loading and read `root` as undefined.
Wrapping the nav in `@if (rootPage())` worked around it.

## What is the new behavior?

After this fix, `attachView` runs `detectChanges()` on the view right
after attaching it, so template bindings apply before the web component
loads. `ion-nav` now sees its `root` during load and renders it. This
matches the `detectChanges` call already on `major-9.0`.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No

## Other information

The actual fix for this PR is fairly small, most of it is just testing.
It's also important to note that this is already fixed in v9 in the same
exact way, we're just backporting it to v8 here.

Dev build:
```
8.8.12-dev.11781813448.16e7a064
```
@thetaPC thetaPC requested a review from a team as a code owner June 24, 2026 17:24
@thetaPC thetaPC requested review from ShaneK and removed request for a team June 24, 2026 17:24
@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 Jun 24, 2026
@thetaPC thetaPC merged commit c8e07d2 into 8.8.x Jun 24, 2026
98 checks passed
@thetaPC thetaPC deleted the release-8.8.12 branch June 24, 2026 17:36
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.

4 participants