74233 Commits

Author SHA1 Message Date
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
Andre Wanlin 21d8beec83 Merge pull request #33083 from backstage/visibility
Update Azure integration config visibility
2026-03-03 06:49:36 -06:00
Johan Persson aef79e0af4 fix(catalog): style icon links section in AboutCard
Add horizontal borders and bottom margin to the icon links container
in the AboutCard to visually separate it from the card content.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:44:06 +01:00
Johan Persson 74fd81c28d fix(catalog-react): make EntityInfoCard fill available container height
Set `height: 100%` on EntityInfoCard so cards fill their grid cell,
matching the row height of sibling cards. This replaces the behavior
previously provided by `variant="gridItem"` on the old InfoCard.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:35 +01:00
Johan Persson cccf0c47e2 Update api report, code-sample files and docs.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:35 +01:00
Johan Persson 20cb5117e1 fix: remove variant prop from create-app template for migrated cards
The E2E tests scaffold a new app from the create-app template,
which still passed variant="gridItem" to EntityAboutCard,
EntityUserProfileCard, and EntityGroupProfileCard after the prop
was removed.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:35 +01:00
Johan Persson 3d422028d3 fix(catalog): address review feedback for BUI card migration
- Replace `as any` cast with type-safe `as Columns` in LinksGridList,
  clamping column count to the valid 1–12 range
- Restore pagination (pageSize: 5) in EntityLabelsCard using the
  BUI `useTable` hook
- Use translation ref for EntityLabelsCard column headers instead
  of hard-coded English strings

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:35 +01:00
Johan Persson 2aaacb5095 refactor(catalog): remove obsolete gridSizes prop from AboutField
Remove the unused `gridSizes` prop from AboutField. Grid layout is
now owned by the parent Grid.Root in AboutContent, making this prop
unnecessary.

Update changeset with breaking change and migration guide.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:34 +01:00
Johan Persson 7388c6516d refactor(catalog): use Grid.Item colSpan for full-width AboutFields
Replace inline `style={{ gridColumn: '1 / -1' }}` with BUI-native
`Grid.Item colSpan` for full-width fields in AboutContent. Extract
grid columns into a shared variable used by both Grid.Root and
Grid.Item to keep them in sync.

Remove the `style` prop from AboutField that was only added to
support the inline gridColumn approach.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:34 +01:00
Johan Persson c6080eb0b0 chore: update changeset.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:34 +01:00
Johan Persson c4832a18d1 refactor: Remove obsolete variant prop from Entity card components.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:34 +01:00
Johan Persson be4810234c chore: polish comments.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:34 +01:00
Johan Persson 99ef00b4e4 chore: update changeset and API reports
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:34 +01:00
Johan Persson 71efa9bde5 test(org): update UserProfileCard test for BUI Avatar
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:34 +01:00
Johan Persson 951997f7f0 refactor(org): use BUI Avatar in GroupProfileCard and UserProfileCard titles
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:33 +01:00
Johan Persson 809eefb91c refactor(catalog): migrate EntityLabelsCard table to BUI Table
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:33 +01:00
Johan Persson 35ce598bc0 fix(catalog-react): group header actions in EntityInfoCard
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:33 +01:00
Johan Persson e2e5a14980 fix(catalog): use Grid.Root instead of Grid for BUI Grid component
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:33 +01:00
Johan Persson 6d82107beb refactor(catalog): replace MUI Grid with BUI Grid in AboutContent
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:33 +01:00
Johan Persson 06e4cdae07 refactor(catalog): replace MUI ImageList with BUI Grid in LinksGridList
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:32 +01:00
Johan Persson 5fc35bbe9b chore: add changeset and update API reports for BUI card migration
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:32 +01:00
Johan Persson aea7bd9f0e feat(org): migrate GroupProfileCard to BUI EntityInfoCard
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:32 +01:00
Johan Persson bcb0b24cfa feat(org): migrate UserProfileCard to BUI EntityInfoCard
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:32 +01:00
Johan Persson 195481a2f8 feat(catalog): migrate EntityLabelsCard to BUI EntityInfoCard
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:32 +01:00
Johan Persson 8dfd13a067 feat(catalog): migrate EntityLinksCard to BUI EntityInfoCard
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:31 +01:00
Johan Persson a9bfcbe6fd feat(catalog-react): add EntityInfoCard BUI wrapper component
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-03 12:17:31 +01:00
Ben Lambert 6c6a41c4d1 fix(scaffolder-backend-module-gitlab): update GroupMembers.add for gitbeaker v43 (#33091)
@gitbeaker/core v43 changed ResourceMembers.add signature to
accept accessLevel as the second arg and userId in an options object.

Signed-off-by: benjdlambert <ben@blam.sh>
2026-03-03 10:48:40 +00:00
Patrik Oldsberg 629e9f5558 Add deprecation warnings for old camelCase flag names
Instead of a hard breaking change, the old camelCase flag names
(--baseVersion, --successCache, --successCacheDir, --alwaysPack) still
work via type-flag's built-in camelCase/kebab-case mapping, but now
print a deprecation warning pointing to the new kebab-case spelling.

Downgrades the changeset from minor (breaking) to patch.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-03 11:11:26 +01:00
Patrik Oldsberg b45ee80104 Keep boolean | string for inspect types, map in command handlers
Move the empty-string-to-boolean conversion from cleye's String type
into the command handlers so that startPackage/runBackend keep their
existing boolean | string interface.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-03 11:11:26 +01:00
Patrik Oldsberg 2946e8e4c6 Remove custom inspect flag handling, switch repo test to cleye
- Use cleye's `type: String` for --inspect/--inspect-brk instead of
  custom extractInspectFlags pre-processing in both package start and
  repo start commands.
- Switch repo test from node:util parseArgs to cleye so that --help
  shows Backstage-specific flags rather than dumping Jest's full help.
- Fix create-github-app help output to include <github-org> positional.
- Update downstream inspect types from `boolean | string` to `string`.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-03 11:11:26 +01:00