docs/releases/v1.30.0-next.0-changelog.md
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.30.0-next.0
32a38e1: BREAKING: The lockfile (yarn.lock) dependency analysis and mutations have been removed from several commands.
The versions:bump command will no longer attempt to bump and deduplicate dependencies by modifying the lockfile, it will only update package.json files.
The versions:check command has been removed, since its only purpose was verification and mutation of the lockfile. We recommend using the yarn dedupe command instead, or the yarn-deduplicate package if you're using Yarn classic.
The check that was built into the package start command has been removed, it will no longer warn about lockfile mismatches.
The packages in the Backstage ecosystem handle package duplications much better now than when these CLI features were first introduced, so the need for these features has diminished. By removing them, we drastically reduce the integration between the Backstage CLI and Yarn, making it much easier to add support for other package managers in the future.
RootConfigService instead of Config. This also removes the dependency on @backstage/config as it's no longer used.react and react-dom by setting the FORCE_REACT_DEVELOPMENT flag.yarn start.repo build --all not properly detecting the experimental public entry point.GitlabUrlReader.readUrl and GitlabUrlReader.readTree to accept a user-provided token, supporting both bearer and private tokens.getHarnessEditContentsUrl, getHarnessFileContentsUrl, getHarnessArchiveUrl, getHarnessLatestCommitUrl and parseHarnessUrl to handle account and org level urlsuiSchema and formContext in FormPropsajv-errors for scaffolder validation to allow for customizing the error messagesba8571e: Setup user agent header for AWS sdk clients, this enables users to better track API calls made from Backstage to AWS APIs through things like CloudTrail.
7e13b7a: The remaining exports in the package have now been deprecated:
cacheToPluginCacheManagercreateLegacyAuthAdaptersLegacyCreateRouterlegacyPluginloggerToWinstonLoggermakeLegacyPluginUsers of these export should fully migrate to the new backend system.
Updated dependencies
createHealthRouter utility that allows you to create a health check router is now exported via @backstage/backend-defaults/rootHttpRouter.GitlabUrlReader.readUrl and GitlabUrlReader.readTree to accept a user-provided token, supporting both bearer and private tokens./.backstage/health/v1/readiness and /.backstage/health/v1/liveness.startTestBackend and ServiceFactoryTester now includes the Root Health Service.allowMissingDefaultConfig option to ConfigSources.default and
ConfigSources.defaultForTargets, which results in omission of a ConfigSource
for the default app-config.yaml configuration file if it's not present.fetch rather than FetchApi. This fixes a bug where the app would immediately try to sign-in again when removing the cookie during logout.Link component to the RoutedTabs instead of the HeaderTabs componentcreate-appIconBundleBlueprint API.4e53ad6: Introduce a new way to encapsulate extension kinds that replaces the extension creator pattern with createExtensionBlueprint
This allows the creation of extension instances with the following pattern:
// create the extension blueprint which is used to create instances
const EntityCardBlueprint = createExtensionBlueprint({
kind: 'entity-card',
attachTo: { id: 'test', input: 'default' },
output: {
element: coreExtensionData.reactElement,
},
factory(params: { text: string }) {
return {
element: <h1>{params.text}</h1>,
};
},
});
// create an instance of the extension blueprint with params
const testExtension = EntityCardBlueprint.make({
name: 'foo',
params: {
text: 'Hello World',
},
});
9b89b82: The ExtensionBoundary now by default infers whether it's routable from whether it outputs a route path.
7777b5f: Added a new IconBundleBlueprint that lets you create icon bundle extensions that can be installed in an App in order to override or add new app icons.
import { IconBundleBlueprint } from '@backstage/frontend-plugin-api';
const exampleIconBundle = IconBundleBlueprint.make({
name: 'example-bundle',
params: {
icons: {
user: MyOwnUserIcon,
},
},
});
31bfc44: Extension data references can now be defined in a way that encapsulates the ID string in the type, in addition to the data type itself. The old way of creating extension data references is deprecated and will be removed in a future release.
For example, the following code:
export const myExtension =
createExtensionDataRef<MyType>('my-plugin.my-data');
Should be updated to the following:
export const myExtension = createExtensionDataRef<MyType>().with({
id: 'my-plugin.my-data',
});
Updated dependencies
AwsOrganizationCloudAccountProcessor configuration field roleArn is deprecated in favor of new field accountIdentityFilter to prevent repeated redrawsroutable prop in the implementation of the createEntityContentExtension alpha export.RepoUrlPicker not refreshing the credentials for a different hostfetch:cookiecutter scaffolder action & improve related testsfad1b90: Allow the createGitlabProjectVariableAction to use oauth tokens
aab708e: Added test cases for gitlab:issue:edit examples
ef742dc: Added test cases for gitlab:projectAccessToken:create example
1ba4c2f: Added test cases for gitlab:pipeline:trigger examples
a6603e4: Add custom action for merge request: auto
The Auto action selects the committed action between create and update.
The Auto action fetches files using the /projects/repository/tree endpoint. After fetching, it checks if the file exists locally and in the repository. If it does, it chooses update; otherwise, it chooses create.
Updated dependencies
@backstage/backend-app-api dependency