---
id: v1.23.0
title: v1.23.0
description: Backstage Release v1.23.0
---

These are the release notes for the v1.23.0 release of [Backstage](https://backstage.io/).

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

### Auth module migrations

Several more auth providers have been migrated to be implemented as standalone modules, adding support for them in the [new backend system](https://backstage.io/docs/backend-system/building-backends/migrating#the-auth-plugin). The migrated providers are `microsoft`, `oidc`, and `aws-alb`. If you detect any issues, please reach out on [Discord](https://discord.gg/backstage-687207715902193673) or [open an issue](https://github.com/backstage/backstage/issues).

### Scaffolder

We’ve removed the last of the legacy exports from `/alpha`. Please [open an issue](https://github.com/backstage/backstage/issues) if there’s a reason why you still need to use them.

If you’re using the New Backend System and the Scaffolder plugin, the built in modules have been trimmed down, so you’ll need to install other modules in order to pull in additional actions. You can read more [in the migration guide](https://backstage.io/docs/backend-system/building-backends/migrating#the-scaffolder-plugin)

### New Module: `@backstage/plugin-scaffolder-backend-module-gitea`

Provides actions to the Scaffolder for creating repositories and pushing to Gitea. Thanks to [@cmoulliard](https://github.com/cmoulliard)!

### New Modules: `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud` and `@backstage/plugin-scaffolder-backend-module-bitbucket-server`

Thanks to [@pjungermann](https://github.com/pjungermann)’s work, we’ve now broken apart the BitBucket module into two separate modules to provide different actions to support the different BitBucket offerings.

This change also deprecates the original `@backstage/plugin-scaffolder-backend-module-bitbucket`, so if you’re using the new Backend System we encourage you to move towards using these new modules instead.

### New lint rule to forbid top-level MUI imports

The `@backstage/eslint-rules` package now provides the `@backstage/no-top-level-material-ui-4-imports` rule that forbids imports such as `import { Box } from '@material-ui/core'`. This rule is currently disabled by default and needs to be manually enabled in `.eslintrc.js`:

```ts
module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
  rules: {
    '@backstage/no-top-level-material-ui-4-imports': 'error',
  },
});
```

### Automatic package `repository` fields

The `backstage-cli repo fix` command will now update the `repository` fields in all workspace packages, as long as the root `package.json` has the `repository` field set.

### Kubernetes cluster name uniqueness check

The Kubernetes plugin now enforces the policy of all configured clusters having unique names. The backend will now fail to start if that is not the case.

### Auth backend SAML provider dependency switch

The implementation of the SAML provider in the auth backend is now based on [`@node-saml/passport-saml`](https://www.npmjs.com/package/@node-saml/passport-saml) instead of the deprecated [`passport-saml`](https://www.npmjs.com/package/passport-saml) package. This is a breaking change since the `audience` configuration is now mandatory, and the `wantAuthnResponseSigned` and `wantAssertionsSigned` options are enabled by default but possible to configure.

### Update repo-tools OpenAPI commands structure

The `schema openapi` commands of the `@backstage/repo-tools` package have been restructured. They are now divided into `package schema openapi` and `repo schema openapi` commands. For a more detailed list of changes, see the changelog of the [repo-tools changelog](https://github.com/backstage/backstage/blob/master/packages/repo-tools/CHANGELOG.md#060).

### Gerrit integration now requires Gitiles

When integrating a Gerrit instance with Backstage it is now required to have the Gitiles plugin installed in Gerrit. This allowed the Backstage integration to use a richer set of APIs, rather than interacting only over the git protocol.

This behavior can be temporarily disabled via setting `DISABLE_GERRIT_GITILES_REQUIREMENT=1` in the environment. This flag will be removed in a future release, so if you depend on this behavior please [open an issue](https://github.com/backstage/backstage/issues).

## Security Fixes

This release contains an improvement to the default backend error handling middleware that will filter out some known error types that should never be returned in client responses.

## 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](https://backstage.io/), [documentation](https://backstage.io/docs/), and [getting started guide](https://backstage.io/docs/getting-started/)
- [GitHub repository](https://github.com/backstage/backstage)
- Backstage's [versioning and support policy](https://backstage.io/docs/overview/versioning-policy)
- [Community Discord](https://discord.gg/backstage-687207715902193673) for discussions and support
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.23.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)

Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
