Skip to main content


These are the release notes for the v1.7.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.


GitHub Catalog Import now Powered by the Backend

The analysis performed during catalog imports (i.e. when supplying the URL of a repository rather than an individual YAML file in the Create flow) is now powered by the backend rather than frontend code. This means that the catalog backend needs to be supplied with a location analyzer for this use case to continue to function.

If you want to make use of this feature, check out the installation instructions in the changelog.

Contributed by @kissmikijr in #13800

Permission Rule Changes

When defining permission rules, it's now necessary to provide a Zod Schema that specifies the parameters the rule expects. This has been added to help better describe the parameters in the response of the metadata endpoint and to validate the parameters before a rule is executed. The signatures of the rule methods (apply and toQuery) have changed slightly as well.

You can read more about this in the permissions documentation and the changelog.

Migration: jest v29

Both jest, jest-runtime, and jest-environment-jsdom as used by the Backstage CLI were bumped to version 29. This is up from version 27, so check out both the v28 and v29 (later here) migration guides, since your existing tests may be affected.

Particular changes that were encountered in the main Backstage repository are:

  • The updated snapshot format.
  • jest.useFakeTimers('legacy') is now jest.useFakeTimers({ legacyFakeTimers: true }).
  • Error objects collected by withLogCollector from @backstage/test-utils are now objects with a detail property rather than a string.

Migration: react-router v6

Newly created Backstage repositories now use the stable version 6 of react-router, just like the main repository does.

Migrating to the stable version of react-router is optional for the time being; Backstage has support for both versions. But if you want to do the same for your existing repository, please follow this guide. Support for the beta version will be removed in a later release.

Support for __mocks__ and __testUtils__ directories

The Backstage CLI now has built-in support for __mocks__ and __testUtils__ directories in your code. These can be used for mocks and shared utilities in tests.

New Arguments for the Router of @backstage/plugin-bazaar-backend

The bazaar-backend createRouter function now requires that the identityApi is passed to the router.

Deprecated plugin: @backstage/plugin-catalog-backend-module-bitbucket

This has been deprecated and split into @backstage/plugin-catalog-backend-module-bitbucket-cloud and @backstage/plugin-catalog-backend-module-bitbucket-server, for BitBucket Cloud and BitBucket Server respectively. Please update your dependencies accordingly, depending on which product you use.

The original package will be removed in a future release.

Contributed by @pjungermann in #14070

Security Fixes

This release does not contain any security fixes.

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.

Below you can find a list of links and references to help you learn about and start using this new release.

Sign up for our newsletter if you want to be informed about what is happening in the world of Backstage.