-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Comparing changes
Open a pull request
base repository: ionic-team/ionic-framework
base: v8.6.4
head repository: ionic-team/ionic-framework
compare: v8.6.5
- 14 commits
- 41 files changed
- 7 contributors
Commits on Jul 9, 2025
-
Configuration menu - View commit details
-
Copy full SHA for be543c1 - Browse repository at this point
Copy the full SHA be543c1View commit details -
v8.6.4 --------- Co-authored-by: ionitron <hi@ionicframework.com>
Configuration menu - View commit details
-
Copy full SHA for a4dea39 - Browse repository at this point
Copy the full SHA a4dea39View commit details -
fix(input): prevent layout shift when hiding password toggle (#30533)
Issue number: resolves #29562 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? When an input with a password toggle is given `disabled` or `readonly`, hiding the password toggle causes a layout shift as it shrinks the height of the input component. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Password toggle is given `visibility: hidden` instead of removing it from the DOM with `display: none` so it retains it's space but is still hidden and still removed from the accessibility tree. ## 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 This solution was suggested by @piotr-cz in the bug report. <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f1defba - Browse repository at this point
Copy the full SHA f1defbaView commit details
Commits on Jul 11, 2025
-
chore(deps): update dependency @capacitor/core to v7.4.2 (#30538)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [@capacitor/core](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.4.1` -> `7.4.2`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/7.4.1/7.4.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ionic-team/capacitor (@​capacitor/core)</summary> ### [`v7.4.2`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#742-2025-07-10) [Compare Source](https://redirect.github.com/ionic-team/capacitor/compare/7.4.1...7.4.2) ##### Bug Fixes - **android:** consider display cutout area for insets ([#​8042](https://redirect.github.com/ionic-team/capacitor/issues/8042)) ([b478211](https://redirect.github.com/ionic-team/capacitor/commit/b4782116856c35e3fb567393f10a36ce4632b44c)) - **http:** Properly URL-encode key and values during `x-www-form-urlencoded` POSTs ([#​8037](https://redirect.github.com/ionic-team/capacitor/issues/8037)) ([87b4641](https://redirect.github.com/ionic-team/capacitor/commit/87b4641d1fa32b78e6fc2e87ee7b2c49b625b213)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/ionic-team/ionic-framework). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 8bfd6d9 - Browse repository at this point
Copy the full SHA 8bfd6d9View commit details -
fix(modal): dismiss child modals when parent is dismissed (#30540)
Issue number: resolves #30389 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Currently, when a child modal is present and a parent modal is somehow dismissed, the child modal stays open. This can cause issues in some frameworks like React and Angular, where this cuts the connection to the child modal and it can no longer be dismissed programmatically. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> This change enables modals to identify their children and close the children when they're closed. This prevents orphaned modals that can cause a poor UX. Note: This fix is only for inline modals, which is the biggest cause of the above issue. ## Does this introduce a breaking change? - [ ] Yes - [X] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> [Relevant test page](https://ionic-framework-git-fw-6597-ionic1.vercel.app/src/components/modal/test/inline) **Current dev build**: ``` 8.6.5-dev.11752242329.17d249a3 ```
Configuration menu - View commit details
-
Copy full SHA for 9b0099f - Browse repository at this point
Copy the full SHA 9b0099fView commit details -
fix(input-otp): improve autofill detection and invalid character hand…
…ling (#30541) Issue number: resolves #30459 --------- ## What is the current behavior? 1. Typing `"12345"` in a 4-box input-otp with `type="text"` is incorrectly triggering autofill detection on Android, causing `"45"` to be distributed across the first two boxes instead of replacing the `"4"` with the `"5"`. **Current Behavior**: Type `"12345"` → `["4", "5", "", ""]` (incorrectly distributed) **Expected Behavior**: Type `"12345"` → `["1", "2", "3", "5"]` (correctly replaces last character) 2. Typing an invalid character (like `"w"` when `type="number"`) in an input box with a value is inserted, ignoring the input validation. **Current Behavior**: Type `"2"` in the first box, focus it again, type `"w"` → `"2w"` appears **Expected Behavior**: Type `"2"` in the first box, focus it again, type `"w"` → `"2"` remains (invalid character rejected) ## What is the new behavior? - Fixes autofill detection on Android devices - Fixes invalid character insertion in filled input boxes - Improves cursor position handling when typing in a filled box - Adds e2e tests for more coverage ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information Dev build: `8.6.5-dev.11752245814.1253279a` --------- Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 8b4023d - Browse repository at this point
Copy the full SHA 8b4023dView commit details
Commits on Jul 13, 2025
-
chore(assign-issues): remove maria until OOO ends (#30542)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Maria is still getting assigned to issues during her out of office (OOO). ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Removed her until she returns. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> N/A
Configuration menu - View commit details
-
Copy full SHA for 5ce5f7d - Browse repository at this point
Copy the full SHA 5ce5f7dView commit details
Commits on Jul 14, 2025
-
chore(deps): update mcr.microsoft.com/playwright docker tag to v1.53.2 (
#30523) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | mcr.microsoft.com/playwright | final | patch | `v1.53.1` -> `v1.53.2` | --- ### Configuration 📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/ionic-team/ionic-framework). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for b3b93c1 - Browse repository at this point
Copy the full SHA b3b93c1View commit details -
fix(modal): dismiss modal when parent element is removed from DOM (#3…
…0544) Issue number: resolves #30389 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Currently, when the element an ion-modal was presented from is removed, the modal stays presented and can be broken depending on the framework. This is unlike #30540, where children of open modals were being kept open. In this case, specifically the DOM element is being removed for whatever reason and the modal is staying open. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> We're now identifying our parent component on load and watching it with a mutation observer to determine if it gets removed from the DOM. If it does, we trigger a dismiss. This, conveniently, works nicely with #30540 and will dismiss all children and grandchildren as well. ## Does this introduce a breaking change? - [ ] Yes - [X] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> The issue this resolves was already marked closed, but on closer inspection I determined that was a mistake. I believed this issue was related to another one I was dealing with and it is, but it wasn't quite the same. After this issue is merged, I believe we will have handled all avenues of possibly ending up with broken modals because of parent elements or modals being removed. [Relevant Test Page](https://ionic-framework-git-fix-remove-modal-when-parent-removed-ionic1.vercel.app/src/components/modal/test/inline) **Current dev build:** ``` 8.6.5-dev.11752329407.10f7fc80 ```
Configuration menu - View commit details
-
Copy full SHA for 850338c - Browse repository at this point
Copy the full SHA 850338cView commit details
Commits on Jul 15, 2025
-
fix(item): allow nested content to be conditionally interactive (#30519)
Issue number: resolves #29763 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> If the nested content of an ion-item is conditionally rendered and goes from containing zero interactive elements to one or more, a render is not triggered in Angular and the item does not behave correctly for one or more nested inputs. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - A mutation observer is created in `connectedCallback()` to watch for changes in item's child list. When the `childList` changes, two pieces of state that track whether the item needs to be interactive and whether there are multiple interactive elements are updated. - Add `disconnectedCallback()` and logic to disconnect Mutation Observer. - Create new function `totalNestedInputs()` with logic from existing `setMultipleInputs` function to be used for both `setMultipleInputs` and new function `setIsInteractive`. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> I opted for the MutationObserver over a `slotchange` listener because the `slotchange` fires synchronously on any slot within the shadowRoot, and the MutationObserver fires once on the item element itself. I attempted to add the minimum amount of logic to achieve this but there may be a more elegant solution that combines what `multipleInputs` and `isInteractive` are doing but requires more changes to existing code.
Configuration menu - View commit details
-
Copy full SHA for 3f730ab - Browse repository at this point
Copy the full SHA 3f730abView commit details -
fix(modal): improve card modal background transition from portrait to…
… landscape (#30551) 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? <!-- Please describe the current behavior that you are modifying. --> Currently, if you have multiple card modals open in portrait view and then transition to landscape, the background will not be transformed properly and will not cover the entire screen as expected. https://github.com/user-attachments/assets/bb2c7015-adb6-4c3b-8bc5-13360275fcf4 ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Now, we're correctly targeting the right element and will transform it as expected. This allows a more consistent UX for these transitions. https://github.com/user-attachments/assets/fff72387-d78b-4df4-a234-d89b54f694c4 ## Does this introduce a breaking change? - [ ] Yes - [X] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> [Relevant (broken) screen (main branch)](https://ionic-framework-git-main-ionic1.vercel.app/src/components/modal/test/card?ionic:mode=ios) [Relevant (fixed) screen (this branch)](https://ionic-framework-git-fix-modal-landscape-background-ionic1.vercel.app/src/components/modal/test/card?ionic:mode=ios)
Configuration menu - View commit details
-
Copy full SHA for d37b9b8 - Browse repository at this point
Copy the full SHA d37b9b8View commit details -
chore(deps): update playwright (#30548)
This PR contains the following updates: | Package | Change | Age | Confidence | Type | Update | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`^1.53.2` -> `^1.54.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.53.2/1.54.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | mcr.microsoft.com/playwright | `v1.53.2` -> `v1.54.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | final | minor | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.54.1`](https://redirect.github.com/microsoft/playwright/compare/v1.54.0...v1.54.1) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.54.0...v1.54.1) ### [`v1.54.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.54.0) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.53.2...v1.54.0) #### Highlights - New cookie property `partitionKey` in [browserContext.cookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-cookies) and [browserContext.addCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-cookies). This property allows to save and restore partitioned cookies. See [CHIPS MDN article](https://developer.mozilla.org/en-US/docs/Web/Privacy/Guides/Privacy_sandbox/Partitioned_cookies) for more information. Note that browsers have different support and defaults for cookie partitioning. - New option `noSnippets` to disable code snippets in the html report. ```js import { defineConfig } from '@​playwright/test'; export default defineConfig({ reporter: [['html', { noSnippets: true }]] }); ``` - New property `location` in test annotations, for example in [testResult.annotations](https://playwright.dev/docs/api/class-testresult#test-result-annotations) and [testInfo.annotations](https://playwright.dev/docs/api/class-testinfo#test-info-annotations). It shows where the annotation like `test.skip` or `test.fixme` was added. #### Command Line - New option `--user-data-dir` in multiple commands. You can specify the same user data dir to reuse browsing state, like authentication, between sessions. ```bash npx playwright codegen --user-data-dir=./user-data ``` - Option `-gv` has been removed from the `npx playwright test` command. Use `--grep-invert` instead. - `npx playwright open` does not open the test recorder anymore. Use `npx playwright codegen` instead. #### Miscellaneous - Support for Node.js 16 has been removed. - Support for Node.js 18 has been deprecated, and will be removed in the future. #### Browser Versions - Chromium 139.0.7258.5 - Mozilla Firefox 140.0.2 - WebKit 26.0 This version was also tested against the following stable channels: - Google Chrome 140 - Microsoft Edge 140 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/ionic-team/ionic-framework). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 68ad860 - Browse repository at this point
Copy the full SHA 68ad860View commit details
Commits on Jul 16, 2025
-
fix(segment-view): scroll to correct content when height is not set (#…
…30547) Issue number: resolves #30543 --------- ## What is the current behavior? On desktop Safari and Android the segment view is not switching to the right segment content when the height is dynamically set or read in as 0. This can be reproduced in the following StackBlitz on Android: https://6dhropnr-aheyyprl.stackblitz.io/ ## What is the new behavior? - Sets `min-height` to `1px` on `ion-segment-content` so that it continues to work with a dynamically set height - Adds an e2e test for Safari to verify the correct content is displayed when it contains a dynamically loaded image ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information Dev build: `8.6.2-dev.11752524287.1d61cd78` [Preview](https://ionic-framework-git-fw-6586-ionic1.vercel.app/src/components/segment-view/test/dynamic-height) --------- Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for d14311f - Browse repository at this point
Copy the full SHA d14311fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a3ad9c - Browse repository at this point
Copy the full SHA 5a3ad9cView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v8.6.4...v8.6.5