docs/releases/v1.23.0-changelog.md
@backstage/core-plugin-api and @backstage/frontend-plugin-api packages, the
implementation is in @backstage/core-app-api and a factory has been added to
@backstage/app-defaults.ErrorPage and updated existing refskind:resource to the storage icon.--cwd as the first yarn argumentdefaultScopes for Bitbucket auth from invalid team to account.A gitilesBaseUrl must be provided for the Gerrit integration to work.
You can disable this check by setting DISABLE_GERRIT_GITILES_REQUIREMENT=1 but
this will be removed in a future release. If you are not able to use the Gitiles
Gerrit plugin, please open an issue towards https://github.com/backstage/backstageLegacyRootDatabaseService interface that can be used to avoid direct dependencies on the DatabaseManager.FetchUrlReader#readUrl() now supports passing an optional token to authenticate requests.--cwd as the first yarn argumenttoken in readTree, readUrl and searchfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.dockerode to ^4.0.0.git-url-parse to ^14.0.0.x-ratelimit-remaining to look for in case of a 403 code is returnedworkingDirectoryd7adbbf: Implement the discovery of additional individual configuration schemas for dynamic plugins, and provide:
alpha support in dynamic plugins support: the alpha sub-package should not be required for the dynamic plugins to be loaded under the new backend system.repository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.@backstage/core-plugin-api and @backstage/frontend-plugin-api packages, the
implementation is in @backstage/core-app-api and a factory has been added to
@backstage/app-defaults.--cwd as the first yarn argument@types/react dependency range to include version 18.defaultScopes for Bitbucket auth from invalid team to account.ComponentsApi and IconsApi when implementing the old AppContext.@oriflame/backstage-plugin-score-card to ^0.8.0.RouteResolutionsApi.convertLegacyRouteRefs for bulk conversion of plugin routes.defaultTarget pointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter.convertLegacyApp now have their routes and externalRoutes included as well, allowing them to be used to bind external routes in configuration.SidebarIntro component as it was providing instructions for features that do not exist, along with IntroCard. If you were relying on this component and want to keep using it you can refer to the original implementations of SidebarIntro and IntroCard.3e1c6e2: Added possibility to show arrow heads for graph edges for better understandability.
In order to show arrow heads in the catalog graph page, add showArrowHeads attribute to CatalogGraphPage component
(typically in packages/app/src/App.tsx):
- <CatalogGraphPage />
+ <CatalogGraphPage showArrowHeads />
In order to show arrow heads in entity graphs, add showArrowHeads attribute to EntityCatalogGraphCard components
(typically multiple occurrences in packages/app/src/components/catalog/EntityPage.tsx):
- <EntityCatalogGraphCard variant="gridItem" height={400} />
+ <EntityCatalogGraphCard variant="gridItem" height={400} showArrowHeads />
8fe56a8: Widen @types/react dependency range to include version 18.
7f11009: Added stack trace display to ErrorPage and updated existing refs
09cedb9: Updated dependency @react-hookz/web to ^24.0.0.
214f2da: Fix invalid HTTP status code 501 in Error Page
Updated dependencies
@backstage/core-plugin-api and @backstage/frontend-plugin-api packages, the
implementation is in @backstage/core-app-api and a factory has been added to
@backstage/app-defaults.@types/react dependency range to include version 18.NotImplementedError when an API implementation cannot be found.bdf4a8e: BREAKING: Removed the experimental createExtensionTree API.
86346c2: BREAKING: The app.routes.bindings app-config mapping has been simplified. You now only need to specify the plugin ID and route ID on both sides of the mapping.
Old form:
app:
routes:
bindings:
plugin.catalog.externalRoutes.viewTechDoc: plugin.techdocs.routes.docRoot
plugin.catalog.externalRoutes.createComponent: plugin.catalog-import.routes.importPage
New form:
app:
routes:
bindings:
catalog.viewTechDoc: techdocs.docRoot
catalog.createComponent: catalog-import.importPage
IconsApi implementation and the ability to configure icons through the icons option for createApp and createSpecializedApp. This is not a long-term solution as icons should be installable via extensions instead. This is just a stop-gap to make sure there is feature parity with the existing frontend system.RouteResolutionsApi.@types/react dependency range to include version 18.repository field in package.json.ComponentsApi implementation now uses the ComponentRef ID as the component key, rather than the reference instance. This fixes a bug where duplicate installations of @backstage/frontend-plugin-api would break the app.defaultTarget pointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter.app instead of root.IconsApi definition.@backstage/core-plugin-api and @backstage/frontend-plugin-api packages, the
implementation is in @backstage/core-app-api and a factory has been added to
@backstage/app-defaults.@types/react dependency range to include version 18.RouteResolutionsApi as a replacement for the routing context.ExtensionBoundary, allowing them to inherit the outer context instead.defaultTarget pointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter.x-ratelimit-remaining to look for in case of a 403 code is returnedgit-url-parse to ^14.0.0.baseUrl is a valid URL04907c3: Updates the OpenAPI client template to support the new format for identifying plugin ID. You should now use info.title like so,
info:
+ title: yourPluginId
- title: @internal/plugin-*-backend
servers:
- /
- - yourPluginId
b10c603: Add support for oneOf in client generated by schema openapi generate-client.
4c62935: BREAKING: The schema openapi * commands are now renamed into package schema openapi * and repo schema openapi *. The aim is to make it more clear what the command is operating on, the entire repo or just a single package.
The following commands now live under the package namespace,
schema openapi generate is now package schema openapi generate --serverschema openapi generate-client is now package schema openapi generate --client-packageschema openapi init is now package schema openapi initAnd these commands live under the new repo namespace,
schema openapi lint is now repo schema openapi lintschema openapi test is now repo schema openapi testschema openapi verify is now repo schema openapi verifyThe package schema openapi generate now supports defining both --server and --client-package to generate both at once.This update also reworks the --client-package flag to accept only an output directory as the input directory can now be inferred.
knip to the knip-reports command, which generates a knip-report.md file for your packages with dependency warnings, if any.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.commander to ^12.0.0.components option to TestAppOptions, which will be forwarded as the components option to createApp.@types/react dependency range to include version 18.defaultScopes for Bitbucket auth from invalid team to account.--cwd as the first yarn argument--cwd as the first yarn argumentrepository field in package.json.--cwd as the first yarn argumentrepository field in package.json.api-docs to the new frontend system. It is experimental and available via alpha subpath.--cwd as the first yarn argumentsupportedSubmitMethods prop to api-docs to pass to the Swagger UI. This allows users to specify which HTTP methods they wish to allow end-users to make requests through the Try It Out button on the Swagger UI.@types/react dependency range to include version 18.graphiql to 3.1.0.@asyncapi/react-component to 1.2.13.7dd8463: BREAKING: The saml provider has been migrated from passport-saml to @node-saml/passport-saml.
This comes with breaking changes to config options:
audience is now mandatorywantAuthnResponseSigned is now exposed and defaults to truewantAssertionsSigned is now exposed and defaults to true/.well-known/openid-configuration endpoint.auth-backend-module-microsoft-provider again.@backstage/plugin-auth-backend-module-oidc-provider module package.makeProfileInfo and PassportHelpers.transformProfile
were refactored to use the jose library.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.@backstage/plugin-auth-backend-module-aws-alb-provider module package.experimentalExtraAllowedOrigins to config@backstage/plugin-auth-backend-module-aws-alb-provider module package.jose library for JWT handling.@backstage/plugin-auth-backend-module-oidc-provider module package to house oidc auth provider migration.repository field in package.json.passport to ^0.7.0.28610f4: BREAKING: catalogApi and permissionsApi are now a requirement to be passed through to the createRouter function.
You can fix the typescript issues by passing through the required dependencies like the below diff shows:
import {
createRouter,
AzureSitesApi,
} from '@backstage/plugin-azure-sites-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
+ const catalogClient = new CatalogClient({
+ discoveryApi: env.discovery,
+ });
return await createRouter({
logger: env.logger,
azureSitesApi: AzureSitesApi.fromConfig(env.config),
+ catalogApi: catalogClient,
+ permissionsApi: env.permissions,
});
}
9aac2b0: Use --cwd as the first yarn argument
4376655: Added permissionIntegrationRouter for azure-sites-backend routes
5a409bb: Azure Sites start and stop action is now protected with the Permissions framework.
The below example describes an action that forbids anyone but the owner of the catalog entity to trigger actions towards a site tied to an entity.
// packages/backend/src/plugins/permission.ts
import { azureSitesActionPermission } from '@backstage/plugin-azure-sites-common';
...
class TestPermissionPolicy implements PermissionPolicy {
async handle(request: PolicyQuery, user?: BackstageIdentityResponse): Promise<PolicyDecision> {
if (isPermission(request.permission, azureSitesActionPermission)) {
return createCatalogConditionalDecision(
request.permission,
catalogConditions.isEntityOwner({
claims: user?.identity.ownershipEntityRefs ?? [],
}),
);
}
...
return {
result: AuthorizeResult.ALLOW,
};
}
...
}
Updated dependencies
CatalogTable.defaultColumnsFunc for defining the columns in <CatalogTable /> of some Kinds while using the default columns for the others.kind:resource to the storage icon.--cwd as the first yarn argumentconvertLegacyRouteRefs to define routes in /alpha export plugin.@types/react dependency range to include version 18.CatalogSearchResultListItem43dad25: Add API to get location by entity
126c2f9: Updates the OpenAPI spec to use plugin as info.title instead of package name.
04907c3: Updates the OpenAPI specification title to plugin ID instead of package name.
d8a54d0: Adds support for supplying field validators to the new backend's catalog plugin. If you're using entity policies, you should use the new transformLegacyPolicyToProcessor function to install them as processors instead.
import {
catalogProcessingExtensionPoint,
catalogModelExtensionPoint,
} from '@backstage/plugin-catalog-node/alpha';
import {myPolicy} from './my-policy';
export const catalogModulePolicyProvider = createBackendModule({
pluginId: 'catalog',
moduleId: 'internal-policy-provider',
register(reg) {
reg.registerInit({
deps: {
modelExtensions: catalogModelExtensionPoint,
processingExtensions: catalogProcessingExtensionPoint,
},
async init({ modelExtensions, processingExtensions }) {
modelExtensions.setFieldValidators({
...
});
processingExtensions.addProcessors(transformLegacyPolicyToProcessor(myPolicy))
},
});
},
});
9aac2b0: Use --cwd as the first yarn argument
89b674c: Minor performance improvement for queryEntities when the limit is 0.
81e19b1: Replace uses of deprecated types with replacements internally.
efa8160: Rollback the change for wildcard discovery, this fixes a bug with the AzureUrlReader not working with wildcard paths
d208a93: Fixed a bug where fullTextFilter wasn't preserved correctly in the cursor.
6bb6f3e: Updated dependency fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.
1cae748: Updated dependency git-url-parse to ^14.0.0.
0a395b3: Upgraded prom-client to version 15
9b2eb3f: Add support for onProcessingError handler at the catalog plugin (new backend system).
You can use setOnProcessingErrorHandler at the catalogProcessingExtensionPoint
as replacement for
catalogBuilder.subscribe({
onProcessingError: hander,
});
Updated dependencies
validateLocationsExist to the configgit-url-parse to ^14.0.0.916da47: Change default icon for unknown entities to nothing instead of the help icon.
f937aae: use CatalogClient.getEntitiesByRefs() to reduce the number of backend requests from plugin catalog-graph
3e1c6e2: Added possibility to show arrow heads for graph edges for better understandability.
In order to show arrow heads in the catalog graph page, add showArrowHeads attribute to CatalogGraphPage component
(typically in packages/app/src/App.tsx):
- <CatalogGraphPage />
+ <CatalogGraphPage showArrowHeads />
In order to show arrow heads in entity graphs, add showArrowHeads attribute to EntityCatalogGraphCard components
(typically multiple occurrences in packages/app/src/components/catalog/EntityPage.tsx):
- <EntityCatalogGraphCard variant="gridItem" height={400} />
+ <EntityCatalogGraphCard variant="gridItem" height={400} showArrowHeads />
9aac2b0: Use --cwd as the first yarn argument
8fe56a8: Widen @types/react dependency range to include version 18.
Updated dependencies
d8a54d0: Adds support for supplying field validators to the new backend's catalog plugin. If you're using entity policies, you should use the new transformLegacyPolicyToProcessor function to install them as processors instead.
import {
catalogProcessingExtensionPoint,
catalogModelExtensionPoint,
} from '@backstage/plugin-catalog-node/alpha';
import {myPolicy} from './my-policy';
export const catalogModulePolicyProvider = createBackendModule({
pluginId: 'catalog',
moduleId: 'internal-policy-provider',
register(reg) {
reg.registerInit({
deps: {
modelExtensions: catalogModelExtensionPoint,
processingExtensions: catalogProcessingExtensionPoint,
},
async init({ modelExtensions, processingExtensions }) {
modelExtensions.setFieldValidators({
...
});
processingExtensions.addProcessors(transformLegacyPolicyToProcessor(myPolicy))
},
});
},
});
9b2eb3f: Add support for onProcessingError handler at the catalog plugin (new backend system).
You can use setOnProcessingErrorHandler at the catalogProcessingExtensionPoint
as replacement for
catalogBuilder.subscribe({
onProcessingError: hander,
});
Updated dependencies
configSchema option on the createEntityCardExtension factory function.@types/react dependency range to include version 18.@react-hookz/web to ^24.0.0.google.com/cloudbuild-repo-name annotation which allows you to specify a different repository to filter on.
Added optional google.com/cloudbuild-trigger-name annotation which allows you to filter based on a trigger name instead of a repo name.
Updated the ReadMe with information about the filtering and some other minor verbiage updates.
Changed substitutions.BRANCH_NAME to substitutions.REF_NAME so that the Ref field is populated properly.
Added optional google.com/cloudbuild-location annotation which allows you to specify the Cloud Build location of your builds. Default is global scope.
Changed build list view to show builds in a specific location if the location annotation is used.
Updated ReadMe with information about the use of the location filtering.@types/react dependency range to include version 18./clusters API now surfaces cluster titles.googleServiceAccount configuring the kubernetes properties in the app-config.yaml file with authProvider keylibVersion represents the current dotted version number of the Backstage GKE plugin and libName represent the current Google API used at backstage./api/kubernetes/services/:serviceId endpoint now include the cluster title.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.aws authentication strategy can now customize the
x-k8s-aws-id header value used to generate tokens. This value can be specified
specified via the kubernetes.io/x-k8s-aws-id parameter (in
metadata.annotations for clusters in the catalog, or the authMetadata block
on clusters in the app-config). This is particularly helpful when a Backstage
instance contains multiple AWS clusters with the same name in different regions
-- using this new parameter, the clusters can be given different logical names
to distinguish them but still use the same ID for the purposes of generating
tokens.AuthenticationStrategy implementations) can now be specified in the authMetadata property of clusters in the app-config.metadata.title.title property for human readability.PodScope, PodAndErrors, and PodExecTerminalProps types no
longer have a clusterName field; instead they now have the field cluster
which contains the full ClusterAttributes.kubernetes.podExecTerminal.enabled to true.ErrorPanel component will display the title field (when specified) for
clusters with errors.ErrorReporting component's cluster column now displays cluster titles when
specified.@types/react dependency range to include version 18.repository field in package.json.Cluster component now renders the cluster's title, if specified./alphaEntityPicker to only select kind metadata.name and metadata.namespace by default to improve performance on larger datasets.MultiEntityPicker field that supports selecting multiple EntitiesErrorPage and updated existing refs/alpha subpath.--cwd as the first yarn argumentconvertLegacyRouteRefs to define routes in /alpha export plugin.@types/react dependency range to include version 18.ScaffolderPageContextMenu to ActionsPage, ListTaskPage, and TemplateEditorPage so that you can more easily navigate between these pages@react-hookz/web to ^24.0.0.@rjsf/utils to 5.17.0.
Updated dependency @rjsf/core to 5.17.0.
Updated dependency @rjsf/material-ui to 5.17.0.
Updated dependency @rjsf/validator-ajv8 to 5.17.0.@rjsf/utils to 5.16.1.
Updated dependency @rjsf/core to 5.16.1.
Updated dependency @rjsf/material-ui to 5.16.1.
Updated dependency @rjsf/validator-ajv8 to 5.16.1.git-url-parse to ^14.0.0.458bf21: Created a gitea module for the scaffolder. This module provides a new action "publish:gitea" able to create a gitea repository owned by an organization. See: https://gitea.com/api/swagger#/organization/createOrgRepo
11b9a08: Introduced the first version of recoverable tasks.
78c100b: Support providing an overriding token for fetch:template, fetch:plain and fetch:file when interacting with upstream integrations
e9a5228: The built-in module list has been trimmed down when using the new Backend System. Provider specific modules should now be installed with backend.add to provide additional actions to the scaffolder. These modules are as follows:
@backstage/plugin-scaffolder-backend-module-github@backstage/plugin-scaffolder-backend-module-gitlab@backstage/plugin-scaffolder-backend-module-bitbucket@backstage/plugin-scaffolder-backend-module-gitea@backstage/plugin-scaffolder-backend-module-gerrit@backstage/plugin-scaffolder-backend-module-confluence-to-markdown@backstage/plugin-scaffolder-backend-module-cookiecutter@backstage/plugin-scaffolder-backend-module-rails@backstage/plugin-scaffolder-backend-module-sentry@backstage/plugin-scaffolder-backend-module-yeoman5eb6882: New scaffolder module @backstage/plugin-scaffolder-backend-module-bitbucket-server.
Extracted from @backstage/plugin-scaffolder-backend-module-bitbucket
and replaces its actions related to Bitbucket Server.
publish:bitbucketServerpublish:bitbucketServer:pull-request09f8b31: Simple typo fix in the fetch:template action example on the word 'skeleton'.
c25a500: Fix some deprecations and misplaced await usage.
f6792c6: Move the NODE_OPTIONS messaging for --no-node-snapshot to the SecureTemplater in order to get better messaging at runtime
9aac2b0: Use --cwd as the first yarn argument
6bb6f3e: Updated dependency fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.
52ae6b9: Updated dependency esbuild to ^0.20.0.
5eb6882: New scaffolder module @backstage/plugin-scaffolder-backend-module-bitbucket-cloud.
Extracted from @backstage/plugin-scaffolder-backend-module-bitbucket
and replaces its actions related to Bitbucket Cloud.
publish:bitbucketCloudbitbucket:pipelines:run0a395b3: Upgraded prom-client to version 15
e1c479d: When using node 20+ the scaffolder-backend will now throw an error at startup if the --no-node-snapshot option was
not provided to node.
e0e5afe: Add option to configure nunjucks with the trimBlocks and lstripBlocks options in the fetch:template action
Updated dependencies
5eb6882: Split @backstage/plugin-scaffolder-backend-module-bitbucket into
@backstage/plugin-scaffolder-backend-module-bitbucket-cloud and
@backstage/plugin-scaffolder-backend-module-bitbucket-server.
@backstage/plugin-scaffolder-backend-module-bitbucket was deprecated in favor of these two replacements.
Please use any of the two replacements depending on your needs.
- backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket'));
+ backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-cloud'));
+ backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-server'));
repository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.5eb6882: New scaffolder module @backstage/plugin-scaffolder-backend-module-bitbucket-cloud.
Extracted from @backstage/plugin-scaffolder-backend-module-bitbucket
and replaces its actions related to Bitbucket Cloud.
publish:bitbucketCloudbitbucket:pipelines:runrepository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.5eb6882: New scaffolder module @backstage/plugin-scaffolder-backend-module-bitbucket-server.
Extracted from @backstage/plugin-scaffolder-backend-module-bitbucket
and replaces its actions related to Bitbucket Server.
publish:bitbucketServerpublish:bitbucketServer:pull-requestrepository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.checkGiteaOrgrepository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.fetch:template, fetch:plain and fetch:file when interacting with upstream integrationsfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.trimBlocks and lstripBlocks options in the fetch:template action/alphaLink) and text output (Description).@types/react dependency range to include version 18.ScaffolderPageContextMenu to ActionsPage, ListTaskPage, and TemplateEditorPage so that you can more easily navigate between these pages@react-hookz/web to ^24.0.0.@rjsf/utils to 5.17.0.
Updated dependency @rjsf/core to 5.17.0.
Updated dependency @rjsf/material-ui to 5.17.0.
Updated dependency @rjsf/validator-ajv8 to 5.17.0.@rjsf/utils to 5.16.1.
Updated dependency @rjsf/core to 5.16.1.
Updated dependency @rjsf/material-ui to 5.16.1.
Updated dependency @rjsf/validator-ajv8 to 5.16.1.ui:schema was replaced with an empty object if dependencies is definedinfo.title instead of package name.<code> tags to avoid word break.convertLegacyRouteRefs to define routes in /alpha export plugin.@types/react dependency range to include version 18.dompurify to ^3.0.0.
Updated dependency @types/dompurify to ^3.0.0.git-url-parse to ^14.0.0.pg-protocol package are filtered out.--cwd as the first yarn argumentcreateConfigSecretEnumerator to take an optional schema argument with an already-loaded global configuration schema.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.--cwd as the first yarn argument--cwd as the first yarn argumentjson-schema-to-ts--cwd as the first yarn argumenttoken in readTree, readUrl and search--cwd as the first yarn argumentTaskScheduler.fromConfig method now accepts the LegacyRootDatabaseService interface rather than the full DatabaseManager implementation.cron to ^3.0.0.repository field in the repo fix command.public app entry point that lets users sign-in before being able to access the full app.http://localhost:3000 the default base URL for serving locally, and / the default public path for built apps. The app build no longer requires any configuration values to be present.vite-plugin-node-polyfills to ^0.21.0.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.esbuild-loader to ^4.0.0.eslint-config-prettier to ^9.0.0.vite-plugin-node-polyfills to ^0.19.0.eslint-webpack-plugin to ^4.0.0.commander to ^12.0.0.fork-ts-checker-webpack-plugin to ^9.0.0.git-url-parse to ^14.0.0.esbuild to ^0.20.0.eslint-plugin-deprecation to ^2.0.0.__backstage-autodetected-plugins__.js to be written when using experimental module discovery.repository field to BackstagePackageJson type.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.commander to ^12.0.0.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.typescript-json-schema to ^0.63.0.c70c3dc: Bumped create-app version.
c420081: Add a seed file for yarn.lock in newly created apps. This file is downloaded directly from https://github.com/backstage/backstage at the time of creating a new project, ensuring that users always receive the latest version. The purpose of the seed file is to initialize the lock file with known good versions of individual dependencies that have had bad new releases published. The seed file will have no effect if the dependency is not present, it can not be used to install additional packages.
f71352c: Bumped TypeScript to version 5.3.
03e55b1: Updated the default app index template at packages/app/public/index.html to have a fallback value for the app.title config.
6bb6f3e: Updated dependency fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.
6ba64c4: Updated dependency commander to ^12.0.0.
aeec29c: Updated packages/app as well as the root package.json type resolutions to use React v18.
The @testing-library/* dependencies have also been updated to the ones compatible with React v18, and the test at packages/app/src/App.test.tsx had been updated to use more modern patterns that work better with these new versions.
For information on how to migrate existing apps to React v18, see the migration guide
Updated dependencies
@types/react dependency range to include version 18.repository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.@backstage/no-top-level-material-ui-4-imports rule that forbids top level imports from Material UI v4 packagesRouteResolutionsApi.repository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.dockerode to ^4.0.0.commander to ^12.0.0.applyDarkStyles in Mui V5 theme after calling createUnifiedThemeFromV4 function@types/react dependency range to include version 18.AdrSearchResultListItem. Update size and font to match other SearchResultListItem.@types/react dependency range to include version 18.--cwd as the first yarn argument--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.@types/react dependency range to include version 18.--cwd as the first yarn argumentfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.app-backend plugin to use a global configuration schema provided externally through an extension.repository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.app-backend plugin to use a global configuration schema provided externally through an extension.repository field in package.json.repository field in package.json.repository field in package.json.repository field in package.json.repository field in package.json.repository field in package.json.repository field in package.json.additionalScopes option to configuration schema.repository field in package.json.repository field in package.json.repository field in package.json.defaultProfileTransform) are requested without the profile scope.makeProfileInfo and PassportHelpers.transformProfile
were refactored to use the jose library.--cwd as the first yarn argument@types/react dependency range to include version 18.dev.azure.com/build-definition annotation when it is provided, as it is more specific than dev.azure.com/project-repo. This can also be used as a filter for mono-repos.extractPartsFromAsset that resulted in a leading . being removed from the path in an otherwise valid path (ex. .assets/image.png). The leading . will now only be moved for paths beginning with ./.--cwd as the first yarn argument09a9c95: Updated README
9aac2b0: Use --cwd as the first yarn argument
8fe56a8: Widen @types/react dependency range to include version 18.
5a409bb: Azure Sites start and stop action is now protected with the Permissions framework.
The below example describes an action that forbids anyone but the owner of the catalog entity to trigger actions towards a site tied to an entity.
// packages/backend/src/plugins/permission.ts
import { azureSitesActionPermission } from '@backstage/plugin-azure-sites-common';
...
class TestPermissionPolicy implements PermissionPolicy {
async handle(request: PolicyQuery, user?: BackstageIdentityResponse): Promise<PolicyDecision> {
if (isPermission(request.permission, azureSitesActionPermission)) {
return createCatalogConditionalDecision(
request.permission,
catalogConditions.isEntityOwner({
claims: user?.identity.ownershipEntityRefs ?? [],
}),
);
}
...
return {
result: AuthorizeResult.ALLOW,
};
}
...
}
Updated dependencies
5a409bb: Azure Sites start and stop action is now protected with the Permissions framework.
The below example describes an action that forbids anyone but the owner of the catalog entity to trigger actions towards a site tied to an entity.
// packages/backend/src/plugins/permission.ts
import { azureSitesActionPermission } from '@backstage/plugin-azure-sites-common';
...
class TestPermissionPolicy implements PermissionPolicy {
async handle(request: PolicyQuery, user?: BackstageIdentityResponse): Promise<PolicyDecision> {
if (isPermission(request.permission, azureSitesActionPermission)) {
return createCatalogConditionalDecision(
request.permission,
catalogConditions.isEntityOwner({
claims: user?.identity.ownershipEntityRefs ?? [],
}),
);
}
...
return {
result: AuthorizeResult.ALLOW,
};
}
...
}
Updated dependencies
--cwd as the first yarn argument@types/react dependency range to include version 18.authorization middleware to call the Catalog to check that the requesting user has permission to see the Entity before generating the UUID.--cwd as the first yarn argument--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argumentts-morph to ^21.0.0.--cwd as the first yarn argument@types/react dependency range to include version 18.kubernetes.io/x-k8s-aws-id annotation.cloud-account resources.repository field in package.json.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.repository field in package.json.groupTransformer, userTransformer and groupNameTransformer to allow custom transformations of groups and users--cwd as the first yarn argument--cwd as the first yarn argument--cwd as the first yarn argument--cwd as the first yarn argumentlatest_report_status parameter from the PuppetDB node api and added it as a tag to the nodes. The status is valuable information as it displays which nodes are compliant to your configuration and which ones are failing are making changes.repository field in package.json.use method from the HttpRouterService.--cwd as the first yarn argument--cwd as the first yarn argument@types/react dependency range to include version 18.git-url-parse to ^14.0.0.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument--cwd as the first yarn argument@types/react dependency range to include version 18.@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.ul tag and placing them appropriately. Also adjusted theme to offer better contrast.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argumentfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.--cwd as the first yarn argument@types/react dependency range to include version 18.@types/react dependency range to include version 18.--cwd as the first yarn argument--cwd as the first yarn argument@types/react dependency range to include version 18.@react-hookz/web to ^24.0.0.--cwd as the first yarn argument--cwd as the first yarn argument--cwd as the first yarn argument--cwd as the first yarn argument--cwd as the first yarn argument--cwd as the first yarn argument--cwd as the first yarn argument@types/react dependency range to include version 18.fd3d51c: Add support for the new backend system.
A new backend plugin for the explore backend
was added and exported as default.
You can use it with the new backend system like
backend.add(import('@backstage/plugin-explore-backend'));
9aac2b0: Use --cwd as the first yarn argument
Updated dependencies
--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.@types/react dependency range to include version 18.dompurify to ^3.0.0.
Updated dependency @types/dompurify to ^3.0.0.x-google-api-client header for calls towards Google Cloud Projects@react-hookz/web to ^24.0.0.@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.git-url-parse to ^14.0.0.--cwd as the first yarn argument@types/react dependency range to include version 18.@types/react dependency range to include version 18.@types/react dependency range to include version 18.@types/react dependency range to include version 18.--cwd as the first yarn argumentconvertLegacyRouteRefs to define routes in /alpha export plugin.@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.@rjsf/utils to 5.17.0.
Updated dependency @rjsf/core to 5.17.0.
Updated dependency @rjsf/material-ui to 5.17.0.
Updated dependency @rjsf/validator-ajv8 to 5.17.0.@rjsf/utils to 5.16.1.
Updated dependency @rjsf/core to 5.16.1.
Updated dependency @rjsf/material-ui to 5.16.1.
Updated dependency @rjsf/validator-ajv8 to 5.16.1.@rjsf/utils to 5.17.0.
Updated dependency @rjsf/core to 5.17.0.
Updated dependency @rjsf/material-ui to 5.17.0.
Updated dependency @rjsf/validator-ajv8 to 5.17.0.@rjsf/utils to 5.16.1.
Updated dependency @rjsf/core to 5.16.1.
Updated dependency @rjsf/material-ui to 5.16.1.
Updated dependency @rjsf/validator-ajv8 to 5.16.1.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.ErrorReporting component's cluster column now displays cluster titles when
specified.@types/react dependency range to include version 18.@types/react dependency range to include version 18.ClusterAttributes type now includes the cluster title.aws authentication strategy can now customize the
x-k8s-aws-id header value used to generate tokens. This value can be specified
specified via the kubernetes.io/x-k8s-aws-id parameter (in
metadata.annotations for clusters in the catalog, or the authMetadata block
on clusters in the app-config). This is particularly helpful when a Backstage
instance contains multiple AWS clusters with the same name in different regions
-- using this new parameter, the clusters can be given different logical names
to distinguish them but still use the same ID for the purposes of generating
tokens.repository field in package.json.ClusterDetails type now has a title field, which should be a
human-readable name.PinnipedHelper class to enable authentication to Kubernetes clusters through Pinniped--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argumentfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.--cwd as the first yarn argument@types/react dependency range to include version 18.dompurify to ^3.0.0.
Updated dependency @types/dompurify to ^3.0.0.--cwd as the first yarn argument@types/react dependency range to include version 18.@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argumentrepository field in package.json.repository field in package.json.repository field in package.json.repository field in package.json.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.repository field in package.json.date-fns to ^3.0.0.@types/react dependency range to include version 18./alpha subpath.@types/react dependency range to include version 18.@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.repository field in package.json.@types/react dependency range to include version 18.@types/react dependency range to include version 18.ErrorPage and updated existing refs--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argumentfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.repository field in package.json.--cwd as the first yarn argumentfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.git-url-parse to ^14.0.0.--cwd as the first yarn argumentfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.repository field in package.json.--cwd as the first yarn argumentgitlab:projectAccessToken:create action, enabling the expiresAt optioncontainerRunner argument optional--cwd as the first yarn argumentfs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.--cwd as the first yarn argument--cwd as the first yarn argumentconvertLegacyRouteRefs to define routes in /alpha export plugin.@types/react dependency range to include version 18.--cwd as the first yarn argument--cwd as the first yarn argument--cwd as the first yarn argumentrepository field in package.json.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.repository field in package.json.repository field in package.json.repository field in package.json.repository field in package.json.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument--cwd as the first yarn argument@types/react dependency range to include version 18.@types/react dependency range to include version 18.@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.7201af3: Add support for the new backend system.
A new backend plugin for the tech-insights backend
was added and exported as default.
You can use it with the new backend system like
backend.add(import('@backstage/plugin-tech-insights-backend'));
9aac2b0: Use --cwd as the first yarn argument
341c2a2: Move FactRetrieverRegistry and PersistenceContext to @backstage/plugin-tech-insights-node.
Original exports are marked as deprecated and re-export the moved types.
Please replace uses like
import {
FactRetrieverRegistry,
PersistenceContext,
} from '@backstage/plugin-tech-insights-backend';
with
import {
FactRetrieverRegistry,
PersistenceContext,
} from '@backstage/plugin-tech-insights-node';
Updated dependencies
25cfb76: Add support for the new backend system.
A new backend module for the tech-insights backend
was added and exported as default.
The module will register the JsonRulesEngineFactCheckerFactory
as FactCheckerFactory, loading checks from the config.
You can use it with the new backend system like
backend.add(import('@backstage/plugin-tech-insights-backend-module-jsonfc'));
bc72782: Support loading TechInsightsJsonRuleCheck instances from config.
Uses the check id as key.
Example:
techInsights:
factChecker:
checks:
groupOwnerCheck:
type: json-rules-engine
name: Group Owner Check
description: Verifies that a group has been set as the spec.owner for this entity
factIds:
- entityOwnershipFactRetriever
rule:
conditions:
all:
- fact: hasGroupOwner
operator: equal
value: true
9aac2b0: Use --cwd as the first yarn argument
Updated dependencies
7201af3: Add support for the new backend system.
A new backend plugin for the tech-insights backend
was added and exported as default.
You can use it with the new backend system like
backend.add(import('@backstage/plugin-tech-insights-backend'));
341c2a2: Move FactRetrieverRegistry and PersistenceContext to @backstage/plugin-tech-insights-node.
Original exports are marked as deprecated and re-export the moved types.
Please replace uses like
import {
FactRetrieverRegistry,
PersistenceContext,
} from '@backstage/plugin-tech-insights-backend';
with
import {
FactRetrieverRegistry,
PersistenceContext,
} from '@backstage/plugin-tech-insights-node';
Updated dependencies
--cwd as the first yarn argumentconvertLegacyRouteRefs to define routes in /alpha export plugin.@types/react dependency range to include version 18.@types/react dependency range to include version 18.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.dockerode to ^4.0.0.@react-hookz/web to ^24.0.0.git-url-parse to ^14.0.0.fs-extra to ^11.2.0.
Updated dependency @types/fs-extra to ^11.0.0.git-url-parse to ^14.0.0.@trendyol-js/openstack-swift-sdk--cwd as the first yarn argument@types/react dependency range to include version 18.info.title instead of package name.convertLegacyRouteRefs to define routes in /alpha export plugin.@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argumentrepository field in package.json.repository field in package.json.--cwd as the first yarn argument@types/react dependency range to include version 18.