Commit Graph

72534 Commits

Author SHA1 Message Date
Patrik Oldsberg 3c0b453d7e Revert NFS page variants, keep only title and icon additions
Roll back the NFS page component changes (BuiHeader, headerVariant,
NfsCatalogGraphPage, NfsDefaultImportPage) from catalog-graph and
catalog-import plugins. Only the title and icon metadata additions to the
new frontend system plugin definitions are retained.

For the kubernetes plugin, replace the generic RiShipLine icon with a
proper Kubernetes helm wheel SVG icon from Simple Icons.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-30 00:19:41 +02:00
Patrik Oldsberg 34f5dc5ae1 Update catalog-graph alpha API report
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 15:02:28 +01:00
Patrik Oldsberg e923ff1485 Remove unnecessary NFS page component exports
Page components without props don't need to be exported from the
package API surface. Import directly from the component file in
the alpha entry points instead.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 14:50:59 +01:00
Patrik Oldsberg 3cf1950a3f plugin-catalog-import: move NFS page export to alpha entry point
Move NfsDefaultImportPage out of the public API and export it as
DefaultImportPage from the alpha entry point instead.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 14:03:00 +01:00
Patrik Oldsberg daaaa72ebb e2e: use exact name matching for sidebar link assertions
New plugin nav items like "Catalog Graph" cause Playwright's
substring-based getByRole name matching to find multiple elements
when searching for "Catalog". Switch to exact: true.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 22:53:03 +01:00
Patrik Oldsberg d156cf48bb plugins: add title, icon, and NFS page variants to migrated plugins
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 17:05:23 +01:00
Patrik Oldsberg fa0593e6e5 plugin-catalog-import: add NFS page layout and plugin metadata
- Register title and icon on the new-frontend createFrontendPlugin export.
- Add NfsDefaultImportPage using @backstage/ui Header with shared grid body.
- Point the alpha PageBlueprint loader at the NFS variant.
- Depend on @backstage/ui and @remixicon/react.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 16:58:21 +01:00
Patrik Oldsberg 0e147e8e45 plugin-catalog-graph: nfs page variant and plugin title/icon
- Add title, icon, and NfsCatalogGraphPage to the new frontend plugin alpha entry
- Refactor catalog graph page with headerVariant for legacy vs Backstage UI header
- Export NfsCatalogGraphPage from the CatalogGraphPage module

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 16:58:21 +01:00
Peter Macdonald 36d205a455 Merge pull request #33573 from Parsifal-M/docs/golden-paths-plugin-ownership
docs: golden paths plugin ownership
2026-03-25 13:18:18 +01:00
Patrik Oldsberg e7e2fb2a5a Merge pull request #33570 from backstage/rugvip/nfs-migration-skills
docs: add frontend system migration skills
2026-03-25 11:54:17 +01:00
Peter Macdonald c397a27d77 golden paths plugin ownership
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-25 11:08:48 +01:00
Patrik Oldsberg d031c9fe0f docs: fix missing import and replace deprecated HeaderPage with Header
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 10:52:48 +01:00
Jonathan Roebuck d0f055f949 feat(ui): add showPaginationLabel prop to TablePagination (#33552)
* feat(ui): add showPaginationLabel to type definitions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* feat(ui): wire showPaginationLabel through useTable and Table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* feat(ui): conditionally render pagination label based on showPaginationLabel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* chore(ui): add changeset and update API reports for showPaginationLabel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* Update .changeset/show-pagination-label.md

Co-authored-by: Johan Persson <johanopersson@gmail.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* docs(ui): document showPaginationLabel prop in docs-ui

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* fix(ui): wrap component names in backticks in changeset

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* fix(ui): move pagination display options to inner useMemo dependency array

Move showPageSizeOptions, getLabel, and showPaginationLabel from the
outer useMemo dependency array to the inner pagination useMemo
dependency array so that changes to these options correctly trigger
a new pagination object reference.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* chore(ui): remove backticks from changeset

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* Revert "chore(ui): remove backticks from changeset"

This reverts commit 9b7f8bb6e83c28587219b7734676b1c062661a8a.

Signed-off-by: Johan Persson <johanopersson@gmail.com>

---------

Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Johan Persson <johanopersson@gmail.com>
2026-03-25 09:21:55 +00:00
Patrik Oldsberg db7b6d1716 docs: refine skill descriptions
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 10:08:21 +01:00
Patrik Oldsberg fe6f4a03ab docs: add frontend system migration skills
Add three new skill documents for migrating to the new Backstage frontend system:

- App migration (old app-defaults to new frontend-defaults)
- Plugin dual-support (adding new system support while keeping old system working)
- Plugin full migration (completely moving to the new frontend system)

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 09:58:27 +01:00
Fredrik Adelöw b78d3ba114 Merge pull request #33564 from backstage/fix/translation-ref-ts6-depth
fix(frontend-plugin-api): fix FlattenedMessages type depth for TypeScript 6
2026-03-25 08:57:43 +01:00
backstage-goalie[bot] df6739a90f Merge pull request #33567 from backstage/renovate/eslint-plugin-testing-library-7.x-lockfile
chore(deps): update dependency eslint-plugin-testing-library to v7.16.1
2026-03-25 03:18:44 +00:00
renovate[bot] 125b890632 chore(deps): update dependency eslint-plugin-testing-library to v7.16.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 02:18:23 +00:00
backstage-goalie[bot] 7b846497a2 Merge pull request #33566 from backstage/renovate/dockerode-4.x-lockfile
chore(deps): update dependency dockerode to v4.0.10
2026-03-25 02:12:44 +00:00
renovate[bot] 41f8a50c91 chore(deps): update dependency dockerode to v4.0.10
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 01:33:03 +00:00
backstage-goalie[bot] 5254a36148 Merge pull request #33550 from backstage/renovate/google-cloud-cloud-sql-connector-1.x-lockfile
chore(deps): update dependency @google-cloud/cloud-sql-connector to v1.9.2
2026-03-25 01:23:24 +00:00
Fredrik Adelöw 7a39b2c4ea fix: change unreachable branch to never in FlattenedMessages
The last branch of the conditional is unreachable since TMessages[TKey]
is constrained to string | AnyNestedMessages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-24 22:54:11 +01:00
Fredrik Adelöw ddc5247f67 fix(frontend-plugin-api): fix FlattenedMessages type depth for TypeScript 6
Restructure the FlattenedMessages conditional type to check
`TMessages[TKey] extends string` directly instead of using an
intermediate `infer TValue` pattern, which caused excessive type
instantiation depth in TypeScript 6.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-24 22:30:56 +01:00
Peter Macdonald bdd21b9f9c Merge pull request #33547 from Parsifal-M/docs/golden-path-permissions
docs: golden paths permissions
2026-03-24 22:11:36 +01:00
Ben Lambert 4559806b96 feat(actionsRegistry): Adding support for examples (#33551)
* feat(backend-plugin-api): add typed examples to actions registry

Signed-off-by: benjdlambert <ben@blam.sh>

* fix: address review feedback for actions registry examples

Signed-off-by: benjdlambert <ben@blam.sh>

* fix: remove empty examples from scaffolder action bridge

Signed-off-by: benjdlambert <ben@blam.sh>

* chore: add changeset for scaffolder-backend

Signed-off-by: benjdlambert <ben@blam.sh>

* fix: update router test to match removed examples field

Signed-off-by: benjdlambert <ben@blam.sh>

---------

Signed-off-by: benjdlambert <ben@blam.sh>
2026-03-24 18:16:23 +01:00
Fredrik Adelöw f29d18c2fd Merge pull request #33414 from backstage/changeset-release/master
Version Packages (next)
2026-03-24 17:12:34 +01:00
Peter Macdonald 6c22088daa updates based on feedback
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-24 16:13:35 +01:00
Peter Macdonald d65d6d6d50 updates based on style new style guide
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-24 16:10:35 +01:00
Peter Macdonald a8e111f9b5 Merge branch 'master' into docs/golden-path-permissions 2026-03-24 16:06:22 +01:00
github-actions[bot] c1b510cabb Version Packages (next) 2026-03-24 14:54:00 +00:00
Peter Macdonald e0209029d6 docs: update golden paths sustainable-plugin-development section (#33539)
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-24 15:47:41 +01:00
Aramis Sennyey 7f26ea88c5 docs: add documentation style guide for Backstage contributors (#33538)
* docs: add documentation style guide for Backstage contributors

Adapted from the Kubernetes documentation style guide, tailored
for the Backstage project with Backstage-specific terminology,
Docusaurus conventions, tone guidelines, and project word list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* docs: soften "we" guidance and link style guide from CONTRIBUTING.md

Relax the "avoid we" rule to allow "we" in tutorials and walkthroughs
where it means "you and I, working through this together." Also add
references to the style guide from CONTRIBUTING.md and AGENTS.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>

* fix link checker

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* skip block

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* address feedback

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

---------

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-24 15:44:35 +01:00
renovate[bot] ed368c0cfc chore(deps): update dependency @google-cloud/cloud-sql-connector to v1.9.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 14:22:19 +00:00
renovate[bot] 7c99d4f302 fix(deps): update nextjs monorepo to v16.2.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 15:15:48 +01:00
Peter Macdonald f34dc2a6f3 update golden paths permissions section
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-24 14:48:51 +01:00
Fredrik Adelöw 94a4037fcc Merge pull request #33481 from walsm232/fix/catalog-refresh-state-deadlock
fix(catalog): Fix catalog refresh_state deadlock when running multiple replicas
2026-03-24 14:21:18 +01:00
Fredrik Adelöw 7fc0daebd7 Merge pull request #33388 from Deepesh123455/fix/oauth-dom-nesting-warning
fix(core-components): resolve DOM nesting warning in OAuthRequestDialog
2026-03-24 14:20:08 +01:00
Johan Persson 3d67aebd35 fix(ui): add prefers-reduced-motion support to Tab indicators
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-24 09:32:54 +01:00
Johan Persson 8659f3331c feat(ui): replace Header tabs with nav-based grouped navigation
Replace the RA Tabs/TabList/Tab rendering in the Header component
with a nav-based approach that supports grouped dropdown items via
BUI Menu. Active state is consumer-controlled via a new activeTabId
prop. The indicator system follows the TabsIndicators CSS custom
property pattern for animated active/hover/focus states.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-24 09:32:54 +01:00
Charles de Dreuille 6bfcd9967b Merge pull request #33504 from backstage/bui-pluginheader 2026-03-23 15:48:45 +00:00
Charles de Dreuille 03266f3013 Merge pull request #33524 from backstage/bui-menu-fix 2026-03-23 15:48:14 +00:00
Charles de Dreuille 441c4c86e8 Merge branch 'master' into bui-menu-fix 2026-03-23 15:25:23 +00:00
Charles de Dreuille f9fc8c2dd6 Merge branch 'master' into bui-pluginheader 2026-03-23 15:25:12 +00:00
Charles de Dreuille b5d08664d6 Replace div with Box
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 15:24:23 +00:00
Charles de Dreuille 844f98c07e Add bg neutral on the tabs
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 15:20:15 +00:00
Charles de Dreuille 9361eb3f94 Update PluginHeader.tsx
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 14:26:30 +00:00
Fredrik Adelöw 03ce639a98 Merge pull request #33530 from backstage/freben/seed2
even more careful lockfile
2026-03-23 15:23:37 +01:00
Fredrik Adelöw 311af05c71 even more careful lockfile
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-23 15:23:11 +01:00
Charles de Dreuille db7681b091 Bring back Box
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 14:02:15 +00:00
Fredrik Adelöw cb6b0d69c3 Merge pull request #33529 from backstage/freben/seed
fix e2e
2026-03-23 14:49:15 +01:00