74233 Commits

Author SHA1 Message Date
backstage-goalie[bot] c2e852b3a3 Merge pull request #34434 from backstage/renovate/pg-8.x-lockfile
Deploy Microsite / stable (push) Failing after 10m52s
Deploy Microsite / next (push) Failing after 1m31s
Deploy Microsite / deploy-microsite-and-storybook (push) Has been skipped
Deploy Packages / build (22.x) (push) Failing after 4m12s
Deploy Packages / build (24.x) (push) Failing after 1m43s
Scorecard supply-chain security / Scorecard analysis (push) Failing after 10m45s
Sync BUI Docs / sync-docs-ui (push) Failing after 1m18s
Sync code formatting / Autofix Markdown files using Prettier (push) Failing after 4m29s
Sync Version Packages PR / Create Changeset PR (push) Failing after 20s
Chromatic / Chromatic (22.x, ubuntu-latest) (push) Failing after 5m52s
Verify CodeQL / Analyze (javascript) (push) Failing after 10m46s
E2E Linux / E2E Linux 22.x (push) Failing after 1m31s
E2E Linux / E2E Linux 24.x (push) Failing after 1m47s
E2E Techdocs / Techdocs (22.x) (push) Failing after 3m4s
E2E Techdocs / Techdocs (24.x) (push) Failing after 1m36s
Verify FOSSA / analyze (push) Failing after 44s
Deploy Packages / release (22.x) (push) Has been skipped
E2E Windows / E2E Windows 22.x (push) Has been cancelled
E2E Windows / E2E Windows 24.x (push) Has been cancelled
Verify Master Branch on Windows / build (22.x) (push) Has been cancelled
Verify Master Branch on Windows / build (24.x) (push) Has been cancelled
Update dependency pg to v8.21.0
2026-06-01 16:46:19 +00:00
renovate[bot] 372eb5ab6b Update dependency pg to v8.21.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 15:23:52 +00:00
Johan Persson 1f709a386b fix(ui): preserve Header breadcrumb typography
Increase the specificity of Header breadcrumb styles so that Link defaults do not override contextual typography when stylesheets are loaded in a different order.

Add a patch changeset for @backstage/ui.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-06-01 11:32:46 +02:00
Fredrik Adelöw 0d8d90b351 Merge pull request #34368 from backstage/renovate/rollup-4.x-lockfile
Update dependency rollup to v4.60.4
2026-05-29 20:54:08 +02:00
Fredrik Adelöw b55138e4ba Merge pull request #34444 from backstage/freben/fix-ci-timing-flakes
fix: increase timing thresholds in CI-flaky database tests
2026-05-29 17:36:39 +02:00
Fredrik Adelöw 496982782b fix: fix CI-flaky database test timing
DatabaseEventBusStore: 500ms → 2000ms for the performance threshold
when cleaning 100k rows — this is intentionally a perf test so a real
time assertion is correct, it just needs more headroom for CI.

DatabaseKeyStore: replace fixed 500ms sleep with waitForExpect polling
so the test adapts to however long the async deletion actually takes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-29 16:56:21 +02:00
Charles de Dreuille c2f9d8c25d Merge pull request #34400 from backstage/feat/bui-token-redesign
feat(ui): introduce semantic color token families and deprecate legacy tokens
2026-05-29 15:40:20 +01:00
Charles de Dreuille 78f6fd3b5b Small fixes
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-05-29 16:07:56 +02:00
Charles de Dreuille a4f2c56110 Bring back correct neutral tokens
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-05-29 15:59:39 +02:00
Charles de Dreuille 64c8108166 Move to minor
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-05-29 13:35:11 +02:00
Fredrik Adelöw 8f7c02a525 Merge pull request #34425 from backstage/freben/fix-msgraph-group-member-filter
fix(catalog-backend-module-msgraph): filter disabled group members client-side
2026-05-29 10:41:55 +02:00
Fredrik Adelöw 39e0c4f155 Introduce MINIMUM_USER_SELECT with id and accountEnabled
Replace ensureSelectContains with ensureMinimumSelect that adds all
fields our code requires (id for photo fetching and Map keys,
accountEnabled for disabled user filtering). Separates the minimum
viable set from the default projection list.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-29 10:11:42 +02:00
backstage-goalie[bot] 854c88cde4 Merge pull request #34433 from backstage/renovate/node-gyp-12.x-lockfile
chore(deps): update dependency node-gyp to v12.3.0
2026-05-28 20:22:36 +00:00
renovate[bot] 89f08c5304 chore(deps): update dependency node-gyp to v12.3.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 19:40:08 +00:00
backstage-goalie[bot] 19c94c49e8 Merge pull request #34432 from backstage/renovate/mysql2-3.x-lockfile
chore(deps): update dependency mysql2 to v3.22.3
2026-05-28 19:30:01 +00:00
renovate[bot] 813e7d9ef6 chore(deps): update dependency mysql2 to v3.22.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 18:42:16 +00:00
backstage-goalie[bot] d0e64a1603 Merge pull request #34429 from backstage/renovate/isomorphic-git-1.x-lockfile
chore(deps): update dependency isomorphic-git to v1.38.2
2026-05-28 18:33:22 +00:00
backstage-goalie[bot] b2117003c4 Merge pull request #34428 from backstage/renovate/ipaddr.js-2.x-lockfile
chore(deps): update dependency ipaddr.js to v2.4.0
2026-05-28 18:33:17 +00:00
renovate[bot] 11f2765e63 chore(deps): update dependency isomorphic-git to v1.38.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 17:48:23 +00:00
renovate[bot] afe3160dfa chore(deps): update dependency ipaddr.js to v2.4.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 17:47:53 +00:00
backstage-goalie[bot] 6ef44643ee Merge pull request #34391 from backstage/renovate/globals-17.x-lockfile
chore(deps): update dependency globals to v17.6.0
2026-05-28 17:36:36 +00:00
backstage-goalie[bot] ddd22005e9 Merge pull request #34390 from backstage/renovate/express-rate-limit-8.x-lockfile
chore(deps): update dependency express-rate-limit to v8.5.2
2026-05-28 17:36:31 +00:00
Fredrik Adelöw 37b29c240b Merge pull request #34427 from halkeye/patch-2 2026-05-28 18:38:40 +02:00
Gavin Mogan 47fc640b49 fix(catalog-backend-module-backstage-openapi): Remove extra quote in example config
Signed-off-by: Gavin Mogan <github@gavinmogan.com>
2026-05-28 09:02:22 -07:00
Fredrik Adelöw 4857351bf3 Merge pull request #34415 from stijnbrouwers/bugfix/gitlab-archive-fetch 2026-05-28 17:52:36 +02:00
Fredrik Adelöw 1fc84c8df8 Always request accountEnabled in $select
The Microsoft Graph API does NOT include accountEnabled in the
default user projection — it requires an explicit $select. Without
it, the client-side filterDisabledUsers check cannot work because
the field is undefined in the response.

Add a DEFAULT_USER_SELECT constant with all default Graph API user
fields plus accountEnabled. ensureSelectContains now falls back to
this list when no custom userSelect is configured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 17:24:37 +02:00
Fredrik Adelöw bbb9ca105f Fix inconsistent accountEnabled wording across docs and changeset
Consistently use 'accountEnabled === false' everywhere to describe
which users are filtered out.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 17:02:02 +02:00
Fredrik Adelöw 44f017668b Fix remaining stale docs and add mutual exclusivity tests
- Fix two remaining config.d.ts entries that still referenced the
  automatic accountEnabled base filter
- Add tests verifying that userFilter + userGroupMemberFilter and
  userFilter + userGroupMemberSearch are rejected

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 16:53:20 +02:00
renovate[bot] 593d011eea chore(deps): update dependency globals to v17.6.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 14:49:14 +00:00
renovate[bot] ce6a326c5c chore(deps): update dependency express-rate-limit to v8.5.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 14:48:45 +00:00
renovate[bot] 9dfb8948ea chore(deps): update dependency rollup to v4.60.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 14:45:49 +00:00
Fredrik Adelöw c630594e7a Merge pull request #34423 from backstage/freben/enable-corepack-ci
ci: enable corepack in setup-node steps
2026-05-28 16:27:26 +02:00
Fredrik Adelöw 42a907dfe0 Add test coverage for both user paths with and without userSelect
Cover the disabled user filtering and select augmentation for both
the /users and group members paths, with and without userSelect
configured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 15:55:33 +02:00
Fredrik Adelöw 72152935ef Use !== false for safer disabled user filtering
The === true check would silently drop all users if accountEnabled
is not in the API response (e.g. if the default projection omits
it). The !== false check is safer: it only filters users that are
explicitly disabled, and passes through users with unset
accountEnabled (same as pre-v1.51.0 behavior).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 15:53:25 +02:00
Fredrik Adelöw 5b07b4ef04 Simplify ensureSelectContains to accept undefined, inline calls
Accept undefined input (returns undefined, preserving default
projection). Inline the calls at both use sites per review feedback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 15:37:20 +02:00
Fredrik Adelöw ce2e763606 Address review: use === true, update docs, add tests
- Use accountEnabled === true instead of !== false (stricter,
  excludes users with unset accountEnabled)
- Update doc comments to mention client-side filtering and remove
  accountEnabled from the filter example
- Update changeset to mention userGroupMemberSearch exclusivity
- Add accountEnabled: true to test mocks
- Add regression tests for disabled user filtering

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 15:33:08 +02:00
Fredrik Adelöw 8930d77157 fix(catalog-backend-module-msgraph): filter disabled users client-side
Revert the server-side accountEnabled base filter from #34165 which
broke the group members endpoint. Filter disabled users client-side
in both the /users and group members paths. Restore the mutual
exclusivity check between userFilter and userGroupMemberFilter.

Fixes #34422

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 15:24:48 +02:00
Fredrik Adelöw 3346845548 Merge pull request #34421 from backstage/freben/mysql-connect-timeout
fix(backend-test-utils): increase MySQL connect and pool timeouts
2026-05-28 10:21:42 +02:00
Fredrik Adelöw ebcc8b7ca9 ci: enable corepack in setup-node steps
The actions/setup-node@v6.4.0 upgrade stopped auto-shimming yarn onto
PATH via corepack. The yarn-plugin test spawns yarn via Node's
child_process.spawn() which does a raw PATH lookup, causing
ENOENT failures. Adding corepack: true ensures the yarn shim is
available.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-28 10:20:37 +02:00
Stijn Brouwers 3692a346a5 chore(gitlabUrlReader): Add comment and patch file
Signed-off-by: Stijn Brouwers <stijn@bdcommit.com>
2026-05-28 09:26:05 +02:00
Stijn Brouwers 05d4126db0 chore(code-review): Use single quote instead of ticks
Signed-off-by: Stijn Brouwers <stijn@bdcommit.com>
2026-05-28 09:13:38 +02:00
Ahmet Oğuzhan Engin f9cee7bc13 docs: add backend.startup configuration documentation (#34137)
* docs: add backend.startup configuration documentation

Add a new 'Startup Configuration' section at the bottom of the
building-backends guide documenting the backend.startup config block.

- Explains onPluginBootFailure per-plugin control
- Explains onPluginModuleBootFailure per-module control
- Shows how to set a global default via backend.startup.default
- Includes a full YAML configuration reference

Closes #34075

Signed-off-by: ahmetoguzhanengin <ahmetoguzhanengin@gmail.com>

* docs: fix backend.startup examples per Copilot review

- Replace 'githubEntityProvider' with 'github' (the actual moduleId)
  as declared in createBackendModule({ moduleId: '...' })
- Replace 'abort | continue' YAML values with 'abort # or continue'
  to avoid invalid literal string interpretation

Signed-off-by: Ahmet Oğuzhan Engin <ahmetoguzhanengin@gmail.com>
Signed-off-by: ahmetoguzhanengin <ahmetoguzhanengin@gmail.com>

---------

Signed-off-by: ahmetoguzhanengin <ahmetoguzhanengin@gmail.com>
Signed-off-by: Ahmet Oğuzhan Engin <ahmetoguzhanengin@gmail.com>
2026-05-27 23:20:32 -04:00
Fredrik Adelöw 2d181c035d Add changeset
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-27 22:37:22 +02:00
Fredrik Adelöw 2a85164e49 Use cheaper auth plugin and skip binlog for test MySQL containers
Switch the dockerized MySQL container to mysql_native_password (single
challenge-response) instead of the default caching_sha2_password
(extra RSA key exchange round-trip on non-TLS connections). Also
disable binary logging since tests don't need replication. Both
reduce per-connection overhead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-27 22:36:57 +02:00
Fredrik Adelöw 6fe88aabb3 fix(backend-test-utils): increase MySQL connect and pool timeouts
The mysql2 driver defaults to a 10-second connect timeout, which is
too short when many test suites share a single MySQL container under
CI load. Increase the connect timeout to 30 seconds and add pool
acquire/create timeouts of 30 seconds to reduce flaky ETIMEDOUT
failures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-05-27 22:35:31 +02:00
backstage-goalie[bot] a71ae90198 Merge pull request #34417 from backstage/renovate/graphql-16.x-lockfile
chore(deps): update dependency graphql to v16.14.0
2026-05-27 16:49:38 +00:00
James Brooks b33bb24b5a Add NumberField component to @backstage/ui (#34264)
* Add NumberField component to @backstage/ui

Signed-off-by: James Brooks <jamesbrooks@spotify.com>

* Address review feedback on NumberField

Signed-off-by: James Brooks <jamesbrooks@spotify.com>

* Fix NumberField CSS formatting

Signed-off-by: James Brooks <jamesbrooks@spotify.com>

* Add increment/decrement buttons to NumberField

Signed-off-by: James Brooks <jamesbrooks@spotify.com>

* Fix NumberField looking disabled at min/max bounds

Signed-off-by: James Brooks <jamesbrooks@spotify.com>

---------

Signed-off-by: James Brooks <jamesbrooks@spotify.com>
2026-05-27 17:20:27 +02:00
Fredrik Adelöw 58fb313f22 Merge pull request #34398 from robingileborg/master
Bitbucket username should not be treated as a secret
2026-05-27 16:29:50 +02:00
Fredrik Adelöw 18644ee7a2 Merge pull request #34406 from F-Secure-web/replace-react-use-recommendations-with-react-hookz-web
docs: Replace `react-use` recommendations with `@react-hookz/web`
2026-05-27 16:13:10 +02:00
Fredrik Adelöw 5aa867c86f Merge pull request #34416 from backstage/freben/fix-missing-runtime-deps
fix: restore runtime dependencies incorrectly demoted to devDependencies
2026-05-27 15:30:53 +02:00