v1.29.0
版本发布时间: 2024-07-16 21:34:16
backstage/backstage最新发布版本:v1.33.0-next.3(2024-11-13 06:43:19)
These are the release notes for the v1.29.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.
Highlights
BREAKING: Backend System deprecations and removals
As part of the work towards a stable 1.0 release of the new backend system, there are several new deprecations and breaking changes in the backend system packages:
Breaking:
- The deprecated
token
option has been removed fromPermissionsService
, and the request options are now required and must contain acredentials
object. - The deprecated
getPath
option has been removed fromhttpRouterServiceFactory
, the plugin paths are now always/api/<pluginId>
. - It is no longer possible to pass service factory callbacks to the
defaultServiceFactories
option ofcreateSpecializedBackend
.
Deprecations:
- The ability to define options for service factories through
createServiceFactory
has been deprecated. See the service architecture documentation for more information on how to define customizable services. - The ability to install backend features in callback form, i.e.
() => BackendFeature
, has been deprecated. This also includes other usages such asstartTestBackend
, and dynamically imported backend features. No manual changes should be needed for this change, as all backend feature creators have been updated to returnBackendFeature
instances directly. - The
ServiceFactoryTest.get
method has been renamed toServiceFactoryTest.getSubject
, and is now deprecated. - The following types have been renamed to use an
*Options
suffix instead:ServiceRefConfig
,RootServiceFactoryConfig
,PluginServiceFactoryConfig
. - Deprecated all exports related to the legacy status checker in
@backstage/backend-common
. - The
isDockerDisabledForTests
function exported by@backstage/backend-test-utils
has been deprecated.
Backend Health Service
A new health service as been added to the new backend system. This service provides health check endpoints for the backend, and replaces createStatusCheckRouter
from @backstage/backend-common
.
The service helps implement the new /.backstage/health/v1/readiness
and /.backstage/health/v1/liveness
endpoints, which provide health checks for the entire backend instance.
You can read more about this new service and how to customize it in the Root Health Service documentation.
New Catalog Logs module
This new @backstage/plugin-catalog-backend-module-logs
module is a minimal module that will log any error events that are published by the catalog. This module is useful for making sure that catalog errors are visible in the logs, but you may want to replace it with a more customized solution if the resulting logs are too verbose.
Updates to the @backstage/create-app
template
New backstage projects created with @backstage/create-app
will now include the Catalog Logs module for logging catalog error events, as well as support for the Postgres Search Engine.
Permission Policy deprecations
The PermissionPolicy
interface has been updated to align with the recent changes to the Backstage auth system. The second argument to the handle
method is now of the new PolicyQueryUser
type. This type maintains the old fields from the BackstageIdentityResponse
, which are now all deprecated. Instead, two new fields have been added, which allows access to the same information:
-
credentials
- ABackstageCredentials
object, which is useful for making requests to other services on behalf of the user as part of evaluating the policy. This replaces the deprecatedtoken
field. See the Auth Service documentation for information about how to create a token using these credentials. -
info
- ABackstageUserInfo
object, which contains the same information as the deprecatedidentity
, except for thetype
field that was redundant.
Most existing policies can be updated by replacing the BackstageIdentityResponse
type with PolicyQueryUser
, which is exported from @backstage/plugin-permission-node
, as well as replacing any occurrences of user?.identity
with user?.info
.
Renaming the setupRequestMockHandlers
test utility
The setupRequestMockHandlers
utility function exported by @backstage/test-utils
and @backstage/backend-test-utils
has been renamed to registerMswTestHooks
. This is done to better reflect the context and the purpose of the function. The old name is deprecated and will be removed in a future release.
Catalog GitHub module support for repository
events
The GitHub provider module and GithubEntityProvider
for the Catalog now supports event driven ingestion of repositories by subscribing to repository
events from GitHub. This includes the actions archived
, deleted
, edited
, renamed
, transferred
, and unarchived
. This is in addition to the existing support for push
events, which you can read more about in the integration documentation for GitHub Discovery.
Contributed by @pjungermann in #25360
Catalog i18n support
The Catalog plugin as well as the Catalog React library now support internationalization (i18n). This means that you can customize the messaging in the catalog, as well as add translations. You can read more about this in the i18n documentation.
Contributed by @mario-mui in #23392
Route Binding configuration improvements
It is now possible to explicitly remove default route bindings, for cases where you don't want a plugin route to be bound to any target at all:
app:
routes:
bindings:
# This has the effect of removing the button for registering new
# catalog entities in the scaffolder template list view
scaffolder.registerComponent: false
Scaffolder Fields performance improvements
The EntityPicker
and MultiEntityPicker
fields have been updated to improve performance with large catalogs. Contributed by @kmikko in #25315, #25380
BREAKING: Catalog LDAP Module improvements
The @backstage/plugin-catalog-backend-module-ldap
module has been improved to support multiple or no declarations of both user and group configs.
This change is breaking for readLdapOrg
and LdapProviderConfig
, which now both always accept arrays of users
and groups
configurations.
Contributed by @Jenson3210 in #25261
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.
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, documentation, and getting started guide
- GitHub repository
- Backstage's versioning and support policy
- Community Discord for discussions and support
- Changelog
- Backstage Demos, Blog, Roadmap and Plugins
Sign up for our newsletter if you want to be informed about what is happening in the world of Backstage.