13075 Commits

Author SHA1 Message Date
Fredrik Adelöw ae45ab1f25 Merge pull request #33465 from backstage/renovate/dompurify-3.x-lockfile
chore(deps): update dependency dompurify to v3.3.3
2026-03-20 15:22:48 +01:00
renovate[bot] 12b4d6e0fb chore(deps): update dependency express-rate-limit to v8.3.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 13:23:47 +00:00
renovate[bot] 52bb62076b chore(deps): update dependency esbuild to v0.27.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 13:23:21 +00:00
renovate[bot] 54c41fcc6e chore(deps): update dependency dompurify to v3.3.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 13:22:52 +00:00
renovate[bot] 58ab312f8b chore(deps): update dependency @slack/types to v2.20.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 13:22:25 +00:00
renovate[bot] 8a33a8e996 chore(deps): update dependency mini-css-extract-plugin to v2.10.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 13:16:58 +00:00
renovate[bot] a08f809d52 chore(deps): update dependency isomorphic-git to v1.37.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 13:16:30 +00:00
backstage-goalie[bot] 355a76a7e5 Merge pull request #32654 from backstage/renovate/aws-sdk-js-v3-monorepo
chore(deps): update aws-sdk-js-v3 monorepo
2026-03-20 12:12:11 +00:00
Fredrik Adelöw 41b05a9f19 Merge pull request #33462 from backstage/freben/remove-type-fest-catalog-github
Remove type-fest dependency from catalog-backend-module-github
2026-03-20 12:27:58 +01:00
backstage-goalie[bot] 936e1ecc63 Merge pull request #33461 from backstage/renovate/rspack-monorepo
chore(deps): update dependency @rspack/core to v1.7.9
2026-03-20 11:27:01 +00:00
backstage-goalie[bot] 7f4d755211 Merge pull request #33460 from backstage/renovate/electric-sql-pglite-0.x-lockfile
chore(deps): update dependency @electric-sql/pglite to v0.3.16
2026-03-20 11:26:56 +00:00
Fredrik Adelöw 78457904ee Merge pull request #33347 from backstage/dependabot/npm_and_yarn/undici-7.24.0
chore(deps): bump undici from 7.22.0 to 7.24.0
2026-03-20 11:15:10 +01:00
renovate[bot] c72847eddb chore(deps): update dependency @rspack/core to v1.7.9
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 10:04:05 +00:00
Fredrik Adelöw edf465f2a6 Remove type-fest dependency from catalog-backend-module-github
Replace the imported PartialDeep type from type-fest with a local
equivalent helper type used only in tests, eliminating the external
dev dependency.

Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Made-with: Cursor
2026-03-20 11:03:22 +01:00
renovate[bot] 28b2f1fd19 chore(deps): update dependency @electric-sql/pglite to v0.3.16
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 10:03:21 +00:00
Fredrik Adelöw cc0326a6a5 Merge pull request #33243 from backstage/renovate/opentelemetry-js-monorepo
fix(deps): update opentelemetry-js monorepo to ^0.213.0
2026-03-20 10:53:49 +01:00
Fredrik Adelöw ca2113f511 Merge pull request #33288 from backstage/renovate/node-gyp-12.x
chore(deps): update dependency node-gyp to v12
2026-03-20 10:32:17 +01:00
Fredrik Adelöw 884b8691b0 Merge pull request #33305 from backstage/renovate/wait-for-expect-4.x
chore(deps): update dependency wait-for-expect to v4
2026-03-20 10:26:36 +01:00
dependabot[bot] e928e7387c chore(deps): bump undici from 7.22.0 to 7.24.0
Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 09:24:58 +00:00
dependabot[bot] bdbbf00eab build(deps): bump flatted from 3.4.1 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.4.1 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.4.1...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 08:14:44 +00:00
Patrik Oldsberg 7e163ab470 Merge pull request #33437 from backstage/techdocs-bui-header-migration
feat(techdocs): migrate alpha plugin pages to BUI header system
2026-03-20 09:06:57 +01:00
renovate[bot] 9cc9d1c120 chore(deps): update aws-sdk-js-v3 monorepo
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 20:01:44 +00:00
Patrik Oldsberg 3d969f541a Clean up example app comments and add missing backend plugin (#33440)
Made-with: Cursor

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-19 14:52:06 +01:00
Johan Persson dc3cc87599 feat(techdocs): migrate alpha plugin pages to BUI header system
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-19 14:50:42 +01:00
Patrik Oldsberg 7d86248253 Merge pull request #33424 from backstage/rugvip/ui-react-aria-deps
ui: add React Aria and React Stately dependencies
2026-03-18 21:18:54 +01:00
Patrik Oldsberg 0257ada6de ui: add React Aria and React Stately dependencies
Add `react-aria`, `@react-aria/interactions`, `@react-stately/layout`,
and `@react-stately/overlays` as dependencies, and `react-stately` as a
dev dependency to `@backstage/ui`.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-18 16:21:19 +01:00
Patrik Oldsberg bed3307b72 Drop React 17 support from @backstage/ui
Updated the peer dependency ranges for `react`, `react-dom`, and
`@types/react` in `packages/ui` to require React 18+, removing the
`^17.0.0` range.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-18 16:02:42 +01:00
Lokesh Kaki f215863743 feat(catalog-backend-module-bitbucket-cloud): add Bitbucket Cloud SCM event translation and bridge wiring
Signed-off-by: Lokesh Kaki <lokeshkaki1@gmail.com>
2026-03-17 21:48:32 -05:00
backstage-goalie[bot] 423d675d97 Merge pull request #33403 from backstage/renovate/npm-undici-vulnerability
Update dependency undici to v7.24.0 [SECURITY]
2026-03-18 01:24:10 +00:00
Patrik Oldsberg 6a565f6880 Merge pull request #33389 from backstage/rugvip/nfs-header-page-migration
plugins: migrate NFS pages to HeaderPage
2026-03-17 22:16:12 +01:00
Patrik Oldsberg c4f973543f Merge pull request #33351 from backstage/dependabot/npm_and_yarn/yauzl-3.2.1
chore(deps): bump yauzl from 3.2.0 to 3.2.1
2026-03-17 22:06:20 +01:00
Patrik Oldsberg 718e2da288 Merge pull request #33349 from kurtaking/catalog-incremental-ingestion-metrics
refactor: use MetricsService in incremental catalog ingestion
2026-03-17 22:05:36 +01:00
Patrik Oldsberg 580ef981dc Merge pull request #33357 from Believe-SA/slack-metrics-notif
Refactor Slack Notifications Backend Module to use MetricsApi
2026-03-17 21:38:57 +01:00
Patrik Oldsberg 4f6e7de133 Address second round of PR review feedback
- Replace getConfig<T> with getMetadata/setMetadata on CliAuth, removing
  the unsafe type parameter in favor of returning unknown
- Move updateInstanceConfig from cli-module-auth public API to
  CliAuth.setMetadata, removing the cross-package dependency
- Rename 'config' to 'metadata' in StoredInstance and storage schemas
- Add zod validation at consumer sites (cli-module-actions) for
  type-safe metadata access
- Fix zod imports to use zod/v3 for compatibility with zod v4
- Add proper-lockfile to cli-node for metadata write locking
- Refactor cli-node storage from fs-extra to node:fs
- Remove @backstage/cli-module-auth dependency from cli-module-actions

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:53:10 +01:00
Patrik Oldsberg da8e6603a4 Clean up unreleased API surface
Since cli-module-auth and cli-module-actions are not yet released,
remove deprecated exports instead of keeping them. Also make httpJson
and getSecretStore internal to cli-node, duplicating the small httpJson
wrapper locally in each consuming package.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:53:10 +01:00
Patrik Oldsberg 12fa965e67 cli-node: add CliAuth class for shared CLI authentication
Introduces a class-based authentication management API in @backstage/cli-node
that reads the on-disk instance store, transparently refreshes expired tokens,
and provides a convenient surface for other CLI modules to consume.

The split keeps filesystem-based instance selection and writes owned by
cli-module-auth, while reading and consuming the current instance is
available through CliAuth in cli-node.

Migrates cli-module-actions to use the new API and deprecates the ad-hoc
function exports from cli-module-auth.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:07:50 +01:00
renovate[bot] 97404518c8 chore(deps): update dependency undici to v7.24.0 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 16:54:15 +00:00
Fredrik Adelöw 31aa3ce7b7 dedupe
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 17:00:28 +01:00
Patrik Oldsberg a7cf057cd2 chore: refresh lockfile after plugin rollbacks
Update the root lockfile after rolling back the selected NFS plugin migrations so CI yarn installs run against the current dependency graph.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 16:57:45 +01:00
Fredrik Adelöw 4190ec7f0d chore: refresh frontend-plugin-api alpha API report
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 16:48:44 +01:00
Fredrik Adelöw 44a8c0937a chore: regenerate yarn.lock after rebase
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 16:48:43 +01:00
Gabriel Dugny a49a40d314 Proper /v3 usage everywhere
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-17 16:48:42 +01:00
Patrik Oldsberg 97411ebb0c Merge pull request #32542 from backstage/bui-toast
feat: Introduce ToastApi for rich notifications in the new frontend system
2026-03-17 15:34:16 +01:00
Johan Persson c548a0ff86 refactor(catalog,api-docs): migrate entity table cards to BUI (#33260)
* feat(catalog-react): add EntityDataTable and EntityRelationCard components

Add EntityDataTable (BUI Table wrapper for entity data) and
EntityRelationCard (card shell + data fetching + table) as shared
building blocks for entity relation table cards. Includes BUI column
factories, column presets for common entity types, and a new
translation key for the empty state help link.

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

* refactor(catalog): migrate 8 entity table cards to EntityRelationCard

Rewrite HasComponentsCard, HasResourcesCard, HasSubcomponentsCard,
HasSubdomainsCard, HasSystemsCard, DependsOnComponentsCard,
DependsOnResourcesCard, and DependencyOfComponentsCard as thin
wrappers around EntityRelationCard from catalog-react. Remove variant
and tableOptions props.

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

* refactor(api-docs): migrate 5 entity table cards to EntityRelationCard

Rewrite ConsumedApisCard, ProvidedApisCard, HasApisCard,
ConsumingComponentsCard, and ProvidingComponentsCard to use
EntityRelationCard from catalog-react. Add BUI column presets for
API-specific columns alongside existing MUI presets. Remove variant
and tableOptions props.

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

* chore: add API reports and changesets for entity table card migration

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

* fix(catalog-react,api-docs): refine entity card migration

Use BUI Alert for error states and BUI Link for empty state help
links in EntityRelationCard instead of core-components. Replace MUI
ToggleButton with BUI ButtonIcon for the API definition column.
Add trailing periods to empty state translation messages. Fix tests
asserting on removed external link icon SVG.

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

* feat(catalog-react): add column sorting to EntityDataTable

Introduce EntityColumnConfig extending ColumnConfig with an optional
sortValue getter. EntityDataTable now uses useTable with a sortFn
that reads sortValue from each column, restoring the per-column
sorting that the old core-components Table provided by default. All
built-in column factories set isSortable and sortValue.

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

* fix(api-docs): use dynamic entity kind in empty state messages

Restore entity.kind interpolation in ConsumedApisCard, ProvidedApisCard,
and HasApisCard empty state translations instead of hardcoded strings.

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

* fix(catalog-react): use data length for useTable pageSize

Replace pageSize: Infinity with tableData.length to avoid potential
edge cases in pagination math.

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

* fix(catalog-react): avoid this binding in column factories

Use columnFactories.createEntityRelationColumn instead of
this.createEntityRelationColumn so the methods work when
destructured.

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

* chore: update alpha API reports

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

* fix(create-app): remove variant prop from migrated entity cards in template

The create-app template EntityPage still passed variant="gridItem"
to cards that no longer accept it.

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

* test(catalog-react): add tests for EntityDataTable and EntityRelationCard

Cover rendering with data, empty state, error state, and column
sorting for EntityDataTable. Cover title rendering, empty state
with help link, related entity display, and error state for
EntityRelationCard.

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

* refactor(catalog,api-docs): add backwards compatibility for legacy props

Support both old (variant, columns, tableOptions) and new (columnConfig)
props via a discriminated union type. When legacy props are detected the
old MUI-based implementation is used; otherwise the new BUI-based
EntityRelationCard renders. This avoids immediate breaking changes and
provides a migration path. Changesets downgraded from major/minor to
minor/patch accordingly.

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

* refactor(catalog-react,catalog,api-docs): address review feedback

Remove BaseProps types and use inline union in component signatures.
Move EntityDataTable, EntityRelationCard, and related types to alpha
exports. Group column presets and help links into entityColumnPresets
object. Update all consumers and API reports.

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

---------

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-17 14:33:45 +00:00
Patrik Oldsberg 0c12141335 chore: dedupe lockfile for header page migration
Refresh the root lockfile after the new header page dependencies so the verify duplicate check passes in CI.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 15:05:39 +01:00
Patrik Oldsberg f19392de18 Move user settings NFS tabs to subpages
Switch the new frontend system settings page to built-in subpages so the top-level page tabs come from the app shell, while keeping the legacy settings layout for the old frontend system.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 15:05:38 +01:00
Patrik Oldsberg aa29b508d1 Migrate NFS pages to HeaderPage
Always render the plugin header for page blueprints and move page-level actions into the Backstage UI header pattern for affected NFS pages.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 15:05:38 +01:00
Patrik Oldsberg c7201754af Merge master and update toastApiRef to new ApiRef pattern
Resolve merge conflicts from master introducing the new ApiRef_2 type
pattern with `.with()` builder. Update toastApiRef to use the same
`createApiRef<T>().with({ id, pluginId })` pattern as all other API
refs, and regenerate API reports.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 14:45:22 +01:00
Patrik Oldsberg ec794b9e8b frontend-app-api: fix changed-package lint regressions
Declare the new frontend test dependencies, avoid the finalize options shadowing lint error, and add explicit assertions in frontend-test-utils so the changed-package lint jobs pass again.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 13:05:00 +01:00
Patrik Oldsberg 3c6436cba0 core-compat-api: restore filter predicate dependency
Keep the redeclared filter-predicates dependency required by core-compat-api's inline frontend imports so the changed-package lint check passes.

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