docs/releases/v1.15.0-changelog.md
1fd38bc4141a: Material UI v5 Support: Adding platform-wide support for Material UI v5 allowing a transition phase for migrating central plugins & components over. We still support v4 instances & plugins by adding a
To allow the future support of plugins & components using Material UI v5 you want to upgrade your AppTheme's to using the UnifiedThemeProvider
Provider: ({ children }) => (
- <ThemeProvider theme={lightTheme}>
- <CssBaseline>{children}</CssBaseline>
- </ThemeProvider>
+ <UnifiedThemeProvider theme={builtinThemes.light} children={children} />
),
c7f848bcea3c: Support authentication with a service principal or managed identity for Azure DevOps
Azure DevOps recently released support, in public preview, for authenticating with a service principal or managed identity instead of a personal access token (PAT): https://devblogs.microsoft.com/devops/introducing-service-principal-and-managed-identity-support-on-azure-devops/. With this change the Azure integration now supports service principals and managed identities for Azure AD backed Azure DevOps organizations. Service principal and managed identity authentication is not supported on Azure DevOps Server (on-premises) organizations.
4ef91ab46732: Updated the backend database connection configuration schema to set the password visibility to secret
52d599817680: Changed the default backend CacheClient to an in-memory cache when not explicitly configured.
Explicit configuration of an in-memory cache can be removed from app-config.yaml, as this is now the default:
backend:
- cache:
- store: memory
5f2c38c70f5b: Fix SNYK-JS-FASTXMLPARSER-5668858 (fast-xml-parser) by upgrading aws-sdk to at least the current latest version.
eeb3f801fddf: HostDiscovery now strips trailing slashes in the backend.baseUrl config.
9f47a743632c: Fixed typo in HostDiscovery's JSDoc
810c6de51604: Remove unused dev dependency aws-sdk-mock.
Updated dependencies
ServiceUnavailableErrora316d226c780: Add credential provider for GitLab.
c7f848bcea3c: Support authentication with a service principal or managed identity for Azure DevOps
Azure DevOps recently released support, in public preview, for authenticating with a service principal or managed identity instead of a personal access token (PAT): https://devblogs.microsoft.com/devops/introducing-service-principal-and-managed-identity-support-on-azure-devops/. With this change the Azure integration now supports service principals and managed identities for Azure AD backed Azure DevOps organizations. Service principal and managed identity authentication is not supported on Azure DevOps Server (on-premises) organizations.
3c83550fdb62: Renamed ClientSecret to AzureClientSecretCredential and ManagedIdentity to AzureManagedIdentityCredential
df8411779da1: Add support for Repository Variables and Secrets to the publish:github and github:repo:create scaffolder actions. You will need to add read/write permissions to your GITHUB_TOKEN and/or Github Backstage App for Repository Secrets and Variables
Upgrade octokit introduces some breaking changes.
Updated dependencies
UnifiedThemeProvider for supporting Material UI v5 next to Material UI v4 in tests.fetchApiRef implementation by default1fd38bc4141a: Material UI v5 Support: Adding platform-wide support for Material UI v5 allowing a transition phase for migrating central plugins & components over. We still support v4 instances & plugins by adding a
To allow the future support of plugins & components using Material UI v5 you want to upgrade your AppTheme's to using the UnifiedThemeProvider
Provider: ({ children }) => (
- <ThemeProvider theme={lightTheme}>
- <CssBaseline>{children}</CssBaseline>
- </ThemeProvider>
+ <UnifiedThemeProvider theme={builtinThemes.light} children={children} />
),
UnifiedThemeProvider to avoid overlapping JSS class names in production.durationToMilliseconds function to help with the conversion to a single duration numberEventBroker that is used for sending an event when there are conflicts, with details of the conflict so that it can be handled elsewhere.cb4c15989b6b: The EntityOwnerPicker component has undergone improvements to enhance its performance.
The previous implementation inferred users and groups displayed by the EntityOwnerPicker component based on the entities available in the EntityListContext. The updated version no longer relies on the EntityListContext for inference, allowing for better decoupling and improved performance.
The component now loads entities asynchronously, resulting in improved performance and responsiveness. A new mode prop has been introduced which provides two different behaviours:
<EntityOwnerPicker mode="owners-only" />: loads the owners data asynchronously using the facets endpoint. The data is kept in memory and rendered asynchronously as the user scrolls. This is the default mode and is supposed to be retro-compatible with the previous implementation.
<EntityOwnerPicker mode="all" /> loads all users and groups present in the catalog asynchronously. The data is loaded in batches as the user scrolls. This is more efficient than owners-only, but has the drawback of displaying users and groups who aren't owner of any entity.
useRelatedEntities use getEntitiesByRefs under the hoodEntityAutocompletePicker add initialSelectedOptions propEntityLifecycleFilter loads data using the facets endpoint96e1004e2a02: Added support GitHub Enterprise hosted repositories.
BREAKING: The GithubActionsClient is updated to take an scmAuthApi instead of the previous githubAuthApi. This does not require any code changes unless you construct your own GithubActionsClient
rjsf dependencies to 5.7.3bbf91840a52a: BREAKING: Removed public constructor from LinguistBackendApi. Removed export of LinguistBackendDatabase and LinguistBackendStore
Several improvements to the Linguist backend have been made:
LinguistBackendDatabase and LinguistBackendApiprocesses_date columnLinguistBackendApi into an InterfaceLinguistBackendClient which implements the LinguistBackendApi InterfacePagerduty component.MyGroupsPicker field extension that will display a dropdown of groups a user is part of.Authorization header for EventSource when credentials are available.rjsf dependencies to 5.7.3PropsWithChildren to usages of ComponentType, in preparation for React 18 where the children are no longer implicit.84b0e47373db: Add TargetBranchName variable and output for the publish:gitlab:merge-request and publish:github:pull-request s'cascaffolder actions.
6a694ce98e32: Add a scaffolder action that pull-requests for bitbucket server
1948845861b0: Added github:deployKey:create and github:environment:create scaffolder actions. You will need to add read/write permissions to your GITHUB_TOKEN and/or Github Backstage App for Repository Administration (for deploy key functionality) and Environments (for Environment functionality)
df8411779da1: Add support for Repository Variables and Secrets to the publish:github and github:repo:create scaffolder actions. You will need to add read/write permissions to your GITHUB_TOKEN and/or Github Backstage App for Repository Secrets and Variables
Upgrade octokit introduces some breaking changes.
cc936b529676: Fix handling of optional property in catalog:register scaffolder action
b269da39ac2d: Clearer error messages for action publish:gitlab:merge-request
11e0f625583f: Fix wrong gitlabUrl format in repoUrl input description
a2c70cdda202: Switch out the sandbox, from vm2 to isolated-vm.
This is a native dependency, which means that it will need to be compiled with the same version of node on the same OS. This could cause some issues when running in Docker for instance, as you will need to make sure that the dependency is installed and compiled inside the docker container that it will run on.
This could mean adding in some dependencies to the container like build-essential to make sure that this compiles correctly.
If you're having issues installing this dependency, there's some install instructions over on isolated-vm's repo.
Updated dependencies
scaffolder/next: Provide some default template components to rjsf to allow for standardization and markdown descriptionsscaffolder/next: Don't render TemplateGroups when there's no results in with search queryscaffolder/next: provide a ScaffolderField component which is meant to replace some of the FormControl components from Material UI, making it easier to write FieldExtensions.ui:* fields from conditional then and else schema branches.rjsf dependencies to 5.7.3PropsWithChildren to usages of ComponentType, in preparation for React 18 where the children are no longer implicit.durationToMilliseconds from @backstage/types instead of our ownHttpService implementation that throws a ServiceNotAvailable error when plugins aren't able to serve request. Also introduced a request stalling mechanism that pauses incoming request until plugins have been fully initialized.ServiceUnavailableError to error handling middleware.--alwaysYarnPack flag on backstage-cli build-workspace, which can be passed in cases where accuracy of workspace contents is more important than the
speed with which the workspace is built. Useful in rare situations where yarn pack and npm pack produce different results.fetch environment for jsdom in jest tests/ in the key were incorrectly handled.durationToMilliseconds from @backstage/types instead of our ownnavigate analytics events when users visited pages constructed with <EntityLayout>, <TabbedLayout>, and similar components that are used to gather one or more routable extensions under a given path.PropsWithChildren to usages of ComponentType, in preparation for React 18 where the children are no longer implicit.exact prop to SidebarSubmenuItem which causes it to only highlight if the current location is an exact match.theme.palette.theme.hint with theme.palette.text.secondary as it has been removed in Material UI v5navigate analytics events when users visited pages constructed with <EntityLayout>, <TabbedLayout>, and similar components that are used to gather one or more routable extensions under a given path.PropsWithChildren to usages of ComponentType, in preparation for React 18 where the children are no longer implicit.08f177b91084: Add link from Template entity to the scaffolder launch page for the template in the AboutCard.
75a1c93784fe: Bumped create-app version.
e37573d60e79: Bumped create-app version.
320ed502747a: Bumped create-app version.
52d599817680: Changed the default backend CacheClient to an in-memory cache when not explicitly configured.
Explicit configuration of an in-memory cache can be removed from app-config.yaml, as this is now the default:
backend:
- cache:
- store: memory
68a21956ef52: Remove reference to deprecated import
Updated dependencies
PropsWithChildren to usages of ComponentType, in preparation for React 18 where the children are no longer implicit.fast-xml-parser) by upgrading aws-sdk to at least the current latest version.schema openapi lint to lint your OpenAPI specs and ensure consistent style across Backstage plugins.allowedContexts and allowedAttributes@asyncapi/react-component to 1.0.0-next.48.theme.palette.theme.hint with theme.palette.text.secondary as it has been removed in Material UI v5idToken to be less than backstage session expiration time.@azure/identity to support using Workload Identity to authenticate against Azure.cross-fetch dependency as it's not usedalertApi usages with severity of info or success to use display: transientCatalogIndexPage now accepts an optional ownerPickerMode for toggling the behavior of the EntityOwnerPicker,
exposing a new mode <CatalogIndexPage ownerPickerMode="all" /> particularly suitable for larger catalogs. In this new mode, EntityOwnerPicker will display all the users and groups present in the catalog.fast-xml-parser) by upgrading aws-sdk to at least the current latest version.c7f848bcea3c: Support authentication with a service principal or managed identity for Azure DevOps
Azure DevOps recently released support, in public preview, for authenticating with a service principal or managed identity instead of a personal access token (PAT): https://devblogs.microsoft.com/devops/introducing-service-principal-and-managed-identity-support-on-azure-devops/. With this change the Azure integration now supports service principals and managed identities for Azure AD backed Azure DevOps organizations. Service principal and managed identity authentication is not supported on Azure DevOps Server (on-premises) organizations.
Updated dependencies
repo:push events.b9a6d1348d96: Properly handle async event callback
df8411779da1: Add support for Repository Variables and Secrets to the publish:github and github:repo:create scaffolder actions. You will need to add read/write permissions to your GITHUB_TOKEN and/or Github Backstage App for Repository Secrets and Variables
Upgrade octokit introduces some breaking changes.
Updated dependencies
@azure/identity to support using Workload Identity to authenticate against Azure.ImportStepper and InfoCard order to fix tab order in catalog-import.xml2js to ^0.6.0.fast-xml-parser) by upgrading aws-sdk to at least the current latest version.31616c1fc4e4: Allow to provide explore tools through config instead of data in code.
explore:
tools:
- title: New Relic
description: Observability platform built to help engineers create and monitor their software
url: /newrelic
image: https://i.imgur.com/L37ikrX.jpg
tags:
- newrelic
- performance
- monitoring
- errors
- alerting
- title: CircleCI
description: Provides builds overview, detailed build info and retriggering functionality for CircleCI.
url: /circleci
image: https://miro.medium.com/max/1200/1*hkTBp22vLAqlIHkrkZHPnw.png
tags:
- circleci
- ci
- dev
# [...]
- import { ExploreTool } from '@backstage/plugin-explore-common';
- const exploreTools: ExploreTool[] = [
- {
- title: 'New Relic',
- description: 'Observability platform built to help engineers create and monitor their software',
- url: '/newrelic',
- image: 'https://i.imgur.com/L37ikrX.jpg',
- tags: ['newrelic', 'performance', 'monitoring', 'errors', 'alerting'],
- },
- {
- title: 'CircleCI',
- description: 'Provides builds overview, detailed build info and retriggering functionality for CircleCI.',
- url: '/circleci',
- image: 'https://miro.medium.com/max/1200/1*hkTBp22vLAqlIHkrkZHPnw.png',
- tags: ['circleci', 'ci', 'dev'],
- },
- ];
-
- StaticExploreToolProvider.fromData(tools)
+ StaticExploreToolProvider.fromData(env.config)
Updated dependencies
rjsf dependencies to 5.7.3alertApi usages with severity of info or success to use display: transient@azure/identity to support using Workload Identity to authenticate against Azure.fast-xml-parser) by upgrading aws-sdk to at least the current latest version.configClusterLocator to load cluster specific custom resources defined in your app.config.pluginID in the kubernetes alpha backend support, that made the kubernetes plugin fail with the new experimental backend.alertApi usages with severity of info or success to use display: transientalertApi usages with severity of info or success to use display: transientAuthorization and X-Api-Key as secret in order to not show up in frontend configuration.confluence:transform:markdown action in addition to the existing Confluence Server support, view the README for more detailsgitlab:group:ensureExists action.SearchModal and HomePageSearchBar components to use search bar reference value when "enter" is pressed, avoiding waiting for query state debounce.notchedOutline class.a5baeea2cb87: Allows for an optional tokenManager to authenticate requests from the collator to the explore backend. For example:
indexBuilder.addCollator({
schedule: every10MinutesSchedule,
factory: ToolDocumentCollatorFactory.fromConfig(env.config, {
discovery: env.discovery,
logger: env.logger,
+ tokenManager: env.tokenManager,
}),
});
Updated dependencies
SearchCheckbox component, making it possible to use the field via keyboard.notchedOutline class.alertApi usages with severity of info or success to use display: transientnotchedOutline class.plugin-techdocs-react plugin@azure/identity to support using Workload Identity to authenticate against Azure.fast-xml-parser) by upgrading aws-sdk to at least the current latest version.