Repository navigation
chore(git): sync next - #31686
Merged
Merged
chore(git): sync next#31686
Conversation
…nsitions (#31497) Issue number: resolves #31479 --------- <!-- 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? Currently, switching tabs or following a link with `routerDirection="none"` fires none of the four view lifecycle events, so a page that loads its data in `useIonViewWillEnter` renders empty. The non-animated branch of `StackManager.transitionPage()` skips `routerOutlet.commit()` and swaps the page classes itself to avoid intermediate paints, and core dispatches all four events from inside `commit()`, so they never fire. A capturing listener on the `ion-router-outlet` gets nothing either, so it isn't a problem with the hooks. ## What is the new behavior? That branch now dispatches the four events itself, in the same order core's `transition()` uses. The class swap moved to after all four, so the leaving page is still on screen for its leave events and the entering page is revealed only once they've fired. That's what core does on the animated path, where `beforeTransition` un-hides the leaving page and `ion-page-hidden` only goes back on after `commit()` resolves, and it matters because `ion-page-hidden` is `display: none`, so a `useIonViewDidLeave` handler reading `scrollTop` off the outgoing page was getting 0. The two dispatch sites that already existed in this file for out-of-scope and root navigation now share the same helper. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information The events used to come from core here. This path called `commit(enteringEl, undefined, { duration: 0 })` until [12f0d5e](12f0d5e) dropped it to fix a white flash during tab switches, and with no leaving element core took its `noAnimation` branch and fired the enter pair, so the enter half of this is a regression from that commit. Putting the call back would get the events plus focus and z-index handling from core for free, but it risks the flash it was removed for, so this dispatches them directly instead. The patch on the issue fires the enter events unconditionally. This gates them on the generation check so a superseded transition doesn't announce an entry, and it skips the leave events when the leaving page already has `ion-page-hidden`, because two transitions sharing a leaving element would otherwise run its `useIonViewDidLeave` teardown twice. The check is the class rather than `isViewVisible` since a nested outlet marks its leaving page `visibility: hidden` before we get here and still needs `ionViewDidLeave` to unmount. Preview: - [Tab lifecycle](https://ionic-framework-git-fix-rr6-lifecycle-non-animated-ionic1.vercel.app/react-router/tab-lifecycle/home) - [routerDirection="none"](https://ionic-framework-git-fix-rr6-lifecycle-non-animated-ionic1.vercel.app/react-router/direction-none-back/a) ## Current Dev Build ``` 9.0.6-dev.11790615145.1d8c56a2 ```
…31510) Issue number: internal --------- ## What is the current behavior? Currently, when a guard returns a location instead of `false` during a back navigation, the URL updates to the redirect target but Ionic renders a different page. A redirect doesn't fail, so the original navigation never reaches `afterEach` or `onError`. Its staged delta and params are never cleared and get applied to the redirect target instead. ## What is the new behavior? The ownership `beforeEach` now discards the state a navigation claimed when a guard redirects it. We match it through `redirectedFrom`, which vue-router points at the first location in the redirect chain. That covers leave guards, which run before our hook, and a guard redirect to the current page, which fails as a duplicate before reaching `beforeEach`. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information This was [raised while reviewing #31364](#31364 (comment)) and left out of scope there.
Issue number: resolves #29785 --------- ## What is the current behavior? Currently, with `createMemoryHistory`, tapping the active tab from a child page leaves the child on screen. Memory history doesn't store a position in `history.state`, so the offset `resetTab()` computes is `NaN` and `router.go(NaN)` goes nowhere. On 9.x it also throws `Cannot read properties of undefined (reading '0')`. ## What is the new behavior? When there's no position to traverse, `resetTab()` now replaces the current entry with the tab's `href`, the same fallback it already uses after a deep load. It uses the tab's `href` rather than the first route recorded for the tab, because after a deep load onto a child that first route is the child itself. Web and hash history always have a numeric position, so they're unaffected. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information The new tests are in `memory.spec.ts`, since the Vue test app uses web history and can't reproduce this. They cover resetting from a child page, resetting after a deep load onto a child, and replacing the child entry rather than pushing over it.
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.2` → `5.0.3`](https://renovatebot.com/diffs/npm/vitest/5.0.2/5.0.3) |  |  | --- ### Release Notes <details> <summary>vitest-dev/vitest (vitest)</summary> ### [`v5.0.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v5.0.3) [Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3) ##### 🐞 Bug Fixes - Isolate `result.status` between `repeats` runs - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa), **Hiroshi Ogawa** and **Codex (GPT-6)** in [#​11218](https://redirect.github.com/vitest-dev/vitest/issues/11218) [<samp>(5dbeb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5dbebe9e3) - Don't print an interceptor warning in browser mode - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [#​11377](https://redirect.github.com/vitest-dev/vitest/issues/11377) [<samp>(15cc0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/15cc006aa) - Don't retry when `test.fails` expectedly failed - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa), **Hiroshi Ogawa** and **Codex (GPT-6)** in [#​11219](https://redirect.github.com/vitest-dev/vitest/issues/11219) [<samp>(b2458)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b24585f08) - Scope cache key generators to projects - by [@​ecoyoung](https://redirect.github.com/ecoyoung) in [#​11281](https://redirect.github.com/vitest-dev/vitest/issues/11281) and [#​11301](https://redirect.github.com/vitest-dev/vitest/issues/11301) [<samp>(92ba7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/92ba7fc1d) - **browser**: - Delay server `listen` until tests start running - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [#​11366](https://redirect.github.com/vitest-dev/vitest/issues/11366) [<samp>(7d8ed)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7d8ed3e9b) - Check mock path boundaries - by [@​saryn17](https://redirect.github.com/saryn17), **Ryosei Sato** and [@​sheremet-va](https://redirect.github.com/sheremet-va) in [#​11361](https://redirect.github.com/vitest-dev/vitest/issues/11361) and [#​11362](https://redirect.github.com/vitest-dev/vitest/issues/11362) [<samp>(1c388)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1c3888bce) - Keep config of browser-consumed environments - by [@​kasperpeulen](https://redirect.github.com/kasperpeulen) and **Claude** in [#​11378](https://redirect.github.com/vitest-dev/vitest/issues/11378) [<samp>(aafc0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/aafc0996f) - Ignore page crash while cancelling - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [#​11386](https://redirect.github.com/vitest-dev/vitest/issues/11386) [<samp>(7c367)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7c36748fa) - `toMatchScreenshot` uses wrong reference on retried tests - by [@​macarie](https://redirect.github.com/macarie) in [#​11393](https://redirect.github.com/vitest-dev/vitest/issues/11393) [<samp>(c22ab)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c22aba992) - **cache**: - Revalidate imports of cached modules - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [#​11381](https://redirect.github.com/vitest-dev/vitest/issues/11381) [<samp>(38f98)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/38f98855f) - **deps**: - Pin `why-is-node-running` to `3.2.1` to avoid users running into `ERR_PNPM_TRUST_DOWNGRADE` - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio) in [#​11403](https://redirect.github.com/vitest-dev/vitest/issues/11403) [<samp>(f6c9a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f6c9a4977) - **expect**: - Pass current equality testers to `expect.extend` asymmetric matchers - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa), **Hiroshi Ogawa** and **Claude** in [#​11401](https://redirect.github.com/vitest-dev/vitest/issues/11401) [<samp>(3e794)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3e794a96b) - **jsdom**: - Support Blob on jsdom 30.1 - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [#​11379](https://redirect.github.com/vitest-dev/vitest/issues/11379) [<samp>(6c49b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6c49b7197) - **pool**: - Preserve unique pool ids when `groupOrder` is set - by [@​mtorp](https://redirect.github.com/mtorp) in [#​11392](https://redirect.github.com/vitest-dev/vitest/issues/11392) [<samp>(50312)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/50312ebb4) - **ui**: - Split-pane handle overlapping iframe - by [@​macarie](https://redirect.github.com/macarie) in [#​11221](https://redirect.github.com/vitest-dev/vitest/issues/11221) [<samp>(f91db)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f91db0dfd) - **vitest**: - Remove root temp dir on close - by [@​abhinav-phi](https://redirect.github.com/abhinav-phi) in [#​11248](https://redirect.github.com/vitest-dev/vitest/issues/11248) [<samp>(7c711)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7c7119cf7) - **vm**: - Do not optimize deps from index.html - by [@​ezefernandezyf](https://redirect.github.com/ezefernandezyf), **Hiroshi Ogawa** and **Codex (GPT-6)** in [#​11329](https://redirect.github.com/vitest-dev/vitest/issues/11329) and [#​11360](https://redirect.github.com/vitest-dev/vitest/issues/11360) [<samp>(caf28)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/caf2887de) - Don't reuse scripts across vite environments - by [@​MO2k4](https://redirect.github.com/MO2k4), **Martin Oehlert** and **Claude** in [#​11395](https://redirect.github.com/vitest-dev/vitest/issues/11395) [<samp>(346d3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/346d3896b) ##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3) </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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMjUuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…#31516) Issue number: resolves #30024 --------- ## What is the current behavior? Currently, `float-elements.css` (and `ionic.bundle.css` / `utils.bundle.css`, which include it) contains `:host-context([dir=rtl]) .ion-float-*` selectors from the `rtl()` mixin. Lightning CSS, the default CSS minifier in Vite 8, warns about every one of them. They can never match anyway, because these stylesheets apply to the document, not a shadow root. ## What is the new behavior? The `rtl()` mixin now skips its `:host-context` rule when `$rtl-use-host-context` is false, and `float-elements.scss` sets it. The float utilities still flip in RTL through the existing `[dir=rtl]` and `:dir(rtl)` rules. Component styles are unchanged, since they still need `:host-context`. A new spec compiles every global stylesheet and asserts none of them contain `:host-context`. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information The only output change is 10 removed `:host-context` rules in `float-elements.css`, which also come out of the two bundles that include it. ## Dev build ``` 9.0.7-dev.11790870774.174de601 ```
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.19.0` → `24.19.1`](https://renovatebot.com/diffs/npm/@types%2fnode/24.19.0/24.19.1) |  |  | --- ### 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMjUuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Issue number: resolves #31484 --------- ## What is the current behavior? Changing the length prop at runtime updates the rendered input boxes but can leave the public value longer than the rendered inputs. ## What is the new behavior? The component now reinitializes its values and tab indexes when length changes, keeping the public value synchronized with the rendered inputs. - Added a runtime length-change end-to-end regression test. - ESLint passes for the changed files. - Targeted Playwright execution is pending because the local browser executable is unavailable. ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information Fixes #31484. No dependency updates or breaking API changes. --------- Co-authored-by: ShaneK <shane@shanessite.net>
…31517) Issue number: resolves #31513 --------- ## What is the current behavior? Currently, an `IonRouterOutlet` with `ionPage` that unmounts before its `componentOnReady` callback fires throws `Cannot read properties of null (reading 'classList')`, because React has already cleared the ref the callback reads in `OutletPageManager`. ## What is the new behavior? We now capture the outlet element when the callback is scheduled and skip the callback if the ref no longer points to it, so an unmounted outlet doesn't touch its classes or register with the parent stack. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information The new test page mounts an outlet and removes it in a layout effect, which reproduces the error on every tap on `main`. ## Current dev build ``` 9.0.7-dev.11790871695.14a4111c ```
Issue number: resolves #29648 --------- ## What is the current behavior? Currently, with `experimentalCloseWatcher` enabled, a `CloseWatcher` is always active, so back does nothing when no overlay or menu is open. In Capacitor and Cordova apps on Android the flag also breaks the hardware back button entirely, because Android WebView never sends it to a `CloseWatcher` and we stopped listening for the native `backbutton` event. ## What is the new behavior? The `CloseWatcher` now only exists while a menu or an overlay other than a toast is open, so back navigates normally otherwise. We also always listen for `backbutton` again, which browsers never fire, so the hardware back button works in hybrid apps. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information ## Current dev build ``` 9.0.7-dev.11790887756.13f9320e ```
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.5` → `8.0.6`](https://renovatebot.com/diffs/npm/@capacitor%2fkeyboard/8.0.5/8.0.6) |  |  | | [@capacitor/status-bar](https://redirect.github.com/ionic-team/capacitor-plugins) | [`8.0.3` → `8.0.4`](https://renovatebot.com/diffs/npm/@capacitor%2fstatus-bar/8.0.3/8.0.4) |  |  | --- ### Release Notes <details> <summary>ionic-team/capacitor-keyboard (@​capacitor/keyboard)</summary> ### [`v8.0.6`](https://redirect.github.com/ionic-team/capacitor-keyboard/blob/HEAD/CHANGELOG.md#806-2026-10-02) [Compare Source](https://redirect.github.com/ionic-team/capacitor-keyboard/compare/v8.0.5...v8.0.6) ##### Bug Fixes - **ios:** silence the protocol property synthesis warnings in Keyboard.m ([#​83](https://redirect.github.com/ionic-team/capacitor-keyboard/issues/83)) ([f28aef4](https://redirect.github.com/ionic-team/capacitor-keyboard/commit/f28aef4ed8736865232ed0595412e07d2372e024)) </details> <details> <summary>ionic-team/capacitor-plugins (@​capacitor/status-bar)</summary> ### [`v8.0.4`](https://redirect.github.com/ionic-team/capacitor-plugins/releases/tag/%40capacitor/status-bar%408.0.4) [Compare Source](https://redirect.github.com/ionic-team/capacitor-plugins/compare/@capacitor/status-bar@8.0.3...@capacitor/status-bar@8.0.4) ##### Bug Fixes - **status-bar:** avoid retain cycle between StatusBar and the bridge ([#​2569](https://redirect.github.com/ionic-team/capacitor-plugins/issues/2569)) ([bf42d23](https://redirect.github.com/ionic-team/capacitor-plugins/commit/bf42d237c1dca1b608dcbedf9c62559feccfb532)) </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 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMjUuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> 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/) | |---|---|---|---| | [@stencil/core](https://stenciljs.com/) ([source](https://redirect.github.com/stenciljs/core)) | [`4.45.1` → `4.45.2`](https://renovatebot.com/diffs/npm/@stencil%2fcore/4.45.1/4.45.2) |  |  | --- ### Release Notes <details> <summary>stenciljs/core (@​stencil/core)</summary> ### [`v4.45.2`](https://redirect.github.com/stenciljs/core/blob/HEAD/CHANGELOG.md#-4452-2026-10-05) [Compare Source](https://redirect.github.com/stenciljs/core/compare/v4.45.1...v4.45.2) ##### Bug Fixes - **mock-doc:** support force in classList.toggle ([#​6913](https://redirect.github.com/stenciljs/core/issues/6913)) ([992ab54](https://redirect.github.com/stenciljs/core/commit/992ab5466c0b7a0d6ff420f25eb095a42791f0f6)) - **runtime:** `document.hidden` page freezes ([#​6918](https://redirect.github.com/stenciljs/core/issues/6918)) ([5a92cc7](https://redirect.github.com/stenciljs/core/commit/5a92cc7e99de7395c8f8956203bfcb248af9d479)) - **runtime:** form-associated boolean attribute `"false"` parses as true ([#​6908](https://redirect.github.com/stenciljs/core/issues/6908)) ([f971133](https://redirect.github.com/stenciljs/core/commit/f971133d7d47dce9598c6417e12902942c2053d3)) - **runtime:** keep child host classes on first render after hydration ([#​6912](https://redirect.github.com/stenciljs/core/issues/6912)) ([b6842e9](https://redirect.github.com/stenciljs/core/commit/b6842e9817c16258d7b8b8f2cb6c8420aad76c0e)) - **runtime:** lazy getter/setter `@Prop` writes before first render ([#​6909](https://redirect.github.com/stenciljs/core/issues/6909)) ([e2e5dfc](https://redirect.github.com/stenciljs/core/commit/e2e5dfc059c4c8fedf5258f9ee83d4a091ef20ac)) - **scope-css:** scope rules inside [@​container](https://redirect.github.com/container) ([#​6914](https://redirect.github.com/stenciljs/core/issues/6914)) ([bc393d0](https://redirect.github.com/stenciljs/core/commit/bc393d028b86731cccce51d7af417e2186dcf7ac)) </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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…1533) Issue number: internal --------- ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Every Renovate PR needs a manual approval and merge, including frequent low-risk bumps like `vitest`, `@types/node` and `github/codeql-action` that we always merge as-is. ## What is the new behavior? Minor and patch updates for `vitest`, the Playwright group, `@types/node`, `github/codeql-action` and `actions/*` now automerge once CI passes. Majors still open as normal PRs that need a review. A Playwright bump that changes rendering fails `verify-screenshots`, so it'll wait for a person the same as before. `platformAutomerge` is off, so Renovate merges the PR itself and waits for every check on the branch rather than relying on GitHub's native auto-merge. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information
Issue number: 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 new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> This pull request updates the `outsystems-design-tokens` dependency from version 2.3.0 to 2.5.0 in both `core/package.json` and `core/package-lock.json`. Alongside this upgrade, several related dependency updates and cleanups are made in the lockfile to reflect changes in the dependency tree. Dependency updates and cleanups: * Upgraded `outsystems-design-tokens` from version 2.3.0 to 2.5.0, which also updates its dependency on `glob` from 12.0.0 to 13.0.6 and changes the required Node.js version for `glob`. The binary name for the package changed from `build.tokens` to `build-tokens`. [[1]](diffhunk://#diff-4ff996db8bece1eded512c3b97a6bde33622f94bb387634ef32496d832d57744L48-R48) [[2]](diffhunk://#diff-7f67769260741e2563407af949f7e54fbf0431d1c607933f6e8a8094e3219e26L105-R105) [[3]](diffhunk://#diff-4ff996db8bece1eded512c3b97a6bde33622f94bb387634ef32496d832d57744L9877-R9832) [[4]](diffhunk://#diff-4ff996db8bece1eded512c3b97a6bde33622f94bb387634ef32496d832d57744L9918-R9873) * Removed now-unneeded dependencies from the lockfile, including `@isaacs/cliui`, `foreground-child`, `jackspeak`, and `package-json-from-dist`, as they are no longer required by the updated dependency tree. [[1]](diffhunk://#diff-4ff996db8bece1eded512c3b97a6bde33622f94bb387634ef32496d832d57744L1144-L1153) [[2]](diffhunk://#diff-4ff996db8bece1eded512c3b97a6bde33622f94bb387634ef32496d832d57744L6029-L6058) [[3]](diffhunk://#diff-4ff996db8bece1eded512c3b97a6bde33622f94bb387634ef32496d832d57744L7603-L7618) [[4]](diffhunk://#diff-4ff996db8bece1eded512c3b97a6bde33622f94bb387634ef32496d832d57744L10009-L10015) ## Does this introduce a breaking change? - [x] Yes - [ ] 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. --> --------- Co-authored-by: ionitron <hi@ionicframework.com>
v9.0.7
## What is the current behavior? Stencil Nightly Build installs the latest `@stencil/react-output-target`, which changes `packages/react/package-lock.json`. When it checks for a clean git diff, the altered package-lock file fails CI. ## What is the new behavior? - Clean up `packages/react/package-lock.json` along with `package.json`. ## Does this introduce a breaking change? - [ ] Yes - [X] No
Issue number: internal --------- ## What is the current behavior? Currently, leaving a page that hosts a nested `ion-router-outlet` (like an `ion-tabs` page) only fires leave events on that page, since core dispatches them with `bubbles: false`. The active tab page never gets `ionViewWillLeave` or `ionViewDidLeave`, and in Angular it also misses enter events on the way back. React was fixed as part of the RR6 upgrade in #30831. ## What is the new behavior? The nested outlet now fires the parent page's lifecycle events on its active page in step with the parent. Angular forwards all four events. Vue forwards leave only, because its tabs outlet already fires enter on return. Returning to a different tab no longer fires leave a second time on the page that already left. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information Angular skips its forward when the app already re-dispatched the event itself (the workaround from #16834), so those apps don't get it twice. Apps that call custom methods like `tabsWillLeave()` instead will now run both. A cancelled swipe back gives the tab page an unpaired `ionViewWillLeave`, same as core already does for the tabs page. ## Current dev build ``` 9.0.7-dev.11791305593.188c8151 ```
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-node](https://redirect.github.com/actions/setup-node) | action | minor | `v7.0.0` → `v7.1.0` | --- ### Release Notes <details> <summary>actions/setup-node (actions/setup-node)</summary> ### [`v7.1.0`](https://redirect.github.com/actions/setup-node/releases/tag/v7.1.0) [Compare Source](https://redirect.github.com/actions/setup-node/compare/v7.0.0...v7.1.0) #### What's Changed ##### Enhancements: - Add support for mise.toml file by [@​gperdomor](https://redirect.github.com/gperdomor) in [#​1421](https://redirect.github.com/actions/setup-node/pull/1421) - Support absolute paths in node-version-file by [@​v-mahabaleshwars](https://redirect.github.com/v-mahabaleshwars) in [#​1633](https://redirect.github.com/actions/setup-node/pull/1633) ##### Bug fixes: - Add Node version validation and manifest fetch retry by [@​v-jitenderpalsingh](https://redirect.github.com/v-jitenderpalsingh) in [#​1580](https://redirect.github.com/actions/setup-node/pull/1580) ##### Documentation updates: - README.md: bump actions/checkout to latest version 7 by [@​deining](https://redirect.github.com/deining) in [#​1578](https://redirect.github.com/actions/setup-node/pull/1578) - docs: add V7 ESM migration and NODE_AUTH_TOKEN behavior change by [@​v-gowridurgad](https://redirect.github.com/v-gowridurgad) in [#​1593](https://redirect.github.com/actions/setup-node/pull/1593) - Fixed cache recommendation syntax by [@​SubJunk](https://redirect.github.com/SubJunk) in [#​1603](https://redirect.github.com/actions/setup-node/pull/1603) ##### Dependency updates: - Update workflow pins and migrate Node matrices to modern versions by [@​v-HarithaVattikuti](https://redirect.github.com/v-HarithaVattikuti) in [#​1583](https://redirect.github.com/actions/setup-node/pull/1583) - Upgrade [@​actions/cache](https://redirect.github.com/actions/cache) to 6.2.0 by [@​philip-gai](https://redirect.github.com/philip-gai) in [#​1584](https://redirect.github.com/actions/setup-node/pull/1584) - Pin [@​types/node](https://redirect.github.com/types/node) to v24 by [@​v-priyagupta108](https://redirect.github.com/v-priyagupta108) in [#​1585](https://redirect.github.com/actions/setup-node/pull/1585) - Override brace-expansion to 5.0.8 by [@​v-priyagupta108](https://redirect.github.com/v-priyagupta108) with [@​Copilot](https://redirect.github.com/Copilot) in [#​1599](https://redirect.github.com/actions/setup-node/pull/1599) - Upgrade actions/checkout from 7.0.0 to 7.0.1 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1598](https://redirect.github.com/actions/setup-node/pull/1598) - Upgrade prettier from 3.8.4 to 3.9.6 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1590](https://redirect.github.com/actions/setup-node/pull/1590) - Upgrade [@​vercel/ncc](https://redirect.github.com/vercel/ncc) from 0.44.0 to 0.45.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1610](https://redirect.github.com/actions/setup-node/pull/1610) - Upgrade pnpm/action-setup from 6.0.9 to 6.0.10 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1602](https://redirect.github.com/actions/setup-node/pull/1602) - Upgrade baseline-browser-mapping from 2.10.38 to 2.11.22 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1629](https://redirect.github.com/actions/setup-node/pull/1629) - Upgrade [@​types/semver](https://redirect.github.com/types/semver) from 7.7.1 to 7.8.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1616](https://redirect.github.com/actions/setup-node/pull/1616) - Upgrade [@​typescript-eslint/parser](https://redirect.github.com/typescript-eslint/parser) from 8.62.0 to 8.70.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1615](https://redirect.github.com/actions/setup-node/pull/1615) - Upgrade pnpm/action-setup from 6.0.10 to 6.1.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1631](https://redirect.github.com/actions/setup-node/pull/1631) - Upgrade jest-each from 30.4.1 to 30.5.2 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1636](https://redirect.github.com/actions/setup-node/pull/1636) - Upgrade eslint-plugin-n from 18.1.0 to 18.3.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1638](https://redirect.github.com/actions/setup-node/pull/1638) - Update dependencies and add license files by [@​v-HarithaVattikuti](https://redirect.github.com/v-HarithaVattikuti) in [#​1642](https://redirect.github.com/actions/setup-node/pull/1642) - Upgrade eslint from 10.5.0 to 10.11.0 and package.json from 7.0.0 to 7.1.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1635](https://redirect.github.com/actions/setup-node/pull/1635) #### New Contributors - [@​v-jitenderpalsingh](https://redirect.github.com/v-jitenderpalsingh) made their first contribution in [#​1580](https://redirect.github.com/actions/setup-node/pull/1580) - [@​philip-gai](https://redirect.github.com/philip-gai) made their first contribution in [#​1584](https://redirect.github.com/actions/setup-node/pull/1584) - [@​gperdomor](https://redirect.github.com/gperdomor) made their first contribution in [#​1421](https://redirect.github.com/actions/setup-node/pull/1421) - [@​SubJunk](https://redirect.github.com/SubJunk) made their first contribution in [#​1603](https://redirect.github.com/actions/setup-node/pull/1603) **Full Changelog**: <actions/setup-node@v7.0.0...v7.1.0> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "every weekday before 11am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…lar/test/apps/ng19 (#31551) Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to 4.0.6. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/form-data/form-data/blob/master/CHANGELOG.md">form-data's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6">v4.0.6</a> - 2026-06-12</h2> <h3>Commits</h3> <ul> <li>[Fix] escape CR, LF, and <code>"</code> in field names and filenames <a href="https://github.com/form-data/form-data/commit/8dff42c6da654ed4e7ad4acb7f8ccd3831217c99"><code>8dff42c</code></a></li> <li>[Dev Deps] update <code>@ljharb/eslint-config</code>, <code>auto-changelog</code>, <code>tape</code> <a href="https://github.com/form-data/form-data/commit/f31d21ef10bf46e46344c3ee4f99acbef6be43e1"><code>f31d21e</code></a></li> <li>[Deps] update <code>hasown</code>, <code>mime-types</code> <a href="https://github.com/form-data/form-data/commit/92ae0eb5da94d6f01925d5f4fcffb2a1e50ed7cd"><code>92ae0eb</code></a></li> <li>[Dev Deps] update <code>js-randomness-predictor</code> <a href="https://github.com/form-data/form-data/commit/67b0f65c2e0b065a511d42227d35e4d367644e97"><code>67b0f65</code></a></li> </ul> <h2><a href="https://github.com/form-data/form-data/compare/v4.0.4...v4.0.5">v4.0.5</a> - 2025-11-17</h2> <h3>Commits</h3> <ul> <li>[Tests] Switch to newer v8 prediction library; enable node 24 testing <a href="https://github.com/form-data/form-data/commit/16e00765342106876f98a1c9703314006c9e937a"><code>16e0076</code></a></li> <li>[Dev Deps] update <code>@ljharb/eslint-config</code>, <code>eslint</code> <a href="https://github.com/form-data/form-data/commit/5822467f0ec21f6ad613c1c90856375e498793c7"><code>5822467</code></a></li> <li>[Fix] set Symbol.toStringTag in the proper place <a href="https://github.com/form-data/form-data/commit/76d0dee43933b5e167f7f09e5d9cbbd1cf911aa7"><code>76d0dee</code></a></li> </ul> <h2><a href="https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4">v4.0.4</a> - 2025-07-16</h2> <h3>Commits</h3> <ul> <li>[meta] add <code>auto-changelog</code> <a href="https://github.com/form-data/form-data/commit/811f68282fab0315209d0e2d1c44b6c32ea0d479"><code>811f682</code></a></li> <li>[Tests] handle predict-v8-randomness failures in node < 17 and node > 23 <a href="https://github.com/form-data/form-data/commit/1d11a76434d101f22fdb26b8aef8615f28b98402"><code>1d11a76</code></a></li> <li>[Fix] Switch to using <code>crypto</code> random for boundary values <a href="https://github.com/form-data/form-data/commit/3d1723080e6577a66f17f163ecd345a21d8d0fd0"><code>3d17230</code></a></li> <li>[Tests] fix linting errors <a href="https://github.com/form-data/form-data/commit/5e340800b5f8914213e4e0378c084aae71cfd73a"><code>5e34080</code></a></li> <li>[meta] actually ensure the readme backup isn’t published <a href="https://github.com/form-data/form-data/commit/316c82ba93fd4985af757b771b9a1f26d3b709ef"><code>316c82b</code></a></li> <li>[Dev Deps] update <code>@ljharb/eslint-config</code> <a href="https://github.com/form-data/form-data/commit/58c25d76406a5b0dfdf54045cf252563f2bbda8d"><code>58c25d7</code></a></li> <li>[meta] fix readme capitalization <a href="https://github.com/form-data/form-data/commit/2300ca19595b0ee96431e868fe2a40db79e41c61"><code>2300ca1</code></a></li> </ul> <h2><a href="https://github.com/form-data/form-data/compare/v4.0.2...v4.0.3">v4.0.3</a> - 2025-06-05</h2> <h3>Fixed</h3> <ul> <li>[Fix] <code>append</code>: avoid a crash on nullish values <a href="https://redirect.github.com/form-data/form-data/issues/577"><code>[#577](https://github.com/form-data/form-data/issues/577)</code></a></li> </ul> <h3>Commits</h3> <ul> <li>[eslint] use a shared config <a href="https://github.com/form-data/form-data/commit/426ba9ac440f95d1998dac9a5cd8d738043b048f"><code>426ba9a</code></a></li> <li>[eslint] fix some spacing issues <a href="https://github.com/form-data/form-data/commit/20941917f0e9487e68c564ebc3157e23609e2939"><code>2094191</code></a></li> <li>[Refactor] use <code>hasown</code> <a href="https://github.com/form-data/form-data/commit/81ab41b46fdf34f5d89d7ff30b513b0925febfaa"><code>81ab41b</code></a></li> <li>[Fix] validate boundary type in <code>setBoundary()</code> method <a href="https://github.com/form-data/form-data/commit/8d8e4693093519f7f18e3c597d1e8df8c493de9e"><code>8d8e469</code></a></li> <li>[Tests] add tests to check the behavior of <code>getBoundary</code> with non-strings <a href="https://github.com/form-data/form-data/commit/837b8a1f7562bfb8bda74f3fc538adb7a5858995"><code>837b8a1</code></a></li> <li>[Dev Deps] remove unused deps <a href="https://github.com/form-data/form-data/commit/870e4e665935e701bf983a051244ab928e62d58e"><code>870e4e6</code></a></li> <li>[meta] remove local commit hooks <a href="https://github.com/form-data/form-data/commit/e6e83ccb545a5619ed6cd04f31d5c2f655eb633e"><code>e6e83cc</code></a></li> <li>[Dev Deps] update <code>eslint</code> <a href="https://github.com/form-data/form-data/commit/4066fd6f65992b62fa324a6474a9292a4f88c916"><code>4066fd6</code></a></li> <li>[meta] fix scripts to use prepublishOnly <a href="https://github.com/form-data/form-data/commit/c4bbb13c0ef669916657bc129341301b1d331d75"><code>c4bbb13</code></a></li> </ul> <h2><a href="https://github.com/form-data/form-data/compare/v4.0.1...v4.0.2">v4.0.2</a> - 2025-02-14</h2> <h3>Merged</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/form-data/form-data/commit/64190db548c0179e37206858e39f27cf513e9435"><code>64190db</code></a> v4.0.6</li> <li><a href="https://github.com/form-data/form-data/commit/92ae0eb5da94d6f01925d5f4fcffb2a1e50ed7cd"><code>92ae0eb</code></a> [Deps] update <code>hasown</code>, <code>mime-types</code></li> <li><a href="https://github.com/form-data/form-data/commit/f31d21ef10bf46e46344c3ee4f99acbef6be43e1"><code>f31d21e</code></a> [Dev Deps] update <code>@ljharb/eslint-config</code>, <code>auto-changelog</code>, <code>tape</code></li> <li><a href="https://github.com/form-data/form-data/commit/8dff42c6da654ed4e7ad4acb7f8ccd3831217c99"><code>8dff42c</code></a> [Fix] escape CR, LF, and <code>"</code> in field names and filenames</li> <li><a href="https://github.com/form-data/form-data/commit/67b0f65c2e0b065a511d42227d35e4d367644e97"><code>67b0f65</code></a> [Dev Deps] update <code>js-randomness-predictor</code></li> <li><a href="https://github.com/form-data/form-data/commit/68ff7dda8834d6de095a7008cef0e03bc252ca98"><code>68ff7dd</code></a> v4.0.5</li> <li><a href="https://github.com/form-data/form-data/commit/5822467f0ec21f6ad613c1c90856375e498793c7"><code>5822467</code></a> [Dev Deps] update <code>@ljharb/eslint-config</code>, <code>eslint</code></li> <li><a href="https://github.com/form-data/form-data/commit/76d0dee43933b5e167f7f09e5d9cbbd1cf911aa7"><code>76d0dee</code></a> [Fix] set Symbol.toStringTag in the proper place</li> <li><a href="https://github.com/form-data/form-data/commit/16e00765342106876f98a1c9703314006c9e937a"><code>16e0076</code></a> [Tests] Switch to newer v8 prediction library; enable node 24 testing</li> <li><a href="https://github.com/form-data/form-data/commit/41996f5ac73a867046d48512cab62e64fc846dad"><code>41996f5</code></a> v4.0.4</li> <li>Additional commits viewable in <a href="https://github.com/form-data/form-data/compare/v4.0.1...v4.0.6">compare view</a></li> </ul> </details> <details> <summary>Install script changes</summary> <p>This version modifies <code>prepublish</code> script that runs during installation. Review the package contents before updating.</p> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ionic-team/ionic-framework/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.7 to 4.7.10. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/handlebars-lang/handlebars.js/releases">handlebars's releases</a>.</em></p> <blockquote> <h2>v4.7.10</h2> <ul> <li>security: Sanitize the source map URL when minifying - f37c599</li> <li>security: Iterate lazily in #each and strip whitespace in linear time - 812c226</li> <li>security: Escape <code><!--</code> and <code><script</code> in precompiled output - 609d1b1 GHSA-xw65-4hp5-5hc7</li> <li>security: Don't trust special properties on context data - ceec388 GHSA-p8wg-vrv2-v86f</li> <li>security: Only compile partials that are template strings - c28ee7a</li> <li>security: Only dispatch known node types in the Compiler and Visitor - 7d501a5</li> <li>security: Validate AST values in the compiler instead of the parser - 703fdcc GHSA-8r5x-fm3f-whwj</li> <li>Clarify that --root does not restrict filesystem access - 0fcf25c</li> <li>Bump minimist to ^1.2.8 - ea8ed82</li> <li>Fix Ruby component publishing documentation - d069c1c</li> <li>Fix Composer component definition - 6714e07</li> </ul> <p>Compatibility notes:</p> <ul> <li><code>{{#each}}</code> iterates iterables such as <code>Map</code>, <code>Set</code> and generators lazily, like <code>for...of</code>, instead of copying them into an array first. Values added to the iterable while the block renders are now visited too.</li> </ul> <p><a href="https://github.com/handlebars-lang/handlebars.js/compare/v4.7.9...v4.7.10">Commits</a></p> <h2>v4.7.9</h2> <ul> <li>fix: enable shell mode for spawn to resolve Windows EINVAL issue - e0137c2</li> <li>fix type "RuntimeOptions" also accepting string partials - eab1d14</li> <li>feat(types): set <code>hash</code> to be a <code>Record<string, any></code> - de4414d</li> <li>fix non-contiguous program indices - 4512766</li> <li>refactor: rename i to startPartIndex - e497a35</li> <li>security: fix security issues - 68d8df5 <ul> <li><a href="https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-2w6w-674q-4c4q">https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-2w6w-674q-4c4q</a></li> <li><a href="https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-3mfm-83xf-c92r">https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-3mfm-83xf-c92r</a></li> <li><a href="https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xhpv-hc6g-r9c6">https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xhpv-hc6g-r9c6</a></li> <li><a href="https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xjpj-3mr7-gcpf">https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xjpj-3mr7-gcpf</a></li> <li><a href="https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-9cx6-37pm-9jff">https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-9cx6-37pm-9jff</a></li> <li><a href="https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-2qvq-rjwj-gvw9">https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-2qvq-rjwj-gvw9</a></li> <li><a href="https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-7rx3-28cr-v5wh">https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-7rx3-28cr-v5wh</a></li> <li><a href="https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-442j-39wm-28r2">https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-442j-39wm-28r2</a></li> </ul> </li> </ul> <p><a href="https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...v4.7.9">Commits</a></p> <h2>v4.7.8</h2> <ul> <li>Make library compatible with workers (<a href="https://redirect.github.com/handlebars-lang/handlebars.js/issues/1894">#1894</a>) - 3d3796c</li> <li>Don't rely on Node.js global object (<a href="https://redirect.github.com/handlebars-lang/handlebars.js/issues/1776">#1776</a>) - 2954e7e</li> <li>Fix compiling of each block params in strict mode (<a href="https://redirect.github.com/handlebars-lang/handlebars.js/issues/1855">#1855</a>) - 30dbf04</li> <li>Fix rollup warning when importing Handlebars as ESM - 03d387b</li> <li>Fix bundler issue with webpack 5 (<a href="https://redirect.github.com/handlebars-lang/handlebars.js/issues/1862">#1862</a>) - c6c6bbb</li> <li>Use https instead of git for mustache submodule - 88ac068</li> </ul> <p><a href="https://github.com/handlebars-lang/handlebars.js/compare/v4.7.7...v4.7.8">Commits</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/handlebars-lang/handlebars.js/blob/v4.7.10/release-notes.md">handlebars's changelog</a>.</em></p> <blockquote> <h2>v4.7.10 - October 5th, 2026</h2> <ul> <li>security: Sanitize the source map URL when minifying - f37c599</li> <li>security: Iterate lazily in #each and strip whitespace in linear time - 812c226</li> <li>security: Escape <code><!--</code> and <code><script</code> in precompiled output - 609d1b1 GHSA-xw65-4hp5-5hc7</li> <li>security: Don't trust special properties on context data - ceec388 GHSA-p8wg-vrv2-v86f</li> <li>security: Only compile partials that are template strings - c28ee7a</li> <li>security: Only dispatch known node types in the Compiler and Visitor - 7d501a5</li> <li>security: Validate AST values in the compiler instead of the parser - 703fdcc GHSA-8r5x-fm3f-whwj</li> <li>Clarify that --root does not restrict filesystem access - 0fcf25c</li> <li>Bump minimist to ^1.2.8 - ea8ed82</li> <li>Fix Ruby component publishing documentation - d069c1c</li> <li>Fix Composer component definition - 6714e07</li> </ul> <p>Compatibility notes:</p> <ul> <li><code>{{#each}}</code> iterates iterables such as <code>Map</code>, <code>Set</code> and generators lazily, like <code>for...of</code>, instead of copying them into an array first. Values added to the iterable while the block renders are now visited too.</li> </ul> <p><a href="https://github.com/handlebars-lang/handlebars.js/compare/v4.7.9...v4.7.10">Commits</a></p> <h2>v4.7.9 - March 26th, 2026</h2> <ul> <li>fix: enable shell mode for spawn to resolve Windows EINVAL issue - e0137c2</li> <li>fix type "RuntimeOptions" also accepting string partials - eab1d14</li> <li>feat(types): set <code>hash</code> to be a <code>Record<string, any></code> - de4414d</li> <li>fix non-contiguous program indices - 4512766</li> <li>refactor: rename i to startPartIndex - e497a35</li> <li>security: fix security issues - 68d8df5</li> </ul> <p><a href="https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...v4.7.9">Commits</a></p> <h2>v4.7.8 - July 27th, 2023</h2> <ul> <li>Make library compatible with workers (<a href="https://redirect.github.com/handlebars-lang/handlebars.js/issues/1894">#1894</a>) - 3d3796c</li> <li>Don't rely on Node.js global object (<a href="https://redirect.github.com/handlebars-lang/handlebars.js/issues/1776">#1776</a>) - 2954e7e</li> <li>Fix compiling of each block params in strict mode (<a href="https://redirect.github.com/handlebars-lang/handlebars.js/issues/1855">#1855</a>) - 30dbf04</li> <li>Fix rollup warning when importing Handlebars as ESM - 03d387b</li> <li>Fix bundler issue with webpack 5 (<a href="https://redirect.github.com/handlebars-lang/handlebars.js/issues/1862">#1862</a>) - c6c6bbb</li> <li>Use https instead of git for mustache submodule - 88ac068</li> </ul> <p><a href="https://github.com/handlebars-lang/handlebars.js/compare/v4.7.7...v4.7.8">Commits</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/45ce15255e0f430ac6d19742b18e316b7539264e"><code>45ce152</code></a> v4.7.10</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/e47b2365d5656ab5689ae226aef90a485a90c5d8"><code>e47b236</code></a> Update release notes</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/f37c599de9187715eb1e9afedcb2d80c175487a0"><code>f37c599</code></a> Sanitize the source map URL when minifying</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/812c2260cb8794ef4ab63a7f1d946431112560ca"><code>812c226</code></a> Iterate lazily in #each and strip whitespace in linear time</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/609d1b11c833c9a3e00f56f2f34d22f425446725"><code>609d1b1</code></a> Escape <code><!--</code> and <code><script</code> in precompiled output</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/ceec388abe1d1aac8f6369860d5f390fa71ef4fa"><code>ceec388</code></a> Don't trust special properties on context data</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/c28ee7adb312308e0fe26f4d435a481be5e1ff98"><code>c28ee7a</code></a> Only compile partials that are template strings</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/7d501a5af2ac3aa9ac788a8889dbe419849e46f1"><code>7d501a5</code></a> Only dispatch known node types in the Compiler and Visitor</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/703fdcc5fd6cc8d1cc0c33cc19de40c467c4b8d2"><code>703fdcc</code></a> Validate AST values in the compiler instead of the parser</li> <li><a href="https://github.com/handlebars-lang/handlebars.js/commit/0fcf25c63038b43e78e17adbf029cf073e80554d"><code>0fcf25c</code></a> Clarify that --root does not restrict filesystem access</li> <li>Additional commits viewable in <a href="https://github.com/handlebars-lang/handlebars.js/compare/v4.7.7...v4.7.10">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~jaylinski">jaylinski</a>, a new releaser for handlebars since your current version.</p> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ionic-team/ionic-framework/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ular/test/apps/ng19 (#31548) Bumps [webpack](https://github.com/webpack/webpack) from 5.61.0 to 5.111.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.111.1</h2> <h3>Patch Changes</h3> <ul> <li> <p>Throw on a write to an imported binding without losing concatenation. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22141">#22141</a>)</p> </li> <li> <p>Keep the <code></html></code> a page was written with, whatever opened the element. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22103">#22103</a>)</p> </li> <li> <p>Look an attribute up by what its value decodes to, not how it was spelled. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22107">#22107</a>)</p> </li> <li> <p>Minify HTML by what a value says rather than how it was spelled. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22154">#22154</a>)</p> </li> <li> <p>Follow HTML template form and frameset rules during tree construction. (by <a href="https://github.com/apps/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22129">#22129</a>)</p> </li> <li> <p>Keep the whitespace <code>calc()</code> needs around <code>+</code> and <code>-</code> in a custom property. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22150">#22150</a>)</p> </li> <li> <p>Keep an attribute's delimiter and spell its value back where quoting is frozen. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22119">#22119</a>)</p> </li> <li> <p>Rewrite an attribute value the source spelled with character references. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22110">#22110</a>)</p> </li> <li> <p>Unquote an HTML attribute value carrying a vertical tab. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22162">#22162</a>)</p> </li> <li> <p>Keep a shadow's spread and canonicalize a merged selector list. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22101">#22101</a>)</p> </li> <li> <p>Leave out an implied tag and merge adjacent runs on the first pass. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22121">#22121</a>)</p> </li> <li> <p>Minify in one pass what a second pass of the CSS minifier used to find. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22106">#22106</a>)</p> </li> <li> <p>Cover the CSS lookup tables no stylesheet in the corpus reaches. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22126">#22126</a>)</p> </li> <li> <p>Keep <code>initial</code> where an engine reads the property's initial keyword apart. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22128">#22128</a>)</p> </li> <li> <p>Join the CSS rules a cut leaves adjacent, and keep a value an escape ate. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22108">#22108</a>)</p> </li> <li> <p>Drop the dead CSS a cut leaves, and join more of the blocks that print alike. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22111">#22111</a>)</p> </li> <li> <p>Run the printer equivalence suite against Firefox as well as Chrome. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22151">#22151</a>)</p> </li> <li> <p>Finish in one CSS pass the joins, drops and collapses left to a second. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22117">#22117</a>)</p> </li> <li> <p>Move the context module sources into <code>lib/context/</code>. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22115">#22115</a>)</p> </li> <li> <p>Declare loader context types in JSDoc instead of hand-written <code>.d.ts</code> files. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22116">#22116</a>)</p> </li> <li> <p>Emit a failing module's stack relative, and name what a tap failed with. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22122">#22122</a>)</p> </li> <li> <p>Finish in one CSS pass the drops, layer gathers and joins left to a second. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22120">#22120</a>)</p> </li> <li> <p>Speed up CSS parsing by stepping over dropped selector preludes in bytes. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22142">#22142</a>)</p> </li> <li> <p>Record hoisted, module and block declarations while parsing, not by re-walking. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22147">#22147</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/blob/main/CHANGELOG.md">webpack's changelog</a>.</em></p> <blockquote> <h2>5.111.1</h2> <h3>Patch Changes</h3> <ul> <li> <p>Throw on a write to an imported binding without losing concatenation. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22141">#22141</a>)</p> </li> <li> <p>Keep the <code></html></code> a page was written with, whatever opened the element. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22103">#22103</a>)</p> </li> <li> <p>Look an attribute up by what its value decodes to, not how it was spelled. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22107">#22107</a>)</p> </li> <li> <p>Minify HTML by what a value says rather than how it was spelled. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22154">#22154</a>)</p> </li> <li> <p>Follow HTML template form and frameset rules during tree construction. (by <a href="https://github.com/apps/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22129">#22129</a>)</p> </li> <li> <p>Keep the whitespace <code>calc()</code> needs around <code>+</code> and <code>-</code> in a custom property. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22150">#22150</a>)</p> </li> <li> <p>Keep an attribute's delimiter and spell its value back where quoting is frozen. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22119">#22119</a>)</p> </li> <li> <p>Rewrite an attribute value the source spelled with character references. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22110">#22110</a>)</p> </li> <li> <p>Unquote an HTML attribute value carrying a vertical tab. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22162">#22162</a>)</p> </li> <li> <p>Keep a shadow's spread and canonicalize a merged selector list. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22101">#22101</a>)</p> </li> <li> <p>Leave out an implied tag and merge adjacent runs on the first pass. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22121">#22121</a>)</p> </li> <li> <p>Minify in one pass what a second pass of the CSS minifier used to find. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22106">#22106</a>)</p> </li> <li> <p>Cover the CSS lookup tables no stylesheet in the corpus reaches. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22126">#22126</a>)</p> </li> <li> <p>Keep <code>initial</code> where an engine reads the property's initial keyword apart. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22128">#22128</a>)</p> </li> <li> <p>Join the CSS rules a cut leaves adjacent, and keep a value an escape ate. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22108">#22108</a>)</p> </li> <li> <p>Drop the dead CSS a cut leaves, and join more of the blocks that print alike. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22111">#22111</a>)</p> </li> <li> <p>Run the printer equivalence suite against Firefox as well as Chrome. (by <a href="https://github.com/aryanraj45"><code>@aryanraj45</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22151">#22151</a>)</p> </li> <li> <p>Finish in one CSS pass the joins, drops and collapses left to a second. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22117">#22117</a>)</p> </li> <li> <p>Move the context module sources into <code>lib/context/</code>. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22115">#22115</a>)</p> </li> <li> <p>Declare loader context types in JSDoc instead of hand-written <code>.d.ts</code> files. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22116">#22116</a>)</p> </li> <li> <p>Emit a failing module's stack relative, and name what a tap failed with. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22122">#22122</a>)</p> </li> <li> <p>Finish in one CSS pass the drops, layer gathers and joins left to a second. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22120">#22120</a>)</p> </li> <li> <p>Speed up CSS parsing by stepping over dropped selector preludes in bytes. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/22142">#22142</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/webpack/webpack/commit/5a106753839fd7e1b86138c3a5f6b348341147a7"><code>5a10675</code></a> chore(release): new release (<a href="https://redirect.github.com/webpack/webpack/issues/22105">#22105</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/9c448c4ca3b5296849453384f49f4032b01345d6"><code>9c448c4</code></a> test: consolidate loose harness files under test/harness (<a href="https://redirect.github.com/webpack/webpack/issues/22163">#22163</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/a947604b3aa89eac798ff15bdf9424eb081a81bc"><code>a947604</code></a> fix(html): unquote an attribute value carrying a vertical tab (<a href="https://redirect.github.com/webpack/webpack/issues/22162">#22162</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/db556f33259354a428e03410382ac6dcfe6b3f5d"><code>db556f3</code></a> test: run the printer equivalence suite against Gecko in CI (<a href="https://redirect.github.com/webpack/webpack/issues/22155">#22155</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/d174cdf97ab08afc12b480ca87baa34b380cb5d0"><code>d174cdf</code></a> perf(css): drop a fallback every browserslist target reads past (<a href="https://redirect.github.com/webpack/webpack/issues/22158">#22158</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/39f14f200e21a20adf27e2b41d03b15460185076"><code>39f14f2</code></a> refactor(javascript): declare block bindings from the parse (<a href="https://redirect.github.com/webpack/webpack/issues/22161">#22161</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/08354116e89e655ec771603dbca2e9bba7627dd8"><code>0835411</code></a> test: move suite drivers into test/templates (<a href="https://redirect.github.com/webpack/webpack/issues/22159">#22159</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/b48cd775eed23d1fbcc26fd59a101a0cf810de9c"><code>b48cd77</code></a> fix(html): minify by what a value says rather than how it was spelled (<a href="https://redirect.github.com/webpack/webpack/issues/22154">#22154</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/a774f10fc08fbabf9ad5b462128ab8e5e97e499e"><code>a774f10</code></a> test: define the webpack major instead of bundling package.json (<a href="https://redirect.github.com/webpack/webpack/issues/22160">#22160</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/4b2eed0bd9680c347876b239903679abc6482da1"><code>4b2eed0</code></a> docs: report only what needs a decision while watching a PR (<a href="https://redirect.github.com/webpack/webpack/issues/22156">#22156</a>)</li> <li>Additional commits viewable in <a href="https://github.com/webpack/webpack/compare/v5.61.0...v5.111.1">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for webpack since your current version.</p> </details> <details> <summary>Install script changes</summary> <p>This version modifies <code>prepare</code> script that runs during installation. Review the package contents before updating.</p> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ionic-team/ionic-framework/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[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.2` → `8.5.3`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/8.5.2/8.5.3) |  |  | --- ### Release Notes <details> <summary>ionic-team/capacitor (@​capacitor/core)</summary> ### [`v8.5.3`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#853-2026-10-07) [Compare Source](https://redirect.github.com/ionic-team/capacitor/compare/8.5.2...8.5.3) ##### Bug Fixes - **cli:** change Cordova AppDelegate.h imports for SPM ([#​8618](https://redirect.github.com/ionic-team/capacitor/issues/8618)) ([145560e](https://redirect.github.com/ionic-team/capacitor/commit/145560ee590d86637dc9dd2e2c9f4c08b0f631c0)) </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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ation (#31541) Issue number: resolves #31528 --------- ## What is the current behavior? Currently, every mounted view in an `IonRouterOutlet` re-renders on each navigation, hidden ones included. The view stack builds a new `RouteContext` value every time the outlet renders, which happens about 3 times per navigation, and `NavManager` does the same with `NavContext` and `IonRouterContext`. ## What is the new behavior? We now keep each view's `RouteContext` value until its content changes, and a view whose route doesn't match the current location keeps the value it last rendered with. Hidden pages using `useParams` no longer re-render, and the page being shown renders once when its match changes. The `NavManager` also only rebuilds its context values when `routeInfo` changes, so `useIonRouter` consumers render once per navigation instead of twice. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information The held value lives in a component under each view instead of on the view item, because two outlets with the same `id` share a view item while sitting under different parent routes. Hidden pages using `useNavigate` or `useLocation` still render once per navigation, because React Router's `useNavigate` reads the location internally. Holding `LocationContext` would fix that, but `useLocation()` in a hidden page would then return a stale location, so I left that alone for now. # Current dev build ``` 9.0.7-dev.11791381676.118a7a15 ```
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/download-artifact](https://redirect.github.com/actions/download-artifact) | action | patch | `v8.0.1` → `v8.0.2` | | [actions/upload-artifact](https://redirect.github.com/actions/upload-artifact) | action | patch | `v7.0.1` → `v7.0.2` | --- ### Release Notes <details> <summary>actions/download-artifact (actions/download-artifact)</summary> ### [`v8.0.2`](https://redirect.github.com/actions/download-artifact/releases/tag/v8.0.2) [Compare Source](https://redirect.github.com/actions/download-artifact/compare/v8.0.1...v8.0.2) ##### What's Changed - Update the readme by [@​danwkennedy](https://redirect.github.com/danwkennedy) in [#​473](https://redirect.github.com/actions/download-artifact/pull/473) - Improves artifact download retries when the service returns HTTP 429 (rate limiting), including honoring valid Retry-After headers. - Update [@​actions/artifact](https://redirect.github.com/actions/artifact) to 6.3.1 by [@​tunc-d](https://redirect.github.com/tunc-d) in [#​492](https://redirect.github.com/actions/download-artifact/pull/492) - Prepare download-artifact v8.0.2 by [@​tunc-d](https://redirect.github.com/tunc-d) in [#​493](https://redirect.github.com/actions/download-artifact/pull/493) ##### New Contributors - [@​tunc-d](https://redirect.github.com/tunc-d) made their first contribution in [#​492](https://redirect.github.com/actions/download-artifact/pull/492) **Full Changelog**: <actions/download-artifact@v8.0.1...v8.0.2> </details> <details> <summary>actions/upload-artifact (actions/upload-artifact)</summary> ### [`v7.0.2`](https://redirect.github.com/actions/upload-artifact/releases/tag/v7.0.2) [Compare Source](https://redirect.github.com/actions/upload-artifact/compare/v7.0.1...v7.0.2) #### What's Changed - Improves artifact download retries when the service returns HTTP 429 (rate limiting), including honoring valid Retry-After headers. - Updates [@​actions/artifact](https://redirect.github.com/actions/artifact) to v6.3.1. #### New Contributors - [@​tunc-d](https://redirect.github.com/tunc-d) made their first contribution in [#​821](https://redirect.github.com/actions/upload-artifact/pull/821) **Full Changelog**: <actions/upload-artifact@v7.0.1...v7.0.2> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "every weekday before 11am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> 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 | patch | `v4.38.2` → `v4.38.3` | --- ### Release Notes <details> <summary>github/codeql-action (github/codeql-action)</summary> ### [`v4.38.3`](https://redirect.github.com/github/codeql-action/releases/tag/v4.38.3) [Compare Source](https://redirect.github.com/github/codeql-action/compare/v4.38.2...v4.38.3) - *Upcoming breaking change*: CodeQL version 2.21.2 and earlier were discontinued on 24 September 2026 alongside GitHub Enterprise Server 3.17, and will be unsupported by the next minor release of the CodeQL Action. Added a deprecation warning for customers using these versions of CodeQL. [#​4188](https://redirect.github.com/github/codeql-action/pull/4188) - Update default CodeQL bundle version to [2.27.2](https://redirect.github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.2). [#​4203](https://redirect.github.com/github/codeql-action/pull/4203) - Fixed a bug where the decision of whether to use a per-language bundle did not account for custom configurations that reference queries outside of compiled CodeQL packs. This issue was caught during internal testing and did not affect any customer repositories. We will resume the roll out of per-language bundles in the coming weeks. [#​4184](https://redirect.github.com/github/codeql-action/pull/4184) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "every weekday before 11am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.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? Dragging a sheet modal upwards dismisses it, depending on where the user's pointer is relative to the viewport height rather than how far they dragged. It happens when the pointer is in the bottom half of the viewport, so it's most noticeable on smaller sheet modals where the whole sheet sits in that area. Swiping up should scroll the content, or expand the sheet if it isn't at its largest breakpoint yet. ## What is the new behavior? Dragging a sheet upwards no longer dismisses it. How open the sheet is now comes from the drag distance over the sheet's own height, so the breakpoint it snaps to and the position it's drawn at come from the same measurement. Sheets with breakpoints in between snap to the nearest one. A quick downward flick still dismisses, because the drag is projected forward by its velocity before snapping to the nearest breakpoint. A small, slow drag snaps the sheet back instead of closing it. Event progress (`ionDragMove`/`ionDragEnd`) is now normalized to 0 at the lowest breakpoint and 1 at the highest, matching the documented contract. ## 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 - [Sheet Modal Test Page](https://ionic-framework-git-rou-13053-fix-sheet-dismissal-ionic1.vercel.app/src/components/modal/test/sheet/
Sync next with main.
…nt (#31643) Issue number: resolves #30811 --------- ## What is the current behavior? Currently, an `ion-alert` with checkbox inputs calls `preventDefault()` on every Enter keydown on the page because the check lives in its document-level keydown listener. This happens even while the alert is closed, so textareas don't get new lines and buttons don't activate, including the alert's own OK and Cancel buttons. ## What is the new behavior? The Enter block now lives on the checkbox buttons, so Enter still can't toggle a checkbox but works everywhere else. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information Current dev build: ``` 9.0.10-dev.11792788258.1f71cfee ```
Issue number: resolves #30848 --------- ## What is the current behavior? Currently, passing a route object to `router-link` renders `[object Object]` as the `href`, so hovering, copying or ctrl/cmd-clicking the link goes to the wrong place. A normal click still navigates correctly. ## What is the new behavior? This bumps `@stencil/vue-output-target` to 0.14.7, which has the fix from [stenciljs/output-targets#866](stenciljs/output-targets#866). Route objects now resolve through Vue Router to a real `href`, and string links do too, so hash history and a router `base` are included. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information
v9.0.10
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.3` → `8.6.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/8.5.3/8.6.0) |  |  | --- ### Release Notes <details> <summary>ionic-team/capacitor (@​capacitor/core)</summary> ### [`v8.6.0`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#860-2026-10-28) [Compare Source](https://redirect.github.com/ionic-team/capacitor/compare/8.5.3...8.6.0) ##### Bug Fixes - **android:** keep callbacks on non-public base classes from R8 ([02e43f8](https://redirect.github.com/ionic-team/capacitor/commit/02e43f83f7e101f1773e9d33cd12e3c52e7d2c4b)) - **android:** keep plugin annotation types from R8 full mode ([#​8646](https://redirect.github.com/ionic-team/capacitor/issues/8646)) ([9dc5aeb](https://redirect.github.com/ionic-team/capacitor/commit/9dc5aebd0335e0553827d81b4ce0f79e8a1c51aa)) - **cli:** bump xcode to ^4.0.0 to drop vulnerable uuid\@​7 ([#​8674](https://redirect.github.com/ionic-team/capacitor/issues/8674)) ([463225f](https://redirect.github.com/ionic-team/capacitor/commit/463225f31d9edade1098ccbadef766deb1aafbe8)) - **cli:** redact sensitive values from telemetry payloads ([#​8665](https://redirect.github.com/ionic-team/capacitor/issues/8665)) ([d19f1ea](https://redirect.github.com/ionic-team/capacitor/commit/d19f1ea0bd7018a2eb13a643c76c6b4ba60795bb)) - **cli:** report npm 12 blocked install scripts in doctor and migrate ([#​8655](https://redirect.github.com/ionic-team/capacitor/issues/8655)) ([841017a](https://redirect.github.com/ionic-team/capacitor/commit/841017a3c7ddb84c614be389e74a24ea0a629ff5)) ##### Features - **android:** recognize [@​capacitor-community/ssl-pinning](https://redirect.github.com/capacitor-community/ssl-pinning) for cert pinning ([#​8669](https://redirect.github.com/ionic-team/capacitor/issues/8669)) ([19d2a40](https://redirect.github.com/ionic-team/capacitor/commit/19d2a40b920120ac97a118ec56105b202ee99d0a)) - **cli:** recognize [@​capacitor-community/ssl-pinning](https://redirect.github.com/capacitor-community/ssl-pinning) for auto cert copy ([#​8666](https://redirect.github.com/ionic-team/capacitor/issues/8666)) ([50a3c51](https://redirect.github.com/ionic-team/capacitor/commit/50a3c511e1b02083b6961f8359b76cc2bab92d14)) ##### Reverts - Revert "chore(ios): add `App/CapApp-SPM/Package.resolved` to `.gitignore` ([#​8649](https://redirect.github.com/ionic-team/capacitor/issues/8649))" ([175c933](https://redirect.github.com/ionic-team/capacitor/commit/175c93398b1bb4de34c55386e18aaee2e5551c83)), closes [#​8649](https://redirect.github.com/ionic-team/capacitor/issues/8649) #### [8.5.3](https://redirect.github.com/ionic-team/capacitor/compare/8.5.2...8.5.3) (2026-10-07) ##### Bug Fixes - **cli:** change Cordova AppDelegate.h imports for SPM ([#​8618](https://redirect.github.com/ionic-team/capacitor/issues/8618)) ([145560e](https://redirect.github.com/ionic-team/capacitor/commit/145560ee590d86637dc9dd2e2c9f4c08b0f631c0)) #### [8.5.2](https://redirect.github.com/ionic-team/capacitor/compare/8.5.1...8.5.2) (2026-09-11) ##### Bug Fixes - **android:** add null checks for plugin annotation when retrieving permissions ([#​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 ([#​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 ([#​8535](https://redirect.github.com/ionic-team/capacitor/issues/8535)) ([e37d9c6](https://redirect.github.com/ionic-team/capacitor/commit/e37d9c60785368acf2a83cfd4c20f47076672bdd)) #### [8.5.1](https://redirect.github.com/ionic-team/capacitor/compare/8.5.0...8.5.1) (2026-08-31) ##### Bug Fixes - block navigation to the internal HTTP proxy path ([ee586ae](https://redirect.github.com/ionic-team/capacitor/commit/ee586ae680887ba99d066616f976db149542d922)) - **cli:** use POSIX paths in CapApp-SPM Package.swift ([#​8549](https://redirect.github.com/ionic-team/capacitor/issues/8549)) ([5e5bb3b](https://redirect.github.com/ionic-team/capacitor/commit/5e5bb3befc312477900252ab07e23b596f8cb0d1)) - **core:** prevent removeListener from removing wrong listener ([#​8271](https://redirect.github.com/ionic-team/capacitor/issues/8271)) ([5ac4dd6](https://redirect.github.com/ionic-team/capacitor/commit/5ac4dd613ae989d8dc8738ea25b77efbd4fa21fe)) </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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODguMiIsInVwZGF0ZWRJblZlciI6IjQ0LjE4OC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…oots in click controller (#31669) Issue number: internal --------- ## What is the current behavior? Currently, `createClickController` can't handle a native control inside the host's shadow root, because it matches the control's click on `ev.target` and a shadow host only ever sees itself as the target. So `ion-textarea` keeps its own copy of the slotted click and focus rejection logic, which a slotted control calling `stopPropagation()` leaves armed. ## What is the new behavior? The controller now matches the control through the composed path. A control in the shadow root keeps its own click and only the duplicate after a slotted click is dropped, while light DOM controls like `ion-input` work the same as before. Focus rejection moved into the controller with capture phase disarm listeners, the controller has a `destroy()` now, and `ion-textarea` uses it instead of its own copy. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information Examples: - [Textarea slot](https://ionic-framework-git-fw-7802-ionic1.vercel.app/src/components/textarea/test/slot?ionic:theme=md) - [Input slot](https://ionic-framework-git-fw-7802-ionic1.vercel.app/src/components/input/test/slot?ionic:theme=md) - [Select slot](https://ionic-framework-git-fw-7802-ionic1.vercel.app/src/components/select/test/slot?ionic:theme=md)
Issue number: internal --------- ## What is the current behavior? Some test apps are on a Playwright version that doesn't support Ubuntu 26.04, so their e2e jobs fail to install Chromium on the new `ubuntu-latest` runners. ## What is the new behavior? Bumps `@playwright/test` to `^1.64.1` across all framework test apps so they're on the same version and install on Ubuntu 26.04. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information On November 4th, `ubuntu-latest` will point at 26.04, so we need this fixed ([it's already impacting us though regardless](https://github.com/ionic-team/ionic-framework/actions/runs/41091745745/job/124188182479))
….3 (#31673) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@stencil/angular-output-target](https://stenciljs.com/) ([source](https://redirect.github.com/stenciljs/output-targets)) | [`1.5.2` → `1.5.3`](https://renovatebot.com/diffs/npm/@stencil%2fangular-output-target/1.5.2/1.5.3) |  |  | --- ### Release Notes <details> <summary>stenciljs/output-targets (@​stencil/angular-output-target)</summary> ### [`v1.5.3`](https://redirect.github.com/stenciljs/output-targets/compare/@stencil/angular-output-target@1.5.2...@stencil/angular-output-target@1.5.3) [Compare Source](https://redirect.github.com/stenciljs/output-targets/compare/@stencil/angular-output-target@1.5.2...@stencil/angular-output-target@1.5.3) </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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODguMiIsInVwZGF0ZWRJblZlciI6IjQ0LjE4OC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Issue number: resolves internal --------- ## What is the current behavior? Dependabot and `npm audit` report high and critical alerts against the lock files in `core` and `packages/*`. None of them reach users: lock files are not published, and our declared ranges already resolve to the patched versions on a fresh install. The alerts are noise that can bury a real one. ## What is the new behavior? - Updated the vulnerable packages, and the parents that pin them, within the existing ranges. - Added an override in `core` for `compression` under `serve`, since the latest `serve` pins the vulnerable version. Remove it once a `serve` release includes vercel/serve#868. - `migrate` moves to `vite` 7.3.7 rather than the latest 8.x, which would swap its test bundler for Rolldown. - Angular dev dependencies move from 22.0 to 22.2. Angular 22.2 dropped the private `contexts` field from the `ChildrenOutletContexts` typings, so `ion-router-outlet` now casts to a local type when it saves and restores tab state. The field still exists at runtime, so behavior is unchanged. - `@angular/cli` 22.2 no longer bundles its MCP server, which accounts for most of the removals in the Angular lock file. ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information Test app and root lock files are updated in #31617. The `postcss` 7 alerts in `core` remain: they come from `stylelint` 13 and need a `stylelint` upgrade, as noted in #31436. --------- Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
# Conflicts: # core/package-lock.json # core/src/components/col/col.tsx # core/src/components/datetime/datetime.tsx # core/src/components/datetime/test/basic/datetime.e2e.ts # core/src/components/item-options/item-options.tsx
Sync next with main.
…lar-with-next # Conflicts: # core/package.json # core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ionic-md-rtl-light-Mobile-Chrome-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ionic-md-rtl-light-Mobile-Firefox-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ionic-md-rtl-light-Mobile-Safari-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Chrome-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Firefox-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Safari-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Chrome-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Firefox-linux.png # core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Safari-linux.png # core/src/components/card/test/shape/card.e2e.ts-snapshots/card-default-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/card/test/shape/card.e2e.ts-snapshots/card-round-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-date-range-disabled-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-display-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-display-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-month-disabled-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-month-disabled-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-specific-date-disabled-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-specific-date-disabled-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-weekends-disabled-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-weekends-disabled-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts-snapshots/datetime-show-adjacent-days-weekends-disabled-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/header/test/scroll-effect-condense-no-large-title/header.e2e.ts-snapshots/header-condense-no-large-title-initial-diff-ionic-ios-ltr-light-Mobile-Chrome-linux.png # core/src/components/header/test/scroll-effect-condense-no-large-title/header.e2e.ts-snapshots/header-condense-no-large-title-initial-diff-ionic-ios-ltr-light-Mobile-Safari-linux.png # core/src/components/header/test/scroll-effect-condense-no-large-title/header.e2e.ts-snapshots/header-condense-no-large-title-initial-diff-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/header/test/scroll-effect-condense-no-large-title/header.e2e.ts-snapshots/header-condense-no-large-title-initial-diff-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/item-sliding/test/basic/item-sliding.e2e.ts-snapshots/item-sliding-end-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/item-sliding/test/basic/item-sliding.e2e.ts-snapshots/item-sliding-end-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/item-sliding/test/basic/item-sliding.e2e.ts-snapshots/item-sliding-end-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/item-sliding/test/basic/item-sliding.e2e.ts-snapshots/item-sliding-end-ionic-md-rtl-light-Mobile-Chrome-linux.png # core/src/components/item-sliding/test/basic/item-sliding.e2e.ts-snapshots/item-sliding-end-ionic-md-rtl-light-Mobile-Firefox-linux.png # core/src/components/item-sliding/test/basic/item-sliding.e2e.ts-snapshots/item-sliding-end-ionic-md-rtl-light-Mobile-Safari-linux.png # core/src/components/item/item.tsx # core/src/components/list-header/test/basic/list-header.e2e.ts-snapshots/list-header-md-ltr-Mobile-Safari-linux.png # core/src/components/list-header/test/basic/list-header.e2e.ts-snapshots/list-header-md-rtl-Mobile-Safari-linux.png # core/src/components/modal/test/shape/modal.e2e.ts-snapshots/modal-shape-sheet-default-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/modal/test/shape/modal.e2e.ts-snapshots/modal-shape-sheet-default-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/modal/test/shape/modal.e2e.ts-snapshots/modal-shape-sheet-rectangular-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/modal/test/shape/modal.e2e.ts-snapshots/modal-shape-sheet-rectangular-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/modal/test/shape/modal.e2e.ts-snapshots/modal-shape-sheet-round-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/modal/test/shape/modal.e2e.ts-snapshots/modal-shape-sheet-round-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/modal/test/shape/modal.e2e.ts-snapshots/modal-shape-sheet-soft-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/modal/test/shape/modal.e2e.ts-snapshots/modal-shape-sheet-soft-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-backdrop-hidden-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-backdrop-hidden-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-half-sheet-present-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-half-sheet-present-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ionic-ios-ltr-light-Mobile-Firefox-linux.png # core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Firefox-linux.png # core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-md-ltr-Mobile-Chrome-linux.png # core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-md-ltr-Mobile-Firefox-linux.png # core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-md-ltr-Mobile-Safari-linux.png # core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-md-rtl-Mobile-Chrome-linux.png # core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-md-rtl-Mobile-Firefox-linux.png # core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-md-rtl-Mobile-Safari-linux.png # core/src/components/range/test/basic/range.e2e.ts-snapshots/range-default-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/range/test/basic/range.e2e.ts-snapshots/range-dual-knobs-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/range/test/basic/range.e2e.ts-snapshots/range-dual-knobs-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/range/test/basic/range.e2e.ts-snapshots/range-dual-knobs-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/range/test/basic/range.e2e.ts-snapshots/range-pin-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/range/test/basic/range.e2e.ts-snapshots/range-pin-ionic-md-ltr-light-Mobile-Firefox-linux.png # core/src/components/range/test/basic/range.e2e.ts-snapshots/range-pin-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/range/test/basic/range.e2e.ts-snapshots/range-ticks-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/textarea/textarea.tsx # core/src/components/title/test/title.spec.ts # core/src/components/title/title.tsx # core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-ionic-md-ltr-light-Mobile-Chrome-linux.png # core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-ionic-md-ltr-light-Mobile-Safari-linux.png # core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-ionic-md-rtl-light-Mobile-Chrome-linux.png # core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-ionic-md-rtl-light-Mobile-Safari-linux.png
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
… into chore-sync-ionic-modular-with-next
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Syncing
nextintoionic-modular