Project: Backstage (App Definition and Development / Application Definition & Image Build)
File: v1.18.0.md

id: v1.18.0 title: v1.18.0 description: Backstage Release v1.18.0 These are the release notes for the v1.18.0 release of . A huge thanks to the whole team of maintainers and contributors as well as the amazing Backstage Community for the hard work in getting this release developed and done. Integrators can now bring their own auth strategies through the use of the `addAuthStrategy` method on `KubernetesBuilder`. As part of this, `setAuthTranslatorMap` has also been removed and the concept moves into the auth strategies instead. Contributed by in If you ingest users/groups from GitLab using `GitlabOrgDiscoveryEntityProvider`, you now have to scope its work to a certain group. The backend will not start up successfully without that. ```diff catalog: providers: gitlab: yourProviderId: host: gitlab.com orgEnabled: true group: org/teams ``` Contributed by in Theres a new plugin that provides a port of the latest OpenCost UI to Backstage. The covers installation and configuration. Contributed by in The minimum TypeScript version is now v5.0, please make sure that you upgrade the TypeScript dependency in your own projects accordingly. We believe that we have now reached a point where we want to encourage use of the . There are still things to iron out and plugins to be migrated, but we consider it to be ready for production use. Please check out the , and use the `legacyPlugin` helper to install any plugins that are not ready for use directly with the new system. For local development we also encourage you to try out the new `package start` command for backends in the CLI, which you enable by setting `EXPERIMENTALBACKENDSTART=1` in the environment. This new way of running the backend no longer uses Webpack, in favor of a more plain watch mode with module loaders. It does however still maintain the SQLite database state across restarts without filesystem overhead. If all goes according to plan this will be the new default starting from the next release. Plugins and modules leveraging the are now supposed to be the default export of their respective packages. This clarifies what the main entrypoint of each package is, facilitates automatic feature discovery, and also lets you easily make dynamic import one-liners in your code. We have made this change to a lot of the packages that had already been migrated to the new backend system. So after upgrading to this version of Backstage, you may find that imports in your backend package no longer match. For example, if you are currently importing plugins using the following pattern: ```ts import { examplePlugin } from '@backstage/plugin-example-backend'; backend.add(examplePlugin); ``` They may now need to be migrated to: ```ts backend.add(import('@backstage/plugin-example-backend')); ``` The CLI has received a new `backstage-cli fix` command, typically configured to be run as `yarn

The command will scan through all packages in the project and make sure that they are declared correctly. Initially it will make sure that package exports are declared correctly, replacing the `backstage-cli migrate package-exports` command, as well as making sure that frontend packages set `"sideEffects": false`. The latter fix has been applied to all `@backstage/*` packages as well, which allows for more optimized frontend builds. The `@backstage/plugin-auth-backend` now has support for the new backend system, as well as installing auth providers via modules. As part of this the auth backend has received a substantial redesign, with all of the APIs needed to build your own providers now exported from `@backstage/plugin-auth-node`. It is now also possible to configure fixed sign-in resolvers via static configuration for a limited number of providers. You can read more about these changes in the . A new set of experimental APIs have been added to the frontend system to support internationalization. This allows for both translations to other languages, as well as overriding default messages. Partial support has so far been added to the `@backstage/plugin-user-settings` and `@backstage/plugin-adr` plugins. See for more details. Contributed by in Two new packages have been added to support the work towards frontend declarative integration: `@backstage/frontend-plugin-api` and `@backstage/frontend-app-api`. These packages are still highly experimental and should not be used. The session expiration check has been improved for all auth providers. The expiration of both the Backstage identity token as well as provider specific tokens will be considered when deciding whether the session has expired. It is now possible to download the results of a dry-run as a zip archive from the template editor dry-run results view. Contributed by in The integration for Azure DevOps now allows for configuration of separate credentials for different organizations. See the for more information. Contributed by in The Scaffolders integrations into the catalog have a new dedicated home. The `ScaffolderEntitiesProcessor` and its corresponding New Backend System `catalogModuleScaffolderEntityModel` now should be imported from here, since they have been deprecated in the Scaffolder backend plugin package. Great efforts have been made by VMware to move the needle in terms of better MySQL support across the core and plugins. Check out the PR for details! Contributed by in This release does not contain any security fixes. We recommend that you keep your Backstage project up to date with this latest release. For more guidance on how to upgrade, check out the documentation for . Below you can find a list of links and references to help you learn about and start using this new release. , , and Backstage's for discussions and support Backstage , , and Sign up for our if you want to be informed about what is happening in the world of Backstage.