21074 Commits

Author SHA1 Message Date
Ruslans Tarasovs 1825392afd Update .changeset/tough-pots-dream.md
Co-authored-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
Signed-off-by: Ruslans Tarasovs <49794769+rtar@users.noreply.github.com>
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:39 +03:00
Ruslans Tarasovs 6ce84626ab Move docs directory validation to after copying README.md
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:38 +03:00
Patrik Oldsberg be7e4eb48b cli-module-build: forward user config to embedded Postgres
When using the embedded-postgres database client, user-provided
connection config (host, port, user, password) is now forwarded to
the embedded Postgres instance. Only values that the user hasn't
configured are filled in with defaults and injected into the app
config, preserving existing behavior when no config is provided.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-30 11:34:51 +02:00
Charles de Dreuille 4955e51e07 fix(ui): handle core page after plugin header
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-30 09:56:17 +01:00
Charles de Dreuille 021b36800f fix(ui): collapse plugin header spacing before headers
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-30 09:33:18 +01:00
Juan Escalada 19a79d3f80 Update .changeset/pretty-parts-admire.md
Co-authored-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com>
Signed-off-by: Juan Escalada <juanescalada175@gmail.com>
2026-04-30 11:43:09 +09:00
Andre Wanlin 2f33a9f63f Fixes for non-breaking typos and typos configuration
Signed-off-by: Andre Wanlin <awanlin@spotify.com>

More

Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-04-29 16:54:05 -05:00
Charles de Dreuille 38bb056aa6 fix(ui): adjust plugin header spacing
Align PluginHeader spacing across tabbed and non-tabbed variants so the component owns the surrounding page spacing more consistently.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-29 19:07:59 +01:00
Andre Wanlin 84913005fd Merge pull request #31838 from karthikjeeyar/mkdocs-patch
feat(techdocs): add app-config option to disable external font download
2026-04-29 12:47:12 -05:00
Ben Lambert fa06df607e Merge commit from fork
Signed-off-by: Benjamin Lambert <benjdlambert@gmail.com>
Signed-off-by: benjdlambert <ben@blam.sh>
2026-04-29 15:51:19 +02:00
github-actions[bot] 7295193bb6 Version Packages (next) 2026-04-28 15:53:09 +00:00
James Brooks e7fc79fb13 Add support for sections to Select (#34012)
Updates the Select component to accept a set of sections with options as opposed to just a flat list of options.

---------

Signed-off-by: James Brooks <jamesbrooks@spotify.com>
2026-04-28 16:13:39 +01:00
Ferin Patel 07e08beac1 feat: Add status check functions for scaffolder steps (#32890)
* feat: Add status check functions for scaffolder steps

- Introduced `always()` and `failure()` functions to control step execution after failures.
- Updated documentation to explain usage of new status check functions.
- Enhanced NunjucksWorkflowRunner to process these functions in step conditions.
- Added tests to verify behavior of steps using `always()` and `failure()`.

Signed-off-by: ferin79 <ferinpatel79@gmail.com>

* feat: Enhance status check functions in scaffolder steps

- Updated documentation to clarify usage of status check functions with template expressions.
- Modified tests to reflect changes in syntax for status checks.
- Refactored NunjucksWorkflowRunner to ensure proper handling of status check functions in step conditions.

Signed-off-by: ferin79 <ferinpatel79@gmail.com>

* docs: Clarify usage of status check functions in writing templates

- Removed redundant explanation about truthy conditions after step failure.
- Streamlined the description for better clarity on status check functions.

Signed-off-by: ferin79 <ferinpatel79@gmail.com>

---------

Signed-off-by: ferin79 <ferinpatel79@gmail.com>
2026-04-28 11:16:59 +02:00
pillaris ff199fef07 fix: address Andre's review comments
- Update copyright year from 2024 to 2026 across all new source files
- Clear alpha entry point (no alpha exports needed for a net-new package)
  and regenerate report-alpha.api.md accordingly
- Delete CHANGELOG.md (auto-generated by the release process)
- Change changeset bump from patch to minor so the first release is 0.1.0,
  and remove the redundant "New package:" title line
- Reset package version to 0.0.0 (release process sets the real version)
- Add incremental ingestion section to docs/integrations/azure/org.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: pillaris <pillaris@adobe.com>
2026-04-28 09:54:40 +05:30
Dylan O'Gara fa363f9d3c Add support for external refs renderInTestApp
Signed-off-by: Dylan O'Gara <dogara@webstaurantstore.com>
2026-04-27 14:06:08 -04:00
Charles de Dreuille ca53b86336 Merge pull request #34067 from backstage/cursor/header-sticky-prop
BUI - Add sticky Header support
2026-04-27 14:20:23 +01:00
Charles de Dreuille db5956a2a0 chore(ui): note header class breaking change
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-27 13:41:12 +01:00
Charles de Dreuille 5efddbdbca chore(ui): bump header sticky changeset to minor
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-27 11:30:04 +01:00
pillaris 9e9eca49c7 docs: fix page-size docs and note groupIncludeSubGroups unsupported
Update all references to "up to 999 items" to accurately reflect that
users are fetched in pages of 999 while groups use a smaller page of
100. Also document groupIncludeSubGroups as unsupported in the JSDoc
@remarks, README, and comparison table.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: pillaris <pillaris@adobe.com>
2026-04-27 14:44:07 +05:30
Charles de Dreuille de75f7c0f4 fix(ui): set CardBody minimum height
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-27 08:56:12 +01:00
Charles de Dreuille 6c4606a71c Polish sticky Header implementation
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-26 15:05:45 +01:00
Charles de Dreuille 5351d8ac63 Add sticky Header support
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-26 09:04:51 +01:00
Charles de Dreuille 030fb311aa Merge pull request #33997 from backstage/charlesdedreuille/act-355-header-improvements
feat(ui): add description, tags, and metadata props to Header
2026-04-24 13:59:56 +01:00
Asish Kumar b15ef55be1 devtools: refresh scheduled tasks after trigger or cancel
Closes #32861

Triggering or cancelling a scheduled task from the DevTools Scheduled
Tasks page previously left the table showing the pre-action state, so
users had to refresh the browser (which also reset the plugin selector)
to see the new status.

Switch `useScheduledTasks` to `useAsyncRetry` so it exposes a `refresh`
function, and call it after each trigger/cancel action in
`ScheduledTasksContent`. The refresh happens in a `finally` block so the
table also updates when the action itself fails, reflecting whatever the
backend ended up recording.

Signed-off-by: Asish Kumar <officialasishkumar@gmail.com>
2026-04-24 02:47:49 +05:30
Marat Dyatko 6b171fa5f1 Merge pull request #34041 from dyatko/fix/self-package-imports
Fix circular self-imports and add no-self-package-imports lint rule
2026-04-23 20:28:26 +02:00
Patrik Oldsberg f635139ebc Limit @remixicon/react to versions below 4.9.0
The license changed in 4.9.0, so we need to cap the allowed version
range across all packages that depend on it.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-23 16:42:38 +02:00
Marat Dyatko f1e26b8ed7 Address review feedback on no-self-package-imports rule
- `visitImports` now also reads `exportKind` so `export type { … } from`
  statements are classified as type-only, fixing a false positive in the
  self-import rule (and correctly skipping them in `no-undeclared-imports`
  too).
- The reachability-graph regex in `no-self-package-imports` skips
  `import type` / `export type` edges so files reachable only via
  type-only re-exports aren't pulled into a runtime bundle and no longer
  get false-positive same-entry errors.
- `SOURCE_EXTENSIONS` now includes `.mts` and `.cts` so entries and
  barrels using those extensions are followed correctly.
- The ESLint plugin changeset wording matches the `error` severity of
  the recommended config.
- Adds regression fixtures and RuleTester cases for `export type …` at
  both entries and for a file only reachable via a type-only edge.

Signed-off-by: Marat Dyatko <maratd@spotify.com>
Made-with: Cursor
2026-04-23 16:28:20 +02:00
Patrik Oldsberg 564697a8dd Merge pull request #34031 from backstage/rugvip/isolate-invalid-feature-flag-registration
frontend-app-api: isolate invalid feature flag registrations
2026-04-23 15:57:32 +02:00
Patrik Oldsberg 482cc5900a Address review feedback for feature flag isolation
Deduplicate the plugin/module feature flag registration loops and
distinguish the error source (Plugin vs Module). Treat
FEATURE_FLAG_INVALID as a warning in frontend-defaults.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-23 14:47:52 +02:00
Marat Dyatko ab1cdbb9db Fix circular self-imports and add no-self-package-imports lint rule
- Fixes the `Cannot access '_AppRootElementBlueprintesm' before
  initialization` crash in `@backstage/frontend-plugin-api` caused by a
  self-referential import in the packaged ESM.
- Cleans up similar self-imports in `@backstage/catalog-model`,
  `@backstage/core-plugin-api`, `@backstage/plugin-catalog-node`,
  `@backstage/plugin-kubernetes-common`, and
  `@backstage/plugin-kubernetes-node`. Value imports switch to relative
  paths; type-only imports use `import type` so they're erased at
  runtime.
- Adds a new `@backstage/no-self-package-imports` ESLint rule. It reads
  each package's `exports` map, traverses the relative import graph from
  every entry's source file, and only reports imports where the current
  file is in the same bundle as the target entry (same-entry). Files
  that aren't reachable from any entry (tests, scripts, orphans) are
  skipped. `import type`, `package.json` imports, and cross-entry
  self-imports are allowed by default; cross-entry can be opted into
  with `allowCrossEntry: false`.

Signed-off-by: Marat Dyatko <maratd@spotify.com>
Made-with: Cursor
2026-04-23 14:43:01 +02:00
Fredrik Adelöw 427d5219a6 Merge pull request #34035 from backstage/freben/remove-uuid-dependency
Remove uuid dependency in favor of crypto.randomUUID()
2026-04-23 14:19:33 +02:00
Patrik Oldsberg 3009b62ad5 Merge pull request #34025 from etienne-napoleone/patch-2
fix(ui): disable card content scroll shadow on unsuported browsers
2026-04-23 12:53:24 +02:00
pillaris f1279ea2d6 feat(catalog): add catalog-backend-module-msgraph-incremental plugin
Introduces a new Backstage backend module that incrementally ingests
users and groups from Microsoft Graph one page at a time, using the
incremental ingestion framework.
Unlike MicrosoftGraphOrgEntityProvider, this module never holds the
full dataset in memory. Each burst processes a single page (up to 999
items), making it suitable for large Azure AD tenants where the
full-scan provider causes memory pressure or OOM failures.
The @odata.nextLink cursor is persisted in the incremental ingestion
marks table, so a pod restart during ingestion resumes from the last
completed page rather than starting over.
Signed-off-by: pillaris <pillaris@adobe.com>
2026-04-23 15:56:43 +05:30
Etienne Napoleone 2da5a0af3b docs(changeset): update fix-scroll-card-shadow wording
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Etienne Napoleone <etienne.napoleone@gmail.com>
2026-04-23 11:25:51 +02:00
Fredrik Adelöw e9b78e9698 Remove uuid dependency in favor of crypto.randomUUID()
The uuid package dropped its CommonJS entry point in v14, making it
incompatible with Backstage's CJS build output and Jest test runner.
Rather than working around the ESM-only issue, replace all usage with
the built-in crypto.randomUUID() which has been available in Node.js
since v16.7 and in all major browsers since March 2022.

Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Made-with: Cursor
2026-04-23 10:51:43 +02:00
Charles de Dreuille 5a7495d072 chore: merge master and resolve package.json conflict
Both @braintree/sanitize-url (this branch) and @internationalized/date
(master) were added to packages/ui dependencies; keeping both.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-23 08:53:44 +01:00
Johan Persson 76635ae005 Rename fix-card-scroll-shadow to fix-card-scroll-shadow.md
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-04-23 09:52:39 +02:00
Johan Persson 9632e903eb Update .changeset/mean-monkeys-create.md
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-04-23 09:37:35 +02:00
Deepthi Ajith c4a45bd2f4 Changeset added
Signed-off-by: Deepthi Ajith <deepthi.ajith@infosys.com>
2026-04-23 09:37:35 +02:00
Deepthi Ajith 23ee7899b0 fix(ui): add invalid state styling to Checkbox component
Signed-off-by: Deepthi Ajith <deepthi.ajith@infosys.com>
2026-04-23 09:37:35 +02:00
Patrik Oldsberg b6ca666812 frontend-app-api: isolate invalid feature flag registrations
Wrap each feature flag registration in a try/catch so that a single
invalid flag name (e.g. containing a slash) is reported through the
error collector instead of crashing the entire app at bootstrap.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-23 00:38:05 +02:00
Jan Michael Ong 5a048ed042 chore: integrate copilot suggestion
Signed-off-by: Jan Michael Ong <adobejmong@gmail.com>
2026-04-22 11:13:51 -07:00
Jan Michael Ong d5e2dee26a chore: integrate copilot feedback
Signed-off-by: Jan Michael Ong <adobejmong@gmail.com>
2026-04-22 09:18:54 -07:00
Jan Michael Ong a2ee960900 chore: add changeset
Signed-off-by: Jan Michael Ong <adobejmong@gmail.com>
2026-04-22 09:03:49 -07:00
Patrik Oldsberg 1b55701923 Merge pull request #34006 from backstage/rugvip/fix-lockfile-removal-detection
Fix lockfile dependency removal detection in PackageGraph
2026-04-22 15:36:14 +02:00
Etienne Napoleone 6ce1444ca0 chore(changeset): add card scroll shadow fix changeset
Signed-off-by: Etienne Napoleone <etienne.napoleone@gmail.com>
2026-04-22 14:28:42 +02:00
Fredrik Adelöw db3e59cc70 Merge pull request #34004 from backstage/bui-fix-external-links
fix(ui): preserve external hrefs in BUI link components
2026-04-22 14:28:36 +02:00
Fredrik Adelöw f5354dc5ff Merge pull request #34019 from backstage/freben/swappable-notification-description
Make NotificationDescription a swappable component
2026-04-22 10:34:28 +02:00
Fredrik Adelöw 8521de1d46 Merge pull request #33122 from johnmcollier/filterstatustasks
feat(scaffolder): Allow filtering by status in scaffolderService.listTasks
2026-04-22 10:27:36 +02:00
Fredrik Adelöw 504ebe49a0 Update .changeset/gold-friends-end.md
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-04-22 10:27:27 +02:00