Release v1.49.0
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.49.0
@backstage/integration@2.0.0
Major Changes
-
527cf88: BREAKING Removed deprecated Azure DevOps, Bitbucket, Gerrit and GitHub code:
- For Azure DevOps, the long deprecated
tokenstring andcredentialobject have been removed from theconfig.d.ts. Use thecredentialsarray object instead. - For Bitbucket, the long deprecated
bitbucketobject has been removed from theconfig.d.ts. Use thebitbucketCloudorbitbucketServerobjects instead. - For Gerrit, the
parseGerritGitilesUrlfunction has been removed, useparseGitilesUrlRefinstead. ThebuildGerritGitilesArchiveUrlfunction has also been removed, usebuildGerritGitilesArchiveUrlFromLocationinstead. - For GitHub, the
getGitHubRequestOptionsfunction has been removed.
- For Azure DevOps, the long deprecated
Minor Changes
- d933f62: Add configurable throttling and retry mechanism for GitLab integration.
Patch Changes
- 1513a0b: Fixed a security vulnerability where path traversal sequences in SCM URLs could be used to access unintended API endpoints using server-side integration credentials.
- 993a598: Fixed Azure integration config schema visibility annotations to use per-field
@visibility secretinstead of@deepVisibility secreton parent objects, so that non-secret fields likeclientId,tenantId,organizations, andmanagedIdentityClientIdare no longer incorrectly marked as secret.
@backstage/plugin-catalog@2.0.0
Major Changes
-
5fc35bb: Migrated
EntityAboutCard,EntityLinksCard,EntityLabelsCard,GroupProfileCard, andUserProfileCardfrom MUI/InfoCard to use the new BUI card layout and BUI components where possible.BREAKING: Removed
variantprop from EntityAboutCard, EntityUserProfileCard, EntityGroupProfileCard, EntityLabelsCard, EntityLinksCard. RemovedgridSizesprop fromAboutField.Migration:
Simply delete the obsolete
variantandgridSizesprops, e.g:- <EntityAboutCard variant="gridItem" />
+ <EntityAboutCard />- <AboutField label="Owner" gridSizes={{ xs: 12, sm: 6, lg: 4 }} />
+ <AboutField label="Owner" />
Minor Changes
-
4d58894: Added support for group alias IDs and configurable content ordering on the entity page. Groups can now declare
aliasesso that content targeting an aliased group is included in the group. A newdefaultContentOrderoption (defaulttitle) controls how content items within each group are sorted, with support for both a page-level default and per-group overrides. -
c548a0f: Migrated entity table cards (
HasComponentsCard,HasResourcesCard,HasSubcomponentsCard,HasSubdomainsCard,HasSystemsCard,DependsOnComponentsCard,DependsOnResourcesCard,DependencyOfComponentsCard) to use BUI when no legacy props are passed. The oldvariant,columns, andtableOptionsprops are deprecated but still supported — passing any of them triggers the legacy MUI-based rendering. The newcolumnConfigprop acceptsEntityColumnConfig[]for BUI-based rendering.RelatedEntitiesCardis deprecated — useEntityRelationCardfrom@backstage/plugin-catalog-react/alphainstead. -
0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
Patch Changes
- 538c985: Updated installation documentation to use feature discovery as the default.
- 07ba746: Fixed entity page tab groups not respecting the ordering from the
groupsconfiguration. - aa29b50: New frontend system pages now use the default plugin header together with
HeaderPageinstead of the legacy core page header pattern. - 3f36ce1: Updated alpha plugin icons to follow the new frontend icon sizing rules when rendered in plugin and navigation surfaces.
- Updated dependencies
- @backstage/plugin-catalog-react@2.1.0
- @backstage/ui@0.13.0
- @backstage/core-compat-api@0.5.9
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
- @backstage/plugin-search-react@1.11.0
- @backstage/catalog-client@1.14.0
- @backstage/plugin-permission-react@0.4.41
- @backstage/plugin-scaffolder-common@2.0.0
- @backstage/catalog-model@1.7.7
- @backstage/integration-react@1.2.16
- @backstage/plugin-techdocs-react@1.3.9
@backstage/plugin-scaffolder-common@2.0.0
Major Changes
- 527cf88: BREAKING Removed deprecated
bitbucketintegration from being registered in theScaffolderClient. Use thebitbucketCloudorbitbucketServerintegrations instead.
Minor Changes
- f598909: BREAKING PRODUCERS: Made
retry,listTasks,listTemplatingExtensions,dryRun, andautocompleterequired methods on theScaffolderApiinterface. Implementations ofScaffolderApimust now provide these methods. - e8736ea: Added an optional
secretsfield toTemplateEntityV1beta3for configuring secrets validation. The schema for validating secrets is defined undersecrets.schemaas a JSON Schema object.
Patch Changes
- Updated dependencies
- @backstage/integration@2.0.0
- @backstage/plugin-permission-common@0.9.7
- @backstage/catalog-model@1.7.7
@backstage/backend-app-api@1.6.0
Minor Changes
- 545557a: Registration errors should be forwarded as BackendStartupResult
Patch Changes
- Updated dependencies
- @backstage/backend-plugin-api@1.8.0
@backstage/backend-defaults@0.16.0
Minor Changes
- 42960f1: The actions registry invoke endpoint now accepts direct user credentials in addition to service principals, enabling CLI and other direct user clients to invoke actions.
- 0e7d8f9: The scheduler service now uses the metrics service to create metrics, providing plugin-scoped attribution.
- 527cf88: BREAKING Removed deprecated
BitbucketUrlReader. Use theBitbucketCloudUrlReaderor theBitbucketServerUrlReaderinstead.
Patch Changes
- cc8348e: Added permissions integration to the actions registry. Actions registered with a
visibilityPermissionfield are now checked against the permissions framework when listing and invoking. Denied actions are filtered from list results, and invoking a denied action returns a404 Not Foundas if the action does not exist. Permissions are automatically registered with thePermissionsRegistryServiceso they appear in the permission policy system. - dee4283: Added
pluginIdfield toActionsServiceActiontype, populated from the registering plugin's metadata. - 015668c: Added
cancelTaskmethod to theSchedulerServiceinterface 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 newPOST /.backstage/scheduler/v1/tasks/:id/cancelendpoint is also available. - 638e6c7: chore(deps): bump
yauzlfrom 3.2.0 to 3.2.1 - 6738cf0: build(deps): bump
minimatchfrom 9.0.5 to 10.2.1 - 62f0a53: Fixed error forwarding in the actions registry so that known errors like
InputErrorandNotFoundErrorthrown by actions preserve their original status codes and messages instead of being wrapped inForwardedErrorand coerced to 500. - d933f62: Add configurable throttling and retry mechanism for GitLab integration.
- b99158a: Fixed
yarn backstage-cli config:check --strict --config app-config.yamlconfig validation error by adding an optionaldefaulttype discriminator to PostgreSQL connection configuration, allowingconfig:checkto properly validatedefaultconnection configurations. - 1ee5b28: Adds an alpha
MetricsServiceto provide a unified interface for metrics instrumentation across Backstage plugins. - 5fcbef2: Updated dependency
express-rate-limitto^8.0.0. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/cli-node@0.3.0
- @backstage/integration@2.0.0
- @backstage/config-loader@1.10.9
- @backstage/plugin-permission-common@0.9.7
- @backstage/plugin-permission-node@0.10.11
- @backstage/plugin-auth-node@0.6.14
- @backstage/backend-app-api@1.6.0
- @backstage/plugin-events-node@0.4.20
@backstage/backend-dynamic-feature-service@0.8.0
Minor Changes
- 0fbcf23: Migrated OpenAPI schemas to 3.1.
Patch Changes
- 4074a22: Fixed
resolvePackagePathresolution for bundled dynamic plugins. When a plugin bundles its own copy of@backstage/backend-plugin-apiinsidenode_modules, theCommonJSModuleLoaderfallback now correctly resolves the plugin'spackage.jsonby name. Previously the fallback only applied when the resolution originated from the host application; it now also applies when originating from a bundled dependency, which is the case for plugins produced by thebackstage-cli package bundlecommand. - 70fc178: Migrated from deprecated
findPathstotargetPathsandfindOwnPathsfrom@backstage/cli-common. - Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/backend-defaults@0.16.0
- @backstage/cli-node@0.3.0
- @backstage/plugin-catalog-backend@3.5.0
- @backstage/cli-common@0.2.0
- @backstage/plugin-scaffolder-node@0.13.0
- @backstage/plugin-events-backend@0.6.0
- @backstage/config-loader@1.10.9
- @backstage/plugin-permission-common@0.9.7
- @backstage/plugin-permission-node@0.10.11
- @backstage/plugin-auth-node@0.6.14
- @backstage/backend-openapi-utils@0.6.7
- @backstage/plugin-app-node@0.1.43
- @backstage/plugin-events-node@0.4.20
- @backstage/plugin-search-backend-node@1.4.2
@backstage/backend-plugin-api@1.8.0
Minor Changes
-
cc8348e: Added optional
visibilityPermissionfield toActionsRegistryActionOptions, allowing actions to declare aBasicPermissionthat controls visibility and access.import { createPermission } from '@backstage/plugin-permission-common';
const myPermission = createPermission({
name: 'myPlugin.myAction.use',
attributes: {},
});
actionsRegistry.register({
name: 'my-action',
title: 'My Action',
description: 'An action that requires permission',
visibilityPermission: myPermission,
schema: {
input: z => z.object({ name: z.string() }),
output: z => z.object({ ok: z.boolean() }),
},
action: async ({ input }) => {
return { output: { ok: true } };
},
});Actions without a
visibilityPermissionfield continue to work as before. -
015668c: Added
cancelTaskmethod to theSchedulerServiceinterface 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 newPOST /.backstage/scheduler/v1/tasks/:id/cancelendpoint is also available.
Patch Changes
- dee4283: Added
pluginIdfield toActionsServiceActiontype, populated from the registering plugin's metadata. - 1ee5b28: Adds an alpha
MetricsServiceto provide a unified interface for metrics instrumentation across Backstage plugins. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/cli-common@0.2.0
- @backstage/plugin-permission-common@0.9.7
- @backstage/plugin-permission-node@0.10.11
- @backstage/plugin-auth-node@0.6.14
@backstage/catalog-client@1.14.0
Minor Changes
-
972f686: Added support for the
queryfield ingetEntitiesByRefsrequests, enabling predicate-based filtering with$all,$any,$not,$exists,$in,$contains, and$hasPrefixoperators. -
5d95e8e: Add an
onConflictoption to location creation that can refresh an existing location instead of throwing a conflict error. -
56c908e: Added support for the
queryfield ingetEntityFacetsrequests, enabling predicate-based filtering with$all,$any,$not,$exists,$in,$contains, and$hasPrefixoperators. -
0fbcf23: Migrated OpenAPI schemas to 3.1.
-
51e23eb: Added predicate-based entity filtering via POST /entities/by-query endpoint.
Supports
$all,$any,$not,$exists,$in,$hasPrefix, and (partially)$containsoperators for expressive entity queries. Integrated into the existingqueryEntitiesflow with full cursor-based pagination, permission enforcement, andtotalItemssupport.The catalog client's
queryEntities()method automatically routes to the POST endpoint when aquerypredicate is provided.
Patch Changes
- d2494d6: Minor update to catalog client docs
- Updated dependencies
- @backstage/filter-predicates@0.1.1
- @backstage/catalog-model@1.7.7
@backstage/cli@0.36.0
Minor Changes
-
d0f4cd2: Added new
authcommand group for authenticating the CLI with Backstage instances using OAuth 2.0 with a pre-registered client metadata document. Commands includelogin,logout,list,show,print-token, andselectfor managing multiple authenticated instances. -
d806b0c: The CLI now automatically discovers CLI modules from the project root's
dependenciesanddevDependencies. Any installed package with thecli-moduleBackstage role will be loaded automatically without needing to be hardcoded in the CLI itself.If no CLI modules are found in the project dependencies, the CLI falls back to the built-in set of modules and prints a deprecation warning. This fallback will be removed in a future release. To prepare for this, add
@backstage/cli-defaultsas adevDependencyin your rootpackage.json:{
"devDependencies": {
"@backstage/cli-defaults": "backstage:^"
}
}If you are not using the Backstage Yarn plugin, run the following instead:
yarn workspace root add --dev @backstage/cli-defaultsFor fine-grained control you can instead install individual CLI modules:
{
"devDependencies": {
"@backstage/cli-module-auth": "backstage:^",
"@backstage/cli-module-build": "backstage:^",
"@backstage/cli-module-config": "backstage:^",
"@backstage/cli-module-github": "backstage:^",
"@backstage/cli-module-info": "backstage:^",
"@backstage/cli-module-lint": "backstage:^",
"@backstage/cli-module-maintenance": "backstage:^",
"@backstage/cli-module-migrate": "backstage:^",
"@backstage/cli-module-new": "backstage:^",
"@backstage/cli-module-test-jest": "backstage:^",
"@backstage/cli-module-translations": "backstage:^"
}
} -
08d9770: BREAKING: The CLI templates for frontend plugins have been renamed:
new-frontend-plugin→frontend-pluginnew-frontend-plugin-module→frontend-plugin-modulefrontend-plugin(legacy) →legacy-frontend-plugin
To smooth out this breaking change, the CLI now auto-detects which frontend system your app uses based on the dependencies in
packages/app/package.json. When using the default templates (no explicittemplatesconfiguration):- Apps using
@backstage/frontend-defaultswill see the new frontend system templates (frontend-plugin,frontend-plugin-module) - Apps using
@backstage/app-defaultswill see the legacy template (displayed asfrontend-plugin)
This means existing projects that haven't migrated to the new frontend system will continue to create legacy plugins by default, while new projects will get the new frontend system templates. If you have explicit template configuration in your
package.json, it will be used as-is without any auto-detection. -
b36a60d: BREAKING: The
migrate package-exportscommand has been removed. Userepo fixinstead.
Patch Changes
-
edf2b77: Added a new
cli-moduletemplate for creating CLI module packages. -
246877a: Updated dependency
bfjto^9.0.2. -
0d2d0f2: Internal refactor of CLI modularization, moving individual commands to be implemented with cleye.
-
a4e5902: Internal refactor of the CLI command registration
-
bba2e49: Internal refactor to use new concurrency utilities from
@backstage/cli-node. -
2fcba39: Internal refactor to move shared utilities into their consuming modules, reducing cross-module dependencies.
-
c85ac86: Internal refactor to split
loadCliConfiginto separate implementations for the build and config CLI modules, removing a cross-module dependency. -
94a885a: Added support for the new
cli-modulepackage role in the build system, ESLint configuration, Jest configuration, and maintenance commands. -
fd50cb3: Added
translations exportandtranslations importcommands for managing translation files.The
translations exportcommand discovers allTranslationRefdefinitions across frontend plugin dependencies and exports their default messages as JSON files. Thetranslations importcommand generatesTranslationResourcewiring code from translated JSON files, ready to be plugged into the app.Both commands support a
--patternoption for controlling the message file layout, for example--pattern '{lang}/{id}.json'for language-based directory grouping. -
0be3eab: Migrated CLI plugin modules to use
createCliModulefrom@backstage/cli-node. -
61cb976: Migrated internal versioning utilities to use
@backstage/cli-nodeinstead of a local implementation. -
6738cf0: build(deps): bump
minimatchfrom 9.0.5 to 10.2.1 -
ff4a45a: Migrated remaining CLI command handlers from
commandertocleyefor 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. -
70fc178: Migrated from deprecated
findPathstotargetPathsandfindOwnPathsfrom@backstage/cli-common. -
825c81d: Internal refactor of CLI command modules.
-
ea90ab0: The built-in
yarn newtemplates have been moved to@backstage/cli-module-new. Existing references to@backstage/cli/templates/*in your rootpackage.jsonwill continue to work through a backwards compatibility rewrite in thenewcommand. -
ebeb0d4: Updated the new frontend plugin template to use
@backstage/frontend-dev-utilsin itsdev/entry point instead of wiringcreateAppmanually. Generated plugins now get the same dev app helper setup as the built-in examples. -
971cc94: The
newcommand now prompts for the plugin package name when creating plugin modules, in order to properly populate thepackage.jsonfile. -
de62a9d: Upgraded
commanderdependency from^12.0.0to^14.0.3across all CLI packages. -
092b41f: Updated dependency
webpackto~5.105.0. -
4a75544: Updated dependency
react-refreshto^0.18.0. -
a9d23c4: Properly support
package.jsonworkspacesfield -
Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
- @backstage/cli-defaults@0.1.0
- @backstage/cli-module-build@0.1.0
- @backstage/eslint-plugin@0.2.2
- @backstage/cli-module-test-jest@0.1.0
@backstage/cli-common@0.2.0
Minor Changes
-
56bd494: Added
targetPathsandfindOwnPathsas replacements forfindPaths, with a cleaner separation between target project paths and package-relative paths.To migrate existing
findPathsusage:// Before
import { findPaths } from '@backstage/cli-common';
const paths = findPaths(__dirname);
// After — for target project paths (cwd-based):
import { targetPaths } from '@backstage/cli-common';
// paths.targetDir → targetPaths.dir
// paths.targetRoot → targetPaths.rootDir
// paths.resolveTarget('src') → targetPaths.resolve('src')
// paths.resolveTargetRoot('yarn.lock') → targetPaths.resolveRoot('yarn.lock')
// After — for package-relative paths:
import { findOwnPaths } from '@backstage/cli-common';
const own = findOwnPaths(__dirname);
// paths.ownDir → own.dir
// paths.ownRoot → own.rootDir
// paths.resolveOwn('config/jest.js') → own.resolve('config/jest.js')
// paths.resolveOwnRoot('tsconfig.json') → own.resolveRoot('tsconfig.json')
Patch Changes
- e44b6a9: The
findOwnRootDirutility now searches for the monorepo root by traversing up the directory tree looking for apackage.jsonwithworkspaces, instead of assuming a fixed../..relative path. If no workspaces root is found during this traversal,findOwnRootDirnow throws to enforce stricter validation of the repository layout. - 9361965: Fixed
runCheckto ignore stdio of the spawned process, preventing unwanted output from leaking to the terminal.
@backstage/cli-defaults@0.1.0
Minor Changes
- 7781ae5: Introduced
@backstage/cli-defaults, a convenience package that bundles all standard Backstage CLI modules. Install this single package as adevDependencyto get the full default set of CLI commands without listing each module individually.
Patch Changes
- 42960f1: Added
@backstage/cli-module-actionsto the default set of CLI modules. - Updated dependencies
- @backstage/cli-module-actions@0.0.1
- @backstage/cli-module-new@0.1.0
- @backstage/cli-module-maintenance@0.1.0
- @backstage/cli-module-build@0.1.0
- @backstage/cli-module-auth@0.1.0
- @backstage/cli-module-config@0.1.0
- @backstage/cli-module-github@0.1.0
- @backstage/cli-module-info@0.1.0
- @backstage/cli-module-lint@0.1.0
- @backstage/cli-module-migrate@0.1.0
- @backstage/cli-module-test-jest@0.1.0
- @backstage/cli-module-translations@0.1.0
@backstage/cli-module-auth@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/cli-node@0.3.0
@backstage/cli-module-build@0.1.0
Minor Changes
- 62d0849: Added
package bundlecommand to create self-contained plugin bundles for dynamic loading, to be used by thebackend-dynamic-feature-service. Supports backend and frontend plugins, with optional--pre-packed-dirfor batch bundling from a pre-built workspace. - 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
- @backstage/module-federation-common@0.1.2
- @backstage/config-loader@1.10.9
@backstage/cli-module-config@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
- @backstage/config-loader@1.10.9
@backstage/cli-module-github@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
@backstage/cli-module-info@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
@backstage/cli-module-lint@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
@backstage/cli-module-maintenance@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- f189d8f: Added auto-fill of
backstage.pluginPackagemetadata for known plugins duringrepo fix. - Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
@backstage/cli-module-migrate@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
@backstage/cli-module-new@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- edf2b77: Added support for the
cli-moduletemplate role for scaffolding new CLI module packages. - ea90ab0: The built-in
yarn newtemplates have been moved to this package from@backstage/cli. The default template references have been updated from@backstage/cli/templates/*to@backstage/cli-module-new/templates/*. Existing references to@backstage/cli/templates/*in your rootpackage.jsonwill continue to work through a backwards compatibility rewrite. - ebeb0d4: Updated the new frontend plugin template to use
@backstage/frontend-dev-utilsin itsdev/entry point instead of wiringcreateAppmanually. Generated plugins now get the same dev app helper setup as the built-in examples. - 971cc94: The
newcommand now prompts for the plugin package name when creating plugin modules, in order to properly populate thepackage.jsonfile. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
@backstage/cli-module-test-jest@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
@backstage/cli-module-translations@0.1.0
Minor Changes
- 329f394: Initial release of the CLI module packages. Each module provides a set of commands that can be discovered automatically by
@backstage/clior executed standalone.
Patch Changes
- Updated dependencies
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
@backstage/cli-node@0.3.0
Minor Changes
- 7d055ef: Added
createCliModuleAPI and related types for building Backstage CLI plugins.
Patch Changes
- 94a885a: Added a new
cli-modulepackage role for packages that provide CLI plugin extensions. - 12fa965: Added
CliAuthclass for managing CLI authentication state. This provides a class-based API with a staticcreatemethod that resolves the currently selected (or explicitly named) auth instance, transparently refreshes expired access tokens, and exposes helpers for other CLI modules to authenticate with a Backstage backend. - 61cb976: Added
toString()method toLockfilefor serializing lockfiles back to string format. - 06c2015: Added
runConcurrentTasksandrunWorkerQueueThreadsutilities, moved from the@backstage/cliinternal code. - 70fc178: Migrated from deprecated
findPathstotargetPathsandfindOwnPathsfrom@backstage/cli-common. - 3c811bf: Added
hasBackstageYarnPluginandSuccessCacheexports, moved from@backstage/cli. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - a9d23c4: Properly support
package.jsonworkspacesfield - Updated dependencies
- @backstage/cli-common@0.2.0
@backstage/create-app@0.8.0
Minor Changes
- a6735c3: BREAKING: The new frontend system is now the default template when creating a new Backstage app. The previous
--nextflag has been replaced with a--legacyflag that can be used to create an app using the old frontend system instead.
Patch Changes
-
d806b0c: The create-app templates now include
@backstage/cli-defaultsas adevDependency, enabling the CLI's automatic module discovery for newly created projects. -
d14b6e0: BREAKING: Migrated
MembersListCard,OwnershipCard, andCatalogGraphCardto use BUI card primitives viaEntityInfoCard.OwnershipCard: RemovedvariantandmaxScrollHeightprops. 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: Removedvariantprop.MembersListCard: Translation keyssubtitle,paginationLabel,aggregateMembersToggle.directMembers,aggregateMembersToggle.aggregatedMembers, andaggregateMembersToggle.ariaLabelhave been removed. Thetitlekey now includes{{groupName}}. New keys added:cardLabel,noSearchResult,aggregateMembersToggle.label.OwnershipCard: Translation keysaggregateRelationsToggle.directRelations,aggregateRelationsToggle.aggregatedRelations, andaggregateRelationsToggle.ariaLabelhave been removed. New key added:aggregateRelationsToggle.label.- Removed
MemberComponentClassKeyexport, androotandcardContentfromMembersListCardClassKey,cardfromOwnershipCardClassKey, andcardfromCatalogGraphCardClassKey.
Migration:
- <EntityOwnershipCard variant="gridItem" />
+ <EntityOwnershipCard />- <EntityCatalogGraphCard variant="gridItem" height={400} />
+ <EntityCatalogGraphCard height={400} /> -
70fc178: Migrated from deprecated
findPathstotargetPathsandfindOwnPathsfrom@backstage/cli-common. -
ea90ab0: Updated the
next-apptemplate to reference@backstage/cli-module-new/templates/*instead of@backstage/cli/templates/*for the built-inyarn newtemplates. -
de62a9d: Upgraded
commanderdependency from^12.0.0to^14.0.3across all CLI packages. -
a9d23c4: Properly support
package.jsonworkspacesfield -
ebd4630: Replace deprecated
workspaces.packageswithworkspacesinpackage.jsonThis change is not required, but you can edit your main
package.json, to fit the more modern & more common pattern:- "workspaces": {
- "packages": [
"workspaces": [
"packages/*",
"plugins/*"
- ]
- },
], -
Updated dependencies
- @backstage/cli-common@0.2.0
@backstage/frontend-app-api@0.16.0
Minor Changes
- 92af1ae: BREAKING: Removed the
allowUnknownExtensionConfigoption fromcreateSpecializedApp. This flag had no effect and was a no-op, so no behavioral changes are expected.
Patch Changes
- d911b72: Frontend apps now respect an explicit
pluginIdonApiRefs when deciding which plugin owns an API factory. - 0452d02: Add optional
descriptionfield to plugin-level feature flags. - 5fd78ba: Removed
@backstage/core-plugin-apileakage from the public API surface. All types such asApiHolderandConfigApiare now imported from@backstage/frontend-plugin-api. - dab6c46: Added the
ExtensionFactoryMiddlewaretype as a public export. - 3f36ce1: Clarified the
IconElementsizing contract for the new frontend system and aligned legacy system icon rendering with the new icon API. - 5b160f9: Added
prepareSpecializedAppfor two-phase app wiring so apps can render a bootstrap tree before full app finalization. The bootstrap phase now supports deferredapp/root.elements, predicate-gated APIs, reusablesessionState, and warnings for bootstrap-visible predicates or bootstrap code that accessed APIs that only became available after finalization. Utility APIs that are materialized during bootstrap are also frozen for the lifetime of the app instance, causing deferred overrides of those APIs to be ignored and reported as app errors. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/core-plugin-api@1.12.4
- @backstage/frontend-plugin-api@0.15.0
- @backstage/core-app-api@1.19.6
- @backstage/frontend-defaults@0.5.0
- @backstage/filter-predicates@0.1.1
@backstage/frontend-defaults@0.5.0
Minor Changes
- 92af1ae: BREAKING: Removed the
allowUnknownExtensionConfigoption fromcreateApp. This flag had no effect and was a no-op, so no behavioral changes are expected. - 33de79d: BREAKING: Removed the deprecated
createPublicSignInAppfunction. UsecreateAppfrom@backstage/frontend-defaultswithappModulePublicSignInfrom@backstage/plugin-app/alphainstead.
Patch Changes
- 5b160f9: Updated
createAppto use the phasedprepareSpecializedAppflow, allowing apps to render a bootstrap tree before the full app is finalized. - Updated dependencies
- @backstage/frontend-app-api@0.16.0
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
- @backstage/plugin-app@0.4.1
@backstage/frontend-dev-utils@0.1.0
Minor Changes
- c25532a: Added
@backstage/frontend-dev-utils, a new package that provides a minimal helper for wiring up a development app for frontend plugins using the new frontend system. It exports acreateDevAppfunction that handles creating and rendering a development app from adev/entry point. The dev app automatically bypasses the sign-in page and loads the@backstage/uiCSS. The options interface acceptsfeaturestogether with route bindings throughbindRoutes.
Patch Changes
- Updated dependencies
- @backstage/ui@0.13.0
- @backstage/frontend-plugin-api@0.15.0
- @backstage/plugin-app@0.4.1
- @backstage/frontend-defaults@0.5.0
@backstage/frontend-plugin-api@0.15.0
Minor Changes
-
5fd78ba: Renamed
PluginOptionstoCreateFrontendPluginOptionsand deprecated the old name. RemovedResolvedExtensionInputsfrom the main entry point; it is still available as an inline type in extension factory signatures. -
72991a5: Removed the
ResolvedExtensionInputandExtensionDataRefToValuehelper types from the public API surface to reduce top-level API clutter. These types were internal plumbing that are not needed by plugin authors. If you were relying onResolvedExtensionInput, use theResolvedExtensionInputstype instead, which maps a full set of inputs. If you were usingExtensionDataRefToValue, replace it withExtensionDataValuecombined with inferred types from yourExtensionDataRef. -
9508514: BREAKING: Promoted
PluginWrapperApi,pluginWrapperApiRef,PluginWrapperBlueprint, and the newPluginWrapperDefinitiontype from@alphato@public. These are now available from the main package entry point rather than only through/alpha.The
PluginWrapperApitype now has a requiredgetRootWrapper()method that returns a root wrapper component. ThepluginWrapperApiRefID changed fromcore.plugin-wrapper.alphatocore.plugin-wrapper.The
PluginWrapperBlueprintnow acceptsPluginWrapperDefinitionas the loader return type, which supports an optionaluseWrapperValuehook that allows sharing state between wrapper instances. -
6573901: BREAKING: Removed the deprecated
AnyExtensionDataReftype. UseExtensionDataRefwithout type parameters instead. -
a9440f0: BREAKING: Simplified the
ExtensionAttachTotype to only support a single attachment target. The array form for attaching to multiple extension points has been removed. Also removed the deprecatedExtensionAttachToSpectype alias.
Patch Changes
-
e26e3de: The
iconfield onAuthProviderInfonow acceptsIconElementin addition toIconComponent, letting you pass<MyIcon />instead ofMyIcon. -
eea95b8: Deprecated
AlertApiin favor of the newToastApi.AlertApiis now deprecated and will be removed in a future release. Please migrate toToastApiwhich provides richer notification features.Why migrate?
ToastApioffers enhanced capabilities overAlertApi:- Title and Description: Display a prominent title with optional description text
- Action Links: Include clickable links within notifications
- Status Variants: Support for neutral, info, success, warning, and danger statuses
- Per-toast Timeout: Control auto-dismiss timing for each notification individually
- Programmatic Dismiss: Close notifications via the
close()handle returned frompost()
Migration Guide
AlertApi ToastApi message: stringtitle: ReactNodeseverity: 'error'status: 'danger'severity: 'success' | 'info' | 'warning'status: 'success' | 'info' | 'warning'display: 'transient'timeout: 5000(or custom ms)display: 'permanent'omit timeoutpost()returnsvoidpost()returns{ close(): void }Example Migration
// Before (AlertApi)
import { alertApiRef, useApi } from '@backstage/core-plugin-api';
const alertApi = useApi(alertApiRef);
alertApi.post({
message: 'Entity saved successfully',
severity: 'success',
display: 'transient',
});
// After (ToastApi)
import { toastApiRef, useApi } from '@backstage/frontend-plugin-api';
const toastApi = useApi(toastApiRef);
const toast = toastApi.post({
title: 'Entity saved successfully',
status: 'success',
timeout: 5000,
});
// Later: toast.close() to dismiss programmaticallyNote: During the migration period, both APIs work simultaneously. The
ToastDisplaycomponent subscribes to bothAlertApiandToastApi, so existing code continues to work while you migrate incrementally. -
8a3a906: Deprecated
NavItemBlueprint. Nav items are now automatically inferred fromPageBlueprintextensions based on theirtitleandiconparams. -
b15a685: Deprecated
withApis, use thewithApisexport from@backstage/core-compat-apiinstead. -
0452d02: Add optional
descriptionfield to plugin-level feature flags. -
1bec049: Fixed inconsistent
JSX.Elementtype reference in theDialogApiDialog.updatemethod signature. -
9c81af9: Made the
pluginIdproperty optional in theFrontendFeaturetype, allowing plugins published against older versions of the framework to be used without type errors. -
2c383b5: Deprecated
AnalyticsImplementationBlueprintandAnalyticsImplementationFactoryin favor of the exports from@backstage/plugin-app-react. -
dab6c46: Deprecated the
ExtensionFactoryMiddlewaretype, which has been moved to@backstage/frontend-app-api. -
aa29b50: Pages created with
PageBlueprintnow render the plugin header by default in the new frontend system. -
3f36ce1: Clarified the
IconElementsizing contract for the new frontend system and aligned legacy system icon rendering with the new icon API. -
cc459f7: Added a builder form for
createApiRefin the new frontend system and deprecated the directcreateApiRef({ ... })call in favor ofcreateApiRef().with({ ... }). The builder form now also preserves literal API ref IDs in the resultingApiReftype.The
createApiRef().with({ ... })form can also use an explicitpluginIdto declare API ownership without encoding the plugin ID into the API ref ID, while keeping that metadata internal to runtime handling. -
5b160f9: Added support for
ifpredicates oncreateFrontendPluginandcreateFrontendModule, applying shared conditions to every extension in the feature. Plugin and extension overrides can now also replace or remove existingifpredicates. -
d0206c4: Removed the deprecated
defaultPathmigration helper fromPageBlueprintparams. -
edb872c: Renamed the
PageTabtype toPageLayoutTab. The oldPageTabname is now a deprecated type alias. -
a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. -
7e743f4: Introduced a new
ToastApifor displaying rich toast notifications in the new frontend system.The new
ToastApiprovides enhanced notification capabilities compared to the existingAlertApi:- Title and Description: Toasts support both a title and an optional description
- Custom Timeouts: Each toast can specify its own timeout duration
- Links: Toasts can include action links
- Status Variants: Support for neutral, info, success, warning, and danger statuses
- Programmatic Dismiss: Toasts can be dismissed programmatically using the
close()handle returned frompost()
Usage:
import { toastApiRef, useApi } from '@backstage/frontend-plugin-api';
const toastApi = useApi(toastApiRef);
// Full-featured toast
toastApi.post({
title: 'Entity saved',
description: 'Your changes have been saved successfully.',
status: 'success',
timeout: 5000,
links: [{ label: 'View entity', href: '/catalog/entity' }],
});
// Programmatic dismiss
const { close } = toastApi.post({ title: 'Uploading...', status: 'info' });
// Later...
close();The
ToastDisplaycomponent subscribes to bothToastApiandAlertApi, providing a migration path where both systems work side by side untilAlertApiis fully deprecated. -
fe848e0: Changed
useApiHolderto return an emptyApiHolderinstead of throwing when used outside of an API context. -
Updated dependencies
- @backstage/filter-predicates@0.1.1
@backstage/repo-tools@0.17.0
Minor Changes
- 0fbcf23: Added support for OpenAPI 3.1 to all
schema openapicommands. The commands now auto-detect the OpenAPI version from the spec file and use the appropriate generator, supporting both OpenAPI 3.0.x and 3.1.x specifications.
Patch Changes
- 426edbe: Fixed
generate-catalog-infocommand failing with "too many arguments" when invoked by lint-staged via the pre-commit hook. - d5779e5: Updated the CLI report parser to support cleye-style help output, and strip ANSI escape codes from captured output.
- 6738cf0: build(deps): bump
minimatchfrom 9.0.5 to 10.2.1 - 2a51546: Fixed prettier existence checks in OpenAPI commands to use
fs.pathExistsinstead of checking the resolved path string, which was always truthy. - 70fc178: Migrated from deprecated
findPathstotargetPathsandfindOwnPathsfrom@backstage/cli-common. - de62a9d: Upgraded
commanderdependency from^12.0.0to^14.0.3across all CLI packages. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - 18a946c: Updated
@microsoft/api-extractorto7.57.3and added tests forgetTsDocConfig - Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/cli-node@0.3.0
- @backstage/cli-common@0.2.0
- @backstage/config-loader@1.10.9
- @backstage/catalog-model@1.7.7
@backstage/ui@0.13.0
Minor Changes
-
768f09d: BREAKING: Simplified the neutral background prop API for container components. The explicit
neutral-1,neutral-2,neutral-3, andneutral-autovalues have been removed fromProviderBg. They are replaced by a single'neutral'value that always auto-increments from the parent context, making it impossible to skip or pin to an explicit neutral level.Migration:
Replace any explicit
bg="neutral-1",bg="neutral-2",bg="neutral-3", orbg="neutral-auto"props withbg="neutral". To achieve a specific neutral level in stories or tests, use nested containers — each additionalbg="neutral"wrapper increments by one level.// Before
<Box bg="neutral-2">...</Box>
// After
<Box bg="neutral">
<Box bg="neutral">...</Box>
</Box>Affected components: Box, Flex, Grid, Card, Accordion, Popover, Tooltip, Dialog, Menu
-
b42fcdc: BREAKING: Removed
--bui-bg-popoverCSS token. Popover, Tooltip, Menu, and Dialog now use--bui-bg-appfor their outer shell andBox bg="neutral-1"for content areas, providing better theme consistency and eliminating a redundant token.Migration:
Replace any usage of
--bui-bg-popoverwith--bui-bg-neutral-1(for content surfaces) or--bui-bg-app(for outer shells):- background: var(--bui-bg-popover);
+ background: var(--bui-bg-neutral-1);Affected components: Popover, Tooltip, Menu, Dialog
-
bd3a76e: BREAKING: Data attributes rendered by components are now always lowercase. This affects CSS selectors targeting camelCase data attributes.
Migration:
Update any custom CSS selectors that target camelCase data attributes to use lowercase instead:
- [data-startCollapsed='true'] { ... }
+ [data-startcollapsed='true'] { ... }Affected components: SearchField
-
95702ab: BREAKING: Removed deprecated types
ComponentDefinition,ClassNamesMap,DataAttributeValues, andDataAttributesMapfrom the public API. These were internal styling infrastructure types that have been replaced by thedefineComponentsystem.Migration:
Remove any direct usage of these types. Component definitions now use
defineComponent()and their shapes are not part of the public API contract.- import type { ComponentDefinition, ClassNamesMap } from '@backstage/ui';If you were reading
definition.dataAttributes, usedefinition.propDefsinstead — props withdataAttribute: trueinpropDefsare the equivalent. -
42f8c9b: BREAKING: Centralized client-side routing in
BUIProvider. Components like Link, ButtonLink, Tabs, Menu, TagGroup, and Table now require aBUIProviderrendered inside a React Router context for client-side navigation to work.Migration:
This change requires updating
@backstage/plugin-appand@backstage/core-app-apialongside@backstage/ui. If you only upgrade@backstage/ui, BUI components will fall back to full-page navigation.If you cannot upgrade all packages together, or if you have a custom app shell, add a
BUIProviderinside your Router:+ import { BUIProvider } from '@backstage/ui';
<BrowserRouter>
+ <BUIProvider>
<AppContent />
+ </BUIProvider>
</BrowserRouter>Affected components: Link, ButtonLink, Tabs, Menu, TagGroup, Table
-
17d6398: BREAKING: Renamed internal CSS classes to match the
Headercomponent name.Migration:: If you are targeting these classes directly in your styles, update the following:
bui-HeaderPage→bui-Headerbui-HeaderPageContent→bui-HeaderContentbui-HeaderPageBreadcrumbs→bui-HeaderBreadcrumbsbui-HeaderPageTabsWrapper→bui-HeaderTabsWrapperbui-HeaderPageControls→bui-HeaderControls
Affected components:: Header
-
9d5f3ba: Removed redundant
selectedandindeterminateprops from theCheckboxcomponent. Use theisSelectedandisIndeterminateprops instead, which are the standard React Aria props and already handle both the checkbox behaviour and the corresponding CSS data attributes.Migration: Replace any usage of the
selectedandindeterminateprops onCheckboxwith theisSelectedandisIndeterminateprops. Note that the checked state and related CSS data attributes (such asdata-selectedanddata-indeterminate) are now driven by React Aria, so any custom logic that previously inspected or set these via the old props should instead rely on the React Aria-managed state and attributes exposed through the new props.Affected components: Checkbox
Patch Changes
-
04d9d8d: Added
ListandListRowcomponents. These provide a standalone, accessible list of interactive rows built on top of React Aria'sGridListandGridListItemprimitives. Rows support icons, descriptions, actions, menus, and single or multiple selection modes.Affected components: List, ListRow
-
a1f4bee: Made Accordion a
bgprovider so nested components like Button auto-increment their background level. UpdateduseDefinitionto resolvebgpropDefdefaults for provider components. -
db92751: Added interactive support to the
Cardcomponent. PassonPressto make the entire card surface pressable, orhrefto make it navigate to a URL. A transparent overlay handles the interaction while nested buttons and links remain independently clickable. -
12d8afe: 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
BUIProvideris present.New exports:
BUIProvider,useAnalytics,getNodeText, and associated types (AnalyticsTracker,UseAnalyticsFn,BUIProviderProps,AnalyticsEventAttributes).Components with analytics support now accept a
noTrackprop to suppress event firing.Affected components: Link, ButtonLink, Tab, MenuItem, Tag, Row
-
b838cc9: Added a
loadingprop anddata-loadingdata attribute toTableRoot, allowing consumers to distinguish between stale data and initial loading states. Bothstaleandloadingsetaria-busyon the table.Affected components: TableRoot
-
690786f: Improved the
Tablecomponent loading state to show a skeleton UI with visible headers instead of plain "Loading..." text. The table now renders its full structure during loading, with animated skeleton rows in place of data. The loading state includes proper accessibility support witharia-busyon the table and screen reader announcements.Affected components: Table
-
58224d3: Fixed neutral-1 hover & pressed state in light mode.
-
95702ab: Migrated all components from
useStylestouseDefinitionhook. ExportedOwnPropstypes for each component, enabling better type composition for consumers.Affected components: Avatar, Checkbox, Container, Dialog, FieldError, FieldLabel, Flex, FullPage, Grid, HeaderPage, Link, Menu, PasswordField, PluginHeader, Popover, RadioGroup, SearchField, Select, Skeleton, Switch, Table, TablePagination, Tabs, TagGroup, Text, TextField, ToggleButton, ToggleButtonGroup, Tooltip, VisuallyHidden
-
430d5ed: 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
-
4c2c350: Removed the
transitiononContainerpadding to prevent an unwanted animation when the viewport is resized.Affected components: Container
-
e0b7eb0: Fixed --bui-fg-success token in light mode to be more accessible.
-
ad7c883: Deprecated the
HeaderPagecomponent name in favor ofHeader. The oldHeaderPage,HeaderPageProps,HeaderPageOwnProps,HeaderPageBreadcrumb, andHeaderPageDefinitionexports are still available as deprecated aliases. -
0ebde15: Added documentation for the table cell wrapper requirement to TSDoc comments for
Cell,CellText,CellProfile,ColumnConfig, andRowRenderFn. -
d9d2dd6: Added
SearchAutocompleteandSearchAutocompleteItemcomponents for building accessible search-with-results patterns. Built on React Aria's Autocomplete with keyboard navigation and screen reader support. Designed for async/external search results with a configurable popover width.Affected components: SearchAutocomplete, SearchAutocompleteItem
-
a6b84e1: Made Checkbox
childrenoptional and added a dev warning when neither a visible label,aria-label, noraria-labelledbyis provided. The label wrapper div is no longer rendered when there are no children, removing the unnecessary gap.Affected components: Checkbox
-
b99f6d5: Fixed
Dialogcontent overflowing when noheightprop is set. The dialog now grows with its content and scrolls when content exceeds the viewport height.Affected components: Dialog
-
2f581de: Fixed focus ring styles to use React Aria's
[data-focus-visible]data attribute instead of the native CSS:focus-visiblepseudo-class. This ensures keyboard focus rings render reliably when focus is managed programmatically by React Aria (e.g. inside a GridList, Menu, or Select).Affected components: Accordion, Button, ButtonIcon, ButtonLink, Card, List, Menu, Select, ToggleButtonGroup
-
17d6398: Fixed incorrect bottom spacing caused by
Containerusingpadding-bottomfor its default bottom spacing. Changed tomargin-bottomand prevented it from applying whenContaineris used as theHeaderroot element.Affected components: Container, Header
-
2e5c651: Fixed
PluginHeaderto avoid triggeringResizeObserver loop completed with undelivered notificationswarnings when used in layouts that react to the header height, such as pages that useFullPage.Affected components: PluginHeader
-
d4fa5b4: Fixed tab
matchStrategymatching to ignore query parameters and hash fragments in tabhrefvalues. Previously, tabs with query params in theirhref(e.g.,/page?group=foo) would never show as active since matching compared the fullhrefstring againstlocation.pathnamewhich never includes query params.Affected components: Tabs, PluginHeader
-
bc42b60: Fixed Table component to use current
--bui-bg-neutral-1tokens instead of the removed--bui-bg-tinttokens, restoring row hover, selected, pressed, and disabled background colors. -
9314ff5: Fixed a bug in the
useTablehook where the loading skeleton was never shown forcompletemode when usinggetData. The initial data state was an empty array instead ofundefined, causing theTablecomponent to skip the loading state. -
f42f4cc: Fixed Table column headers overflowing and wrapping when there is not enough space. Headers now truncate with ellipsis instead.
Affected components: Table
-
1f9682b: Fixed Table row hover, selected, pressed, and disabled background states to use the correct neutral token level based on the container background.
Affected components: Table
-
fbd5c5a: Fixed Table rows showing a pointer cursor when not interactive. Rows now only show
cursor: pointerwhen they have anhref, are selectable, or are pressable.Affected components: Table
-
612c217: Fixed
Tablerows with externalhrefvalues to open in a new tab by automatically applyingtarget="_blank"andrel="noopener noreferrer".Affected components: Table
-
545129a: Updated Table selection checkboxes to use
aria-labelinstead of empty fragment children, improving accessibility and removing the unnecessary label gap in the selection cells.Affected components: Table
-
36987db: Fixed handling of the
styleprop onButton,ButtonIcon, andButtonLinkso that it is now correctly forwarded to the underlying element instead of being silently dropped.Affected components: Button, ButtonIcon, ButtonLink
-
95702ab: Fixed Link variant default from
'body'to'body-medium'to match actual CSS selectors. The previous default did not correspond to a valid variant value.Affected components: Link
-
9027b10: Fixed scroll overflow in Menu and Select popover content when constrained by viewport height.
Affected components: Menu, Select
-
7960d54: Added support for native HTML div attributes on the
Flex,Grid, andGrid.Itemcomponents.Affected components: Flex, Grid, Grid.Item
-
0559408: Added
virtualizedprop toTablecomponent for virtualized rendering of large datasets. Acceptstruefor default row height,{ rowHeight: number }for fixed height, or{ estimatedRowHeight: number }for variable height rows. -
8909359: Fixed focus-visible outline styles for Menu and Select components.
Affected components: Menu, Select
-
12d8afe: Fixed MenuItem
onActionprop ordering so user-providedonActionhandlers are chained rather than silently overwritten. -
aa29b50: Pages created with
PageBlueprintnow render the plugin header by default in the new frontend system. -
bb66b86: The
Selecttrigger now automatically adapts its background colour based on the parent background context.Affected components: Select
-
4105a78: Merged the internal
PluginHeaderToolbarcomponent intoPluginHeader, removing the separate component and its associated types (PluginHeaderToolbarOwnProps,PluginHeaderToolbarProps) and definition (PluginHeaderToolbarDefinition). This is an internal refactor with no changes to the public API ofPluginHeader.Affected components: PluginHeader
-
9599697: Updated dependency
globalsto^17.0.0. -
0f462f8: Improved type safety in
useDefinitionby centralizing prop resolution and strengthening theBgPropsConstraintto require thatbgprovider components declarechildrenas a required prop in their OwnProps type. -
8909359: Added proper cursor styles for RadioGroup items.
Affected components: RadioGroup
-
fcaac3b: Fixed
Cardinteractive cards not firing theonPresshandler when clicking the card surface.Affected components: Card
-
b303857: Fixed
isRequiredprop not being passed to the underlying React Aria field components in TextField, SearchField, and PasswordField. Previously,isRequiredwas consumed locally for the secondary label text but never forwarded, which meant the input elements lackedaria-required="true"and React Aria's built-in required validation was not activated.Affected components: TextField, SearchField, PasswordField
-
934ac03:
SearchFieldandTextFieldnow automatically adapt their background color based on the parent bg context, stepping up one neutral level (e.g. neutral-1 → neutral-2) when placed on a neutral background.TextFieldalso gains a focus ring using the--bui-ringtoken.Affected components: SearchField, TextField
-
cd3cb0f: Improved
useBreakpointperformance by sharing a single set ofmatchMedialisteners across all component instances instead of creating independent listeners per hook call. -
36987db: Extended
AlertProps,ContainerProps,DialogBodyProps, andFieldLabelPropswith native div element props to allow passing attributes likearia-*anddata-*.Affected components: Alert, Container, DialogBody, FieldLabel
@backstage/plugin-catalog-backend@3.5.0
Minor Changes
-
a6b2819: Added
query-catalog-entitiesaction to the catalog backend actions registry. Supports predicate-based filtering with$all,$any,$not,$exists,$in,$contains, and$hasPrefixoperators. -
972f686: Added support for predicate-based filtering on the
/entities/by-refsendpoint via thequeryfield in the request body. Supports$all,$any,$not,$exists,$in,$contains, and$hasPrefixoperators. -
5d95e8e: Add an
onConflictoption to location creation that can refresh an existing location instead of throwing a conflict error. -
56c908e: Added support for predicate-based filtering on the
/entity-facetsendpoint via a newPOSTmethod. Supports$all,$any,$not,$exists,$in,$contains, and$hasPrefixoperators. -
0fbcf23: Migrated OpenAPI schemas to 3.1.
-
bf71677: Added opentelemetry metrics for SCM events:
catalog.events.scm.messageswith attributeeventType: Counter for the number of SCM events actually received by the catalog backend. TheeventTypeis currently eitherlocationorrepository.
-
51e23eb: Added predicate-based entity filtering via POST /entities/by-query endpoint.
Supports
$all,$any,$not,$exists,$in,$hasPrefix, and (partially)$containsoperators for expressive entity queries. Integrated into the existingqueryEntitiesflow with full cursor-based pagination, permission enforcement, andtotalItemssupport.The catalog client's
queryEntities()method automatically routes to the POST endpoint when aquerypredicate is provided.
Patch Changes
-
a91bd1b: Improved catalog entity deletion so parent invalidation and deferred relation restitch scheduling are coordinated more safely.
-
6738cf0: build(deps): bump
minimatchfrom 9.0.5 to 10.2.1 -
7416e8b: Moved stitch queue concerns out of
refresh_stateandfinal_entitiesinto a dedicatedstitch_queuetable withentity_refas the primary key. Thestitch_ticketis used for optimistic concurrency control. When a stitch completes successfully and the ticket hasn't changed, the corresponding row is deleted from the queue. The migration handles existing data and is fully reversible. -
fbf382f: Minor internal optimisation
-
1ee5b28: Migrates existing catalog metrics to use the alpha MetricsService. This release is a 1:1 migration with no breaking changes.
-
72747b4: Deprecated two processors as they have been moved to the Community Plugins repo with their own backend modules:
AnnotateScmSlugEntityProcessor: Use@backstage-community/plugin-catalog-backend-module-annotate-scm-sluginsteadCodeOwnersProcessor: Use@backstage-community/plugin-catalog-backend-module-codeownersinstead
-
3644b72: Make the
searchforeign key catalog migration non-blocking on large tables by using batch deletes and PostgreSQLNOT VALID/VALIDATEto reduce lock duration -
a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. -
3181973: Changed the
searchtable foreign key to point tofinal_entitiesinstead ofrefresh_state -
Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/catalog-client@1.14.0
- @backstage/integration@2.0.0
- @backstage/plugin-catalog-node@2.1.0
- @backstage/filter-predicates@0.1.1
- @backstage/plugin-permission-common@0.9.7
- @backstage/plugin-permission-node@0.10.11
- @backstage/catalog-model@1.7.7
- @backstage/backend-openapi-utils@0.6.7
- @backstage/plugin-events-node@0.4.20
@backstage/plugin-catalog-backend-module-github@0.13.0
Minor Changes
-
b11c2cd: The default user transformer now prefers organization verified domain emails over the user's public GitHub email when populating the user entity profile. It also strips plus-addressed routing tags that GitHub adds to these emails.
If you want to retain the old behavior, you can do so with a custom user transformer using the
githubOrgEntityProviderTransformsExtensionPoint:import { createBackendModule } from '@backstage/backend-plugin-api';
import { githubOrgEntityProviderTransformsExtensionPoint } from '@backstage/plugin-catalog-backend-module-github-org';
import { defaultUserTransformer } from '@backstage/plugin-catalog-backend-module-github';
export default createBackendModule({
pluginId: 'catalog',
moduleId: 'github-org-custom-transforms',
register(env) {
env.registerInit({
deps: {
transforms: githubOrgEntityProviderTransformsExtensionPoint,
},
async init({ transforms }) {
transforms.setUserTransformer(async (item, ctx) => {
const entity = await defaultUserTransformer(item, ctx);
if (entity && item.email) {
entity.spec.profile!.email = item.email;
}
return entity;
});
},
});
},
});
Patch Changes
-
6738cf0: build(deps): bump
minimatchfrom 9.0.5 to 10.2.1 -
106d1b2: Added a
defaultUserTransformer.useVerifiedEmailsconfig option for thegithubOrgprovider. When set totrue, the default user transformer prefers organization verified domain emails over the user's public GitHub email. Defaults tofalse, which uses only the public GitHub email.This option has no effect when a custom user transformer is set via the
githubOrgEntityProviderTransformsExtensionPoint.catalog:
providers:
githubOrg:
production:
githubUrl: https://github.com
orgs:
- my-org
defaultUserTransformer:
useVerifiedEmails: true -
Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/integration@2.0.0
- @backstage/plugin-catalog-node@2.1.0
- @backstage/catalog-model@1.7.7
- @backstage/plugin-events-node@0.4.20
@backstage/plugin-catalog-graph@0.6.0
Minor Changes
-
d14b6e0: BREAKING: Migrated
MembersListCard,OwnershipCard, andCatalogGraphCardto use BUI card primitives viaEntityInfoCard.OwnershipCard: RemovedvariantandmaxScrollHeightprops. 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: Removedvariantprop.MembersListCard: Translation keyssubtitle,paginationLabel,aggregateMembersToggle.directMembers,aggregateMembersToggle.aggregatedMembers, andaggregateMembersToggle.ariaLabelhave been removed. Thetitlekey now includes{{groupName}}. New keys added:cardLabel,noSearchResult,aggregateMembersToggle.label.OwnershipCard: Translation keysaggregateRelationsToggle.directRelations,aggregateRelationsToggle.aggregatedRelations, andaggregateRelationsToggle.ariaLabelhave been removed. New key added:aggregateRelationsToggle.label.- Removed
MemberComponentClassKeyexport, androotandcardContentfromMembersListCardClassKey,cardfromOwnershipCardClassKey, andcardfromCatalogGraphCardClassKey.
Migration:
- <EntityOwnershipCard variant="gridItem" />
+ <EntityOwnershipCard />- <EntityCatalogGraphCard variant="gridItem" height={400} />
+ <EntityCatalogGraphCard height={400} />
Patch Changes
- 538c985: Updated installation documentation to use feature discovery as the default.
- 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
- Updated dependencies
- @backstage/plugin-catalog-react@2.1.0
- @backstage/ui@0.13.0
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
- @backstage/catalog-client@1.14.0
- @backstage/catalog-model@1.7.7
@backstage/plugin-catalog-node@2.1.0
Minor Changes
-
bf71677: Added the ability for SCM events subscribers to mark the fact that they have taken actions based on events, which produces output metrics:
catalog.events.scm.actionswith attributeaction: Counter for the number of actions actually taken by catalog internals or other subscribers, based on SCM events. Theactionis currently eithercreate,delete,refresh, ormove.
Patch Changes
- Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/backend-test-utils@1.11.1
- @backstage/catalog-client@1.14.0
- @backstage/plugin-permission-common@0.9.7
- @backstage/plugin-permission-node@0.10.11
- @backstage/catalog-model@1.7.7
@backstage/plugin-catalog-react@2.1.0
Minor Changes
- c548a0f: Added
EntityDataTable,EntityRelationCard,entityDataTableColumns,entityColumnPresets, and related types as alpha exports. These replaceEntityTableandRelatedEntitiesCard(from@backstage/plugin-catalog) respectively, providing a unified BUI-based pattern for entity table cards. - 4d58894: Added
aliasesandcontentOrderfields toEntityContentGroupDefinition, allowing groups to declare alias IDs and control the sort order of their content items. - d14b6e0: Exported
useEntityRefLinkhook that returns a function for generating entity page URLs from entity references. - 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
- c6080eb: Added
EntityInfoCardcomponent to@backstage/plugin-catalog-reactas a BUI-based card wrapper for entity page cards.
Patch Changes
- a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/ui@0.13.0
- @backstage/core-compat-api@0.5.9
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
- @backstage/catalog-client@1.14.0
- @backstage/frontend-test-utils@0.5.1
- @backstage/plugin-permission-react@0.4.41
- @backstage/filter-predicates@0.1.1
- @backstage/plugin-permission-common@0.9.7
- @backstage/catalog-model@1.7.7
- @backstage/integration-react@1.2.16
@backstage/plugin-devtools-react@0.2.0
Minor Changes
- f4a1edd: Removed the deprecated
DevToolsContentBlueprintfrom@backstage/plugin-devtools-react. DevTools pages in the new frontend system now useSubPageBlueprinttabs instead, and the catalog unprocessed entities alpha extension now attaches to DevTools as a subpage.
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.12.4
- @backstage/frontend-plugin-api@0.15.0
@backstage/plugin-events-backend@0.6.0
Minor Changes
- 0fbcf23: Migrated OpenAPI schemas to 3.1.
Patch Changes
- Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/backend-openapi-utils@0.6.7
- @backstage/plugin-events-node@0.4.20
@backstage/plugin-notifications-backend-module-slack@0.4.0
Minor Changes
- cd62d78: BREAKING: Only send direct messages to user entity recipients. Notifications sent to non-user entities no longer send Slack direct messages to resolved users.
- 749ba60: Add an extension for custom Slack message layouts
Patch Changes
- e7c6c32: The Slack notification processor now uses the
MetricsServiceto create metrics, providing plugin-scoped attribution.{message}unit has also been added. - Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/plugin-catalog-node@2.1.0
- @backstage/catalog-model@1.7.7
- @backstage/plugin-notifications-node@0.2.24
@backstage/plugin-org@0.7.0
Minor Changes
-
d14b6e0: BREAKING: Migrated
MembersListCard,OwnershipCard, andCatalogGraphCardto use BUI card primitives viaEntityInfoCard.OwnershipCard: RemovedvariantandmaxScrollHeightprops. 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: Removedvariantprop.MembersListCard: Translation keyssubtitle,paginationLabel,aggregateMembersToggle.directMembers,aggregateMembersToggle.aggregatedMembers, andaggregateMembersToggle.ariaLabelhave been removed. Thetitlekey now includes{{groupName}}. New keys added:cardLabel,noSearchResult,aggregateMembersToggle.label.OwnershipCard: Translation keysaggregateRelationsToggle.directRelations,aggregateRelationsToggle.aggregatedRelations, andaggregateRelationsToggle.ariaLabelhave been removed. New key added:aggregateRelationsToggle.label.- Removed
MemberComponentClassKeyexport, androotandcardContentfromMembersListCardClassKey,cardfromOwnershipCardClassKey, andcardfromCatalogGraphCardClassKey.
Migration:
- <EntityOwnershipCard variant="gridItem" />
+ <EntityOwnershipCard />- <EntityCatalogGraphCard variant="gridItem" height={400} />
+ <EntityCatalogGraphCard height={400} /> -
5fc35bb: Migrated
EntityAboutCard,EntityLinksCard,EntityLabelsCard,GroupProfileCard, andUserProfileCardfrom MUI/InfoCard to use the new BUI card layout and BUI components where possible.BREAKING: Removed
variantprop from EntityAboutCard, EntityUserProfileCard, EntityGroupProfileCard, EntityLabelsCard, EntityLinksCard. RemovedgridSizesprop fromAboutField.Migration:
Simply delete the obsolete
variantandgridSizesprops, e.g:- <EntityAboutCard variant="gridItem" />
+ <EntityAboutCard />- <AboutField label="Owner" gridSizes={{ xs: 12, sm: 6, lg: 4 }} />
+ <AboutField label="Owner" />
Patch Changes
- 538c985: Updated installation documentation to use feature discovery as the default.
- 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
- Updated dependencies
- @backstage/plugin-catalog-react@2.1.0
- @backstage/ui@0.13.0
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
- @backstage/catalog-model@1.7.7
@backstage/plugin-scaffolder@1.36.0
Minor Changes
- 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
Patch Changes
- e27bd4e: Removed check for deprecated
bitbucketintegration fromrepoPickerValidationfunction used by theRepoUrlPicker, it now validates thebitbucketServerandbitbucketCloudintegrations instead. - 538c985: Updated installation documentation to use feature discovery as the default.
- bd5b842: Added a new
ui:autoSelectoption to the EntityPicker field that controls whether an entity is automatically selected when the field loses focus. When set tofalse, the field will remain empty if the user closes it without explicitly selecting an entity, preventing unintentional selections. Defaults totruefor backward compatibility. - 3f36ce1: Updated alpha plugin icons to follow the new frontend icon sizing rules when rendered in plugin and navigation surfaces.
- a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/plugin-catalog-react@2.1.0
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
- @backstage/catalog-client@1.14.0
- @backstage/plugin-scaffolder-react@1.20.0
- @backstage/integration@2.0.0
- @backstage/plugin-permission-react@0.4.41
- @backstage/plugin-scaffolder-common@2.0.0
- @backstage/catalog-model@1.7.7
- @backstage/integration-react@1.2.16
- @backstage/plugin-techdocs-react@1.3.9
@backstage/plugin-scaffolder-backend@3.2.0
Minor Changes
- c9b11eb: Added a new
list-scaffolder-tasksaction that allows querying scaffolder tasks with optional ownership filtering and pagination support - 1b42218: Adds a new
get-scaffolder-task-logsaction to@backstage/plugin-scaffolder-backendthat retrieves log events for a given scaffolder task, with optional support for retrieving only new events after a given event ID. - 0fbcf23: Migrated OpenAPI schemas to 3.1.
- 7695dd2: Added a new
list-scaffolder-actionsaction that returns all installed scaffolder actions with their schemas and examples - e8736ea: 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 a400error if validation fails.
Patch Changes
- e27bd4e: Removed
@backstage/plugin-scaffolder-backend-module-bitbucketfrompackage.jsonas the package itself has been deprecated and the code deleted. - 4f5ed06: Fixed a security vulnerability where server-configured environment secrets were exposed through the scaffolder dry-run endpoint.
- 30ff981: Fixed a security vulnerability where secrets could bypass log redaction when transformed through Nunjucks filters in scaffolder templates.
- 4e39e63: Removed unused dependencies
- a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - ccc20cf: create scaffolder MCP action to dry run a provided scaffolder template
- Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/plugin-scaffolder-node@0.13.0
- @backstage/integration@2.0.0
- @backstage/plugin-catalog-node@2.1.0
- @backstage/plugin-scaffolder-common@2.0.0
- @backstage/plugin-permission-common@0.9.7
- @backstage/plugin-permission-node@0.10.11
- @backstage/catalog-model@1.7.7
- @backstage/backend-openapi-utils@0.6.7
- @backstage/plugin-events-node@0.4.20
@backstage/plugin-scaffolder-node@0.13.0
Minor Changes
- e27bd4e: BREAKING Removed deprecated
bitbucketintegration from being used in theparseRepoUrlfunction. It will use thebitbucketCloudorbitbucketServerintegrations instead.
Patch Changes
- cd0ecc5: Added
removeFileshelper function for staging file removals in Git. - f598909: Added
scaffolderServiceRefandScaffolderServiceinterface for backend plugins that need to interact with the scaffolder API usingBackstageCredentialsinstead of raw tokens. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/backend-test-utils@1.11.1
- @backstage/integration@2.0.0
- @backstage/plugin-scaffolder-common@2.0.0
- @backstage/plugin-permission-common@0.9.7
- @backstage/catalog-model@1.7.7
@backstage/plugin-scaffolder-react@1.20.0
Minor Changes
- 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
- 470f72d: The
LogViewercomponent from@backstage/core-componentsnow supports downloading logs if a callback is passed toonDownloadLogs
Patch Changes
- 004b5c1: Added back
formFieldsApiRefandScaffolderFormFieldsApias alpha exports. - bd31ddd: Updated dependency
flattedto3.3.4. - f598909: Added
scaffolderApiMocktest utility, exported from@backstage/plugin-scaffolder-react/testUtils. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/plugin-catalog-react@2.1.0
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
- @backstage/catalog-client@1.14.0
- @backstage/frontend-test-utils@0.5.1
- @backstage/plugin-permission-react@0.4.41
- @backstage/plugin-scaffolder-common@2.0.0
- @backstage/catalog-model@1.7.7
@backstage/plugin-search@1.7.0
Minor Changes
- 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
Patch Changes
- d5eb954: Fixes the search component not registering the first search on navigate to the search page.
- aa29b50: New frontend system pages now use the default plugin header together with
HeaderPageinstead of the legacy core page header pattern. - 3f36ce1: Updated alpha plugin icons to follow the new frontend icon sizing rules when rendered in plugin and navigation surfaces.
- Updated dependencies
- @backstage/plugin-catalog-react@2.1.0
- @backstage/ui@0.13.0
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
- @backstage/plugin-search-react@1.11.0
@backstage/plugin-search-backend@2.1.0
Minor Changes
- 0fbcf23: Migrated OpenAPI schemas to 3.1.
Patch Changes
- a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/plugin-permission-common@0.9.7
- @backstage/plugin-permission-node@0.10.11
- @backstage/backend-openapi-utils@0.6.7
- @backstage/plugin-search-backend-node@1.4.2
@backstage/plugin-search-react@1.11.0
Minor Changes
- 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
Patch Changes
- d5eb954: Fixes the search component not registering the first search on navigate to the search page.
- Updated dependencies
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/frontend-plugin-api@0.15.0
@backstage/app-defaults@1.7.6
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/core-app-api@1.19.6
- @backstage/plugin-permission-react@0.4.41
@backstage/backend-openapi-utils@0.6.7
Patch Changes
- Updated dependencies
- @backstage/backend-plugin-api@1.8.0
@backstage/backend-test-utils@1.11.1
Patch Changes
- dee4283: Added
pluginIdfield toActionsServiceActiontype, populated from the registering plugin's metadata. - 164711a: Added
cancelTasktoMockSchedulerServiceand mock scheduler service factory. - 62f0a53: Fixed error forwarding in the actions registry so that known errors like
InputErrorandNotFoundErrorthrown by actions preserve their original status codes and messages instead of being wrapped inForwardedErrorand coerced to 500. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - 1ee5b28: Adds a new metrics service mock to be leveraged in tests
- Updated dependencies
- @backstage/backend-plugin-api@1.8.0
- @backstage/backend-defaults@0.16.0
- @backstage/plugin-permission-common@0.9.7
- @backstage/plugin-auth-node@0.6.14
- @backstage/backend-app-api@1.6.0
- @backstage/plugin-events-node@0.4.20
@backstage/catalog-model@1.7.7
Patch Changes
- a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports.
@backstage/cli-module-actions@0.0.1
Patch Changes
- 42960f1: Added
actionsCLI module for listing and executing actions from the distributed actions registry. Includesactions list,actions execute, andactions sourcescommands for managing plugin sources. - Updated dependencies
- @backstage/cli-node@0.3.0
@backstage/codemods@0.1.55
Patch Changes
- 70fc178: Migrated from deprecated
findPathstotargetPathsandfindOwnPathsfrom@backstage/cli-common. - de62a9d: Upgraded
commanderdependency from^12.0.0to^14.0.3across all CLI packages. - Updated dependencies
- @backstage/cli-common@0.2.0
@backstage/config-loader@1.10.9
Patch Changes
- 70fc178: Migrated from deprecated
findPathstotargetPathsandfindOwnPathsfrom@backstage/cli-common. - Updated dependencies
- @backstage/cli-common@0.2.0
@backstage/core-app-api@1.19.6
Patch Changes
- 12d8afe: Added
BUIProviderfrom@backstage/uito the app shell provider tree, enabling BUI components to fire analytics events through the Backstage analytics system. - 59752a2: Deprecated
AlertApiForwarderin favor of the newToastApi. TheAlertApiForwardernow emits a console warning on first use, guiding developers to migrate toToastApifrom@backstage/frontend-plugin-api. - 0452d02: Add optional
descriptionfield to plugin-level feature flags. - 42f8c9b: Added
BUIProviderinside the legacy app router to enable client-side routing for all BUI components. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/ui@0.13.0
- @backstage/core-plugin-api@1.12.4
@backstage/core-compat-api@0.5.9
Patch Changes
- b15a685: Added
withApis, which is a Higher-Order Component for providing APIs as props to a component viauseApiHolder. - 8e09233: Added a missing dependency on
@backstage/filter-predicatesto@backstage/core-compat-api. This fixes package metadata for consumers that use compatibility helpers relying on filter predicate support. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - Updated dependencies
- @backstage/plugin-catalog-react@2.1.0
- @backstage/core-plugin-api@1.12.4
- @backstage/frontend-plugin-api@0.15.0
- @backstage/plugin-app-react@0.2.1
- @backstage/filter-predicates@0.1.1
@backstage/core-components@0.18.8
Patch Changes
- e26e3de: The login request dialog now handles auth provider icons passed as
IconElementin addition toIconComponent. - 8e09233: Fixed the shared
Progresscomponent to provide an accessible name for its loading indicator by default. - 8b1a847: Fixed Table component layout when both
filtersandtitleprops are used together. The filter controls now use a dedicated CSS class (filterControls) instead of incorrectly reusing the root container class. - 3f36ce1: Clarified the
IconElementsizing contract for the new frontend system and aligned legacy system icon rendering with the new icon API. - 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
- a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - 470f72d: The
LogViewercomponent from@backstage/core-componentsnow supports downloading logs if a callback is passed toonDownloadLogs - Updated dependencies
- @backstage/core-plugin-api@1.12.4
@backstage/core-plugin-api@1.12.4
Patch Changes
- d911b72: Updated
createApiRefto preserve the direct config call without deprecation warnings while staying compatible with the new frontend API ref typing. - 59752a2: Deprecated
AlertApi,AlertMessage, andalertApiRefin favor of the newToastApifrom@backstage/frontend-plugin-api. - 0452d02: Add optional
descriptionfield to plugin-level feature flags. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - fe848e0: Changed
useApiHolderto return an emptyApiHolderinstead of throwing when used outside of an API context. - Updated dependencies
- @backstage/frontend-plugin-api@0.15.0
@backstage/dev-utils@1.1.21
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@2.1.0
- @backstage/ui@0.13.0
- @backstage/core-plugin-api@1.12.4
- @backstage/core-components@0.18.8
- @backstage/core-app-api@1.19.6
- @backstage/catalog-model@1.7.7
- @backstage/app-defaults@1.7.6
- @backstage/integration-react@1.2.16
@backstage/eslint-plugin@0.2.2
Patch Changes
- 6738cf0: build(deps): bump
minimatchfrom 9.0.5 to 10.2.1
@backstage/filter-predicates@0.1.1
Patch Changes
- a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports.
@backstage/frontend-dynamic-feature-loader@0.1.10
Patch Changes
- e8ba654: Update the README of the
frontend-dynamic-feature-loaderpackage to mention the newbackstage-cli package bundlecommand. - Updated dependencies
- @backstage/frontend-plugin-api@0.15.0
- @backstage/module-federation-common@0.1.2
@backstage/frontend-test-utils@0.5.1
Patch Changes
- b56f573: Deprecated standalone mock API exports in favor of the
mockApisnamespace. This includes the mock classes (MockAlertApi,MockAnalyticsApi,MockConfigApi,MockErrorApi,MockFetchApi,MockFeatureFlagsApi,MockPermissionApi,MockStorageApi,MockTranslationApi), their option types (MockErrorApiOptions,MockFeatureFlagsApiOptions), and theErrorWithContexttype.MockFetchApiOptionsis kept as a non-deprecated export. Use themockApisnamespace instead, for examplemockApis.alert()ormockApis.alert.mock(). - 479282f: Fixed type inference of
TestApiPairwhen using tuple syntax by wrappingMockWithApiFactoryinNoInfer. - 8e09233: Added a missing dependency on
@backstage/filter-predicatesto@backstage/frontend-test-utils. This fixes package metadata for consumers using the frontend test app helpers with predicate-based behavior. - a49a40d: Updated dependency
zodto^3.25.76 || ^4.0.0& migrated to/v3or/v4imports. - 909c742: Switched
MockTranslationApiand related test utility imports from@backstage/core-plugin-api/alphato the stable@backstage/frontend-plugin-apiexport. TheTranslationApitype in the API report is now sourced from a single package. This has no effect on runtime behavior. - Updated dependencies
- @backstage/frontend-app-api@0.16.0
- @backstage/core-plugin-api@1.12.4
- @backstage/frontend-plugin-api@0.15.0
- @backstage/core-app-api@1.19.6
- @backstage/plugin-app@0.4.1
- @backstage/plugin-app-react@0.2.1
- @backstage/plugin-permission-react@0.4.41
- @backstage/filter-predicates@0.1.1
- @backstage/plugin-permission-common@0.9.7
- @backstage/test-utils@1.7.16
@backstage/integration-react@1.2.16
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.12.4
- @backstage/integration@2.0.0