Skip to content

merge release-8.8.9#31193

Merged
thetaPC merged 7 commits into
8.8.xfrom
release-8.8.9
Jun 3, 2026
Merged

merge release-8.8.9#31193
thetaPC merged 7 commits into
8.8.xfrom
release-8.8.9

Conversation

@thetaPC

@thetaPC thetaPC commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Release 8.8.9

ShaneK and others added 7 commits May 20, 2026 14:13
Issue number: resolves internal

---------

## What is the current behavior?
Playwright tests are hanging because of a [bug that breaks it for node
24.16+](microsoft/playwright#40724)

## What is the new behavior?
Upgrading Playwright to 1.16.0 to fix the issue

## Does this introduce a breaking change?

- [ ] Yes
- [X] 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. -->
Many of the controller tests are using the wrong path to import the
overlay controllers. This results in those tests not working in Vercel.

To reproduce the issue:

1. Open the [Action Sheet
(main)](https://ionic-framework-git-main-ionic1.vercel.app/src/components/action-sheet/test/basic)
preview
2. Attempt to open any Action Sheet
3. See the Action Sheet does not open and there is the following console
error: `ReferenceError: actionSheetController is not defined`

To see it working:

1. Open the [Action Sheet
(branch)](https://ionic-framework-git-test-vercel-controllers-ionic1.vercel.app/src/components/action-sheet/test/basic)
preview
2. Attempt to open any Action Sheet
3. See the Action Sheet opens without any errors

This should be able to reproduce on any of the updated tests.

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
Issue number: resolves #19566, resolves #19365

---------

<!-- 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?

Clicking an `ion-router-link` whose `href` contains a `#fragment` (e.g.
`/catalog#pens`) fails to navigate and logs `not part of the routing
set`. `parsePath` in `core/src/components/router/utils/path.ts` only
splits on `?`, so the fragment gets folded into the last path segment
and no registered route matches. Even when navigation succeeds, the
matching anchor is never scrolled into view.

## What is the new behavior?

`parsePath` extracts the fragment as a separate field, and
`writeSegments` writes it back onto the URL via `pushState`. Routes
match against the path segments alone, so `/catalog#pens` resolves to
the `/catalog` route as expected.

After `writeNavStateRoot` resolves, the router polls a few animation
frames for an element matching the fragment inside the active page, then
smooth-scrolls to it via `ion-content.scrollToPoint`, falling back to
`Element.scrollIntoView` when the target sits outside `ion-content`. A
`fragmentScrollToken` cancels any in-flight scroll the moment a newer
`setSegments` runs.

## 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 fragment lookup scopes to the last `.ion-page:not(.ion-page-hidden)`
in the document. Nested outlets can have multiple non-hidden pages
mounted at once, and an identically-named anchor on a parent page would
otherwise win over the leaf the user is viewing.

Preview pages:
-
[router/basic](https://ionic-framework-git-fw-6958-ionic1.vercel.app/src/components/router/test/basic#/two)
Issue number: resolves stenciljs/core#6727

## What is the current behavior?

When a component property's default value is set to a JavaScript
variable (e.g. `QUERY['lg']` on `ion-split-pane`'s `when` prop), Stencil
emits the raw variable expression into the generated documentation files
(`api.txt`, `components.d.ts`, and `dist/docs.json`). This causes the
[component API
docs](https://ionicframework.com/docs/api/split-pane#prop-when) to
display `QUERY['lg']` instead of the resolved value `'(min-width:
992px)'`.

## What is the new behavior?

Stencil 4.43.5 (via stenciljs/core#6728) resolves variable references at
doc-generation time. After bumping and rebuilding:

- `core/api.txt` — `ion-split-pane`'s `when` default is now
`'(min-width: 992px)'`
- `core/src/components.d.ts` — `@default` JSDoc tag reflects the
resolved value
- `dist/docs.json` (published as `@ionic/docs`) — will also carry the
resolved value once released, enabling ionic-docs to remove the
hardcoded fallbacks for the `gallery` component

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

- Stencil changelog:
https://github.com/stenciljs/core/releases/tag/v4.43.5
- Upstream fix: stenciljs/core#6728
- Once this is released as part of Ionic, a PR will be automatically
created in `ionic-docs` using the updated `@ionic/docs` package — at
that point the hardcoded default descriptions for `gallery`'s `columns`
and `gap` props can be removed.
@thetaPC thetaPC requested a review from a team as a code owner June 3, 2026 17:21
@thetaPC thetaPC requested review from gnbm and removed request for a team June 3, 2026 17:21
@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 3, 2026
@vercel

vercel Bot commented Jun 3, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
ionic-framework Ready Ready Preview, Comment Jun 3, 2026 5:26pm

Request Review

@thetaPC thetaPC merged commit 3c5bea9 into 8.8.x Jun 3, 2026
98 checks passed
@thetaPC thetaPC deleted the release-8.8.9 branch June 3, 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.

5 participants