docs/releases/v1.39.0-next.1-changelog.md
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.39.0-next.1
90ab044: BREAKING: Removed all deprecated exports, and removed support for the old backend system.
It also removes the CodeOwnersProcessor from the default set of processors, because it is expensive to run and has vague semantics. You need to update your backend to add it to the catalogProcessingExtensionPoint if you wish to continue using it.
The following removed exports are available from @backstage/plugin-catalog-node:
locationSpecToMetadataNamelocationSpecToLocationEntityprocessingResultEntitiesSearchFilterEntityFilterDeferredEntityEntityRelationSpecCatalogProcessorCatalogProcessorParserCatalogProcessorCacheCatalogProcessorEmitCatalogProcessorLocationResultCatalogProcessorEntityResultCatalogProcessorRelationResultCatalogProcessorErrorResultCatalogProcessorRefreshKeysResultCatalogProcessorResultEntityProviderEntityProviderConnectionEntityProviderMutationAnalyzeOptionsLocationAnalyzerScmLocationAnalyzerPlaceholderResolverPlaceholderResolverParamsPlaceholderResolverReadPlaceholderResolverResolveUrlparseEntityYamlThe following removed exports are available from @backstage/plugin-catalog-common:
LocationSpecAnalyzeLocationRequestAnalyzeLocationResponseAnalyzeLocationExistingEntityAnalyzeLocationGenerateEntityAnalyzeLocationEntityFieldThe following removed exports are instead implemented in the new backend system by @backstage/plugin-search-backend-module-catalog:
defaultCatalogCollatorEntityTransformerCatalogCollatorEntityTransformerDefaultCatalogCollatorThe following exports are removed without a direct replacement:
DefaultCatalogCollatorFactoryDefaultCatalogCollatorFactoryOptionsLocationEntityProcessorLocationEntityProcessorOptionsCatalogBuilderCatalogEnvironmentCatalogPermissionRuleInputCatalogProcessingEnginecreateRandomProcessingIntervalProcessingIntervalFunction/alpha export; please use the regular root default export instead.catalog.disableDefaultProcessors.d385854: BREAKING: The DefaultSchedulerService constructor options now requires RootLifecycleService, HttpRouterService, and PluginMetadataService fields.
The scheduler will register a REST API for listing and triggering tasks. Please see the scheduler documentation for more details about this API.
userGroupMember.path, user.path and, group.path option to each query type to allow more complex msgraph queriesparseEntityYaml from @backstage/plugin-catalog-backend, to make it more easily usable by custom plugins and modulesae249fc: BREAKING: Removed the createGithubSignatureValidator export.
Added support webhook validation based on integrations.github.[].apps.[].webhookSecret.
PinnipedHelper class now expects a regular LoggerService instance from the new backend system, instead of a Winston logger.@kubernetes/client-node to 1.1.2.PermissionClient to exhaust the request body size limit too quickly when making many requests.PermissionClient to exhaust the request body size limit too quickly when making many requests.PermissionClient to exhaust the request body size limit too quickly when making many requests.workspace:template and workspace:template:file actions to complement respective fetch:* actions729a7d6: Added a configuration to permit backend plugin module failures on startup:
backend:
...
startup:
plugins:
plugin-x:
modules:
module-y:
onPluginModuleBootFailure: continue
This configuration permits plugin-x with module-y to fail on startup. Omitting the
onPluginModuleBootFailure configuration matches the previous behavior, wherein any
individual plugin module failure is forwarded to the plugin and aborts backend startup.
The default can also be changed, so that continuing on failure is the default unless otherwise specified:
backend:
startup:
default:
onPluginModuleBootFailure: continue
plugins:
catalog:
modules:
github:
onPluginModuleBootFailure: abort
72d019d: Removed various typos
Updated dependencies
FrontendRemoteResolver's misspelled getAdditionaRemoteInfo has been deprecated. Use the correct spelling getAdditionalRemoteInfo instead.info object to the context of the alpha CLI.@octokit/request to ^8.0.0.pluginId option of createFrontendPlugin.LogViewer now supports a textWrap prop that wraps log lines to the next line for overflowing content instead of using horizontal scrollfb58f20: The id option of createFrontendPlugin has been renamed to pluginId in order to better align with similar APIs in the frontend and backend systems.
The old id option is deprecated and will be removed in a future release.
72d019d: Removed various typos
Updated dependencies
pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.0d606ac: Added the configuration flag auth.omitIdentityTokenOwnershipClaim that causes issued user tokens to no longer contain the ent claim that represents the ownership references of the user.
The benefit of this new flag is that issued user tokens will be much smaller in
size, but they will no longer be self-contained. This means that any consumers
of the token that require access to the ownership claims now need to call the
/api/auth/v1/userinfo endpoint instead. Within the Backstage ecosystem this is
done automatically, as clients will still receive the full set of claims during
authentication, while plugin backends will need to use the UserInfoService
which already calls the user info endpoint if necessary.
When enabling this flag, it is important that any custom sign-in resolvers directly return the result of the sign-in method. For example, the following would not work:
const { token } = await ctx.issueToken({
claims: { sub: entityRef, ent: [entityRef] },
});
return { token }; // WARNING: This will not work with the flag enabled
Instead, the sign-in resolver should directly return the result:
return ctx.issueToken({
claims: { sub: entityRef, ent: [entityRef] },
});
72d019d: Removed various typos
b128ed9: The static key store now issues tokens with the same structure as other key stores. Tokens now include the typ field in the header and the uip (user identity proof) in the payload.
Updated dependencies
332e934: Added the identity property to BackstageSignInResult.
The prepareBackstageIdentityResponse function will now also forward the identity to the response if present in the provided sign-in result.
Updated dependencies
pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.@kubernetes/client-node to 1.1.2.@kubernetes/client-node to 1.1.2.@kubernetes/client-node to 1.1.2.@kubernetes/client-node to 1.1.2.pluginId option of createFrontendPlugin.metadata.annotations.slack.com/bot-notify is missing from user entitypluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.user in createMockActionContextpluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.