docs/releases/v1.8.0-next.0-changelog.md
UrlReader interface has been updated to require that readUrl is implemented. readUrl has previously been optional to implement but a warning has been logged when calling its predecessor read.
The read method is now deprecated and will be removed in a future release.keyv libraryGitHub with Github and deprecates old versions.7539b36748: Added a new ESLint rule that restricts imports of Link from @material-ui
The rule can be can be overridden in the following way:
module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
+ restrictedImports: [
+ { name: '@material-ui/core', importNames: [] },
+ { name: '@material-ui/core/Link', importNames: [] },
+ ],
});
@swc/core to version 1.3.9 which fixes a .tsx parser bug@svgr/plugin-jsx to 6.5.x.
Updated dependency @svgr/plugin-svgo to 6.5.x.
Updated dependency @svgr/rollup to 6.5.x.
Updated dependency @svgr/webpack to 6.5.x.basename property of the router components in React Router v6 stable. To implement this, a new optional basename property has been added to the Router app component, which can be forwarded to the concrete router implementation in order to support this new behavior. This is done by default in any app that does not have a Router component override.homepage config as the component that used it - HomepageTimer - has been removed and replaced by the HeaderWorldClock in the home pluginHomepageTimer as it has been replaced by the HeaderWorldClock in the Home plugin and was deprecated over a year ago.searchTooltip to "Filter" to follow how the searchPlaceholder is set making this more consistentLink component when React Router v6 stable is used.Link from @backstage/core-components rather than material-UI.Router component now accepts an optional basename property.d05e1841ce: This patch brings Gitea as a valid integration: target, via the ScmIntegration interface. It adds gitea to the relevant static properties (get integration by name, get integration by type) for plugins to be able to reference the same Gitea server.
c1784a4980: Replaces in-code uses of GitHub with Github and deprecates old versions.
Deprecates:
getGitHubFileFetchUrl replaced by getGithubFileFetchUrlGitHubIntegrationConfig replaced by GithubIntegrationConfigGitHubIntegration replaced by GithubIntegrationreadGitHubIntegrationConfig replaced by readGithubIntegrationConfigreadGitHubIntegrationConfigs replaced by readGithubIntegrationConfigsreplaceGitHubUrlType replaced by replaceGithubUrlType7573b65232: Internal refactor of imports to avoid circular dependencies
a6d779d58a: Remove explicit default visibility at config.d.ts files.
/**
* @visibility backend
*/
Updated dependencies
Link from @backstage/core-components rather than material-UI.fullWidth. The BazaarOverviewCard now always use full height without fixed width. Also fixed problem with link to Bazaar.67fe5bc9a9: BREAKING: Support authenticated backends by including a server token for catalog requests. The constructor of GithubLocationAnalyzer now requires an instance of TokenManager to be supplied:
...
builder.addLocationAnalyzers(
new GitHubLocationAnalyzer({
discovery: env.discovery,
config: env.config,
+ tokenManager: env.tokenManager,
}),
);
...
f64d66a45c: Added the ability for the GitHub discovery provider to validate that catalog files exist before emitting them.
Users can now set the validateLocationsExist property to true in their GitHub discovery configuration to opt in to this feature.
This feature only works with catalogPaths that do not contain wildcards.
When validateLocationsExist is set to true, the GitHub discovery provider will retrieve the object from the
repository at the provided catalogPath.
If this file exists and is non-empty, then it will be emitted as a location for further processing.
If this file does not exist or is empty, then it will not be emitted.
Not emitting locations that do not exist allows for far fewer calls to the GitHub API to validate locations that do not exist.
GithubLocationAnalyzer to support Github App authenticationGitHub with Github and deprecates old versions.GitHub with Github and deprecates old versions.Link from @backstage/core-components rather than material-UI.cbf5d11fdf: The Kubernetes errors when fetching pod metrics are now captured and returned to the frontend.
fetchPodMetricsByNamespace in the interface KubernetesFetcher is changed to fetchPodMetricsByNamespaces. It now accepts a set of namespace strings and returns Promise<FetchResponseWrapper>.PodStatusFetchResponse to the FetchResponse union type.NOT_FOUND to the KubernetesErrorTypes union type, the HTTP error with status code 404 will be mapped to this error.rootRouteRef, selectedTemplateRouteRef, nextRouteRef, nextSelectedTemplateRouteRef were made public and can be used in your app (e.g. in custom TemplateCard component).4830a3569f: Basic analytics instrumentation is now in place:
click event is fired, including the step number.create event is fired, including the name of the software that was just created. The template used at creation is set on the entityRef context key.f905853ad6: Prefer using Link from @backstage/core-components rather than material-UI.
Updated dependencies
ea14eb62a2: Added a set of default Prometheus metrics around scaffolding. See below for a list of metrics and an explanation of their labels:
scaffolder_task_count: Tracks successful task runs.
Labels:
template: The entity ref of the scaffolded templateuser: The entity ref of the user that invoked the template runresult: A string describing whether the task ran successfully, failed, or was skippedscaffolder_task_duration: a histogram which tracks the duration of a task run
Labels:
template: The entity ref of the scaffolded templateresult: A boolean describing whether the task ran successfullyscaffolder_step_count: a count that tracks each step run
Labels:
template: The entity ref of the scaffolded templatestep: The name of the step that was runresult: A string describing whether the task ran successfully, failed, or was skippedscaffolder_step_duration: a histogram which tracks the duration of each step run
Labels:
template: The entity ref of the scaffolded templatestep: The name of the step that was runresult: A string describing whether the task ran successfully, failed, or was skippedYou can find a guide for running Prometheus metrics here: https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md
5691baea69: Add ability to configure filters when using EntityListDocsGrid
The following example will render two sections of cards grid:
recommendedrunbook<EntityListDocsGrid groups={{[
{
title: "Recommended Documentation",
filterPredicate: entity =>
entity?.metadata?.tags?.includes('recommended') ?? false,
},
{
title: "RunBooks Documentation",
filterPredicate: entity =>
entity?.metadata?.tags?.includes('runbook') ?? false,
}
]}} />
GitHub with Github and deprecates old versions.HumanDuration type, which should now instead be imported from @backstage/types.@swc/core to v1.3.9 which fixes a .tsx parser bug. You may want to run yarn backstage-cli versions:bump to get on latest version including the CLI itself.Link from @backstage/core-components rather than material-UI.HumanDuration type, moved here from @backstage/backend-tasks. This type matches the Duration.fromObject form of luxon.Link from @backstage/core-components rather than material-UI.UrlReader.read with UrlReader.readUrl.bae3617be5: AwsS3EntityProvider: Add option to configure schedule via app-config.yaml instead of in code.
Please find how to configure the schedule at the config at https://backstage.io/docs/integrations/aws-s3/discovery
defb389ecd: Add awsS3EntityProviderCatalogModule (new backend-plugin-api, alpha).
a6d779d58a: Remove explicit default visibility at config.d.ts files.
/**
* @visibility backend
*/
Updated dependencies
87ff05892d: AzureDevOpsEntityProvider: Add option to configure schedule via app-config.yaml instead of in code.
Please find how to configure the schedule at the config at https://backstage.io/docs/integrations/azure/discovery
0ca399b31b: Add azureDevOpsEntityProviderCatalogModule (new backend-plugin-api, alpha).
Updated dependencies
68f7f5a857: BitbucketServerEntityProvider: Add option to configure schedule via app-config.yaml instead of in code.
Please find how to configure the schedule at the config at https://backstage.io/docs/integrations/bitbucketServer/discovery
cd48ed8370: Add bitbucketServerEntityProviderCatalogModule (new backend-plugin-api, alpha).
Updated dependencies
4fba50f5d4: Add gerritEntityProviderCatalogModule (new backend-plugin-api, alpha).
134b69f478: GerritEntityProvider: Add option to configure schedule via app-config.yaml instead of in code.
Please find how to configure the schedule at the config at https://backstage.io/docs/integrations/gerrit/discovery
a6d779d58a: Remove explicit default visibility at config.d.ts files.
/**
* @visibility backend
*/
Updated dependencies
6bb046bcbe: Add gitlabDiscoveryEntityProviderCatalogModule (new backend-plugin-api, alpha).
81cedb5033: GitlabDiscoveryEntityProvider: Add option to configure schedule via app-config.yaml instead of in code.
Please find how to configure the schedule at the config at https://backstage.io/docs/integrations/gitlab/discovery
Updated dependencies
8d1a5e08ca: MicrosoftGraphOrgEntityProvider: Add option to configure schedule via app-config.yaml instead of in code.
Please find how to configure the schedule at the config at https://github.com/backstage/backstage/tree/master/plugins/catalog-backend-module-msgraph#readme
384f99c276: Add microsoftGraphOrgEntityProviderCatalogModule (new backend-plugin-api, alpha).
Updated dependencies
UrlReaders when $ref pointing to a URL.this-is-undefined-in-esm warningGitHub with Github and deprecates old versions.EntityProvider and AsyncEntityProvider contexts now wrap all children with an AnalyticsContext containing the corresponding entityRef; this opens up the possibility for all events underneath these contexts to be associated with and aggregated by the corresponding entity.Link from @backstage/core-components rather than material-UI.Link from @backstage/core-components rather than material-UI.Link from @backstage/core-components rather than material-UI.Link from @backstage/core-components rather than material-UI.GitHub with Github and deprecates old versions.GitHub with Github and deprecates old versions.Link from @backstage/core-components rather than material-UI.cc8bfc56c3: Add a new "Team" Filter Options to the Github Pull Requests Dashboard.
When toggling this option on, the dashboard will displays all of the PRs opened by the members of that team on any repositories of the organization.
c1784a4980: Replaces in-code uses of GitHub with Github and deprecates old versions.
Updated dependencies
Link from @backstage/core-components rather than material-UI.Link from @backstage/core-components rather than material-UI.Link from @backstage/core-components rather than material-UI.cbf5d11fdf: The Kubernetes errors when fetching pod metrics are now captured and returned to the frontend.
fetchPodMetricsByNamespace in the interface KubernetesFetcher is changed to fetchPodMetricsByNamespaces. It now accepts a set of namespace strings and returns Promise<FetchResponseWrapper>.PodStatusFetchResponse to the FetchResponse union type.NOT_FOUND to the KubernetesErrorTypes union type, the HTTP error with status code 404 will be mapped to this error.Updated dependencies
Link from @backstage/core-components rather than material-UI.PermissionClientLink from @backstage/core-components rather than material-UI.cbe11d1e23: Tweak README
a6d779d58a: Remove explicit default visibility at config.d.ts files.
/**
* @visibility backend
*/
Updated dependencies
runChecks and runBulkChecks functions of the TechInsightsClient class, the default Content-Type used was plain/textHumanDuration from @backstage/typesHumanDuration from @backstage/typesa7607b5413: Replace usage of deprecataed UrlReader.read with UrlReader.readUrl.
a6d779d58a: Remove explicit default visibility at config.d.ts files.
/**
* @visibility backend
*/
Updated dependencies
GitHub with Github and deprecates old versions.UrlReader.read with UrlReader.readUrl.