Split nav item removal into separate changesets

Use dedicated changesets for the breaking frontend-plugin-api removal,
plugin migrations, and frontend-test-utils update.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Patrik Oldsberg
2026-05-19 11:01:58 +02:00
parent 77ceb88228
commit 44d77e9680
3 changed files with 30 additions and 3 deletions
@@ -0,0 +1,22 @@
---
'@backstage/frontend-plugin-api': minor
---
**BREAKING**: Removed the deprecated `NavItemBlueprint`. Navigation items are now discovered from `PageBlueprint` extensions based on their `title` and `icon` params.
If you were still using `NavItemBlueprint`, migrate by moving `title` and `icon` to your `PageBlueprint` instead:
```diff
-const navItem = NavItemBlueprint.make({
- params: { title: 'Example', icon: ExampleIcon, routeRef },
-});
const page = PageBlueprint.make({
params: {
+ title: 'Example',
+ icon: <ExampleIcon fontSize="inherit" />,
routeRef,
path: '/example',
loader: () => import('./Page').then(m => <m.Page />),
},
});
```
@@ -1,5 +1,4 @@
---
'@backstage/frontend-plugin-api': minor
'@backstage/plugin-app': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-search': patch
@@ -11,7 +10,8 @@
'@backstage/plugin-devtools': patch
'@backstage/plugin-catalog-unprocessed-entities': patch
'@backstage/plugin-app-visualizer': patch
'@backstage/frontend-test-utils': patch
---
Removed the deprecated `NavItemBlueprint`. Navigation items are now discovered from page extensions via their `title` and `icon` params. The app nav extension still accepts legacy `nav-item` extensions for backward compatibility.
Removed separate nav item extensions. Sidebar entries are now provided via `title` and `icon` on each plugin's page extension.
The app nav extension still accepts legacy `nav-item` extensions for backward compatibility with older plugin versions.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-test-utils': patch
---
Updated `renderInTestApp` to render legacy nav-item extensions without relying on the removed `NavItemBlueprint` from `@backstage/frontend-plugin-api`.