docs/releases/v1.26.0-next.1-changelog.md
10327fb: Deprecate the getPath option for the httpRouterServiceFactory and more generally the ability to configure plugin API paths to be anything else than /api/:pluginId/. Requests towards /api/* that do not match an installed plugin will also no longer be handled by the index router, typically instead returning a 404.
1a20b12: Make the auth service create and validate dedicated OBO tokens, containing the user identity proof.
bce0879: Service-to-service authentication has been improved.
Each plugin now has the capability to generate its own signing keys for token issuance. The generated public keys are stored in a database, and they are made accessible through a newly created endpoint: /.backstage/auth/v1/jwks.json.
AuthService can now issue tokens with a reduced scope using the getPluginRequestToken method. This improvement enables plugins to identify the plugin originating the request.
54f2ac8: Added initialization option to createServiceFactory which defines the initialization strategy for the service. The default strategy mimics the current behavior where plugin scoped services are initialized lazily by default and root scoped services are initialized eagerly.
d62bc51: Add support for limited user tokens by using user identity proof provided by the auth backend.
c884b9a: Automatically creates a get and delete cookie endpoint when a user-cookie policy is added.
Updated dependencies
c884b9a: BREAKING: Removed the path option from CookieAuthRefreshProvider and useCookieAuthRefresh.
A new CookieAuthRedirect component has been added to redirect a public app bundle to the protected one when using the app-backend with a separate public entry point.
KubernetesProxy now requires the DiscoveryService to be passed to the constuctorBackstageCredentials were not properly forwarded for all callslistPublicServiceKeys() in the AuthService returned by createLegacyAuthAdapters.logStream it receives as input.listPublicServiceKeys to AuthService.initialization option to createServiceFactory which defines the initialization strategy for the service. The default strategy mimics the current behavior where plugin scoped services are initialized lazily by default and root scoped services are initialized eagerly.issueUserCookie method of the HttpAuthService are no longer required to represent a user principal.startTestBackend will now add placeholder plugins when a modules are provided without their parent plugin.listPublicServiceKeys method for AuthService.CatalogClient::getEntities method to only sort the resulting entities in case no order-parameter is provided.app-backend with a separate public and protected bundles. When in protected mode the app will now continuously refresh the session cookie, as well as clear the cookie if the user signs out.Component + Propapp-backend with a separate public and protected bundles. When in protected mode the app will now continuously refresh the session cookie, as well as clear the cookie if the user signs out.useRouteRef, which wasn't handling optional external route refs correctly./v1/userinfo endpoint, which is now able to parse and return the sub and ent claims from a Backstage user token.30f5a51: Added authModuleAwsAlbProvider as a default export.
It can now be used like this in your backend: backend.add(import('@backstage/plugin-auth-backend-module-aws-alb-provider'));
Updated dependencies
tokenTypes export with constants for various Backstage token types.95b0573: getAllTeams now accepts an optional limit parameter which can be used to return more than the default limit of 100 teams from the Azure DevOps API
pullRequestOptions have been equipped with teamsLimit so that the property can be used with getAllTeams
4d895b3: Fixed bug in EntityPageAzurePipeline component where build definition annotation used for viewing pipelines
Updated dependencies
95b0573: getAllTeams now accepts an optional limit parameter which can be used to return more than the default limit of 100 teams from the Azure DevOps API
pullRequestOptions have been equipped with teamsLimit so that the property can be used with getAllTeams
c7c4053: Fixed a bug where the azureDevOps.token was not truly optional
Updated dependencies
95b0573: getAllTeams now accepts an optional limit parameter which can be used to return more than the default limit of 100 teams from the Azure DevOps API
pullRequestOptions have been equipped with teamsLimit so that the property can be used with getAllTeams
Updated dependencies
<AboutCard> that is visible and links to the scaffolder template corresponding to the entity's backstage.io/source-template annotation, if present.entityPresentationApi from being set in apps using the new frontend system.c52f7ac: Make entity collection errors a little quieter in the logs.
Instead of logging a warning line when an entity has an error during processing, it will now instead emit an event on the event broker.
This only removes a single log line, however it is possible to
add the log line back if it is required by subscribing to the
CATALOG_ERRORS_TOPIC as shown below.
env.eventBroker.subscribe({
supportsEventTopics(): string[] {
return [CATALOG_ERRORS_TOPIC];
},
async onEvent(
params: EventParams<{
entity: string;
location?: string;
errors: Array<Error>;
}>,
): Promise<void> {
const { entity, location, errors } = params.eventPayload;
for (const error of errors) {
env.logger.warn(error.message, {
entity,
location,
});
}
},
});
Updated dependencies
GithubMultiOrgEntityProvider and GithubOrgEntityProvider with EventsService if defined@types/yup to ^0.32.0.BackstageCredentials were not properly forwarded for all calls@types/yup to ^0.32.0.json-schema-library to ^9.0.0.catalog:write action now automatically adds a backstage.io/template-source annotation, indicating which Scaffolder template was used to create the entity.publish:bitbucketServer scaffolder action & improve related tests87d2eb8: Updated dependency json-schema-library to ^9.0.0.
df99f62: The value sent on the create analytics event (fired when a Scaffolder template is executed) is now set to the number of minutes saved by executing the template. This value is derived from the backstage.io/time-saved annotation on the template entity, if available.
Note: the create event is now captured in the <Workflow> component. If you are directly making use of the alpha-exported <Stepper> component, an analytics create event will no longer be captured on your behalf.
Updated dependencies