Release v1.51.0
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.51.0
@backstage/backend-app-api@1.7.0
Minor Changes
- 3595c97: Added
ExtensionPointFactoryMiddlewaretype andcreateExtensionPointFactoryMiddlewarehelper to reimplement extension point outputs at backend creation time.
Patch Changes
- Updated dependencies
- @backstage/errors@1.3.1
- @backstage/backend-plugin-api@1.9.1
- @backstage/config@1.3.8
@backstage/catalog-model@1.9.0
Minor Changes
- 3664148: Introduced the
AiResourcecatalog entity kind. Entity types, validators, type guards, and the model layer are exported from@backstage/catalog-model/alpha. Install@backstage/plugin-catalog-backend-module-ai-modelin your backend to register the kind with the catalog. - be71476: Added
spec.type: 'mcp-server'as a structured subtype of theAPIkind underv1alpha1/v1beta1. MCP server entities carry aspec.remoteslist instead of a stringdefinition, for representing Model Context Protocol servers in the catalog. See RFC #32062. New public exports:McpServerApiEntity,McpServerRemote,mcpServerApiEntityValidator, andisMcpServerApiEntity. Also addsaddKindVersiontoCatalogModelLayerBuilder(alpha) so layers can add new versions or spec types to existing kinds.
Patch Changes
- ab1cdbb: Removed a handful of internal imports that referenced the package by its own name. Value imports were switched to relative paths, and type-only imports to
import type. These self-referential imports could trigger circular initialization errors in bundled ESM and when the package was loaded viajest.requireActual— most visiblyCannot access '_AppRootElementBlueprintesm' before initializationfrom@backstage/frontend-plugin-api. There are no user-facing API changes. - Updated dependencies
- @backstage/errors@1.3.1
@backstage/eslint-plugin@0.3.0
Minor Changes
- ab1cdbb: Added a new
no-self-package-importslint rule, enabled aserrorin the recommended config, that reports when a package imports itself by its own name instead of using a relative path. This pattern causes circular initialization errors in bundled ESM and withjest.requireActual.
@backstage/frontend-plugin-api@0.17.0
Minor Changes
-
44d77e9: BREAKING: Removed the deprecated
NavItemBlueprint. Navigation items are now discovered fromPageBlueprintextensions based on theirtitleandiconparams.If you were still using
NavItemBlueprint, migrate by movingtitleandiconto yourPageBlueprintinstead:-const navItem = NavItemBlueprint.make({
- params: { title: 'Example', icon: ExampleIcon, routeRef },
-});
const page = PageBlueprint.make({
params: {
+ title: 'Example',
+ icon: <ExampleIcon fontSize="inherit" />,
routeRef,
path: '/example',
loader: () => import('./Page').then(m => <m.Page />),
},
});PageBlueprintexpects anIconElementrather than a Material UIIconComponent, so this is also a good time to switch to Remix Icon if you were using Material UI icons only for the nav item:-import ExampleIcon from '@material-ui/icons/Extension';
+import { RiPuzzleLine } from '@remixicon/react';
...
- icon: ExampleIcon,
+ icon: <RiPuzzleLine />, -
8738203: BREAKING: Removed the deprecated property form of
PortableSchema.schema. Theschemamember is now a plain method that must be called asschema()— direct property access likeschema.typeorschema.propertiesis no longer supported.
Patch Changes
- ab1cdbb: Removed a handful of internal imports that referenced the package by its own name. Value imports were switched to relative paths, and type-only imports to
import type. These self-referential imports could trigger circular initialization errors in bundled ESM and when the package was loaded viajest.requireActual— most visiblyCannot access '_AppRootElementBlueprintesm' before initializationfrom@backstage/frontend-plugin-api. There are no user-facing API changes. - cad156e: Replaced old config schema values from existing extensions and blueprints.
- 72a552f: Updated error messages and deprecation warnings to clarify that the
zod/v4subpath export from the Zod v3 package is not supported byconfigSchema, since it does not include JSON Schema conversion. Thezoddependency has been bumped to^4.0.0. - Updated dependencies
- @backstage/errors@1.3.1
- @backstage/filter-predicates@0.1.3
@backstage/frontend-test-utils@0.6.0
Minor Changes
-
44d77e9: BREAKING:
renderInTestAppno longer renders a sidebar or legacynav-itemextensions. The app nav extension is now disabled in the minimal test app shell, along with the layout and routes extensions.If your tests passed
featurescontainingnav-itemextensions and asserted on links or labels in that stub sidebar, switch torenderTestAppinstead — it uses the real app shell and discovers nav items from page extensions.If you only use
renderInTestAppto mount a component with APIs or route refs, there is no change.
Patch Changes
- 0c298f7: Removed internal
mockWithApiFactoryhelper in favor of usingattachMockApiFactorydirectly. - fa363f9: Added support for
ExternalRouteRefin themountedRoutesoption ofrenderInTestAppandrenderTestApp. - 9279ea8: Added explicit type annotations to
.map()callback parameters inrenderInTestAppto avoid implicitanyerrors with newer TypeScript versions. - Updated dependencies
- @backstage/plugin-app@0.4.6
- @backstage/frontend-app-api@0.16.3
- @backstage/frontend-plugin-api@0.17.0
- @backstage/core-plugin-api@1.12.6
- @backstage/filter-predicates@0.1.3
- @backstage/plugin-permission-common@0.9.9
- @backstage/plugin-app-react@0.2.3
- @backstage/config@1.3.8
- @backstage/core-app-api@1.20.1
- @backstage/test-utils@1.7.18
- @backstage/plugin-permission-react@0.5.1
@backstage/integration-aws-node@0.2.0
Minor Changes
-
8df06ec: Added
webIdentityTokenFiletoAwsIntegrationAccountConfigandAwsIntegrationDefaultAccountConfig. When set along with aroleName,DefaultAwsCredentialsManagerretrieves credentials by callingAssumeRoleWithWebIdentity(viafromTokenFile) using the file's contents as the web identity token. The file is re-read on each credential refresh.The validator rejects combining
webIdentityTokenFilewithaccessKeyId/secretAccessKey,profile, orexternalId, and rejects setting it without aroleName.
Patch Changes
- Updated dependencies
- @backstage/errors@1.3.1
- @backstage/config@1.3.8
@techdocs/cli@1.11.0
Minor Changes
- 329f592: Add support for disabling external font downloads via techdocs-cli
techdocs-cli generate --disableExternalFonts, useful for air-gapped Backstage instances.