docs/releases/v1.31.0-next.1-changelog.md
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.31.0-next.1
a4bac3c: BREAKING: You can no longer supply a basePath option to the host discovery implementation. In the new backend system, the ability to choose this path has been removed anyway at the plugin router level.
988c145: BREAKING: Simplifications and cleanup as part of the Backend System 1.0 work.
dropDatabase function has now been removed, without replacement.a4bac3c: BREAKING: You can no longer supply a basePath option to the host discovery implementation. In the new backend system, the ability to choose this path has been removed anyway at the plugin router level.
055b75b: BREAKING: Simplifications and cleanup as part of the Backend System 1.0 work.
For the /database subpath exports:
dropDatabase function has now been removed, without replacement.LegacyRootDatabaseService type has now been removed.DatabaseManager.forPlugin is now directly a DatabaseService, as arguably expected.DatabaseManager.forPlugin now requires the deps argument, with the logger and lifecycle services.For the /cache subpath exports:
PluginCacheManager type has been removed. You can still import it from @backstage/backend-common, but it's deprecated there, and you should move off of that package by migrating fully to the new backend system.CacheManager.forPlugin immediately returns a CacheService instead of a PluginCacheManager. The outcome of this is that you no longer need to make the extra .getClient() call. The old CacheManager with the old behavior still exists on @backstage/backend-common, but the above recommendations apply.ConfigService instead of Config in constructors/factoriesnamespace parameter for API's is now defaulted to the pluginId which was discovered. This means that if you're overriding API's by using ID's directly, they might have changed to include the plugin ID too.FrontendPlugin and FrontendModule types.7c80650: BREAKING: The createSpecializedApp function now creates a bare-bones app without any of the default app structure or APIs. To re-introduce this functionality if you need to use createSpecializedApp you can install the app plugin from @backstage/plugin-app.
In addition, the createApp and CreateAppFeatureLoader exports are now deprecated as they are being moved to @backstage/frontend-defaults, which should be used instead.
FrontendPlugin and FrontendModule types.namespace parameter in favour of pluginId insteadcreateApp function. This replaces the existing createApp method from @backstage/frontend-app-api.CreateAppOptions type for the createApp options.createPublicSignInApp, used to creating apps for the public entry point.mockServices.rootConfig.mock, and fixed the definition of mockServices.rootHttpRouter.factory to not have a duplicate callback.1882cfe: Moved getEntities ordering to utilize database instead of having it inside catalog client
Please note that the latest version of @backstage/catalog-client will not order the entities in the same way as before. This is because the ordering is now done in the database query instead of in the client. If you rely on the ordering of the entities, you may need to update your backend plugin or code to handle this change.
Updated dependencies
d2d2313: Add config.d.ts files to the list of included file in tsconfig.json.
This allows ESLint to detect issues or deprecations in those files.
97422b0: Update templates to not refer to backend-common
f865103: Updated dependency esbuild to ^0.23.0.
569c3f0: Fixed an issue where published frontend packages would end up with an invalid import structure if a single module imported both .css and .svg files.
Updated dependencies
jscodeshift to ^0.16.0.titleComponent prop to SignInPage component to allow further customization of the title using ReactNoded2d2313: Add config.d.ts files to the list of included file in tsconfig.json.
This allows ESLint to detect issues or deprecations in those files.
97422b0: Update templates to not refer to backend-common
bf370c2: Remove references to the @backstage/backend-tasks in versions of the create-app package, as it has been deprecated.
Updated dependencies
c816e2d: Added createFrontendModule as a replacement for createExtensionOverrides, which is now deprecated.
Deprecated the BackstagePlugin and FrontendFeature type in favor of FrontendPlugin and FrontendFeature from @backstage/frontend-app-api respectively.
52f9c5a: Deprecated the namespace option for createExtensionBlueprint and createExtension, these are no longer required and will default to the pluginId instead.
You can migrate some of your extensions that use createExtensionOverrides to using createFrontendModule instead and providing a pluginId there.
// Before
createExtensionOverrides({
extensions: [
createExtension({
name: 'my-extension',
namespace: 'my-namespace',
kind: 'test',
...
})
],
});
// After
createFrontendModule({
pluginId: 'my-namespace',
extensions: [
createExtension({
name: 'my-extension',
kind: 'test',
...
})
],
});
948d431: Removing deprecated namespace parameter in favour of pluginId instead
Updated dependencies
namespace parameter in favour of pluginId instead@useoptic/openapi-utilities to ^0.55.0.52f9c5a: Deprecated the namespace option for createExtensionBlueprint and createExtension, these are no longer required and will default to the pluginId instead.
You can migrate some of your extensions that use createExtensionOverrides to using createFrontendModule instead and providing a pluginId there.
// Before
createExtensionOverrides({
extensions: [
createExtension({
name: 'my-extension',
namespace: 'my-namespace',
kind: 'test',
...
})
],
});
// After
createFrontendModule({
pluginId: 'my-namespace',
extensions: [
createExtension({
name: 'my-extension',
kind: 'test',
...
})
],
});
Updated dependencies
1882cfe: Moved getEntities ordering to utilize database instead of having it inside catalog client
Please note that the latest version of @backstage/catalog-client will not order the entities in the same way as before. This is because the ordering is now done in the database query instead of in the client. If you rely on the ordering of the entities, you may need to update your backend plugin or code to handle this change.
Updated dependencies
CatalogGraphPage component where, after clicking on some nodes, clicking the back button would break the navigation. This issue caused the entire navigation to fail and behaved differently across various browsers.lodash versions4f08c85: Show additional info on DevTools unprocessed entities table
Updated dependencies
esbuild to ^0.23.0.use-immer to ^0.10.0.SignalsDisplay component extension