Commit Graph

71754 Commits

Author SHA1 Message Date
Patrik Oldsberg 8a3a906fb7 Deprecate NavItemBlueprint in @backstage/frontend-plugin-api
Nav items are now automatically inferred from PageBlueprint extensions
based on their title and icon params, making NavItemBlueprint redundant.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 10:30:38 +01:00
Patrik Oldsberg b15a685e52 Deprecate withApis in @backstage/frontend-plugin-api
Moved withApis to @backstage/core-compat-api and deprecated the export
in @backstage/frontend-plugin-api, pointing users to the new location.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 10:19:10 +01:00
Patrik Oldsberg fe848e09e6 Change useApiHolder to not throw when outside API context
Instead of throwing a NotImplementedError, useApiHolder now returns an
empty ApiHolder when no API context is available in the React tree.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 10:18:26 +01:00
Patrik Oldsberg 2c383b535b Move AnalyticsImplementationBlueprint to @backstage/plugin-app-react
Migrated the AnalyticsImplementationBlueprint and
AnalyticsImplementationFactory from @backstage/frontend-plugin-api to
@backstage/plugin-app-react. The original exports are deprecated with
pointers to the new location.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 10:01:46 +01:00
Patrik Oldsberg 1bec049493 Fix JSX type reference inconsistency in DialogApiDialog
The `update` method used `React.JSX.Element` for the first union member
and plain `JSX.Element` for the second. These resolve to the same type
but the inconsistency within a single method signature is confusing.
Aligned both to use `JSX.Element` to match the rest of the file.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 09:55:33 +01:00
Patrik Oldsberg d0206c499a Remove deprecated defaultPath migration helper from PageBlueprint
The `defaultPath` param was a compile-time migration artifact typed to
produce an error, guiding users to use `path` instead. The migration
period is over, so this removes it from the public API surface.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 09:53:22 +01:00
dependabot[bot] 3ba7ee4c98 chore(deps): bump multer from 2.0.2 to 2.1.1
Bumps [multer](https://github.com/expressjs/multer) from 2.0.2 to 2.1.1.
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/expressjs/multer/compare/v2.0.2...v2.1.1)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 07:25:45 +00:00
Fredrik Adelöw d0b53e39fd Merge pull request #33134 from backstage/renovate/npm-tar-vulnerability 2026-03-05 08:19:47 +01:00
renovate[bot] b100983df6 chore(deps): update dependency tar to v7.5.10 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 04:40:14 +00:00
dependabot[bot] 8aea060b88 chore(deps): bump svgo from 2.8.0 to 2.8.2
Bumps [svgo](https://github.com/svg/svgo) from 2.8.0 to 2.8.2.
- [Release notes](https://github.com/svg/svgo/releases)
- [Commits](https://github.com/svg/svgo/compare/v2.8.0...v2.8.2)

---
updated-dependencies:
- dependency-name: svgo
  dependency-version: 2.8.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 01:05:41 +00:00
dependabot[bot] 5b54feda88 chore(deps): bump immutable from 5.0.2 to 5.1.5 in /microsite
Bumps [immutable](https://github.com/immutable-js/immutable-js) from 5.0.2 to 5.1.5.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v5.0.2...v5.1.5)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 5.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 23:27:32 +00:00
dependabot[bot] ad651d723c chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10
Bumps [@hono/node-server](https://github.com/honojs/node-server) from 1.19.9 to 1.19.10.
- [Release notes](https://github.com/honojs/node-server/releases)
- [Commits](https://github.com/honojs/node-server/compare/v1.19.9...v1.19.10)

---
updated-dependencies:
- dependency-name: "@hono/node-server"
  dependency-version: 1.19.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 21:28:38 +00:00
dependabot[bot] 014b42d23a chore(deps): bump hono from 4.12.0 to 4.12.5
Bumps [hono](https://github.com/honojs/hono) from 4.12.0 to 4.12.5.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.12.0...v4.12.5)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 21:11:27 +00:00
Charles de Dreuille c7fb3299ee Merge pull request #33116 from backstage/interactive-cards
feat(ui): add interactive overlay to Card component
2026-03-04 20:40:07 +00:00
Charles de Dreuille 16d424276a Improve types
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-04 20:24:12 +00:00
Charles de Dreuille 0c772a3223 Card styles updates
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-04 19:40:25 +00:00
Fredrik Adelöw fcc5b172e3 Merge pull request #33119 from backstage/freben/cli-common-runcheck-stdio-ignore
Fix runCheck to ignore stdio of spawned process
2026-03-04 19:48:19 +01:00
Charles de Dreuille 90b1cfc8a0 Fix for scrollable body section
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-04 16:59:25 +00:00
Fredrik Adelöw 918b697cbd Add test verifying runCheck does not leak stdio
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-04 17:41:08 +01:00
Fredrik Adelöw 9361965db9 Fix runCheck to ignore stdio of spawned process
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-04 17:33:29 +01:00
Charles de Dreuille db927510dc Add new Interactive card
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-04 15:24:23 +00:00
Peter Macdonald 6d67a35c20 Update Auditor docs to point to correct Auditor documentation for the catalog
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-04 14:13:59 +01:00
Patrik Oldsberg d757071651 Merge pull request #33082 from backstage/bui-migrate-catalog-entity-cards
feat(catalog,org): migrate entity cards from MUI/InfoCard to BUI
2026-03-04 11:50:41 +01:00
Patrik Oldsberg a0310d57ec Apply suggestion from @Rugvip
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-04 10:49:09 +01:00
Patrik Oldsberg 80f1779980 Fix buildWorkspace flag normalization for =value forms
Handle --alwaysPack=value and --alwaysYarnPack=value variants in the
legacy flag normalization, not just the bare flag forms.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-04 10:13:57 +01:00
Patrik Oldsberg e8173b3012 Address review feedback: role.ts, repo start params, test coverage
- Remove unnecessary optional chaining on getRoleInfo().role since it
  throws for unknown roles.
- Add parameters declaration to repo start so [packages...] shows in
  help output.
- Add tests verifying cleye strips Backstage flags from args before
  forwarding to Jest, including legacy camelCase flag support.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-04 10:10:31 +01:00
Charles de Dreuille a5ff77fcbe Merge pull request #33102 from backstage/bui-select
bui(ui): improve Select trigger bg and focus ring
2026-03-04 08:15:21 +00:00
renovate[bot] 42ba1a02bb chore(deps): update backstage/actions action to v0.7.8 (#32993)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-04 07:42:51 +01:00
dependabot[bot] 51823db9f7 build(deps): bump underscore from 1.13.7 to 1.13.8
Bumps [underscore](https://github.com/jashkenas/underscore) from 1.13.7 to 1.13.8.
- [Commits](https://github.com/jashkenas/underscore/compare/1.13.7...1.13.8)

---
updated-dependencies:
- dependency-name: underscore
  dependency-version: 1.13.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 06:40:33 +00:00
Ben Lambert e96f6d9ce9 Merge commit from fork
Signed-off-by: Bond Yan <bondy@spotify.com>
Co-authored-by: Bond Yan <bondy@spotify.com>
2026-03-04 07:33:06 +01:00
Ben Lambert 1513a0b132 Merge commit from fork
* Reject path traversal in SCM URL filepath parsing

* Harden parseGitUrlSafe against encoding bypass variants
2026-03-04 07:28:36 +01:00
Ben Lambert 30ff9810f5 Merge commit from fork
* Fix secret redaction bypass via Nunjucks filters

* Address PR feedback on secret redaction helpers
2026-03-04 07:24:40 +01:00
Carl-Erik Bergström 545557a928 feat(backend-app-api): attribute registration errors to plugins/modules (#33029)
* feat(backend-app-api): attribute registration errors to plugins/modules

Signed-off-by: Carl-Erik Bergström <cbergstrom@spotify.com>
2026-03-03 19:12:44 +01:00
Charles de Dreuille bb66b8617b Improve Select style
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-03 17:57:26 +00:00
Charles de Dreuille 95fecdf617 Merge pull request #33081 from backstage/ui/searchfield-textfield-bg-focus
feat(ui): bg-context support and focus ring for SearchField and TextField
2026-03-03 15:56:01 +00:00
Fredrik Adelöw d69aa8689e Merge pull request #32994 from backstage/changeset-release/master
Version Packages (next)
2026-03-03 16:53:22 +01:00
Charles de Dreuille 62d674c3de Merge branch 'master' into ui/searchfield-textfield-bg-focus
# Conflicts:
#	packages/ui/src/components/PluginHeader/PluginHeader.module.css
#	packages/ui/src/components/PluginHeader/PluginHeader.tsx
#	packages/ui/src/components/PluginHeader/PluginHeaderToolbar.tsx
2026-03-03 14:16:54 +00:00
github-actions[bot] db0d171511 Version Packages (next) 2026-03-03 14:16:49 +00:00
Johan Persson 8211dc0f70 chore(ui): remove inline style from Button in Card story
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Johan Persson 36987dbdfd chore(ui): add changesets and update API report
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Johan Persson bfd121436b fix(ui): extend FieldLabelProps with native div element props
FieldLabel renders a div and spreads restProps onto it, but
FieldLabelProps didn't extend native div props. This meant
attributes like aria-*, data-*, role, etc. couldn't be
passed with type safety.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Johan Persson 8236a3d7c3 fix(ui): extend ContainerProps with native div element props
Container renders a div and spreads restProps onto it, but
ContainerProps didn't extend native div props. This meant
attributes like aria-*, data-*, role, etc. couldn't be
passed with type safety.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Johan Persson 68e0cc1468 fix(ui): extend AlertProps with native div element props
Alert renders a div and spreads restProps onto it, but
AlertProps didn't extend native div props. This meant
attributes like aria-*, data-*, role, etc. couldn't be
passed with type safety.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Johan Persson 6edae0e959 fix(ui): remove unused style prop from ButtonLinkOwnProps
The style prop was defined in ButtonLinkOwnProps but never
destructured or applied in the component, causing it to be
silently dropped. Removing it lets style flow through to the
underlying RAC Link via restProps instead.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Johan Persson 00bf7c7e42 fix(ui): remove unused style prop from ButtonOwnProps
The style prop was defined in ButtonOwnProps but never
destructured or applied in the component, causing it to be
silently dropped. Removing it lets style flow through to the
underlying RAC Button via restProps instead.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Johan Persson bd671414bb fix(ui): remove unused style prop from ButtonIconOwnProps
The style prop was defined in ButtonIconOwnProps but never
destructured or applied in the component, causing it to be
silently dropped. Removing it lets style flow through to the
underlying RAC Button via restProps instead.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Johan Persson 8d40a035dc fix(ui): extend DialogBodyProps with native div element props
DialogBodyProps previously only extended DialogBodyOwnProps,
meaning native HTML attributes like aria-*, data-*, etc.
could not be passed to the underlying div element.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 15:11:28 +01:00
Charles de Dreuille e8c8e0fe30 Merge pull request #33085 from backstage/cdedreuille/merge-plugin-header-toolbar
Style improvements on PluginHeader
2026-03-03 14:01:27 +00:00
Charles de Dreuille 8c35030431 Merge pull request #33096 from backstage/update-storybook-docsui-codeowners
chore: add design-system-maintainers as code owners for .storybook and docs-ui
2026-03-03 13:59:08 +00:00
Johan Persson aa59ab0ede chore: add design-system-maintainers as code owners for .storybook and docs-ui
These directories were previously only covered by the catch-all
rule, requiring review from @backstage/maintainers. Since they
fall under the Design System project area scope, assign them to
@backstage/design-system-maintainers.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 14:41:57 +01:00