diff --git a/.changeset/afraid-needles-divide.md b/.changeset/afraid-needles-divide.md
new file mode 100644
index 0000000000..6db7f449b0
--- /dev/null
+++ b/.changeset/afraid-needles-divide.md
@@ -0,0 +1,5 @@
+---
+'@backstage/create-app': patch
+---
+
+Removed `packages/backend/src/types.ts` from the template as it is unused. It was mistakenly left in after moving the template to the new backend system.
diff --git a/.changeset/bright-pumpkins-rule.md b/.changeset/bright-pumpkins-rule.md
new file mode 100644
index 0000000000..07de4f313c
--- /dev/null
+++ b/.changeset/bright-pumpkins-rule.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications': patch
+---
+
+Allow overriding `NotificationsPage` page properties
diff --git a/.changeset/chatty-cycles-unite.md b/.changeset/chatty-cycles-unite.md
new file mode 100644
index 0000000000..93dffbb143
--- /dev/null
+++ b/.changeset/chatty-cycles-unite.md
@@ -0,0 +1,9 @@
+---
+'@backstage/plugin-scaffolder-backend-module-github': patch
+'@backstage/core-compat-api': patch
+'@backstage/create-app': patch
+'@backstage/plugin-api-docs': patch
+'@backstage/plugin-catalog': patch
+---
+
+Update local development dependencies.
diff --git a/.changeset/chilled-phones-unite.md b/.changeset/chilled-phones-unite.md
deleted file mode 100644
index 43eae219bc..0000000000
--- a/.changeset/chilled-phones-unite.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-pagerduty': patch
----
-
-This plugin has been deprecated, consider using [@pagerduty/backstage-plugin](https://github.com/pagerduty/backstage-plugin) instead
diff --git a/.changeset/chilly-adults-sing.md b/.changeset/chilly-adults-sing.md
new file mode 100644
index 0000000000..82f4cb88b2
--- /dev/null
+++ b/.changeset/chilly-adults-sing.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend': patch
+---
+
+Add lifecycle monitoring for the catalog processing
diff --git a/.changeset/chilly-shoes-doubt.md b/.changeset/chilly-shoes-doubt.md
new file mode 100644
index 0000000000..978600f5b4
--- /dev/null
+++ b/.changeset/chilly-shoes-doubt.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend-module-msgraph': patch
+---
+
+Fixed disabling of user photo fetching. Previously, the config value wasn't propagated properly, so user photos was still being fetched despite disabled by config.
diff --git a/.changeset/cold-rats-leave.md b/.changeset/cold-rats-leave.md
new file mode 100644
index 0000000000..6fe28d6371
--- /dev/null
+++ b/.changeset/cold-rats-leave.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': patch
+---
+
+Fix issue with the log format not being respected when logging from actions
diff --git a/.changeset/cool-elephants-march.md b/.changeset/cool-elephants-march.md
new file mode 100644
index 0000000000..2396f9553d
--- /dev/null
+++ b/.changeset/cool-elephants-march.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend-module-gitea': patch
+---
+
+Allow defining `repoVisibility` field for the action `publish:gitea`
diff --git a/.changeset/cuddly-chairs-kick.md b/.changeset/cuddly-chairs-kick.md
new file mode 100644
index 0000000000..ebb53b8e26
--- /dev/null
+++ b/.changeset/cuddly-chairs-kick.md
@@ -0,0 +1,5 @@
+---
+'@backstage/backend-app-api': patch
+---
+
+Add ability to configure the Node.js HTTP Server when configuring the root HTTP Router service
diff --git a/.changeset/curly-shirts-flow.md b/.changeset/curly-shirts-flow.md
new file mode 100644
index 0000000000..b9a73809ba
--- /dev/null
+++ b/.changeset/curly-shirts-flow.md
@@ -0,0 +1,5 @@
+---
+'@backstage/repo-tools': patch
+---
+
+Update the paths logic in the api reports command to support complex subpaths
diff --git a/.changeset/curvy-planes-flash.md b/.changeset/curvy-planes-flash.md
new file mode 100644
index 0000000000..0d3368e53d
--- /dev/null
+++ b/.changeset/curvy-planes-flash.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
+---
+
+Allow skipping archived repositories (`skipArchivedRepos` flag) on Bitbucket.
diff --git a/.changeset/dry-sloths-impress.md b/.changeset/dry-sloths-impress.md
new file mode 100644
index 0000000000..6bd5ba4156
--- /dev/null
+++ b/.changeset/dry-sloths-impress.md
@@ -0,0 +1,5 @@
+---
+'@backstage/catalog-model': minor
+---
+
+Introduce a domain attribute to the domain entity to allow a hierarchy of domains to exist.
diff --git a/.changeset/eighty-apricots-kneel.md b/.changeset/eighty-apricots-kneel.md
new file mode 100644
index 0000000000..a9cabaf378
--- /dev/null
+++ b/.changeset/eighty-apricots-kneel.md
@@ -0,0 +1,5 @@
+---
+'@techdocs/cli': patch
+---
+
+Fix cookie endpoint mock for `serve`
diff --git a/.changeset/eighty-bats-stare.md b/.changeset/eighty-bats-stare.md
new file mode 100644
index 0000000000..6ebb2e9265
--- /dev/null
+++ b/.changeset/eighty-bats-stare.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-techdocs': patch
+---
+
+Update path in Readme for Plugin Techdocs to show the correct setup information.
diff --git a/.changeset/eleven-pandas-divide.md b/.changeset/eleven-pandas-divide.md
new file mode 100644
index 0000000000..912d34570a
--- /dev/null
+++ b/.changeset/eleven-pandas-divide.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend-module-gitlab': patch
+---
+
+Added events support for `GitlabDiscoveryEntityProvider` and `GitlabOrgDiscoveryEntityProvider`.
diff --git a/.changeset/fix-stackoverflow.md b/.changeset/fix-stackoverflow.md
new file mode 100644
index 0000000000..6ce9f15737
--- /dev/null
+++ b/.changeset/fix-stackoverflow.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
+---
+
+Fix plugin/incremental-ingestion 'Maximum call stack size exceeded' error when ingest large entities.
diff --git a/.changeset/four-cooks-serve.md b/.changeset/four-cooks-serve.md
new file mode 100644
index 0000000000..864807cc49
--- /dev/null
+++ b/.changeset/four-cooks-serve.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-notifications-backend': patch
+'@backstage/plugin-notifications-node': patch
+---
+
+Support for filtering entities from notification recipients after resolving them from the recipients
diff --git a/.changeset/funny-bees-taste.md b/.changeset/funny-bees-taste.md
new file mode 100644
index 0000000000..a9b2d84997
--- /dev/null
+++ b/.changeset/funny-bees-taste.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications': patch
+---
+
+The user can newly mark all unread messages as read at one click.
diff --git a/.changeset/fuzzy-seahorses-tell.md b/.changeset/fuzzy-seahorses-tell.md
new file mode 100644
index 0000000000..f184e9ce95
--- /dev/null
+++ b/.changeset/fuzzy-seahorses-tell.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': patch
+---
+
+Fixed an internal circular import that broke Jest mocks.
diff --git a/.changeset/green-boxes-rescue.md b/.changeset/green-boxes-rescue.md
new file mode 100644
index 0000000000..146695a320
--- /dev/null
+++ b/.changeset/green-boxes-rescue.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications-backend-module-email': patch
+---
+
+Allow sending notifications by email with the new notifications module
diff --git a/.changeset/hip-carrots-drive.md b/.changeset/hip-carrots-drive.md
new file mode 100644
index 0000000000..5852916b74
--- /dev/null
+++ b/.changeset/hip-carrots-drive.md
@@ -0,0 +1,5 @@
+---
+'@backstage/backend-app-api': patch
+---
+
+The default `TokenManager` implementation no longer requires keys to be configured in production, but it will throw an errors when generating or authenticating tokens. The default `AuthService` implementation will now also provide additional context if such an error is throw when falling back to using the `TokenManager` service to generate tokens for outgoing requests.
diff --git a/.changeset/hot-forks-train.md b/.changeset/hot-forks-train.md
new file mode 100644
index 0000000000..a5300085b6
--- /dev/null
+++ b/.changeset/hot-forks-train.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications': patch
+---
+
+Allow showing notifications as snackbars in the UI
diff --git a/.changeset/itchy-gorillas-hope.md b/.changeset/itchy-gorillas-hope.md
new file mode 100644
index 0000000000..cd285161ff
--- /dev/null
+++ b/.changeset/itchy-gorillas-hope.md
@@ -0,0 +1,5 @@
+---
+'@backstage/create-app': patch
+---
+
+Removed the Tech Radar and GitHub Actions plugins from the template, which have been moved to the community plugins repository.
diff --git a/.changeset/itchy-keys-wonder.md b/.changeset/itchy-keys-wonder.md
new file mode 100644
index 0000000000..879dc096a4
--- /dev/null
+++ b/.changeset/itchy-keys-wonder.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-scaffolder-backend': patch
+'@backstage/backend-app-api': patch
+---
+
+Redact `meta` fields too with the logger
diff --git a/.changeset/late-planes-fix.md b/.changeset/late-planes-fix.md
new file mode 100644
index 0000000000..a57d7ec1d4
--- /dev/null
+++ b/.changeset/late-planes-fix.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-search-backend-node': patch
+'@backstage/plugin-search-backend': patch
+---
+
+Add lifecycle monitoring for the search index registry
diff --git a/.changeset/loud-frogs-eat.md b/.changeset/loud-frogs-eat.md
new file mode 100644
index 0000000000..dd1ab978f1
--- /dev/null
+++ b/.changeset/loud-frogs-eat.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend-module-gitlab': patch
+---
+
+Add examples for `gitlab:repo:push` scaffolder action & improve related tests
diff --git a/.changeset/loud-vans-greet.md b/.changeset/loud-vans-greet.md
new file mode 100644
index 0000000000..732413174b
--- /dev/null
+++ b/.changeset/loud-vans-greet.md
@@ -0,0 +1,5 @@
+---
+'@backstage/backend-app-api': patch
+---
+
+Internal refactor to only create one external token handler
diff --git a/.changeset/lovely-games-cry.md b/.changeset/lovely-games-cry.md
new file mode 100644
index 0000000000..5209b93496
--- /dev/null
+++ b/.changeset/lovely-games-cry.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-auth-react': patch
+---
+
+When using `CookieAuthRefreshProvider` or `useCookieAuthRefresh`, a 404 response from the cookie endpoint will now be treated as if cookie auth is disabled and is not needed.
diff --git a/.changeset/lucky-news-guess.md b/.changeset/lucky-news-guess.md
new file mode 100644
index 0000000000..9c2cc4e8b0
--- /dev/null
+++ b/.changeset/lucky-news-guess.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend-module-bitbucket-server': patch
+---
+
+Add examples for `publish:bitbucketServer:pull-request` scaffolder action & improve related tests
diff --git a/.changeset/migrate-1713426449436.md b/.changeset/migrate-1713426449436.md
deleted file mode 100644
index cd37254fb7..0000000000
--- a/.changeset/migrate-1713426449436.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-todo': patch
-'@backstage/plugin-todo-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465834005.md b/.changeset/migrate-1713465834005.md
deleted file mode 100644
index 29c186cd48..0000000000
--- a/.changeset/migrate-1713465834005.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-adr': patch
-'@backstage/plugin-adr-backend': patch
-'@backstage/plugin-adr-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465844082.md b/.changeset/migrate-1713465844082.md
deleted file mode 100644
index 5aaa3fed55..0000000000
--- a/.changeset/migrate-1713465844082.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-airbrake': patch
-'@backstage/plugin-airbrake-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465852581.md b/.changeset/migrate-1713465852581.md
deleted file mode 100644
index 40e1e19c85..0000000000
--- a/.changeset/migrate-1713465852581.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-allure': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465859342.md b/.changeset/migrate-1713465859342.md
deleted file mode 100644
index ece5389dad..0000000000
--- a/.changeset/migrate-1713465859342.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-analytics-module-ga': patch
-'@backstage/plugin-analytics-module-ga4': patch
-'@backstage/plugin-analytics-module-newrelic-browser': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465866151.md b/.changeset/migrate-1713465866151.md
deleted file mode 100644
index 28658f826e..0000000000
--- a/.changeset/migrate-1713465866151.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-apache-airflow': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465873342.md b/.changeset/migrate-1713465873342.md
deleted file mode 100644
index eb6d1ae355..0000000000
--- a/.changeset/migrate-1713465873342.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-apollo-explorer': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465880342.md b/.changeset/migrate-1713465880342.md
deleted file mode 100644
index ecf9bfaaa2..0000000000
--- a/.changeset/migrate-1713465880342.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-azure-devops': patch
-'@backstage/plugin-azure-devops-backend': patch
-'@backstage/plugin-azure-devops-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465887317.md b/.changeset/migrate-1713465887317.md
deleted file mode 100644
index 0d70481132..0000000000
--- a/.changeset/migrate-1713465887317.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-azure-sites': patch
-'@backstage/plugin-azure-sites-backend': patch
-'@backstage/plugin-azure-sites-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465894126.md b/.changeset/migrate-1713465894126.md
deleted file mode 100644
index 007b191096..0000000000
--- a/.changeset/migrate-1713465894126.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-badges': patch
-'@backstage/plugin-badges-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465901227.md b/.changeset/migrate-1713465901227.md
deleted file mode 100644
index 85eb7e41c3..0000000000
--- a/.changeset/migrate-1713465901227.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-bazaar': patch
-'@backstage/plugin-bazaar-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465908023.md b/.changeset/migrate-1713465908023.md
deleted file mode 100644
index 2d7824d401..0000000000
--- a/.changeset/migrate-1713465908023.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-bitrise': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465915010.md b/.changeset/migrate-1713465915010.md
deleted file mode 100644
index ad30bc1ff8..0000000000
--- a/.changeset/migrate-1713465915010.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-cicd-statistics': patch
-'@backstage/plugin-cicd-statistics-module-gitlab': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465921873.md b/.changeset/migrate-1713465921873.md
deleted file mode 100644
index 82e9e426aa..0000000000
--- a/.changeset/migrate-1713465921873.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-circleci': patch
----
-
-This package has been deprecated in favour of the [Circle-CI](https://github.com/CircleCI-Public/backstage-plugin) plugin. Please migrate to that plugin instead.
diff --git a/.changeset/migrate-1713465928821.md b/.changeset/migrate-1713465928821.md
deleted file mode 100644
index 6b184fed58..0000000000
--- a/.changeset/migrate-1713465928821.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-cloudbuild': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465935674.md b/.changeset/migrate-1713465935674.md
deleted file mode 100644
index 7d1db8520e..0000000000
--- a/.changeset/migrate-1713465935674.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-code-climate': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465942505.md b/.changeset/migrate-1713465942505.md
deleted file mode 100644
index 1917c61025..0000000000
--- a/.changeset/migrate-1713465942505.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-code-coverage': patch
-'@backstage/plugin-code-coverage-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465949447.md b/.changeset/migrate-1713465949447.md
deleted file mode 100644
index 577faf7f65..0000000000
--- a/.changeset/migrate-1713465949447.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-codescene': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465957264.md b/.changeset/migrate-1713465957264.md
deleted file mode 100644
index a7ddeffccf..0000000000
--- a/.changeset/migrate-1713465957264.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-cost-insights': patch
-'@backstage/plugin-cost-insights-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465964371.md b/.changeset/migrate-1713465964371.md
deleted file mode 100644
index 1084c6d243..0000000000
--- a/.changeset/migrate-1713465964371.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-dynatrace': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465971344.md b/.changeset/migrate-1713465971344.md
deleted file mode 100644
index c91a500e00..0000000000
--- a/.changeset/migrate-1713465971344.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-entity-feedback': patch
-'@backstage/plugin-entity-feedback-backend': patch
-'@backstage/plugin-entity-feedback-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465978303.md b/.changeset/migrate-1713465978303.md
deleted file mode 100644
index 2e3bde1cae..0000000000
--- a/.changeset/migrate-1713465978303.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-entity-validation': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465986035.md b/.changeset/migrate-1713465986035.md
deleted file mode 100644
index 945d05a3d2..0000000000
--- a/.changeset/migrate-1713465986035.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-'@backstage/plugin-explore': patch
-'@backstage/plugin-explore-backend': patch
-'@backstage/plugin-explore-common': patch
-'@backstage/plugin-explore-react': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713465993760.md b/.changeset/migrate-1713465993760.md
deleted file mode 100644
index 1b308ecbbd..0000000000
--- a/.changeset/migrate-1713465993760.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-firehydrant': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466000828.md b/.changeset/migrate-1713466000828.md
deleted file mode 100644
index ec790f3687..0000000000
--- a/.changeset/migrate-1713466000828.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-fossa': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466008519.md b/.changeset/migrate-1713466008519.md
deleted file mode 100644
index cefa04ca8a..0000000000
--- a/.changeset/migrate-1713466008519.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-gcalendar': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466015470.md b/.changeset/migrate-1713466015470.md
deleted file mode 100644
index 1b3e470279..0000000000
--- a/.changeset/migrate-1713466015470.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-gcp-projects': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466022480.md b/.changeset/migrate-1713466022480.md
deleted file mode 100644
index da0c9b0240..0000000000
--- a/.changeset/migrate-1713466022480.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-git-release-manager': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466030755.md b/.changeset/migrate-1713466030755.md
deleted file mode 100644
index e031e92f6a..0000000000
--- a/.changeset/migrate-1713466030755.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-github-actions': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466038274.md b/.changeset/migrate-1713466038274.md
deleted file mode 100644
index 4578c2a15d..0000000000
--- a/.changeset/migrate-1713466038274.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-github-deployments': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466045590.md b/.changeset/migrate-1713466045590.md
deleted file mode 100644
index b12d7e4617..0000000000
--- a/.changeset/migrate-1713466045590.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-github-issues': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466052584.md b/.changeset/migrate-1713466052584.md
deleted file mode 100644
index 444c4936ec..0000000000
--- a/.changeset/migrate-1713466052584.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-github-pull-requests-board': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466060269.md b/.changeset/migrate-1713466060269.md
deleted file mode 100644
index 12e2a388c3..0000000000
--- a/.changeset/migrate-1713466060269.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-gitops-profiles': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466067342.md b/.changeset/migrate-1713466067342.md
deleted file mode 100644
index ea922660a4..0000000000
--- a/.changeset/migrate-1713466067342.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-gocd': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466074733.md b/.changeset/migrate-1713466074733.md
deleted file mode 100644
index a74fa7ec53..0000000000
--- a/.changeset/migrate-1713466074733.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-graphiql': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466081822.md b/.changeset/migrate-1713466081822.md
deleted file mode 100644
index e2a9481158..0000000000
--- a/.changeset/migrate-1713466081822.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-graphql-voyager': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466088770.md b/.changeset/migrate-1713466088770.md
deleted file mode 100644
index ad09feb31f..0000000000
--- a/.changeset/migrate-1713466088770.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-ilert': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466095837.md b/.changeset/migrate-1713466095837.md
deleted file mode 100644
index a79280d503..0000000000
--- a/.changeset/migrate-1713466095837.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-jenkins': patch
-'@backstage/plugin-jenkins-backend': patch
-'@backstage/plugin-jenkins-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466103067.md b/.changeset/migrate-1713466103067.md
deleted file mode 100644
index abfada39d6..0000000000
--- a/.changeset/migrate-1713466103067.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-kafka': patch
-'@backstage/plugin-kafka-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466110116.md b/.changeset/migrate-1713466110116.md
deleted file mode 100644
index fcd43006e0..0000000000
--- a/.changeset/migrate-1713466110116.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-lighthouse': patch
-'@backstage/plugin-lighthouse-backend': patch
-'@backstage/plugin-lighthouse-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466117436.md b/.changeset/migrate-1713466117436.md
deleted file mode 100644
index d29e71be3f..0000000000
--- a/.changeset/migrate-1713466117436.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-microsoft-calendar': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466129151.md b/.changeset/migrate-1713466129151.md
deleted file mode 100644
index bf130e6b8e..0000000000
--- a/.changeset/migrate-1713466129151.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-newrelic': patch
-'@backstage/plugin-newrelic-dashboard': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466146663.md b/.changeset/migrate-1713466146663.md
deleted file mode 100644
index 8f83f146a1..0000000000
--- a/.changeset/migrate-1713466146663.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-octopus-deploy': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466155177.md b/.changeset/migrate-1713466155177.md
deleted file mode 100644
index ae85338d4b..0000000000
--- a/.changeset/migrate-1713466155177.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-opencost': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466169253.md b/.changeset/migrate-1713466169253.md
deleted file mode 100644
index 06de197773..0000000000
--- a/.changeset/migrate-1713466169253.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-periskop': patch
-'@backstage/plugin-periskop-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466176492.md b/.changeset/migrate-1713466176492.md
deleted file mode 100644
index bf9103a530..0000000000
--- a/.changeset/migrate-1713466176492.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-playlist': patch
-'@backstage/plugin-playlist-backend': patch
-'@backstage/plugin-playlist-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466183571.md b/.changeset/migrate-1713466183571.md
deleted file mode 100644
index eab8ace070..0000000000
--- a/.changeset/migrate-1713466183571.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-puppetdb': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466190774.md b/.changeset/migrate-1713466190774.md
deleted file mode 100644
index 4f95905cf2..0000000000
--- a/.changeset/migrate-1713466190774.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-rollbar': patch
-'@backstage/plugin-rollbar-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466197726.md b/.changeset/migrate-1713466197726.md
deleted file mode 100644
index ab70d3e27c..0000000000
--- a/.changeset/migrate-1713466197726.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-sentry': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466204983.md b/.changeset/migrate-1713466204983.md
deleted file mode 100644
index b2c8f467ea..0000000000
--- a/.changeset/migrate-1713466204983.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-shortcuts': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466212008.md b/.changeset/migrate-1713466212008.md
deleted file mode 100644
index bd0cc9e76a..0000000000
--- a/.changeset/migrate-1713466212008.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-sonarqube': patch
-'@backstage/plugin-sonarqube-backend': patch
-'@backstage/plugin-sonarqube-react': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466219338.md b/.changeset/migrate-1713466219338.md
deleted file mode 100644
index df513ee739..0000000000
--- a/.changeset/migrate-1713466219338.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-splunk-on-call': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466226880.md b/.changeset/migrate-1713466226880.md
deleted file mode 100644
index 263fd06e4e..0000000000
--- a/.changeset/migrate-1713466226880.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-stack-overflow': patch
-'@backstage/plugin-stack-overflow-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466234510.md b/.changeset/migrate-1713466234510.md
deleted file mode 100644
index 42eed581f0..0000000000
--- a/.changeset/migrate-1713466234510.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-stackstorm': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466242003.md b/.changeset/migrate-1713466242003.md
deleted file mode 100644
index f9dcca2ad2..0000000000
--- a/.changeset/migrate-1713466242003.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-'@backstage/plugin-tech-insights': patch
-'@backstage/plugin-tech-insights-backend': patch
-'@backstage/plugin-tech-insights-backend-module-jsonfc': patch
-'@backstage/plugin-tech-insights-common': patch
-'@backstage/plugin-tech-insights-node': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466249417.md b/.changeset/migrate-1713466249417.md
deleted file mode 100644
index 9f62804b00..0000000000
--- a/.changeset/migrate-1713466249417.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-vault': patch
-'@backstage/plugin-vault-backend': patch
-'@backstage/plugin-vault-node': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713466257285.md b/.changeset/migrate-1713466257285.md
deleted file mode 100644
index a7e9b68136..0000000000
--- a/.changeset/migrate-1713466257285.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-xcmetrics': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713519093920.md b/.changeset/migrate-1713519093920.md
deleted file mode 100644
index 50e4c680b6..0000000000
--- a/.changeset/migrate-1713519093920.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-tech-radar': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713531195788.md b/.changeset/migrate-1713531195788.md
deleted file mode 100644
index dc2617ded9..0000000000
--- a/.changeset/migrate-1713531195788.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-nomad': patch
-'@backstage/plugin-nomad-backend': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/migrate-1713531212279.md b/.changeset/migrate-1713531212279.md
deleted file mode 100644
index 85f4f11d8b..0000000000
--- a/.changeset/migrate-1713531212279.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-linguist': patch
-'@backstage/plugin-linguist-backend': patch
-'@backstage/plugin-linguist-common': patch
----
-
-These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
diff --git a/.changeset/orange-numbers-think.md b/.changeset/orange-numbers-think.md
new file mode 100644
index 0000000000..21dc7ce76b
--- /dev/null
+++ b/.changeset/orange-numbers-think.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-search-backend-module-catalog': patch
+---
+
+Fix wiring of the module exported at the `/alpha` path, which was causing authentication failures.
diff --git a/.changeset/perfect-points-hope.md b/.changeset/perfect-points-hope.md
new file mode 100644
index 0000000000..cfc42f77a3
--- /dev/null
+++ b/.changeset/perfect-points-hope.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-auth-backend-module-oidc-provider': patch
+---
+
+Add nonce to authorize request to be added in ID token
diff --git a/.changeset/pre.json b/.changeset/pre.json
index 87adddcad3..809cd51567 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -281,7 +281,57 @@
"@backstage/plugin-vault": "0.1.29",
"@backstage/plugin-vault-backend": "0.4.10",
"@backstage/plugin-vault-node": "0.1.10",
- "@backstage/plugin-xcmetrics": "0.2.52"
+ "@backstage/plugin-xcmetrics": "0.2.52",
+ "@backstage/plugin-catalog-backend-module-gitlab-org": "0.0.0"
},
- "changesets": []
+ "changesets": [
+ "afraid-needles-divide",
+ "bright-pumpkins-rule",
+ "chatty-cycles-unite",
+ "chilly-adults-sing",
+ "chilly-fireants-roll",
+ "cold-rats-leave",
+ "cool-elephants-march",
+ "cuddly-chairs-kick",
+ "curvy-planes-flash",
+ "dry-sloths-impress",
+ "eighty-apricots-kneel",
+ "eighty-bats-stare",
+ "eleven-pandas-divide",
+ "fix-stackoverflow",
+ "fluffy-hotels-wait",
+ "fresh-crews-impress",
+ "gold-waves-bake",
+ "gorgeous-cameras-cross",
+ "green-adults-push",
+ "hip-carrots-drive",
+ "itchy-gorillas-hope",
+ "itchy-keys-wonder",
+ "late-planes-fix",
+ "loud-frogs-eat",
+ "loud-vans-greet",
+ "lovely-games-cry",
+ "lucky-news-guess",
+ "orange-numbers-think",
+ "perfect-points-hope",
+ "proud-doors-cheat",
+ "purple-parents-sin",
+ "purple-waves-smile",
+ "rare-fireants-tickle",
+ "real-crabs-obey",
+ "renovate-0d0bd5c",
+ "selfish-pigs-glow",
+ "shy-students-clap",
+ "smart-avocados-invent",
+ "smooth-garlics-behave",
+ "sour-socks-approve",
+ "stupid-onions-know",
+ "tasty-apes-learn",
+ "thick-llamas-itch",
+ "tricky-cougars-shout",
+ "unlucky-days-play",
+ "unlucky-rivers-collect",
+ "warm-fans-promise",
+ "young-olives-drop"
+ ]
}
diff --git a/.changeset/proud-doors-cheat.md b/.changeset/proud-doors-cheat.md
new file mode 100644
index 0000000000..55ab7878d4
--- /dev/null
+++ b/.changeset/proud-doors-cheat.md
@@ -0,0 +1,5 @@
+---
+'@backstage/theme': patch
+---
+
+Fixed bug where scrollbars don't pick up the theme when in dark mode
diff --git a/.changeset/purple-waves-smile.md b/.changeset/purple-waves-smile.md
new file mode 100644
index 0000000000..44da72ea70
--- /dev/null
+++ b/.changeset/purple-waves-smile.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-auth-backend-module-guest-provider': patch
+---
+
+Error if used outside of a development environment without explicit allowance
diff --git a/.changeset/rare-fireants-tickle.md b/.changeset/rare-fireants-tickle.md
new file mode 100644
index 0000000000..8668d4c287
--- /dev/null
+++ b/.changeset/rare-fireants-tickle.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': patch
+---
+
+Added optional `initialShowDropDown` prop to `SidebarSubmenuItem` to internally manage the initial display state of the dropdown items.
diff --git a/.changeset/real-crabs-obey.md b/.changeset/real-crabs-obey.md
new file mode 100644
index 0000000000..9a52f0e5a6
--- /dev/null
+++ b/.changeset/real-crabs-obey.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-search-backend-module-explore': patch
+---
+
+Migrate search collator to use the new auth services.
diff --git a/.changeset/renovate-0d0bd5c.md b/.changeset/renovate-0d0bd5c.md
new file mode 100644
index 0000000000..ac3fe697f9
--- /dev/null
+++ b/.changeset/renovate-0d0bd5c.md
@@ -0,0 +1,11 @@
+---
+'@backstage/plugin-home-react': patch
+'@backstage/plugin-home': patch
+'@backstage/plugin-scaffolder-react': patch
+'@backstage/plugin-scaffolder': patch
+---
+
+Updated dependency `@rjsf/utils` to `5.18.2`.
+Updated dependency `@rjsf/core` to `5.18.2`.
+Updated dependency `@rjsf/material-ui` to `5.18.2`.
+Updated dependency `@rjsf/validator-ajv8` to `5.18.2`.
diff --git a/.changeset/selfish-pigs-glow.md b/.changeset/selfish-pigs-glow.md
new file mode 100644
index 0000000000..c7808c0283
--- /dev/null
+++ b/.changeset/selfish-pigs-glow.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-auth-backend': patch
+'@backstage/plugin-auth-node': patch
+---
+
+Allow overriding default ownership resolving with the new `AuthOwnershipResolutionExtensionPoint`
diff --git a/.changeset/shy-students-clap.md b/.changeset/shy-students-clap.md
new file mode 100644
index 0000000000..0e6244f21d
--- /dev/null
+++ b/.changeset/shy-students-clap.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend-module-gitlab-org': patch
+---
+
+Added a new `catalog-backend-module-gitlab-org` module which adds the `GitlabOrgDiscoveryEntityProvider` to the catalog's providers using the new backend system.
diff --git a/.changeset/silent-wombats-hang.md b/.changeset/silent-wombats-hang.md
new file mode 100644
index 0000000000..85bda32007
--- /dev/null
+++ b/.changeset/silent-wombats-hang.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend-module-msgraph': patch
+---
+
+Handle fetching huge amounts of users from Azure without crashing
diff --git a/.changeset/six-scissors-smile.md b/.changeset/six-scissors-smile.md
new file mode 100644
index 0000000000..7680edbba6
--- /dev/null
+++ b/.changeset/six-scissors-smile.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': patch
+---
+
+The `SignInPage` guest provider will now fall back to legacy guest auth if the backend request fails, allowing guest auth without a running backend.
diff --git a/.changeset/smart-avocados-invent.md b/.changeset/smart-avocados-invent.md
new file mode 100644
index 0000000000..c71b6fef37
--- /dev/null
+++ b/.changeset/smart-avocados-invent.md
@@ -0,0 +1,5 @@
+---
+'@backstage/backend-dynamic-feature-service': patch
+---
+
+Updates the `scanRoot` method in the `PluginScanner` class to specifically ignore the `lost+found` directory, which is a system-generated directory used for file recovery on Unix-like systems. Skipping this directory avoids unnecessary errors.
diff --git a/.changeset/smooth-garlics-behave.md b/.changeset/smooth-garlics-behave.md
new file mode 100644
index 0000000000..ed972ae164
--- /dev/null
+++ b/.changeset/smooth-garlics-behave.md
@@ -0,0 +1,5 @@
+---
+'@backstage/backend-common': patch
+---
+
+Added option to `ServerTokenManager.fromConfig` that allows it to be instantiated in production without any configured keys.
diff --git a/.changeset/sour-socks-approve.md b/.changeset/sour-socks-approve.md
new file mode 100644
index 0000000000..db40806280
--- /dev/null
+++ b/.changeset/sour-socks-approve.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend': minor
+---
+
+Emit well known relationships for the Domain entity kind.
diff --git a/.changeset/stupid-onions-know.md b/.changeset/stupid-onions-know.md
new file mode 100644
index 0000000000..3d028557be
--- /dev/null
+++ b/.changeset/stupid-onions-know.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications': patch
+---
+
+Empty descriptions are not rendered to improve the look&feel.
diff --git a/.changeset/tall-ads-shave.md b/.changeset/tall-ads-shave.md
new file mode 100644
index 0000000000..17d58452eb
--- /dev/null
+++ b/.changeset/tall-ads-shave.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications-backend': patch
+---
+
+Add possibility to generate random notifications on the fly in local development
diff --git a/.changeset/tasty-apes-learn.md b/.changeset/tasty-apes-learn.md
new file mode 100644
index 0000000000..7a4545cf10
--- /dev/null
+++ b/.changeset/tasty-apes-learn.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications': patch
+---
+
+Fix to show web notifications even when browser is on foreground. Fix duplicate notifications with multiple tabs.
diff --git a/.changeset/thick-llamas-itch.md b/.changeset/thick-llamas-itch.md
new file mode 100644
index 0000000000..17d4fb23b6
--- /dev/null
+++ b/.changeset/thick-llamas-itch.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications': patch
+---
+
+Allow defining `className` and additional properties for `NotificationsSideBarItem`
diff --git a/.changeset/tricky-cougars-shout.md b/.changeset/tricky-cougars-shout.md
new file mode 100644
index 0000000000..eed14c9eb8
--- /dev/null
+++ b/.changeset/tricky-cougars-shout.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-search-backend-module-explore': patch
+---
+
+Update README.md to point to explore plugin in community-plugins repository.
diff --git a/.changeset/unlucky-days-play.md b/.changeset/unlucky-days-play.md
new file mode 100644
index 0000000000..b847ebd2fc
--- /dev/null
+++ b/.changeset/unlucky-days-play.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications': patch
+---
+
+Fix infinite loop in the notification title counter
diff --git a/.changeset/unlucky-rivers-collect.md b/.changeset/unlucky-rivers-collect.md
new file mode 100644
index 0000000000..c5ec865658
--- /dev/null
+++ b/.changeset/unlucky-rivers-collect.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications-backend': patch
+---
+
+Updated documentation for sending messages by external services.
diff --git a/.changeset/warm-fans-promise.md b/.changeset/warm-fans-promise.md
new file mode 100644
index 0000000000..a8a8f8a2c7
--- /dev/null
+++ b/.changeset/warm-fans-promise.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-notifications': patch
+---
+
+The rendered size of a notification is limited for very long descriptions.
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 4d18392945..9fc63fbd04 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -45,15 +45,7 @@ yarn.lock @backstage/maintainers @backst
/plugins/devtools-common @backstage/maintainers @backstage/reviewers @awanlin
/plugins/entity-feedback @backstage/maintainers @backstage/reviewers @kuangp
/plugins/entity-feedback-* @backstage/maintainers @backstage/reviewers @kuangp
-/plugins/events-backend @backstage/maintainers @backstage/reviewers @pjungermann
-/plugins/events-backend-module-aws-sqs @backstage/maintainers @backstage/reviewers @pjungermann
-/plugins/events-backend-module-azure @backstage/maintainers @backstage/reviewers @pjungermann
-/plugins/events-backend-module-bitbucket-cloud @backstage/maintainers @backstage/reviewers @pjungermann
-/plugins/events-backend-module-gerrit @backstage/maintainers @backstage/reviewers @pjungermann
-/plugins/events-backend-module-github @backstage/maintainers @backstage/reviewers @pjungermann
-/plugins/events-backend-module-gitlab @backstage/maintainers @backstage/reviewers @pjungermann
-/plugins/events-backend-test-utils @backstage/maintainers @backstage/reviewers @pjungermann
-/plugins/events-node @backstage/maintainers @backstage/reviewers @pjungermann
+/plugins/events-* @backstage/maintainers @backstage/reviewers @backstage/events-maintainers
/plugins/explore @backstage/maintainers @backstage/reviewers @backstage/sda-se-reviewers
/plugins/explore-react @backstage/maintainers @backstage/reviewers @backstage/sda-se-reviewers
/plugins/fossa @backstage/maintainers @backstage/reviewers @backstage/sda-se-reviewers
diff --git a/.github/ISSUE_TEMPLATE/plugin.yaml b/.github/ISSUE_TEMPLATE/plugin.yaml
deleted file mode 100644
index a7f5216631..0000000000
--- a/.github/ISSUE_TEMPLATE/plugin.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-name: 🔌 Plugin
-description: 'Submit a proposal for a new Plugin'
-title: '🔌 Plugin:
'
-labels: [plugin]
-body:
- - type: markdown
- attributes:
- value: |
- We value your time and efforts to submit this Plugin request form. 🙏
- - type: textarea
- id: plugin-summary
- validations:
- required: true
- attributes:
- label: '🔖 Summary'
- description: 'Provide a general summary of the plugin and how it should work'
- placeholder: 'You should add ...'
- - type: textarea
- id: website
- attributes:
- label: '🌐 Project website (if applicable)'
- description: 'Add a link to the open source project or product this plugin will integrate with, if existing'
- placeholder: 'Website Link is ...'
- - type: textarea
- id: context
- attributes:
- label: '✌️ Context'
- description: 'A clear and concise description about the Plugin.'
- placeholder: 'Providing additional context'
- - type: checkboxes
- id: no-duplicate-issues
- attributes:
- label: '👀 Have you spent some time to check if this plugin request has been raised before?'
- options:
- - label: "I checked and didn't find similar issue"
- required: true
- - type: checkboxes
- id: read-code-of-conduct
- attributes:
- label: '🏢 Have you read the Code of Conduct?'
- options:
- - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
- required: true
- - type: dropdown
- id: willing-to-submit-pr
- attributes:
- label: Are you willing to submit PR?
- description: This is absolutely not required, but we are happy to guide you in the contribution process.
- options:
- - Yes I am willing to submit a PR!
- - No, but I'm happy to collaborate on a PR with someone else
- - No, I don't have time to work on this right now
diff --git a/.github/issue-labeler.yml b/.github/issue-labeler.yml
index c86279d411..6d74ce8902 100644
--- a/.github/issue-labeler.yml
+++ b/.github/issue-labeler.yml
@@ -2,6 +2,8 @@ area:techdocs:
- '/(techdocs|tech-docs|tech docs)/i'
area:discoverability:
- '/search/i'
+area:events:
+ - '/events/i'
area:catalog:
- '/catalog/i'
area:scaffolder:
diff --git a/.github/labeler.yml b/.github/labeler.yml
index cb28d955b4..a58da1d2f7 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -11,6 +11,10 @@ area:discoverability: # search + home
- plugins/search-*/**/*
- packages/search-*/**/*
- plugins/home/**/*
+area:events:
+ - changed-files:
+ - any-glob-to-any-file:
+ - plugins/events-*/**/*
area:kubernetes:
- changed-files:
- any-glob-to-any-file:
diff --git a/.github/vale/config/vocabularies/Backstage/accept.txt b/.github/vale/config/vocabularies/Backstage/accept.txt
index b525d7e48e..026e5a9b18 100644
--- a/.github/vale/config/vocabularies/Backstage/accept.txt
+++ b/.github/vale/config/vocabularies/Backstage/accept.txt
@@ -362,6 +362,8 @@ SIG
SIGs
siloed
Sinon
+snackbars
+snackbar
Snyk
Sonarqube
sourcemaps
diff --git a/.github/workflows/automate_changeset_feedback.yml b/.github/workflows/automate_changeset_feedback.yml
index 095dfcd4f2..4d965499d2 100644
--- a/.github/workflows/automate_changeset_feedback.yml
+++ b/.github/workflows/automate_changeset_feedback.yml
@@ -27,14 +27,14 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
# Fetch the commit that's merged into the base rather than the target ref
# This will let us diff only the contents of the PR, without fetching more history
ref: 'refs/pull/${{ github.event.pull_request.number }}/merge'
- name: fetch base
run: git fetch --depth 1 origin ${{ github.base_ref }}
- - uses: backstage/actions/changeset-feedback@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ - uses: backstage/actions/changeset-feedback@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
name: Generate feedback
with:
diff-ref: 'origin/master'
diff --git a/.github/workflows/automate_merge_message.yml b/.github/workflows/automate_merge_message.yml
index 0c6dacde69..38243ee0ac 100644
--- a/.github/workflows/automate_merge_message.yml
+++ b/.github/workflows/automate_merge_message.yml
@@ -28,7 +28,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
ref: '${{ github.event.pull_request.merge_commit_sha }}'
diff --git a/.github/workflows/automate_stale.yml b/.github/workflows/automate_stale.yml
index 691066fb61..c7674e853d 100644
--- a/.github/workflows/automate_stale.yml
+++ b/.github/workflows/automate_stale.yml
@@ -28,7 +28,7 @@ jobs:
for your contributions.
days-before-issue-stale: 60
days-before-issue-close: 7
- exempt-issue-labels: plugin,after-vacations,will-fix
+ exempt-issue-labels: plugin,after-vacations,will-fix,bep
stale-issue-label: stale
stale-pr-message: >
This PR has been automatically marked as stale because it has not had
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b8be6488c1..fdd31b2d57 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -32,7 +32,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -41,7 +41,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -68,7 +68,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -77,7 +77,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -197,7 +197,7 @@ jobs:
INTEGRATION_TEST_AZURE_TOKEN: ${{ secrets.INTEGRATION_TEST_AZURE_TOKEN }}
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: fetch master branch
run: git fetch origin master
@@ -213,7 +213,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml
index da5867bcd7..c32d50ced5 100644
--- a/.github/workflows/cron.yml
+++ b/.github/workflows/cron.yml
@@ -13,7 +13,7 @@ jobs:
with:
egress-policy: audit
- - uses: backstage/actions/cron@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ - uses: backstage/actions/cron@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml
index 5ccc2215d9..020254c872 100644
--- a/.github/workflows/deploy_docker-image.yml
+++ b/.github/workflows/deploy_docker-image.yml
@@ -25,7 +25,7 @@ jobs:
egress-policy: audit
- name: checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
path: backstage
ref: ${{ github.event.client_payload.version && env.RELEASE_VERSION || github.ref }}
@@ -37,7 +37,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
diff --git a/.github/workflows/deploy_microsite.yml b/.github/workflows/deploy_microsite.yml
index e9abba59a3..6864ec67dc 100644
--- a/.github/workflows/deploy_microsite.yml
+++ b/.github/workflows/deploy_microsite.yml
@@ -28,7 +28,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js 18.x
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -66,7 +66,7 @@ jobs:
run: ls microsite/build && ls microsite/build/storybook
- name: Deploy both microsite and storybook to gh-pages
- uses: JamesIves/github-pages-deploy-action@65b5dfd4f5bcd3a7403bbc2959c144256167464e # v4.5.0
+ uses: JamesIves/github-pages-deploy-action@ec9c88baef04b842ca6f0a132fd61c762aa6c1b0 # v4.6.0
with:
branch: gh-pages
folder: microsite/build
diff --git a/.github/workflows/deploy_nightly.yml b/.github/workflows/deploy_nightly.yml
index f9d3353e9b..07c3db0f11 100644
--- a/.github/workflows/deploy_nightly.yml
+++ b/.github/workflows/deploy_nightly.yml
@@ -19,7 +19,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js 18.x
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -27,7 +27,7 @@ jobs:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v18.x
diff --git a/.github/workflows/deploy_packages.yml b/.github/workflows/deploy_packages.yml
index 8861d03ddf..775d8d00f8 100644
--- a/.github/workflows/deploy_packages.yml
+++ b/.github/workflows/deploy_packages.yml
@@ -65,7 +65,7 @@ jobs:
INTEGRATION_TEST_AZURE_TOKEN: ${{ secrets.INTEGRATION_TEST_AZURE_TOKEN }}
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -73,7 +73,7 @@ jobs:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -148,7 +148,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -156,7 +156,7 @@ jobs:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
diff --git a/.github/workflows/issue.yaml b/.github/workflows/issue.yaml
index 1a275eeb93..f8f5efacc4 100644
--- a/.github/workflows/issue.yaml
+++ b/.github/workflows/issue.yaml
@@ -19,6 +19,7 @@ jobs:
with:
include-title: 1
include-body: 0
- configuration-path: .github/labeler.yml
+ configuration-path: .github/issue-labeler.yml
+ enable-versioned-regex: 0
not-before: 2024-04-19T15:03:51Z
repo-token: '${{ secrets.GITHUB_TOKEN }}'
diff --git a/.github/workflows/pr-review-comment.yaml b/.github/workflows/pr-review-comment.yaml
index 0768b6355e..72256a8c6e 100644
--- a/.github/workflows/pr-review-comment.yaml
+++ b/.github/workflows/pr-review-comment.yaml
@@ -40,7 +40,7 @@ jobs:
const prNumber = artifact.name.slice('pr_number-'.length)
core.setOutput('pr-number', prNumber);
- - uses: backstage/actions/re-review@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ - uses: backstage/actions/re-review@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index e9750f1018..3aa20b1c96 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -23,7 +23,7 @@ jobs:
egress-policy: audit
- name: PR sync
- uses: backstage/actions/pr-sync@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/pr-sync@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 19052d6bc8..91f1b02fee 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -34,7 +34,7 @@ jobs:
egress-policy: audit
- name: 'Checkout code'
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
persist-credentials: false
@@ -66,6 +66,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: 'Upload to code-scanning'
- uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
+ uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
with:
sarif_file: results.sarif
diff --git a/.github/workflows/sync_code-formatting.yml b/.github/workflows/sync_code-formatting.yml
index 9e0ed5bccd..5dbd0361c1 100644
--- a/.github/workflows/sync_code-formatting.yml
+++ b/.github/workflows/sync_code-formatting.yml
@@ -14,7 +14,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
# Fetch changes to previous commit - required for 'only_changed' in Prettier action
fetch-depth: 0
@@ -25,7 +25,7 @@ jobs:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
diff --git a/.github/workflows/sync_dependabot-changesets.yml b/.github/workflows/sync_dependabot-changesets.yml
index c2a447e369..8b3be335ed 100644
--- a/.github/workflows/sync_dependabot-changesets.yml
+++ b/.github/workflows/sync_dependabot-changesets.yml
@@ -16,7 +16,7 @@ jobs:
egress-policy: audit
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
fetch-depth: 2
ref: ${{ github.head_ref }}
diff --git a/.github/workflows/sync_release-manifest.yml b/.github/workflows/sync_release-manifest.yml
index 64dec1905a..b0a2499d43 100644
--- a/.github/workflows/sync_release-manifest.yml
+++ b/.github/workflows/sync_release-manifest.yml
@@ -21,7 +21,7 @@ jobs:
run: npm install semver@7.3.5 fs-extra@10.0.0 @manypkg/get-packages@1.1.1
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
path: backstage
# 'v' prefix is added here for the tag, we keep it out of the manifest logic
@@ -29,7 +29,7 @@ jobs:
# Checkout backstage/versions into /backstage/versions, which is where store the output
- name: Checkout versions
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
repository: backstage/versions
path: backstage/versions
diff --git a/.github/workflows/sync_renovate-changesets.yml b/.github/workflows/sync_renovate-changesets.yml
index 83b9f8f574..d02e35483c 100644
--- a/.github/workflows/sync_renovate-changesets.yml
+++ b/.github/workflows/sync_renovate-changesets.yml
@@ -16,7 +16,7 @@ jobs:
egress-policy: audit
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
fetch-depth: 2
ref: ${{ github.head_ref }}
diff --git a/.github/workflows/sync_snyk-github-issues.yml b/.github/workflows/sync_snyk-github-issues.yml
index f7663562e4..d5a4048044 100644
--- a/.github/workflows/sync_snyk-github-issues.yml
+++ b/.github/workflows/sync_snyk-github-issues.yml
@@ -16,7 +16,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js 18.x
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -24,7 +24,7 @@ jobs:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v18.x
diff --git a/.github/workflows/sync_snyk-monitor.yml b/.github/workflows/sync_snyk-monitor.yml
index 08f333d3fc..70fb8a44d9 100644
--- a/.github/workflows/sync_snyk-monitor.yml
+++ b/.github/workflows/sync_snyk-monitor.yml
@@ -29,7 +29,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Monitor and Synchronize Snyk Policies
uses: snyk/actions/node@8349f9043a8b7f0f3ee8885bf28f0b388d2446e8 # master
with:
@@ -58,6 +58,6 @@ jobs:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
NODE_OPTIONS: --max-old-space-size=7168
- name: Upload Snyk report
- uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
+ uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
with:
sarif_file: snyk.sarif
diff --git a/.github/workflows/sync_version-packages.yml b/.github/workflows/sync_version-packages.yml
index 3164e471d2..b2ad80b6da 100644
--- a/.github/workflows/sync_version-packages.yml
+++ b/.github/workflows/sync_version-packages.yml
@@ -18,7 +18,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
fetch-depth: 20000
fetch-tags: true
@@ -26,7 +26,7 @@ jobs:
- name: Install Dependencies
run: yarn --immutable
- name: Create Release Pull Request
- uses: backstage/changesets-action@99063c276a7f12e024cb310e7a05a3a5b89449f8 # v2.1.0
+ uses: backstage/changesets-action@291bfc1f76d1dcfbf967f5810dc0423592eae09a # v2.3.1
with:
# Calls out to `changeset version`, but also runs prettier
version: yarn release
diff --git a/.github/workflows/uffizzi-build.yml b/.github/workflows/uffizzi-build.yml
index 1b94c37b75..4a52af21bc 100644
--- a/.github/workflows/uffizzi-build.yml
+++ b/.github/workflows/uffizzi-build.yml
@@ -31,7 +31,7 @@ jobs:
egress-policy: audit
- name: checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: setup-node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -40,7 +40,7 @@ jobs:
registry-url: https://registry.npmjs.org/
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: linux-v18
@@ -89,7 +89,7 @@ jobs:
egress-policy: audit
- name: Checkout git repo
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Render Compose File
run: |
# update image after the build above
diff --git a/.github/workflows/verify_accessibility.yml b/.github/workflows/verify_accessibility.yml
index 90e2fea52e..1c25d709cb 100644
--- a/.github/workflows/verify_accessibility.yml
+++ b/.github/workflows/verify_accessibility.yml
@@ -24,13 +24,13 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Use Node.js 18.x
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 18.x
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v18.x
- name: run Lighthouse CI
diff --git a/.github/workflows/verify_codeql.yml b/.github/workflows/verify_codeql.yml
index 1e4c5a2066..e82577763e 100644
--- a/.github/workflows/verify_codeql.yml
+++ b/.github/workflows/verify_codeql.yml
@@ -47,7 +47,7 @@ jobs:
egress-policy: audit
- name: Checkout repository
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -55,7 +55,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
+ uses: github/codeql-action/init@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -66,7 +66,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
- uses: github/codeql-action/autobuild@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
+ uses: github/codeql-action/autobuild@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -80,4 +80,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
+ uses: github/codeql-action/analyze@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
diff --git a/.github/workflows/verify_docs-quality.yml b/.github/workflows/verify_docs-quality.yml
index 2065af00fb..3550df6fc0 100644
--- a/.github/workflows/verify_docs-quality.yml
+++ b/.github/workflows/verify_docs-quality.yml
@@ -16,7 +16,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
# Vale does not support file excludes, so we use the script to generate a list of files instead
# The action also does not allow args or a local config file to be passed in, so the files array
diff --git a/.github/workflows/verify_e2e-kubernetes.yml b/.github/workflows/verify_e2e-kubernetes.yml
index 2dd09f1070..6ff41c8b74 100644
--- a/.github/workflows/verify_e2e-kubernetes.yml
+++ b/.github/workflows/verify_e2e-kubernetes.yml
@@ -26,7 +26,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
@@ -35,7 +35,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml
index 4942ae8d2f..a750dfea3b 100644
--- a/.github/workflows/verify_e2e-linux.yml
+++ b/.github/workflows/verify_e2e-linux.yml
@@ -45,7 +45,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Configure Git
run: |
@@ -58,7 +58,7 @@ jobs:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
diff --git a/.github/workflows/verify_e2e-techdocs.yml b/.github/workflows/verify_e2e-techdocs.yml
index b2c3c79c78..3bcda5f2b6 100644
--- a/.github/workflows/verify_e2e-techdocs.yml
+++ b/.github/workflows/verify_e2e-techdocs.yml
@@ -34,7 +34,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: '3.9'
diff --git a/.github/workflows/verify_e2e-windows.yml b/.github/workflows/verify_e2e-windows.yml
index 84e50744da..078ddd6855 100644
--- a/.github/workflows/verify_e2e-windows.yml
+++ b/.github/workflows/verify_e2e-windows.yml
@@ -42,7 +42,7 @@ jobs:
git config --global core.autocrlf false
git config --global core.eol lf
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Configure Git
run: |
@@ -78,7 +78,7 @@ jobs:
uses: browser-actions/setup-chrome@803ef6dfb4fdf22089c9563225d95e4a515820a0 # latest
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
diff --git a/.github/workflows/verify_fossa.yml b/.github/workflows/verify_fossa.yml
index fd555159b1..801c5fbd28 100644
--- a/.github/workflows/verify_fossa.yml
+++ b/.github/workflows/verify_fossa.yml
@@ -19,7 +19,7 @@ jobs:
egress-policy: audit
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Install Fossa
run: "curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/fossas/fossa-cli/master/install.sh | bash"
diff --git a/.github/workflows/verify_microsite.yml b/.github/workflows/verify_microsite.yml
index cee89a8ba2..68378aa086 100644
--- a/.github/workflows/verify_microsite.yml
+++ b/.github/workflows/verify_microsite.yml
@@ -28,12 +28,18 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js 18.x
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 18.x
+ - uses: actions/setup-python@v5
+ with:
+ python-version: '3.9'
+
+ - name: Install MkDocs dependencies
+ run: pip install mkdocs mkdocs-techdocs-core
# Skip caching of microsite dependencies, it keeps the global cache size
# smaller, which make Windows builds a lot faster for the rest of the project.
@@ -47,9 +53,6 @@ jobs:
- name: build API reference
run: yarn build:api-docs
- - name: Install MkDocs dependencies
- run: pip3 install mkdocs mkdocs-techdocs-core
-
- name: Build MkDocs for TechDocs
run: mkdocs build --strict
diff --git a/.github/workflows/verify_microsite_accessibility.yml b/.github/workflows/verify_microsite_accessibility.yml
index fa5e54905f..e0fea1a72c 100644
--- a/.github/workflows/verify_microsite_accessibility.yml
+++ b/.github/workflows/verify_microsite_accessibility.yml
@@ -19,7 +19,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Use Node.js 18.x
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml
index b0dc4a2445..940c136797 100644
--- a/.github/workflows/verify_storybook.yml
+++ b/.github/workflows/verify_storybook.yml
@@ -32,7 +32,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
fetch-depth: 0 # Required to retrieve git history
@@ -42,7 +42,7 @@ jobs:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
- uses: backstage/actions/yarn-install@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
+ uses: backstage/actions/yarn-install@af61233abb88019335b07ab855873d991f43d25a # v0.6.7
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: storybook yarn install
diff --git a/.github/workflows/verify_windows.yml b/.github/workflows/verify_windows.yml
index 7d772bd765..32b0452eec 100644
--- a/.github/workflows/verify_windows.yml
+++ b/.github/workflows/verify_windows.yml
@@ -33,7 +33,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
diff --git a/ADOPTERS.md b/ADOPTERS.md
index 32c136fc52..3878563683 100644
--- a/ADOPTERS.md
+++ b/ADOPTERS.md
@@ -262,6 +262,7 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
| [Cielo](https://www.cielo.com.br) | [@Alex Silva](https://github.com/narokwq) | We are using as our Internal Developer Portal, it provides developers with the resources, information, and tools they need to build high-quality applications and adhere to organizational standards and security practices. |
| [Giant Swarm](https://giantswarm.io) | [Lucas Weatherhog](https://github.com/weatherhog) | At Giant Swarm we are using Backstage as our internal developer portal. Heavily using the service catalog and the TechDocs plugin. Further looking into adopting functionalities of our Web UI into Backstage to have a single pane of glass for our core business, managing all our components, and helping developers to be more productive. |
| [WD Studios](https://wdstudios.tech) | [Mikael Aboagye](https://github.com/JailbreakPapa) | We are using Backstage as our main internal developer portal for our Programmers and Studio Partners. It's really proven its worth at our studio with on-boarding new programmers! |
+| [Anuclei](https://anuclei.com) | [Mark Jackson](https://github.com/markjacksonfishing) | At Anuclei, we are using Backstage as our internal portal for developers, providing all the tools and guidance needed for full-stack software projects. It simplifies our development methods, making innovation and investment in new ideas consistent and easy to repeat.
| [Fortnox](https://www.fortnox.se) | [@magnusp](https://github.com/magnusp) | With Backstage we consolidate our internal tools into a single pane of glass and let the catalog drive our user interface. Our software templates onboard our services and teams onto Backstage, and with Techdocs we are letting our developers get back in control of their own documentation. |
| [Wefox](https://www.wefox.com) | [@dibenlloch](https://github.com/dibenlloch) | Internal developer portal to consolidate all developers dashboards, company inventory with compliance reports, team management and self-service portal for IT/Team operations. |
| [Aurora Innovation](https://aurorainnovation.com) | [@O5ten](https://github.com/O5ten) | Heavy usage of scaffolder, techdocs, homepage, k8s plugin and homegrown plugins to track migration paths and so on within a developer portal. It acts as a starting point for new and old developers to find all of our internal tooling in one place.
diff --git a/OWNERS.md b/OWNERS.md
index 8080365166..ab35b5b1e5 100644
--- a/OWNERS.md
+++ b/OWNERS.md
@@ -118,6 +118,16 @@ Scope: Tooling and Community Repo Maintainers for the Backstage [Community Plugi
| Philipp Hugenroth | Spotify | [tudi2d](https://github.com/tudi2d) | `tudi2d` |
| Vincenzo Scamporlino | Spotify | [vinzscam](https://github.com/vinzscam) | `vinzscam` |
+### Events
+
+Team: @backstage/events-maintainers
+
+Scope: The Events plugin and library, along with events modules in the main repository
+
+| Name | Organization | GitHub | Discord |
+| ------------------ | ------------------------- | --------------------------------------------- | ------------- |
+| Patrick Jungermann | Bonial International GmbH | [pjungermann](https://github.com/pjungermann) | `pjungermann` |
+
### Notifications
Team: @backstage/notifications-maintainers
diff --git a/app-config.yaml b/app-config.yaml
index c016260bf8..9e5b5c468c 100644
--- a/app-config.yaml
+++ b/app-config.yaml
@@ -246,7 +246,6 @@ catalog:
plugins:
- catalog
- search
- - todo
processors:
ldapOrg:
diff --git a/beps/0003-auth-architecture-evolution/README.md b/beps/0003-auth-architecture-evolution/README.md
index 403390e567..33bf80a099 100644
--- a/beps/0003-auth-architecture-evolution/README.md
+++ b/beps/0003-auth-architecture-evolution/README.md
@@ -1,6 +1,6 @@
---
title: Auth Architecture Evolution
-status: implementable
+status: implemented
authors:
- '@Rugvip'
owners:
diff --git a/beps/0007-auth-external-services/README.md b/beps/0007-auth-external-services/README.md
index c8c20879d0..d49cd7992f 100644
--- a/beps/0007-auth-external-services/README.md
+++ b/beps/0007-auth-external-services/README.md
@@ -12,9 +12,7 @@ creation-date: 2024-03-30
# BEP: Authentication of External Services
-
-
-[**Discussion Issue**](https://github.com/backstage/backstage/issues/NNNNN)
+[**Discussion Issue**](https://github.com/backstage/backstage/issues/24349)
- [Summary](#summary)
- [Motivation](#motivation)
@@ -28,17 +26,15 @@ creation-date: 2024-03-30
## Summary
-This proposal builds upon the foundation laid out in the 0003-auth-architecture-evolution BEP by introducing an authentication mechanism designed for external callers seeking to access the REST APIs exposed by Backstage or its plugins.
+This proposal builds upon the foundation laid out in the [Auth Architecture Evolution BEP](https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution), by improving the authentication mechanisms used by external callers seeking to access the REST APIs exposed by Backstage plugins.
-This addition is not intended to supplant or offer an alternative to existing JWT tokens utilized for backend-to-backend or frontend-to-backend communication. JWT tokens remain a viable option for external callers. However, this proposal presents additional options to simplify usage, especially in heterogeneous setups.
+Specifically, the inclusion of shared-key based authentication is proposed, along with a framework for integrating different authentication types in the future. Compatibility with the legacy shared-secret token signature mechanism is retained.
-Specifically, the inclusion of shared-key based authentication is proposed, along with a framework for integrating different authentication types in the future.
-
-By implementing this proposed solution, security should not be compromised beyond the existing state when exposing the API to the internet. Nonetheless, it is advisable to maintain a level of protection by shielding the API from direct internet access.
+By implementing this proposed solution, security should not be compromised beyond the existing state when exposing the API to the internet. Nonetheless, it is advisable to maintain a level of protection by shielding your deployments from the internet access unless you explicitly need public access.
## Motivation
-This proposal represents a progression from the tutorial in https://backstage.io/docs/auth/service-to-service-auth/#usage-in-external-callers in the context of the new Authentication service.
+This proposal represents a progression from [the old service to service auth tutorial](https://backstage.io/docs/auth/service-to-service-auth--old/#usage-in-external-callers) in the context of the new `coreServices.auth` and `coreServices.httpAuth` authentication services.
It offers expanded configuration possibilities and will include ready-to-use examples as part of the implementation to streamline the process of invoking REST services exposed by Backstage backend plugins for external services.
@@ -46,12 +42,16 @@ The previous tutorial lacked clarity on how to effectively structure the call, r
Examples of potential use-cases include:
-- An external asynchronous service requiring the ability to send notifications to users. To facilitate this process, no code change but configuration only is needed on the Backstage side.
+- An external asynchronous service requiring the ability to send notifications to users
+- Integrations for external services interacting with the catalog
+- Temporary `curl` friendly tokens in local development
+
+To facilitate this process, no code change but configuration only is needed on the Backstage side.
### Goals
- The primary objective is to facilitate access for external heterogeneous services to the Backstage REST API without involving unnecessary complexity.
-- This addition is entirely optional. JWT tokens remain mandatory for all internal communication within Backstage.
+- Moving to the proposed new auth scheme is entirely optional. The old shared key signature tokens remain usable.
- Configuration options will allow specification of which API endpoints can be accessed by an external entity.
- Limiting API context and granting distinct external access independently helps mitigate security risks. A compromised external service can only access a restricted portion of the API.
- Enhanced clarity and updated examples make it easy to comprehend and utilize.
@@ -60,54 +60,108 @@ Examples of potential use-cases include:
It is not a goal
-- to replace the current Backstage service-to-service authentication or tokens,
-- to offer a bypass option for Backstage plugins to circumvent existing service-to-service authentication. Even if feasible, such a bypass would be considered as an anti-pattern.
+- To replace the current Backstage service-to-service authentication or tokens,
+- To offer a bypass option for Backstage plugins to circumvent existing service-to-service authentication. Even if feasible, such a bypass would be considered as an anti-pattern.
## Proposal
-The `app-config.yaml` `backend.auth.keys` property will become an array containing alternative authentication mechanisms for callers.
+The `backend.auth.keys` section of your app config remains supported for the time being, but is considered legacy. It is read by the new auth handler code solely for backward compatibility reasons. Using this format will lead to a logged warning urging a migration to the new format described below.
-JWT tokens remain obligatory for internal Backstage calls and become optional for external callers. Given the complexity associated with composing JWT tokens by external entities, alternative authentication options will be provided for external callers:
+This BEP adds a `backend.auth.externalAccess` section to your app config. This section is the new recommended way of declaring all methods of external service access that you want to support. Like the legacy section above, it is an array, but each element has a `type` field to allow for extensibility. Using an array also means that the configuration system will not make any config merging of access methods across different config files - which avoids unintended mistakes that might otherwise have impacted security.
-```
-backend:
- auth:
- keys:
- - type: static
- value: ${SERVICE_API_KEY}
- context: '/'
- - type: jwks
- value: https://other-service.acme.org/.well-known/jwks.json
- context: '/foo'
- - type: certificate
- value:
- $file: ./service-cert.pem
- context: '/foo/bar'
-```
-
-The static type is designed for a straightforward shared-key strategy. In this approach, an external service provides a secret string to authenticate itself and access REST resources within a specified context. The shared key is transmitted via a new request header, `authorization_static`.
-
-Ideally, each external service should have its own unique secret key, even when accessing the same context. If a service requires access to different, separate contexts, multiple corresponding entries will be added to the configuration.
-
-While other authentication types are provided as examples for potential future expansions, they will not be implemented in the initial phase. However, additional types, including those not yet defined, can be introduced in subsequent phases.
-
-Introducing a new external caller with its exclusive secret key entails updating the app-config.yaml file and restarting the backend. This mechanism is designed to support integration with selected services, and therefore dynamic addition of callers is not necessary.
-
-New type-specific functions, such as authenticateStatic(), will be integrated into the AuthService, alongside the existing authenticate() function, which will remain dedicated to JWT tokens.
-
-No changes will be made to the existing APIs, as any necessary adjustments can be incorporated within private functions of the existing DefaultHttpAuthService implementation.
-
-Specifically, the DefaultHttpAuthService.extractCredentialsFromRequest function will continue to retrieve a bearer token in JWT format from the authorization header as before. If this header is absent, the service will proceed to read and manage the header corresponding to the next authentication type.
-
-Furthermore, the options parameter of the HttpAuthService.credentials() function will be expanded to include a new context property. This property will be compared to the value of the context configuration property associated with the corresponding authentication key. If the context parameter is not a subset of the configuration property, the request will be denied.
+The two types of external access covered by this BEP are `legacy` and `static`. More on that below.
## Design Details
-
+### Configuration
+
+The following is an example of what an app config section with a single access method could look like:
+
+```yaml
+backend:
+ auth:
+ externalAccess:
+ - type: static
+ options:
+ token: ${SERVICE_API_TOKEN}
+ scope:
+ plugins: catalog
+```
+
+Each entry has a `type`, which is any string. The framework handles a number of these types - initially a fixed set, but in the future we might make it extensible.
+
+The `options` is a general object, and is specific to each type, configuring it as needed. This particular type only had a `token`, which was configured to be taken from an environment variable.
+
+Each entry may also optionally have a `scope` section that controls what operations that this entry can be used for. Attempting to use this access method for any other scope will lead to 403 error rejections. Scopes can contain plugin IDs and/or permissions.
+
+Introducing a new external caller with its exclusive secret key entails updating the app-config.yaml file and restarting the backend. This mechanism is designed to support integration with selected services, and therefore dynamic addition of callers is not necessary at this point.
+
+### Scopes
+
+Scopes are optional. If you do not specify any scopes, the access method in question has unlimited scope and can perform all types of action.
+
+In the examples below, either a string or a list of strings can be given.
+
+If _any_ scope rule matches, the action is permitted. I.e., if you specify a plugin rule, then also adding permission rules for that plugin will have no effect since the plugin rule will have already matched.
+
+You can limit by the target plugin ID being accessed with the token:
+
+```yaml
+scope:
+ plugin: catalog
+```
+
+You can limit by the type of permission being requested:
+
+```yaml
+scope:
+ permission: catalog.entity.read
+```
+
+Or by permissions attribute:
+
+```yaml
+scope:
+ permissionAttributes: { action: read }
+```
+
+### The Legacy Access Type
+
+Configuration example:
+
+```yaml
+backend:
+ auth:
+ externalAccess:
+ - type: legacy
+ options:
+ secret: ${EXTERNAL_ACCESS_SIGNATURE_SECRET}
+ # scope: ...
+```
+
+This corresponds exactly to the old shared secret signature method, and any secrets entered here will be merged with those specified under `backend.auth.keys` if any.
+
+### The Static Access Type
+
+Configuration example:
+
+```yaml
+backend:
+ auth:
+ externalAccess:
+ - type: static
+ options:
+ token: ${SERVICE_API_TOKEN}
+ # scope: ...
+```
+
+This allows you to specify any static token string as an API key, which callers send verbatim as the header `Authorization: Bearer `.
+
+### Implementation
+
+The token verification of the two access methods will live entirely with the `coreServices.auth` service implementation, and will be returning regular credentials with a service principal. The implementation will only need to alter the `authenticate` method and no additions to the API will be necessary.
+
+The service principal type will need to be amended with an optional scope field, carried over from the configuration. This will let the `ServerPermissionClient` compare against the set of allowlisted actions. In addition, the auth service can early-reject based on plugin ID if such rules are given.
## Release Plan
@@ -117,13 +171,30 @@ This section should describe the rollout process for any new features. It must t
If there is any particular feedback to be gathered during the rollout, this should be described here as well.
-->
-TBD
+The initial pilot implementation of the `legacy` and `static` types has already been merged, along with the corresponding config additions.
-- adding different types in the future
+Validating this implementation, and adding scope restrictions, is still on todo but could be added incrementally at any time without breaking changes - as long as the default scope is "all".
+
+We have left it out of the scope of this BEP to allow for addition of more access types. Making that a possibility will likely require the addition of service extension points at a framework level, which is not yet made a priority.
+
+Potential _future_ access types (not part of this BEP, but rather only for illustration) could for example be:
+
+```yaml
+backend:
+ auth:
+ externalAccess:
+ - type: jwks
+ options:
+ url: https://other-service.acme.org/.well-known/jwks.json
+ - type: certificate
+ options:
+ publicCert:
+ $file: ./service-cert.pem
+```
## Dependencies
-- 0003-auth-architecture-evolution
+- [BEP-0003: Auth Architecture Evolution](https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution)
## Alternatives
diff --git a/contrib/docs/tutorials/authenticate-api-requests.md b/contrib/docs/tutorials/authenticate-api-requests.md
index 8b71151ee9..838aaffef6 100644
--- a/contrib/docs/tutorials/authenticate-api-requests.md
+++ b/contrib/docs/tutorials/authenticate-api-requests.md
@@ -1,5 +1,14 @@
# Authenticate API requests
+> [!CAUTION]
+> This entire guide MUST NOT BE USED by users of Backstage 1.26 and
+> newer. If you have applied the changes in this guide, you need to remove them
+> again as you upgrade to recent versions of Backstage. When [the new auth
+> changes](https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution)
+> landed backends became natively secured through the framework, and the
+> instructions outlined in here can interfere with the backend functioning
+> correctly.
+
The Backstage backend APIs are by default available without authentication. To avoid evil-doers from accessing or modifying data, one might use a network protection mechanism such as a firewall or an authenticating reverse proxy. For Backstage instances that are available on the Internet one can instead use the experimental IdentityClient as outlined below.
API requests from frontend plugins include an authorization header with a Backstage identity token acquired when the user logs in. By adding a middleware that verifies said token to be valid and signed by Backstage, non-authenticated requests can be blocked with a 401 Unauthorized response.
diff --git a/docs/backend-system/building-backends/08-migrating.md b/docs/backend-system/building-backends/08-migrating.md
index e699f54e22..1d7e1dcd03 100644
--- a/docs/backend-system/building-backends/08-migrating.md
+++ b/docs/backend-system/building-backends/08-migrating.md
@@ -1254,100 +1254,100 @@ backend.add(import('@backstage/plugin-kubernetes-backend/alpha'));
The vast majority of the backend plugins that currently live in the Backstage Repo have been migrated and their respective `README`s have details on how they should be installed using the New Backend System.
-| Package | Role | Migrated | Uses Alpha Export | Link to `README` |
-| ------------------------------------------------------------------ | --------------------- | -------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------- |
-| @backstage/plugin-adr-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md) |
-| @backstage/plugin-airbrake-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/airbrake-backend/README.md) |
-| @backstage/plugin-app-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/app-backend/README.md) |
-| @backstage/plugin-auth-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend/README.md) |
-| @backstage/plugin-auth-backend-module-atlassian-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-atlassian-provider/README.md) |
-| @backstage/plugin-auth-backend-module-aws-alb-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-aws-alb-provider/README.md) |
-| @backstage/plugin-auth-backend-module-gcp-iap-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-gcp-iap-provider/README.md) |
-| @backstage/plugin-auth-backend-module-github-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-github-provider/README.md) |
-| @backstage/plugin-auth-backend-module-gitlab-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-gitlab-provider/README.md) |
-| @backstage/plugin-auth-backend-module-google-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-google-provider/README.md) |
-| @backstage/plugin-auth-backend-module-guest-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-guest-provider/README.md) |
-| @backstage/plugin-auth-backend-module-microsoft-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-microsoft-provider/README.md) |
-| @backstage/plugin-auth-backend-module-oauth2-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oauth2-provider/README.md) |
-| @backstage/plugin-auth-backend-module-oauth2-proxy-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oauth2-proxy-provider/README.md) |
-| @backstage/plugin-auth-backend-module-oidc-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oidc-provider/README.md) |
-| @backstage/plugin-auth-backend-module-okta-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-okta-provider/README.md) |
-| @backstage/plugin-auth-backend-module-pinniped-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-pinniped-provider/README.md) |
-| @backstage/plugin-auth-backend-module-vmware-cloud-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-vmware-cloud-provider/README.md) |
-| @backstage/plugin-azure-devops-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/azure-devops-backend/README.md) |
-| @backstage/plugin-azure-sites-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/azure-sites-backend/README.md) |
-| @backstage/plugin-badges-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/badges-backend/README.md) |
-| @backstage/plugin-bazaar-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/bazaar-backend/README.md) |
-| @backstage/plugin-catalog-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend/README.md) |
-| @backstage/plugin-catalog-backend-module-aws | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-aws/README.md) |
-| @backstage/plugin-catalog-backend-module-azure | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-azure/README.md) |
-| @backstage/plugin-catalog-backend-module-backstage-openapi | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-backstage-openapi/README.md) |
-| @backstage/plugin-catalog-backend-module-bitbucket-cloud | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-bitbucket-cloud/README.md) |
-| @backstage/plugin-catalog-backend-module-bitbucket-server | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-bitbucket-server/README.md) |
-| @backstage/plugin-catalog-backend-module-gcp | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gcp/README.md) |
-| @backstage/plugin-catalog-backend-module-gerrit | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gerrit/README.md) |
-| @backstage/plugin-catalog-backend-module-github | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-github/README.md) |
-| @backstage/plugin-catalog-backend-module-github-org | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-github-org/README.md) |
-| @backstage/plugin-catalog-backend-module-gitlab | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gitlab/README.md) |
-| @backstage/plugin-catalog-backend-module-incremental-ingestion | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-incremental-ingestion/README.md) |
-| @backstage/plugin-catalog-backend-module-ldap | backend-plugin-module | | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-ldap/README.md) |
-| @backstage/plugin-catalog-backend-module-msgraph | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-msgraph/README.md) |
-| @backstage/plugin-catalog-backend-module-openapi | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-openapi/README.md) |
-| @backstage/plugin-catalog-backend-module-puppetdb | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-puppetdb/README.md) |
-| @backstage/plugin-catalog-backend-module-scaffolder-entity-model | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-scaffolder-entity-model/README.md) |
-| @backstage/plugin-catalog-backend-module-unprocessed | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-unprocessed/README.md) |
-| @backstage/plugin-code-coverage-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/code-coverage-backend/README.md) |
-| @backstage/plugin-devtools-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/devtools-backend/README.md) |
-| @backstage/plugin-entity-feedback-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/entity-feedback-backend/README.md) |
-| @backstage/plugin-events-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md) |
-| @backstage/plugin-events-backend-module-aws-sqs | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-aws-sqs/README.md) |
-| @backstage/plugin-events-backend-module-azure | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-azure/README.md) |
-| @backstage/plugin-events-backend-module-bitbucket-cloud | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-bitbucket-cloud/README.md) |
-| @backstage/plugin-events-backend-module-gerrit | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gerrit/README.md) |
-| @backstage/plugin-events-backend-module-github | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-github/README.md) |
-| @backstage/plugin-events-backend-module-gitlab | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md) |
-| @internal/plugin-todo-list-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/example-todo-list-backend/README.md) |
-| @backstage/plugin-explore-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) |
-| @backstage/plugin-jenkins-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/jenkins-backend/README.md) |
-| @backstage/plugin-kafka-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/kafka-backend/README.md) |
-| @backstage/plugin-kubernetes-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/kubernetes-backend/README.md) |
-| @backstage/plugin-lighthouse-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/lighthouse-backend/README.md) |
-| @backstage/plugin-linguist-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/linguist-backend/README.md) |
-| @backstage/plugin-nomad-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/nomad-backend/README.md) |
-| @backstage/plugin-notifications-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/notifications-backend/README.md) |
-| @backstage/plugin-periskop-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/periskop-backend/README.md) |
-| @backstage/plugin-permission-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/permission-backend/README.md) |
-| @backstage/plugin-permission-backend-module-allow-all-policy | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/permission-backend-module-policy-allow-all/README.md) |
-| @backstage/plugin-playlist-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/playlist-backend/README.md) |
-| @backstage/plugin-proxy-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/proxy-backend/README.md) |
-| @backstage/plugin-rollbar-backend | backend-plugin | | | [README](https://github.com/backstage/backstage/blob/master/plugins/rollbar-backend/README.md) |
-| @backstage/plugin-scaffolder-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/README.md) |
-| @backstage/plugin-scaffolder-backend-module-azure | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-azure/README.md) |
-| @backstage/plugin-scaffolder-backend-module-bitbucket | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket/README.md) |
-| @backstage/plugin-scaffolder-backend-module-bitbucket-cloud | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket-cloud/README.md) |
-| @backstage/plugin-scaffolder-backend-module-bitbucket-server | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket-server/README.md) |
-| @backstage/plugin-scaffolder-backend-module-confluence-to-markdown | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-confluence-to-markdown/README.md) |
-| @backstage/plugin-scaffolder-backend-module-cookiecutter | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-cookiecutter/README.md) |
-| @backstage/plugin-scaffolder-backend-module-gerrit | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gerrit/README.md) |
-| @backstage/plugin-scaffolder-backend-module-gitea | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gitea/README.md) |
-| @backstage/plugin-scaffolder-backend-module-github | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-github/README.md) |
-| @backstage/plugin-scaffolder-backend-module-gitlab | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gitlab/README.md) |
-| @backstage/plugin-scaffolder-backend-module-rails | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-rails/README.md) |
-| @backstage/plugin-scaffolder-backend-module-sentry | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-sentry/README.md) |
-| @backstage/plugin-scaffolder-backend-module-yeoman | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-yeoman/README.md) |
-| @backstage/plugin-search-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend/README.md) |
-| @backstage/plugin-search-backend-module-catalog | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-catalog/README.md) |
-| @backstage/plugin-search-backend-module-elasticsearch | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-elasticsearch/README.md) |
-| @backstage/plugin-search-backend-module-explore | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-explore/README.md) |
-| @backstage/plugin-search-backend-module-pg | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-pg/README.md) |
-| @backstage/plugin-search-backend-module-stack-overflow-collator | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-stack-overflow-collator/README.md) |
-| @backstage/plugin-search-backend-module-techdocs | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-techdocs/README.md) |
-| @backstage/plugin-signals-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/signals-backend/README.md) |
-| @backstage/plugin-sonarqube-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-backend/README.md) |
-| @backstage/plugin-stack-overflow-backend | backend-plugin | | | [README](https://github.com/backstage/backstage/blob/master/plugins/stack-overflow-backend/README.md) |
-| @backstage/plugin-tech-insights-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights-backend/README.md) |
-| @backstage/plugin-tech-insights-backend-module-jsonfc | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights-backend-module-jsonfc/README.md) |
-| @backstage/plugin-techdocs-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/README.md) |
-| @backstage/plugin-todo-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/todo-backend/README.md) |
-| @backstage/plugin-user-settings-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/user-settings-backend/README.md) |
-| @backstage/plugin-vault-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/vault-backend/README.md) |
+| Package | Role | Migrated | Uses Alpha Export | Link to `README` |
+| ------------------------------------------------------------------ | --------------------- | -------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
+| @backstage-community/plugin-adr-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/adr/plugins/adr-backend/README.md) |
+| @backstage-community/plugin-airbrake-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/airbrake/plugins/airbrake-backend/README.md) |
+| @backstage/plugin-app-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/app-backend/README.md) |
+| @backstage/plugin-auth-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend/README.md) |
+| @backstage/plugin-auth-backend-module-atlassian-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-atlassian-provider/README.md) |
+| @backstage/plugin-auth-backend-module-aws-alb-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-aws-alb-provider/README.md) |
+| @backstage/plugin-auth-backend-module-gcp-iap-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-gcp-iap-provider/README.md) |
+| @backstage/plugin-auth-backend-module-github-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-github-provider/README.md) |
+| @backstage/plugin-auth-backend-module-gitlab-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-gitlab-provider/README.md) |
+| @backstage/plugin-auth-backend-module-google-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-google-provider/README.md) |
+| @backstage/plugin-auth-backend-module-guest-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-guest-provider/README.md) |
+| @backstage/plugin-auth-backend-module-microsoft-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-microsoft-provider/README.md) |
+| @backstage/plugin-auth-backend-module-oauth2-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oauth2-provider/README.md) |
+| @backstage/plugin-auth-backend-module-oauth2-proxy-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oauth2-proxy-provider/README.md) |
+| @backstage/plugin-auth-backend-module-oidc-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oidc-provider/README.md) |
+| @backstage/plugin-auth-backend-module-okta-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-okta-provider/README.md) |
+| @backstage/plugin-auth-backend-module-pinniped-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-pinniped-provider/README.md) |
+| @backstage/plugin-auth-backend-module-vmware-cloud-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-vmware-cloud-provider/README.md) |
+| @backstage-community/plugin-azure-devops-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/azure-devops/plugins/azure-devops-backend/README.md) |
+| @backstage-community/plugin-azure-sites-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/azure-sites/plugins/azure-sites-backend/README.md) |
+| @backstage-community/plugin-badges-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/badges/plugins/badges-backend/README.md) |
+| @backstage-community/plugin-bazaar-backend | backend-plugin | true | true | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/bazaar/plugins/bazaar-backend/README.md) |
+| @backstage/plugin-catalog-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend/README.md) |
+| @backstage/plugin-catalog-backend-module-aws | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-aws/README.md) |
+| @backstage/plugin-catalog-backend-module-azure | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-azure/README.md) |
+| @backstage/plugin-catalog-backend-module-backstage-openapi | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-backstage-openapi/README.md) |
+| @backstage/plugin-catalog-backend-module-bitbucket-cloud | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-bitbucket-cloud/README.md) |
+| @backstage/plugin-catalog-backend-module-bitbucket-server | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-bitbucket-server/README.md) |
+| @backstage/plugin-catalog-backend-module-gcp | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gcp/README.md) |
+| @backstage/plugin-catalog-backend-module-gerrit | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gerrit/README.md) |
+| @backstage/plugin-catalog-backend-module-github | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-github/README.md) |
+| @backstage/plugin-catalog-backend-module-github-org | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-github-org/README.md) |
+| @backstage/plugin-catalog-backend-module-gitlab | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gitlab/README.md) |
+| @backstage/plugin-catalog-backend-module-incremental-ingestion | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-incremental-ingestion/README.md) |
+| @backstage/plugin-catalog-backend-module-ldap | backend-plugin-module | | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-ldap/README.md) |
+| @backstage/plugin-catalog-backend-module-msgraph | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-msgraph/README.md) |
+| @backstage/plugin-catalog-backend-module-openapi | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-openapi/README.md) |
+| @backstage/plugin-catalog-backend-module-puppetdb | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-puppetdb/README.md) |
+| @backstage/plugin-catalog-backend-module-scaffolder-entity-model | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-scaffolder-entity-model/README.md) |
+| @backstage/plugin-catalog-backend-module-unprocessed | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-unprocessed/README.md) |
+| @backstage-community/plugin-code-coverage-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/code-coverage/plugins/code-coverage-backend/README.md) |
+| @backstage/plugin-devtools-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/devtools-backend/README.md) |
+| @backstage-community/plugin-entity-feedback-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/entity-feedback/plugins/entity-feedback-backend/README.md) |
+| @backstage/plugin-events-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md) |
+| @backstage/plugin-events-backend-module-aws-sqs | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-aws-sqs/README.md) |
+| @backstage/plugin-events-backend-module-azure | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-azure/README.md) |
+| @backstage/plugin-events-backend-module-bitbucket-cloud | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-bitbucket-cloud/README.md) |
+| @backstage/plugin-events-backend-module-gerrit | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gerrit/README.md) |
+| @backstage/plugin-events-backend-module-github | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-github/README.md) |
+| @backstage/plugin-events-backend-module-gitlab | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md) |
+| @internal/plugin-todo-list-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/example-todo-list-backend/README.md) |
+| @backstage-community/plugin-explore-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/explore/plugins/explore-backend/README.md) |
+| @backstage-community/plugin-jenkins-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/jenkins/plugins/jenkins-backend/README.md) |
+| @backstage-community/plugin-kafka-backend | backend-plugin | true | true | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/kafka/plugins/kafka-backend/README.md) |
+| @backstage/plugin-kubernetes-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/kubernetes-backend/README.md) |
+| @backstage-community/plugin-lighthouse-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/lighthouse/plugins/lighthouse-backend/README.md) |
+| @backstage-community/plugin-linguist-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/linguist/plugins/linguist-backend/README.md) |
+| @backstage-community/plugin-nomad-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/nomad/plugins/nomad-backend/README.md) |
+| @backstage/plugin-notifications-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/notifications-backend/README.md) |
+| @backstage-community/plugin-periskop-backend | backend-plugin | true | true | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/periskop/plugins/periskop-backend/README.md) |
+| @backstage/plugin-permission-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/permission-backend/README.md) |
+| @backstage/plugin-permission-backend-module-allow-all-policy | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/permission-backend-module-policy-allow-all/README.md) |
+| @backstage-community/plugin-playlist-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/playlist/plugins/playlist-backend/README.md) |
+| @backstage/plugin-proxy-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/proxy-backend/README.md) |
+| @backstage-community/plugin-rollbar-backend | backend-plugin | | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/rollbar/plugins/rollbar-backend/README.md) |
+| @backstage/plugin-scaffolder-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/README.md) |
+| @backstage/plugin-scaffolder-backend-module-azure | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-azure/README.md) |
+| @backstage/plugin-scaffolder-backend-module-bitbucket | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket/README.md) |
+| @backstage/plugin-scaffolder-backend-module-bitbucket-cloud | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket-cloud/README.md) |
+| @backstage/plugin-scaffolder-backend-module-bitbucket-server | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket-server/README.md) |
+| @backstage/plugin-scaffolder-backend-module-confluence-to-markdown | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-confluence-to-markdown/README.md) |
+| @backstage/plugin-scaffolder-backend-module-cookiecutter | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-cookiecutter/README.md) |
+| @backstage/plugin-scaffolder-backend-module-gerrit | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gerrit/README.md) |
+| @backstage/plugin-scaffolder-backend-module-gitea | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gitea/README.md) |
+| @backstage/plugin-scaffolder-backend-module-github | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-github/README.md) |
+| @backstage/plugin-scaffolder-backend-module-gitlab | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gitlab/README.md) |
+| @backstage/plugin-scaffolder-backend-module-rails | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-rails/README.md) |
+| @backstage/plugin-scaffolder-backend-module-sentry | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-sentry/README.md) |
+| @backstage/plugin-scaffolder-backend-module-yeoman | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-yeoman/README.md) |
+| @backstage/plugin-search-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend/README.md) |
+| @backstage/plugin-search-backend-module-catalog | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-catalog/README.md) |
+| @backstage/plugin-search-backend-module-elasticsearch | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-elasticsearch/README.md) |
+| @backstage/plugin-search-backend-module-explore | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-explore/README.md) |
+| @backstage/plugin-search-backend-module-pg | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-pg/README.md) |
+| @backstage/plugin-search-backend-module-stack-overflow-collator | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-stack-overflow-collator/README.md) |
+| @backstage/plugin-search-backend-module-techdocs | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-techdocs/README.md) |
+| @backstage/plugin-signals-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/signals-backend/README.md) |
+| @backstage-community/plugin-sonarqube-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/sonarqube/plugins/sonarqube-backend/README.md) |
+| @backstage-community/plugin-stack-overflow-backend | backend-plugin | | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/stack-overflow/plugins/stack-overflow-backend/README.md) |
+| @backstage-community/plugin-tech-insights-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/tech-insights/plugins/tech-insights-backend/README.md) |
+| @backstage-community/plugin-tech-insights-backend-module-jsonfc | backend-plugin-module | true | | [README](https://github.com/backstage/community-plugins/blob/main/workspaces/tech-insights/plugins/tech-insights-backend-module-jsonfc/README.md) |
+| @backstage/plugin-techdocs-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/README.md) |
+| @backstage-community/plugin-todo-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/todo/plugins/todo-backend/README.md) |
+| @backstage/plugin-user-settings-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/user-settings-backend/README.md) |
+| @backstage-community/plugin-vault-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/vault/plugins/vault-backend/README.md) |
diff --git a/docs/backend-system/core-services/root-http-router.md b/docs/backend-system/core-services/root-http-router.md
index 97666cae9d..b3522e1752 100644
--- a/docs/backend-system/core-services/root-http-router.md
+++ b/docs/backend-system/core-services/root-http-router.md
@@ -5,7 +5,7 @@ sidebar_label: Root Http Router
description: Documentation for the Root Http Router service
---
-The root HTTP router is a service that allows you to register routes on the root of the backend service. This is useful for things like health checks, or other routes that you want to expose on the root of the backend service. It is used as the base router that backs the `httpRouter` service. Most likely you won't need to use this service directly, but rather use the `httpRouter` service.
+The root HTTP router is a service that allows you to register routes on the root of the backend service. This is useful for things like health checks, or other routes that you want to expose on the root of the backend service. It is used as the base router that backs the `httpRouter` service and starts the Node.js HTTP server on backend startup. Most likely you won't need to use this service directly, but rather use the `httpRouter` service.
The `/api/:pluginId/` path prefix is reserved for use by plugins to register their own routes via the [HttpRouter](./http-router.md) service.
@@ -78,3 +78,26 @@ backend.add(
```
Note that requests towards `/api/*` will never be handled by the `routes` handler unless a matching plugin exists, and will instead typically falling through to the `middleware.notFound()` handler. That is the case regardless of whether there is a configured `indexPath` or not.
+
+The root HTTP Router service also allows for configuration of the underlying Node.js HTTP server object. This is useful for modifying settings on the HTTP server itself, such as server [timeout](https://nodejs.org/api/http.html#servertimeout), [keepAliveTimeout](https://nodejs.org/api/http.html#serverkeepalivetimeout), and [headersTimeout](https://nodejs.org/api/http.html#serverheaderstimeout).
+
+A `applyDefaults` helper is also made available to use the default app/router configuration while still enabling custom server configuration
+
+```ts
+import { rootHttpRouterServiceFactory } from '@backstage/backend-app-api';
+
+const backend = createBackend();
+
+backend.add(
+ rootHttpRouterServiceFactory({
+ configure: ({ server, applyDefaults }) => {
+ // apply default app/router configuration
+ applyDefaults();
+
+ // customize the Node.js HTTP Server timeouts
+ server.keepAliveTimeout = 65 * 1000;
+ server.headersTimeout = 66 * 1000;
+ },
+ }),
+);
+```
diff --git a/docs/contribute/getting-involved.md b/docs/contribute/getting-involved.md
index 7c0be46273..c11e870752 100644
--- a/docs/contribute/getting-involved.md
+++ b/docs/contribute/getting-involved.md
@@ -17,15 +17,15 @@ Look through the GitHub issues for [bugs](https://github.com/backstage/backstage
### Build a plugin
-The value of Backstage grows with every new plugin that gets added. Wouldn't it be fantastic if there was a plugin for every infrastructure project out there? We think so. And we would love your help.
+The value of Backstage grows with every new plugin that gets added. Wouldn't it be fantastic if there was a plugin for every infrastructure project out there? We think so. And we would love your help. Head over to [the community plugins repo](https://github.com/backstage/community-plugins) and get started!
A great reference example of a plugin can be found on [our blog](https://backstage.io/blog/2020/04/06/lighthouse-plugin) (thanks [@fastfrwrd](https://github.com/fastfrwrd)!)
-What kind of plugins should/could be created? Some inspiration from the 120+ plugins that we have developed inside Spotify can be found [here](https://backstage.io/demos), but we will keep a running list of suggestions labeled with [[plugin]](https://github.com/backstage/backstage/labels/plugin).
+What kind of plugins should/could be created? Some inspiration from the 120+ plugins that we have developed inside Spotify can be found [here](https://backstage.io/demos), but we will keep a running list of suggestions labeled with [[plugin]](https://github.com/backstage/community-plugins/labels/plugin) in our [community plugins repo](https://github.com/backstage/community-plugins).
### Suggesting a plugin
-If you start developing a plugin that you aim to release as open source, we suggest that you create a [new Issue](https://github.com/backstage/backstage/issues/new?labels=plugin&template=plugin_template.md&title=%5BPlugin%5D+THE+PLUGIN+NAME). This helps the community know what plugins are in development.
+If you start developing a plugin that you aim to release as open source, we suggest that you create a [new Issue](https://github.com/backstage/community-plugins/issues/new/choose) in the community plugins repo. This helps the community know what plugins are in development.
You can also use this process if you have an idea for a good plugin but you hope that someone else will pick up the work.
diff --git a/docs/faq/technical.md b/docs/faq/technical.md
index 83e2926cc1..ffd99dadcd 100644
--- a/docs/faq/technical.md
+++ b/docs/faq/technical.md
@@ -100,10 +100,10 @@ You can browse and search for all available plugins in the
[Plugin Directory](https://backstage.io/plugins).
If you can't find it in the directory, before you write a plugin
-[search the plugin issues](https://github.com/backstage/backstage/issues?q=is%3Aissue+label%3Aplugin+)
+[search the plugin issues on the community plugins repo](https://github.com/backstage/community-plugins/issues?q=is%3Aissue+is%3Aopen+label%3Aplugin)
to see if is in the works. If no one's thought of it yet, great! Open a new
issue as
-[a plugin suggestion](https://github.com/backstage/backstage/issues/new/choose)
+[a plugin suggestion](https://github.com/backstage/community-plugins/issues/new/choose)
and describe what your plugin will do. This will help coordinate our
contributors' efforts and avoid duplicating existing functionality.
@@ -195,10 +195,9 @@ ambition will be to keep Backstage modular.
### How can I get involved?
Jump right in! Come help us fix some of the
-[early bugs and good first issues](https://github.com/backstage/backstage/contribute)
-or reach [a new milestone](https://github.com/backstage/backstage/milestones).
-Or write an open source plugin for Backstage, like this
-[Lighthouse plugin](https://github.com/backstage/backstage/tree/master/plugins/lighthouse).
+[early bugs and good first issues](https://github.com/backstage/backstage/contribute).
+Or write an open source plugin for Backstage in our
+[community plugins repository](https://github.com/backstage/community-plugins).
See all the ways you can
[contribute here](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md).
We'd love to have you as part of the community.
diff --git a/docs/features/search/README.md b/docs/features/search/README.md
index 97d3d7efcb..93aa22ebe1 100644
--- a/docs/features/search/README.md
+++ b/docs/features/search/README.md
@@ -32,11 +32,11 @@ The following sections show the plugins and search engines currently supported b
### Plugins integrated with Backstage Search
-| Plugin | Support Status |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
-| Software Catalog | ✅ |
-| [TechDocs](./how-to-guides.md#how-to-index-techdocs-documents) | ✅ |
-| [Stack Overflow](https://github.com/backstage/backstage/blob/master/plugins/stack-overflow-backend/README.md#index-stack-overflow-questions-to-search) | ✅ |
+| Plugin | Support Status |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
+| Software Catalog | ✅ |
+| [TechDocs](./how-to-guides.md#how-to-index-techdocs-documents) | ✅ |
+| [Stack Overflow](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-stack-overflow-collator/README.md#index-stack-overflow-questions-to-search) | ✅ |
### Search engines
diff --git a/docs/features/software-catalog/descriptor-format.md b/docs/features/software-catalog/descriptor-format.md
index 038e94bec3..416eb27fbd 100644
--- a/docs/features/software-catalog/descriptor-format.md
+++ b/docs/features/software-catalog/descriptor-format.md
@@ -1265,6 +1265,7 @@ metadata:
description: Everything about artists
spec:
owner: artist-relations-team
+ subdomainOf: audio-domain
```
In addition to the [common envelope metadata](#common-to-all-kinds-the-metadata)
@@ -1293,6 +1294,15 @@ but there will always be one ultimate owner.
| ------------------------------------------------------ | ------------------------------------------ | ------------------------------------------------------------------------------- |
| [`Group`](#kind-group) (default), [`User`](#kind-user) | Same as this entity, typically `default` | [`ownerOf`, and reverse `ownedBy`](well-known-relations.md#ownedby-and-ownerof) |
+### `spec.subdomainOf` [optional]
+
+An [entity reference](references.md#string-references) to another domain of
+which the domain is a part, e.g. `audio`. This field is optional.
+
+| [`kind`](#apiversion-and-kind-required) | Default [`namespace`](#namespace-optional) | Generated [relation](well-known-relations.md) type |
+| --------------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------- |
+| [`Domain`](#kind-domain) (default) | Same as this entity, typically `default` | [`partOf`, and reverse `hasPart`](well-known-relations.md#partof-and-haspart) |
+
## Kind: Location
Describes the following entity kind:
diff --git a/docs/features/software-catalog/extending-the-model.md b/docs/features/software-catalog/extending-the-model.md
index 86f2d7c02d..b3d7de3a65 100644
--- a/docs/features/software-catalog/extending-the-model.md
+++ b/docs/features/software-catalog/extending-the-model.md
@@ -120,7 +120,7 @@ the infrastructure tooling through plugins. Different plugins are used for
managing different types of components.
For example, the
-[Lighthouse plugin](https://github.com/backstage/backstage/tree/master/plugins/lighthouse)
+[Lighthouse plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/lighthouse/plugins/lighthouse)
only makes sense for Websites. The more specific you can be in how you model
your software, the easier it is to provide plugins that are contextual.
diff --git a/docs/features/software-catalog/well-known-relations.md b/docs/features/software-catalog/well-known-relations.md
index bfcbcb780a..6d61847a15 100644
--- a/docs/features/software-catalog/well-known-relations.md
+++ b/docs/features/software-catalog/well-known-relations.md
@@ -99,11 +99,12 @@ A relation with a [Domain](descriptor-format.md#kind-domain),
[System](descriptor-format.md#kind-system) or
[Component](descriptor-format.md#kind-component) entity, typically from a
[Component](descriptor-format.md#kind-component),
-[API](descriptor-format.md#kind-api), or
-[System](descriptor-format.md#kind-system).
+[API](descriptor-format.md#kind-api),
+[System](descriptor-format.md#kind-system), or
+[Domain](descriptor-format.md#kind-domain),
These relations express that a component belongs to a larger component; a
-component, API or resource belongs to a system; or that a system is grouped
-under a domain.
+component, API or resource belongs to a system; that a system is grouped
+under a domain; or that a domain belongs to a larger domain.
This relation is commonly based on `spec.system` or `spec.domain`.
diff --git a/docs/getting-started/app-custom-theme.md b/docs/getting-started/app-custom-theme.md
index 15fef0fb9a..8aadeaf19a 100644
--- a/docs/getting-started/app-custom-theme.md
+++ b/docs/getting-started/app-custom-theme.md
@@ -19,7 +19,7 @@ import {
palettes,
} from '@backstage/theme';
-const myTheme = createUnifiedTheme({
+export const myTheme = createUnifiedTheme({
...createBaseThemeOptions({
palette: palettes.light,
}),
@@ -73,7 +73,7 @@ import {
shapes,
} from '@backstage/theme';
-const myTheme = createUnifiedTheme({
+export const myTheme = createUnifiedTheme({
...createBaseThemeOptions({
palette: {
...palettes.light,
@@ -158,7 +158,7 @@ import {
palettes,
} from '@backstage/theme';
-const myTheme = createUnifiedTheme({
+export const myTheme = createUnifiedTheme({
...createBaseThemeOptions({
palette: palettes.light,
typography: {
@@ -210,7 +210,7 @@ import {
palettes,
} from '@backstage/theme';
-const myTheme = createUnifiedTheme({
+export const myTheme = createUnifiedTheme({
...createBaseThemeOptions({
palette: palettes.light,
typography: {
@@ -248,10 +248,11 @@ const myCustomFont = {
local('My-Custom-Font'),
url(${MyCustomFont}) format('woff2'),
`,
-},
+};
export const myTheme = createUnifiedTheme({
fontFamily: 'My-Custom-Font',
+ palette: palettes.light,
components: {
MuiCssBaseline: {
styleOverrides: {
@@ -259,7 +260,7 @@ export const myTheme = createUnifiedTheme({
},
},
},
-};
+});
```
If you want to utilize different or multiple fonts, then you can set the top level `fontFamily` to what you want for your body, and then override `fontFamily` in `typography` to control fonts for various headings.
@@ -277,7 +278,7 @@ const myCustomFont = {
local('My-Custom-Font'),
url(${MyCustomFont}) format('woff2'),
`,
-},
+};
const myAwesomeFont = {
fontFamily: 'My-Awesome-Font',
@@ -288,7 +289,7 @@ const myAwesomeFont = {
local('My-Awesome-Font'),
url(${myAwesomeFont}) format('woff2'),
`,
-},
+};
export const myTheme = createUnifiedTheme({
fontFamily: 'My-Custom-Font',
@@ -314,7 +315,7 @@ export const myTheme = createUnifiedTheme({
},
defaultPageTheme: 'home',
}),
-};
+});
```
## Overriding Backstage and Material UI components styles
@@ -345,7 +346,7 @@ import {
palettes,
} from '@backstage/theme';
-const myTheme = createUnifiedTheme({
+export const myTheme = createUnifiedTheme({
...createBaseThemeOptions({
palette: palettes.light,
}),
@@ -406,8 +407,6 @@ You can change the following [icons](https://github.com/backstage/backstage/blob
In your front-end application, locate the `src` folder. We suggest creating the `assets/icons` directory and `CustomIcons.tsx` file.
-> Another example [here](https://github.com/backstage/backstage/blob/master/plugins/azure-devops/src/components/AzurePipelinesIcon/AzurePipelinesIcon.tsx), if you want to ensure proper behavior in light and dark themes.
-
```tsx title="customIcons.tsx"
import { SvgIcon, SvgIconProps } from '@material-ui/core';
diff --git a/docs/getting-started/config/authentication.md b/docs/getting-started/config/authentication.md
index 39b1f7d306..874964696a 100644
--- a/docs/getting-started/config/authentication.md
+++ b/docs/getting-started/config/authentication.md
@@ -72,11 +72,19 @@ components: {
},
```
-> Note: The default Backstage app comes with a guest Sign In Resolver. This resolver makes all users share a single "guest" identity and is only intended as a minimum requirement to quickly get up and running. You can read more about how [Sign In Resolvers](../../auth/identity-resolver.md#sign-in-resolvers) play a role in creating a [Backstage User Identity](../../auth/identity-resolver.md#backstage-user-identity) for logged in users.
+:::note Note
+
+The default Backstage app comes with a guest Sign In Resolver. This resolver makes all users share a single "guest" identity and is only intended as a minimum requirement to quickly get up and running. You can read more about how [Sign In Resolvers](../../auth/identity-resolver.md#sign-in-resolvers) play a role in creating a [Backstage User Identity](../../auth/identity-resolver.md#backstage-user-identity) for logged in users.
+
+:::
Restart Backstage from the terminal, by stopping it with `Control-C`, and starting it with `yarn dev` . You should be welcomed by a login prompt!
-> Note: Sometimes the frontend starts before the backend resulting in errors on the sign in page. Wait for the backend to start and then reload Backstage to proceed.
+:::note Note
+
+Sometimes the frontend starts before the backend resulting in errors on the sign in page. Wait for the backend to start and then reload Backstage to proceed.
+
+:::
To learn more about Authentication in Backstage, here are some docs you
could read:
@@ -126,7 +134,11 @@ integrations:
token: ${GITHUB_TOKEN} # this will use the environment variable GITHUB_TOKEN
```
-> Note: If you've updated the configuration for your integration, it's likely that the backend will need a restart to apply these changes. To do this, stop the running instance in your terminal with `Control-C`, then start it again with `yarn dev`. Once the backend has restarted, retry the operation.
+:::note Note
+
+If you've updated the configuration for your integration, it's likely that the backend will need a restart to apply these changes. To do this, stop the running instance in your terminal with `Control-C`, then start it again with `yarn dev`. Once the backend has restarted, retry the operation.
+
+:::
Some helpful links, for if you want to learn more about:
diff --git a/docs/getting-started/index.md b/docs/getting-started/index.md
index 1690035b9b..99fdb3d8ed 100644
--- a/docs/getting-started/index.md
+++ b/docs/getting-started/index.md
@@ -164,7 +164,7 @@ Share your experiences, comments, or suggestions with us:
[on discord](https://discord.gg/backstage-687207715902193673), file issues for any
[feature](https://github.com/backstage/backstage/issues/new?labels=help+wanted&template=feature_template.md)
or
-[plugin suggestions](https://github.com/backstage/backstage/issues/new?labels=plugin&template=plugin_template.md&title=%5BPlugin%5D+THE+PLUGIN+NAME),
+[plugin suggestions](https://github.com/backstage/community-plugins/issues/new/choose),
or
[bugs](https://github.com/backstage/backstage/issues/new?labels=bug&template=bug_template.md)
you have, and feel free to
diff --git a/docs/integrations/azure/org.md b/docs/integrations/azure/org.md
index 38c2e7618a..5e39aaeb7d 100644
--- a/docs/integrations/azure/org.md
+++ b/docs/integrations/azure/org.md
@@ -146,6 +146,18 @@ microsoftGraphOrg:
search: '"description:One" AND ("displayName:Video" OR "displayName:Drive")'
```
+### User photos
+
+By default, the photos of users will be fetched and added to each user entity. For huge organizations this may be unfeasible, as it will take a _very_ long time, and can be disabled by setting `loadPhotos` to `false`:
+
+```yaml
+microsoftGraphOrg:
+ providerId:
+ user:
+ filter: ...
+ loadPhotos: false
+```
+
## Customizing Transformation
Ingested entities can be customized by providing custom transformers.
diff --git a/docs/integrations/bitbucketServer/discovery.md b/docs/integrations/bitbucketServer/discovery.md
index f37732b600..d9fc946460 100644
--- a/docs/integrations/bitbucketServer/discovery.md
+++ b/docs/integrations/bitbucketServer/discovery.md
@@ -63,6 +63,7 @@ catalog:
filters: # optional
projectKey: '^apis-.*$' # optional; RegExp
repoSlug: '^service-.*$' # optional; RegExp
+ skipArchivedRepos: true # optional; boolean
schedule: # same options as in TaskScheduleDefinition
# supports cron, ISO duration, "human duration" as used in code
frequency: { minutes: 30 }
@@ -81,6 +82,8 @@ catalog:
Regular expression used to filter results based on the project key.
- **`repoSlug`** _(optional)_:
Regular expression used to filter results based on the repo slug.
+ - **`skipArchivedRepos`** _(optional)_:
+ Boolean flag to filter out archived repositories.
- **`schedule`**:
- **`frequency`**:
How often you want the task to run. The system does its best to avoid overlapping invocations.
diff --git a/docs/integrations/github/discovery.md b/docs/integrations/github/discovery.md
index 93ab00146e..d0721e06f6 100644
--- a/docs/integrations/github/discovery.md
+++ b/docs/integrations/github/discovery.md
@@ -26,27 +26,11 @@ package.
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-github
```
-And then add the entity provider to your catalog builder:
+And then update your backend by adding the following line:
-```ts title="packages/backend/src/plugins/catalog.ts"
-/* highlight-add-next-line */
-import { GithubEntityProvider } from '@backstage/plugin-catalog-backend-module-github';
-
-export default async function createPlugin(
- env: PluginEnvironment,
-): Promise {
- const builder = await CatalogBuilder.create(env);
- /* highlight-add-start */
- builder.addEntityProvider(
- GithubEntityProvider.fromConfig(env.config, {
- logger: env.logger,
- scheduler: env.scheduler,
- }),
- );
- /* highlight-add-end */
-
- // ..
-}
+```ts title="packages/backend/src/index.ts"
+// github discovery
+backend.add(import('@backstage/plugin-catalog-backend-module-github/alpha'));
```
## Installation with Events Support
diff --git a/docs/integrations/gitlab/discovery.md b/docs/integrations/gitlab/discovery.md
index d41f4f8de5..91efe05fee 100644
--- a/docs/integrations/gitlab/discovery.md
+++ b/docs/integrations/gitlab/discovery.md
@@ -11,28 +11,11 @@ entities from GitLab. The entity provider will crawl the GitLab instance and reg
entities matching the configured paths. This can be useful as an alternative to
static locations or manually adding things to the catalog.
-To use the discovery provider, you'll need a GitLab integration
-[set up](locations.md) with a `token`. Then you can add a provider config per group
-to the catalog configuration:
+This provider can also be configured to ingest GitLab data based on [GitLab Webhooks](https://docs.gitlab.com/ee/user/project/integrations/webhooks.html#configure-a-webhook-in-gitlab). The events currently accepted are:
-```yaml
-catalog:
- providers:
- gitlab:
- yourProviderId:
- host: gitlab-host # Identifies one of the hosts set up in the integrations
- branch: main # Optional. Used to discover on a specific branch
- fallbackBranch: main # Optional. Fallback to be used if there is no default branch configured at the Gitlab repository. It is only used, if `branch` is undefined. Uses `master` as default
- skipForkedRepos: false # Optional. If the project is a fork, skip repository
- group: example-group # Optional. Group and subgroup (if needed) to look for repositories. If not present the whole instance will be scanned
- entityFilename: catalog-info.yaml # Optional. Defaults to `catalog-info.yaml`
- projectPattern: '[\s\S]*' # Optional. Filters found projects based on provided patter. Defaults to `[\s\S]*`, which means to not filter anything
- schedule: # optional; same options as in TaskScheduleDefinition
- # supports cron, ISO duration, "human duration" as used in code
- frequency: { minutes: 30 }
- # supports ISO duration, "human duration" as used in code
- timeout: { minutes: 3 }
-```
+- [`push`](https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#push-events).
+
+## Installation
As this provider is not one of the default providers, you will first need to install
the gitlab catalog plugin:
@@ -42,15 +25,93 @@ the gitlab catalog plugin:
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-gitlab
```
-Once you've done that, you'll also need to add the segment below to `packages/backend/src/plugins/catalog.ts`:
+### Installation with New Backend System
+
+Then add the following to your backend initialization:
+
+```ts title="packages/backend/src/index.ts
+// optional if you want HTTP endpoints to receive external events
+// backend.add(import('@backstage/plugin-events-backend/alpha'));
+// optional if you want to use AWS SQS instead of HTTP endpoints to receive external events
+// backend.add(import('@backstage/plugin-events-backend-module-aws-sqs/alpha'));
+// optional - event router for gitlab. See.: https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md
+// backend.add(eventsModuleGitlabEventRouter());
+// optional - token validator for the gitlab topic
+// backend.add(eventsModuleGitlabWebhook());
+backend.add(import('@backstage/plugin-catalog-backend-module-gitlab/alpha'));
+```
+
+You need to decide how you want to receive events from external sources like
+
+- [via HTTP endpoint](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md#configuration)
+- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
+
+Further documentation:
+
+- [Events Plugin](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
+- [GitLab Module for the Events Plugin](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md)
+
+### Installation with Legacy Backend System
+
+#### Installation without Events Support
+
+Add the segment below to `packages/backend/src/plugins/catalog.ts`:
```ts title="packages/backend/src/plugins/catalog.ts"
+/* highlight-add-next-line */
import { GitlabDiscoveryEntityProvider } from '@backstage/plugin-catalog-backend-module-gitlab';
-const builder = await CatalogBuilder.create(env);
-/** ... other processors and/or providers ... */
-builder.addEntityProvider(
- ...GitlabDiscoveryEntityProvider.fromConfig(env.config, {
+export default async function createPlugin(
+ env: PluginEnvironment,
+): Promise {
+ const builder = await CatalogBuilder.create(env);
+ /* highlight-add-start */
+ builder.addEntityProvider(
+ ...GitlabDiscoveryEntityProvider.fromConfig(env.config, {
+ logger: env.logger,
+ // optional: alternatively, use scheduler with schedule defined in app-config.yaml
+ schedule: env.scheduler.createScheduledTaskRunner({
+ frequency: { minutes: 30 },
+ timeout: { minutes: 3 },
+ }),
+ // optional: alternatively, use schedule
+ scheduler: env.scheduler,
+ }),
+ );
+ /* highlight-add-end */
+ // ..
+}
+```
+
+#### Installation with Events Support
+
+Please follow the installation instructions at
+
+- [Events Plugin](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
+- [GitLab Module for the Events Plugin](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md)
+
+Additionally, you need to decide how you want to receive events from external sources like
+
+- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
+- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
+
+Set up your provider
+
+```ts title="packages/backend/src/plugins/catalog.ts"
+import { CatalogBuilder } from '@backstage/plugin-catalog-backend';
+/* highlight-add-next-line */
+import { GitlabDiscoveryEntityProvider } from '@backstage/plugin-catalog-backend-module-gitlab';
+import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend';
+import { Router } from 'express';
+import { PluginEnvironment } from '../types';
+
+export default async function createPlugin(
+ env: PluginEnvironment,
+): Promise {
+ const builder = await CatalogBuilder.create(env);
+ builder.addProcessor(new ScaffolderEntitiesProcessor());
+ /* highlight-add-start */
+ const gitlabProvider = GitlabDiscoveryEntityProvider.fromConfig(env.config, {
logger: env.logger,
// optional: alternatively, use scheduler with schedule defined in app-config.yaml
schedule: env.scheduler.createScheduledTaskRunner({
@@ -59,19 +120,45 @@ builder.addEntityProvider(
}),
// optional: alternatively, use schedule
scheduler: env.scheduler,
- }),
-);
+ });
+ env.eventBroker.subscribe(gitlabProvider);
+ builder.addEntityProvider(gitlabProvider);
+ /* highlight-add-end */
+ const { processingEngine, router } = await builder.build();
+ await processingEngine.start();
+ return router;
+}
+```
+
+## Configuration
+
+To use the discovery provider, you'll need a GitLab integration
+[set up](locations.md) with a `token`. Then you can add a provider config per group
+to the catalog configuration.
+
+> > NOTE: if you are using the New Backend System, the `schedule` has to be setup in the config, as shown below.
+
+```yaml title="app-config.yaml"
+catalog:
+ providers:
+ gitlab:
+ yourProviderId:
+ host: gitlab-host # Identifies one of the hosts set up in the integrations
+ branch: main # Optional. Used to discover on a specific branch
+ fallbackBranch: master # Optional. Fallback to be used if there is no default branch configured at the Gitlab repository. It is only used, if `branch` is undefined. Uses `master` as default
+ skipForkedRepos: false # Optional. If the project is a fork, skip repository
+ group: example-group # Optional. Group and subgroup (if needed) to look for repositories. If not present the whole instance will be scanned
+ entityFilename: catalog-info.yaml # Optional. Defaults to `catalog-info.yaml`
+ projectPattern: '[\s\S]*' # Optional. Filters found projects based on provided patter. Defaults to `[\s\S]*`, which means to not filter anything
+ schedule: # Same options as in TaskScheduleDefinition. Optional for the Legacy Backend System
+ # supports cron, ISO duration, "human duration" as used in code
+ frequency: { minutes: 30 }
+ # supports ISO duration, "human duration" as used in code
+ timeout: { minutes: 3 }
```
## Alternative processor
-```yaml
-catalog:
- locations:
- - type: gitlab-discovery
- target: https://gitlab.com/group/subgroup/blob/main/catalog-info.yaml
-```
-
As alternative to the entity provider `GitlabDiscoveryEntityProvider`
you can still use the `GitLabDiscoveryProcessor`.
@@ -109,6 +196,15 @@ export default async function createPlugin(
}
```
+And add the following to your app-config.yaml
+
+```yaml
+catalog:
+ locations:
+ - type: gitlab-discovery
+ target: https://gitlab.com/group/subgroup/blob/main/catalog-info.yaml
+```
+
If you don't want create location object if file with component definition do not exists in project, you can set the `skipReposWithoutExactFileMatch` option. That can reduce count of request to gitlab with 404 status code.
If you don't want to create location object if the project is a fork, you can set the `skipForkedRepos` option.
diff --git a/docs/integrations/gitlab/org.md b/docs/integrations/gitlab/org.md
index f2a483c9d1..14587461e5 100644
--- a/docs/integrations/gitlab/org.md
+++ b/docs/integrations/gitlab/org.md
@@ -11,34 +11,134 @@ groups -- directly from GitLab. The result is a hierarchy of
[`Group`](../../features/software-catalog/descriptor-format.md#kind-group)
entities that mirrors your org setup.
+This provider can also be configured to ingest GitLab data based on [GitLab System hooks](https://docs.gitlab.com/ee/administration/system_hooks.html). The events currently accepted are:
+
+- `group_create`
+- `group_destroy`
+- `group_rename`
+- `user_create`
+- `user_destroy`
+- `user_add_to_group`
+- `user_remove_from_group`
+
+## Installation
+
As this provider is not one of the default providers, you will first need to install the Gitlab provider plugin:
```bash
# From your Backstage root directory
-yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-gitlab
+yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-gitlab @backstage/plugin-catalog-backend-module-gitlab-org
```
-Then add the plugin to the plugin catalog `packages/backend/src/plugins/catalog.ts`:
+### Installation with New Backend System
+
+Then add the following to your backend initialization:
+
+```ts title="packages/backend/src/index.ts
+// optional if you want HTTP endpoints to receive external events
+// backend.add(import('@backstage/plugin-events-backend/alpha'));
+// optional if you want to use AWS SQS instead of HTTP endpoints to receive external events
+// backend.add(import('@backstage/plugin-events-backend-module-aws-sqs/alpha'));
+// optional - event router for gitlab. See.: https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md
+// backend.add(eventsModuleGitlabEventRouter());
+// optional - token validator for the gitlab topic
+// backend.add(eventsModuleGitlabWebhook());
+backend.add(import('@backstage/plugin-catalog-backend-module-gitlab-org'));
+```
+
+You need to decide how you want to receive events from external sources like
+
+- [via HTTP endpoint](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md#configuration)
+- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
+
+Further documentation:
+
+- [GitLab System hooks](https://docs.gitlab.com/ee/administration/system_hooks.html)
+- [Events Plugin](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
+- [GitLab Module for the Events Plugin](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md)
+
+### Installation with Legacy Backend System
+
+#### Installation without Events Support
+
+Add the plugin to the plugin catalog `packages/backend/src/plugins/catalog.ts`:
```ts
/* packages/backend/src/plugins/catalog.ts */
/* highlight-add-next-line */
import { GitlabOrgDiscoveryEntityProvider } from '@backstage/plugin-catalog-backend-module-gitlab';
-const builder = await CatalogBuilder.create(env);
-/** ... other processors and/or providers ... */
-/* highlight-add-start */
-builder.addEntityProvider(
- ...GitlabOrgDiscoveryEntityProvider.fromConfig(env.config, {
- logger: env.logger,
- // optional: alternatively, use scheduler with schedule defined in app-config.yaml
- schedule: env.scheduler.createScheduledTaskRunner({
- frequency: { minutes: 30 },
- timeout: { minutes: 3 },
+export default async function createPlugin(
+ env: PluginEnvironment,
+): Promise {
+ const builder = await CatalogBuilder.create(env);
+ /** ... other processors and/or providers ... */
+ /* highlight-add-start */
+ builder.addEntityProvider(
+ ...GitlabOrgDiscoveryEntityProvider.fromConfig(env.config, {
+ logger: env.logger,
+ // optional: alternatively, use scheduler with schedule defined in app-config.yaml
+ schedule: env.scheduler.createScheduledTaskRunner({
+ frequency: { minutes: 30 },
+ timeout: { minutes: 3 },
+ }),
+ // optional: alternatively, use schedule
+ scheduler: env.scheduler,
}),
- }),
-);
-/* highlight-add-end */
+ );
+ /* highlight-add-end */
+ // ..
+}
+```
+
+#### Installation with Events Support
+
+Please follow the installation instructions at
+
+- [Events Plugin](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
+- [GitLab Module for the Events Plugin](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md)
+
+Additionally, you need to decide how you want to receive events from external sources like
+
+- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
+- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
+
+Set up your provider
+
+```ts title="packages/backend/src/plugins/catalog.ts"
+import { CatalogBuilder } from '@backstage/plugin-catalog-backend';
+/* highlight-add-next-line */
+import { GitlabOrgDiscoveryEntityProvider } from '@backstage/plugin-catalog-backend-module-gitlab';
+import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend';
+import { Router } from 'express';
+import { PluginEnvironment } from '../types';
+
+export default async function createPlugin(
+ env: PluginEnvironment,
+): Promise {
+ const builder = await CatalogBuilder.create(env);
+ builder.addProcessor(new ScaffolderEntitiesProcessor());
+ /* highlight-add-start */
+ const gitlabOrgProvider = GitlabOrgDiscoveryEntityProvider.fromConfig(
+ env.config,
+ {
+ logger: env.logger,
+ // optional: alternatively, use scheduler with schedule defined in app-config.yaml
+ schedule: env.scheduler.createScheduledTaskRunner({
+ frequency: { minutes: 30 },
+ timeout: { minutes: 3 },
+ }),
+ // optional: alternatively, use schedule
+ scheduler: env.scheduler,
+ },
+ );
+ env.eventBroker.subscribe(gitlabOrgProvider);
+ builder.addEntityProvider(gitlabOrgProvider);
+ /* highlight-add-end */
+ const { processingEngine, router } = await builder.build();
+ await processingEngine.start();
+ return router;
+}
```
## Configuration
@@ -58,6 +158,8 @@ amount of data, this can take significant time and resources.
The token used must have the `read_api` scope, and the Users and Groups fetched
will be those visible to the account which provisioned the token.
+> > NOTE: if you are using the New Backend System, the `schedule` has to be setup in the config, as shown below.
+
```yaml
catalog:
providers:
@@ -66,7 +168,13 @@ catalog:
host: gitlab.com
orgEnabled: true
group: org/teams # Required for gitlab.com when `orgEnabled: true`. Optional for self managed. Must not end with slash. Accepts only groups under the provided path (which will be stripped)
+ allowInherited: true # Allow groups to be ingested even if there are no direct members.
groupPattern: '[\s\S]*' # Optional. Filters found groups based on provided pattern. Defaults to `[\s\S]*`, which means to not filter anything
+ schedule: # Same options as in TaskScheduleDefinition. Optional for the Legacy Backend System.
+ # supports cron, ISO duration, "human duration" as used in code
+ frequency: { minutes: 30 }
+ # supports ISO duration, "human duration" as used in code
+ timeout: { minutes: 3 }
```
### Groups
@@ -107,6 +215,74 @@ catalog:
- allow: [Group, User]
```
+### Custom Transformers
+
+You can inject your own transformation logic to help map GitLab API responses
+into Backstage entities. You can do this on the user and group requests to
+enable you to do further processing or updates to these entities.
+
+To enable this you pass a function into the `GitlabOrgDiscoveryEntityProvider`. You can
+pass a `UserTransformer`, a `GroupEntitiesTransformer` or a `GroupNameTransformer` (or all of them)). The function is invoked
+for each item (user or group) that is returned from the API.
+
+The example below uses the groupNameTransformer option to change the metadata.name property of the Backstage Group Entity. Instead of populating it with the usual `group.full_path` data that comes from GitLab, it uses the `group.id`:
+
+```ts
+import { loggerToWinstonLogger } from '@backstage/backend-common';
+import {
+ coreServices,
+ createBackendModule,
+} from '@backstage/backend-plugin-api';
+import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
+import { eventsServiceRef } from '@backstage/plugin-events-node';
+import {
+ GitlabOrgDiscoveryEntityProvider,
+ /* highlight-add-next-line */
+ GroupNameTransformerOptions,
+} from '@backstage/plugin-catalog-backend-module-gitlab';
+
+/* highlight-add-start */
+function customGroupNameTransformer(
+ options: GroupNameTransformerOptions,
+): string {
+ return `${options.group.id}`;
+}
+/* highlight-add-end */
+
+/**
+ * Registers the GitlabDiscoveryEntityProvider with the catalog processing extension point.
+ *
+ * @alpha
+ */
+export const catalogModuleGitlabOrgDiscoveryEntityProvider =
+ createBackendModule({
+ pluginId: 'catalog',
+ moduleId: 'gitlabOrgDiscoveryEntityProvider',
+ register(env) {
+ env.registerInit({
+ deps: {
+ config: coreServices.rootConfig,
+ catalog: catalogProcessingExtensionPoint,
+ logger: coreServices.logger,
+ scheduler: coreServices.scheduler,
+ events: eventsServiceRef,
+ },
+ async init({ config, catalog, logger, scheduler, events }) {
+ const gitlabOrgDiscoveryEntityProvider =
+ GitlabOrgDiscoveryEntityProvider.fromConfig(config, {
+ /* highlight-add-next-line */
+ groupNameTransformer: customGroupNameTransformer,
+ logger: loggerToWinstonLogger(logger),
+ events,
+ scheduler,
+ });
+ catalog.addEntityProvider(gitlabOrgDiscoveryEntityProvider);
+ },
+ });
+ },
+ });
+```
+
## Troubleshooting
**NOTE**: If any groups that are being ingested are empty groups (i.e. do not
diff --git a/docs/overview/architecture-overview.md b/docs/overview/architecture-overview.md
index f975baf1e1..2295a3e503 100644
--- a/docs/overview/architecture-overview.md
+++ b/docs/overview/architecture-overview.md
@@ -61,9 +61,9 @@ The CircleCI plugin is available on `/circleci`.
Each plugin is a client side application which mounts itself on the UI. Plugins
are written in TypeScript or JavaScript. They each live in their own directory
-in `backstage/plugins`. For example, the source code for the lighthouse plugin
+in the `plugins` folder. For example, the source code for the catalog plugin
is available at
-[backstage/plugins/lighthouse](https://github.com/backstage/backstage/tree/master/plugins/lighthouse).
+[plugins/catalog](https://github.com/backstage/backstage/tree/master/plugins/catalog).
### Installing plugins
diff --git a/docs/plugins/backend-plugin.md b/docs/plugins/backend-plugin.md
index 497a6be9b9..7a51cb635c 100644
--- a/docs/plugins/backend-plugin.md
+++ b/docs/plugins/backend-plugin.md
@@ -44,7 +44,7 @@ cd plugins/carmen-backend
yarn start
```
-> Note: this documentation assumes you are using the latest version of Backstage and the new backend system. If you are not please upgrade and migrate your backend using the [Migration Guide](../backend-system/building-backends/08-migrating.md)
+> Note: this documentation assumes you are using the latest version of Backstage and the new backend system. If you are not, please upgrade and migrate your backend using the [Migration Guide](../backend-system/building-backends/08-migrating.md)
This will think for a bit, and then say `Listening on :7007`. In a different
terminal window, now run
@@ -72,38 +72,19 @@ to your backend.
yarn --cwd packages/backend add @internal/plugin-carmen-backend@^0.1.0 # Change this to match the plugin's package.json
```
-Create a new file named `packages/backend/src/plugins/carmen.ts`, and add the
-following to it
+Update `packages/backend/src/index` with the following,
```ts
-import { createRouter } from '@internal/plugin-carmen-backend';
-import { Router } from 'express';
-import { PluginEnvironment } from '../types';
+const backend = createBackend();
-export default async function createPlugin(
- env: PluginEnvironment,
-): Promise {
- // Here is where you will add all of the required initialization code that
- // your backend plugin needs to be able to start!
-
- // The env contains a lot of goodies, but our router currently only
- // needs a logger
- return await createRouter({
- logger: env.logger,
- });
-}
-```
-
-And finally, wire this into the overall backend router. Edit
-`packages/backend/src/index.ts`:
-
-```ts
-import carmen from './plugins/carmen';
// ...
-async function main() {
- // ...
- const carmenEnv = useHotMemoize(module, () => createEnv('carmen'));
- apiRouter.use('/carmen', await carmen(carmenEnv));
+
+// highlight-add-next-line
+backend.add(import('@internal/plugin-carmen-backend'));
+
+// ...
+
+backend.start();
```
After you start the backend (e.g. using `yarn start-backend` from the repo
@@ -116,36 +97,123 @@ curl localhost:7007/api/carmen/health
This should return `{"status":"ok"}` like before. Success!
+## Secure by Default
+
+In 1.25, Backstage started moving to a secure by default model for plugins. This means that network requests to plugins will by default not allow unauthenticated users. Let's take a deeper look at the above curl request which should allow unauthenticated access.
+
+The actual endpoint that is being called is defined in
+
+```ts title="plugins/carmen-backend/src/service/router.ts"
+export async function createRouter(
+ options: RouterOptions,
+): Promise {
+ // ...
+
+ // highlight-start
+ router.get('/health', (_, response) => {
+ logger.info('PONG!');
+ response.json({ status: 'ok' });
+ });
+ // highlight-end
+
+ // ...
+ return router;
+}
+```
+
+You'll notice that there is no authentication mechanism defined here, just the route name and response data. That's because the authentication is handled in your plugin definition,
+
+```ts title="plugins/carmen-backend/src/plugin.ts"
+httpRouter.use(
+ await createRouter({
+ logger,
+ }),
+);
+// highlight-start
+httpRouter.addAuthPolicy({
+ path: '/health',
+ allow: 'unauthenticated',
+});
+// highlight-end
+```
+
+This allows requests to this plugin's `/health` endpoint to go through unauthenticated!
+
+## Using Dependencies
+
+In the new backend, dependencies are defined statically during registration and then "injected" during initialization. Here's an example of what this looks like,
+
+```ts title="plugins/carmen-backend/src/plugin.ts"
+
+// highlight-start
+deps: {
+ httpRouter: coreServices.httpRouter,
+ logger: coreServices.logger,
+},
+// highlight-end
+// And then you can use them through the options property!
+// highlight-next-line
+async init({ httpRouter, logger }) {
+ // ...
+},
+
+```
+
+You can add your own dependencies by adding a named item to the `deps` parameter:
+
+```ts
+deps: {
+ // highlight-next-line
+ myDependency: coreServices.rootConfig,
+},
+```
+
+And then you can access it by referencing it in the `init` block of your plugin definition,
+
+```ts
+async init({ myDependency }) {
+ // ..
+}
+```
+
+And then you're free to call it and pass it into your router as needed.
+
+Backstage provides a bunch of `coreServices` out of box, see the more in depth docs [here](../backend-system/core-services/01-index.md).
+
## Making Use of a Database
The Backstage backend comes with a builtin facility for SQL database access.
Most plugins that have persistence needs will choose to make use of this
facility, so that Backstage operators can manage database needs uniformly.
-As part of the environment object that is passed to your `createPlugin`
-function, there is a `database` field. You can use that to get a
-[Knex](http://knexjs.org/) connection object.
-
-```ts
-// in packages/backend/src/plugins/carmen.ts
-export default async function createPlugin(
- env: PluginEnvironment,
-): Promise {
- const db: Knex = await env.database.getClient();
+You can access this by adding a dependency on the `coreServices.database` service.
+That will give you a [Knex](http://knexjs.org/) connection object.
+```ts title="plugins/carmen-backend/src/plugin.ts"
+deps: {
+ // ...
+ // highlight-next-line
+ database: coreServices.database,
+},
+async init({
+ // highlight-next-line
+ database,
+}) {
// You will then pass this client into your actual plugin implementation
// code, maybe similar to the following:
- const model = new CarmenDatabaseModel(db);
- return await createRouter({
- model: model,
- logger: env.logger,
- });
+ const model = new CarmenDatabaseModel(database);
+ httpRouter.use(
+ await createRouter({
+ // highlight-next-line
+ model,
+ logger,
+ }),
+ );
}
```
-You may note that the `getClient` call has no parameters. This is because all
-plugin database needs are configured under the `backend.database` config key of
-your `app-config.yaml`. The framework may even make sure behind the scenes that
+All plugin database needs are configured under the `backend.database` config key
+of your `app-config.yaml`. The framework may even make sure behind the scenes that
the logical database is created automatically if it doesn't exist, based on
rules that the Backstage operator decides on.
@@ -159,37 +227,67 @@ database..
## Making Use of the User's Identity
-The Backstage backend comes with a facility for retrieving the identity of the
-logged in user.
+The Backstage backend also offers a core service to access the user's identity. You can access it through the `coreServices.httpAuth` and `coreServices.userInfo` dependencies.
-As part of the environment object that is passed to your `createPlugin`
-function, there is a `identity` field. You can use that to get an identity
-from the request.
-
-```ts
-// in packages/backend/src/plugins/carmen.ts
-export default async function createPlugin(
- env: PluginEnvironment,
-): Promise {
- return await createRouter({
- model: model,
- logger: env.logger,
- identity: env.identity,
- });
+```ts title="plugins/carmen-backend/src/plugin.ts"
+deps: {
+ // highlight-start
+ httpAuth: coreServices.httpAuth,
+ userInfo: coreServices.userInfo,
+ // highlight-end
+},
+async init({
+ // highlight-start
+ httpAuth,
+ userInfo,
+ // highlight-end
+}) {
+ httpRouter.use(
+ await createRouter({
+ // highlight-start
+ httpAuth,
+ userInfo,
+ // highlight-end
+ logger,
+ }),
+ );
}
```
The plugin can then extract the identity from the request.
```ts
+export interface RouterOptions {
+ logger: LoggerService;
+ // highlight-start
+ userInfo: UserInfoService;
+ httpAuth: HttpAuthService;
+ // highlight-end
+}
+
export async function createRouter(
options: RouterOptions,
): Promise {
- const router = Router();
- const { identity } = options;
+ const { userInfo, httpAuth } = options;
- router.post('/example', async (req, res) => {
- const userIdentity = await identity.getIdentity({ request: req });
- ...
+ router.post('/me', async (req, res) => {
+ const credentials = await httpAuth.credentials(req, {
+ // This rejects request from non-users. Only use this if your plugin needs to access the
+ // user identity, most of the time it's enough to just call `httpAuth.credentials(req)`
+ allow: ['user'],
+ });
+
+ const userInfo = await userInfo.getUserInfo(credentials);
+
+ res.json({
+ // The catalog entity ref of the user.
+ userEntityRef: userInfo.userEntityRef,
+
+ // The list of entities that this user or any teams this user is a part of owns.
+ ownershipEntityRefs: userInfo.ownershipEntityRefs,
+ });
});
+
+ // ...
+}
```
diff --git a/docs/plugins/call-existing-api.md b/docs/plugins/call-existing-api.md
index da76fa8434..065427b9ee 100644
--- a/docs/plugins/call-existing-api.md
+++ b/docs/plugins/call-existing-api.md
@@ -137,9 +137,8 @@ router.use('/summary', async (req, res) => {
```
For a more detailed example, see
-[the lighthouse plugin](https://github.com/backstage/backstage/tree/master/plugins/lighthouse)
-that stores some state in a database and adds new capabilities to the underlying
-API.
+[the user-settings plugin backend](https://github.com/backstage/backstage/tree/master/plugins/user-settings-backend)
+that stores some state in a database and surfaces an API for the frontend plugin to use.
Internally at Spotify, this has been a fairly popular choice for different
reasons. Commonly, the backend has been used as a caching and data massaging
diff --git a/docs/plugins/index.md b/docs/plugins/index.md
index 755c1b8a7d..94de3bc482 100644
--- a/docs/plugins/index.md
+++ b/docs/plugins/index.md
@@ -22,7 +22,7 @@ To create a plugin, follow the steps outlined [here](create-a-plugin.md).
If you start developing a plugin that you aim to release as open source, we
suggest that you create a
-[new Issue](https://github.com/backstage/backstage/issues/new?labels=plugin&template=plugin_template.md&title=%5BPlugin%5D+THE+PLUGIN+NAME).
+[new Issue in the community plugins repo](https://github.com/backstage/community-plugins/issues/new/choose).
This helps the community know what plugins are in development.
You can also use this process if you have an idea for a good plugin but you hope
diff --git a/docs/releases/v1.1.0.md b/docs/releases/v1.1.0.md
index daf31a536f..f484cc5b57 100644
--- a/docs/releases/v1.1.0.md
+++ b/docs/releases/v1.1.0.md
@@ -38,11 +38,11 @@ The permission related packages received a number of **BREAKING** changes. Among
### Stack Overflow
-There’s a new Stack Overflow [frontend](https://github.com/backstage/backstage/tree/master/plugins/stack-overflow) plugin with a corresponding [backend](https://github.com/backstage/backstage/tree/master/plugins/stack-overflow-backend]!
+There’s a new Stack Overflow [frontend](https://github.com/backstage/backstage/tree/v1.1.0/plugins/stack-overflow) plugin with a corresponding [backend](https://github.com/backstage/backstage/tree/v1.1.0/plugins/stack-overflow-backend)!
### Misc
-- The [CI/CD Statistics plugin](https://github.com/backstage/backstage/tree/master/plugins/cicd-statistics) now has GitLab support, through the new [GitLab module](https://github.com/backstage/backstage/tree/master/plugins/cicd-statistics-module-gitlab). Thanks [@djamaile](https://github.com/djamaile)! ([#10140](https://github.com/backstage/backstage/pull/10140))
+- The [CI/CD Statistics plugin](https://github.com/backstage/backstage/tree/v1.1.0/plugins/cicd-statistics) now has GitLab support, through the new [GitLab module](https://github.com/backstage/backstage/tree/v1.1.0/plugins/cicd-statistics-module-gitlab). Thanks [@djamaile](https://github.com/djamaile)! ([#10140](https://github.com/backstage/backstage/pull/10140))
- The catalog [AWS module](https://github.com/backstage/backstage/tree/master/plugins/catalog-backend-module-aws) added a new `AwsS3EntityProvider` as a replacement for the `AwsS3DiscoveryProcessor`. Thanks [@pjungermann](https://github.com/pjungermann)! ([#10480](https://github.com/backstage/backstage/pull/10480))
diff --git a/docs/releases/v1.10.0-changelog.md b/docs/releases/v1.10.0-changelog.md
index db3955bb3f..486ed2d268 100644
--- a/docs/releases/v1.10.0-changelog.md
+++ b/docs/releases/v1.10.0-changelog.md
@@ -253,7 +253,7 @@
- e4469d0ec1: The ADR plugin can now work with sites other than GitHub. Expanded the ADR backend plugin to provide endpoints to facilitate this.
- **BREAKING** The ADR plugin now requires the `@backstage/plugin-adr-backend` plugin to be installed by using the `createRouter` method to add into your `backend`. You read more in the [install instructions](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md#install)
+ **BREAKING** The ADR plugin now requires the `@backstage/plugin-adr-backend` plugin to be installed by using the `createRouter` method to add into your `backend`. You read more in the [install instructions](https://github.com/backstage/backstage/blob/v1.10.0/plugins/adr-backend/README.md#install)
### Patch Changes
@@ -809,7 +809,7 @@
### Patch Changes
-- aa17643a06: This plugin now exports a `createRouter` method which uses `UrlReaders` to make requests to your SCM. Please make sure you read the [install instructions](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md#install)
+- aa17643a06: This plugin now exports a `createRouter` method which uses `UrlReaders` to make requests to your SCM. Please make sure you read the [install instructions](https://github.com/backstage/backstage/blob/v1.10.0/plugins/adr-backend/README.md#install)
- 21ffbdd5ee: Clarify that default ADR parsers support MADR specification v2.x
- Updated dependencies
- @backstage/backend-common@0.18.0
diff --git a/docs/releases/v1.11.0-changelog.md b/docs/releases/v1.11.0-changelog.md
index 42f9e9720b..f6c7901cb6 100644
--- a/docs/releases/v1.11.0-changelog.md
+++ b/docs/releases/v1.11.0-changelog.md
@@ -402,7 +402,7 @@
- d1fb4b7bf1: Add the new GraphQL Voyager tool as a plugin for backstage, expose necessary API and components needed for it.
- For more information on how to use this plugin and configure it, please navigate to the [README](https://github.com/backstage/backstage/tree/master/plugins/graphql-voyager/README.md) of the plugin.
+ For more information on how to use this plugin and configure it, please navigate to the [README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/graphql-voyager/README.md) of the plugin.
### Patch Changes
@@ -538,7 +538,7 @@
- 44412375bb: Created a new plugin `@backstage/plugin-microsoft-calendar` to display events from a Microsoft Calendar.
- please refer to the [README.md](https://github.com/backstage/backstage/blob/master/plugins/microsoft-calendar/README.md) for step-by-step instructions to setup the plugin in your Backstage instance.
+ please refer to the [README.md](https://github.com/backstage/backstage/blob/v1.11.0/plugins/microsoft-calendar/README.md) for step-by-step instructions to setup the plugin in your Backstage instance.
### Patch Changes
diff --git a/docs/releases/v1.11.0-next.2-changelog.md b/docs/releases/v1.11.0-next.2-changelog.md
index 65f6622921..089f6d8853 100644
--- a/docs/releases/v1.11.0-next.2-changelog.md
+++ b/docs/releases/v1.11.0-next.2-changelog.md
@@ -156,7 +156,7 @@
- d1fb4b7bf1: Add the new GraphQL Voyager tool as a plugin for backstage, expose necessary API and components needed for it.
- For more information on how to use this plugin and configure it, please navigate to the [README](https://github.com/backstage/backstage/tree/master/plugins/graphql-voyager/README.md) of the plugin.
+ For more information on how to use this plugin and configure it, please navigate to the [README](https://github.com/backstage/backstage/tree/v1.11.0-next.2/plugins/graphql-voyager/README.md) of the plugin.
### Patch Changes
diff --git a/docs/releases/v1.11.0.md b/docs/releases/v1.11.0.md
index 1afed5fbb6..ad2118c754 100644
--- a/docs/releases/v1.11.0.md
+++ b/docs/releases/v1.11.0.md
@@ -41,37 +41,37 @@ We created a separate ESlint plugin package that houses some rules that are help
### New plugin: Entity Feedback
-A plugin that allows users to rate the quality of entities in your Backstage catalog. Allowing your users to rate entities brings them into the feedback loop that can help notify owners if something is wrong with their entity (i.e. taking inspiration from the feedback model of TechDocs). Check out [the README](https://github.com/backstage/backstage/tree/master/plugins/entity-feedback)!
+A plugin that allows users to rate the quality of entities in your Backstage catalog. Allowing your users to rate entities brings them into the feedback loop that can help notify owners if something is wrong with their entity (i.e. taking inspiration from the feedback model of TechDocs). Check out [the README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/entity-feedback)!
Contributed by [@kuangp](https://github.com/kuangp) in [#15881](https://github.com/backstage/backstage/pull/15881)
### New plugin: Entity Validator
-This plugin helps users create and edit their YAML definitions of entities, with live validation. It leverages the actual catalog backend for checks, so that you can submit catalog info file changes that fit your particular organization with greater confidence. Installation instructions and details are in [the README](https://github.com/backstage/backstage/tree/master/plugins/entity-validation).
+This plugin helps users create and edit their YAML definitions of entities, with live validation. It leverages the actual catalog backend for checks, so that you can submit catalog info file changes that fit your particular organization with greater confidence. Installation instructions and details are in [the README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/entity-validation).
Contributed by [@ivangonzalezacuna](https://github.com/ivangonzalezacuna) in [#16050](https://github.com/backstage/backstage/pull/16050)
### New Plugin: Microsoft Calendar
-This plugin lets you show your MS calendars directly in Backstage. More information and installation instructions in [the README](https://github.com/backstage/backstage/tree/master/plugins/microsoft-calendar)!
+This plugin lets you show your MS calendars directly in Backstage. More information and installation instructions in [the README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/microsoft-calendar)!
Contributed by [@Abhay-soni-developer](https://github.com/Abhay-soni-developer) in [#16101](https://github.com/backstage/backstage/pull/16101)
### New plugin: GraphQL Voyager
-This nifty plugin presents a graph structure of your entire GraphQL API. Check out [its README](https://github.com/backstage/backstage/tree/master/plugins/graphql-voyager) for a screenshot and instructions on installing it.
+This nifty plugin presents a graph structure of your entire GraphQL API. Check out [its README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/graphql-voyager) for a screenshot and instructions on installing it.
Contributed by [@MitchWijt](https://github.com/MitchWijt) in [#16015](https://github.com/backstage/backstage/pull/16015)
### New plugin: Linguist
-This plugin lets you see a nice visual representation of the breakdown of languages that a component’s repository is using, similar to the repository information that e.g. GitHub presents. More about that [in the README](https://github.com/backstage/backstage/tree/master/plugins/linguist)!
+This plugin lets you see a nice visual representation of the breakdown of languages that a component’s repository is using, similar to the repository information that e.g. GitHub presents. More about that [in the README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/linguist)!
Contributed by [@ahhhndre](https://github.com/ahhhndre) in [#14718](https://github.com/backstage/backstage/pull/14718)
### Lighthouse Backend
-The [Lighthouse plugin](https://github.com/backstage/backstage/tree/master/plugins/lighthouse) now has a [corresponding backend](https://github.com/backstage/backstage/tree/master/plugins/lighthouse-backend). This allows you to conveniently schedule audits from within Backstage.
+The [Lighthouse plugin](https://github.com/backstage/backstage/tree/v1.11.0/plugins/lighthouse) now has a [corresponding backend](https://github.com/backstage/backstage/tree/v1.11.0/plugins/lighthouse-backend). This allows you to conveniently schedule audits from within Backstage.
Note that as part of this, a `@backstage/plugin-lighthouse-common` package was also created, and types that were common to the frontend and backend were moved there. This means that if you were explicitly importing types from the frontend package, you may see compilation errors and need to add a dependency on the new common package and point your imports there instead.
diff --git a/docs/releases/v1.12.0-changelog.md b/docs/releases/v1.12.0-changelog.md
index 7a8b52e33b..df25020aee 100644
--- a/docs/releases/v1.12.0-changelog.md
+++ b/docs/releases/v1.12.0-changelog.md
@@ -449,7 +449,7 @@
### Minor Changes
-- f3a15259e91: Add StackStorm plugin to Backstage which is interfacing with StackStorm API. It allows users to view workflow executions, packs and actions. For installation and configuration instructions please view [README.md](https://github.com/backstage/backstage/tree/master/plugins/stackstorm/README.md)
+- f3a15259e91: Add StackStorm plugin to Backstage which is interfacing with StackStorm API. It allows users to view workflow executions, packs and actions. For installation and configuration instructions please view [README.md](https://github.com/backstage/backstage/tree/v1.12.0/plugins/stackstorm/README.md)
### Patch Changes
diff --git a/docs/releases/v1.12.0-next.0-changelog.md b/docs/releases/v1.12.0-next.0-changelog.md
index b7f71b53e6..7732ebf22d 100644
--- a/docs/releases/v1.12.0-next.0-changelog.md
+++ b/docs/releases/v1.12.0-next.0-changelog.md
@@ -125,7 +125,7 @@
### Minor Changes
-- f3a15259e9: Add StackStorm plugin to Backstage which is interfacing with StackStorm API. It allows users to view workflow executions, packs and actions. For installation and configuration instructions please view [README.md](https://github.com/backstage/backstage/tree/master/plugins/stackstorm/README.md)
+- f3a15259e9: Add StackStorm plugin to Backstage which is interfacing with StackStorm API. It allows users to view workflow executions, packs and actions. For installation and configuration instructions please view [README.md](https://github.com/backstage/backstage/tree/v1.12.0-next.0/plugins/stackstorm/README.md)
### Patch Changes
diff --git a/docs/releases/v1.13.0-changelog.md b/docs/releases/v1.13.0-changelog.md
index 506800eb38..52f14bea1b 100644
--- a/docs/releases/v1.13.0-changelog.md
+++ b/docs/releases/v1.13.0-changelog.md
@@ -509,7 +509,7 @@
### Minor Changes
-- 70a036e940e: Initial version of [PuppetDB plugin](https://github.com/backstage/backstage/blob/master/plugins/puppetdb/README.md).
+- 70a036e940e: Initial version of [PuppetDB plugin](https://github.com/backstage/backstage/blob/v1.13.0/plugins/puppetdb/README.md).
### Patch Changes
diff --git a/docs/releases/v1.14.0-changelog.md b/docs/releases/v1.14.0-changelog.md
index ff43be94a4..f207ab569c 100644
--- a/docs/releases/v1.14.0-changelog.md
+++ b/docs/releases/v1.14.0-changelog.md
@@ -2356,7 +2356,7 @@
- The `CheckResultRenderer` type now exposes an optional `description` method that allows to overwrite the description with a different string or a React component for a provided check result.
Until now only the `BooleanCheck` element could be overridden, but from now on it's also possible to override the description for a check.
- As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details
+ As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/v1.14.0/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details
- Updated dependencies
- @backstage/theme@0.3.0
diff --git a/docs/releases/v1.14.0-next.1-changelog.md b/docs/releases/v1.14.0-next.1-changelog.md
index 2f91cb402e..0fa508bbd6 100644
--- a/docs/releases/v1.14.0-next.1-changelog.md
+++ b/docs/releases/v1.14.0-next.1-changelog.md
@@ -1502,7 +1502,7 @@
- The `CheckResultRenderer` type now exposes an optional `description` method that allows to overwrite the description with a different string or a React component for a provided check result.
Until now only the `BooleanCheck` element could be overridden, but from now on it's also possible to override the description for a check.
- As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details
+ As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/v1.14.0-next.1/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details
- Updated dependencies
- @backstage/core-components@0.13.1-next.0
diff --git a/docs/releases/v1.17.0-changelog.md b/docs/releases/v1.17.0-changelog.md
index a67226ca9e..700ab6ccea 100644
--- a/docs/releases/v1.17.0-changelog.md
+++ b/docs/releases/v1.17.0-changelog.md
@@ -773,7 +773,7 @@
### Patch Changes
-- ec7357258853: Introduced the New Relic Browser analytics module. Check out the plugins [README.md](https://github.com/backstage/backstage/tree/master/plugins/analytics-module-newrelic-browser) for more details!
+- ec7357258853: Introduced the New Relic Browser analytics module. Check out the plugins [README.md](https://github.com/backstage/backstage/tree/v1.17.0/plugins/analytics-module-newrelic-browser) for more details!
- Updated dependencies
- @backstage/core-components@0.13.4
- @backstage/core-plugin-api@1.5.3
diff --git a/docs/releases/v1.17.0-next.0-changelog.md b/docs/releases/v1.17.0-next.0-changelog.md
index 2d343696de..2cd71285ce 100644
--- a/docs/releases/v1.17.0-next.0-changelog.md
+++ b/docs/releases/v1.17.0-next.0-changelog.md
@@ -435,7 +435,7 @@
### Patch Changes
-- ec7357258853: Introduced the New Relic Browser analytics module. Check out the plugins [README.md](https://github.com/backstage/backstage/tree/master/plugins/analytics-module-newrelic-browser) for more details!
+- ec7357258853: Introduced the New Relic Browser analytics module. Check out the plugins [README.md](https://github.com/backstage/backstage/tree/v1.17.0-next.0/plugins/analytics-module-newrelic-browser) for more details!
- Updated dependencies
- @backstage/core-components@0.13.4-next.0
- @backstage/core-plugin-api@1.5.3
diff --git a/docs/releases/v1.18.0.md b/docs/releases/v1.18.0.md
index cae0301fd5..eb42a5f58a 100644
--- a/docs/releases/v1.18.0.md
+++ b/docs/releases/v1.18.0.md
@@ -34,7 +34,7 @@ Contributed by [@sbarrypoppulo](https://github.com/sbarrypoppulo) in [#18889](ht
### New plugin: OpenCost
-There’s a new [OpenCost](https://www.opencost.io/) plugin that provides a port of the latest OpenCost UI to Backstage. The [plugin's README](https://github.com/backstage/backstage/blob/master/plugins/opencost/README.md) covers installation and configuration.
+There’s a new [OpenCost](https://www.opencost.io/) plugin that provides a port of the latest OpenCost UI to Backstage. The [plugin's README](https://github.com/backstage/backstage/blob/v1.18.0/plugins/opencost/README.md) covers installation and configuration.
Contributed by [@mattray](https://github.com/mattray) in [#18383](https://github.com/backstage/backstage/pull/18383)
diff --git a/docs/releases/v1.27.0-next.0-changelog.md b/docs/releases/v1.27.0-next.0-changelog.md
new file mode 100644
index 0000000000..04ef3c3c2f
--- /dev/null
+++ b/docs/releases/v1.27.0-next.0-changelog.md
@@ -0,0 +1,2064 @@
+# Release v1.27.0-next.0
+
+Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.27.0-next.0](https://backstage.github.io/upgrade-helper/?to=1.27.0-next.0)
+
+## @backstage/catalog-model@1.5.0-next.0
+
+### Minor Changes
+
+- 79025f3: Introduce a domain attribute to the domain entity to allow a hierarchy of domains to exist.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-catalog-backend@1.22.0-next.0
+
+### Minor Changes
+
+- 8d14475: Emit well known relationships for the Domain entity kind.
+
+### Patch Changes
+
+- c6cb568: Add lifecycle monitoring for the catalog processing
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-search-backend-module-catalog@0.1.23-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-openapi-utils@0.1.11-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-events-node@0.3.4-next.0
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+
+## @backstage/app-defaults@1.5.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/plugin-permission-react@0.4.22
+
+## @backstage/backend-app-api@0.7.1-next.0
+
+### Patch Changes
+
+- 4cd5ff0: Add ability to configure the Node.js HTTP Server when configuring the root HTTP Router service
+- e8199b1: Move the JWKS registration outside of the lifecycle middleware
+- dc8c5dd: The default `TokenManager` implementation no longer requires keys to be configured in production, but it will throw an errors when generating or authenticating tokens. The default `AuthService` implementation will now also provide additional context if such an error is throw when falling back to using the `TokenManager` service to generate tokens for outgoing requests.
+- 025641b: Redact `meta` fields too with the logger
+- 5863e02: Internal refactor to only create one external token handler
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/cli-common@0.1.13
+ - @backstage/cli-node@0.2.5
+ - @backstage/config@1.2.0
+ - @backstage/config-loader@1.8.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-node@0.7.29-next.0
+
+## @backstage/backend-common@0.21.8-next.0
+
+### Patch Changes
+
+- ba0b8b4: Added option to `ServerTokenManager.fromConfig` that allows it to be instantiated in production without any configured keys.
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.1-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/backend-dev-utils@0.1.4
+ - @backstage/cli-common@0.1.13
+ - @backstage/config@1.2.0
+ - @backstage/config-loader@1.8.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/integration-aws-node@0.1.12
+ - @backstage/types@1.1.1
+
+## @backstage/backend-defaults@0.2.18-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.1-next.0
+ - @backstage/backend-common@0.21.8-next.0
+
+## @backstage/backend-dynamic-feature-service@0.2.10-next.0
+
+### Patch Changes
+
+- b611fd0: Updates the `scanRoot` method in the `PluginScanner` class to specifically ignore the `lost+found` directory, which is a system-generated directory used for file recovery on Unix-like systems. Skipping this directory avoids unnecessary errors.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.22.0-next.0
+ - @backstage/backend-app-api@0.7.1-next.0
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/cli-common@0.1.13
+ - @backstage/cli-node@0.2.5
+ - @backstage/config@1.2.0
+ - @backstage/config-loader@1.8.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-app-node@0.1.18-next.0
+ - @backstage/plugin-events-backend@0.3.5-next.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/backend-openapi-utils@0.1.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+
+## @backstage/backend-plugin-api@0.6.18-next.0
+
+### Patch Changes
+
+- 1fedf0c: Removed explicit `toString()` method from `ServiceRef` type.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+
+## @backstage/backend-tasks@0.5.23-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/backend-test-utils@0.3.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.1-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/catalog-client@1.6.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/errors@1.2.4
+
+## @backstage/cli@0.26.5-next.0
+
+### Patch Changes
+
+- fcd3462: Both the target and types library have been bumped from ES2021 to ES2022 in `@backstage/cli/config/tsconfig.json`.
+- 0cc5ed3: Add support for `versions:migrate` to do code changes. Can be skipped with `--no-code-changes`
+- f97ad04: Add preserveModules to rollup, which allows better async loading and tree-shaking in webpack
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/cli-common@0.1.13
+ - @backstage/cli-node@0.2.5
+ - @backstage/config@1.2.0
+ - @backstage/config-loader@1.8.0
+ - @backstage/errors@1.2.4
+ - @backstage/eslint-plugin@0.1.7
+ - @backstage/integration@1.10.0
+ - @backstage/release-manifests@0.0.11
+ - @backstage/types@1.1.1
+
+## @backstage/core-compat-api@0.2.5-next.0
+
+### Patch Changes
+
+- 5d99272: Update local development dependencies.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/version-bridge@1.0.8
+
+## @backstage/core-components@0.14.5-next.0
+
+### Patch Changes
+
+- 71e4229: Added optional `initialShowDropDown` prop to `SidebarSubmenuItem` to internally manage the initial display state of the dropdown items.
+- Updated dependencies
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/version-bridge@1.0.8
+
+## @backstage/create-app@0.5.15-next.0
+
+### Patch Changes
+
+- c066c88: Removed `packages/backend/src/types.ts` from the template as it is unused. It was mistakenly left in after moving the template to the new backend system.
+- 5d99272: Update local development dependencies.
+- 8105aad: Removed the Tech Radar and GitHub Actions plugins from the template, which have been moved to the community plugins repository.
+- Updated dependencies
+ - @backstage/cli-common@0.1.13
+
+## @backstage/dev-utils@1.0.32-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/app-defaults@1.5.5-next.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/integration-react@1.1.26
+
+## @backstage/frontend-app-api@0.6.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## @backstage/frontend-plugin-api@0.6.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## @backstage/frontend-test-utils@0.1.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-app-api@0.6.5-next.0
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/test-utils@1.5.5-next.0
+ - @backstage/types@1.1.1
+
+## @backstage/repo-tools@0.8.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/cli-common@0.1.13
+ - @backstage/cli-node@0.2.5
+ - @backstage/config-loader@1.8.0
+ - @backstage/errors@1.2.4
+
+## @techdocs/cli@1.8.10-next.0
+
+### Patch Changes
+
+- 1a0e009: Fix cookie endpoint mock for `serve`
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/plugin-techdocs-node@1.12.4-next.0
+ - @backstage/cli-common@0.1.13
+ - @backstage/config@1.2.0
+
+## @backstage/test-utils@1.5.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-react@0.4.22
+
+## @backstage/theme@0.5.4-next.0
+
+### Patch Changes
+
+- f1462df: Fixed bug where scrollbars don't pick up the theme when in dark mode
+
+## @backstage/plugin-api-docs@0.11.5-next.0
+
+### Patch Changes
+
+- 5d99272: Update local development dependencies.
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/plugin-catalog@1.19.1-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/plugin-permission-react@0.4.22
+
+## @backstage/plugin-app-backend@0.3.66-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/config-loader@1.8.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-app-node@0.1.18-next.0
+
+## @backstage/plugin-app-node@0.1.18-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config-loader@1.8.0
+
+## @backstage/plugin-app-visualizer@0.1.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+
+## @backstage/plugin-auth-backend@0.22.5-next.0
+
+### Patch Changes
+
+- ea9262b: Allow overriding default ownership resolving with the new `AuthOwnershipResolutionExtensionPoint`
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-backend-module-oidc-provider@0.1.9-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-auth-backend-module-azure-easyauth-provider@0.1.1-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-backend-module-atlassian-provider@0.1.10-next.0
+ - @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.10-next.0
+ - @backstage/plugin-auth-backend-module-bitbucket-provider@0.1.1-next.0
+ - @backstage/plugin-auth-backend-module-cloudflare-access-provider@0.1.1-next.0
+ - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.13-next.0
+ - @backstage/plugin-auth-backend-module-github-provider@0.1.15-next.0
+ - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.15-next.0
+ - @backstage/plugin-auth-backend-module-google-provider@0.1.15-next.0
+ - @backstage/plugin-auth-backend-module-microsoft-provider@0.1.13-next.0
+ - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.15-next.0
+ - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.11-next.0
+ - @backstage/plugin-auth-backend-module-okta-provider@0.0.11-next.0
+
+## @backstage/plugin-auth-backend-module-atlassian-provider@0.1.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.22.5-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-auth-backend-module-azure-easyauth-provider@0.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-auth-backend-module-bitbucket-provider@0.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-cloudflare-access-provider@0.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-auth-backend-module-github-provider@0.1.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-google-provider@0.1.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-guest-provider@0.1.4-next.0
+
+### Patch Changes
+
+- 07d8cca: Error if used outside of a development environment without explicit allowance
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-auth-backend-module-microsoft-provider@0.1.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-oauth2-provider@0.1.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-auth-backend-module-oidc-provider@0.1.9-next.0
+
+### Patch Changes
+
+- dd53bf3: Add nonce to authorize request to be added in ID token
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.22.5-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-okta-provider@0.0.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-backend-module-pinniped-provider@0.1.12-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+
+## @backstage/plugin-auth-backend-module-vmware-cloud-provider@0.1.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-auth-node@0.4.13-next.0
+
+### Patch Changes
+
+- ea9262b: Allow overriding default ownership resolving with the new `AuthOwnershipResolutionExtensionPoint`
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-auth-react@0.1.1-next.0
+
+### Patch Changes
+
+- c297afd: When using `CookieAuthRefreshProvider` or `useCookieAuthRefresh`, a 404 response from the cookie endpoint will now be treated as if cookie auth is disabled and is not needed.
+- Updated dependencies
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-catalog@1.19.1-next.0
+
+### Patch Changes
+
+- 5d99272: Update local development dependencies.
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-scaffolder-common@1.5.2-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/integration-react@1.1.26
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-react@0.4.22
+ - @backstage/plugin-search-common@1.2.11
+ - @backstage/plugin-search-react@1.7.11-next.0
+
+## @backstage/plugin-catalog-backend-module-aws@0.3.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/plugin-kubernetes-common@0.7.6-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/integration-aws-node@0.1.12
+
+## @backstage/plugin-catalog-backend-module-azure@0.1.38-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-catalog-backend-module-backstage-openapi@0.2.1-next.0
+
+### Patch Changes
+
+- f3f0281: Fix incorrect dependency import.
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-openapi-utils@0.1.11-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.2.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/integration@1.10.0
+ - @backstage/plugin-bitbucket-cloud-common@0.2.18
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.32-next.0
+
+### Patch Changes
+
+- 062ffb1: Allow skipping archived repositories (`skipArchivedRepos` flag) on Bitbucket.
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-catalog-backend-module-gcp@0.1.19-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/plugin-kubernetes-common@0.7.6-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+
+## @backstage/plugin-catalog-backend-module-gerrit@0.1.35-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-catalog-backend-module-github@0.6.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.22.0-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/integration@1.10.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-catalog-backend-module-github-org@0.1.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-backend-module-github@0.6.1-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-catalog-backend-module-gitlab@0.3.15-next.2
+
+### Patch Changes
+
+- a70377d: Added events support for `GitlabDiscoveryEntityProvider` and `GitlabOrgDiscoveryEntityProvider`.
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/integration@1.10.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-catalog-backend-module-gitlab-org@0.0.1-next.0
+
+### Patch Changes
+
+- a70377d: Added a new `catalog-backend-module-gitlab-org` module which adds the `GitlabOrgDiscoveryEntityProvider` to the catalog's providers using the new backend system.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend-module-gitlab@0.3.15-next.2
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.23-next.0
+
+### Patch Changes
+
+- 8c1ab9e: Fix plugin/incremental-ingestion 'Maximum call stack size exceeded' error when ingest large entities.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.22.0-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-events-node@0.3.4-next.0
+ - @backstage/plugin-permission-common@0.7.13
+
+## @backstage/plugin-catalog-backend-module-ldap@0.5.34-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-catalog-backend-module-msgraph@0.5.26-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+
+## @backstage/plugin-catalog-backend-module-openapi@0.1.36-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.22.0-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/config@1.2.0
+ - @backstage/integration@1.10.0
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-catalog-backend-module-puppetdb@0.1.24-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.16-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/plugin-scaffolder-common@1.5.2-next.0
+
+## @backstage/plugin-catalog-backend-module-unprocessed@0.4.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-catalog-unprocessed-entities-common@0.0.1
+ - @backstage/plugin-permission-common@0.7.13
+
+## @backstage/plugin-catalog-common@1.0.23-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-catalog-graph@0.4.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-catalog-import@0.10.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/integration@1.10.0
+ - @backstage/integration-react@1.1.26
+
+## @backstage/plugin-catalog-node@1.11.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+
+## @backstage/plugin-catalog-react@1.11.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/integration-react@1.1.26
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-react@0.4.22
+
+## @backstage/plugin-catalog-unprocessed-entities@0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-config-schema@0.1.55-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-devtools@0.1.14-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/plugin-devtools-common@0.1.9
+ - @backstage/plugin-permission-react@0.4.22
+
+## @backstage/plugin-devtools-backend@0.3.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/cli-common@0.1.13
+ - @backstage/config@1.2.0
+ - @backstage/config-loader@1.8.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-devtools-common@0.1.9
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+
+## @backstage/plugin-events-backend@0.3.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-events-backend-module-aws-sqs@0.3.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-events-backend-module-azure@0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-events-backend-module-bitbucket-cloud@0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-events-backend-module-gerrit@0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-events-backend-module-github@0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-events-backend-module-gitlab@0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-events-backend-test-utils@0.1.28-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-events-node@0.3.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## @backstage/plugin-home@0.7.4-next.0
+
+### Patch Changes
+
+- 2196d3e: Use relative time when displaying visits from the same day
+- 0040ec2: Updated dependency `@rjsf/utils` to `5.18.2`.
+ Updated dependency `@rjsf/core` to `5.18.2`.
+ Updated dependency `@rjsf/material-ui` to `5.18.2`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.18.2`.
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-home-react@0.1.13-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+
+## @backstage/plugin-home-react@0.1.13-next.0
+
+### Patch Changes
+
+- 0040ec2: Updated dependency `@rjsf/utils` to `5.18.2`.
+ Updated dependency `@rjsf/core` to `5.18.2`.
+ Updated dependency `@rjsf/material-ui` to `5.18.2`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.18.2`.
+- Updated dependencies
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+
+## @backstage/plugin-kubernetes@0.11.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-kubernetes-common@0.7.6-next.0
+ - @backstage/plugin-kubernetes-react@0.3.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+
+## @backstage/plugin-kubernetes-backend@0.17.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-kubernetes-node@0.1.12-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/plugin-kubernetes-common@0.7.6-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration-aws-node@0.1.12
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+
+## @backstage/plugin-kubernetes-cluster@0.0.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-kubernetes-common@0.7.6-next.0
+ - @backstage/plugin-kubernetes-react@0.3.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+
+## @backstage/plugin-kubernetes-common@0.7.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+
+## @backstage/plugin-kubernetes-node@0.1.12-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-kubernetes-common@0.7.6-next.0
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-kubernetes-react@0.3.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-kubernetes-common@0.7.6-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-notifications@0.2.1-next.0
+
+### Patch Changes
+
+- e6bf85f: Allow overriding `NotificationsPage` page properties
+- a42a19b: Empty descriptions are not rendered to improve the look&feel.
+- 1bc3b86: Fix to show web notifications even when browser is on foreground. Fix duplicate notifications with multiple tabs.
+- f793112: Allow defining `className` and additional properties for `NotificationsSideBarItem`
+- e1c7d6e: Fix infinite loop in the notification title counter
+- fcda449: The rendered size of a notification is limited for very long descriptions.
+- Updated dependencies
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-notifications-common@0.0.3
+ - @backstage/plugin-signals-react@0.0.3
+
+## @backstage/plugin-notifications-backend@0.2.1-next.0
+
+### Patch Changes
+
+- ee09dfc: Updated documentation for sending messages by external services.
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-notifications-node@0.1.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-events-node@0.3.4-next.0
+ - @backstage/plugin-notifications-common@0.0.3
+ - @backstage/plugin-signals-node@0.1.4-next.0
+
+## @backstage/plugin-notifications-node@0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-notifications-common@0.0.3
+ - @backstage/plugin-signals-node@0.1.4-next.0
+
+## @backstage/plugin-org@0.6.25-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+
+## @backstage/plugin-org-react@0.1.24-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/core-plugin-api@1.9.2
+
+## @backstage/plugin-permission-backend@0.5.42-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+
+## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+
+## @backstage/plugin-permission-node@0.7.29-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-permission-common@0.7.13
+
+## @backstage/plugin-proxy-backend@0.4.16-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+
+## @backstage/plugin-scaffolder@1.19.4-next.0
+
+### Patch Changes
+
+- 0040ec2: Updated dependency `@rjsf/utils` to `5.18.2`.
+ Updated dependency `@rjsf/core` to `5.18.2`.
+ Updated dependency `@rjsf/material-ui` to `5.18.2`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.18.2`.
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-scaffolder-react@1.8.5-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-scaffolder-common@1.5.2-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/integration@1.10.0
+ - @backstage/integration-react@1.1.26
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-react@0.4.22
+
+## @backstage/plugin-scaffolder-backend@1.22.5-next.0
+
+### Patch Changes
+
+- 025641b: Fix issue with the log format not being respected when logging from actions
+- 025641b: Redact `meta` fields too with the logger
+- Updated dependencies
+ - @backstage/plugin-scaffolder-backend-module-github@0.2.8-next.0
+ - @backstage/plugin-scaffolder-backend-module-gitea@0.1.8-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-scaffolder-backend-module-gitlab@0.3.4-next.0
+ - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.8-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.16-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/plugin-scaffolder-common@1.5.2-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+ - @backstage/plugin-scaffolder-backend-module-azure@0.1.10-next.0
+ - @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.8-next.0
+ - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.8-next.0
+ - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.10-next.0
+
+## @backstage/plugin-scaffolder-backend-module-azure@0.1.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.8-next.0
+
+## @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.8-next.0
+
+### Patch Changes
+
+- 24dd655: Add examples for `publish:bitbucketServer:pull-request` scaffolder action & improve related tests
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.19-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.42-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-scaffolder-backend-module-gerrit@0.1.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-scaffolder-backend-module-gitea@0.1.8-next.0
+
+### Patch Changes
+
+- 554af73: Allow defining `repoVisibility` field for the action `publish:gitea`
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-scaffolder-backend-module-github@0.2.8-next.0
+
+### Patch Changes
+
+- 5d99272: Update local development dependencies.
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-scaffolder-backend-module-gitlab@0.3.4-next.0
+
+### Patch Changes
+
+- ffc73ec: Add examples for `gitlab:repo:push` scaffolder action & improve related tests
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+
+## @backstage/plugin-scaffolder-backend-module-rails@0.4.35-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-scaffolder-backend-module-sentry@0.1.26-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-scaffolder-backend-module-yeoman@0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-scaffolder-node-test-utils@0.1.4-next.0
+
+## @backstage/plugin-scaffolder-common@1.5.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+
+## @backstage/plugin-scaffolder-node@0.4.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-scaffolder-common@1.5.2-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-scaffolder-node-test-utils@0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-test-utils@0.3.8-next.0
+ - @backstage/plugin-scaffolder-node@0.4.4-next.0
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-scaffolder-react@1.8.5-next.0
+
+### Patch Changes
+
+- 0040ec2: Updated dependency `@rjsf/utils` to `5.18.2`.
+ Updated dependency `@rjsf/core` to `5.18.2`.
+ Updated dependency `@rjsf/material-ui` to `5.18.2`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.18.2`.
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-scaffolder-common@1.5.2-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## @backstage/plugin-search@1.4.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+ - @backstage/plugin-search-common@1.2.11
+ - @backstage/plugin-search-react@1.7.11-next.0
+
+## @backstage/plugin-search-backend@1.5.8-next.0
+
+### Patch Changes
+
+- c6cb568: Add lifecycle monitoring for the search index registry
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/repo-tools@0.8.1-next.0
+ - @backstage/backend-openapi-utils@0.1.11-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-search-backend-module-catalog@0.1.23-next.0
+
+### Patch Changes
+
+- d5fff66: Fix wiring of the module exported at the `/alpha` path, which was causing authentication failures.
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-search-backend-module-elasticsearch@1.4.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/integration-aws-node@0.1.12
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-search-backend-module-explore@0.1.23-next.0
+
+### Patch Changes
+
+- ca6e2e0: Migrate search collator to use the new auth services.
+- 5d99272: Update README.md to point to explore plugin in community-plugins repository.
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-search-backend-module-pg@0.5.27-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-search-backend-module-techdocs@0.1.23-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/plugin-techdocs-node@1.12.4-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-search-backend-node@1.2.22-next.0
+
+### Patch Changes
+
+- c6cb568: Add lifecycle monitoring for the search index registry
+- Updated dependencies
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-search-react@1.7.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-signals@0.0.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/types@1.1.1
+ - @backstage/plugin-signals-react@0.0.3
+
+## @backstage/plugin-signals-backend@0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-events-node@0.3.4-next.0
+ - @backstage/plugin-signals-node@0.1.4-next.0
+
+## @backstage/plugin-signals-node@0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-events-node@0.3.4-next.0
+
+## @backstage/plugin-techdocs@1.10.5-next.0
+
+### Patch Changes
+
+- d2cc139: Update path in Readme for Plugin Techdocs to show the correct setup information.
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-react@0.1.1-next.0
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-techdocs-react@1.2.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/integration@1.10.0
+ - @backstage/integration-react@1.1.26
+ - @backstage/plugin-search-common@1.2.11
+ - @backstage/plugin-search-react@1.7.11-next.0
+
+## @backstage/plugin-techdocs-addons-test-utils@1.0.32-next.0
+
+### Patch Changes
+
+- 2f13862: Fix bug in TechDocsAddonTester when jest.resetAllMocks is called between tests
+- Updated dependencies
+ - @backstage/plugin-catalog@1.19.1-next.0
+ - @backstage/plugin-techdocs@1.10.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-techdocs-react@1.2.4-next.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/integration-react@1.1.26
+ - @backstage/test-utils@1.5.5-next.0
+ - @backstage/plugin-search-react@1.7.11-next.0
+
+## @backstage/plugin-techdocs-backend@1.10.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-search-backend-module-techdocs@0.1.23-next.0
+ - @backstage/plugin-techdocs-node@1.12.4-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/plugin-permission-common@0.7.13
+
+## @backstage/plugin-techdocs-module-addons-contrib@1.1.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-techdocs-react@1.2.4-next.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/integration@1.10.0
+ - @backstage/integration-react@1.1.26
+
+## @backstage/plugin-techdocs-node@1.12.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/integration@1.10.0
+ - @backstage/integration-aws-node@0.1.12
+ - @backstage/plugin-search-common@1.2.11
+
+## @backstage/plugin-techdocs-react@1.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/version-bridge@1.0.8
+
+## @backstage/plugin-user-settings@0.8.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/errors@1.2.4
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/types@1.1.1
+
+## @backstage/plugin-user-settings-backend@0.2.17-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## example-app@0.2.97-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-notifications@0.2.1-next.0
+ - @backstage/plugin-api-docs@0.11.5-next.0
+ - @backstage/plugin-catalog@1.19.1-next.0
+ - @backstage/plugin-home@0.7.4-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-techdocs@1.10.5-next.0
+ - @backstage/cli@0.26.5-next.0
+ - @backstage/plugin-auth-react@0.1.1-next.0
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-scaffolder-react@1.8.5-next.0
+ - @backstage/plugin-scaffolder@1.19.4-next.0
+ - @backstage/plugin-catalog-graph@0.4.5-next.0
+ - @backstage/plugin-catalog-import@0.10.11-next.0
+ - @backstage/plugin-devtools@0.1.14-next.0
+ - @backstage/plugin-org@0.6.25-next.0
+ - @backstage/plugin-search@1.4.11-next.0
+ - @backstage/plugin-user-settings@0.8.6-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-catalog-unprocessed-entities@0.2.4-next.0
+ - @backstage/plugin-kubernetes@0.11.10-next.0
+ - @backstage/plugin-kubernetes-cluster@0.0.11-next.0
+ - @backstage/plugin-techdocs-react@1.2.4-next.0
+ - @backstage/app-defaults@1.5.5-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-app-api@0.6.5-next.0
+ - @backstage/integration-react@1.1.26
+ - @backstage/plugin-permission-react@0.4.22
+ - @backstage/plugin-search-common@1.2.11
+ - @backstage/plugin-search-react@1.7.11-next.0
+ - @backstage/plugin-signals@0.0.6-next.0
+ - @backstage/plugin-techdocs-module-addons-contrib@1.1.10-next.0
+
+## example-app-next@0.0.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-notifications@0.2.1-next.0
+ - @backstage/core-compat-api@0.2.5-next.0
+ - @backstage/plugin-api-docs@0.11.5-next.0
+ - @backstage/plugin-catalog@1.19.1-next.0
+ - @backstage/plugin-home@0.7.4-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-techdocs@1.10.5-next.0
+ - @backstage/cli@0.26.5-next.0
+ - @backstage/plugin-auth-react@0.1.1-next.0
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-scaffolder-react@1.8.5-next.0
+ - @backstage/plugin-scaffolder@1.19.4-next.0
+ - @backstage/plugin-catalog-graph@0.4.5-next.0
+ - @backstage/plugin-catalog-import@0.10.11-next.0
+ - @backstage/plugin-org@0.6.25-next.0
+ - @backstage/plugin-search@1.4.11-next.0
+ - @backstage/plugin-user-settings@0.8.6-next.0
+ - @backstage/plugin-catalog-common@1.0.23-next.0
+ - @backstage/plugin-catalog-react@1.11.4-next.0
+ - @backstage/plugin-catalog-unprocessed-entities@0.2.4-next.0
+ - @backstage/plugin-kubernetes@0.11.10-next.0
+ - @backstage/plugin-kubernetes-cluster@0.0.11-next.0
+ - @backstage/plugin-techdocs-react@1.2.4-next.0
+ - @backstage/app-defaults@1.5.5-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/frontend-app-api@0.6.5-next.0
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+ - @backstage/integration-react@1.1.26
+ - @backstage/plugin-app-visualizer@0.1.6-next.0
+ - @backstage/plugin-permission-react@0.4.22
+ - @backstage/plugin-search-common@1.2.11
+ - @backstage/plugin-search-react@1.7.11-next.0
+ - @backstage/plugin-signals@0.0.6-next.0
+ - @backstage/plugin-techdocs-module-addons-contrib@1.1.10-next.0
+
+## app-next-example-plugin@0.0.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/frontend-plugin-api@0.6.5-next.0
+
+## example-backend@0.2.98-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.22.0-next.0
+ - @backstage/plugin-scaffolder-backend@1.22.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/plugin-search-backend@1.5.8-next.0
+ - @backstage/plugin-scaffolder-backend-module-gitlab@0.3.4-next.0
+ - @backstage/plugin-search-backend-module-catalog@0.1.23-next.0
+ - @backstage/plugin-search-backend-module-explore@0.1.23-next.0
+ - @backstage/plugin-auth-backend@0.22.5-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - example-app@0.2.97-next.0
+ - @backstage/plugin-app-backend@0.3.66-next.0
+ - @backstage/plugin-kubernetes-backend@0.17.1-next.0
+ - @backstage/catalog-client@1.6.5-next.0
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.16-next.0
+ - @backstage/plugin-catalog-backend-module-unprocessed@0.4.5-next.0
+ - @backstage/plugin-catalog-node@1.11.2-next.0
+ - @backstage/plugin-search-backend-module-techdocs@0.1.23-next.0
+ - @backstage/plugin-techdocs-backend@1.10.5-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/config@1.2.0
+ - @backstage/integration@1.10.0
+ - @backstage/plugin-devtools-backend@0.3.4-next.0
+ - @backstage/plugin-events-backend@0.3.5-next.0
+ - @backstage/plugin-events-node@0.3.4-next.0
+ - @backstage/plugin-permission-backend@0.5.42-next.0
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+ - @backstage/plugin-proxy-backend@0.4.16-next.0
+ - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.19-next.0
+ - @backstage/plugin-scaffolder-backend-module-rails@0.4.35-next.0
+ - @backstage/plugin-search-backend-module-elasticsearch@1.4.1-next.0
+ - @backstage/plugin-search-backend-module-pg@0.5.27-next.0
+ - @backstage/plugin-signals-backend@0.1.4-next.0
+ - @backstage/plugin-signals-node@0.1.4-next.0
+
+## example-backend-next@0.0.26-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-scaffolder-backend-module-github@0.2.8-next.0
+ - @backstage/plugin-catalog-backend@1.22.0-next.0
+ - @backstage/plugin-scaffolder-backend@1.22.5-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/plugin-search-backend@1.5.8-next.0
+ - @backstage/plugin-search-backend-module-catalog@0.1.23-next.0
+ - @backstage/plugin-catalog-backend-module-backstage-openapi@0.2.1-next.0
+ - @backstage/plugin-auth-backend-module-guest-provider@0.1.4-next.0
+ - @backstage/plugin-search-backend-module-explore@0.1.23-next.0
+ - @backstage/plugin-auth-backend@0.22.5-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/plugin-notifications-backend@0.2.1-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/plugin-catalog-backend-module-openapi@0.1.36-next.0
+ - @backstage/backend-defaults@0.2.18-next.0
+ - @backstage/plugin-app-backend@0.3.66-next.0
+ - @backstage/plugin-kubernetes-backend@0.17.1-next.0
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.16-next.0
+ - @backstage/plugin-catalog-backend-module-unprocessed@0.4.5-next.0
+ - @backstage/plugin-search-backend-module-techdocs@0.1.23-next.0
+ - @backstage/plugin-techdocs-backend@1.10.5-next.0
+ - @backstage/backend-tasks@0.5.23-next.0
+ - @backstage/plugin-auth-backend-module-github-provider@0.1.15-next.0
+ - @backstage/plugin-devtools-backend@0.3.4-next.0
+ - @backstage/plugin-permission-backend@0.5.42-next.0
+ - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.15-next.0
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+ - @backstage/plugin-proxy-backend@0.4.16-next.0
+ - @backstage/plugin-signals-backend@0.1.4-next.0
+
+## e2e-test@0.2.16-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/create-app@0.5.15-next.0
+ - @backstage/cli-common@0.1.13
+ - @backstage/errors@1.2.4
+
+## techdocs-cli-embedded-app@0.2.96-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog@1.19.1-next.0
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-techdocs@1.10.5-next.0
+ - @backstage/cli@0.26.5-next.0
+ - @backstage/theme@0.5.4-next.0
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/plugin-techdocs-react@1.2.4-next.0
+ - @backstage/app-defaults@1.5.5-next.0
+ - @backstage/config@1.2.0
+ - @backstage/core-app-api@1.12.4
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/integration-react@1.1.26
+ - @backstage/test-utils@1.5.5-next.0
+
+## @internal/plugin-todo-list@1.0.27-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.14.5-next.0
+ - @backstage/core-plugin-api@1.9.2
+
+## @internal/plugin-todo-list-backend@1.0.27-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
diff --git a/docs/releases/v1.5.0-changelog.md b/docs/releases/v1.5.0-changelog.md
index 6e4d251ef7..d17aae7d48 100644
--- a/docs/releases/v1.5.0-changelog.md
+++ b/docs/releases/v1.5.0-changelog.md
@@ -326,7 +326,7 @@
The whole proxy's `'/sonarqube':` key can be removed from your configuration files.
- Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/master/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances.
+ Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/v1.5.0/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances.
### Patch Changes
diff --git a/docs/releases/v1.5.0-next.1-changelog.md b/docs/releases/v1.5.0-next.1-changelog.md
index deedd1dc44..8c8e039541 100644
--- a/docs/releases/v1.5.0-next.1-changelog.md
+++ b/docs/releases/v1.5.0-next.1-changelog.md
@@ -60,7 +60,7 @@
The whole proxy's `'/sonarqube':` key can be removed from your configuration files.
- Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/master/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances.
+ Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/v1.5.0-next.1/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances.
### Patch Changes
diff --git a/docs/releases/v1.5.0.md b/docs/releases/v1.5.0.md
index d7bbfa62a2..325bee378d 100644
--- a/docs/releases/v1.5.0.md
+++ b/docs/releases/v1.5.0.md
@@ -32,7 +32,7 @@ This new plugin can be used to display GitHub issues for your entities. Contribu
### New plugin: `@backstage/plugin-sonarqube-backend`
-This new backend for `@backstage/plugin-sonarqube` replaces the Sonarqube proxy configuration; once it is installed, you can remove the `/sonarqube` proxy entry. For more information, see the plugin [README.md](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-backend/README.md). Contributed by [@Neemys](https://github.com/Neemys) [#11925](https://github.com/backstage/backstage/pull/11925)
+This new backend for `@backstage/plugin-sonarqube` replaces the Sonarqube proxy configuration; once it is installed, you can remove the `/sonarqube` proxy entry. For more information, see the plugin [README.md](https://github.com/backstage/backstage/blob/v1.5.0/plugins/sonarqube-backend/README.md). Contributed by [@Neemys](https://github.com/Neemys) [#11925](https://github.com/backstage/backstage/pull/11925)
### New module: `@backstage/plugin-catalog-backend-module-bitbucket-server`
diff --git a/docs/releases/v1.6.0-changelog.md b/docs/releases/v1.6.0-changelog.md
index 4172c19244..0308c5fd3d 100644
--- a/docs/releases/v1.6.0-changelog.md
+++ b/docs/releases/v1.6.0-changelog.md
@@ -980,7 +980,7 @@
If you were overriding the `getScorecardsDefinition` method to adjust the rendering of check results, you should now provide a custom renderer using `renderers` parameter in the `TechInsightsClient` class.
- See the [README](https://github.com/backstage/backstage/tree/master/plugins/tech-insights/README.md) for more details.
+ See the [README](https://github.com/backstage/backstage/tree/v1.6.0/plugins/tech-insights/README.md) for more details.
### Patch Changes
diff --git a/docs/releases/v1.6.0-next.1-changelog.md b/docs/releases/v1.6.0-next.1-changelog.md
index ba5d032ead..3a1dc8f1b7 100644
--- a/docs/releases/v1.6.0-next.1-changelog.md
+++ b/docs/releases/v1.6.0-next.1-changelog.md
@@ -104,7 +104,7 @@
If you were overriding the `getScorecardsDefinition` method to adjust the rendering of check results, you should now provide a custom renderer using `renderers` parameter in the `TechInsightsClient` class.
- See the [README](https://github.com/backstage/backstage/tree/master/plugins/tech-insights/README.md) for more details.
+ See the [README](https://github.com/backstage/backstage/tree/v1.6.0-next.1/plugins/tech-insights/README.md) for more details.
### Patch Changes
diff --git a/docs/releases/v1.8.0-changelog.md b/docs/releases/v1.8.0-changelog.md
index 4b36b01abf..54447a3960 100644
--- a/docs/releases/v1.8.0-changelog.md
+++ b/docs/releases/v1.8.0-changelog.md
@@ -872,7 +872,7 @@
- f1c3cdfb2d: Bumped create-app version.
-- df21bbd4ad: The [Analytics API](https://backstage.io/docs/plugins/analytics) is the recommended way to track usage in Backstage; an optionally installable [Google Analytics module](https://github.com/backstage/backstage/tree/master/plugins/analytics-module-ga#installation) has superseded the old app.googleAnalyticsTrackingId config and its corresponding script tags in packages/app/public/index.html.
+- df21bbd4ad: The [Analytics API](https://backstage.io/docs/plugins/analytics) is the recommended way to track usage in Backstage; an optionally installable [Google Analytics module](https://github.com/backstage/backstage/tree/v1.8.0/plugins/analytics-module-ga#installation) has superseded the old app.googleAnalyticsTrackingId config and its corresponding script tags in packages/app/public/index.html.
For an existing installation where you want to remove the redundant app.googleAnalyticsTrackingId, you should make the following adjustment to `packages/app/public/index.html`:
diff --git a/docs/releases/v1.8.0.md b/docs/releases/v1.8.0.md
index 78cc5ab7cd..eb7857dc6c 100644
--- a/docs/releases/v1.8.0.md
+++ b/docs/releases/v1.8.0.md
@@ -32,7 +32,7 @@ Contributed by [@atoko](https://github.com/atoko) in [#14056](https://github.com
### Azure Sites
-There's a new Azure Sites (Apps & Functions) plugin. It lets you view the current status of the site, and quickly jump to the site's Overview or Log Stream pages. Please check out [the plugin README](https://github.com/backstage/backstage/tree/master/plugins/azure-sites) for more information.
+There's a new Azure Sites (Apps & Functions) plugin. It lets you view the current status of the site, and quickly jump to the site's Overview or Log Stream pages. Please check out [the plugin README](https://github.com/backstage/backstage/tree/v1.8.0/plugins/azure-sites) for more information.
Contributed by [@wesley-pattison](https://github.com/wesley-pattison) in [#13634](https://github.com/backstage/backstage/pull/13634)
diff --git a/docs/releases/v1.9.0-changelog.md b/docs/releases/v1.9.0-changelog.md
index 07451f6d2c..f5b809522d 100644
--- a/docs/releases/v1.9.0-changelog.md
+++ b/docs/releases/v1.9.0-changelog.md
@@ -785,7 +785,7 @@
- isSonarQubeAvailable
- SONARQUBE_PROJECT_KEY_ANNOTATION
- Exports that been introduced to plugin-sonarqube-react are documented in the [API report](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-react/api-report.md).
+ Exports that been introduced to plugin-sonarqube-react are documented in the [API report](https://github.com/backstage/backstage/blob/v1.9.0/plugins/sonarqube-react/api-report.md).
### Patch Changes
@@ -820,7 +820,7 @@
- isSonarQubeAvailable
- SONARQUBE_PROJECT_KEY_ANNOTATION
- Exports that been introduced to plugin-sonarqube-react are documented in the [API report](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-react/api-report.md).
+ Exports that been introduced to plugin-sonarqube-react are documented in the [API report](https://github.com/backstage/backstage/blob/v1.9.0/plugins/sonarqube-react/api-report.md).
### Patch Changes
@@ -1299,7 +1299,7 @@
- d3fea4ae0a: Internal fixes to avoid implicit usage of globals
- 3280711113: Updated dependency `msw` to `^0.49.0`.
- 9516b0c355: Added support for sending virtual pageviews on `search` events in order to enable
- Site Search functionality in GA. For more information consult [README](https://github.com/backstage/backstage/blob/master/plugins/analytics-module-ga/README.md#enabling-site-search)
+ Site Search functionality in GA. For more information consult [README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/analytics-module-ga/README.md#enabling-site-search)
- Updated dependencies
- @backstage/core-plugin-api@1.2.0
- @backstage/core-components@0.12.1
@@ -2023,7 +2023,7 @@
- 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages.
- This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details.
+ This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/explore-backend/README.md) for full details.
NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future.
@@ -2047,7 +2047,7 @@
- 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages.
- This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details.
+ This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/explore-backend/README.md) for full details.
NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future.
@@ -2065,7 +2065,7 @@
- 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages.
- This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details.
+ This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/explore-backend/README.md) for full details.
NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future.
@@ -2079,7 +2079,7 @@
- 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages.
- This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details.
+ This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/explore-backend/README.md) for full details.
NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future.
diff --git a/docs/releases/v1.9.0-next.1-changelog.md b/docs/releases/v1.9.0-next.1-changelog.md
index 862734131a..0716dba0cd 100644
--- a/docs/releases/v1.9.0-next.1-changelog.md
+++ b/docs/releases/v1.9.0-next.1-changelog.md
@@ -1133,7 +1133,7 @@
- 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages.
- This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details.
+ This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0-next.1/plugins/explore-backend/README.md) for full details.
NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future.
@@ -1157,7 +1157,7 @@
- 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages.
- This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details.
+ This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0-next.1/plugins/explore-backend/README.md) for full details.
NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future.
@@ -1175,7 +1175,7 @@
- 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages.
- This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details.
+ This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0-next.1/plugins/explore-backend/README.md) for full details.
NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future.
@@ -1187,7 +1187,7 @@
- 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages.
- This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details.
+ This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0-next.1/plugins/explore-backend/README.md) for full details.
NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future.
diff --git a/docs/releases/v1.9.0-next.2-changelog.md b/docs/releases/v1.9.0-next.2-changelog.md
index 2c6d495641..65c3b43b24 100644
--- a/docs/releases/v1.9.0-next.2-changelog.md
+++ b/docs/releases/v1.9.0-next.2-changelog.md
@@ -525,7 +525,7 @@
### Patch Changes
- 9516b0c355: Added support for sending virtual pageviews on `search` events in order to enable
- Site Search functionality in GA. For more information consult [README](https://github.com/backstage/backstage/blob/master/plugins/analytics-module-ga/README.md#enabling-site-search)
+ Site Search functionality in GA. For more information consult [README](https://github.com/backstage/backstage/blob/v1.9.0-next.2/plugins/analytics-module-ga/README.md#enabling-site-search)
- Updated dependencies
- @backstage/core-plugin-api@1.2.0-next.2
- @backstage/core-components@0.12.1-next.2
diff --git a/microsite/blog/2020-04-06-lighthouse-plugin.mdx b/microsite/blog/2020-04-06-lighthouse-plugin.mdx
index d94ec8bd8d..0027d0521c 100644
--- a/microsite/blog/2020-04-06-lighthouse-plugin.mdx
+++ b/microsite/blog/2020-04-06-lighthouse-plugin.mdx
@@ -33,7 +33,7 @@ Trigger an audit directly from Backstage, or trigger audits programmatically wit
## Using Lighthouse in Backstage
-To learn how you can enable Lighthouse auditing within Backstage, head over to the [README](https://github.com/backstage/backstage/tree/master/plugins/lighthouse) for the plugin to get started.
+To learn how you can enable Lighthouse auditing within Backstage, head over to the [README](https://github.com/backstage/community-plugins/tree/main/workspaces/lighthouse/plugins/lighthouse) for the plugin to get started.
## A personal note
diff --git a/microsite/blog/2020-05-22-phase-2-service-catalog.mdx b/microsite/blog/2020-05-22-phase-2-service-catalog.mdx
index 3b556bbd3d..81c99c7c07 100644
--- a/microsite/blog/2020-05-22-phase-2-service-catalog.mdx
+++ b/microsite/blog/2020-05-22-phase-2-service-catalog.mdx
@@ -40,7 +40,7 @@ On top of that, we have found that the service catalog is a great way to organis

-More concretely, having this structure in place will allow plugins such as [CircleCI](https://github.com/backstage/backstage/tree/master/plugins/circleci) to show only the builds for the specific service you are viewing, or a [Spinnaker](https://github.com/backstage/backstage/issues/631) plugin to show running deployments, or an Open API plugin to [show documentation](https://github.com/backstage/backstage/issues/627) for endpoints exposed by the service, or the [Lighthouse](https://github.com/backstage/backstage/tree/master/plugins/lighthouse) plugin to show audit reports for your website. You get the point.
+More concretely, having this structure in place will allow plugins such as [CircleCI](https://github.com/backstage/backstage/tree/master/plugins/circleci) to show only the builds for the specific service you are viewing, or a [Spinnaker](https://github.com/backstage/backstage/issues/631) plugin to show running deployments, or an Open API plugin to [show documentation](https://github.com/backstage/backstage/issues/627) for endpoints exposed by the service, or the [Lighthouse](https://github.com/backstage/community-plugins/tree/main/workspaces/lighthouse/plugins/lighthouse) plugin to show audit reports for your website. You get the point.
## Timeline
diff --git a/microsite/blog/2020-09-30-plugin-marketplace.mdx b/microsite/blog/2020-09-30-plugin-marketplace.mdx
index 2f74b0200e..f97c744263 100644
--- a/microsite/blog/2020-09-30-plugin-marketplace.mdx
+++ b/microsite/blog/2020-09-30-plugin-marketplace.mdx
@@ -34,7 +34,7 @@ This grand vision is actually not that far off. Already today there is a growing
Not all plugins you need will be open source. Every company has their own homegrown tooling. Building internal plugins lets you tailor your version of Backstage to be a perfect fit for your infrastructure and software development needs. If you end up [building plugins](https://backstage.io/docs/plugins/create-a-plugin) that could be useful for other companies, please consider releasing them as open source and [add them to the Marketplace](https://backstage.io/docs/plugins/add-to-marketplace).
-If you start developing a plugin that you aim to release as open source, we suggest that you create a [new plugin Issue](https://github.com/backstage/backstage/issues/new?labels=plugin&template=plugin_template.md&title=%5BPlugin%5D+THE+PLUGIN+NAME). This helps the community know what plugins are in development and opens up opportunities for collaboration. You can also use this process if you have an idea for a good plugin, but you need help building it.
+If you start developing a plugin that you aim to release as open source, we suggest that you create a [new plugin Issue on the community plugins repo](https://github.com/backstage/community-plugins/issues/new/choose). This helps the community know what plugins are in development and opens up opportunities for collaboration. You can also use this process if you have an idea for a good plugin, but you need help building it.
We are really excited to see all the amazing plugins that have already been built, and look forward to seeing even more ideas and collaboration as the Backstage community continues to grow.
diff --git a/microsite/blog/2020-10-22-cost-insights-plugin.mdx b/microsite/blog/2020-10-22-cost-insights-plugin.mdx
index 98bca88477..1ffddd3303 100644
--- a/microsite/blog/2020-10-22-cost-insights-plugin.mdx
+++ b/microsite/blog/2020-10-22-cost-insights-plugin.mdx
@@ -5,7 +5,7 @@ author: Janisa Anandamohan, Spotify
authorURL: https://twitter.com/janisa_a
---
-How did Spotify save millions on cloud costs within a matter of months?? We made cost optimization just another part of the daily development process. Our newly open sourced [Cost Insights plugin](https://github.com/backstage/backstage/tree/master/plugins/cost-insights) makes a team’s cloud costs visible — and actionable — right inside Backstage. So engineers can see the impact of their cloud usage (down to a product and resource level) and make optimizations wherever and whenever it makes sense. By managing cloud costs from the ground up, you can make smarter decisions that let you continue to build and scale quickly, without wasting resources.
+How did Spotify save millions on cloud costs within a matter of months?? We made cost optimization just another part of the daily development process. Our newly open sourced [Cost Insights plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/cost-insights/plugins/cost-insights) makes a team’s cloud costs visible — and actionable — right inside Backstage. So engineers can see the impact of their cloud usage (down to a product and resource level) and make optimizations wherever and whenever it makes sense. By managing cloud costs from the ground up, you can make smarter decisions that let you continue to build and scale quickly, without wasting resources.