Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
4262324
chore(deps): update react router to v6
thetaPC May 8, 2025
f0127bd
refactor(utils): update matchPath for rr6
thetaPC May 8, 2025
cccf290
refactor(reactrouterviewstack): update for rr6 and improvements
thetaPC May 8, 2025
af7710b
refactor(test): updated test pages
thetaPC May 12, 2025
e364fea
chore(matchPath): use the correct library
thetaPC May 19, 2025
6a42e69
chore(rr6): run lint
thetaPC May 19, 2025
4aad76a
chore(StackManager): upgrade to rr6 and add comments
thetaPC May 19, 2025
fd6baac
chore(StackManager): more upgrades for rr6
thetaPC May 19, 2025
e76c1e8
docs(StackManager): update comment
thetaPC May 19, 2025
2436ba3
docs(matchPath): remove comment
thetaPC May 19, 2025
ca27ed6
chore(IonRouteInner): upgrade to rr6
thetaPC May 20, 2025
37f76c7
chore(StackManager): run lint
thetaPC Jun 9, 2025
a78f6b3
feat(IonRouter): migrate to functional component with react router 6
thetaPC Jun 9, 2025
93202c0
chore(IonRouteInner): update render
thetaPC Jun 9, 2025
0008059
docs(IonRouter, ReactRouterViewStack, StackManager): update comments
thetaPC Jun 9, 2025
0a0dcb6
feat(IonReactRouter): migrate to a functional component and react rou…
thetaPC Jun 11, 2025
331b394
feat(IonReactMemoryRouter): migrate to a functional component and rea…
thetaPC Jun 12, 2025
205a705
chore(IonReactMemoryRouter): remove unused type
thetaPC Jun 12, 2025
7ff8994
feat(IonReactHashRouter): migrate to a functional component and react…
thetaPC Jun 12, 2025
c45c0f9
docs(many): update comments
thetaPC Jun 13, 2025
12c49f5
refactor(many): remove `exact` from test pages
thetaPC Jun 13, 2025
71fb8cb
refactor(many): update to use <Navigate>
thetaPC Jun 13, 2025
c6f8dd4
refactor(many): replace `render` with `element`
thetaPC Jun 13, 2025
366004e
refactor(Tabs2): switch to navigate
thetaPC Jun 13, 2025
5cccf0b
refactor(many): update to prevent compile errors
thetaPC Jun 13, 2025
e6e17eb
refactor(IonReactRouter): split component to use hooks correctly
thetaPC Jun 13, 2025
2656e98
chore: update package and sync file
thetaPC Jun 13, 2025
10bb889
docs(IonReactRouter): use updated param names
thetaPC Jun 16, 2025
7a20697
fix(ReactRouterViewStack, StackManager): use correct value & add valu…
thetaPC Jun 17, 2025
9d69a69
Merge branch 'main' of github.com:ionic-team/ionic-framework into mh/…
thetaPC Jun 17, 2025
9c5f55a
test(rr5): keep the old pages
thetaPC Jun 18, 2025
49cbc46
test(dynamic-ionpage-classnames): use old version for rr5
thetaPC Jun 19, 2025
a926134
chore(rr5, rr6): update package
thetaPC Jun 20, 2025
a65886b
test(app, routing): use index
thetaPC Jun 21, 2025
51933fe
Merge branch 'main' of github.com:ionic-team/ionic-framework into mh/…
ShaneK Jul 11, 2025
43e546b
Merge branch 'main' of github.com:ionic-team/ionic-framework into mh/…
ShaneK Jul 16, 2025
fca5e6c
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Jul 17, 2025
80ae239
WIP
ShaneK Jul 21, 2025
c8cefd5
WIP
ShaneK Jul 24, 2025
b0c95d4
merge
ShaneK Jul 31, 2025
662fd70
WIP
ShaneK Aug 4, 2025
210bc16
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Aug 5, 2025
6f7631d
feat(react-router): have navigation in the routing page generally wor…
ShaneK Aug 6, 2025
6f72bbf
feat(react-router): adding support for route params
ShaneK Aug 11, 2025
0949a87
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Oct 8, 2025
8fd53b2
fix(react-router): addressing some migration issues with memory and h…
ShaneK Oct 8, 2025
0ceee27
fix(react-router): improving navigation stack reliability
ShaneK Oct 8, 2025
a6131ba
fix(react-router): improving matching with wildcard and parameter routes
ShaneK Oct 11, 2025
8035c82
fix(react-router): fixing redirect for test app so it uses replace ro…
ShaneK Oct 11, 2025
a9a1de2
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Oct 16, 2025
e293cc0
chore(test): adding text in refs test for people manually testing
ShaneK Oct 20, 2025
99436a3
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Oct 20, 2025
33fc844
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Oct 23, 2025
28ca3a7
fix(react-router): adding support for nested parameter access
ShaneK Oct 25, 2025
0d83b77
fix(react-router): skip IonPage wait for Navigate, adding documentati…
ShaneK Oct 26, 2025
054220d
trying to fix redirect
ShaneK Oct 28, 2025
1ed61a9
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Oct 30, 2025
8dddf77
fix(react-router): fixing dynamic tab and nested outlet tests so they…
ShaneK Oct 30, 2025
5b735cd
fix(router): correct relative base and param reuse
ShaneK Oct 30, 2025
881068e
Fixing test app tabs views
ShaneK Nov 7, 2025
6cae9ad
fix(react-router): trying to better handle nested routing
ShaneK Nov 20, 2025
763621d
fix(react-router): prevent unmounted Navigate components from trigger…
ShaneK Nov 21, 2025
d51f95e
fix(react-router): use state to track IonRouterOutlet ref id in test
ShaneK Nov 21, 2025
59f2dbf
fix(react): automatically dismiss inline overlays on navigation
ShaneK Nov 21, 2025
96c96fc
fix(react-router): add wildcard to refs route for nested routing
ShaneK Nov 21, 2025
383ec04
chore(status): updating status file
ShaneK Nov 22, 2025
10c31ed
chore(react-router): improving continuous testability
ShaneK Nov 24, 2025
045b0a7
fix(react-router): correct tab and nested outlet navigation
ShaneK Nov 24, 2025
3073a24
fix(react-router): fixing relative paths in tab context tests
ShaneK Nov 24, 2025
584dcf2
fix(react-router): prioritize specific route matches
ShaneK Nov 25, 2025
b02c197
fix(react-router): prevent incorrect view reuse for parameterized routes
ShaneK Nov 26, 2025
7fd0659
fix(react-router): nested redirect fix
ShaneK Nov 26, 2025
fc6e482
chore(react-router): cleaning up console logs
ShaneK Nov 26, 2025
6575a92
chore(react-router): removing rr5 test app since it will no longer be…
ShaneK Nov 26, 2025
fbed1e0
chore(react-router): fixing types, removing usued variable
ShaneK Nov 26, 2025
8fbd2d4
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Nov 26, 2025
3912623
fix(react-router): hide deactivated catch-all routes
ShaneK Nov 26, 2025
00798d4
fix(react-router): adding legacy peer dep flag during installation to…
ShaneK Nov 29, 2025
82fd1ba
fix(react-router): fixing views not being cleaned up properly, causin…
ShaneK Dec 1, 2025
5a77916
Merge branch 'main' of github.com:ionic-team/ionic-framework into sk/…
ShaneK Dec 1, 2025
397b6f7
chore(react-router): code clean up
ShaneK Dec 2, 2025
71e55ad
chore(react-router): refactor
ShaneK Dec 2, 2025
418ac75
chore(react-router): cleaning up util files
ShaneK Dec 2, 2025
99dcb35
chore(react-router): minor clean up
ShaneK Dec 2, 2025
a23f555
fix(react): fixing inline overlays being a bit eager to dismiss
ShaneK Dec 3, 2025
a565a37
fix(overlays): removing old band-aid code
ShaneK Dec 3, 2025
cb94f73
chore(docs): removing status doc link
ShaneK Dec 4, 2025
fedca46
fix(react-router): preserve nested outlet params when navigating betw…
ShaneK Dec 4, 2025
b2a7105
chore(react-router): adding migration details to BREAKING.md
ShaneK Dec 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ jobs:
strategy:
fail-fast: false
matrix:
apps: [reactrouter5]
apps: [reactrouter6]
needs: [build-react, build-react-router]
runs-on: ubuntu-latest
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stencil-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ jobs:
strategy:
fail-fast: false
matrix:
apps: [reactrouter5]
apps: [reactrouter6]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should either update the breaking changes file to include no longer supporting react router 5 or create a follow-up task since doing so might conflict with next: https://github.com/ionic-team/ionic-framework/blob/next/BREAKING.md

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I still need to document migration strategies and such. For the most part, it's a pretty easy migration (ignore the inline overlay stuff, that was all removed), but I just need to write it out.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went ahead and did this in this branch, figuring it would be an easy enough merge conflict resolution. If you'd like to review in an easier to read way:
https://github.com/ionic-team/ionic-framework/blob/b2a71050344052a4858d0c8b6712f0d5bc9d7219/BREAKING.md

needs: [build-react, build-react-router]
runs-on: ubuntu-latest
steps:
Expand Down
63 changes: 63 additions & 0 deletions BREAKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,76 @@ This is a comprehensive list of the breaking changes introduced in the major ver

## Versions

- [Version 9.x](#version-9x)
- [Version 8.x](#version-8x)
- [Version 7.x](./BREAKING_ARCHIVE/v7.md)
- [Version 6.x](./BREAKING_ARCHIVE/v6.md)
- [Version 5.x](./BREAKING_ARCHIVE/v5.md)
- [Version 4.x](./BREAKING_ARCHIVE/v4.md)
- [Legacy](https://github.com/ionic-team/ionic-v3/blob/master/CHANGELOG.md)

## Version 9.x

- [Framework Specific](#version-9x-framework-specific)
- [React](#version-9x-react)

<h2 id="version-9x-framework-specific">Framework Specific</h2>

<h4 id="version-9x-react">React</h4>

The `@ionic/react-router` package now requires React Router v6. React Router v5 is no longer supported.

**Minimum Version Requirements**
| Package | Supported Version |
| ---------------- | ----------------- |
| react-router | 6.0.0+ |
| react-router-dom | 6.0.0+ |

React Router v6 introduces several API changes that will require updates to your application's routing configuration:

**Route Definition Changes**

The `component` prop has been replaced with the `element` prop, which accepts JSX:

```diff
- <Route path="/home" component={Home} exact />
+ <Route path="/home" element={<Home />} />
```

**Redirect Changes**

The `<Redirect>` component has been replaced with `<Navigate>`:

```diff
- import { Redirect } from 'react-router-dom';
+ import { Navigate } from 'react-router-dom';

- <Redirect to="/home" />
+ <Navigate to="/home" replace />
```

**Nested Route Paths**

Routes that contain nested routes or child `IonRouterOutlet` components need a `/*` suffix to match sub-paths:

```diff
- <Route path="/tabs" element={<Tabs />} />
+ <Route path="/tabs/*" element={<Tabs />} />
```

**Accessing Route Parameters**

Route parameters are now accessed via the `useParams` hook instead of props:

```diff
- const MyComponent: React.FC<RouteComponentProps<{ id: string }>> = ({ match }) => {
- const id = match.params.id;
+ const MyComponent: React.FC = () => {
+ const { id } = useParams<{ id: string }>();
```

For more information on migrating from React Router v5 to v6, refer to the [React Router v6 Upgrade Guide](https://reactrouter.com/en/main/upgrading/v5).

## Version 8.x

- [Browser and Platform Support](#version-8x-browser-platform-support)
Expand Down
3 changes: 1 addition & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading