Release v1.40.0
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.40.0
@backstage/plugin-scaffolder-backend@2.0.0
Major Changes
-
33394db: BREAKING CHANGES
Removal of deprecated re-exports from module packages.
The following functions have been re-exported from the
scaffolder-backendplugin for quite some time, and now it's time to clean them up. They've been moved as follows:-
createPublishAzureActionshould be imported from@backstage/plugin-scaffolder-backend-module-azureinstead. -
createPublishBitbucketCloudActionshould be imported from@backstage/plugin-scaffolder-backend-module-bitbucket-cloudinstead. -
createPublishBitbucketServerActionandcreatePublishBitbucketServerPullRequestActioncan be imported from@backstage/plugin-scaffolder-backend-module-bitbucket-serverinstead. -
createPublishBitbucketActionshould be imported from@backstage/plugin-scaffolder-backend-module-bitbucketinstead. -
createPublishGerritActionandcreatePublishGerritReviewActioncan be imported from@backstage/plugin-scaffolder-backend-module-gerritinstead. -
createGithubActionsDispatchAction,createGithubDeployKeyAction,createGithubEnvironmentAction,createGithubIssuesLabelAction,CreateGithubPullRequestActionOptions,createGithubRepoCreateAction,createGithubRepoPushAction,createGithubWebhookAction, andcreatePublishGithubActioncan be imported from@backstage/plugin-scaffolder-backend-module-githubinstead. -
createPublishGitlabActionshould be imported from@backstage/plugin-scaffolder-backend-module-gitlabinstead. -
ActionContext.createTemplateAction,executeShellCommand,ExecuteShellCommandOptions,fetchContents,TaskSecrets, andTemplateActionshould be imported from@backstage/plugin-scaffolder-nodeinstead. -
ScaffolderEntitiesProcessorshould be imported from@backstage/plugin-catalog-backend-module-scaffolder-entity-modelinstead.
-
-
a8fcf04: BREAKING ALPHA: The
/alphaexport no longer exports the plugin. Please useimport('@backstage/plugin-scaffolder-backend')instead as this has been removed.BREAKING CHANGES: The old
createRouterfunction which was used in the old backend system has been removed along with theRouterOptionstype. -
73b94d7: BREAKING CHANGES
The following functions have been re-exported from the
scaffolder-backendplugin for quite some time, and now it's time to clean them up. They've been moved as follows:-
SerializedTask,SerializedTaskEvent,TaskBroker,TaskBrokerDispatchOptions,TaskBrokerDispatchResult,TaskCompletionState,TaskContext,TaskEventType,TaskStatus,TemplateFilter, andTemplateGlobalshould be imported from@backstage/plugin-scaffolder-nodeinstead. -
The deprecated
copyWithoutRenderoption has been removed fromfetch:templateaction. You should rename the option tocopyWithoutTemplatinginstead.
-
-
5863b04: BREAKING CHANGES
-
The
createBuiltinActionsmethod has been removed, as this should no longer be needed with the new backend system route, and was only useful when passing the default list of actions again in the old backend system. You should be able to rely on the default behaviour of the new backend system which is to merge the actions. -
The
createCatalogRegisterActionandcreateFetchCatalogEntityActionactions no longer require anAuthService, and now accepts aCatalogServiceinstead ofCatalogClient.
Unless you're providing your own override action to the default, this should be a non-breaking change.
You can migrate using the following if you're getting typescript errors:
import { catalogServiceRef } from '@backstage/plugin-catalog-node';
import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node/alpha';
export const myModule = createBackendModule({
pluginId: 'scaffolder',
moduleId: 'test',
register({ registerInit }) {
registerInit({
deps: {
scaffolder: scaffolderActionsExtensionPoint,
catalog: catalogServiceRef,
},
async init({ scaffolder, catalog }) {
scaffolder.addActions(
createCatalogRegisterAction({
catalog,
}),
createFetchCatalogEntityAction({
catalog,
integrations,
}),
);
},
});
},
}); -
Minor Changes
-
73b94d7: DEPRECATIONS
The following types and implementations have been deprecated, either because they're no longer relevant, or because upcoming changes to the
scaffolder-backendafter2.0.0will influence the changes to these API surfaces.CreateWorkerOptionsDatabaseTaskStoreDatabaseTaskStoreOptionsTaskManagerTaskStoreCreateTaskOptionsTaskStoreCreateTaskResultTaskStoreEmitOptionsTaskStoreListEventsOptionsTaskStoreRecoverTaskOptionsTaskStoreShutDownTaskOptions
There is no current path off deprecation, these types are going to be removed and rethought with a better way to define workers in the new backend system.
Patch Changes
-
89a941d: Migrating to latest action format
-
023629e: Enable usage of secrets within 'each' step of software templates. For example, you can now structure your
eachstep like this:each:
[
{ name: "Service1", token: "${{ secrets.token1 }}" },
{ name: "Service2", token: "${{ secrets.token2 }}" },
] -
e92e481: Add tests for Scaffolder
-
Updated dependencies
- @backstage/plugin-scaffolder-backend-module-gitlab@0.9.2
- @backstage/plugin-scaffolder-backend-module-azure@0.2.10
- @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.2.10
- @backstage/plugin-scaffolder-backend-module-github@0.8.0
- @backstage/backend-defaults@0.11.0
- @backstage/plugin-scaffolder-node@0.9.0
- @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.2.10
- @backstage/plugin-scaffolder-backend-module-gerrit@0.2.10
- @backstage/plugin-catalog-node@1.17.1
- @backstage/plugin-auth-node@0.6.4
- @backstage/plugin-scaffolder-backend-module-gitea@0.2.10
- @backstage/plugin-scaffolder-backend-module-bitbucket@0.3.11
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/types@1.2.1
- @backstage/plugin-bitbucket-cloud-common@0.3.0
- @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.9
- @backstage/plugin-events-node@0.4.12
- @backstage/plugin-permission-common@0.9.0
- @backstage/plugin-permission-node@0.10.1
- @backstage/plugin-scaffolder-common@1.5.11
@backstage/backend-defaults@0.11.0
Minor Changes
- 3ccb7fc: Enhanced error handling in the auditor service factory to pass errors as objects. Aligned WinstonRootAuditorService with the default service factory's error handling.
Patch Changes
-
1220cf8: Added new rate limit middleware to allow rate limiting requests to the backend
If you are using the
configurecallback of the root HTTP router service and do NOT callapplyDefaults()inside it, please see the relevant changes that were made, to see if you want to apply them as well to your custom configuration. Rate limiting can be turned on by adding the following configuration toapp-config.yaml:backend:
rateLimit:
window: 6s
incomingRequestLimit: 100Plugin specific rate limiting can be configured by adding the following configuration to
app-config.yaml:backend:
rateLimit:
global: false # This will disable the global rate limiting
plugin:
catalog:
window: 6s
incomingRequestLimit: 100 -
c999c25: Added some default implementations for the experimental
ActionsServiceandActionsRegistryServiceunder/alphathat allow registration of actions for a particular plugin. -
Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-app-api@1.2.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/backend-dev-utils@0.1.5
- @backstage/cli-node@0.2.13
- @backstage/config@1.3.2
- @backstage/config-loader@1.10.1
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/integration-aws-node@0.1.16
- @backstage/types@1.2.1
- @backstage/plugin-events-node@0.4.12
- @backstage/plugin-permission-node@0.10.1
@backstage/backend-plugin-api@1.4.0
Minor Changes
-
664c07a: Added
actionsRegistryandactionsexperimental services to/alphato allow registration of distributed actions from plugins, and the ability to invoke these actions. You can use these services by including them like the following:import {
actionsRegistryServiceRef,
actionsServiceRef,
} from '@backstage/backend-plugin-api/alpha';
createBackendPlugin({
pluginId: 'test-plugin',
register({ registerInit }) {
registerInit({
deps: {
actions: actionsServiceRef,
actionsRegistry: actionsRegistryServiceRef,
},
async init({ actions, actionsRegistry }) {
actionsRegistry.register({
...,
});
await actions.invoke(...);
},
});
},
});
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/cli-common@0.1.15
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
- @backstage/plugin-permission-common@0.9.0
- @backstage/plugin-permission-node@0.10.1
@backstage/backend-test-utils@1.6.0
Minor Changes
-
6dfb7be: Added
mockServices.permissions()that can return actual results. -
c999c25: Added an
actionsRegistryServiceMockandactionsServiceMockto/alphaexport for the experimental services.This allows you to write tests for your actions by doing something similar to the following:
import { actionsRegistryServiceMock } from '@backstage/backend-test-utils/alpha';
const mockActionsRegistry = actionsRegistryServiceMock();
const mockCatalog = catalogServiceMock({
entities: [
...
],
});
createGetCatalogEntityAction({
catalog: mockCatalog,
actionsRegistry: mockActionsRegistry,
});
await expect(
mockActionsRegistry.invoke({
id: 'test:get-catalog-entity',
input: { name: 'test' },
}),
).resolves.toEqual(...)
Patch Changes
- 12c1fd4: Make the
usercredentials mock behave more like production - Updated dependencies
- @backstage/backend-defaults@0.11.0
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-app-api@1.2.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
- @backstage/plugin-events-node@0.4.12
- @backstage/plugin-permission-common@0.9.0
@backstage/canon@0.5.0
Minor Changes
- 621fac9: We are updating the default size of the Button component in Canon to be small instead of medium.
- a842554: We set the default size for IconButton in Canon to be small instead of medium.
- 35fd51d: Move TextField component to use react Aria under the hood. Introducing a new FieldLabel component to help build custom fields.
- 78204a2: Breaking We are adding a new as prop on the Heading and Text component to make it easier to change the component tag. We are removing the render prop in favour of the as prop.
- c49e335: TextField in Canon now has multiple label sizes as well as the capacity to hide label and description but still make them available for screen readers.
- 24b45ef: Fixes spacing props on layout components and aligned on naming for the Grid component. You should now call the Grid root component using <Grid.Root /> instead of just
.
Patch Changes
- 44df879: Add min-width: 0; by default on every Flex components in Canon to help support truncated texts inside flex elements.
- ee6ffe6: Fix styling for the title4 prop on the Heading component in Canon.
- f2f814a: Added a render prop to the Button component in Canon to use it as a link.
- 98f02a6: Add new Switch component in Canon.
- c94f8e0: The filter input in menu comboboxes should now always use the full width of the menu it's in.
- 269316d: Remove leftover console.log from Container component.
@backstage/cli@0.33.0
Minor Changes
- eef0e83: Internal update to promote the modular CLI entrypoint to stable.
Patch Changes
- d07fe35: Added user feedback when opening config docs in browser. The command now clearly indicates what it's doing and provides fallback instructions if the browser fails to open.
- ce70439: The
BACKSTAGE_CLI_EXPERIMENTAL_BUILD_CACHEflag has been removed. Existing users are encouraged to switch toEXPERIMENTAL_RSPACKinstead. - 1d8f00b: Switched to using the
ModuleFederationPluginfrom@module-federation/enhanced/rspackfor Rspack, rather than the built-in one. - 2b9633f: The experimental
FORCE_REACT_DEVELOPMENTflag has been removed. - d8c4a54: Only use the caching Jest module loader for frontend packages in order to avoid breaking real ESM module imports.
- d6d63c7: Updating the scaffolder action boilerplate to use new
zodschema - e36e855: Added
backstage.pluginIdfield inpackage.jsonto all default plugin package templates for thenewcommand. - 1bab255: Internal refactor to combine alpha
buildandstartmodules. - 713e957: fix: merge eslint reports when using json format
- 8a0164c: Fix an issue where some commands were not usable because of missing dist files
- Updated dependencies
- @backstage/eslint-plugin@0.1.11
- @backstage/catalog-model@1.7.4
- @backstage/cli-common@0.1.15
- @backstage/cli-node@0.2.13
- @backstage/config@1.3.2
- @backstage/config-loader@1.10.1
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/release-manifests@0.0.13
- @backstage/types@1.2.1
@backstage/create-app@0.7.0
Minor Changes
- 30474c4: Add .cache directory to shipped gitignore.
Patch Changes
- d57a6f7: Bumped create-app version.
- f628f44: Bumped create-app version.
- 9c9faf2: Bumped create-app version.
- Updated dependencies
- @backstage/cli-common@0.1.15
@backstage/repo-tools@0.14.0
Minor Changes
- bf9a173: Add support for caching the per-package output from the
package-docscommand.
Patch Changes
- 4bff5d0: Fixed a bug where linting would fail with the generated clients when defining top-level
enumschema values. - 2d20024: Fix an issue where errors were not printed to console when running
backstage-repo-tools schema openapi generatewithout the--watchflag. - e643ee4: Add missing highlight language for the
package-docscommand. - c83cd8b: Fixed some circular or otherwise unclear imports
- a372bf1: Updated dependency
@electric-sql/pgliteto^0.3.0. - Updated dependencies
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/cli-common@0.1.15
- @backstage/cli-node@0.2.13
- @backstage/config-loader@1.10.1
- @backstage/errors@1.2.7
@backstage/plugin-catalog@1.31.0
Minor Changes
-
406acb6: Add support to customize the about card icon links via
EntityIconLinkBlueprintand provide a default catalog view catalog source, launch scaffolder template and read techdocs docs icon links extensions.BREAKING ALPHA
The
Scaffolderlaunch template andTechDocsread documentation icons have been extracted from the defaultCatalogabout card links and are now provided respectively by theScaffolderandTechDocsplugins in the new frontend system. It means that they will not be available unless you install theTechDocsandScaffolderplugins. Also If you are using translation for these icon link titles other than the default, you should now translate them using the scaffolder translation reference or the TechDocs translation reference (the translation keys are still the same,aboutCard.viewTechdocsandaboutCard.launchTemplate). -
ec7b35d: Introduced
backstage.io/techdocs-entity-pathannotation which allows deep linking into another entities TechDocs in conjunction withbackstage.io/techdocs-entity.
Patch Changes
- 18c64e9: Added the
info.packageJsonoption to the plugin instance for the new frontend system. - Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/catalog-client@1.10.1
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/plugin-catalog-react@1.19.0
- @backstage/plugin-techdocs-react@1.3.0
- @backstage/plugin-techdocs-common@0.1.1
- @backstage/plugin-search-react@1.9.1
- @backstage/integration-react@1.2.8
- @backstage/catalog-model@1.7.4
- @backstage/core-compat-api@0.4.3
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
- @backstage/version-bridge@1.0.11
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-permission-react@0.4.35
- @backstage/plugin-scaffolder-common@1.5.11
- @backstage/plugin-search-common@1.2.18
@backstage/plugin-catalog-backend@2.1.0
Minor Changes
- 2e7adf0: Implement the action
get-catalog-entitywith theActionsRegistry
Patch Changes
- 2cac8b0: You can now specify an optional value when applying the
HAS_LABELpermission rule, similar to theHAS_ANNOTATIONpermission rule. - c83cd8b: Fixed some circular or otherwise unclear imports
- 4654a78: Update
refresh_state_references.idto be a big int - Updated dependencies
- @backstage/catalog-client@1.10.1
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/backend-openapi-utils@0.5.4
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/types@1.2.1
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-events-node@0.4.12
- @backstage/plugin-permission-common@0.9.0
- @backstage/plugin-permission-node@0.10.1
@backstage/plugin-catalog-backend-module-bitbucket-cloud@0.5.0
Minor Changes
- 8a150bf: BREAKING:
BitbucketCloudEntityProvidernow accepts aCatalogServiceinstead of aCatalogApi.
Patch Changes
- Updated dependencies
- @backstage/catalog-client@1.10.1
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/integration@1.17.0
- @backstage/plugin-bitbucket-cloud-common@0.3.0
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-events-node@0.4.12
@backstage/plugin-catalog-backend-module-bitbucket-server@0.5.0
Minor Changes
- eb8b3aa: Add validateLocationsExist option to avoid generating locations for catalog-info.yaml files that do not exist in the source repository.
Patch Changes
- Updated dependencies
- @backstage/catalog-client@1.10.1
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-events-node@0.4.12
@backstage/plugin-catalog-backend-module-github@0.10.0
Minor Changes
- 7c0dfb0: GitHub organization now matches in a case-insensitive manner when processing events.
Patch Changes
- Updated dependencies
- @backstage/catalog-client@1.10.1
- @backstage/plugin-catalog-backend@2.1.0
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/integration@1.17.0
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-events-node@0.4.12
@backstage/plugin-catalog-backend-module-gitlab@0.7.0
Minor Changes
- 42bb3b8: BREAKING CHANGE: User and Group discovery will default to ingesting all users in sub groups that belong to the specified root group in config. Disable by setting
restrictUsersToGroup: truein app-config under your module settings.
Patch Changes
- 57a0bad: Implement retry for GitLab API calls to handle rate limiting
- Updated dependencies
- @backstage/backend-defaults@0.11.0
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/integration@1.17.0
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-events-node@0.4.12
@backstage/plugin-catalog-react@1.19.0
Minor Changes
-
406acb6: Introduces a new
EntityIconLinkBlueprintthat customizes theAboutcard icon links on theCatalogentity page.The blueprint currently accepts a
usePropshook asparamand this function returns the following props that will be passed to the icon link component:Name Description Type Default Value iconThe icon to display. JSX.ElementN/A labelThe label for the element. stringN/A titleThe title for the element. stringN/A disabledWhether the element is disabled. booleanfalsehrefThe URL to navigate to when the element is clicked. stringN/A onClickA function to call when the element is clicked. () => voidN/A Here is an usage example:
import { EntityIconLinkBlueprint } from '@backstage/plugin-catalog-react/alpha';
//...
EntityIconLinkBlueprint.make({
name: 'my-icon-link',
params: {
useProps() {
const { t } = useTranslationRef(myIconLinkTranslationRef);
return {
label: t('myIconLink.label'),
icon: <MyIconLinkIcon />,
href: '/my-plugin',
};
},
},
});Additionally, the
app-config.yamlfile allows you to override some of the default icon link parameters, includinglabelandtitlevalues. Here's how to set them:app:
extensions:
- entity-icon-link:my-plugin/my-icon-link:
config:
label: 'My Custom Icon Link label'Finally, you can disable all links if you want to hide the About card header completely (useful, for example, when links are displayed on separate cards). The header is hidden when no icon links extensions are enabled.
Patch Changes
- Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/catalog-client@1.10.1
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/integration-react@1.2.8
- @backstage/catalog-model@1.7.4
- @backstage/core-compat-api@0.4.3
- @backstage/errors@1.2.7
- @backstage/frontend-test-utils@0.3.3
- @backstage/types@1.2.1
- @backstage/version-bridge@1.0.11
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-permission-common@0.9.0
- @backstage/plugin-permission-react@0.4.35
@backstage/plugin-events-backend-module-kafka@0.1.0
Minor Changes
-
b034b9d: Adds a new module
kafkafor plugin-events-backendThe module introduces the
KafkaConsumerClientwhich creates a Kafka client used to establish consumer connections. It also provides theKafkaConsumingEventPublisher, a consumer that subscribes to configured Kafka topics and publishes received messages to the Event Service.
Patch Changes
- Updated dependencies
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/types@1.2.1
- @backstage/plugin-events-node@0.4.12
@backstage/plugin-mcp-actions-backend@0.1.0
Minor Changes
- 4ed0fb6: Initial implementation of an
mcp-actionsbackend
Patch Changes
- Updated dependencies
- @backstage/catalog-client@1.10.1
- @backstage/backend-defaults@0.11.0
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
@backstage/plugin-scaffolder@1.32.0
Minor Changes
- 6c972fe: Added information about the
entityRefandtaskIdto the analytics events whenever is possible. - 3c59ece: New Frontend System Only:
The
Scaffolderplugin is now responsible for providing an entity icon link extension to launch templates from the catalog entity page.
Patch Changes
- d781b33: render details for composite property schemas
- 18c64e9: Added the
info.packageJsonoption to the plugin instance for the new frontend system. - b00c160: Remove React import form notification and scaffolder plugin
- 95a1d72: Added appropriate message when global templating function metadata is absent.
- Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/catalog-client@1.10.1
- @backstage/plugin-scaffolder-react@1.17.0
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/plugin-catalog-react@1.19.0
- @backstage/integration-react@1.2.8
- @backstage/catalog-model@1.7.4
- @backstage/core-compat-api@0.4.3
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/types@1.2.1
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-permission-react@0.4.35
- @backstage/plugin-scaffolder-common@1.5.11
@backstage/plugin-scaffolder-backend-module-github@0.8.0
Minor Changes
-
5863b04: BREAKING CHANGES
The
createGithubEnvironmentActionaction no longer requires anAuthService, and now accepts aCatalogServiceinstead ofCatalogClient.Unless you're providing your own override action to the default, this should be a non-breaking change.
You can migrate using the following if you're getting typescript errors:
import { catalogServiceRef } from '@backstage/plugin-catalog-node';
import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node/alpha';
export const myModule = createBackendModule({
pluginId: 'scaffolder',
moduleId: 'test',
register({ registerInit }) {
registerInit({
deps: {
scaffolder: scaffolderActionsExtensionPoint,
catalog: catalogServiceRef,
},
async init({ scaffolder, catalog }) {
scaffolder.addActions(
createGithubEnvironmentAction({
catalog,
}),
);
},
});
},
});
Patch Changes
- 575c76b: Migrate to using new actions
- Updated dependencies
- @backstage/plugin-scaffolder-node@0.9.0
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/types@1.2.1
@backstage/plugin-scaffolder-node@0.9.0
Minor Changes
-
5863b04: BREAKING CHANGES
The legacy methods to define
createTemplateActionshave been replaced with the new nativezodapproaches for defining input and output schemas.You can migrate actions that look like the following with the below examples:
// really old legacy json schema
createTemplateAction<{ repoUrl: string }, { repoOutput: string }>({
id: 'test',
schema: {
input: {
type: 'object'
required: ['repoUrl']
properties: {
repoUrl: {
type: 'string',
description: 'repository url description'
}
}
}
}
});
// old zod method
createTemplateAction({
id: 'test'
schema: {
input: {
repoUrl: z.string({ description: 'repository url description' })
}
}
})
// new method:
createTemplateAction({
id: 'test',
schema: {
input: {
repoUrl: z => z.string({ description: 'repository url description' })
}
}
})
// or for more complex zod types like unions
createTemplateAction({
id: 'test',
schema: {
input: z => z.object({
repoUrl: z.string({ description: 'repository url description' })
})
}
})This breaking change also means that
logStreamhas been removed entirely fromActionsContext, and that theloggeris now just aLoggerServiceimplementation instead. There is no replacement for thelogStream, if you wish to still keep using alogStreamwe recommend that you create your own stream that writes toctx.loggerinstead.
Patch Changes
- e89d7b6: Use
LoggerServiceinstead ofLogger. This is a non-breaking change, as theLoggerServiceis a subset of theLoggerinterface. - 9c8ff0c: Update pull request creation filter to include .gitignore files in the created pull request
- Updated dependencies
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/types@1.2.1
- @backstage/plugin-scaffolder-common@1.5.11
@backstage/plugin-scaffolder-node-test-utils@0.3.0
Minor Changes
-
3cea7ee: BREAKING CHANGES
Because of the removal of the
logStreamproperty to theActionsContextthis has been removed from thecreateMockActionContextmethod.You can remove this as it's no longer supported in the scaffolder actions.
Patch Changes
- Updated dependencies
- @backstage/plugin-scaffolder-node@0.9.0
- @backstage/backend-test-utils@1.6.0
- @backstage/backend-plugin-api@1.4.0
- @backstage/types@1.2.1
@backstage/plugin-scaffolder-react@1.17.0
Minor Changes
- 6c972fe: Added information about the
entityRefandtaskIdto the analytics events whenever is possible.
Patch Changes
- Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/catalog-client@1.10.1
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/plugin-catalog-react@1.19.0
- @backstage/catalog-model@1.7.4
- @backstage/theme@0.6.6
- @backstage/types@1.2.1
- @backstage/version-bridge@1.0.11
- @backstage/plugin-permission-react@0.4.35
- @backstage/plugin-scaffolder-common@1.5.11
@backstage/plugin-techdocs@1.13.0
Minor Changes
- 3c59ece: New Frontend System Only:
The
TechDocsplugin is now responsible for providing an entity icon link extension to read documentation from the catalog entity page. - ec7b35d: Introduced
backstage.io/techdocs-entity-pathannotation which allows deep linking into another entities TechDocs in conjunction withbackstage.io/techdocs-entity.
Patch Changes
- 18c64e9: Added the
info.packageJsonoption to the plugin instance for the new frontend system. - 9dde3ba: Improved Keyboard accessibility in techdocs.
- Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/catalog-client@1.10.1
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/plugin-catalog-react@1.19.0
- @backstage/plugin-techdocs-react@1.3.0
- @backstage/plugin-techdocs-common@0.1.1
- @backstage/plugin-search-react@1.9.1
- @backstage/integration-react@1.2.8
- @backstage/plugin-auth-react@0.1.16
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/core-compat-api@0.4.3
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/theme@0.6.6
- @backstage/plugin-search-common@1.2.18
@backstage/plugin-techdocs-react@1.3.0
Minor Changes
- ec7b35d: Introduced
backstage.io/techdocs-entity-pathannotation which allows deep linking into another entities TechDocs in conjunction withbackstage.io/techdocs-entity.
Patch Changes
- Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/plugin-techdocs-common@0.1.1
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/version-bridge@1.0.11
@backstage/app-defaults@1.6.3
Patch Changes
- Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/core-plugin-api@1.10.8
- @backstage/core-app-api@1.17.1
- @backstage/theme@0.6.6
- @backstage/plugin-permission-react@0.4.35
@backstage/backend-app-api@1.2.4
Patch Changes
- bb9a501: Fixed a bug where occasionally the initialization order of multiple modules consuming a single extension point could happen in the wrong order.
- Updated dependencies
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
@backstage/backend-dynamic-feature-service@0.7.1
Patch Changes
- c83cd8b: Fixed some circular or otherwise unclear imports
- Updated dependencies
- @backstage/backend-defaults@0.11.0
- @backstage/plugin-scaffolder-node@0.9.0
- @backstage/plugin-catalog-backend@2.1.0
- @backstage/plugin-events-backend@0.5.3
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/backend-openapi-utils@0.5.4
- @backstage/cli-common@0.1.15
- @backstage/cli-node@0.2.13
- @backstage/config@1.3.2
- @backstage/config-loader@1.10.1
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
- @backstage/plugin-app-node@0.1.34
- @backstage/plugin-events-node@0.4.12
- @backstage/plugin-permission-common@0.9.0
- @backstage/plugin-permission-node@0.10.1
- @backstage/plugin-search-backend-node@1.3.12
- @backstage/plugin-search-common@1.2.18
@backstage/backend-openapi-utils@0.5.4
Patch Changes
- Updated dependencies
- @backstage/backend-plugin-api@1.4.0
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
@backstage/catalog-client@1.10.1
Patch Changes
- 22fad0d: Fixed
CatalogClienterror responses forrefreshEntityandaddLocation. - Updated dependencies
- @backstage/catalog-model@1.7.4
- @backstage/errors@1.2.7
@backstage/core-app-api@1.17.1
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.10.8
- @backstage/config@1.3.2
- @backstage/types@1.2.1
- @backstage/version-bridge@1.0.11
@backstage/core-compat-api@0.4.3
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/plugin-catalog-react@1.19.0
- @backstage/version-bridge@1.0.11
@backstage/core-components@0.17.3
Patch Changes
- 6232160: table actions header support i18n
- Updated dependencies
- @backstage/core-plugin-api@1.10.8
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/theme@0.6.6
- @backstage/version-bridge@1.0.11
@backstage/core-plugin-api@1.10.8
Patch Changes
- c83cd8b: Fixed some circular or otherwise unclear imports
- 0169b23: Internal tweak to avoid circular dependencies
- Updated dependencies
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
- @backstage/version-bridge@1.0.11
@backstage/dev-utils@1.1.11
Patch Changes
- Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/core-plugin-api@1.10.8
- @backstage/plugin-catalog-react@1.19.0
- @backstage/app-defaults@1.6.3
- @backstage/integration-react@1.2.8
- @backstage/catalog-model@1.7.4
- @backstage/core-app-api@1.17.1
- @backstage/theme@0.6.6
@backstage/eslint-plugin@0.1.11
Patch Changes
-
098ef95: Fix custom rules package scanning performance.
-
063b2d3: Added new eslint rule to restrict mixed plugin imports.
New rule
@backstage/no-mixed-plugin-importsdisallows mixed imports between plugins that are mixing the backstage architecture. This rule forces that:- No imports from frontend plugins to backend plugins or other frontend plugins.
- No imports from backend plugins to frontend plugins or other backend plugins.
- No imports from common plugins to frontend or backend plugins.
The current recommended configuration is giving a warning for mixed imports. This is to be changed in the future to an error so please adjust your workspace accordingly.
@backstage/frontend-app-api@0.11.3
Patch Changes
- 0169b23: Internal tweak to avoid circular dependencies
- c38c9e8: Implemented support for the
plugin.info()method in specialized apps with a default resolved forpackage.jsonandcatalog-info.yaml. The default resolution logic can be overridden via thepluginInfoResolveroption tocreateSpecializedApp, and plugin-specific overrides can be applied via the newapp.pluginOverrideskey in static configuration. - Updated dependencies
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/frontend-defaults@0.2.3
- @backstage/config@1.3.2
- @backstage/core-app-api@1.17.1
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
- @backstage/version-bridge@1.0.11
@backstage/frontend-defaults@0.2.3
Patch Changes
- fa5650c: Forwarded the new
pluginInfoResolveroption forcreateApp. - Updated dependencies
- @backstage/plugin-app@0.1.10
- @backstage/frontend-plugin-api@0.10.3
- @backstage/frontend-app-api@0.11.3
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
@backstage/frontend-dynamic-feature-loader@0.1.2
Patch Changes
- Updated dependencies
- @backstage/frontend-plugin-api@0.10.3
- @backstage/config@1.3.2
@backstage/frontend-plugin-api@0.10.3
Patch Changes
-
0169b23: Internal tweak to avoid circular dependencies
-
9e3868f: Added a new optional
infooption tocreateFrontendPluginthat lets you provide a loaders for different sources of metadata information about the plugin.There are two available loaders. The first one is
info.packageJson, which can be used to point to apackage.jsonfile for the plugin. This is recommended for any plugin that is defined within its own package, especially all plugins that are published to a package registry. Typical usage looks like this:export default createFrontendPlugin({
pluginId: '...',
info: {
packageJson: () => import('../package.json'),
},
});The second loader is
info.manifest, which can be used to point to an opaque plugin manifest. This MUST ONLY be used by plugins that are intended for use within a single organization. Plugins that are published to an open package registry should NOT use this loader. The loader is useful for adding additional internal metadata associated with the plugin, and it is up to the Backstage app to decide how these manifests are parsed and used. The default manifest parser in an app created withcreateAppfrom@backstage/frontend-defaultsis able to parse the defaultcatalog-info.yamlformat and built-in fields such asspec.owner.Typical usage looks like this:
export default createFrontendPlugin({
pluginId: '...',
info: {
manifest: () => import('../catalog-info.yaml'),
},
}); -
6f48f71: Added a new
useAppNodehook, which can be used to get a reference to theAppNodefrom by the closestExtensionBoundary. -
Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/core-plugin-api@1.10.8
- @backstage/types@1.2.1
- @backstage/version-bridge@1.0.11
@backstage/frontend-test-utils@0.3.3
Patch Changes
- Updated dependencies
- @backstage/plugin-app@0.1.10
- @backstage/frontend-plugin-api@0.10.3
- @backstage/frontend-app-api@0.11.3
- @backstage/config@1.3.2
- @backstage/test-utils@1.7.9
- @backstage/types@1.2.1
- @backstage/version-bridge@1.0.11
@backstage/integration-react@1.2.8
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.10.8
- @backstage/config@1.3.2
- @backstage/integration@1.17.0
@techdocs/cli@1.9.4
Patch Changes
- Updated dependencies
- @backstage/backend-defaults@0.11.0
- @backstage/catalog-model@1.7.4
- @backstage/cli-common@0.1.15
- @backstage/config@1.3.2
- @backstage/plugin-techdocs-node@1.13.4
@backstage/test-utils@1.7.9
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.10.8
- @backstage/config@1.3.2
- @backstage/core-app-api@1.17.1
- @backstage/theme@0.6.6
- @backstage/types@1.2.1
- @backstage/plugin-permission-common@0.9.0
- @backstage/plugin-permission-react@0.4.35
@backstage/plugin-api-docs@0.12.8
Patch Changes
- 18c64e9: Added the
info.packageJsonoption to the plugin instance for the new frontend system. - Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/plugin-catalog@1.31.0
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/plugin-catalog-react@1.19.0
- @backstage/catalog-model@1.7.4
- @backstage/core-compat-api@0.4.3
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-permission-react@0.4.35
@backstage/plugin-app@0.1.10
Patch Changes
- 18c64e9: Added the
info.packageJsonoption to the plugin instance for the new frontend system. - Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
- @backstage/integration-react@1.2.8
- @backstage/theme@0.6.6
- @backstage/types@1.2.1
- @backstage/plugin-permission-react@0.4.35
@backstage/plugin-app-backend@0.5.3
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/config-loader@1.10.1
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
- @backstage/plugin-app-node@0.1.34
@backstage/plugin-app-node@0.1.34
Patch Changes
- Updated dependencies
- @backstage/backend-plugin-api@1.4.0
- @backstage/config-loader@1.10.1
@backstage/plugin-app-visualizer@0.1.20
Patch Changes
- 18c64e9: Added the
info.packageJsonoption to the plugin instance for the new frontend system. - Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/core-plugin-api@1.10.8
- @backstage/frontend-plugin-api@0.10.3
@backstage/plugin-auth-backend@0.25.1
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-node@1.17.1
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
@backstage/plugin-auth-backend-module-atlassian-provider@0.4.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-auth0-provider@0.2.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-aws-alb-provider@0.4.4
Patch Changes
- c83cd8b: Fixed some circular or otherwise unclear imports
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/errors@1.2.7
- @backstage/plugin-auth-backend@0.25.1
@backstage/plugin-auth-backend-module-azure-easyauth-provider@0.2.9
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/errors@1.2.7
@backstage/plugin-auth-backend-module-bitbucket-provider@0.3.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-bitbucket-server-provider@0.2.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-cloudflare-access-provider@0.4.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
@backstage/plugin-auth-backend-module-gcp-iap-provider@0.4.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
@backstage/plugin-auth-backend-module-github-provider@0.3.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-gitlab-provider@0.3.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-google-provider@0.3.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-guest-provider@0.2.9
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/errors@1.2.7
@backstage/plugin-auth-backend-module-microsoft-provider@0.3.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-oauth2-provider@0.4.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.2.9
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/errors@1.2.7
@backstage/plugin-auth-backend-module-oidc-provider@0.4.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/types@1.2.1
- @backstage/plugin-auth-backend@0.25.1
@backstage/plugin-auth-backend-module-okta-provider@0.2.4
Patch Changes
- b25977f: Updated dependency
@davidzemon/passport-okta-oauthto^0.0.6. - Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-onelogin-provider@0.3.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
@backstage/plugin-auth-backend-module-pinniped-provider@0.3.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/types@1.2.1
@backstage/plugin-auth-backend-module-vmware-cloud-provider@0.5.4
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.6.4
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
@backstage/plugin-auth-node@0.6.4
Patch Changes
- 0169b23: Internal tweak to avoid circular dependencies
- Updated dependencies
- @backstage/catalog-client@1.10.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/types@1.2.1
@backstage/plugin-auth-react@0.1.16
Patch Changes
- Updated dependencies
- @backstage/core-components@0.17.3
- @backstage/core-plugin-api@1.10.8
- @backstage/errors@1.2.7
@backstage/plugin-catalog-backend-module-aws@0.4.12
Patch Changes
- Updated dependencies
- @backstage/backend-defaults@0.11.0
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/integration-aws-node@0.1.16
- @backstage/plugin-catalog-common@1.1.4
- @backstage/plugin-kubernetes-common@0.9.5
@backstage/plugin-catalog-backend-module-azure@0.3.6
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/integration@1.17.0
- @backstage/plugin-catalog-common@1.1.4
@backstage/plugin-catalog-backend-module-backstage-openapi@0.5.3
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/backend-openapi-utils@0.5.4
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
@backstage/plugin-catalog-backend-module-gcp@0.3.9
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/catalog-model@1.7.4
- @backstage/config@1.3.2
- @backstage/plugin-kubernetes-common@0.9.5
@backstage/plugin-catalog-backend-module-gerrit@0.3.3
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-node@1.17.1
- @backstage/backend-plugin-api@1.4.0
- @backstage/config@1.3.2
- @backstage/errors@1.2.7
- @backstage/integration@1.17.0
- @backstage/plugin-catalog-common@1.1.4