v1.11.0
These are the release notes for the v1.11.0 release of Backstage.
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.
Highlights
Scaffolder Alpha
With this release, we’ve been working on getting things ready for testing for the upcoming Scaffolder v2.0.0 release, and there’s now the ability to test the upcoming version in the form of an alpha! It would be great if you have the time to test out the new release to see if all your templates work as expected. There’s some documentation on how to test out the new version and what’s new under testing scaffolder alpha.
We’d love to hear if you have any issues when testing the new version, please reach out on Discord or create a new issue if there’s anything you find!
Backend System Alpha
The new Backend System is now in alpha. We encourage plugin owners to try out the new system by adding support for it in their plugin backends, but we do not yet recommend migrating over to using this new system for production backend deployments.
This new system aims to greatly simplify the setup and wiring of Backstage backends. It formalizes and simplifies how common services and plugins are installed and interact with each other, and restructures both plugins and backends to make them much easier to maintain.
The documentation starts here. Migration guides exist to help you get your backend and plugins migrated, but you don’t have to do it all in one go - the path forward can be incremental.
If you were already using the new backend system before this release, you may also be interested in the following.
There have been a number of tweaks to types and exports, following a thorough API review before its alpha release. Notably,
Service factories are now exported with the pattern <id>ServiceFactory
instead of <id>Factory
, e.g. configServiceFactory
The createBackendPlugin
parameter that used to be named id
is now pluginId
The interface of the CacheService
has changed slightly, so you may want to use the new cacheToPluginCacheManager
to get compatibility with your not-yet-converted backend plugins
The scaffolderCatalogModule
that was exported from the Scaffolder backend is renamed to catalogModuleTemplateKind
, to fit the proper naming patterns
There are a few smaller tweaks as well, that you can read about in the @backstage/backend-app-api
and @backstage/backend-plugin-api
changelogs.
New package: @backstage/eslint-plugin
We created a separate ESlint plugin package that houses some rules that are helpful for Backstage monorepos. Not only does it make a convenient bundle of them all, it also comes with a pretty healthy speed boost. The pull request contains some more details.
New plugin: Entity Feedback
A plugin that allows users to rate the quality of entities in your Backstage catalog. Allowing your users to rate entities brings them into the feedback loop that can help notify owners if something is wrong with their entity (i.e. taking inspiration from the feedback model of TechDocs). Check out the README!
Contributed by @kuangp in #15881
New plugin: Entity Validator
This plugin helps users create and edit their YAML definitions of entities, with live validation. It leverages the actual catalog backend for checks, so that you can submit catalog info file changes that fit your particular organization with greater confidence. Installation instructions and details are in the README.
Contributed by @ivangonzalezacuna in #16050
New Plugin: Microsoft Calendar
This plugin lets you show your MS calendars directly in Backstage. More information and installation instructions in the README!
Contributed by @Abhay-soni-developer in #16101
New plugin: GraphQL Voyager
This nifty plugin presents a graph structure of your entire GraphQL API. Check out its README for a screenshot and instructions on installing it.
Contributed by @MitchWijt in #16015
New plugin: Linguist
This plugin lets you see a nice visual representation of the breakdown of languages that a component’s repository is using, similar to the repository information that e.g. GitHub presents. More about that in the README!
Contributed by @ahhhndre in #14718
Lighthouse Backend
The Lighthouse plugin now has a corresponding backend. This allows you to conveniently schedule audits from within Backstage.
Note that as part of this, a @backstage/plugin-lighthouse-common
package was also created, and types that were common to the frontend and backend were moved there. This means that if you were explicitly importing types from the frontend package, you may see compilation errors and need to add a dependency on the new common package and point your imports there instead.
Contributed by @dpfaffenbauer in #15846
Security Fixes
@backstage/core-components
, @backstage/catalog-model
, and @backstage/plugin-catalog-backend
, have all had precautionary validation added, please upgrade to the latest versions of these packages. Special thanks to Philip Olausson (Programmatic) who found these issues as part of Roadie's regular third-party pen testing.
Upgrade path
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 keeping Backstage updated.
Links and References
Below you can find a list of links and references to help you learn about and start using this new release.
-
Backstage official website, documentation, and getting started guide
-
Backstage's versioning and support policy
-
Community Discord for discussions and support
Sign up for our newsletter if you want to be informed about what is happening in the world of Backstage.