74233 Commits

Author SHA1 Message Date
Patrik Oldsberg b2319ffe45 errors: add toError utility and migrate assertError usages
Add a `toError` utility function to `@backstage/errors` that converts
unknown values to `ErrorLike` objects. If the value is already error-like
it is returned as-is. Strings are used directly as the error message, and
other values are stringified with a fallback to JSON.stringify to avoid
unhelpful `[object Object]` messages.

Non-error causes passed to `CustomErrorBase` are now converted and stored
using `toError` rather than discarded. Existing `assertError` call sites
across the codebase are migrated to `toError`.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-03 10:16:23 +02:00
Fredrik Adelöw 3cdf048f77 Merge pull request #33534 from kurtaking/migrate-scaffolder-to-metrics-service 2026-04-03 09:19:45 +02:00
Kurt King eacf362bd8 Migrate to MetricsService
Signed-off-by: Kurt King <kurtaking@gmail.com>
2026-04-02 23:47:59 -06:00
Kurt King b37a79ef5b Merge branch 'master' of https://github.com/backstage/backstage into migrate-scaffolder-to-metrics-service 2026-04-02 22:47:04 -06:00
Fredrik Adelöw b8158ed1bf Merge pull request #33726 from backstage/renovate/npm-lodash-vulnerability 2026-04-03 06:31:28 +02:00
Fredrik Adelöw a071c6b44d Merge pull request #33722 from backstage/dependabot/npm_and_yarn/lodash-es-4.18.1 2026-04-03 06:30:17 +02:00
Patrik Oldsberg 6e2d963126 Merge pull request #33712 from backstage/rugvip/catalog-nfs-catalog-index-page
catalog: export CatalogIndexPage from alpha entry point
2026-04-03 01:01:33 +02:00
Patrik Oldsberg 15660cfbf9 Merge pull request #33682 from backstage/github-support-app-no-org
Fix GitHub app credentials for bare host URLs
2026-04-03 00:58:55 +02:00
Roland Fuszenecker 21e7ec5d74 feat(backend-defaults): improve AWS RDS IAM auth error handling and token expiry
Signed-off-by: Roland Fuszenecker <roland.fuszenecker@seon.io>
2026-04-02 15:34:09 +02:00
Roland Fuszenecker c69e03ce3d feat(backend-defaults): add AWS RDS IAM authentication support for PostgreSQL
Signed-off-by: Roland Fuszenecker <roland.fuszenecker@seon.io>
2026-04-02 15:34:02 +02:00
Johan Persson c193ef1f9f feat(catalog): add Kind field to About Card
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-04-02 15:03:09 +02:00
wpessers ee6a133dd7 update test naming
Signed-off-by: wpessers <warre.pessers@gmail.com>
2026-04-02 14:46:53 +02:00
Yata Rupesh 7d5a3a2567 Change accordion snippet height to auto for GroupMultipleOpen
Signed-off-by: Yata Rupesh <99956608+RupeshRoyal@users.noreply.github.com>
2026-04-02 14:19:14 +02:00
Patrik Oldsberg ee1531dca5 catalog: export CatalogIndexPage from alpha entry point
Export NfsDefaultCatalogPage as CatalogIndexPage from the ./alpha entry
point along with CatalogIndexPageProps, CatalogTableRow, and
CatalogTableColumnsFunc. This allows adopters to use and customize the
catalog index page within a PageBlueprint in the new frontend system.

No changes to the stable main entry point API.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-02 14:03:16 +02:00
renovate[bot] 4acb606f21 chore(deps): update dependency lodash to v4.18.1 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-02 10:39:07 +00:00
Peter Macdonald a7859cf2dc phrasing
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-04-02 10:46:47 +02:00
Peter Macdonald 7f688e5e8f re-word the subpageblueprint section a bit
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-04-02 10:44:00 +02:00
dependabot[bot] 6dc116caf1 chore(deps): Bump lodash-es from 4.17.23 to 4.18.1
Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 07:45:22 +00:00
Patrik Oldsberg c0908fe5b5 cli: add error handling for config close and startup failure cleanup
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-02 00:38:35 +02:00
Patrik Oldsberg 13c5f97337 cli: clean up stale embedded-postgres temp directories on startup
Uses a PID file to track which process owns each temp directory, so
concurrent instances from different projects are not affected.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-02 00:34:49 +02:00
Patrik Oldsberg 77d17a5110 cli: add experimental warning for embedded-postgres
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-02 00:34:48 +02:00
Patrik Oldsberg 7e7e763163 cli: add tests for embedded-postgres config detection
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-02 00:34:48 +02:00
Patrik Oldsberg 1f88d2624b cli: address review feedback for embedded-postgres
- Close embedded DB on shutdown to avoid leaking the Postgres process
  and temp directory
- Use fs.remove instead of deprecated fs.rmdir with recursive option
- Guard against absolute config paths in readDatabaseClient
- Forward embedded-postgres error logs to console.error

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-02 00:34:48 +02:00
Aurnik aa5faacb2b Fix docs quality check: replace 'draggable' with 'movable'
Signed-off-by: Aurnik <aurnikislam@gmail.com>
2026-04-02 08:58:38 +13:00
Aurnik 419141ed6a Fix home page widgets not being draggable/resizable after first save
Fixes #32677

Signed-off-by: Aurnik <aurnikislam@gmail.com>
2026-04-02 08:53:30 +13:00
Patrik Oldsberg ae1cdd9e9f cli: remove custom embedded-postgres type declarations
The 18.x version ships its own .d.ts files that TypeScript resolves
correctly, so the custom module declaration is no longer needed.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 21:30:27 +02:00
Patrik Oldsberg d80e59ce9e cli: bump embedded-postgres to 18.3.0-beta.16
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 21:26:28 +02:00
Patrik Oldsberg 7bf4814173 cli: make embedded-postgres an optional peer dependency
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 21:22:14 +02:00
Patrik Oldsberg 45075dddcd cli: use ForwardedError for embedded-postgres import failure
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 21:20:10 +02:00
Patrik Oldsberg a922b3b921 cli: fix error message for missing embedded-postgres dependency
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 21:19:28 +02:00
Patrik Oldsberg b43c1f1bcb cli: simplify config loading using ConfigSources.toConfig
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 19:55:11 +02:00
Patrik Oldsberg 6537e5f8c1 cli: fix type errors and test for embedded-postgres
Fix implicit any types in startEmbeddedDb callbacks, replace the
re-export type declaration with an inline type definition for the
embedded-postgres module, and update runBackend tests to mock the
config loading and use async timer advancement.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 15:40:31 +02:00
Patrik Oldsberg 7bc057e8b6 Merge pull request #33703 from backstage/feat/auth0-federated-logout
feat(auth): support provider logout redirects, implement Auth0 federated logout
2026-04-01 15:27:27 +02:00
Jonathan Roebuck 3bddf23896 refactor(auth0): use URL/URLSearchParams for logout URL construction
Replace manual string concatenation with URL and URLSearchParams for
safer encoding and better readability.

Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 13:43:34 +01:00
Jonathan Roebuck 25e8a65b46 refactor(auth0): rename config key federated to federatedLogout
The `federated` config key was ambiguous. Rename to `federatedLogout`
for clarity since it specifically controls federated logout behavior.

Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 13:41:06 +01:00
Patrik Oldsberg 8f93ed9e12 scaffolder: address copilot review feedback
- Use translation key for "No schema defined" fallback instead of hardcoded string
- Add aria-label to the enum format button for accessibility
- Remove unnecessary `as any` casts on defaultWidth column config
- Fix "Github" -> "GitHub" capitalization in test data
- Update changeset wording to match actual sidebar list UI

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 14:32:38 +02:00
Jonathan Roebuck 7d002e83a5 fix(auth0): remove untestable app.baseUrl fallback test
The origin header is always present in browser POST requests, making
the fallback scenario unreachable in practice.

Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 13:28:32 +01:00
wpessers cca9fc2bb6 feat(catalog): add retries to octokit client
Signed-off-by: wpessers <warre.pessers@gmail.com>
2026-04-01 14:23:55 +02:00
Jonathan Roebuck e2d96b7140 chore: address PR feedback on changesets
Add @backstage/plugin-app to core-app-api changeset, reword to avoid
internal export name, and downgrade auth-node bump to patch.

Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 13:09:59 +01:00
Jack Palmer 208cf5f922 fix(auth): add security hardening and federated config for Auth0 logout
Add server-side URL validation for logoutUrl (HTTPS + localhost only),
origin validation on the logout endpoint, and a configurable `federated`
option (default false) for Auth0 provider logout. Includes comprehensive
test coverage for all security controls.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jack Palmer <jackpalmer@spotify.com>
2026-04-01 13:06:43 +01:00
Jack Palmer 3532be4763 fix(auth): harden logout redirect with origin validation and protocol check
Add origin allowlist validation in the OAuth logout handler (matching
the existing start/refresh pattern) and validate the logoutUrl protocol
on the frontend before redirecting. Also replace inline type annotation
with the named OAuthAuthenticatorLogoutResult type.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jack Palmer <jackpalmer@spotify.com>
2026-04-01 13:06:43 +01:00
Jonathan Roebuck a07f0196e2 chore: update auth0 provider API report with domain and clientID fields
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>
2026-04-01 13:06:40 +01:00
Patrik Oldsberg 538d0a1488 cli: enable embedded-postgres via config instead of env var
Rather than requiring the `EXPERIMENTAL_DEV_DB` environment variable,
the embedded postgres server is now started automatically when
`backend.database.client` is set to `embedded-postgres` in the app
config. The CLI reads the config before spawning the backend and
injects the actual pg connection details via env override.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 13:03:11 +02:00
Patrik Oldsberg f14df56222 cli: experimental support for using embedded-postgres as dev DB
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 12:57:49 +02:00
Patrik Oldsberg b9fec1bdc8 Merge pull request #33642 from backstage/dist-workspace-pack-batching
cli-module-build: pack packages in batches inside createDistWorkspace
2026-04-01 11:54:21 +02:00
Fredrik Adelöw 9c953f9eff Merge pull request #32943 from Vivek1819/fix/scaffolder-markdown-links-new-tab
fix(scaffolder): open markdown links in new tab for template outputs
2026-04-01 11:49:20 +02:00
MT Lewis 8f174e18e9 cli-module-build: pack sequentially when cycles are detected in dependencies
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2026-04-01 09:48:11 +01:00
Peter Macdonald af968456de Merge pull request #33700 from Parsifal-M/docs/update-fe-skill
docs: Update FE migration skill
2026-04-01 09:35:57 +02:00
Fredrik Adelöw 49efae88e4 Merge pull request #33704 from backstage/freben/fix-docs-broken-links
docs: fix broken links and anchors across documentation
2026-04-01 09:02:46 +02:00
Hellgren Heikki 19a2a038aa feat(notifications): migrate to backstage ui
migrated notifications plugin to use backstage ui instead
material ui.

Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2026-04-01 08:41:59 +03:00