Skip to content

Commit

Permalink
Merge pull request #23707 from backstage/rugvip/release-notes
Browse files Browse the repository at this point in the history
docs: add release notes for 1.24
  • Loading branch information
freben committed Mar 20, 2024
2 parents 81f4b64 + 61139ab commit 8cc47df
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 1 deletion.
90 changes: 90 additions & 0 deletions docs/releases/v1.24.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
id: v1.24.0
title: v1.24.0
description: Backstage Release v1.24.0
---

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

This release is a big milestone for the authentication system of Backstage and includes a large collection of new APIs and services. The full proposal can be found in [BEP-0003](https://github.com/backstage/backstage/blob/master/beps/0003-auth-architecture-evolution/README.md), including the motivation for this change. The main highlight of these changes is that we’re adding security by default to Backstage, meaning that you will no longer be forced to protect your Backstage instance from unauthorized access. It also brings several other improvements, such as slimmer user tokens and better handling of user credentials.

The majority of these improvements only apply to the new backend system, but the new service interfaces have backwards compatibility layers that allow them to be used in the old backend system too.

This is the first phase of the rollout of these changes, and includes all breaking changes that we are expecting. The new service interfaces introduced in this release set us up for the ability to add further improvements to the system without the need for additional breaking changes.

For information on how to migrate existing Backstage projects and plugins, refer to the [migration documentation](https://backstage.io/docs/tutorials/auth-service-migration).

Due to this change, some backend plugins now require the `discovery` service to be forwarded from the plugin environment in the old backend system.

As part of this change, the `getBearerTokenFromAuthorizationHeader` export from `@backstage/plugin-auth-node` has been deprecated and we discourage any usage of it.

### BREAKING: Events system improvements

The events system has been changed to have better compatibility with the new backend system, by handling all communication through a new events service.

Existing modules have been refactored to accept the new `EventsService` as input, rather than implementing the `EventSubscriber` interface. Refer to the changesets for each module for information on how to migrate.

For information on how to wire up the events service in the old backend system, see the [`events-node` README](https://github.com/backstage/backstage/tree/master/plugins/events-node#legacy-backend-system).

This has also affected how the events backend is installed in the old backend system, see the [`events-backend` README](https://github.com/backstage/backstage/tree/master/plugins/events-backend#legacy-backend-system) and [`events-backend` CHANGELOG](https://github.com/backstage/backstage/blob/master/plugins/events-backend/CHANGELOG.md#030) for details.

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

### New backend system by default

When creating a new project with `@backstage/create-app` you now get a backend built on top of the new backend system. Plugins created with the `@backstage/cli` now also support the new system.

### Auth backend guest module

A new guest auth provider is now available for use in local development and testing. In contrast to the existing guest auth, this provider lets you get a valid session and Backstage user token.

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

### Accepting `null` in configuration

A `null` value is now treated as an explicitly undefined value, and does not fall back to other configuration files. This means that you can use a `null` value in configuration to reset or unset parts of configuration, such as disabling an auth provider.

### Scaffolder actions testing utilities

A new `@backstage/plugin-scaffolder-node-test-utils` package has been published, which provides `createMockActionContext` to make it easier to write tests for scaffolder actions, and avoid breakages as additions to the actions context is made. More details can be found in the documentation for [writing tests for actions](https://backstage.io/docs/features/software-templates/writing-tests-for-actions).

We encourage you to migrate existing tests to use this new utility, in order to avoid breaking changes in the future.

### New backend plugin extension points

The `catalogModelExtensionPoint` from `@backstage/plugin-catalog-node/alpha` can now be used to replace the default entity data parser and field validation rules in the new backend system.

The `techdocsGeneratorExtensionPoint` from `@backstage/plugin-techdocs-node` can now be used to set a custom TechDocs generator.

### I18n for core components

The majority of components from `@backstage/core-components` now support internationalization. Message customizations are available through the `coreComponentsTranslationRef` export from `@backstage/core-components/alpha`. See the [internationalization documentation](https://backstage.io/docs/plugins/internationalization/#for-an-application-developer-overwrite-plugin-messages) for details on how to customize these messages in your application.

Contributed by [@mario-mui](https://github.com/mario-mui) in [#20932](https://github.com/backstage/backstage/pull/20932)

## 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](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.24.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.
2 changes: 1 addition & 1 deletion microsite/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ module.exports = {
position: 'left',
},
{
to: 'docs/releases/v1.23.0',
to: 'docs/releases/v1.24.0',
label: 'Releases',
position: 'left',
},
Expand Down
1 change: 1 addition & 0 deletions microsite/sidebars.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"releases": {
"Release Notes": [
"releases/v1.24.0",
"releases/v1.23.0",
"releases/v1.22.0",
"releases/v1.21.0",
Expand Down

0 comments on commit 8cc47df

Please sign in to comment.