Commit Graph

72584 Commits

Author SHA1 Message Date
dependabot[bot] 19ef9fbf34 build(deps): bump nodemailer from 7.0.13 to 8.0.4
Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 7.0.13 to 8.0.4.
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v7.0.13...v8.0.4)

---
updated-dependencies:
- dependency-name: nodemailer
  dependency-version: 8.0.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 01:14:52 +00:00
backstage-goalie[bot] cfa0fa1dbb Merge pull request #33605 from backstage/renovate/npm-handlebars-vulnerability
chore(deps): update dependency handlebars to v4.7.9 [security]
2026-03-27 00:52:15 +00:00
renovate[bot] 692d885675 chore(deps): update dependency handlebars to v4.7.9 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 23:54:46 +00:00
Charles de Dreuille 66a75bd7d5 Merge pull request #33597 from backstage/bui-fix-relative-links
fix(ui): resolve relative hrefs to absolute paths before navigation
2026-03-26 17:24:44 +00:00
Johan Persson 07ede0ce30 patch: add pr-33597 to patch release
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-26 17:26:34 +01:00
Johan Persson d840ba9053 fix(ui): resolve relative hrefs to absolute paths before navigation
BUI link components with relative hrefs (e.g. `../other`) would
navigate to the wrong URL because React Aria's navigate callback
receives the raw href string and cannot resolve it correctly from
where it is called in Backstage's routing setup.

This adds a `resolveHref` flag to the component definition system.
When enabled, `useDefinition` calls `useHref()` to turn relative
hrefs into absolute paths before they reach the React Aria layer.
A compile-time type guard ensures components with `href` in their
props cannot omit the flag.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-26 17:26:34 +01:00
Fredrik Adelöw 3f8060c460 Merge pull request #33536 from jonkoops/fix/zod-schema-first-generics
fix: use schema-first generic pattern for Zod type compatibility
2026-03-26 17:16:51 +01:00
Fredrik Adelöw 171e91727f Merge pull request #33598 from backstage/freben/kleen
cleanup in prep for next patch
2026-03-26 17:05:49 +01:00
Fredrik Adelöw b6b076bf66 cleanup in prep for next patch
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-26 17:04:35 +01:00
Jon Koops fa550786b0 fix: use schema-first generic pattern for Zod type compatibility
Refactor `SignInResolverFactoryOptions` and `createSchemaFromZod` to use
`TSchema extends ZodType` instead of `ZodSchema<Output, Def, Input>`,
avoiding "excessively deep" TypeScript inference errors when multiple
Zod copies are resolved in a project.

Signed-off-by: Jon Koops <jonkoops@gmail.com>
2026-03-26 16:31:41 +01:00
backstage-goalie[bot] cb127fd0a4 Merge pull request #33593 from backstage/renovate/npm-yaml-vulnerability
chore(deps): update dependency yaml to v2.8.3 [security]
2026-03-26 15:09:04 +00:00
Charles de Dreuille 73cdfb0e8e Merge pull request #33112 from AmbrishRamachandiran/range-slider-component
BUI - Add new range slider component
2026-03-26 14:37:00 +00:00
renovate[bot] 3d78b0f9e8 chore(deps): update dependency yaml to v2.8.3 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 14:10:15 +00:00
Patrik Oldsberg 9e80eff573 docs: update MUI to BUI migration skill (#33548)
Update the MUI to BUI migration skill to reflect the current state
of the @backstage/ui package.


Made-with: Cursor

Made-with: Cursor

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-26 15:03:33 +01:00
Fredrik Adelöw c2808c9676 Merge pull request #33585 from backstage/dependabot/npm_and_yarn/microsite/picomatch-2.3.2
build(deps): bump picomatch from 2.3.1 to 2.3.2 in /microsite
2026-03-26 14:58:38 +01:00
Fredrik Adelöw d926836bce Merge pull request #33591 from backstage/freben/exclusivity
exclude some dirs in microsite to speed things up
2026-03-26 14:55:57 +01:00
Johan Persson 87eb31c141 fix(org): prevent profile card content overflow on narrow screens
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-26 14:49:13 +01:00
Johan Persson eba2f615b6 fix(catalog-react): prevent EntityInfoCard header overflow on narrow screens
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-26 14:49:13 +01:00
Johan Persson 5081bcc4fa fix(ui): prevent Avatar from shrinking in flex layouts
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-26 14:49:13 +01:00
Fredrik Adelöw a9dd4fd28d Merge pull request #33590 from jonkoops/fix/eslint-plugin-ts6-compat 2026-03-26 13:36:09 +01:00
Fredrik Adelöw 65bf3a12be exclude some dirs in microsite to speed things up
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-26 13:20:43 +01:00
Jon Koops df43b0e149 fix(eslint-plugin): fix TypeScript 6.0 type errors in no-mixed-plugin-imports
TypeScript 6.0 no longer applies bivariant checking to method-shorthand
functions that don't reference `this`. This causes the `fix` callbacks in
suggestion descriptors to fail type checking when they return `void`
instead of a valid `Fix | null` value.

- Return `null` from non-fixable suggestion `fix` handlers
- Add explicit `SuggestionReportDescriptor[]` type annotation to `suggest`
- Remove redundant `@param` JSDoc annotations now covered by the array type

Signed-off-by: Jon Koops <jonkoops@gmail.com>
2026-03-26 12:31:11 +01:00
Johan Persson 7b77d918ca fix(docs-ui): strip backticks from affected component names in changelog sync
Vale validation can require backticks around component names like
`useTable` in changesets. The sync script now strips backticks so
these names are matched correctly.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-26 10:14:46 +01:00
Johan Persson 9ff7b4d56b docs: fix component name casing in changeset README examples
Component names in the "Affected components" examples should use
PascalCase (Button, Card, Table) to match actual component names.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-26 10:14:46 +01:00
dependabot[bot] b1204bb1a9 build(deps): bump picomatch from 2.3.1 to 2.3.2 in /microsite
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 23:21:49 +00:00
Peter Macdonald cf4b4789f1 Merge pull request #33572 from Parsifal-M/docs/golden-paths-prep-ga
docs: golden paths prepping for GA
2026-03-25 17:52:27 +01:00
Stephanie Cao 309b7128c4 feat(scaffolder): create scaffolder mcp action to execute a template (#33124)
* create mcp action to execute a template

Signed-off-by: Stephanie <yangcao@redhat.com>

* include changeset

Signed-off-by: Stephanie <yangcao@redhat.com>

* address test errors and review comments from copilot

Signed-off-by: Stephanie <yangcao@redhat.com>

* address review comments

Signed-off-by: Stephanie <yangcao@redhat.com>

* add execute-template to mcp actions list

Signed-off-by: Stephanie <yangcao@redhat.com>

* fix: address review feedback for execute-template action

Signed-off-by: benjdlambert <ben@blam.sh>

---------

Signed-off-by: Stephanie <yangcao@redhat.com>
Signed-off-by: benjdlambert <ben@blam.sh>
Co-authored-by: benjdlambert <ben@blam.sh>
2026-03-25 16:30:49 +01:00
Peter Macdonald 1b8d4be5df reference analytics docs in prepping for ga and remove the dead links to ga from analytics plugin docs
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-25 13:56:48 +01:00
Peter Macdonald 5848bc40e8 add adoption to the golden paths sidebar items
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-25 13:35:03 +01:00
Peter Macdonald 2f88cef8f4 Merge branch 'master' into docs/golden-paths-prep-ga 2026-03-25 13:33:20 +01:00
Peter Macdonald 36d205a455 Merge pull request #33573 from Parsifal-M/docs/golden-paths-plugin-ownership
docs: golden paths plugin ownership
2026-03-25 13:18:18 +01:00
Patrik Oldsberg e7e2fb2a5a Merge pull request #33570 from backstage/rugvip/nfs-migration-skills
docs: add frontend system migration skills
2026-03-25 11:54:17 +01:00
Peter Macdonald c397a27d77 golden paths plugin ownership
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-25 11:08:48 +01:00
Patrik Oldsberg d031c9fe0f docs: fix missing import and replace deprecated HeaderPage with Header
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 10:52:48 +01:00
Peter Macdonald 65f3aa7c3d don't use comms use communication
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-25 10:34:33 +01:00
Peter Macdonald 1fcc30299d preparing for GA
Signed-off-by: Peter Macdonald <peterm4c@pm.me>
2026-03-25 10:27:46 +01:00
Jonathan Roebuck d0f055f949 feat(ui): add showPaginationLabel prop to TablePagination (#33552)
* feat(ui): add showPaginationLabel to type definitions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* feat(ui): wire showPaginationLabel through useTable and Table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* feat(ui): conditionally render pagination label based on showPaginationLabel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* chore(ui): add changeset and update API reports for showPaginationLabel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* Update .changeset/show-pagination-label.md

Co-authored-by: Johan Persson <johanopersson@gmail.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* docs(ui): document showPaginationLabel prop in docs-ui

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* fix(ui): wrap component names in backticks in changeset

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* fix(ui): move pagination display options to inner useMemo dependency array

Move showPageSizeOptions, getLabel, and showPaginationLabel from the
outer useMemo dependency array to the inner pagination useMemo
dependency array so that changes to these options correctly trigger
a new pagination object reference.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>

* chore(ui): remove backticks from changeset

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

* Revert "chore(ui): remove backticks from changeset"

This reverts commit 9b7f8bb6e83c28587219b7734676b1c062661a8a.

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

---------

Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Johan Persson <johanopersson@gmail.com>
2026-03-25 09:21:55 +00:00
Patrik Oldsberg db7b6d1716 docs: refine skill descriptions
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 10:08:21 +01:00
Patrik Oldsberg fe6f4a03ab docs: add frontend system migration skills
Add three new skill documents for migrating to the new Backstage frontend system:

- App migration (old app-defaults to new frontend-defaults)
- Plugin dual-support (adding new system support while keeping old system working)
- Plugin full migration (completely moving to the new frontend system)

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-25 09:58:27 +01:00
Fredrik Adelöw b78d3ba114 Merge pull request #33564 from backstage/fix/translation-ref-ts6-depth
fix(frontend-plugin-api): fix FlattenedMessages type depth for TypeScript 6
2026-03-25 08:57:43 +01:00
backstage-goalie[bot] df6739a90f Merge pull request #33567 from backstage/renovate/eslint-plugin-testing-library-7.x-lockfile
chore(deps): update dependency eslint-plugin-testing-library to v7.16.1
2026-03-25 03:18:44 +00:00
renovate[bot] 125b890632 chore(deps): update dependency eslint-plugin-testing-library to v7.16.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 02:18:23 +00:00
backstage-goalie[bot] 7b846497a2 Merge pull request #33566 from backstage/renovate/dockerode-4.x-lockfile
chore(deps): update dependency dockerode to v4.0.10
2026-03-25 02:12:44 +00:00
renovate[bot] 41f8a50c91 chore(deps): update dependency dockerode to v4.0.10
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 01:33:03 +00:00
backstage-goalie[bot] 5254a36148 Merge pull request #33550 from backstage/renovate/google-cloud-cloud-sql-connector-1.x-lockfile
chore(deps): update dependency @google-cloud/cloud-sql-connector to v1.9.2
2026-03-25 01:23:24 +00:00
Fredrik Adelöw 7a39b2c4ea fix: change unreachable branch to never in FlattenedMessages
The last branch of the conditional is unreachable since TMessages[TKey]
is constrained to string | AnyNestedMessages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-24 22:54:11 +01:00
Fredrik Adelöw ddc5247f67 fix(frontend-plugin-api): fix FlattenedMessages type depth for TypeScript 6
Restructure the FlattenedMessages conditional type to check
`TMessages[TKey] extends string` directly instead of using an
intermediate `infer TValue` pattern, which caused excessive type
instantiation depth in TypeScript 6.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-24 22:30:56 +01:00
Peter Macdonald bdd21b9f9c Merge pull request #33547 from Parsifal-M/docs/golden-path-permissions
docs: golden paths permissions
2026-03-24 22:11:36 +01:00
Ben Lambert 4559806b96 feat(actionsRegistry): Adding support for examples (#33551)
* feat(backend-plugin-api): add typed examples to actions registry

Signed-off-by: benjdlambert <ben@blam.sh>

* fix: address review feedback for actions registry examples

Signed-off-by: benjdlambert <ben@blam.sh>

* fix: remove empty examples from scaffolder action bridge

Signed-off-by: benjdlambert <ben@blam.sh>

* chore: add changeset for scaffolder-backend

Signed-off-by: benjdlambert <ben@blam.sh>

* fix: update router test to match removed examples field

Signed-off-by: benjdlambert <ben@blam.sh>

---------

Signed-off-by: benjdlambert <ben@blam.sh>
2026-03-24 18:16:23 +01:00
Fredrik Adelöw f29d18c2fd Merge pull request #33414 from backstage/changeset-release/master
Version Packages (next)
2026-03-24 17:12:34 +01:00