Merge branch 'master' into range-slider-component

This commit is contained in:
root
2026-03-10 20:29:25 +05:30
401 changed files with 12549 additions and 5799 deletions
@@ -0,0 +1,5 @@
---
'@backstage/backend-test-utils': patch
---
Added `cancelTask` to `MockSchedulerService` and mock scheduler service factory.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/backend-plugin-api': minor
'@backstage/backend-defaults': patch
---
Added `cancelTask` method to the `SchedulerService` interface and implementation, allowing cancellation of currently running scheduled tasks. For global tasks, the database lock is released and a periodic liveness check aborts the running task function. For local tasks, the task's abort signal is triggered directly. A new `POST /.backstage/scheduler/v1/tasks/:id/cancel` endpoint is also available.
@@ -0,0 +1,5 @@
---
'@backstage/core-compat-api': patch
---
Added `withApis`, which is a Higher-Order Component for providing APIs as props to a component via `useApiHolder`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend': patch
---
Added optional client metadata document endpoint at `/.well-known/oauth-client/cli.json` relative to the auth backend base URL for CLI authentication. Enabled when `auth.experimentalClientIdMetadataDocuments.enabled` is set to `true`.
+11
View File
@@ -0,0 +1,11 @@
---
'@backstage/ui': patch
---
Added analytics capabilities to the component library. Components with navigation behavior (Link, ButtonLink, Tab, MenuItem, Tag, Row) now fire analytics events on click when a `BUIProvider` is present.
New exports: `BUIProvider`, `useAnalytics`, `getNodeText`, and associated types (`AnalyticsTracker`, `UseAnalyticsFn`, `BUIProviderProps`, `AnalyticsEventAttributes`).
Components with analytics support now accept a `noTrack` prop to suppress event firing.
**Affected components:** Link, ButtonLink, Tab, MenuItem, Tag, Row
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/ui': patch
---
Fixed interactive cards so that CardBody can scroll when the card has a constrained height. Previously, the overlay element blocked scroll events.
**Affected components:** Card
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': minor
---
Added new `auth` command group for authenticating the CLI with Backstage instances using OAuth 2.0 with a pre-registered client metadata document. Commands include `login`, `logout`, `list`, `show`, `print-token`, and `select` for managing multiple authenticated instances.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Internal refactor of the CLI command registration
@@ -0,0 +1,5 @@
---
'@backstage/core-app-api': patch
---
Added `BUIProvider` from `@backstage/ui` to the app shell provider tree, enabling BUI components to fire analytics events through the Backstage analytics system.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-notifications-backend-module-slack': minor
---
**BREAKING**: Only send direct messages to user entity recipients. Notifications sent to non-user entities no longer send Slack direct messages to resolved users.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs': patch
---
chore(deps): bump `dompurify` from 3.3.1 to 3.3.2
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Deprecated the `HeaderPage` component name in favor of `Header`. The old `HeaderPage`, `HeaderPageProps`, `HeaderPageOwnProps`, `HeaderPageBreadcrumb`, and `HeaderPageDefinition` exports are still available as deprecated aliases.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-test-utils': patch
---
Deprecated standalone mock API exports in favor of the `mockApis` namespace. This includes the mock classes (`MockAlertApi`, `MockAnalyticsApi`, `MockConfigApi`, `MockErrorApi`, `MockFetchApi`, `MockFeatureFlagsApi`, `MockPermissionApi`, `MockStorageApi`, `MockTranslationApi`), their option types (`MockErrorApiOptions`, `MockFeatureFlagsApiOptions`), and the `ErrorWithContext` type. `MockFetchApiOptions` is kept as a non-deprecated export. Use the `mockApis` namespace instead, for example `mockApis.alert()` or `mockApis.alert.mock()`.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Deprecated `NavItemBlueprint`. Nav items are now automatically inferred from `PageBlueprint` extensions based on their `title` and `icon` params.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Deprecated `withApis`, use the `withApis` export from `@backstage/core-compat-api` instead.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/core-plugin-api': patch
'@backstage/core-app-api': patch
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-app-api': patch
---
Add optional `description` field to plugin-level feature flags.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/catalog-client': minor
'@backstage/plugin-catalog-backend': minor
---
Add an `onConflict` option to location creation that can refresh an existing location instead of throwing a conflict error.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-react': minor
---
Exported `useEntityRefLink` hook that returns a function for generating entity page URLs from entity references.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Fixed inconsistent `JSX.Element` type reference in the `DialogApiDialog.update` method signature.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-msgraph': patch
---
Fixed scheduler task remaining stuck in running state after pod termination by propagating AbortSignal into MicrosoftGraphOrgEntityProvider.read()
+25
View File
@@ -0,0 +1,25 @@
---
'@backstage/plugin-org': minor
'@backstage/plugin-catalog-graph': minor
'@backstage/create-app': patch
---
**BREAKING**: Migrated `MembersListCard`, `OwnershipCard`, and `CatalogGraphCard` to use BUI card primitives via `EntityInfoCard`.
- `OwnershipCard`: Removed `variant` and `maxScrollHeight` props. Card height and scrolling are now controlled by the parent container — the card fills its container and the body scrolls automatically when content overflows.
- `CatalogGraphCard`: Removed `variant` prop.
- `MembersListCard`: Translation keys `subtitle`, `paginationLabel`, `aggregateMembersToggle.directMembers`, `aggregateMembersToggle.aggregatedMembers`, and `aggregateMembersToggle.ariaLabel` have been removed. The `title` key now includes `{{groupName}}`. New keys added: `cardLabel`, `noSearchResult`, `aggregateMembersToggle.label`.
- `OwnershipCard`: Translation keys `aggregateRelationsToggle.directRelations`, `aggregateRelationsToggle.aggregatedRelations`, and `aggregateRelationsToggle.ariaLabel` have been removed. New key added: `aggregateRelationsToggle.label`.
- Removed `MemberComponentClassKey` export, and `root` and `cardContent` from `MembersListCardClassKey`, `card` from `OwnershipCardClassKey`, and `card` from `CatalogGraphCardClassKey`.
**Migration:**
```diff
- <EntityOwnershipCard variant="gridItem" />
+ <EntityOwnershipCard />
```
```diff
- <EntityCatalogGraphCard variant="gridItem" height={400} />
+ <EntityCatalogGraphCard height={400} />
```
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/ui': patch
---
Added support for native HTML div attributes on the `Flex`, `Grid`, and `Grid.Item` components.
**Affected components:** Flex, Grid, Grid.Item
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Fixed MenuItem `onAction` prop ordering so user-provided `onAction` handlers are chained rather than silently overwritten.
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Migrated remaining CLI command handlers from `commander` to `cleye` for argument parsing. Several camelCase CLI flags have been deprecated in favor of their kebab-case equivalents (e.g. `--successCache``--success-cache`). The old camelCase forms still work but will now log a deprecation warning. Please update any scripts or CI configurations to use the kebab-case versions.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Deprecated `AnalyticsImplementationBlueprint` and `AnalyticsImplementationFactory` in favor of the exports from `@backstage/plugin-app-react`.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-app-react': patch
---
Added `AnalyticsImplementationBlueprint` and `AnalyticsImplementationFactory`, migrated from `@backstage/frontend-plugin-api`.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': patch
---
Added the `ExtensionFactoryMiddleware` type as a public export.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Deprecated the `ExtensionFactoryMiddleware` type, which has been moved to `@backstage/frontend-app-api`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-mui-to-bui': patch
---
Updated the MUI to BUI theme converter page to use the renamed `Header` component from `@backstage/ui`.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-app': patch
---
Added `BUIProvider` from `@backstage/ui` to the app root, enabling BUI components to fire analytics events through the Backstage analytics system.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': minor
---
**BREAKING**: Removed the `allowUnknownExtensionConfig` option from `createSpecializedApp`. This flag had no effect and was a no-op, so no behavioral changes are expected.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-defaults': minor
---
**BREAKING**: Removed the `allowUnknownExtensionConfig` option from `createApp`. This flag had no effect and was a no-op, so no behavioral changes are expected.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': minor
---
**BREAKING**: Removed the deprecated `AnyExtensionDataRef` type. Use `ExtensionDataRef` without type parameters instead.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-defaults': minor
---
**BREAKING**: Removed the deprecated `createPublicSignInApp` function. Use `createApp` from `@backstage/frontend-defaults` with `appModulePublicSignIn` from `@backstage/plugin-app/alpha` instead.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Removed the deprecated `defaultPath` migration helper from `PageBlueprint` params.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Renamed the `PageTab` type to `PageLayoutTab`. The old `PageTab` name is now a deprecated type alias.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-react': patch
---
Updated dependency `flatted` to `3.3.4`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Updated dependency `express-rate-limit` to `^8.0.0`.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': minor
---
**BREAKING**: Simplified the `ExtensionAttachTo` type to only support a single attachment target. The array form for attaching to multiple extension points has been removed. Also removed the deprecated `ExtensionAttachToSpec` type alias.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-api-docs': patch
---
Updated dependency `graphiql` to `3.9.0` to address security vulnerability in `markdown-it` package.
Updated dependency `@graphiql/react` to `0.29.0` to match the version used by `graphiql`.
Moved dependency `graphql-config` to `devDependencies` as it is needed only for types.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-mcp-actions-backend': patch
---
Added support for splitting MCP actions into multiple servers via `mcpActions.servers` configuration. Each server gets its own endpoint at `/api/mcp-actions/v1/{key}` with actions scoped using include/exclude filter rules. Tool names are now namespaced with the plugin ID by default, configurable via `mcpActions.namespacedToolNames`. When `mcpActions.servers` is not configured, the plugin continues to serve a single server at `/api/mcp-actions/v1`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-common': minor
---
Added an optional `secrets` field to `TemplateEntityV1beta3` for configuring secrets validation. The schema for validating secrets is defined under `secrets.schema` as a JSON Schema object.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Added secrets schema validation for task creation, retry, and dry-run endpoints. When a template defines `spec.secrets.schema`, the API validates provided secrets against the schema and returns a `400` error if validation fails.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/frontend-plugin-api': patch
'@backstage/core-plugin-api': patch
---
Changed `useApiHolder` to return an empty `ApiHolder` instead of throwing when used outside of an API context.