Merge branch 'master' into feat/add-devtools-extension

This commit is contained in:
secustor
2025-10-22 22:01:55 +02:00
1082 changed files with 45149 additions and 28111 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Adjusted the log line wording of task worker starting
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
The templates executed with the `yarn new` command now supports templating filenames.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Internal refactor to remove remnants of the old backend system
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-search-backend-module-pg': patch
---
Truncate long docs to fit PG index size limit
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Log before provider-orphaning eviction happens
@@ -1,5 +0,0 @@
---
'@backstage/plugin-mui-to-bui': minor
---
This is the first release of the Material UI to Backstage UI migration helper plugin. It adds a new page at `/mui-to-bui` that converts an existing MUI v5 theme into Backstage UI (BUI) CSS variables, with live preview and copy/download.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-defaults': minor
---
implement support for direct url for AzureBlobStorageUrlReader search function
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/ui': patch
---
remove default selection of tab
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Fix for duplicate search results in entity-facets API call
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-graph': patch
---
Add missing API implementation for catalog graph plugin in NFS apps.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-react': patch
---
Don't change loading to false until we've actually got some log state
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-react': patch
---
Correct translation key from "type" to "owner" for owner column in entity table to ensure the right translation is loaded.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/backend-test-utils': minor
---
Added support for Postgres 18 to the available `TestDatabases`.
Note that the set of _default_ databases to test against for users of the `TestDatabases` class was also updated to include Postgres 14 and 18, instead of 13 and 17. If you need to override this, you can pass in an explicit `ids` argument, for example `ids: ['POSTGRES_17', 'POSTGRES_13', 'SQLITE_3']`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/dev-utils': patch
---
Fixed styling of the dev app by adding a lazy import of `@backstage/ui/css/styles.css`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kubernetes-react': patch
---
The configmaps added to be rendered
-25
View File
@@ -1,25 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Moved catalog processor and provider disabling and priorities under own config objects.
This is due to issue with some existing providers, such as GitHub, using array syntax for the provider configuration.
The new config format is not backwards compatible, so users will need to update their config files. The new format
is as follows:
```yaml
catalog:
providerOptions:
providerA:
disabled: false
providerB:
disabled: true
processorOptions:
processorA:
disabled: false
priority: 10
processorB:
disabled: true
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Swap base token for semantic token in ItemCardHeader to ensure readability in light mode.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Fix default text color in Backstage UI
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/integration': patch
---
remove host from azure blob storage integration type
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-notifications-backend-module-email': patch
---
Updated `AWS SES` client to version 2 to support `nodemailer` version 7.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-org': patch
---
Add `initialRelationAggregation` and `showAggregateMembersToggle` options to `EntityMembersListCard` as well to `EntityOwnershipCard`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-react': patch
---
Fixed a bug in the Scaffolder's template parsing in the `useTemplateSchema` hook by removing the title instead of setting it to `undefined`
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-notifications-backend-module-slack': minor
---
Adds username as optional config in order to send Slack notifications with a specific username in the case when using one Slack App for more than just Backstage.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Fixed module federation config by only setting `import: false` on shared libraries for remote.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend-module-gcp': patch
---
Fix documentation strings to mention GCP instead of Azure
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kubernetes-common': patch
---
Make SERVICEACCOUNT_CA_PATH public so it can be imported by external modules.
-18
View File
@@ -1,18 +0,0 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket-server': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket-cloud': patch
'@backstage/plugin-scaffolder-backend-module-notifications': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket': patch
'@backstage/plugin-scaffolder-backend-module-gerrit': patch
'@backstage/plugin-scaffolder-backend-module-github': patch
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
'@backstage/plugin-scaffolder-backend-module-sentry': patch
'@backstage/plugin-scaffolder-backend-module-yeoman': patch
'@backstage/plugin-scaffolder-backend-module-azure': patch
'@backstage/plugin-scaffolder-backend-module-gitea': patch
'@backstage/plugin-scaffolder-backend-module-rails': patch
---
Updating import for the `scaffolderActionsExtensionPoint` to be the main export
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Added a template for the `yarn new` command to create an catalog entity provider. To add this template to an explicit list in the root `package.json`, use `@backstage/cli/templates/catalog-provider-module`.
-19
View File
@@ -1,19 +0,0 @@
---
'@backstage/cli': patch
---
Added a new `--entrypoint` option to the `package start` command, which allows you to specify a custom entry directory/file for development applications. This is particularly useful when maintaining separate dev apps for different versions of your plugin (e.g., stable and alpha).
**Example usage:**
Consider the following plugin dev folder structure:
```
dev/
index.tsx
alpha/
index.ts
```
- The default `yarn package start` command uses the `dev/` folder as the entry point and executes `dev/index.tsx` file;
- Running `yarn package start --entrypoint dev/alpha` will instead use `dev/alpha/` as the entry point and execute `dev/alpha/index.ts` file.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/ui': patch
---
Enable tooltips on disabled buttons with automatic wrapper
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-search-backend-module-pg': patch
---
Added the < character to the query filter regexp
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs': patch
---
Fixed an issue where the entire TechDocs page would re-render when navigating between pages within the same entity's documentation.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Fix the default font size in Backstage UI.
+208 -234
View File
@@ -2,256 +2,230 @@
"mode": "pre",
"tag": "next",
"initialVersions": {
"example-app": "0.2.113",
"@backstage/app-defaults": "1.7.0",
"example-app-next": "0.0.27",
"app-next-example-plugin": "0.0.27",
"example-backend": "0.0.42",
"@backstage/backend-app-api": "1.2.7",
"@backstage/backend-defaults": "0.12.1",
"example-app": "0.2.114",
"@backstage/app-defaults": "1.7.1",
"example-app-next": "0.0.28",
"app-next-example-plugin": "0.0.28",
"example-backend": "0.0.43",
"@backstage/backend-app-api": "1.2.8",
"@backstage/backend-defaults": "0.13.0",
"@backstage/backend-dev-utils": "0.1.5",
"@backstage/backend-dynamic-feature-service": "0.7.4",
"@backstage/backend-openapi-utils": "0.6.1",
"@backstage/backend-plugin-api": "1.4.3",
"@backstage/backend-test-utils": "1.9.0",
"@backstage/backend-dynamic-feature-service": "0.7.5",
"@backstage/backend-openapi-utils": "0.6.2",
"@backstage/backend-plugin-api": "1.4.4",
"@backstage/backend-test-utils": "1.9.1",
"@backstage/catalog-client": "1.12.0",
"@backstage/catalog-model": "1.7.5",
"@backstage/cli": "0.34.2",
"@backstage/cli": "0.34.4",
"@backstage/cli-common": "0.1.15",
"@backstage/cli-node": "0.2.14",
"@backstage/codemods": "0.1.52",
"@backstage/config": "1.3.3",
"@backstage/config-loader": "1.10.3",
"@backstage/core-app-api": "1.19.0",
"@backstage/core-compat-api": "0.5.2",
"@backstage/core-components": "0.18.0",
"@backstage/core-plugin-api": "1.11.0",
"@backstage/create-app": "0.7.4",
"@backstage/dev-utils": "1.1.14",
"e2e-test": "0.2.32",
"@backstage/config": "1.3.5",
"@backstage/config-loader": "1.10.5",
"@backstage/core-app-api": "1.19.1",
"@backstage/core-compat-api": "0.5.3",
"@backstage/core-components": "0.18.2",
"@backstage/core-plugin-api": "1.11.1",
"@backstage/create-app": "0.7.5",
"@backstage/dev-utils": "1.1.15",
"e2e-test": "0.2.33",
"@backstage/e2e-test-utils": "0.1.1",
"@backstage/errors": "1.2.7",
"@backstage/eslint-plugin": "0.1.11",
"@backstage/frontend-app-api": "0.13.0",
"@backstage/frontend-defaults": "0.3.1",
"@backstage/frontend-dynamic-feature-loader": "0.1.5",
"@internal/frontend": "0.0.13",
"@backstage/frontend-plugin-api": "0.12.0",
"@backstage/frontend-test-utils": "0.3.6",
"@backstage/integration": "1.18.0",
"@backstage/integration-aws-node": "0.1.17",
"@backstage/integration-react": "1.2.10",
"@backstage/eslint-plugin": "0.1.12",
"@backstage/frontend-app-api": "0.13.1",
"@backstage/frontend-defaults": "0.3.2",
"@backstage/frontend-dynamic-feature-loader": "0.1.6",
"@internal/frontend": "0.0.14",
"@backstage/frontend-plugin-api": "0.12.1",
"@backstage/frontend-test-utils": "0.4.0",
"@backstage/integration": "1.18.1",
"@backstage/integration-aws-node": "0.1.18",
"@backstage/integration-react": "1.2.11",
"@internal/opaque": "0.0.1",
"@backstage/release-manifests": "0.0.13",
"@backstage/repo-tools": "0.15.2",
"@internal/scaffolder": "0.0.13",
"@techdocs/cli": "1.9.8",
"techdocs-cli-embedded-app": "0.2.112",
"@backstage/test-utils": "1.7.11",
"@backstage/theme": "0.6.8",
"@backstage/repo-tools": "0.15.3",
"@internal/scaffolder": "0.0.14",
"@techdocs/cli": "1.10.0",
"techdocs-cli-embedded-app": "0.2.113",
"@backstage/test-utils": "1.7.12",
"@backstage/theme": "0.7.0",
"@backstage/types": "1.2.2",
"@backstage/ui": "0.7.1",
"@backstage/ui": "0.8.0",
"@backstage/version-bridge": "1.0.11",
"yarn-plugin-backstage": "0.0.7",
"@backstage/plugin-api-docs": "0.12.11",
"@backstage/plugin-api-docs": "0.13.0",
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.10",
"@backstage/plugin-app": "0.3.0",
"@backstage/plugin-app-backend": "0.5.6",
"@backstage/plugin-app-node": "0.1.37",
"@backstage/plugin-app-visualizer": "0.1.23",
"@backstage/plugin-auth": "0.1.0",
"@backstage/plugin-auth-backend": "0.25.4",
"@backstage/plugin-auth-backend-module-atlassian-provider": "0.4.7",
"@backstage/plugin-auth-backend-module-auth0-provider": "0.2.7",
"@backstage/plugin-auth-backend-module-aws-alb-provider": "0.4.7",
"@backstage/plugin-auth-backend-module-azure-easyauth-provider": "0.2.12",
"@backstage/plugin-auth-backend-module-bitbucket-provider": "0.3.7",
"@backstage/plugin-auth-backend-module-bitbucket-server-provider": "0.2.7",
"@backstage/plugin-auth-backend-module-cloudflare-access-provider": "0.4.7",
"@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.4.7",
"@backstage/plugin-auth-backend-module-github-provider": "0.3.7",
"@backstage/plugin-auth-backend-module-gitlab-provider": "0.3.7",
"@backstage/plugin-auth-backend-module-google-provider": "0.3.7",
"@backstage/plugin-auth-backend-module-guest-provider": "0.2.12",
"@backstage/plugin-auth-backend-module-microsoft-provider": "0.3.7",
"@backstage/plugin-auth-backend-module-oauth2-provider": "0.4.7",
"@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.2.12",
"@backstage/plugin-auth-backend-module-oidc-provider": "0.4.7",
"@backstage/plugin-auth-backend-module-okta-provider": "0.2.7",
"@backstage/plugin-auth-backend-module-onelogin-provider": "0.3.7",
"@backstage/plugin-auth-backend-module-openshift-provider": "0.1.0",
"@backstage/plugin-auth-backend-module-pinniped-provider": "0.3.7",
"@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.5.7",
"@backstage/plugin-auth-node": "0.6.7",
"@backstage/plugin-auth-react": "0.1.19",
"@backstage/plugin-bitbucket-cloud-common": "0.3.2",
"@backstage/plugin-catalog": "1.31.3",
"@backstage/plugin-catalog-backend": "3.1.0",
"@backstage/plugin-catalog-backend-module-aws": "0.4.15",
"@backstage/plugin-catalog-backend-module-azure": "0.3.9",
"@backstage/plugin-catalog-backend-module-backstage-openapi": "0.5.6",
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.5.3",
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.5.3",
"@backstage/plugin-catalog-backend-module-gcp": "0.3.12",
"@backstage/plugin-catalog-backend-module-gerrit": "0.3.6",
"@backstage/plugin-catalog-backend-module-gitea": "0.1.4",
"@backstage/plugin-catalog-backend-module-github": "0.11.0",
"@backstage/plugin-catalog-backend-module-github-org": "0.3.14",
"@backstage/plugin-catalog-backend-module-gitlab": "0.7.3",
"@backstage/plugin-catalog-backend-module-gitlab-org": "0.2.13",
"@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.7.4",
"@backstage/plugin-catalog-backend-module-ldap": "0.11.9",
"@backstage/plugin-catalog-backend-module-logs": "0.1.14",
"@backstage/plugin-catalog-backend-module-msgraph": "0.8.0",
"@backstage/plugin-catalog-backend-module-openapi": "0.2.14",
"@backstage/plugin-catalog-backend-module-puppetdb": "0.2.14",
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.2.12",
"@backstage/plugin-catalog-backend-module-unprocessed": "0.6.4",
"@backstage/plugin-catalog-common": "1.1.5",
"@backstage/plugin-catalog-graph": "0.5.0",
"@backstage/plugin-catalog-import": "0.13.5",
"@backstage/plugin-catalog-node": "1.19.0",
"@backstage/plugin-catalog-react": "1.21.0",
"@backstage/plugin-catalog-unprocessed-entities": "0.2.21",
"@backstage/plugin-catalog-unprocessed-entities-common": "0.0.9",
"@backstage/plugin-config-schema": "0.1.72",
"@backstage/plugin-devtools": "0.1.31",
"@backstage/plugin-devtools-backend": "0.5.9",
"@backstage/plugin-devtools-common": "0.1.17",
"@backstage/plugin-events-backend": "0.5.6",
"@backstage/plugin-events-backend-module-aws-sqs": "0.4.15",
"@backstage/plugin-events-backend-module-azure": "0.2.24",
"@backstage/plugin-events-backend-module-bitbucket-cloud": "0.2.24",
"@backstage/plugin-events-backend-module-bitbucket-server": "0.1.5",
"@backstage/plugin-events-backend-module-gerrit": "0.2.24",
"@backstage/plugin-events-backend-module-github": "0.4.4",
"@backstage/plugin-events-backend-module-gitlab": "0.3.5",
"@backstage/plugin-events-backend-module-google-pubsub": "0.1.4",
"@backstage/plugin-events-backend-module-kafka": "0.1.3",
"@backstage/plugin-events-backend-test-utils": "0.1.48",
"@backstage/plugin-events-node": "0.4.15",
"@internal/plugin-todo-list": "1.0.43",
"@internal/plugin-todo-list-backend": "1.0.43",
"@internal/plugin-todo-list-common": "1.0.26",
"@backstage/plugin-gateway-backend": "1.0.5",
"@backstage/plugin-home": "0.8.12",
"@backstage/plugin-home-react": "0.1.30",
"@backstage/plugin-kubernetes": "0.12.11",
"@backstage/plugin-kubernetes-backend": "0.20.2",
"@backstage/plugin-kubernetes-cluster": "0.0.29",
"@backstage/plugin-kubernetes-common": "0.9.6",
"@backstage/plugin-kubernetes-node": "0.3.4",
"@backstage/plugin-kubernetes-react": "0.5.11",
"@backstage/plugin-mcp-actions-backend": "0.1.3",
"@backstage/plugin-notifications": "0.5.9",
"@backstage/plugin-notifications-backend": "0.5.10",
"@backstage/plugin-notifications-backend-module-email": "0.3.13",
"@backstage/plugin-notifications-backend-module-slack": "0.1.5",
"@backstage/plugin-notifications-common": "0.1.0",
"@backstage/plugin-notifications-node": "0.2.19",
"@backstage/plugin-org": "0.6.44",
"@backstage/plugin-org-react": "0.1.42",
"@backstage/plugin-permission-backend": "0.7.4",
"@backstage/plugin-permission-backend-module-allow-all-policy": "0.2.12",
"@backstage/plugin-permission-common": "0.9.1",
"@backstage/plugin-permission-node": "0.10.4",
"@backstage/plugin-permission-react": "0.4.36",
"@backstage/plugin-proxy-backend": "0.6.6",
"@backstage/plugin-proxy-node": "0.1.8",
"@backstage/plugin-scaffolder": "1.34.1",
"@backstage/plugin-scaffolder-backend": "2.2.1",
"@backstage/plugin-scaffolder-backend-module-azure": "0.2.13",
"@backstage/plugin-scaffolder-backend-module-bitbucket": "0.3.14",
"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "0.2.13",
"@backstage/plugin-scaffolder-backend-module-bitbucket-server": "0.2.13",
"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.3.13",
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.3.15",
"@backstage/plugin-scaffolder-backend-module-gcp": "0.2.13",
"@backstage/plugin-scaffolder-backend-module-gerrit": "0.2.13",
"@backstage/plugin-scaffolder-backend-module-gitea": "0.2.13",
"@backstage/plugin-scaffolder-backend-module-github": "0.9.0",
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.9.5",
"@backstage/plugin-scaffolder-backend-module-notifications": "0.1.14",
"@backstage/plugin-scaffolder-backend-module-rails": "0.5.13",
"@backstage/plugin-scaffolder-backend-module-sentry": "0.2.13",
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.4.14",
"@backstage/plugin-scaffolder-common": "1.7.1",
"@backstage/plugin-scaffolder-node": "0.11.1",
"@backstage/plugin-scaffolder-node-test-utils": "0.3.3",
"@backstage/plugin-scaffolder-react": "1.19.1",
"@backstage/plugin-search": "1.4.30",
"@backstage/plugin-search-backend": "2.0.6",
"@backstage/plugin-search-backend-module-catalog": "0.3.8",
"@backstage/plugin-search-backend-module-elasticsearch": "1.7.6",
"@backstage/plugin-search-backend-module-explore": "0.3.7",
"@backstage/plugin-search-backend-module-pg": "0.5.48",
"@backstage/plugin-search-backend-module-stack-overflow-collator": "0.3.13",
"@backstage/plugin-search-backend-module-techdocs": "0.4.6",
"@backstage/plugin-search-backend-node": "1.3.15",
"@backstage/plugin-search-common": "1.2.19",
"@backstage/plugin-search-react": "1.9.4",
"@backstage/plugin-signals": "0.0.23",
"@backstage/plugin-signals-backend": "0.3.8",
"@backstage/plugin-signals-node": "0.1.24",
"@backstage/plugin-signals-react": "0.0.15",
"@backstage/plugin-techdocs": "1.15.0",
"@backstage/plugin-techdocs-addons-test-utils": "1.1.0",
"@backstage/plugin-techdocs-backend": "2.1.0",
"@backstage/plugin-app": "0.3.1",
"@backstage/plugin-app-backend": "0.5.7",
"@backstage/plugin-app-node": "0.1.38",
"@backstage/plugin-app-visualizer": "0.1.24",
"@backstage/plugin-auth": "0.1.1",
"@backstage/plugin-auth-backend": "0.25.5",
"@backstage/plugin-auth-backend-module-atlassian-provider": "0.4.8",
"@backstage/plugin-auth-backend-module-auth0-provider": "0.2.8",
"@backstage/plugin-auth-backend-module-aws-alb-provider": "0.4.8",
"@backstage/plugin-auth-backend-module-azure-easyauth-provider": "0.2.13",
"@backstage/plugin-auth-backend-module-bitbucket-provider": "0.3.8",
"@backstage/plugin-auth-backend-module-bitbucket-server-provider": "0.2.8",
"@backstage/plugin-auth-backend-module-cloudflare-access-provider": "0.4.8",
"@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.4.8",
"@backstage/plugin-auth-backend-module-github-provider": "0.3.8",
"@backstage/plugin-auth-backend-module-gitlab-provider": "0.3.8",
"@backstage/plugin-auth-backend-module-google-provider": "0.3.8",
"@backstage/plugin-auth-backend-module-guest-provider": "0.2.13",
"@backstage/plugin-auth-backend-module-microsoft-provider": "0.3.8",
"@backstage/plugin-auth-backend-module-oauth2-provider": "0.4.8",
"@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.2.13",
"@backstage/plugin-auth-backend-module-oidc-provider": "0.4.8",
"@backstage/plugin-auth-backend-module-okta-provider": "0.2.8",
"@backstage/plugin-auth-backend-module-onelogin-provider": "0.3.8",
"@backstage/plugin-auth-backend-module-openshift-provider": "0.1.1",
"@backstage/plugin-auth-backend-module-pinniped-provider": "0.3.8",
"@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.5.8",
"@backstage/plugin-auth-node": "0.6.8",
"@backstage/plugin-auth-react": "0.1.20",
"@backstage/plugin-bitbucket-cloud-common": "0.3.3",
"@backstage/plugin-catalog": "1.31.4",
"@backstage/plugin-catalog-backend": "3.1.2",
"@backstage/plugin-catalog-backend-module-aws": "0.4.16",
"@backstage/plugin-catalog-backend-module-azure": "0.3.10",
"@backstage/plugin-catalog-backend-module-backstage-openapi": "0.5.7",
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.5.4",
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.5.4",
"@backstage/plugin-catalog-backend-module-gcp": "0.3.13",
"@backstage/plugin-catalog-backend-module-gerrit": "0.3.7",
"@backstage/plugin-catalog-backend-module-gitea": "0.1.5",
"@backstage/plugin-catalog-backend-module-github": "0.11.1",
"@backstage/plugin-catalog-backend-module-github-org": "0.3.15",
"@backstage/plugin-catalog-backend-module-gitlab": "0.7.4",
"@backstage/plugin-catalog-backend-module-gitlab-org": "0.2.14",
"@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.7.5",
"@backstage/plugin-catalog-backend-module-ldap": "0.11.10",
"@backstage/plugin-catalog-backend-module-logs": "0.1.15",
"@backstage/plugin-catalog-backend-module-msgraph": "0.8.1",
"@backstage/plugin-catalog-backend-module-openapi": "0.2.15",
"@backstage/plugin-catalog-backend-module-puppetdb": "0.2.15",
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.2.13",
"@backstage/plugin-catalog-backend-module-unprocessed": "0.6.5",
"@backstage/plugin-catalog-common": "1.1.6",
"@backstage/plugin-catalog-graph": "0.5.2",
"@backstage/plugin-catalog-import": "0.13.6",
"@backstage/plugin-catalog-node": "1.19.1",
"@backstage/plugin-catalog-react": "1.21.2",
"@backstage/plugin-catalog-unprocessed-entities": "0.2.22",
"@backstage/plugin-catalog-unprocessed-entities-common": "0.0.10",
"@backstage/plugin-config-schema": "0.1.73",
"@backstage/plugin-devtools": "0.1.32",
"@backstage/plugin-devtools-backend": "0.5.10",
"@backstage/plugin-devtools-common": "0.1.18",
"@backstage/plugin-events-backend": "0.5.7",
"@backstage/plugin-events-backend-module-aws-sqs": "0.4.16",
"@backstage/plugin-events-backend-module-azure": "0.2.25",
"@backstage/plugin-events-backend-module-bitbucket-cloud": "0.2.25",
"@backstage/plugin-events-backend-module-bitbucket-server": "0.1.6",
"@backstage/plugin-events-backend-module-gerrit": "0.2.25",
"@backstage/plugin-events-backend-module-github": "0.4.5",
"@backstage/plugin-events-backend-module-gitlab": "0.3.6",
"@backstage/plugin-events-backend-module-google-pubsub": "0.1.5",
"@backstage/plugin-events-backend-module-kafka": "0.1.4",
"@backstage/plugin-events-backend-test-utils": "0.1.49",
"@backstage/plugin-events-node": "0.4.16",
"@internal/plugin-todo-list": "1.0.44",
"@internal/plugin-todo-list-backend": "1.0.44",
"@internal/plugin-todo-list-common": "1.0.27",
"@backstage/plugin-gateway-backend": "1.0.6",
"@backstage/plugin-home": "0.8.13",
"@backstage/plugin-home-react": "0.1.31",
"@backstage/plugin-kubernetes": "0.12.12",
"@backstage/plugin-kubernetes-backend": "0.20.3",
"@backstage/plugin-kubernetes-cluster": "0.0.30",
"@backstage/plugin-kubernetes-common": "0.9.7",
"@backstage/plugin-kubernetes-node": "0.3.5",
"@backstage/plugin-kubernetes-react": "0.5.12",
"@backstage/plugin-mcp-actions-backend": "0.1.4",
"@backstage/plugin-mui-to-bui": "0.2.0",
"@backstage/plugin-notifications": "0.5.10",
"@backstage/plugin-notifications-backend": "0.5.11",
"@backstage/plugin-notifications-backend-module-email": "0.3.14",
"@backstage/plugin-notifications-backend-module-slack": "0.2.0",
"@backstage/plugin-notifications-common": "0.1.1",
"@backstage/plugin-notifications-node": "0.2.20",
"@backstage/plugin-org": "0.6.45",
"@backstage/plugin-org-react": "0.1.43",
"@backstage/plugin-permission-backend": "0.7.5",
"@backstage/plugin-permission-backend-module-allow-all-policy": "0.2.13",
"@backstage/plugin-permission-common": "0.9.2",
"@backstage/plugin-permission-node": "0.10.5",
"@backstage/plugin-permission-react": "0.4.37",
"@backstage/plugin-proxy-backend": "0.6.7",
"@backstage/plugin-proxy-node": "0.1.9",
"@backstage/plugin-scaffolder": "1.34.2",
"@backstage/plugin-scaffolder-backend": "3.0.0",
"@backstage/plugin-scaffolder-backend-module-azure": "0.2.14",
"@backstage/plugin-scaffolder-backend-module-bitbucket": "0.3.15",
"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "0.2.14",
"@backstage/plugin-scaffolder-backend-module-bitbucket-server": "0.2.14",
"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.3.14",
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.3.16",
"@backstage/plugin-scaffolder-backend-module-gcp": "0.2.14",
"@backstage/plugin-scaffolder-backend-module-gerrit": "0.2.14",
"@backstage/plugin-scaffolder-backend-module-gitea": "0.2.14",
"@backstage/plugin-scaffolder-backend-module-github": "0.9.1",
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.9.6",
"@backstage/plugin-scaffolder-backend-module-notifications": "0.1.15",
"@backstage/plugin-scaffolder-backend-module-rails": "0.5.14",
"@backstage/plugin-scaffolder-backend-module-sentry": "0.2.14",
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.4.15",
"@backstage/plugin-scaffolder-common": "1.7.2",
"@backstage/plugin-scaffolder-node": "0.12.0",
"@backstage/plugin-scaffolder-node-test-utils": "0.3.4",
"@backstage/plugin-scaffolder-react": "1.19.2",
"@backstage/plugin-search": "1.4.31",
"@backstage/plugin-search-backend": "2.0.7",
"@backstage/plugin-search-backend-module-catalog": "0.3.9",
"@backstage/plugin-search-backend-module-elasticsearch": "1.7.7",
"@backstage/plugin-search-backend-module-explore": "0.3.8",
"@backstage/plugin-search-backend-module-pg": "0.5.49",
"@backstage/plugin-search-backend-module-stack-overflow-collator": "0.3.14",
"@backstage/plugin-search-backend-module-techdocs": "0.4.7",
"@backstage/plugin-search-backend-node": "1.3.16",
"@backstage/plugin-search-common": "1.2.20",
"@backstage/plugin-search-react": "1.9.5",
"@backstage/plugin-signals": "0.0.24",
"@backstage/plugin-signals-backend": "0.3.9",
"@backstage/plugin-signals-node": "0.1.25",
"@backstage/plugin-signals-react": "0.0.16",
"@backstage/plugin-techdocs": "1.15.1",
"@backstage/plugin-techdocs-addons-test-utils": "1.1.1",
"@backstage/plugin-techdocs-backend": "2.1.1",
"@backstage/plugin-techdocs-common": "0.1.1",
"@backstage/plugin-techdocs-module-addons-contrib": "1.1.28",
"@backstage/plugin-techdocs-node": "1.13.7",
"@backstage/plugin-techdocs-react": "1.3.3",
"@backstage/plugin-user-settings": "0.8.26",
"@backstage/plugin-user-settings-backend": "0.3.6",
"@backstage/plugin-user-settings-common": "0.0.1",
"@backstage/plugin-mui-to-bui": "0.1.0"
"@backstage/plugin-techdocs-module-addons-contrib": "1.1.29",
"@backstage/plugin-techdocs-node": "1.13.8",
"@backstage/plugin-techdocs-react": "1.3.4",
"@backstage/plugin-user-settings": "0.8.27",
"@backstage/plugin-user-settings-backend": "0.3.7",
"@backstage/plugin-user-settings-common": "0.0.1"
},
"changesets": [
"brave-teeth-reply",
"brown-falcons-own",
"brown-turkeys-send",
"bui-themer-bui-palette-additions",
"calm-trains-tie",
"clever-papers-watch",
"cold-coats-show",
"cool-baboons-count",
"create-app-1758639549",
"create-app-1758718573",
"create-app-1759243273",
"curvy-bobcats-melt",
"eager-toes-start",
"famous-loops-tickle",
"fast-heads-brake",
"fast-queens-guess",
"five-olives-bet",
"giant-weeks-jump",
"heavy-cooks-divide",
"hungry-crews-fetch",
"itchy-falcons-leave",
"kind-places-reply",
"legal-eagles-jog",
"modern-pugs-appear",
"moody-singers-deny",
"nice-readers-judge",
"public-sites-admire",
"public-wombats-say",
"rare-states-pay",
"ready-poems-change",
"ready-pots-arrive",
"red-dodos-work",
"red-times-bet",
"salty-words-wash",
"short-aliens-invite",
"six-cooks-battle",
"slimy-signs-agree",
"solid-bikes-leave",
"tame-hairs-smash",
"tender-cups-tap",
"thirty-rules-press",
"tired-mice-cheer",
"twelve-guests-sit",
"unified-theme-attr-stack",
"wet-spiders-wait",
"wide-flies-jog"
"better-hats-cross",
"better-steaks-act",
"every-ants-count",
"every-clocks-arrive",
"fine-hands-return",
"five-seas-jam",
"grumpy-planes-bet",
"loud-carpets-throw",
"ninety-cobras-feel",
"polite-seas-divide",
"rich-streets-rule",
"short-sides-feel",
"silver-garlics-thank",
"solid-bees-agree",
"solid-dancers-march",
"stupid-doodles-love",
"tender-regions-know",
"typescript-constructor-refactor",
"warm-moments-repeat",
"wild-owls-divide"
]
}
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/core-components': patch
'@backstage/plugin-catalog-graph': patch
---
Fixed DependencyGraph `svg` size not adapting to the container size
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Fixed dependency graph automatically scrolling forever
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-azure': patch
'@backstage/integration': patch
---
Adds config definitions for Azure Blob Storage.
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/plugin-scaffolder-node': minor
---
**BREAKING** - Marking optional fields as required in the `TaskBroker`, these can be fixed with a no-op `() => void` if you don't want to implement the functions.
- `cancel`, `recoverTasks` and `retry` are the required methods on the `TaskBroker` interface.
**NOTE**: If you're affected by this breaking change, please reach out to us in an issue as we're thinking about completely removing the `TaskBroker` extension point soon and would like to hear your use cases for the upcoming re-architecture of the `scaffolder-backend` plugin.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder': patch
---
Add missing `templatingExtensions` option to RouterProps.contextMenu to allow global control across scaffolder pages
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Added new `catalog:validate-entity` action to actions registry.
This action can be used to validate entities against the software catalog.
This is useful for validating `catalog-info.yaml` file changes locally using the
Backstage MCP server.
-13
View File
@@ -1,13 +0,0 @@
---
'@backstage/plugin-scaffolder-node': patch
---
**BREAKING ALPHA**: We've moved the `scaffolderActionsExtensionPoint` from `/alpha` to the main export.
```tsx
// before
import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node/alpha';
// after
import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node';
```
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Fix CSS layer ordering in Backstage UI to make sure component styles are loaded after tokens and base declarations.
-11
View File
@@ -1,11 +0,0 @@
---
'@backstage/backend-defaults': minor
---
Adds support for configuring server-level HTTP options through the
`app-config.yaml` file under the `backend.server` key. Supported options
include `headersTimeout`, `keepAliveTimeout`, `requestTimeout`, `timeout`,
`maxHeadersCount`, and `maxRequestsPerSocket`.
These are passed directly to the underlying Node.js HTTP server.
If omitted, Node.js defaults are used.
-13
View File
@@ -1,13 +0,0 @@
---
'@backstage/plugin-api-docs': minor
---
Remove explicit dependency on `isomorphic-form-data`.
This explicit dependency was added to address [an issue](https://github.com/swagger-api/swagger-ui/issues/7436) in the
dependency `swagger-ui-react`. That [issue has since been resolved](https://github.com/swagger-api/swagger-ui/issues/7436#issuecomment-889792304),
and `isomorphic-form-data` no longer needs to be declared.
Additionally, this changeset updates the `swagger-ui-react` dependency to version `5.19.0` or higher, which includes
[compatibility](https://github.com/swagger-api/swagger-ui?tab=readme-ov-file#compatibility) with the latest versions of
the OpenAPI specification.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Added the new `@backstage/cli/templates/catalog-provider-module` template to the explicit template configuration for the `next-app` template.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Fix font smoothing as default in Backstage UI.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/config-loader': patch
'@backstage/config': patch
---
Allow colon to be used as config key.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-notifications-backend': patch
---
Fixed exclude entity reference not working in notification sending
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/eslint-plugin': minor
---
Added `@backstage/no-ui-css-imports-in-non-frontend` rule, which ensures that CSS from `@backstage/ui` is not imported outside of the frontend app.
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/plugin-scaffolder-node': patch
---
**DEPRECATION**: We're going to be working on refactoring a lot of the internals of the Scaffolder backend plugin, and with that comes a lot of deprecations and removals for public types that are making these things hard.
If you're using these types, please reach out to us either on Discord or a GitHub issue with your use cases.
- `SerializedTask`, `SerializedTaskEvent`, `TaskBroker`, `TaskContext`, `TaskBrokerDispatchOptions`, `TaskBrokerDispatchResult`, `TaskCompletionState`, `TaskEventType`, `TaskFilter`, `TaskFilters`, `TaskStatus` are the types that have now been marked as deprecated, and will be removed in a future release.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-user-settings': patch
---
Revert `storageApiRef` implementation
+5
View File
@@ -0,0 +1,5 @@
---
'@techdocs/cli': patch
---
Fix for missing styles due to move to BUI.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
'@backstage/plugin-bitbucket-cloud-common': patch
---
Allow for passing a `pagelen` parameter to configure the `pagelength` property of the `BitbucketCloudEntityProvider` `searchCode` pagination to resolve [bug](https://jira.atlassian.com/browse/BCLOUD-23644) pertaining to duplicate results being returned.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/ui': patch
---
Improved SearchField component flex layout and animations. Fixed SearchField behavior in Header components by switching from width-based transitions to flex-basis transitions for better responsive behavior. Added new Storybook stories to test SearchField integration with Header component.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth': patch
---
Authentication content screen now uses application title.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-defaults': minor
---
Add a new `externalTokenHandlersServiceRef` to allow custom external token validations
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/ui': patch
---
Avoid overriding onChange when spreading props
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kubernetes-react': patch
---
Fixes calculation of CPU utilization in the PodTable
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-gitlab': patch
---
Fixed an issue in `GitlabDiscoveryEntityProvider` where entity fetching could fail for projects with special characters or that had been renamed or moved.
@@ -0,0 +1,63 @@
---
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-kubernetes-react': patch
'@backstage/plugin-notifications-backend': patch
'@backstage/plugin-notifications-node': patch
'@backstage/plugin-permission-react': patch
'@backstage/plugin-scaffolder-backend-module-gcp': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-search-backend-module-elasticsearch': patch
'@backstage/plugin-search-backend-module-pg': patch
'@backstage/plugin-search-backend': patch
'@backstage/plugin-search-backend-node': patch
'@backstage/plugin-search-react': patch
'@backstage/plugin-signals': patch
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-events-backend': patch
'@backstage/plugin-catalog-backend-module-backstage-openapi': patch
'@backstage/plugin-events-node': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-auth-backend-module-cloudflare-access-provider': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-notifications-backend-module-email': patch
'@backstage/plugin-events-backend-module-aws-sqs': patch
'@backstage/plugin-devtools-backend': patch
'@backstage/plugin-catalog-backend-module-unprocessed': patch
'@backstage/plugin-catalog-backend-module-azure': patch
'@backstage/plugin-catalog-backend-module-aws': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-techdocs-node': patch
'@backstage/plugin-catalog-unprocessed-entities': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
'@backstage/plugin-catalog-backend-module-ldap': patch
'@backstage/plugin-bitbucket-cloud-common': patch
'@backstage/plugin-auth-node': patch
'@backstage/backend-app-api': patch
'@backstage/backend-defaults': patch
'@backstage/config-loader': patch
'@backstage/core-app-api': patch
'@backstage/core-plugin-api': patch
'@backstage/frontend-app-api': patch
'@backstage/config': patch
'@backstage/backend-dynamic-feature-service': patch
'@backstage/core-components': patch
'@backstage/cli': patch
'@backstage/cli-node': patch
'@backstage/catalog-model': patch
'@backstage/integration': patch
'@backstage/frontend-plugin-api': patch
'@backstage/integration-aws-node': patch
'@backstage/repo-tools': patch
'@backstage/backend-test-utils': patch
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-events-backend-module-kafka': patch
'@backstage/plugin-kubernetes-node': patch
'@backstage/plugin-mcp-actions-backend': patch
'@backstage/plugin-scaffolder-node-test-utils': patch
'@backstage/plugin-scaffolder-node': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-user-settings-backend': patch
---
Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/theme': patch
---
The `UnifiedThemeProvider` now coordinates theme attributes on the document `body` in case multiple theme providers are rendered.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Fix #31348 issue where BitbucketUrlReader ignored provided token and instead always used integration credentials
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': major
---
**BREAKING** - Removing the deprecated types and interfaces, there's no replacement for these types, and hopefully not currently used as they offer no value with the plugin being on the new backend system and no way to consume them.
Affected types: `CreateWorkerOptions`, `CurrentClaimedTask`, `DatabaseTaskStore`, `DatabaseTaskStoreOptions`, `TaskManager`, `TaskStore`, `TaskStoreCreateTaskOptions`, `TaskStoreCreateTaskResult`, `TaskStoreEmitOptions`, `TaskStoreListEventsOptions`, `TaskStoreRecoverTaskOptions`, `TaskStoreShutDownTaskOptions`, `TaskWorker` and `TemplateActionRegistry`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder': patch
---
Added missing form fields for the new frontend system.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Fix default font wight and font family in Backstage UI.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Added automatic detection and support for the Backstage Yarn plugin when generating new packages with `yarn new`. When the plugin is installed, new packages will automatically use `backstage:^` ranges for `@backstage/*` dependencies.
+1
View File
@@ -10,6 +10,7 @@ yarn.lock @backstage/maintainers @backst
/.changeset @backstage/operations-maintainers
/.changeset/*.md
/.github @backstage/operations-maintainers
/.github/vale @backstage/documentation-maintainers
/beps/0001-notifications-system @backstage/maintainers @backstage/notifications-maintainers
/docs @backstage/maintainers @backstage/documentation-maintainers
/docs/assets/search @backstage/search-maintainers
@@ -21,9 +21,9 @@ asciidoc
async
Atlassian
autofix
autologout
automations
autoscaling
Autoscaling
autoselect
Avro
backend's
@@ -47,8 +47,10 @@ bundler
bundlers
bursty
callout
camelCase
CDNs
Chai
Chainguard
changeset
changesets
Changesets
@@ -177,6 +179,7 @@ graphql
GraphQL
graphviz
Hackathons
hackathon
haproxy
hardcoded
hardcoding
@@ -220,6 +223,7 @@ jq
js
json
jsonnet
JSONSchema
jsx
JWTs
Kaewkasi
@@ -282,6 +286,7 @@ modularization
monorepo
Monorepo
monorepos
monospace
morgan
msgraph
msw
@@ -416,6 +421,7 @@ sanitization
scaffolded
scaffolder
Scaffolder
scalprum
SCM
SCMs
scrollable
@@ -466,6 +472,8 @@ subheaders
subkey
subpage
subpath
subpaths
subroute
subroutes
substring
subtree
@@ -490,6 +498,7 @@ templaters
Templaters
TFRecord
theia
Themer
threenager
thumbsup
todo
+3 -3
View File
@@ -27,7 +27,7 @@ jobs:
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
days-before-issue-stale: 60
days-before-issue-close: 7
days-before-issue-close: 14
exempt-issue-labels: after vacations,no stale
stale-issue-label: stale
stale-pr-message: >
@@ -35,8 +35,8 @@ jobs:
recent activity from the author. It will be closed if no further activity occurs.
If the PR was closed and you want it re-opened, let us know
and we'll re-open the PR so that you can continue the contribution!
days-before-pr-stale: 14
days-before-pr-close: 7
days-before-pr-stale: 30
days-before-pr-close: 14
exempt-pr-labels: after vacations,no stale
stale-pr-label: stale
operations-per-run: 100
+6 -6
View File
@@ -158,8 +158,8 @@ jobs:
name: Test ${{ matrix.node-version }}
services:
postgres17:
image: postgres:17
postgres18:
image: postgres:18
env:
POSTGRES_PASSWORD: postgres
options: >-
@@ -169,8 +169,8 @@ jobs:
--health-retries 5
ports:
- 5432/tcp
postgres13:
image: postgres:13
postgres14:
image: postgres:14
env:
POSTGRES_PASSWORD: postgres
options: >-
@@ -253,8 +253,8 @@ jobs:
run: yarn backstage-cli repo test --maxWorkers=3 --workerIdleMemoryLimit=1300M --since origin/master --successCache --successCacheDir .cache/backstage-cli
env:
BACKSTAGE_TEST_DISABLE_DOCKER: 1
BACKSTAGE_TEST_DATABASE_POSTGRES17_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres17.ports[5432] }}
BACKSTAGE_TEST_DATABASE_POSTGRES13_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres13.ports[5432] }}
BACKSTAGE_TEST_DATABASE_POSTGRES18_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres18.ports[5432] }}
BACKSTAGE_TEST_DATABASE_POSTGRES14_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres14.ports[5432] }}
BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING: mysql://root:root@localhost:${{ job.services.mysql8.ports[3306] }}/ignored
BACKSTAGE_TEST_CACHE_REDIS7_CONNECTION_STRING: redis://localhost:${{ job.services.redis.ports[6379] }}
+6 -6
View File
@@ -16,8 +16,8 @@ jobs:
node-version: [20.x, 22.x]
services:
postgres17:
image: postgres:17
postgres18:
image: postgres:18
env:
POSTGRES_PASSWORD: postgres
options: >-
@@ -27,8 +27,8 @@ jobs:
--health-retries 5
ports:
- 5432/tcp
postgres13:
image: postgres:13
postgres14:
image: postgres:14
env:
POSTGRES_PASSWORD: postgres
options: >-
@@ -122,8 +122,8 @@ jobs:
yarn backstage-cli repo test --maxWorkers=3 --workerIdleMemoryLimit=1300M --coverage --successCache --successCacheDir .cache/backstage-cli
env:
BACKSTAGE_TEST_DISABLE_DOCKER: 1
BACKSTAGE_TEST_DATABASE_POSTGRES17_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres17.ports[5432] }}
BACKSTAGE_TEST_DATABASE_POSTGRES13_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres13.ports[5432] }}
BACKSTAGE_TEST_DATABASE_postgres18_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres18.ports[5432] }}
BACKSTAGE_TEST_DATABASE_postgres14_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres14.ports[5432] }}
BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING: mysql://root:root@localhost:${{ job.services.mysql8.ports[3306] }}/ignored
BACKSTAGE_TEST_CACHE_REDIS7_CONNECTION_STRING: redis://localhost:${{ job.services.redis.ports[6379] }}
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
services:
postgres:
image: postgres:13
image: postgres:14
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
@@ -41,6 +41,10 @@ jobs:
with:
python-version: '3.9'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ matrix.node-version }}
- name: yarn install
uses: backstage/actions/yarn-install@b3c1841fd69e1658ac631afafd0fb140a2309024 # v0.6.17
with:
+1
View File
@@ -286,3 +286,4 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
| [Plata](https://platacard.mx/en) | [Shamil Ganiev](https://github.com/ganievs) | Internal Developer Portal for the whole engineering team |
| [Syngenta Digital](https://www.syngentadigital.com) | [Bitan Mallick](https://www.linkedin.com/in/bitanmallick) | Internal developer portal, designed to empower developers and streamline workflows. We use software catalog, tech-radar, software templates, tech-docs and various custom plugins to ensure an efficient and collaborative development experience. |
| [Sophotech](https://sopho.tech) | [@archy-rock3t-cloud](https://github.com/archy-rock3t-cloud), [Artem Muterko](mailto:artem@sopho.tech) | Custom Developer Platform based on Backstage, providing a service catalog, infrastructure templates, and integrated tooling to give developers a self-service experience. |
| [Swiss Mobiliar Insurance Company Ltd.](https://www.mobiliar.ch/) | [Patrick Wyler](mailto:patrick.wyler@mobiliar.ch) and [Beat Winistörfer](mailto:beat.winistoerfer@mobiliar.ch) | The portal provides a unified interface for accessing all relevant DevOps information previously scattered across various locations, enhancing accessibility and clarity for all IT employees. It relies on an internal graph database that enhances the Backstage software catalog with many additional elements. Significant effort has been invested in the visual representation of information through graphs and diagrams, facilitating analysis and improving the understanding of dependencies. |
+10
View File
@@ -102,6 +102,16 @@ Visit <http://localhost:3000> and you should see the bleeding edge of Backstage
If you want to get a better understanding of the layout of the repo now that you have a local copy running feel free to review the [Backstage Project Structure](https://backstage.io/docs/getting-started/#general-folder-structure) documentation.
#### Using Docker for the Example App
You can run the Example App using Docker with Postgres, OpenSearch and Redis services. This setup very closely resembles how Backstage is run in production in many occasions.
To start the Example App with Docker, make sure you have Docker and Docker Compose installed on your machine, then run the following command from the root of the repository:
```bash
yarn start:docker
```
## Coding Guidelines
All code is formatted with `prettier` using the configuration in the repo. If possible, we recommend configuring your editor to format automatically, but you can also use the `yarn prettier --write <file>` command to format files.
+3
View File
@@ -1,3 +1,6 @@
> [!NOTE]
> 🏖 From Monday October 27th through November 3rd, maintainers and Spotify employees will be on vacation due to Wellness Week. Expect the project to move a little slower than normal, and support to be limited. Normal service will resume after that! 🏝
[![headline](docs/assets/headline.png)](https://backstage.io/)
# [Backstage](https://backstage.io)
+23
View File
@@ -0,0 +1,23 @@
# To run local backstage instance with docker services,
# run:
# 1. `docker compose -f docker-compose.deps.yml up --wait`
# 2. `BACKSTAGE_ENV=docker yarn dev`
backend:
database:
client: pg
connection:
host: localhost
port: 5432
user: postgres
password: postgres
cache:
store: redis
connection: redis://localhost:6379
search:
elasticsearch:
provider: opensearch
node: 'http://localhost:9200'
auth:
username: admin
password: admin
+3 -1
View File
@@ -65,7 +65,9 @@ backend:
- host: example.com
- host: '*.mozilla.org'
# workingDirectory: /tmp # Use this to configure a working directory for the scaffolder, defaults to the OS temp-dir
actions:
pluginSources:
- catalog
# See README.md in the proxy-backend plugin for information on the configuration format
proxy:
endpoints:
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/env docker compose -f
name: backstage
services:
psql:
image: postgres:17.6
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- '5432:5432'
healthcheck:
test: ['CMD-SHELL', 'pg_isready']
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
redis:
image: redis:8.2.1-alpine
ports:
- '6379:6379'
healthcheck:
test: ['CMD-SHELL', 'redis-cli ping | grep PONG']
interval: 1s
timeout: 3s
retries: 5
opensearch:
image: opensearchproject/opensearch:2.19.3
environment:
plugins.security.disabled: true
discovery.type: single-node
OPENSEARCH_INITIAL_ADMIN_PASSWORD: Opensearch1!
ports:
- '9200:9200'
- '9600:9600'
healthcheck:
test: 'curl --fail opensearch:9200/_cat/health >/dev/null || exit 1'
interval: 5s
timeout: 5s
retries: 30
+2 -1
View File
@@ -33,10 +33,11 @@
"prop-types": "^15.8.1",
"react": "19.1.1",
"react-dom": "19.1.1",
"shiki": "^1.26.1",
"shiki": "^3.13.0",
"storybook": "^8.6.12"
},
"devDependencies": {
"@shikijs/transformers": "^3.13.0",
"@types/mdx": "^2.0.13",
"@types/node": "^20",
"@types/react": "19.1.9",
File diff suppressed because one or more lines are too long
-24
View File
@@ -1,24 +0,0 @@
import { CodeBlock } from '@/components/CodeBlock';
import { IconLibrary } from '@/components/IconLibrary';
# Iconography
All our default icons are provided by [Remix Icon](https://remixicon.com/). We
don't import all icons to reduce the bundle size but we cherry pick a nice
selection for you to use in your application. The list of names is set down
below. To use an icon, you can use the `Icon` component and pass the name of
the icon you want to use.
<CodeBlock code={`<Icon name="heart" />`} />
## Icon overrides
You can override any icons in our library by using the `IconProvider` at the root of your application.
<CodeBlock
code={`<IconProvider overrides={{ heart: () => <div>Custom Icon</div> }} />`}
/>
## Icon library
<IconLibrary />
+33 -17
View File
@@ -1,33 +1,49 @@
import { CodeBlock } from '@/components/CodeBlock';
import { Banner } from '@/components/Banner';
import { snippet } from './snippets';
# How to install Backstage UI
## 1. Import the package
## How to import BUI's global styles
Import the package using a package manager.
Backstage UI works by importing a global CSS file at the root of your application. This file includes all the default styles for the components.
First, you'll need to install the package using a package manager. For example, if you're using Yarn:
<CodeBlock lang="shell" code={`yarn add @backstage/ui`} />
<CodeBlock
lang="shell"
title="Run this command in your `packages/app` directory"
code={`yarn add @backstage/ui`}
/>
## 2. Import the css files
<CodeBlock
lang="tsx"
title="Add this line to `packages/app/src/index.tsx`"
code={`import '@backstage/cli/asset-types';
import ReactDOM from 'react-dom/client';
import App from './App';
import '@backstage/ui/css/styles.css'; // [!code ++]
Import the global CSS file at the root of your application.
ReactDOM.createRoot(document.getElementById('root')!).render(<App />);`}
/>
```tsx
import '@backstage/ui/css/styles.css';
```
<Banner
text="Import these styles only once at your application root. Plugin developers should skip this step to avoid conflicts."
variant="warning"
/>
## 3. Start building ✨
## How to use BUI components
Now you can start building your plugin using the new design system.
As a plugin maintainer, you can use BUI components in your plugin. As mentioned above, you should not import the styles
again in your plugin as this will be handled at the root of your application. To get started, just add the library to
your plugin and import the components you need.
```tsx
import { Flex, Button, Text } from '@backstage/ui';
<CodeBlock
lang="shell"
title="Run this command in your `packages/[your-plugin]` directory"
code={`yarn add @backstage/ui`}
/>
<Flex>
<Text>Hello World</Text>
<Button>Click me</Button>
</Flex>;
```
<CodeBlock lang="tsx" title="Let's get started 🚀" code={snippet} />
## Next steps
+6
View File
@@ -0,0 +1,6 @@
export const snippet = `import { Flex, Button, Text } from '@backstage/ui';
<Flex>
<Text>Hello World</Text>
<Button>Click me</Button>
</Flex>;`;
+5
View File
@@ -85,6 +85,11 @@ building it incrementally with not conflict with the existing theming system.
description="A search field component to help you search for items."
href="/components/search-field"
/>
<ComponentCard
title="PasswordField"
description="A password field component to help you input passwords."
href="/components/password-field"
/>
<ComponentCard
title="Select"
description="A select component to help you select items."
+2 -2
View File
@@ -226,7 +226,7 @@ color of your app.
### Foreground colors
Foreground colours are meant to work in pair with a background colours. Typeically this would work
Foreground colours are meant to work in pair with a background colours. Typically this would work
for icons, texts, shapes, ... Use a matching name to know what foreground color to use. These colors
are prefixed with `fg` to make it easier to identify.
@@ -446,7 +446,7 @@ monospace font that we use for code blocks and tables.
</Table.Row>
<Table.Row>
<Table.Cell>
<Chip head>--bui-font-mono</Chip>
<Chip head>--bui-font-monospace</Chip>
</Table.Cell>
<Table.Cell>The monospace font for the theme.</Table.Cell>
</Table.Row>
+6 -2
View File
@@ -1,10 +1,14 @@
'use client';
import { CodeBlockProps } from '.';
import { Text } from '@backstage/ui';
import styles from './styles.module.css';
import parse from 'html-react-parser';
// Convert markdown-style backticks to HTML code tags
function parseMarkdownInlineCode(text: string): string {
return text.replace(/`([^`]+)`/g, '<code>$1</code>');
}
export const CodeBlockClient = ({
out,
title,
@@ -16,7 +20,7 @@ export const CodeBlockClient = ({
<div className={styles.codeBlock}>
{title && (
<div className={styles.title}>
<Text variant="body">{title}</Text>
{parse(parseMarkdownInlineCode(title))}
</div>
)}
<div className={styles.code}>{parse(out)}</div>
@@ -1,4 +1,5 @@
import type { BundledLanguage } from 'shiki';
import { transformerNotationDiff } from '@shikijs/transformers';
import { codeToHtml } from 'shiki';
import { CodeBlockClient } from './client';
@@ -15,6 +16,7 @@ export async function CodeBlock({ lang = 'tsx', title, code }: CodeBlockProps) {
light: 'min-light',
dark: 'min-dark',
},
transformers: [transformerNotationDiff({ matchAlgorithm: 'v3' })],
});
return <CodeBlockClient out={out} title={title} />;
@@ -16,8 +16,18 @@
.title {
border-bottom: 1px solid var(--border);
padding: 12px 20px;
font-size: 0.875rem;
font-size: 0.8125rem;
color: var(--primary);
font-family: var(--font-regular);
font-weight: var(--font-weight-bold);
}
.title code {
background-color: var(--surface-1);
padding: 0.2rem 0.375rem;
border-radius: 0.25rem;
color: var(--secondary);
font-size: 0.8125rem;
}
.code {
@@ -6,9 +6,9 @@ import { sass } from '@codemirror/lang-sass';
import styles from './styles.module.css';
import { usePlayground } from '@/utils/playground-context';
import { AnimatePresence, motion } from 'motion/react';
import { Icon } from '../../../../packages/ui';
import { createTheme } from '@uiw/codemirror-themes';
import { tags as t } from '@lezer/highlight';
import { RiArrowDownSLine } from '@remixicon/react';
const defaultTheme = `:root {
--bui-bg-solid: #000;
@@ -125,7 +125,12 @@ export const CustomTheme = () => {
className={styles.buttonClose}
onClick={() => setOpen(!open)}
>
<Icon name={open ? 'chevron-down' : 'chevron-up'} />
<RiArrowDownSLine
aria-hidden="true"
style={{
transform: open ? 'rotate(180deg)' : 'rotate(0deg)',
}}
/>
</button>
</div>
</div>
@@ -1,22 +0,0 @@
'use client';
import { Text, Icon, icons } from '../../../../packages/ui';
import type { IconNames } from '../../../../packages/ui';
import styles from './styles.module.css';
export const IconLibrary = () => {
const list = Object.keys(icons);
return (
<div className={styles.library}>
{list.map(icon => (
<div key={icon} className={styles.item}>
<div className={styles.icon}>
<Icon name={icon as IconNames} />
</div>
<Text variant="body">{icon}</Text>
</div>
))}
</div>
);
};
@@ -1 +0,0 @@
export { IconLibrary } from './IconLibrary';
@@ -1,28 +0,0 @@
.library {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 1rem;
}
.item {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.icon {
display: flex;
width: 100%;
justify-content: center;
align-items: center;
height: 80px;
border-radius: 0.5rem;
border: 1px solid var(--border);
background-color: var(--panel);
transition: background-color 0.2s ease-in-out;
&:hover {
background-color: var(--surface-1);
}
}
@@ -3,7 +3,6 @@
import * as Table from '../Table';
import { Chip } from '../Chip';
import { TypePopup } from './TypePopup';
import { icons } from '../../../../packages/ui';
import { PropDef } from '@/utils/propDefs';
@@ -33,10 +32,8 @@ export const PropsTable = <T extends Record<string, PropData>>({
<Table.Body>
{Object.keys(data).map(n => {
const enumValues =
data[n].values === 'icon'
? Object.keys(icons).map(icon => <Chip key={icon}>{icon}</Chip>)
: Array.isArray(data[n].values) &&
data[n].values.map(t => <Chip key={t}>{t}</Chip>);
Array.isArray(data[n].values) &&
data[n].values.map(t => <Chip key={t}>{t}</Chip>);
return (
<Table.Row key={n}>
@@ -9,8 +9,8 @@ import {
SelectValue,
} from 'react-aria-components';
import styles from './theme-name.module.css';
import { Icon } from '@backstage/ui';
import { usePlayground } from '@/utils/playground-context';
import { RiArrowDownSLine } from '@remixicon/react';
const themes = [
{ name: 'Backstage', value: 'backstage' },
@@ -28,7 +28,7 @@ export const ThemeNameSelector = () => {
>
<Button className={styles.Select}>
<SelectValue />
<Icon name="chevron-down" />
<RiArrowDownSLine aria-hidden="true" />
</Button>
<Popover className={styles.Popup}>
<ListBox className={styles.ListBox}>
+3 -3
View File
@@ -1,9 +1,9 @@
'use client';
import { Tabs } from '@base-ui-components/react/tabs';
import { Icon } from '@backstage/ui';
import { usePlayground } from '@/utils/playground-context';
import styles from './theme.module.css';
import { RiMoonLine, RiSunLine } from '@remixicon/react';
export const ThemeSelector = () => {
const { selectedTheme, setSelectedTheme } = usePlayground();
@@ -16,10 +16,10 @@ export const ThemeSelector = () => {
>
<Tabs.List className={styles.list}>
<Tabs.Tab className={styles.tab} value="light">
<Icon name="sun" />
<RiSunLine aria-hidden="true" size={16} />
</Tabs.Tab>
<Tabs.Tab className={styles.tab} value="dark">
<Icon name="moon" />
<RiMoonLine aria-hidden="true" size={16} />
</Tabs.Tab>
<Tabs.Indicator className={styles.indicator} />
</Tabs.List>
+1 -1
View File
@@ -22,7 +22,7 @@ import { ChangelogComponent } from '@/components/ChangelogComponent';
<Snippet
py={4}
preview={<BoxSnippet story="Preview" />}
preview={<BoxSnippet story="Default" />}
code={boxPreviewSnippet}
align="center"
/>

Some files were not shown because too many files have changed in this diff Show More