Add release notes for v1.38.0

Signed-off-by: benjdlambert <ben@blam.sh>
This commit is contained in:
benjdlambert
2025-04-16 10:54:05 +02:00
parent 1a85f9d7b8
commit fdfb81a6d0
+168
View File
@@ -0,0 +1,168 @@
---
id: v1.38.0
title: v1.38.0
description: Backstage Release v1.38.0
---
These are the release notes for the v1.38.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
### BREAKING: Removal of `React` imports
Backstage projects now ship with the [new JSX transforms](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) enabled by default, which removes the need for any default `React` imports. They are not yet included in the common configuration in the CLI, but you can enable them in your own project by adding the following under `"compilerOptions"` in your `tsconfig.json`: `"jsx": "react-jsx"`.
To go along with this change the ESLint configuration in `@backstage/cli` has a new set of rules that produces warnings if `React` default imports are used. We recommend all adopters to switch to the new JSX transforms at their earliest convenience.
For more information, see the [JSX transform migration guide](https://backstage.io/docs/tutorials/jsx-transform-migration).
Contributed by [@schultzp2020](https://github.com/schultzp2020) in [#29499](https://github.com/backstage/backstage/pull/29499)
### BREAKING: Github Integration Changes
The `@backstage/plugin-catalog-backend-module-github` now will reject any configuration that contains slashes in branch names. Branches with slashes in Backstage are currently unsupported ([#2815](https://github.com/backstage/backstage/issues/2815)), and allowing this would cause issues after ingestion.
Contributed by [@lukealbao](https://github.com/lukealbao) in [#29424](https://github.com/backstage/backstage/pull/29424)
Another breaking change is that the `@backstage/plugin-scaffolder-backend-module-github` module also now will use the default branch of `main` instead of `master` when publishing new repositories.
It can be configured to any other value from the default by using the `defaultBranch` input.
```diff
- id: publish
name: Publish
action: publish:github
input:
allowedHosts: ['github.com']
description: This is ${{ parameters.name }}
repoUrl: ${{ parameters.repoUrl }}
+ defaultBranch: 'master'
```
Contributed by [@QuadmanSWE](https://github.com/QuadmanSWE) in [#29488](https://github.com/backstage/backstage/pull/29488)
### BREAKING: Translation key changes for Scaffolder Plugin
Some translations have changed the key that they are nested under as they have been refactored into a better place with the upcoming additions of `createTemplateGlobal` and `createTemplateFilter`.
This means that the translation keys have changed for `actionsPage.content.tableCell.*.` They have moved to their own root key `renderSchema.*` instead.
Contributed by [@mbenson](https://github.com/mbenson) in [#29383](https://github.com/backstage/backstage/pull/29383)
### `backtage-cli repo start`
In order to align on `yarn start` being the only command needed for local development, weve introduced a new `repo start` command to the `backstage-cli` for use in the root `package.json`.
This will allow users to just run `yarn start` in the root of the repository. It will run the app and/or backend package in the repository by default, but you can also select packages to run by name or path, as well as run plugin dev entry points by plugin ID. For more information on the available options, see the [docs for the repo start command](https://backstage.io/docs/tooling/cli/commands#repo-start).
The new script is installed as follows, replacing the existing yarn start script:
```json
{
"scripts": {
"start": "backstage-cli repo start"
}
}
```
In order to help users migrate in existing projects, it is recommended to replace existing scripts with the following in the root package.json:
```json
{
"scripts": {
"dev": "echo \"Use 'yarn start' instead\"",
"start-backend": "echo \"Use 'yarn start backend' instead\""
}
}
```
### New plugin drop: 📦 Gateway Plugin
We have released `@backstage/plugin-gateway-backend`, a plugin for managing request routing in distributed Backstage deployments. This plugin is designed for organizations that have [split their backend plugins across multiple Backstage deployments](https://backstage.io/docs/backend-system/building-backends/index#split-into-multiple-backends).
The gateway plugin addresses frontend-to-backend routing by providing a centralized routing solution in a dedicated "gateway" Backstage deployment. It routes frontend requests to the appropriate backend plugins using the Discovery service, while prioritizing local plugins when available.
### Canon 0.3.0
Our new design system Canon has reached 0.3.0 in this release. You can read more about the changes in the [canon changelog](https://canon.backstage.io/releases).
### Movement towards Module Federation support
The new package `@backstage/frontend-dynamic-features-loader` provides a frontend feature loader that dynamically
loads frontend features based on the new frontend system and exposed as module federation remotes.
This new frontend feature loader works hand-in-hand with a new server of frontend plugin module federation
remotes, which is added as part of backend dynamic feature service in package `@backstage/backend-dynamic-feature-service`.
Contributed by [@davidfestal](https://github.com/davidfestal) in [#28076](https://github.com/backstage/backstage/pull/28076)
### Catalog Events support for `bitbucket-server`
One of the oldest PRs that we had has finally been merged! We now have support for Bitbucket Server events, to automatically react to file changes to keep the catalog up to date.
Thanks for the effort from all involved to finally get this across the line 🎉
Contributed by [@davelil4](https://github.com/davelil4) in [#19633](https://github.com/backstage/backstage/pull/19633)
### Redis clustering support
You can now enable Redis clustering, through the `backend.cache.redis.cluster` key.
Contributed by [@marknach](https://github.com/marknach) in [#29162](https://github.com/backstage/backstage/pull/29162)
### Support for SRV look-ups in standard discovery
You can now use URLs on for example the form `http+srv://recordname/api/{{pluginId}}` in `discovery.endpoints[].target.internal`, to get automatic real-time SRV resolution of your internal deployments.
### Send Slack notifications from the events system
Theres now a Slack processor for the notifications subsystem. Get notified right in your Slack workspace when things happen.
Contributed by [@kunickiaj](https://github.com/kunickiaj) in [#29308](https://github.com/backstage/backstage/pull/29308)
### New Frontend System Improvements
It is now possible to add custom header menu items to the entity page, see the example below:
```tsx
import { EntityContextMenuItemBlueprint } from '@backstage/plugin-catalog-react/alpha';
const customEntityMenuItem = EntityContextMenuItemBlueprint.make({
name: 'custom-entity-menu-item',
params: {
icon: <ExampleIcon />,
useProps() {
// Other hooks can be called here
return {
title: 'Example title',
href: '/example-path', // or onClick: () => window.alert('Hello world!'),
disabled: false,
};
},
},
});
```
Contributed by [@marknotfound](https://github.com/marknotfound) in [#29515](https://github.com/backstage/backstage/pull/29515)
## Security Fixes
This release contains a security improvement that addresses potential information leakage of policies within the permission system.
## 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.38.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.