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

These are the release notes for the v1.13.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 their hard work in getting this release developed and done.

## Highlights

This release has an important security fix, along with a lot of squashed bugs and exciting additions! Enjoy.

### BREAKING: Removed the `Tabs` core component

The `Tabs` component was removed from `@backstage/core-components`. It was a thin shim that provided very little value and was considered confusing, when the [native Material UI tabs](https://v4.mui.com/components/tabs/) were already fully usable out of the box. Check out the pull request below for more details.

Contributed by [@tudi2d](https://github.com/tudi2d) in [#16587](https://github.com/backstage/backstage/pull/16587)

### BREAKING: `GitlabDiscoveryEntityProvider` branch handling

The way that the `GitlabDiscoveryEntityProvider` handles branches has changed, to remove the confusion of whether you want to _force_ the use of a certain branch name or whether you just want to provide a _fallback_ branch name. If you were passing in the `branch` parameter intending it to be just a fallback, you may want to rename it to `fallbackBranch`.

Contributed by [@Andy2003](https://github.com/Andy2003) in [#16502](https://github.com/backstage/backstage/pull/16502)

### BREAKING: Kubernetes backend

The Kubernetes backend is receiving some really nice overhauls to prepare it for the future and streamlining its interfaces. There are a few breaking changes in there, but not everyone is affected by them. Rather than listing each breaking change individually, check out [the package changelog](https://github.com/backstage/backstage/blob/master/plugins/kubernetes-backend/CHANGELOG.md) for more information if you see new type errors after upgrading.

### TypeScript 5

The Backstage project is now built with the new v5 version of TypeScript! This meant making some small adjustments to types here and there, but we do not expect any end user impact besides having even better and clearer TypeScript support.

You are now able to upgrade your own project to depend on version 5 of TypeScript, should you desire to - it’s an optional upgrade on your end and our libraries should still work fine with version 4 of TypeScript as well.

Added in [#17094](https://github.com/backstage/backstage/pull/17094)

### Automated orphaned entity cleanup in the catalog

There is a new `catalog.orphanStrategy` app-config option for the catalog, allowing adopters to enable automatic cleanup of [so-called "orphaned"](https://backstage.io/docs/features/software-catalog/life-of-an-entity#orphaning) entities. This helps with common use cases where catalog-info files are moved around or renamed, or where entities within a single catalog-info file are partially removed.

The default behavior is unchanged, i.e. if you do not explicitly set this new option to `'delete'`, orphaned entities will still stay around and await manual deletion.

Added in [#17363](https://github.com/backstage/backstage/pull/17363)

### Scaffolder Filters

You can now use some new filters in your placeholder expressions in Scaffolder templates. This gives the ability to combine things like:

```
${{ parameters.entity | parseEntityRef | pick('name') }}
```

to get the name of a specific entity, or

```
${{ parameters.repoUrl | parseRepoUrl | pick('owner') }}`
```

to get the owner of a repo.

Added in [#17091](https://github.com/backstage/backstage/pull/17091)

### Scaffolder Permissions

Support for template permissions has finally landed in the Scaffolder!

This allows you to define a `backstage:permissions` property to parameters and steps which is then used to authorize part of the template using the permissions framework. Docs for this feature [is a work in progress](https://github.com/backstage/backstage/pull/17379) still, it’s that fresh out of the oven!

Contributed by [@vinzscam](https://github.com/vinzscam) and [@HHogg](https://github.com/HHogg) in [#15798](https://github.com/backstage/backstage/pull/15798)

### Experimental CLI `onboard` command

We are experimenting with a new `onboard` command for the Backstage CLI. It’s still early days, but the intent is to help adopters with some common tasks in the early onboarding / evaluation phase.

Contributed by [@marcuseide](https://github.com/marcuseide) in [#16526](https://github.com/backstage/backstage/pull/16526)

### OpenAPI utilities

Backstage now has experimental support for declaring OpenAPI schemas for your services, and automatically building type safe routers out of them. The Catalog plugin is the first user of these facilities.

This comes in the form of a `@backstage/backend-openapi-utils` Node package assists with the type trickery, and the new `schema:openapi:verify` and `schema:openapi:generate` commands in the `@backstage/repo-tools` CLI package.

Contributed by [@sennyeya](https://github.com/sennyeya) in [#15667](https://github.com/backstage/backstage/pull/15667)

### Experimental inline auth flows

There’s new support for running auth flows inline in the current page instead of in a separate popup window, enabled via the `enableExperimentalRedirectFlow` app-config parameter. This will allow the use of some providers that do not support popup flows. It’s still an experimental feature, but do try it out if this applies to you!

Contributed by [@headphonejames](https://github.com/headphonejames) in [#15841](https://github.com/backstage/backstage/pull/15841)

### New plugin: PuppetDB

Visualize your data from PuppetDB!

Contributed by [@tdabasinskas](https://github.com/tdabasinskas) in [#17260](https://github.com/backstage/backstage/pull/17260)

### New catalog entity provider: `GithubMultiOrgEntityProvider`

This provider lets you ingest org data (users and groups) into your catalog more easily from multiple orgs in one fell swoop. Give it a try!

Contributed by [@kuangp](https://github.com/kuangp) in [#17285](https://github.com/backstage/backstage/pull/17285)

### New Scaffolder actions

- `confluence:transform:markdown`: This action converts Confluence doc pages to Markdown and can be found in the `@backstage/plugin-scaffolder-backend-module-confluence-to-markdown` package. Contributed by [@tradcliffe-expediagroup](https://github.com/tradcliffe-expediagroup) in [#16820](https://github.com/backstage/backstage/pull/16820)
- `fetch:plain:file` is the natural sibling to `fetch:plain`, but fetching individual files instead of directories. Contributed by [@gavlyukovskiy](https://github.com/gavlyukovskiy) in [#16935](https://github.com/backstage/backstage/pull/16935)

### Search now supports the new backend system!

Search is now available to use in the new backend system! The plugin itself has a new `searchPlugin` alpha export, and most of the collators etc are available as modules for it. The following packages have been created or updated as part of this:

- `@backstage/plugin-search-backend`
- `@backstage/plugin-search-backend-module-explore`
- `@backstage/plugin-search-backend-module-elasticsearch`
- `@backstage/plugin-search-backend-module-pg`
- `@backstage/plugin-search-backend-module-explore`
- `@backstage/plugin-search-backend-module-techdocs`

For documentation on how to migrate, check out the convenient [how-to guide](https://backstage.io/docs/features/search/how-to-guides/#how-to-migrate-your-backend-installation-to-use-search-together-with-the-new-backend-system).

Contributed by [@emmaindal](https://github.com/emmaindal) and [@camilaibs](https://github.com/camilaibs) in [#16710](https://github.com/backstage/backstage/pull/16710)

## Security Fixes

A [security flaw in the `vm2` package](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-29017) used by the Scaffolder plugin was patched by our automated security processes in [#17296](https://github.com/backstage/backstage/pull/17296). The fixed version of `vm2` was already covered by the required version range of the Scaffolder plugin, so adopters are able to address this vulnerability separately without upgrading Backstage itself, as part of their regular security processes.

## 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](https://backstage.io/docs/getting-started/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](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.13.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://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
