diff --git a/.changeset/afraid-trees-stare.md b/.changeset/afraid-trees-stare.md
deleted file mode 100644
index 748bbb3cfe..0000000000
--- a/.changeset/afraid-trees-stare.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-backend': minor
----
-
-Added the ability to be able to define an actions `input` and `output` schema using `zod` instead of hand writing types and `jsonschema`
diff --git a/.changeset/all-my-auth-wanna-ride-today.md b/.changeset/all-my-auth-wanna-ride-today.md
new file mode 100644
index 0000000000..40537c30f4
--- /dev/null
+++ b/.changeset/all-my-auth-wanna-ride-today.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': patch
+---
+
+Fixed a bug that could prevent auth from working when using the `guest` or `custom` auth providers.
diff --git a/.changeset/backend-token-authentication.md b/.changeset/backend-token-authentication.md
deleted file mode 100644
index 3b0f016800..0000000000
--- a/.changeset/backend-token-authentication.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-backend': patch
----
-
-Make identity valid if subject of token is a backstage server-2-server auth token
diff --git a/.changeset/beige-hats-cheer.md b/.changeset/beige-hats-cheer.md
deleted file mode 100644
index 83b70d137e..0000000000
--- a/.changeset/beige-hats-cheer.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-'@backstage/plugin-catalog-backend': patch
----
-
-Add deprecations for symbols that were moved to `@backstage/plugin-catalog-node` a long time ago:
-
-- `CatalogProcessor`
-- `CatalogProcessorCache`
-- `CatalogProcessorEmit`
-- `CatalogProcessorEntityResult`
-- `CatalogProcessorErrorResult`
-- `CatalogProcessorLocationResult`
-- `CatalogProcessorParser`
-- `CatalogProcessorRefreshKeysResult`
-- `CatalogProcessorRelationResult`
-- `CatalogProcessorResult`
-- `DeferredEntity`
-- `EntityProvider`
-- `EntityProviderConnection`
-- `EntityProviderMutation`
-- `EntityRelationSpec`
-- `processingResult`
-
-Also moved over and deprecated the following symbols:
-
-- `locationSpecToLocationEntity`
-- `locationSpecToMetadataName`
diff --git a/.changeset/big-gorillas-fail1.md b/.changeset/big-gorillas-fail1.md
deleted file mode 100644
index 18c2d621d7..0000000000
--- a/.changeset/big-gorillas-fail1.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-events-backend-module-bitbucket-cloud': patch
----
-
-Renamed `bitbucketCloudEventRouterEventsModule` to `eventsModuleBitbucketCloudEventRouter` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/big-gorillas-fail2.md b/.changeset/big-gorillas-fail2.md
deleted file mode 100644
index bc34bf9aaa..0000000000
--- a/.changeset/big-gorillas-fail2.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-events-backend-module-aws-sqs': patch
----
-
-Renamed `awsSqsConsumingEventPublisherEventsModule` to `eventsModuleAwsSqsConsumingEventPublisher` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/big-gorillas-fail3.md b/.changeset/big-gorillas-fail3.md
deleted file mode 100644
index 352c1a2cff..0000000000
--- a/.changeset/big-gorillas-fail3.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-events-backend-module-gerrit': patch
----
-
-Renamed `gerritEventRouterEventsModule` to `eventsModuleGerritEventRouter` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/big-gorillas-fail4.md b/.changeset/big-gorillas-fail4.md
deleted file mode 100644
index add8699f8b..0000000000
--- a/.changeset/big-gorillas-fail4.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-events-backend-module-github': patch
----
-
-Renamed `githubEventRouterEventsModule` to `eventsModuleGithubEventRouter` and `githubWebhookEventsModule` to `eventsModuleGithubWebhook`, to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/big-gorillas-fail5.md b/.changeset/big-gorillas-fail5.md
deleted file mode 100644
index 549eb61f24..0000000000
--- a/.changeset/big-gorillas-fail5.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-events-backend-module-gitlab': patch
----
-
-Renamed `gitlabEventRouterEventsModule` to `eventsModuleGitlabEventRouter` and `gitlabWebhookEventsModule` to `eventsModuleGitlabWebhook` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/big-gorillas-fail6.md b/.changeset/big-gorillas-fail6.md
deleted file mode 100644
index 6622b5222e..0000000000
--- a/.changeset/big-gorillas-fail6.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-events-backend-module-azure': patch
----
-
-Renamed `azureDevOpsEventRouterEventsModule` to `eventsModuleAzureDevOpsEventRouter` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/breezy-bees-care.md b/.changeset/breezy-bees-care.md
deleted file mode 100644
index 9a5b59fe03..0000000000
--- a/.changeset/breezy-bees-care.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/catalog-client': minor
----
-
-Add `queryEntities` method to `CatalogApi`.
diff --git a/.changeset/bright-kids-raise.md b/.changeset/bright-kids-raise.md
deleted file mode 100644
index e0d69e0c71..0000000000
--- a/.changeset/bright-kids-raise.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-todo-backend': patch
----
-
-todo-backend is now exposed as a plugin which uses the new plugin system
diff --git a/.changeset/bright-pumpkins-bake.md b/.changeset/bright-pumpkins-bake.md
new file mode 100644
index 0000000000..4c16e307ec
--- /dev/null
+++ b/.changeset/bright-pumpkins-bake.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': patch
+---
+
+Rename output parameter `mergeRequestURL` of `publish:gitlab:merge-request` action to `mergeRequestUrl`.
diff --git a/.changeset/chatty-coats-thank.md b/.changeset/chatty-coats-thank.md
new file mode 100644
index 0000000000..17faf43d87
--- /dev/null
+++ b/.changeset/chatty-coats-thank.md
@@ -0,0 +1,5 @@
+---
+'@backstage/cli': patch
+---
+
+Fix the build for packages with multiple entry points to avoid duplicated modules.
diff --git a/.changeset/clean-dolls-search.md b/.changeset/clean-dolls-search.md
new file mode 100644
index 0000000000..a8f0da3c4d
--- /dev/null
+++ b/.changeset/clean-dolls-search.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-common': patch
+---
+
+Added permissions for authorizing parameters and steps
diff --git a/.changeset/clean-lemons-jump.md b/.changeset/clean-lemons-jump.md
deleted file mode 100644
index ab6f22136a..0000000000
--- a/.changeset/clean-lemons-jump.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/core-components': patch
----
-
-Button labels in the sidebar (previously displayed in uppercase) will be displayed in the case that is provided without any transformations.
-For example, a sidebar button with the label "Search" will appear as Search, "search" will appear as search, "SEARCH" will appear as SEARCH etc.
-This can potentially affect any overriding styles previously applied to change the appearance of Button labels in the Sidebar.
diff --git a/.changeset/clean-planes-join.md b/.changeset/clean-planes-join.md
deleted file mode 100644
index dd8280f553..0000000000
--- a/.changeset/clean-planes-join.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-permission-node': patch
----
-
-Changed the `createPermissionIntegrationRouter` API to allow `getResources`, `resourceType` and `rules` to be optional
diff --git a/.changeset/clever-dogs-cheat.md b/.changeset/clever-dogs-cheat.md
deleted file mode 100644
index 56fcf3d30c..0000000000
--- a/.changeset/clever-dogs-cheat.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-'@backstage/plugin-search-backend-module-elasticsearch': patch
-'@backstage/plugin-tech-insights-backend-module-jsonfc': patch
-'@backstage/plugin-catalog-backend-module-github': patch
-'@backstage/plugin-scaffolder-backend': patch
-'@backstage/plugin-scaffolder-react': patch
-'@backstage/plugin-splunk-on-call': patch
-'@backstage/plugin-techdocs-react': patch
-'@backstage/plugin-catalog-react': patch
-'@backstage/plugin-tech-insights': patch
-'@backstage/plugin-techdocs-node': patch
-'@backstage/plugin-search-react': patch
-'@backstage/plugin-scaffolder': patch
-'@backstage/plugin-auth-node': patch
-'@backstage/plugin-sonarqube': patch
-'@backstage/plugin-techdocs': patch
-'@backstage/plugin-explore': patch
-'@backstage/plugin-search': patch
----
-
-Minor API report tweaks
diff --git a/.changeset/cold-dogs-watch.md b/.changeset/cold-dogs-watch.md
deleted file mode 100644
index 99b25a833e..0000000000
--- a/.changeset/cold-dogs-watch.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-puppetdb': patch
----
-
-Added a `catalogModulePuppetDbEntityProvider` alpha export for the new backend system
diff --git a/.changeset/cool-clocks-prove.md b/.changeset/cool-clocks-prove.md
deleted file mode 100644
index dfd7b8c5eb..0000000000
--- a/.changeset/cool-clocks-prove.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/cli': patch
----
-
-Fixed a bug where additional backend package entry points where not properly marked as internal during local development.
diff --git a/.changeset/cool-feet-speak.md b/.changeset/cool-feet-speak.md
deleted file mode 100644
index 9240c5bb52..0000000000
--- a/.changeset/cool-feet-speak.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-scaffolder-react': patch
-'@backstage/plugin-scaffolder': patch
----
-
-Make scaffolder adhere to page themes by using page `fontColor` consistently. If your theme overwrites template list or card headers, review those styles.
diff --git a/.changeset/create-app-1678209629.md b/.changeset/create-app-1678209629.md
deleted file mode 100644
index b50d431d4b..0000000000
--- a/.changeset/create-app-1678209629.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/create-app': patch
----
-
-Bumped create-app version.
diff --git a/.changeset/create-app-1676993958.md b/.changeset/create-app-1679405836.md
similarity index 100%
rename from .changeset/create-app-1676993958.md
rename to .changeset/create-app-1679405836.md
diff --git a/.changeset/curly-boats-trade.md b/.changeset/curly-boats-trade.md
new file mode 100644
index 0000000000..773d66734c
--- /dev/null
+++ b/.changeset/curly-boats-trade.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-api-docs': patch
+---
+
+Corrected styling of nested objects in AsyncAPI to avoid inappropriate uppercase text transformation of nested objects.
diff --git a/.changeset/curly-jobs-kneel.md b/.changeset/curly-jobs-kneel.md
new file mode 100644
index 0000000000..f313beab88
--- /dev/null
+++ b/.changeset/curly-jobs-kneel.md
@@ -0,0 +1,8 @@
+---
+'@backstage/plugin-scaffolder': patch
+'@backstage/plugin-scaffolder-backend': patch
+'@backstage/plugin-scaffolder-node': patch
+'@backstage/plugin-scaffolder-react': patch
+---
+
+Added a possibility to cancel the running task (executing of a scaffolder template)
diff --git a/.changeset/curvy-pets-hang.md b/.changeset/curvy-pets-hang.md
deleted file mode 100644
index 3a2d11ac12..0000000000
--- a/.changeset/curvy-pets-hang.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/repo-tools': patch
----
-
-Tweaked type dependency check to trim wildcard type imports.
diff --git a/.changeset/curvy-rocks-guess.md b/.changeset/curvy-rocks-guess.md
new file mode 100644
index 0000000000..0ce46f787d
--- /dev/null
+++ b/.changeset/curvy-rocks-guess.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-org': patch
+---
+
+Allow the title of the group profile card to use the title of the entity, if it is set.
diff --git a/.changeset/dull-adults-drum.md b/.changeset/dull-adults-drum.md
deleted file mode 100644
index 088eb1539e..0000000000
--- a/.changeset/dull-adults-drum.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-adr': patch
----
-
-Updated readme instructions
diff --git a/.changeset/eight-radios-bake.md b/.changeset/eight-radios-bake.md
deleted file mode 100644
index 173739a625..0000000000
--- a/.changeset/eight-radios-bake.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-backend': patch
----
-
-throw error from catalog:fetch scaffolder action when entity is null and optional is false
diff --git a/.changeset/eighty-chairs-roll.md b/.changeset/eighty-chairs-roll.md
deleted file mode 100644
index c981229378..0000000000
--- a/.changeset/eighty-chairs-roll.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder': minor
----
-
-Update `EntityPicker` to use the fully qualified entity ref instead of the humanized version.
diff --git a/.changeset/eighty-geese-return.md b/.changeset/eighty-geese-return.md
deleted file mode 100644
index 49361de8e7..0000000000
--- a/.changeset/eighty-geese-return.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-msgraph': patch
----
-
-Revert using `baseUrl` for MS Graph provider as it breaks token retrieval
diff --git a/.changeset/eleven-bats-tease.md b/.changeset/eleven-bats-tease.md
new file mode 100644
index 0000000000..732055ca52
--- /dev/null
+++ b/.changeset/eleven-bats-tease.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-kubernetes-backend': minor
+---
+
+**BREAKING**: `KubernetesBuilder.create` now requires a `permissions` field of type `PermissionEvaluator`. The kubernetes `/proxy` endpoint now requires two tokens: the `Backstage-Kubernetes-Authorization` header should contain a bearer token for the target cluster, and the `Authorization` header should contain a backstage identity token. The kubernetes `/proxy` endpoint now requires a `Backstage-Kubernetes-Cluster` header replacing the previously required `X-Kubernetes-Cluster` header.
diff --git a/.changeset/eleven-coats-refuse.md b/.changeset/eleven-coats-refuse.md
new file mode 100644
index 0000000000..a7589ff733
--- /dev/null
+++ b/.changeset/eleven-coats-refuse.md
@@ -0,0 +1,5 @@
+---
+'@backstage/cli': patch
+---
+
+Support importing `.md` files in build loader
diff --git a/.changeset/empty-books-occur.md b/.changeset/empty-books-occur.md
deleted file mode 100644
index 69218c5cfa..0000000000
--- a/.changeset/empty-books-occur.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-search-react': patch
----
-
-Correctly disable next button in `SearchPagination` on last page
diff --git a/.changeset/fair-roses-stare.md b/.changeset/fair-roses-stare.md
new file mode 100644
index 0000000000..358765e092
--- /dev/null
+++ b/.changeset/fair-roses-stare.md
@@ -0,0 +1,14 @@
+---
+'@backstage/plugin-scaffolder': patch
+---
+
+Allow use of `{ exists: true }` value inside filters to filter entities that has that key.
+
+this example will filter all entities that has the annotation `someAnnotation` set to any value.
+
+```yaml
+ui:options:
+ catalogFilter:
+ kind: Group
+ metadata.annotations.someAnnotation: { exists: true }
+```
diff --git a/.changeset/famous-sloths-tie.md b/.changeset/famous-sloths-tie.md
deleted file mode 100644
index 53932afab6..0000000000
--- a/.changeset/famous-sloths-tie.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder': patch
----
-
-Getting credentials in the RepoUrlPicker now also works for targets without owner (e.g. Bitbucket Server).
diff --git a/.changeset/fast-snakes-buy.md b/.changeset/fast-snakes-buy.md
new file mode 100644
index 0000000000..711588918d
--- /dev/null
+++ b/.changeset/fast-snakes-buy.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-entity-feedback': minor
+'@backstage/plugin-entity-feedback-backend': patch
+'@backstage/plugin-entity-feedback-common': patch
+---
+
+Added an endpoint to fetch anonymous aggregated results from an entity
diff --git a/.changeset/fifty-beds-dress.md b/.changeset/fifty-beds-dress.md
deleted file mode 100644
index 19049732cc..0000000000
--- a/.changeset/fifty-beds-dress.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-puppetdb': minor
----
-
-Initial version of the plugin.
diff --git a/.changeset/flat-kids-occur.md b/.changeset/flat-kids-occur.md
deleted file mode 100644
index 4e4c002928..0000000000
--- a/.changeset/flat-kids-occur.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-scaffolder-react': minor
-'@backstage/plugin-scaffolder': minor
----
-
-Move `useTaskStream`, `TaskBorder`, `TaskLogStream` and `TaskSteps` into `scaffolder-react`.
diff --git a/.changeset/flat-peaches-act.md b/.changeset/flat-peaches-act.md
deleted file mode 100644
index e4b4138ee5..0000000000
--- a/.changeset/flat-peaches-act.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-techdocs-backend': patch
----
-
-Techdocs backend explains a bit more about what might have caused the docs not being found when building techdocs.
diff --git a/.changeset/forty-gorillas-help.md b/.changeset/forty-gorillas-help.md
new file mode 100644
index 0000000000..3f185525a2
--- /dev/null
+++ b/.changeset/forty-gorillas-help.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-techdocs': patch
+---
+
+Minor visual tweaks to adapt to changes in mkdocs-material v9
diff --git a/.changeset/forty-snails-clap.md b/.changeset/forty-snails-clap.md
deleted file mode 100644
index f5aef12d9d..0000000000
--- a/.changeset/forty-snails-clap.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-incremental-ingestion': minor
----
-
-Added endpoint to get a list of known incremental entity providers
diff --git a/.changeset/four-lizards-grin.md b/.changeset/four-lizards-grin.md
deleted file mode 100644
index 6fa5f57243..0000000000
--- a/.changeset/four-lizards-grin.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend': patch
----
-
-Fix export of `defaultCatalogCollatorEntityTransformer`.
diff --git a/.changeset/fresh-hairs-switch.md b/.changeset/fresh-hairs-switch.md
deleted file mode 100644
index 16d3b119e5..0000000000
--- a/.changeset/fresh-hairs-switch.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/backend-tasks': minor
----
-
-add functionality to get descriptions from the scheduler for triggering
diff --git a/.changeset/fresh-schools-fly.md b/.changeset/fresh-schools-fly.md
new file mode 100644
index 0000000000..e364e08d43
--- /dev/null
+++ b/.changeset/fresh-schools-fly.md
@@ -0,0 +1,11 @@
+---
+'@backstage/plugin-catalog-backend-module-gitlab': minor
+---
+
+**BREAKING**: The configuration of the `GitlabDiscoveryEntityProvider` has changed as follows:
+
+- The configuration key `branch` is now used to define the branch from which the catalog-info should be discovered.
+- The old configuration key `branch` is now called `fallbackBranch`. This value specifies which branch should be used
+ if no default branch is defined on the project itself.
+
+To migrate to the new configuration value, rename `branch` to `fallbackBranch`
diff --git a/.changeset/funny-pots-hide.md b/.changeset/funny-pots-hide.md
new file mode 100644
index 0000000000..32388a93a5
--- /dev/null
+++ b/.changeset/funny-pots-hide.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-search-backend': minor
+---
+
+Exports search plugin that can be used with the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](../docs/features/search/how-to-guides.md#how-to-migrate-to-use-search-together-with-the-new-backend-system).
diff --git a/.changeset/funny-rivers-grin.md b/.changeset/funny-rivers-grin.md
new file mode 100644
index 0000000000..55463e40a7
--- /dev/null
+++ b/.changeset/funny-rivers-grin.md
@@ -0,0 +1,5 @@
+---
+'@backstage/create-app': patch
+---
+
+Add `permissionApi` as dependency of the scaffolder-backend plugin
diff --git a/.changeset/fuzzy-actors-turn.md b/.changeset/fuzzy-actors-turn.md
new file mode 100644
index 0000000000..bd92ad34ef
--- /dev/null
+++ b/.changeset/fuzzy-actors-turn.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-kubernetes-backend': patch
+---
+
+Fixes bug whereby backstage crashes when bad credentials are provided to the kubernetes plugin.
diff --git a/.changeset/fuzzy-trains-search.md b/.changeset/fuzzy-trains-search.md
deleted file mode 100644
index 229d25f3b5..0000000000
--- a/.changeset/fuzzy-trains-search.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog': patch
----
-
-Fix icon alignment in `CatalogSearchResultListItem`
diff --git a/.changeset/fuzzy-wombats-search.md b/.changeset/fuzzy-wombats-search.md
new file mode 100644
index 0000000000..693e42399a
--- /dev/null
+++ b/.changeset/fuzzy-wombats-search.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': minor
+---
+
+Added `fetch:plain:file` action to fetch a single file, this action is also added to the list of built-in actions.
diff --git a/.changeset/gentle-bears-love.md b/.changeset/gentle-bears-love.md
deleted file mode 100644
index b6f6e3cfcf..0000000000
--- a/.changeset/gentle-bears-love.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-msgraph': patch
----
-
-Fixed msgraph catalog backend to use user.select option when fetching user from AzureAD
diff --git a/.changeset/gentle-pears-clean.md b/.changeset/gentle-pears-clean.md
deleted file mode 100644
index d92c3709ae..0000000000
--- a/.changeset/gentle-pears-clean.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/eslint-plugin': patch
----
-
-Fixing a bug that we should check internal dependencies too
diff --git a/.changeset/giant-hairs-serve.md b/.changeset/giant-hairs-serve.md
new file mode 100644
index 0000000000..0f77a6fe34
--- /dev/null
+++ b/.changeset/giant-hairs-serve.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-search-backend-module-elasticsearch': minor
+'@backstage/plugin-search-backend-module-pg': patch
+---
+
+Search backend modules migrated to the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](../docs/features/search/how-to-guides.md#how-to-migrate-to-use-search-together-with-the-new-backend-system).
diff --git a/.changeset/gorgeous-pumas-speak.md b/.changeset/gorgeous-pumas-speak.md
deleted file mode 100644
index 60f40c6748..0000000000
--- a/.changeset/gorgeous-pumas-speak.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog': patch
----
-
-fix entity switch rendering when there is no default case
diff --git a/.changeset/great-trains-jam.md b/.changeset/great-trains-jam.md
deleted file mode 100644
index 91133bfe32..0000000000
--- a/.changeset/great-trains-jam.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-techdocs': patch
----
-
-Fix bug that caused next and previous links not to work with certain versions of mkdocs-material
diff --git a/.changeset/grumpy-bikes-begin.md b/.changeset/grumpy-bikes-begin.md
deleted file mode 100644
index a98e6651f5..0000000000
--- a/.changeset/grumpy-bikes-begin.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-tech-insights-backend': patch
----
-
-Add DB index to improve latency of latest fact query
diff --git a/.changeset/happy-boxes-arrive.md b/.changeset/happy-boxes-arrive.md
deleted file mode 100644
index 85998c1bdd..0000000000
--- a/.changeset/happy-boxes-arrive.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-react': patch
----
-
-fix bug with `hasErrors` returning false when dealing with empty objects
diff --git a/.changeset/healthy-buses-live-1.md b/.changeset/healthy-buses-live-1.md
deleted file mode 100644
index 7e433372df..0000000000
--- a/.changeset/healthy-buses-live-1.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
----
-
-Renamed `incrementalIngestionEntityProviderCatalogModule` to `catalogModuleIncrementalIngestionEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/healthy-buses-live-2.md b/.changeset/healthy-buses-live-2.md
deleted file mode 100644
index ab577276d8..0000000000
--- a/.changeset/healthy-buses-live-2.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
----
-
-Renamed `bitbucketServerEntityProviderCatalogModule` to `catalogModuleBitbucketServerEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/healthy-buses-live-3.md b/.changeset/healthy-buses-live-3.md
deleted file mode 100644
index 493236ea73..0000000000
--- a/.changeset/healthy-buses-live-3.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
----
-
-Renamed `bitbucketCloudEntityProviderCatalogModule` to `catalogModuleBitbucketCloudEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/healthy-buses-live-4.md b/.changeset/healthy-buses-live-4.md
deleted file mode 100644
index fdc223a7f4..0000000000
--- a/.changeset/healthy-buses-live-4.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-msgraph': patch
----
-
-Renamed `microsoftGraphOrgEntityProviderCatalogModule` to `catalogModuleMicrosoftGraphOrgEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/healthy-buses-live-5.md b/.changeset/healthy-buses-live-5.md
deleted file mode 100644
index f540751696..0000000000
--- a/.changeset/healthy-buses-live-5.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-gerrit': patch
----
-
-Renamed `gerritEntityProviderCatalogModule` to `catalogModuleGerritEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/healthy-buses-live-6.md b/.changeset/healthy-buses-live-6.md
deleted file mode 100644
index f293e56eae..0000000000
--- a/.changeset/healthy-buses-live-6.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-github': patch
----
-
-Renamed `githubEntityProviderCatalogModule` to `catalogModuleGithubEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/healthy-buses-live-7.md b/.changeset/healthy-buses-live-7.md
deleted file mode 100644
index 7e7219bf01..0000000000
--- a/.changeset/healthy-buses-live-7.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-gitlab': patch
----
-
-Renamed `gitlabDiscoveryEntityProviderCatalogModule` to `catalogModuleGitlabDiscoveryEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/healthy-buses-live-8.md b/.changeset/healthy-buses-live-8.md
deleted file mode 100644
index 9137a3b31a..0000000000
--- a/.changeset/healthy-buses-live-8.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-azure': patch
----
-
-Renamed `azureDevOpsEntityProviderCatalogModule` to `catalogModuleAzureDevOpsEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/healthy-buses-live-9.md b/.changeset/healthy-buses-live-9.md
deleted file mode 100644
index dbcba51470..0000000000
--- a/.changeset/healthy-buses-live-9.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-aws': patch
----
-
-Renamed `awsS3EntityProviderCatalogModule` to `catalogModuleAwsS3EntityProviders` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
diff --git a/.changeset/heavy-colts-wash.md b/.changeset/heavy-colts-wash.md
new file mode 100644
index 0000000000..c22cb70dbf
--- /dev/null
+++ b/.changeset/heavy-colts-wash.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-common': patch
+---
+
+Export `typeguard` for `isTemplateEntityV1beta3`
diff --git a/.changeset/honest-clouds-shout.md b/.changeset/honest-clouds-shout.md
deleted file mode 100644
index 0a7249d9ad..0000000000
--- a/.changeset/honest-clouds-shout.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-backend': patch
----
-
-catalog write action should allow any shape of object
diff --git a/.changeset/honest-nails-bake.md b/.changeset/honest-nails-bake.md
deleted file mode 100644
index 03d5a080c9..0000000000
--- a/.changeset/honest-nails-bake.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-octopus-deploy': minor
----
-
-Initial version
diff --git a/.changeset/hungry-lies-cry.md b/.changeset/hungry-lies-cry.md
new file mode 100644
index 0000000000..712aef6172
--- /dev/null
+++ b/.changeset/hungry-lies-cry.md
@@ -0,0 +1,8 @@
+---
+'@backstage/plugin-catalog-backend-module-gitlab': patch
+---
+
+The gitlab org data integration now makes use of the GraphQL API to determine
+the relationships between imported User and Group entities, effectively making
+this integration usable without an administrator account's Personal Access
+Token.
diff --git a/.changeset/hungry-monkeys-reply.md b/.changeset/hungry-monkeys-reply.md
new file mode 100644
index 0000000000..c7f5d54ea1
--- /dev/null
+++ b/.changeset/hungry-monkeys-reply.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog': minor
+---
+
+Added a new EntitySwitch isResourceType to allow different views depending on Resource type
diff --git a/.changeset/khaki-cars-drum.md b/.changeset/khaki-cars-drum.md
new file mode 100644
index 0000000000..325b0f8ba5
--- /dev/null
+++ b/.changeset/khaki-cars-drum.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-auth-backend': patch
+---
+
+Enforce the secret visibility of certificates and client secrets in the auth backend. Also, document all known options for each auth plugin.
diff --git a/.changeset/khaki-doors-compare.md b/.changeset/khaki-doors-compare.md
new file mode 100644
index 0000000000..a2c4de020a
--- /dev/null
+++ b/.changeset/khaki-doors-compare.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-vault-backend': minor
+---
+
+Allow generic Vault clients to be passed into the builder
diff --git a/.changeset/khaki-guests-turn.md b/.changeset/khaki-guests-turn.md
new file mode 100644
index 0000000000..5676236aae
--- /dev/null
+++ b/.changeset/khaki-guests-turn.md
@@ -0,0 +1,9 @@
+---
+'@backstage/plugin-catalog-backend-module-msgraph': patch
+'@backstage/plugin-catalog-backend-module-openapi': patch
+'@backstage/plugin-catalog-backend-module-ldap': patch
+'@backstage/plugin-scaffolder-backend': patch
+'@backstage/plugin-catalog-backend': patch
+---
+
+Fix deprecated types.
diff --git a/.changeset/khaki-poems-run.md b/.changeset/khaki-poems-run.md
deleted file mode 100644
index 74db902c02..0000000000
--- a/.changeset/khaki-poems-run.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-entity-validation': patch
----
-
-Fixed bug in EntityVaidation plugin where string in text box was unable to be updated.
diff --git a/.changeset/lazy-apples-destroy.md b/.changeset/lazy-apples-destroy.md
new file mode 100644
index 0000000000..43fcfbae85
--- /dev/null
+++ b/.changeset/lazy-apples-destroy.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-scaffolder-react': patch
+'@backstage/plugin-scaffolder': patch
+---
+
+`scaffolder/next`: Bump `@rjsf/*` deps to 5.3.1
diff --git a/.changeset/lazy-monkeys-worry.md b/.changeset/lazy-monkeys-worry.md
new file mode 100644
index 0000000000..9dc3ea514e
--- /dev/null
+++ b/.changeset/lazy-monkeys-worry.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-tech-insights': patch
+---
+
+The `Check` type now optionally includes the `failureMetadata` and `successMetadata` as returned by the `runChecks` call.
diff --git a/.changeset/light-bees-end.md b/.changeset/light-bees-end.md
deleted file mode 100644
index 9fbbc44da0..0000000000
--- a/.changeset/light-bees-end.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-kubernetes': patch
----
-
-GitLab can now be used as an `oidcTokenProvider` for Kubernetes clusters
diff --git a/.changeset/light-sheep-trade.md b/.changeset/light-sheep-trade.md
deleted file mode 100644
index 480ffc973e..0000000000
--- a/.changeset/light-sheep-trade.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/cli': patch
----
-
-Updated the ESLint plugin configuration that is enabled through `yarn start --check` to only pick up valid source files.
diff --git a/.changeset/long-gorillas-remain.md b/.changeset/long-gorillas-remain.md
new file mode 100644
index 0000000000..60ad6fa092
--- /dev/null
+++ b/.changeset/long-gorillas-remain.md
@@ -0,0 +1,9 @@
+---
+'@backstage/core-components': patch
+'@backstage/app-defaults': minor
+'@backstage/core-app-api': minor
+'@backstage/plugin-auth-backend': patch
+'@backstage/test-utils': minor
+---
+
+Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
diff --git a/.changeset/long-nails-pump.md b/.changeset/long-nails-pump.md
deleted file mode 100644
index d9eefc0249..0000000000
--- a/.changeset/long-nails-pump.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/cli': patch
----
-
-Added a new `migrate package-exports` command that synchronizes package exports fields in all `package.json`s.
diff --git a/.changeset/long-wolves-drive.md b/.changeset/long-wolves-drive.md
deleted file mode 100644
index 1c3ffadb5a..0000000000
--- a/.changeset/long-wolves-drive.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-octopus-deploy': patch
----
-
-Added Octopus Deploy logo
diff --git a/.changeset/lovely-tigers-look.md b/.changeset/lovely-tigers-look.md
deleted file mode 100644
index 5e7d230e6d..0000000000
--- a/.changeset/lovely-tigers-look.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-adr-backend': patch
----
-
-Support MADR v3 format
diff --git a/.changeset/many-eggs-press.md b/.changeset/many-eggs-press.md
new file mode 100644
index 0000000000..551cf9e759
--- /dev/null
+++ b/.changeset/many-eggs-press.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-search-react': patch
+'@backstage/plugin-techdocs': patch
+---
+
+Fixes a UI bug in search result item which rendered the item text with incorrect font size and color
diff --git a/.changeset/mean-toys-itch.md b/.changeset/mean-toys-itch.md
deleted file mode 100644
index 75252b3482..0000000000
--- a/.changeset/mean-toys-itch.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-'@backstage/backend-common': patch
----
-
-Adds config option `backend.database.role` to set ownership for newly created schemas and tables in Postgres
-
-The example config below connects to the database as user `v-backstage-123` but sets the ownership of
-the create schemas and tables to `backstage`
-
-```yaml
-backend:
- database:
- client: pg
- pluginDivisionMode: schema
- role: backstage
- connection:
- user: v-backstage-123
- ...
-```
diff --git a/.changeset/metal-suns-rhyme.md b/.changeset/metal-suns-rhyme.md
deleted file mode 100644
index 3fefdca7c6..0000000000
--- a/.changeset/metal-suns-rhyme.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/cli': patch
----
-
-Bumped the `msw` version in templates to 1.0.0
diff --git a/.changeset/mighty-games-turn.md b/.changeset/mighty-games-turn.md
deleted file mode 100644
index 38c2487835..0000000000
--- a/.changeset/mighty-games-turn.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-tech-radar': patch
----
-
-Update colors to match Zalando's tech radar, also add coloring on title and legend to match ring color.
diff --git a/.changeset/mighty-lamps-cross.md b/.changeset/mighty-lamps-cross.md
new file mode 100644
index 0000000000..af09263f2e
--- /dev/null
+++ b/.changeset/mighty-lamps-cross.md
@@ -0,0 +1,5 @@
+---
+'@backstage/cli': patch
+---
+
+Fixed backend start command on Windows by removing the use of platform dependent path joins.
diff --git a/.changeset/mighty-years-own.md b/.changeset/mighty-years-own.md
deleted file mode 100644
index b14b974bc4..0000000000
--- a/.changeset/mighty-years-own.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-react': patch
----
-
-scaffolder/next: Move the `uiSchema` to its own property in the validation `context` to align with component development and access of `ui:options`
diff --git a/.changeset/moody-apes-know.md b/.changeset/moody-apes-know.md
deleted file mode 100644
index bd48cb108e..0000000000
--- a/.changeset/moody-apes-know.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
-'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
-'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
-'@backstage/plugin-catalog-backend-module-bitbucket': patch
-'@backstage/plugin-catalog-backend-module-puppetdb': patch
-'@backstage/plugin-catalog-backend-module-msgraph': patch
-'@backstage/plugin-catalog-backend-module-gerrit': patch
-'@backstage/plugin-catalog-backend-module-github': patch
-'@backstage/plugin-catalog-backend-module-gitlab': patch
-'@backstage/plugin-catalog-backend-module-azure': patch
-'@backstage/plugin-catalog-backend-module-ldap': patch
-'@backstage/plugin-catalog-backend-module-aws': patch
----
-
-Make sure to not use deprecated exports from `@backstage/plugin-catalog-backend`
diff --git a/.changeset/nasty-nails-appear.md b/.changeset/nasty-nails-appear.md
new file mode 100644
index 0000000000..fdb35f052c
--- /dev/null
+++ b/.changeset/nasty-nails-appear.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend-module-gitlab': minor
+---
+
+Add Gitlab Scaffolder Plugin
diff --git a/.changeset/neat-donkeys-work.md b/.changeset/neat-donkeys-work.md
new file mode 100644
index 0000000000..dfa3236d43
--- /dev/null
+++ b/.changeset/neat-donkeys-work.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': minor
+---
+
+scaffolder/next: removing the `routeRefs` and exporting the originals on `scaffolderPlugin.routes.x` instead
diff --git a/.changeset/new-jobs-deny.md b/.changeset/new-jobs-deny.md
deleted file mode 100644
index e7b5bff71a..0000000000
--- a/.changeset/new-jobs-deny.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-react': minor
----
-
-Add possibility to re-use EntityPicker for filters with multiple select.
diff --git a/.changeset/new-pigs-jam.md b/.changeset/new-pigs-jam.md
new file mode 100644
index 0000000000..efea0076d2
--- /dev/null
+++ b/.changeset/new-pigs-jam.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': minor
+---
+
+Created `confluence:transform:markdown` action for converting confluence docs to Markdown.
diff --git a/.changeset/nice-planets-wave.md b/.changeset/nice-planets-wave.md
deleted file mode 100644
index 2af1a14d83..0000000000
--- a/.changeset/nice-planets-wave.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-linguist-backend': minor
----
-
-**BREAKING** The linguist-backend `createRouter` now requires that the `tokenManger` is passed to the router.
diff --git a/.changeset/nine-bikes-applaud.md b/.changeset/nine-bikes-applaud.md
deleted file mode 100644
index 77a1c0e4be..0000000000
--- a/.changeset/nine-bikes-applaud.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
----
-
-allow container runner to be undefined in cookiecutter plugin
diff --git a/.changeset/ninety-turtles-wait.md b/.changeset/ninety-turtles-wait.md
deleted file mode 100644
index 683583528f..0000000000
--- a/.changeset/ninety-turtles-wait.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-techdocs': patch
----
-
-The HTML tag attributes in the documentation content inserted to shadow DOM is preserved to improve accessibility
diff --git a/.changeset/odd-fireants-bathe.md b/.changeset/odd-fireants-bathe.md
deleted file mode 100644
index d4b7f5dc5a..0000000000
--- a/.changeset/odd-fireants-bathe.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-adr-backend': patch
-'@backstage/cli': patch
----
-
-Adjust express dependencies to be the same as the rest of the project
diff --git a/.changeset/odd-grapes-double.md b/.changeset/odd-grapes-double.md
new file mode 100644
index 0000000000..7ef7486b60
--- /dev/null
+++ b/.changeset/odd-grapes-double.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-permission-node': patch
+---
+
+Added createConditionAuthorizer utility function, which takes some permission conditions and returns a function that returns a definitive authorization result given a decision and a resource.
diff --git a/.changeset/odd-oranges-tease.md b/.changeset/odd-oranges-tease.md
deleted file mode 100644
index f9d5e60d19..0000000000
--- a/.changeset/odd-oranges-tease.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-'@backstage/plugin-git-release-manager': patch
-'@backstage/plugin-microsoft-calendar': patch
-'@backstage/plugin-newrelic-dashboard': patch
-'@backstage/core-components': patch
-'@backstage/plugin-code-coverage': patch
-'@backstage/plugin-code-climate': patch
-'@backstage/plugin-azure-sites': patch
-'@backstage/plugin-firehydrant': patch
-'@backstage/plugin-scaffolder': patch
-'@backstage/plugin-tech-radar': patch
-'@backstage/plugin-gcalendar': patch
-'@backstage/plugin-shortcuts': patch
-'@backstage/plugin-techdocs': patch
-'@backstage/plugin-catalog': patch
-'@backstage/plugin-explore': patch
-'@backstage/plugin-ilert': patch
-'@backstage/plugin-org': patch
----
-
-Change black & white colors to be theme aware
diff --git a/.changeset/odd-waves-rescue.md b/.changeset/odd-waves-rescue.md
deleted file mode 100644
index e435bc9962..0000000000
--- a/.changeset/odd-waves-rescue.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder': patch
----
-
-Create an "Other Templates" group when groups are given to scaffolder/next.
diff --git a/.changeset/old-cougars-sit.md b/.changeset/old-cougars-sit.md
new file mode 100644
index 0000000000..cdab8b1291
--- /dev/null
+++ b/.changeset/old-cougars-sit.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-kubernetes-backend': patch
+---
+
+Fix parsing error when kubernetes api is returning badly structured data.
diff --git a/.changeset/old-foxes-shave.md b/.changeset/old-foxes-shave.md
deleted file mode 100644
index 4cd0808103..0000000000
--- a/.changeset/old-foxes-shave.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-api-docs': patch
----
-
-Add ApiDefinitionDialog component for fast access to the API definition in ProvidedApiCards and ConsumedApiCards.
diff --git a/.changeset/olive-berries-poke.md b/.changeset/olive-berries-poke.md
deleted file mode 100644
index 48bde329c8..0000000000
--- a/.changeset/olive-berries-poke.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-react': patch
----
-
-scaffolder/next: Fix for steps without properties
diff --git a/.changeset/olive-months-talk.md b/.changeset/olive-months-talk.md
new file mode 100644
index 0000000000..b3a89d1f9e
--- /dev/null
+++ b/.changeset/olive-months-talk.md
@@ -0,0 +1,8 @@
+---
+'@backstage/plugin-scaffolder-backend': minor
+---
+
+Added the possibility to authorize parameters and steps of a template
+
+The scaffolder plugin is now integrated with the permission framework.
+It is possible to toggle parameters or actions within templates by marking each section with specific `tags`, inside a `backstage:permissions` property under each parameter or action. Each parameter or action can then be permissioned by using a conditional decision containing the `scaffolderTemplateRules.hasTag` rule.
diff --git a/.changeset/orange-experts-hug.md b/.changeset/orange-experts-hug.md
deleted file mode 100644
index 1bf8b4a7d7..0000000000
--- a/.changeset/orange-experts-hug.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-api-docs': patch
----
-
-Fix dark theme Swagger's clear button font color.
diff --git a/.changeset/orange-rabbits-jam.md b/.changeset/orange-rabbits-jam.md
new file mode 100644
index 0000000000..fb60813c7d
--- /dev/null
+++ b/.changeset/orange-rabbits-jam.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend': patch
+---
+
+Add full text search support to the `by-query` endpoint.
diff --git a/.changeset/perfect-mayflies-greet.md b/.changeset/perfect-mayflies-greet.md
deleted file mode 100644
index 7e57507dae..0000000000
--- a/.changeset/perfect-mayflies-greet.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/cli': patch
----
-
-Updated frontend plugin template to use some more recent features
diff --git a/.changeset/pink-dolls-unite.md b/.changeset/pink-dolls-unite.md
deleted file mode 100644
index 418edfd92b..0000000000
--- a/.changeset/pink-dolls-unite.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-linguist-backend': patch
----
-
-Added support for linguist-js options using the linguistJSOptions in the plugin, the available config can be found [here](https://www.npmjs.com/package/linguist-js#API).
diff --git a/.changeset/polite-chicken-do.md b/.changeset/polite-chicken-do.md
deleted file mode 100644
index 33e4149253..0000000000
--- a/.changeset/polite-chicken-do.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-vault-backend': patch
----
-
-Ignore the `eslint` error
diff --git a/.changeset/polite-falcons-jump.md b/.changeset/polite-falcons-jump.md
deleted file mode 100644
index ab9209913d..0000000000
--- a/.changeset/polite-falcons-jump.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-org': patch
----
-
-Fix small UI-glitch in MemberListCard
diff --git a/.changeset/polite-wombats-smash.md b/.changeset/polite-wombats-smash.md
deleted file mode 100644
index 98569e1799..0000000000
--- a/.changeset/polite-wombats-smash.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/errors': patch
----
-
-Added `NotImplementedError`, which can be used when the server does not recognize the request method and is incapable of supporting it for any resource.
diff --git a/.changeset/popular-parents-crash.md b/.changeset/popular-parents-crash.md
new file mode 100644
index 0000000000..0c1046aba5
--- /dev/null
+++ b/.changeset/popular-parents-crash.md
@@ -0,0 +1,18 @@
+---
+'@backstage/plugin-permission-backend': patch
+'@backstage/plugin-scaffolder-backend': patch
+'@backstage/plugin-permission-common': patch
+'@backstage/core-components': patch
+'@backstage/plugin-playlist-backend': patch
+'@backstage/plugin-scaffolder-react': patch
+'@backstage/plugin-catalog-backend': patch
+'@backstage/plugin-permission-node': patch
+'@backstage/plugin-scaffolder-node': patch
+'@backstage/backend-tasks': patch
+'@backstage/plugin-search-backend': patch
+'@backstage/core-app-api': patch
+'@backstage/plugin-scaffolder': patch
+'@backstage/cli': patch
+---
+
+Bump `zod` and `zod-to-json-schema` dependencies.
diff --git a/.changeset/pre.json b/.changeset/pre.json
index fc7fbffc9a..042939035f 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -1,327 +1,262 @@
{
- "mode": "exit",
+ "mode": "pre",
"tag": "next",
"initialVersions": {
- "example-app": "0.2.80",
- "@backstage/app-defaults": "1.2.0",
- "example-backend": "0.2.80",
- "@backstage/backend-app-api": "0.4.0",
- "@backstage/backend-common": "0.18.2",
- "@backstage/backend-defaults": "0.1.7",
- "@backstage/backend-dev-utils": "0.1.0",
- "example-backend-next": "0.0.8",
- "@backstage/backend-plugin-api": "0.4.0",
- "@backstage/backend-tasks": "0.4.3",
- "@backstage/backend-test-utils": "0.1.34",
- "@backstage/catalog-client": "1.3.1",
- "@backstage/catalog-model": "1.2.0",
- "@backstage/cli": "0.22.2",
- "@backstage/cli-common": "0.1.11",
- "@backstage/codemods": "0.1.43",
- "@backstage/config": "1.0.6",
- "@backstage/config-loader": "1.1.8",
- "@backstage/core-app-api": "1.5.0",
- "@backstage/core-components": "0.12.4",
- "@backstage/core-plugin-api": "1.4.0",
- "@backstage/create-app": "0.4.37",
- "@backstage/dev-utils": "1.0.12",
- "e2e-test": "0.2.0",
- "@backstage/errors": "1.1.4",
- "@backstage/eslint-plugin": "0.1.0",
- "@backstage/integration": "1.4.2",
- "@backstage/integration-aws-node": "0.1.1",
- "@backstage/integration-react": "1.1.10",
- "@backstage/release-manifests": "0.0.8",
- "@backstage/repo-tools": "0.1.2",
- "@techdocs/cli": "1.3.2",
- "techdocs-cli-embedded-app": "0.2.79",
- "@backstage/test-utils": "1.2.5",
- "@backstage/theme": "0.2.17",
+ "example-app": "0.2.81",
+ "@backstage/app-defaults": "1.2.1",
+ "example-backend": "0.2.81",
+ "@backstage/backend-app-api": "0.4.1",
+ "@backstage/backend-common": "0.18.3",
+ "@backstage/backend-defaults": "0.1.8",
+ "@backstage/backend-dev-utils": "0.1.1",
+ "example-backend-next": "0.0.9",
+ "@backstage/backend-plugin-api": "0.5.0",
+ "@backstage/backend-tasks": "0.5.0",
+ "@backstage/backend-test-utils": "0.1.35",
+ "@backstage/catalog-client": "1.4.0",
+ "@backstage/catalog-model": "1.2.1",
+ "@backstage/cli": "0.22.4",
+ "@backstage/cli-common": "0.1.12",
+ "@backstage/codemods": "0.1.44",
+ "@backstage/config": "1.0.7",
+ "@backstage/config-loader": "1.1.9",
+ "@backstage/core-app-api": "1.6.0",
+ "@backstage/core-components": "0.12.5",
+ "@backstage/core-plugin-api": "1.5.0",
+ "@backstage/create-app": "0.4.38",
+ "@backstage/dev-utils": "1.0.13",
+ "e2e-test": "0.2.1",
+ "@backstage/errors": "1.1.5",
+ "@backstage/eslint-plugin": "0.1.2",
+ "@backstage/integration": "1.4.3",
+ "@backstage/integration-aws-node": "0.1.2",
+ "@backstage/integration-react": "1.1.11",
+ "@backstage/release-manifests": "0.0.9",
+ "@backstage/repo-tools": "0.1.3",
+ "@techdocs/cli": "1.4.0",
+ "techdocs-cli-embedded-app": "0.2.80",
+ "@backstage/test-utils": "1.2.6",
+ "@backstage/theme": "0.2.18",
"@backstage/types": "1.0.2",
"@backstage/version-bridge": "1.0.3",
- "@backstage/plugin-adr": "0.4.0",
- "@backstage/plugin-adr-backend": "0.3.0",
- "@backstage/plugin-adr-common": "0.2.6",
- "@backstage/plugin-airbrake": "0.3.15",
- "@backstage/plugin-airbrake-backend": "0.2.15",
- "@backstage/plugin-allure": "0.1.31",
- "@backstage/plugin-analytics-module-ga": "0.1.26",
- "@backstage/plugin-apache-airflow": "0.2.8",
- "@backstage/plugin-api-docs": "0.9.0",
+ "@backstage/plugin-adr": "0.4.1",
+ "@backstage/plugin-adr-backend": "0.3.1",
+ "@backstage/plugin-adr-common": "0.2.7",
+ "@backstage/plugin-airbrake": "0.3.16",
+ "@backstage/plugin-airbrake-backend": "0.2.16",
+ "@backstage/plugin-allure": "0.1.32",
+ "@backstage/plugin-analytics-module-ga": "0.1.27",
+ "@backstage/plugin-apache-airflow": "0.2.9",
+ "@backstage/plugin-api-docs": "0.9.1",
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.1",
- "@backstage/plugin-apollo-explorer": "0.1.8",
- "@backstage/plugin-app-backend": "0.3.42",
- "@backstage/plugin-auth-backend": "0.18.0",
- "@backstage/plugin-auth-node": "0.2.11",
- "@backstage/plugin-azure-devops": "0.2.6",
- "@backstage/plugin-azure-devops-backend": "0.3.21",
+ "@backstage/plugin-apollo-explorer": "0.1.9",
+ "@backstage/plugin-app-backend": "0.3.43",
+ "@backstage/plugin-auth-backend": "0.18.1",
+ "@backstage/plugin-auth-node": "0.2.12",
+ "@backstage/plugin-azure-devops": "0.2.7",
+ "@backstage/plugin-azure-devops-backend": "0.3.22",
"@backstage/plugin-azure-devops-common": "0.3.0",
- "@backstage/plugin-azure-sites": "0.1.4",
- "@backstage/plugin-azure-sites-backend": "0.1.4",
+ "@backstage/plugin-azure-sites": "0.1.5",
+ "@backstage/plugin-azure-sites-backend": "0.1.5",
"@backstage/plugin-azure-sites-common": "0.1.0",
- "@backstage/plugin-badges": "0.2.39",
- "@backstage/plugin-badges-backend": "0.1.36",
- "@backstage/plugin-bazaar": "0.2.4",
- "@backstage/plugin-bazaar-backend": "0.2.5",
- "@backstage/plugin-bitbucket-cloud-common": "0.2.3",
- "@backstage/plugin-bitrise": "0.1.42",
- "@backstage/plugin-catalog": "1.8.0",
- "@backstage/plugin-catalog-backend": "1.7.2",
- "@backstage/plugin-catalog-backend-module-aws": "0.1.15",
- "@backstage/plugin-catalog-backend-module-azure": "0.1.13",
- "@backstage/plugin-catalog-backend-module-bitbucket": "0.2.9",
- "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.9",
- "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.7",
- "@backstage/plugin-catalog-backend-module-gerrit": "0.1.10",
- "@backstage/plugin-catalog-backend-module-github": "0.2.5",
- "@backstage/plugin-catalog-backend-module-gitlab": "0.1.13",
- "@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.2.0",
- "@backstage/plugin-catalog-backend-module-ldap": "0.5.9",
- "@backstage/plugin-catalog-backend-module-msgraph": "0.5.0",
- "@backstage/plugin-catalog-backend-module-openapi": "0.1.8",
- "@backstage/plugin-catalog-common": "1.0.11",
- "@internal/plugin-catalog-customized": "0.0.7",
- "@backstage/plugin-catalog-graph": "0.2.27",
- "@backstage/plugin-catalog-graphql": "0.3.18",
- "@backstage/plugin-catalog-import": "0.9.5",
- "@backstage/plugin-catalog-node": "1.3.3",
- "@backstage/plugin-catalog-react": "1.3.0",
- "@backstage/plugin-cicd-statistics": "0.1.17",
- "@backstage/plugin-cicd-statistics-module-gitlab": "0.1.11",
- "@backstage/plugin-circleci": "0.3.15",
- "@backstage/plugin-cloudbuild": "0.3.15",
- "@backstage/plugin-code-climate": "0.1.15",
- "@backstage/plugin-code-coverage": "0.2.8",
- "@backstage/plugin-code-coverage-backend": "0.2.8",
- "@backstage/plugin-codescene": "0.1.10",
- "@backstage/plugin-config-schema": "0.1.38",
- "@backstage/plugin-cost-insights": "0.12.4",
+ "@backstage/plugin-badges": "0.2.40",
+ "@backstage/plugin-badges-backend": "0.1.37",
+ "@backstage/plugin-bazaar": "0.2.6",
+ "@backstage/plugin-bazaar-backend": "0.2.6",
+ "@backstage/plugin-bitbucket-cloud-common": "0.2.4",
+ "@backstage/plugin-bitrise": "0.1.43",
+ "@backstage/plugin-catalog": "1.9.0",
+ "@backstage/plugin-catalog-backend": "1.8.0",
+ "@backstage/plugin-catalog-backend-module-aws": "0.1.17",
+ "@backstage/plugin-catalog-backend-module-azure": "0.1.14",
+ "@backstage/plugin-catalog-backend-module-bitbucket": "0.2.10",
+ "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.10",
+ "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.8",
+ "@backstage/plugin-catalog-backend-module-gerrit": "0.1.11",
+ "@backstage/plugin-catalog-backend-module-github": "0.2.6",
+ "@backstage/plugin-catalog-backend-module-gitlab": "0.1.14",
+ "@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.3.0",
+ "@backstage/plugin-catalog-backend-module-ldap": "0.5.10",
+ "@backstage/plugin-catalog-backend-module-msgraph": "0.5.2",
+ "@backstage/plugin-catalog-backend-module-openapi": "0.1.9",
+ "@backstage/plugin-catalog-backend-module-puppetdb": "0.1.0",
+ "@backstage/plugin-catalog-common": "1.0.12",
+ "@internal/plugin-catalog-customized": "0.0.8",
+ "@backstage/plugin-catalog-graph": "0.2.28",
+ "@backstage/plugin-catalog-graphql": "0.3.19",
+ "@backstage/plugin-catalog-import": "0.9.6",
+ "@backstage/plugin-catalog-node": "1.3.4",
+ "@backstage/plugin-catalog-react": "1.4.0",
+ "@backstage/plugin-cicd-statistics": "0.1.18",
+ "@backstage/plugin-cicd-statistics-module-gitlab": "0.1.12",
+ "@backstage/plugin-circleci": "0.3.16",
+ "@backstage/plugin-cloudbuild": "0.3.16",
+ "@backstage/plugin-code-climate": "0.1.16",
+ "@backstage/plugin-code-coverage": "0.2.9",
+ "@backstage/plugin-code-coverage-backend": "0.2.9",
+ "@backstage/plugin-codescene": "0.1.11",
+ "@backstage/plugin-config-schema": "0.1.39",
+ "@backstage/plugin-cost-insights": "0.12.5",
"@backstage/plugin-cost-insights-common": "0.1.1",
- "@backstage/plugin-dynatrace": "2.0.0",
- "@backstage/plugin-entity-feedback": "0.1.0",
- "@backstage/plugin-entity-feedback-backend": "0.1.0",
+ "@backstage/plugin-dynatrace": "3.0.0",
+ "@backstage/plugin-entity-feedback": "0.1.1",
+ "@backstage/plugin-entity-feedback-backend": "0.1.1",
"@backstage/plugin-entity-feedback-common": "0.1.0",
- "@backstage/plugin-entity-validation": "0.1.0",
- "@backstage/plugin-events-backend": "0.2.3",
- "@backstage/plugin-events-backend-module-aws-sqs": "0.1.4",
- "@backstage/plugin-events-backend-module-azure": "0.1.4",
- "@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.4",
- "@backstage/plugin-events-backend-module-gerrit": "0.1.4",
- "@backstage/plugin-events-backend-module-github": "0.1.4",
- "@backstage/plugin-events-backend-module-gitlab": "0.1.4",
- "@backstage/plugin-events-backend-test-utils": "0.1.4",
- "@backstage/plugin-events-node": "0.2.3",
- "@internal/plugin-todo-list": "1.0.10",
- "@internal/plugin-todo-list-backend": "1.0.10",
- "@internal/plugin-todo-list-common": "1.0.8",
- "@backstage/plugin-explore": "0.4.0",
- "@backstage/plugin-explore-backend": "0.0.4",
+ "@backstage/plugin-entity-validation": "0.1.1",
+ "@backstage/plugin-events-backend": "0.2.4",
+ "@backstage/plugin-events-backend-module-aws-sqs": "0.1.5",
+ "@backstage/plugin-events-backend-module-azure": "0.1.5",
+ "@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.5",
+ "@backstage/plugin-events-backend-module-gerrit": "0.1.5",
+ "@backstage/plugin-events-backend-module-github": "0.1.5",
+ "@backstage/plugin-events-backend-module-gitlab": "0.1.5",
+ "@backstage/plugin-events-backend-test-utils": "0.1.5",
+ "@backstage/plugin-events-node": "0.2.4",
+ "@internal/plugin-todo-list": "1.0.11",
+ "@internal/plugin-todo-list-backend": "1.0.11",
+ "@internal/plugin-todo-list-common": "1.0.9",
+ "@backstage/plugin-explore": "0.4.1",
+ "@backstage/plugin-explore-backend": "0.0.5",
"@backstage/plugin-explore-common": "0.0.1",
- "@backstage/plugin-explore-react": "0.0.26",
- "@backstage/plugin-firehydrant": "0.1.32",
- "@backstage/plugin-fossa": "0.2.47",
- "@backstage/plugin-gcalendar": "0.3.11",
- "@backstage/plugin-gcp-projects": "0.3.34",
- "@backstage/plugin-git-release-manager": "0.3.28",
- "@backstage/plugin-github-actions": "0.5.15",
- "@backstage/plugin-github-deployments": "0.1.46",
- "@backstage/plugin-github-issues": "0.2.4",
- "@backstage/plugin-github-pull-requests-board": "0.1.9",
- "@backstage/plugin-gitops-profiles": "0.3.33",
- "@backstage/plugin-gocd": "0.1.21",
- "@backstage/plugin-graphiql": "0.2.47",
- "@backstage/plugin-graphql-backend": "0.1.32",
- "@backstage/plugin-graphql-voyager": "0.1.0",
- "@backstage/plugin-home": "0.4.31",
- "@backstage/plugin-ilert": "0.2.4",
- "@backstage/plugin-jenkins": "0.7.14",
- "@backstage/plugin-jenkins-backend": "0.1.32",
- "@backstage/plugin-jenkins-common": "0.1.13",
- "@backstage/plugin-kafka": "0.3.15",
- "@backstage/plugin-kafka-backend": "0.2.35",
- "@backstage/plugin-kubernetes": "0.7.8",
- "@backstage/plugin-kubernetes-backend": "0.9.3",
- "@backstage/plugin-kubernetes-common": "0.6.0",
- "@backstage/plugin-lighthouse": "0.4.0",
- "@backstage/plugin-lighthouse-backend": "0.1.0",
- "@backstage/plugin-lighthouse-common": "0.1.0",
- "@backstage/plugin-linguist": "0.1.0",
- "@backstage/plugin-linguist-backend": "0.1.0",
+ "@backstage/plugin-explore-react": "0.0.27",
+ "@backstage/plugin-firehydrant": "0.2.0",
+ "@backstage/plugin-fossa": "0.2.48",
+ "@backstage/plugin-gcalendar": "0.3.12",
+ "@backstage/plugin-gcp-projects": "0.3.35",
+ "@backstage/plugin-git-release-manager": "0.3.29",
+ "@backstage/plugin-github-actions": "0.5.16",
+ "@backstage/plugin-github-deployments": "0.1.47",
+ "@backstage/plugin-github-issues": "0.2.5",
+ "@backstage/plugin-github-pull-requests-board": "0.1.10",
+ "@backstage/plugin-gitops-profiles": "0.3.34",
+ "@backstage/plugin-gocd": "0.1.22",
+ "@backstage/plugin-graphiql": "0.2.48",
+ "@backstage/plugin-graphql-backend": "0.1.33",
+ "@backstage/plugin-graphql-voyager": "0.1.1",
+ "@backstage/plugin-home": "0.4.32",
+ "@backstage/plugin-ilert": "0.2.5",
+ "@backstage/plugin-jenkins": "0.7.15",
+ "@backstage/plugin-jenkins-backend": "0.1.33",
+ "@backstage/plugin-jenkins-common": "0.1.14",
+ "@backstage/plugin-kafka": "0.3.16",
+ "@backstage/plugin-kafka-backend": "0.2.36",
+ "@backstage/plugin-kubernetes": "0.7.9",
+ "@backstage/plugin-kubernetes-backend": "0.9.4",
+ "@backstage/plugin-kubernetes-common": "0.6.1",
+ "@backstage/plugin-lighthouse": "0.4.1",
+ "@backstage/plugin-lighthouse-backend": "0.1.1",
+ "@backstage/plugin-lighthouse-common": "0.1.1",
+ "@backstage/plugin-linguist": "0.1.1",
+ "@backstage/plugin-linguist-backend": "0.2.0",
"@backstage/plugin-linguist-common": "0.1.0",
- "@backstage/plugin-microsoft-calendar": "0.1.0",
- "@backstage/plugin-newrelic": "0.3.33",
- "@backstage/plugin-newrelic-dashboard": "0.2.8",
- "@backstage/plugin-org": "0.6.5",
- "@backstage/plugin-org-react": "0.1.4",
- "@backstage/plugin-pagerduty": "0.5.8",
- "@backstage/plugin-periskop": "0.1.13",
- "@backstage/plugin-periskop-backend": "0.1.13",
- "@backstage/plugin-permission-backend": "0.5.17",
- "@backstage/plugin-permission-common": "0.7.3",
- "@backstage/plugin-permission-node": "0.7.5",
- "@backstage/plugin-permission-react": "0.4.10",
- "@backstage/plugin-playlist": "0.1.6",
- "@backstage/plugin-playlist-backend": "0.2.5",
- "@backstage/plugin-playlist-common": "0.1.4",
- "@backstage/plugin-proxy-backend": "0.2.36",
- "@backstage/plugin-rollbar": "0.4.15",
- "@backstage/plugin-rollbar-backend": "0.1.39",
- "@backstage/plugin-scaffolder": "1.11.0",
- "@backstage/plugin-scaffolder-backend": "1.11.0",
- "@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.17",
- "@backstage/plugin-scaffolder-backend-module-rails": "0.4.10",
- "@backstage/plugin-scaffolder-backend-module-sentry": "0.1.2",
- "@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.15",
- "@backstage/plugin-scaffolder-common": "1.2.5",
- "@backstage/plugin-scaffolder-node": "0.1.0",
- "@backstage/plugin-scaffolder-react": "1.1.0",
- "@backstage/plugin-search": "1.1.0",
- "@backstage/plugin-search-backend": "1.2.3",
- "@backstage/plugin-search-backend-module-elasticsearch": "1.1.3",
- "@backstage/plugin-search-backend-module-pg": "0.5.3",
- "@backstage/plugin-search-backend-node": "1.1.3",
- "@backstage/plugin-search-common": "1.2.1",
- "@backstage/plugin-search-react": "1.5.0",
- "@backstage/plugin-sentry": "0.5.0",
- "@backstage/plugin-shortcuts": "0.3.7",
- "@backstage/plugin-sonarqube": "0.6.3",
- "@backstage/plugin-sonarqube-backend": "0.1.7",
- "@backstage/plugin-sonarqube-react": "0.1.2",
- "@backstage/plugin-splunk-on-call": "0.4.4",
- "@backstage/plugin-stack-overflow": "0.1.11",
- "@backstage/plugin-stack-overflow-backend": "0.1.11",
- "@backstage/plugin-tech-insights": "0.3.7",
- "@backstage/plugin-tech-insights-backend": "0.5.8",
- "@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.26",
+ "@backstage/plugin-microsoft-calendar": "0.1.1",
+ "@backstage/plugin-newrelic": "0.3.34",
+ "@backstage/plugin-newrelic-dashboard": "0.2.9",
+ "@backstage/plugin-octopus-deploy": "0.1.0",
+ "@backstage/plugin-org": "0.6.6",
+ "@backstage/plugin-org-react": "0.1.5",
+ "@backstage/plugin-pagerduty": "0.5.9",
+ "@backstage/plugin-periskop": "0.1.14",
+ "@backstage/plugin-periskop-backend": "0.1.14",
+ "@backstage/plugin-permission-backend": "0.5.18",
+ "@backstage/plugin-permission-common": "0.7.4",
+ "@backstage/plugin-permission-node": "0.7.6",
+ "@backstage/plugin-permission-react": "0.4.11",
+ "@backstage/plugin-playlist": "0.1.7",
+ "@backstage/plugin-playlist-backend": "0.2.6",
+ "@backstage/plugin-playlist-common": "0.1.5",
+ "@backstage/plugin-proxy-backend": "0.2.37",
+ "@backstage/plugin-rollbar": "0.4.16",
+ "@backstage/plugin-rollbar-backend": "0.1.40",
+ "@backstage/plugin-scaffolder": "1.12.0",
+ "@backstage/plugin-scaffolder-backend": "1.12.0",
+ "@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.18",
+ "@backstage/plugin-scaffolder-backend-module-rails": "0.4.11",
+ "@backstage/plugin-scaffolder-backend-module-sentry": "0.1.3",
+ "@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.16",
+ "@backstage/plugin-scaffolder-common": "1.2.6",
+ "@backstage/plugin-scaffolder-node": "0.1.1",
+ "@backstage/plugin-scaffolder-react": "1.2.0",
+ "@backstage/plugin-search": "1.1.1",
+ "@backstage/plugin-search-backend": "1.2.4",
+ "@backstage/plugin-search-backend-module-elasticsearch": "1.1.4",
+ "@backstage/plugin-search-backend-module-pg": "0.5.4",
+ "@backstage/plugin-search-backend-node": "1.1.4",
+ "@backstage/plugin-search-common": "1.2.2",
+ "@backstage/plugin-search-react": "1.5.1",
+ "@backstage/plugin-sentry": "0.5.1",
+ "@backstage/plugin-shortcuts": "0.3.8",
+ "@backstage/plugin-sonarqube": "0.6.5",
+ "@backstage/plugin-sonarqube-backend": "0.1.8",
+ "@backstage/plugin-sonarqube-react": "0.1.4",
+ "@backstage/plugin-splunk-on-call": "0.4.5",
+ "@backstage/plugin-stack-overflow": "0.1.12",
+ "@backstage/plugin-stack-overflow-backend": "0.1.12",
+ "@backstage/plugin-stackstorm": "0.1.0",
+ "@backstage/plugin-tech-insights": "0.3.8",
+ "@backstage/plugin-tech-insights-backend": "0.5.9",
+ "@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.27",
"@backstage/plugin-tech-insights-common": "0.2.10",
- "@backstage/plugin-tech-insights-node": "0.4.0",
- "@backstage/plugin-tech-radar": "0.6.1",
- "@backstage/plugin-techdocs": "1.5.0",
- "@backstage/plugin-techdocs-addons-test-utils": "1.0.10",
- "@backstage/plugin-techdocs-backend": "1.5.3",
- "@backstage/plugin-techdocs-module-addons-contrib": "1.0.10",
- "@backstage/plugin-techdocs-node": "1.5.0",
- "@backstage/plugin-techdocs-react": "1.1.3",
- "@backstage/plugin-todo": "0.2.17",
- "@backstage/plugin-todo-backend": "0.1.39",
- "@backstage/plugin-user-settings": "0.7.0",
- "@backstage/plugin-user-settings-backend": "0.1.6",
- "@backstage/plugin-vault": "0.1.9",
- "@backstage/plugin-vault-backend": "0.2.8",
- "@backstage/plugin-xcmetrics": "0.2.35",
- "@backstage/plugin-octopus-deploy": "0.0.0",
- "@backstage/plugin-stackstorm": "0.0.0",
- "@backstage/plugin-catalog-backend-module-puppetdb": "0.0.1"
+ "@backstage/plugin-tech-insights-node": "0.4.1",
+ "@backstage/plugin-tech-radar": "0.6.2",
+ "@backstage/plugin-techdocs": "1.6.0",
+ "@backstage/plugin-techdocs-addons-test-utils": "1.0.11",
+ "@backstage/plugin-techdocs-backend": "1.6.0",
+ "@backstage/plugin-techdocs-module-addons-contrib": "1.0.11",
+ "@backstage/plugin-techdocs-node": "1.6.0",
+ "@backstage/plugin-techdocs-react": "1.1.4",
+ "@backstage/plugin-todo": "0.2.18",
+ "@backstage/plugin-todo-backend": "0.1.40",
+ "@backstage/plugin-user-settings": "0.7.1",
+ "@backstage/plugin-user-settings-backend": "0.1.7",
+ "@backstage/plugin-vault": "0.1.10",
+ "@backstage/plugin-vault-backend": "0.2.10",
+ "@backstage/plugin-xcmetrics": "0.2.36",
+ "@backstage/plugin-scaffolder-backend-module-gitlab": "0.0.0"
},
"changesets": [
- "afraid-trees-stare",
- "backend-token-authentication",
- "breezy-bees-care",
- "bright-kids-raise",
- "clean-lemons-jump",
- "clean-planes-join",
- "clever-dogs-cheat",
- "cool-clocks-prove",
- "cool-feet-speak",
- "create-app-1676993958",
- "create-app-1678209629",
- "curvy-pets-hang",
- "eight-radios-bake",
- "eighty-chairs-roll",
- "eighty-geese-return",
- "empty-books-occur",
- "famous-sloths-tie",
- "fifty-beds-dress",
- "flat-kids-occur",
- "flat-peaches-act",
- "forty-snails-clap",
- "four-lizards-grin",
- "fresh-hairs-switch",
- "fuzzy-trains-search",
- "gentle-bears-love",
- "gentle-pears-clean",
- "great-trains-jam",
- "grumpy-bikes-begin",
- "happy-boxes-arrive",
- "honest-clouds-shout",
- "honest-nails-bake",
- "khaki-poems-run",
- "light-bees-end",
- "light-sheep-trade",
- "long-nails-pump",
- "long-wolves-drive",
- "lovely-tigers-look",
- "mean-toys-itch",
- "metal-suns-rhyme",
- "mighty-games-turn",
- "mighty-years-own",
- "new-jobs-deny",
- "nice-planets-wave",
- "nine-bikes-applaud",
- "ninety-turtles-wait",
- "odd-fireants-bathe",
- "odd-oranges-tease",
- "odd-waves-rescue",
- "old-foxes-shave",
- "olive-berries-poke",
- "orange-experts-hug",
- "perfect-mayflies-greet",
- "pink-dolls-unite",
- "polite-chicken-do",
- "polite-falcons-jump",
- "polite-wombats-smash",
- "purple-days-film",
- "quick-coats-sneeze",
- "quick-schools-dress",
- "quick-tables-listen",
- "quiet-ghosts-float",
- "rare-buses-swim",
- "rare-grapes-count",
- "rare-pandas-hope",
- "rename-for-the-win",
- "renovate-3672e5e",
- "renovate-4775edd",
- "renovate-488b7e7",
- "renovate-80f8787",
- "renovate-fb85ae7",
- "rich-clocks-approve",
- "rich-wombats-rescue",
- "rotten-cats-matter",
- "rotten-panthers-share",
- "selfish-hats-wait",
- "short-mayflies-fix",
- "silent-dryers-end",
- "silly-suits-run",
- "silver-bikes-breathe",
- "silver-lies-rest",
- "six-melons-rhyme",
- "slimy-lobsters-kneel",
- "slow-insects-cheat",
- "slow-pens-compare",
- "slow-suits-grab",
- "spotty-bees-tell",
- "spotty-turtles-reply",
- "spotty-wasps-complain",
- "swift-bags-wave",
- "tall-hats-talk",
- "ten-tigers-marry",
- "thin-candles-wait",
- "tiny-llamas-jump",
- "tricky-jars-film",
- "twelve-cars-push",
- "twenty-jeans-speak",
- "unlucky-sloths-explain",
- "warm-vans-fail",
- "weak-coats-allow",
- "what-is-going-on-babe",
- "wicked-lions-repeat",
- "wicked-spoons-call",
- "wild-ads-pull",
- "wild-bulldogs-suffer",
- "witty-geckos-design",
- "yellow-bananas-yawn",
- "young-schools-double",
- "young-scissors-cough",
- "young-walls-prove"
+ "bright-pumpkins-bake",
+ "create-app-1679405836",
+ "curly-boats-trade",
+ "curly-jobs-kneel",
+ "eleven-bats-tease",
+ "fair-roses-stare",
+ "fast-snakes-buy",
+ "fresh-schools-fly",
+ "fuzzy-actors-turn",
+ "heavy-colts-wash",
+ "hungry-lies-cry",
+ "hungry-monkeys-reply",
+ "khaki-cars-drum",
+ "khaki-doors-compare",
+ "khaki-guests-turn",
+ "lazy-apples-destroy",
+ "lazy-monkeys-worry",
+ "long-gorillas-remain",
+ "many-eggs-press",
+ "mighty-lamps-cross",
+ "nasty-nails-appear",
+ "neat-donkeys-work",
+ "old-cougars-sit",
+ "orange-rabbits-jam",
+ "rare-seals-decide",
+ "renovate-a9116b7",
+ "renovate-c574b04",
+ "rotten-carrots-cheer",
+ "seven-gifts-fetch",
+ "short-panthers-float",
+ "soft-roses-cover",
+ "sour-dragons-cheat",
+ "strong-crews-repeat",
+ "swift-meals-live",
+ "ten-hounds-bathe",
+ "ten-mayflies-beam",
+ "thick-forks-prove",
+ "thin-spoons-prove",
+ "thirty-crabs-tell",
+ "twelve-parrots-camp",
+ "weak-turtles-arrive",
+ "wise-garlics-camp",
+ "witty-berries-love"
]
}
diff --git a/.changeset/pretty-carpets-cross.md b/.changeset/pretty-carpets-cross.md
new file mode 100644
index 0000000000..e479ab5bda
--- /dev/null
+++ b/.changeset/pretty-carpets-cross.md
@@ -0,0 +1,11 @@
+---
+'@backstage/plugin-analytics-module-ga': patch
+'@backstage/plugin-apollo-explorer': patch
+'@backstage/plugin-adr-backend': patch
+'@backstage/plugin-dynatrace': patch
+'@backstage/plugin-airbrake': patch
+'@backstage/plugin-circleci': patch
+'@backstage/plugin-adr': patch
+---
+
+chore: Improve API Reference documentation
diff --git a/.changeset/proud-jokes-pull.md b/.changeset/proud-jokes-pull.md
deleted file mode 100644
index 7d7790889a..0000000000
--- a/.changeset/proud-jokes-pull.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-node': patch
----
-
-Added `locationSpecToMetadataName` and `locationSpecToLocationEntity` as their new home, moved over from the backend package where they now are marked as deprecated.
diff --git a/.changeset/purple-days-film.md b/.changeset/purple-days-film.md
deleted file mode 100644
index 09d760c33e..0000000000
--- a/.changeset/purple-days-film.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-techdocs-node': patch
----
-
-Fixed bug that prevented deletion of stale files when non-empty directories where tried to be deleted as well.
diff --git a/.changeset/quick-coats-sneeze.md b/.changeset/quick-coats-sneeze.md
deleted file mode 100644
index 24f7f70e83..0000000000
--- a/.changeset/quick-coats-sneeze.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@techdocs/cli': minor
----
-
-Running `@techdocs/cli generate` with the `--verbose` flag will now print the mkdocs output.
diff --git a/.changeset/quick-schools-dress.md b/.changeset/quick-schools-dress.md
deleted file mode 100644
index 511709461e..0000000000
--- a/.changeset/quick-schools-dress.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-techdocs-addons-test-utils': patch
----
-
-Fix bug/problem with test helper
diff --git a/.changeset/quick-tables-listen.md b/.changeset/quick-tables-listen.md
deleted file mode 100644
index fab9ef7969..0000000000
--- a/.changeset/quick-tables-listen.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-stackstorm': minor
----
-
-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)
diff --git a/.changeset/quiet-ghosts-float.md b/.changeset/quiet-ghosts-float.md
deleted file mode 100644
index dc8df90206..0000000000
--- a/.changeset/quiet-ghosts-float.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-'@backstage/plugin-entity-validation': patch
-'@backstage/core-components': patch
-'@backstage/plugin-kubernetes': patch
-'@backstage/plugin-scaffolder': patch
-'@backstage/plugin-circleci': patch
-'@backstage/plugin-playlist': patch
-'@backstage/plugin-techdocs': patch
-'@backstage/plugin-explore': patch
----
-
-Switch to using `LinkButton` instead of the deprecated `Button`
diff --git a/.changeset/rare-buses-swim.md b/.changeset/rare-buses-swim.md
deleted file mode 100644
index 4626343ca3..0000000000
--- a/.changeset/rare-buses-swim.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/backend-tasks': patch
----
-
-Added the adapted query to mysql and sqlite3 databases to not returning warning on logs
diff --git a/.changeset/rare-grapes-count.md b/.changeset/rare-grapes-count.md
deleted file mode 100644
index fdeb653f3c..0000000000
--- a/.changeset/rare-grapes-count.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
-'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
-'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
-'@backstage/plugin-events-backend-module-bitbucket-cloud': patch
-'@backstage/plugin-catalog-backend-module-msgraph': patch
-'@backstage/plugin-catalog-backend-module-gerrit': patch
-'@backstage/plugin-catalog-backend-module-github': patch
-'@backstage/plugin-catalog-backend-module-gitlab': patch
-'@backstage/plugin-events-backend-module-aws-sqs': patch
-'@backstage/plugin-catalog-backend-module-azure': patch
-'@backstage/plugin-events-backend-module-gerrit': patch
-'@backstage/plugin-events-backend-module-github': patch
-'@backstage/plugin-events-backend-module-gitlab': patch
-'@backstage/plugin-events-backend-module-azure': patch
-'@backstage/plugin-catalog-backend-module-aws': patch
-'@backstage/backend-plugin-api': patch
-'@backstage/backend-test-utils': patch
-'@backstage/plugin-scaffolder-backend': patch
-'@backstage/backend-defaults': patch
-'@backstage/backend-app-api': patch
-'@backstage/core-plugin-api': patch
-'@backstage/plugin-scaffolder-react': patch
-'@backstage/plugin-techdocs-backend': patch
-'@backstage/backend-common': patch
-'@backstage/plugin-catalog-backend': patch
-'@backstage/plugin-sonarqube-react': patch
-'@backstage/catalog-model': patch
-'@backstage/plugin-catalog-common': patch
-'@backstage/plugin-events-backend': patch
-'@backstage/plugin-jenkins-common': patch
-'@backstage/plugin-techdocs-react': patch
-'@backstage/plugin-catalog-react': patch
-'@backstage/plugin-cost-insights': patch
-'@backstage/plugin-catalog-node': patch
-'@backstage/test-utils': patch
-'@backstage/plugin-app-backend': patch
-'@backstage/plugin-events-node': patch
-'@backstage/plugin-scaffolder': patch
-'@backstage/plugin-sonarqube': patch
-'@backstage/plugin-catalog': patch
-'@backstage/plugin-jenkins': patch
----
-
-Internal refactor of `/alpha` exports.
diff --git a/.changeset/rare-pandas-hope.md b/.changeset/rare-pandas-hope.md
deleted file mode 100644
index 6e8e81fcfb..0000000000
--- a/.changeset/rare-pandas-hope.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-playlist': patch
----
-
-Internal update to work with newer versions of react-router
diff --git a/.changeset/rare-seals-decide.md b/.changeset/rare-seals-decide.md
new file mode 100644
index 0000000000..e3cbadee69
--- /dev/null
+++ b/.changeset/rare-seals-decide.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-techdocs-react': patch
+---
+
+Fix a bug that caused the header to not render when generating a document for the first time
diff --git a/.changeset/rename-for-the-win.md b/.changeset/rename-for-the-win.md
deleted file mode 100644
index 8b3dc6df58..0000000000
--- a/.changeset/rename-for-the-win.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-permission-node': patch
----
-
-Update the service-to-service auth docs URL in error message.
-``
diff --git a/.changeset/renovate-179fa0e.md b/.changeset/renovate-179fa0e.md
new file mode 100644
index 0000000000..57efcc4d83
--- /dev/null
+++ b/.changeset/renovate-179fa0e.md
@@ -0,0 +1,16 @@
+---
+'@backstage/core-components': patch
+'@backstage/plugin-entity-validation': patch
+'@backstage/integration-react': patch
+'@backstage/plugin-apollo-explorer': patch
+'@backstage/plugin-github-issues': patch
+'@backstage/plugin-stackstorm': patch
+'@backstage/plugin-codescene': patch
+'@backstage/plugin-org-react': patch
+'@backstage/plugin-linguist': patch
+'@backstage/plugin-playlist': patch
+'@backstage/plugin-vault': patch
+'@backstage/cli': patch
+---
+
+Updated dependency `@material-ui/lab` to `4.0.0-alpha.61`.
diff --git a/.changeset/renovate-3672e5e.md b/.changeset/renovate-3672e5e.md
deleted file mode 100644
index c94eec2245..0000000000
--- a/.changeset/renovate-3672e5e.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/cli': patch
----
-
-Updated dependency `del` to `^7.0.0`.
diff --git a/.changeset/renovate-4775edd.md b/.changeset/renovate-4775edd.md
deleted file mode 100644
index 6472fac254..0000000000
--- a/.changeset/renovate-4775edd.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-'@backstage/plugin-catalog-graphql': patch
----
-
-Updated dependency `@graphql-codegen/cli` to `^3.0.0`.
-Updated dependency `@graphql-codegen/graphql-modules-preset` to `^3.0.0`.
-Updated dependency `@graphql-codegen/typescript` to `^3.0.0`.
-Updated dependency `@graphql-codegen/typescript-resolvers` to `^3.0.0`.
diff --git a/.changeset/renovate-488b7e7.md b/.changeset/renovate-488b7e7.md
deleted file mode 100644
index 35940f474b..0000000000
--- a/.changeset/renovate-488b7e7.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-auth-backend': patch
----
-
-Updated dependency `@types/passport-microsoft` to `^1.0.0`.
diff --git a/.changeset/renovate-80f8787.md b/.changeset/renovate-80f8787.md
deleted file mode 100644
index addac46355..0000000000
--- a/.changeset/renovate-80f8787.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-techdocs-react': patch
-'@backstage/plugin-techdocs': patch
----
-
-Updated dependency `jss` to `~10.10.0`.
diff --git a/.changeset/renovate-a9116b7.md b/.changeset/renovate-a9116b7.md
new file mode 100644
index 0000000000..168230442e
--- /dev/null
+++ b/.changeset/renovate-a9116b7.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-scaffolder-react': patch
+'@backstage/plugin-scaffolder': patch
+---
+
+Updated dependency `@rjsf/validator-ajv8` to `5.3.0`.
diff --git a/.changeset/renovate-c574b04.md b/.changeset/renovate-c574b04.md
new file mode 100644
index 0000000000..e409c71940
--- /dev/null
+++ b/.changeset/renovate-c574b04.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-catalog-graphql': patch
+'@backstage/plugin-graphql-backend': patch
+---
+
+Updated dependency `@apollo/server` to `^4.0.0`.
diff --git a/.changeset/renovate-fb85ae7.md b/.changeset/renovate-fb85ae7.md
deleted file mode 100644
index 920469850c..0000000000
--- a/.changeset/renovate-fb85ae7.md
+++ /dev/null
@@ -1,125 +0,0 @@
----
-'@backstage/backend-common': patch
-'@backstage/backend-test-utils': patch
-'@backstage/catalog-client': patch
-'@backstage/cli': patch
-'@backstage/config-loader': patch
-'@backstage/core-app-api': patch
-'@backstage/core-components': patch
-'@backstage/core-plugin-api': patch
-'@backstage/integration-react': patch
-'@backstage/integration': patch
-'@backstage/release-manifests': patch
-'@backstage/test-utils': patch
-'@backstage/plugin-adr-backend': patch
-'@backstage/plugin-adr': patch
-'@backstage/plugin-airbrake-backend': patch
-'@backstage/plugin-airbrake': patch
-'@backstage/plugin-allure': patch
-'@backstage/plugin-analytics-module-ga': patch
-'@backstage/plugin-apache-airflow': patch
-'@backstage/plugin-api-docs': patch
-'@backstage/plugin-apollo-explorer': patch
-'@backstage/plugin-app-backend': patch
-'@backstage/plugin-auth-backend': patch
-'@backstage/plugin-auth-node': patch
-'@backstage/plugin-azure-devops-backend': patch
-'@backstage/plugin-azure-devops': patch
-'@backstage/plugin-azure-sites-backend': patch
-'@backstage/plugin-azure-sites': patch
-'@backstage/plugin-badges': patch
-'@backstage/plugin-bitbucket-cloud-common': patch
-'@backstage/plugin-bitrise': patch
-'@backstage/plugin-catalog-backend-module-azure': patch
-'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
-'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
-'@backstage/plugin-catalog-backend-module-bitbucket': patch
-'@backstage/plugin-catalog-backend-module-gerrit': patch
-'@backstage/plugin-catalog-backend-module-github': patch
-'@backstage/plugin-catalog-backend-module-gitlab': patch
-'@backstage/plugin-catalog-backend-module-msgraph': patch
-'@backstage/plugin-catalog-backend': patch
-'@backstage/plugin-catalog-graphql': patch
-'@backstage/plugin-catalog-import': patch
-'@backstage/plugin-circleci': patch
-'@backstage/plugin-cloudbuild': patch
-'@backstage/plugin-code-climate': patch
-'@backstage/plugin-code-coverage-backend': patch
-'@backstage/plugin-code-coverage': patch
-'@backstage/plugin-codescene': patch
-'@backstage/plugin-config-schema': patch
-'@backstage/plugin-cost-insights': patch
-'@backstage/plugin-dynatrace': patch
-'@backstage/plugin-entity-feedback-backend': patch
-'@backstage/plugin-entity-feedback': patch
-'@backstage/plugin-entity-validation': patch
-'@backstage/plugin-explore-backend': patch
-'@backstage/plugin-explore-react': patch
-'@backstage/plugin-explore': patch
-'@backstage/plugin-firehydrant': patch
-'@backstage/plugin-fossa': patch
-'@backstage/plugin-gcalendar': patch
-'@backstage/plugin-gcp-projects': patch
-'@backstage/plugin-git-release-manager': patch
-'@backstage/plugin-github-actions': patch
-'@backstage/plugin-github-deployments': patch
-'@backstage/plugin-github-issues': patch
-'@backstage/plugin-github-pull-requests-board': patch
-'@backstage/plugin-gitops-profiles': patch
-'@backstage/plugin-gocd': patch
-'@backstage/plugin-graphiql': patch
-'@backstage/plugin-graphql-backend': patch
-'@backstage/plugin-graphql-voyager': patch
-'@backstage/plugin-home': patch
-'@backstage/plugin-ilert': patch
-'@backstage/plugin-jenkins-backend': patch
-'@backstage/plugin-jenkins': patch
-'@backstage/plugin-kafka': patch
-'@backstage/plugin-kubernetes-backend': patch
-'@backstage/plugin-kubernetes': patch
-'@backstage/plugin-lighthouse': patch
-'@backstage/plugin-linguist-backend': patch
-'@backstage/plugin-linguist': patch
-'@backstage/plugin-microsoft-calendar': patch
-'@backstage/plugin-newrelic': patch
-'@backstage/plugin-octopus-deploy': patch
-'@backstage/plugin-org-react': patch
-'@backstage/plugin-org': patch
-'@backstage/plugin-pagerduty': patch
-'@backstage/plugin-periskop-backend': patch
-'@backstage/plugin-periskop': patch
-'@backstage/plugin-permission-backend': patch
-'@backstage/plugin-permission-common': patch
-'@backstage/plugin-permission-node': patch
-'@backstage/plugin-playlist-backend': patch
-'@backstage/plugin-playlist': patch
-'@backstage/plugin-proxy-backend': patch
-'@backstage/plugin-rollbar-backend': patch
-'@backstage/plugin-rollbar': patch
-'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
-'@backstage/plugin-scaffolder-backend': patch
-'@backstage/plugin-scaffolder': patch
-'@backstage/plugin-search': patch
-'@backstage/plugin-sentry': patch
-'@backstage/plugin-shortcuts': patch
-'@backstage/plugin-sonarqube-backend': patch
-'@backstage/plugin-sonarqube': patch
-'@backstage/plugin-splunk-on-call': patch
-'@backstage/plugin-stack-overflow-backend': patch
-'@backstage/plugin-stack-overflow': patch
-'@backstage/plugin-stackstorm': patch
-'@backstage/plugin-tech-insights': patch
-'@backstage/plugin-tech-radar': patch
-'@backstage/plugin-techdocs-addons-test-utils': patch
-'@backstage/plugin-techdocs-backend': patch
-'@backstage/plugin-techdocs-module-addons-contrib': patch
-'@backstage/plugin-techdocs': patch
-'@backstage/plugin-todo-backend': patch
-'@backstage/plugin-todo': patch
-'@backstage/plugin-user-settings': patch
-'@backstage/plugin-vault-backend': patch
-'@backstage/plugin-vault': patch
-'@backstage/plugin-xcmetrics': patch
----
-
-Updated dependency `msw` to `^1.0.0`.
diff --git a/.changeset/rich-clocks-approve.md b/.changeset/rich-clocks-approve.md
deleted file mode 100644
index 319a8a7c9c..0000000000
--- a/.changeset/rich-clocks-approve.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-lighthouse-backend': patch
----
-
-Update README.md; typo with plugin name & removed unneeded "import { Router } from 'express';"
diff --git a/.changeset/rich-wombats-rescue.md b/.changeset/rich-wombats-rescue.md
deleted file mode 100644
index d62f38cb4a..0000000000
--- a/.changeset/rich-wombats-rescue.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/core-components': patch
----
-
-Updated the `aria-label` of the `HeaderTabs` component.
diff --git a/.changeset/rotten-carrots-cheer.md b/.changeset/rotten-carrots-cheer.md
new file mode 100644
index 0000000000..58da6d2a21
--- /dev/null
+++ b/.changeset/rotten-carrots-cheer.md
@@ -0,0 +1,5 @@
+---
+'@backstage/backend-app-api': patch
+---
+
+Register unhandled rejection and uncaught exception handlers to avoid backend crashes.
diff --git a/.changeset/rotten-cats-matter.md b/.changeset/rotten-cats-matter.md
deleted file mode 100644
index 2515db9991..0000000000
--- a/.changeset/rotten-cats-matter.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-'@backstage/core-app-api': minor
----
-
-`OAuth2` now gets ID tokens from a session with the `openid` scope explicitly
-requested.
-
-This should not be considered a breaking change, because spec-compliant OIDC
-providers will already be returning ID tokens if and only if the `openid` scope
-is granted.
-
-This change makes the dependence explicit, and removes the burden on
-OAuth2-based providers which require an ID token (e.g. this is done by various
-default [auth
-handlers](https://backstage.io/docs/auth/identity-resolver/#authhandler)) to add
-`openid` to their default scopes. _That_ could carry another indirect benefit:
-by removing `openid` from the default scopes for a provider, grants for
-resource-specific access tokens can avoid requesting excess ID token-related
-scopes.
diff --git a/.changeset/rotten-panthers-share.md b/.changeset/rotten-panthers-share.md
deleted file mode 100644
index b9f0dd6691..0000000000
--- a/.changeset/rotten-panthers-share.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/backend-common': patch
-'@backstage/plugin-catalog-backend-module-aws': patch
----
-
-AwsS3UrlReader upgraded to use aws-sdk v3
diff --git a/.changeset/selfish-hats-wait.md b/.changeset/selfish-hats-wait.md
deleted file mode 100644
index d706d42e8e..0000000000
--- a/.changeset/selfish-hats-wait.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-org': patch
----
-
-Add styling to the `MembersListCard` and `ComponentsGrid` to handle overflow text.
diff --git a/.changeset/seven-gifts-fetch.md b/.changeset/seven-gifts-fetch.md
new file mode 100644
index 0000000000..acb66e2d18
--- /dev/null
+++ b/.changeset/seven-gifts-fetch.md
@@ -0,0 +1,72 @@
+---
+'@backstage/plugin-techdocs-module-addons-contrib': patch
+'@backstage/plugin-github-pull-requests-board': patch
+'@backstage/plugin-techdocs-addons-test-utils': patch
+'@backstage/plugin-analytics-module-ga': patch
+'@backstage/plugin-git-release-manager': patch
+'@backstage/plugin-github-deployments': patch
+'@backstage/plugin-newrelic-dashboard': patch
+'@backstage/core-components': patch
+'@backstage/plugin-scaffolder-react': patch
+'@backstage/plugin-cicd-statistics': patch
+'@backstage/plugin-entity-feedback': patch
+'@backstage/plugin-gitops-profiles': patch
+'@backstage/plugin-graphql-voyager': patch
+'@backstage/plugin-apache-airflow': patch
+'@backstage/plugin-catalog-import': patch
+'@backstage/plugin-github-actions': patch
+'@backstage/plugin-octopus-deploy': patch
+'@backstage/plugin-splunk-on-call': patch
+'@backstage/plugin-techdocs-react': patch
+'@backstage/plugin-catalog-graph': patch
+'@backstage/plugin-catalog-react': patch
+'@backstage/plugin-code-coverage': patch
+'@backstage/plugin-config-schema': patch
+'@backstage/plugin-cost-insights': patch
+'@backstage/plugin-tech-insights': patch
+'@backstage/plugin-user-settings': patch
+'@backstage/plugin-azure-devops': patch
+'@backstage/plugin-code-climate': patch
+'@backstage/plugin-gcp-projects': patch
+'@backstage/plugin-search-react': patch
+'@backstage/plugin-azure-sites': patch
+'@backstage/plugin-firehydrant': patch
+'@backstage/plugin-cloudbuild': patch
+'@backstage/plugin-kubernetes': patch
+'@backstage/plugin-lighthouse': patch
+'@backstage/plugin-scaffolder': patch
+'@backstage/plugin-tech-radar': patch
+'@backstage/plugin-dynatrace': patch
+'@backstage/plugin-gcalendar': patch
+'@backstage/plugin-pagerduty': patch
+'@backstage/plugin-shortcuts': patch
+'@backstage/plugin-sonarqube': patch
+'@backstage/plugin-xcmetrics': patch
+'@backstage/plugin-airbrake': patch
+'@backstage/plugin-api-docs': patch
+'@backstage/plugin-circleci': patch
+'@backstage/plugin-graphiql': patch
+'@backstage/plugin-newrelic': patch
+'@backstage/plugin-periskop': patch
+'@backstage/plugin-techdocs': patch
+'@backstage/plugin-bitrise': patch
+'@backstage/plugin-catalog': patch
+'@backstage/plugin-explore': patch
+'@backstage/plugin-jenkins': patch
+'@backstage/plugin-rollbar': patch
+'@backstage/plugin-allure': patch
+'@backstage/plugin-badges': patch
+'@backstage/plugin-bazaar': patch
+'@backstage/plugin-search': patch
+'@backstage/plugin-sentry': patch
+'@backstage/plugin-fossa': patch
+'@backstage/plugin-ilert': patch
+'@backstage/plugin-kafka': patch
+'@backstage/plugin-gocd': patch
+'@backstage/plugin-home': patch
+'@backstage/plugin-todo': patch
+'@backstage/plugin-adr': patch
+'@backstage/plugin-org': patch
+---
+
+Small tweaks to remove warnings in the console during development (mainly focusing on techdocs)
diff --git a/.changeset/short-mayflies-fix.md b/.changeset/short-mayflies-fix.md
deleted file mode 100644
index 9d68a85da7..0000000000
--- a/.changeset/short-mayflies-fix.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-pagerduty': patch
----
-
-Update readme link for discord channel
diff --git a/.changeset/short-panthers-float.md b/.changeset/short-panthers-float.md
new file mode 100644
index 0000000000..91eafe28aa
--- /dev/null
+++ b/.changeset/short-panthers-float.md
@@ -0,0 +1,5 @@
+---
+'@techdocs/cli': patch
+---
+
+Adding global-agent to enable the ability to publish through a proxy
diff --git a/.changeset/silent-dryers-end.md b/.changeset/silent-dryers-end.md
deleted file mode 100644
index d15ea602ae..0000000000
--- a/.changeset/silent-dryers-end.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder': patch
----
-
-Fix the scaffolder validator for arrays when the item is a field in the object
diff --git a/.changeset/silly-adults-accept.md b/.changeset/silly-adults-accept.md
new file mode 100644
index 0000000000..9db04d2490
--- /dev/null
+++ b/.changeset/silly-adults-accept.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend': patch
+---
+
+Allow replacement of the BuiltinKindsEntityProcessor which enables customization of schema validation and connections emitted.
diff --git a/.changeset/silly-suits-run.md b/.changeset/silly-suits-run.md
deleted file mode 100644
index ec371e4077..0000000000
--- a/.changeset/silly-suits-run.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-catalog-backend': minor
----
-
-Add /entities/by-query endpoint returning paginated entities.
-
-The endpoint supports cursor base pagination and server side sorting of the entities
diff --git a/.changeset/silver-bikes-breathe.md b/.changeset/silver-bikes-breathe.md
deleted file mode 100644
index 0288580bba..0000000000
--- a/.changeset/silver-bikes-breathe.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-'@backstage/plugin-catalog': minor
----
-
-Allow `EntitySwitch` to render all cases that match the condition.
-
-This change introduces a new parameter for the `EntitySwitch` component
-`renderMultipleMatches`. In case the parameter value is `all`, the `EntitySwitch`
-will render all `EntitySwitch.Case` that contain `if` parameter, and it
-evaluates to true. In case none of the cases match, the default case will be
-rendered, if any.
-
-This means for example in the CI/CD page you can now do the following:
-
-```tsx
-
- Jenkins
- CodeBuild
- No CI/CD
-
-```
-
-This allows the component to have multiple CI/CD systems and all of those are
-rendered on the same page.
diff --git a/.changeset/silver-lies-rest.md b/.changeset/silver-lies-rest.md
deleted file mode 100644
index 34b77f5375..0000000000
--- a/.changeset/silver-lies-rest.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-gitlab': patch
----
-
-The configuration key `branch` of the `GitlabDiscoveryEntityProvider` has been deprecated in favor of the configuration key `fallbackBranch`.
-It will be reused in future release to enforce a concrete branch to be used in catalog file discovery.
-To migrate to the new configuration value, rename `branch` to `fallbackBranch`.
diff --git a/.changeset/six-melons-rhyme.md b/.changeset/six-melons-rhyme.md
deleted file mode 100644
index dbb878fc89..0000000000
--- a/.changeset/six-melons-rhyme.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-react': patch
----
-
-scaffolder/next: Added the ability to get the fields definition in the schema in the validation function
diff --git a/.changeset/slimy-lobsters-kneel.md b/.changeset/slimy-lobsters-kneel.md
deleted file mode 100644
index 40ff476a64..0000000000
--- a/.changeset/slimy-lobsters-kneel.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-linguist-backend': patch
----
-
-Fixed bug in LinguistBackendApi that caused initial batch of entities to be skipped.
diff --git a/.changeset/slow-insects-cheat.md b/.changeset/slow-insects-cheat.md
deleted file mode 100644
index 70b7bbf69b..0000000000
--- a/.changeset/slow-insects-cheat.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@backstage/plugin-techdocs': minor
-'@backstage/plugin-catalog': minor
-'@backstage/plugin-explore': patch
----
-
-Add ability to pass icon as function to have ability to customize it by search item
diff --git a/.changeset/slow-pens-compare.md b/.changeset/slow-pens-compare.md
deleted file mode 100644
index 158cb6f760..0000000000
--- a/.changeset/slow-pens-compare.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend': patch
----
-
-Fix a bug where the batch fetch by ref endpoint did not work in conjunction with filtering (e.g. if authorization was enabled).
diff --git a/.changeset/slow-suits-grab.md b/.changeset/slow-suits-grab.md
deleted file mode 100644
index 4a741cac6b..0000000000
--- a/.changeset/slow-suits-grab.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-msgraph': patch
----
-
-properly support custom graph api URL
diff --git a/.changeset/soft-roses-cover.md b/.changeset/soft-roses-cover.md
new file mode 100644
index 0000000000..94cbe6d0bd
--- /dev/null
+++ b/.changeset/soft-roses-cover.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog': minor
+---
+
+Added `isEntityWith` condition helper for `EntitySwitch` case statements.
diff --git a/.changeset/sour-dragons-cheat.md b/.changeset/sour-dragons-cheat.md
new file mode 100644
index 0000000000..1b577d85f7
--- /dev/null
+++ b/.changeset/sour-dragons-cheat.md
@@ -0,0 +1,5 @@
+---
+'@backstage/cli': patch
+---
+
+Add `onboard` command. While still in development, this command aims to guide users in setting up their Backstage App.
diff --git a/.changeset/spotty-bees-tell.md b/.changeset/spotty-bees-tell.md
deleted file mode 100644
index 5267d8a6a0..0000000000
--- a/.changeset/spotty-bees-tell.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
-'@backstage/plugin-catalog-backend-module-aws': patch
----
-
-Fix missing `dependencies` in `package.json`
diff --git a/.changeset/spotty-turtles-reply.md b/.changeset/spotty-turtles-reply.md
deleted file mode 100644
index 2dfc12a176..0000000000
--- a/.changeset/spotty-turtles-reply.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-techdocs': patch
----
-
-Copy to clipboard now works in a not secure context.
diff --git a/.changeset/spotty-wasps-complain.md b/.changeset/spotty-wasps-complain.md
deleted file mode 100644
index 7b1e42b2a0..0000000000
--- a/.changeset/spotty-wasps-complain.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-scaffolder-react': patch
----
-
-Fix alignment bug for owners on `TemplateCard`
diff --git a/.changeset/strong-crews-repeat.md b/.changeset/strong-crews-repeat.md
new file mode 100644
index 0000000000..1e772ae036
--- /dev/null
+++ b/.changeset/strong-crews-repeat.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-shortcuts': patch
+---
+
+Allow external links to be added as shortcuts
diff --git a/.changeset/stupid-games-brake.md b/.changeset/stupid-games-brake.md
deleted file mode 100644
index 0a50a32ffa..0000000000
--- a/.changeset/stupid-games-brake.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-events-backend': patch
----
-
-Updated README instructions
diff --git a/.changeset/swift-bags-wave.md b/.changeset/swift-bags-wave.md
deleted file mode 100644
index 8f57c7f89b..0000000000
--- a/.changeset/swift-bags-wave.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/plugin-sonarqube-react': patch
-'@backstage/plugin-sonarqube': patch
----
-
-Moved imports from `/alpha` to main public exports.
diff --git a/.changeset/swift-meals-live.md b/.changeset/swift-meals-live.md
new file mode 100644
index 0000000000..ad8106b04e
--- /dev/null
+++ b/.changeset/swift-meals-live.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': minor
+---
+
+Allow `TemplateListPage` and `TemplateWizardPage` to be passed in as props
diff --git a/.changeset/tall-chairs-explain.md b/.changeset/tall-chairs-explain.md
new file mode 100644
index 0000000000..9709f225b4
--- /dev/null
+++ b/.changeset/tall-chairs-explain.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-techdocs-backend': patch
+'@backstage/plugin-catalog-backend': patch
+'@backstage/plugin-explore-backend': patch
+---
+
+Collator factories instantiated in new backend system modules and now marked as deprecated. Will be continued to be exported publicly until the new backend system is fully rolled out.
diff --git a/.changeset/tall-hats-talk.md b/.changeset/tall-hats-talk.md
deleted file mode 100644
index b10af002f6..0000000000
--- a/.changeset/tall-hats-talk.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/cli': patch
----
-
-Keep custom exports entry points in package.json
diff --git a/.changeset/ten-hounds-bathe.md b/.changeset/ten-hounds-bathe.md
new file mode 100644
index 0000000000..85bda89138
--- /dev/null
+++ b/.changeset/ten-hounds-bathe.md
@@ -0,0 +1,5 @@
+---
+'@backstage/backend-common': patch
+---
+
+Improve GitlabUrlReader to only load requested sub-path
diff --git a/.changeset/ten-mayflies-beam.md b/.changeset/ten-mayflies-beam.md
new file mode 100644
index 0000000000..ff7d9e52e9
--- /dev/null
+++ b/.changeset/ten-mayflies-beam.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': minor
+---
+
+Added a `templateFilter` prop to the `` component to allow for filtering of templates through a function.
diff --git a/.changeset/ten-tigers-marry.md b/.changeset/ten-tigers-marry.md
deleted file mode 100644
index f90f7b3ea2..0000000000
--- a/.changeset/ten-tigers-marry.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-'@backstage/plugin-proxy-backend': patch
----
-
-The proxy-backend plugin now supports reviving request bodies that have previously been consumed by an express middleware (e.g. `express.json()`). This is done by setting `reviveConsumedRequestBodies: true` on the proxy `RouterOptions`. In order to preserve the current behavior, the proxy will **not** revive request bodies by default.
-
-The following is an example of a proxy `createRouter` invocation that revives request bodies:
-
-```diff
-const router = await createRouter({
- config,
- logger,
- discovery,
-+ reviveConsumedRequestBodies: true,
-});
-```
diff --git a/.changeset/thick-forks-prove.md b/.changeset/thick-forks-prove.md
new file mode 100644
index 0000000000..5025852e79
--- /dev/null
+++ b/.changeset/thick-forks-prove.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-scaffolder-react': minor
+'@backstage/plugin-scaffolder': minor
+---
+
+Move `CategoryPicker` from `scaffolder` into `scaffolder-react`
+Move `ContextMenu` into `scaffolder-react` and rename it to `ScaffolderPageContextMenu`
diff --git a/.changeset/thin-candles-wait.md b/.changeset/thin-candles-wait.md
deleted file mode 100644
index c7e18367b5..0000000000
--- a/.changeset/thin-candles-wait.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-sonarqube': patch
----
-
-Show a more appropriate icon if there are no code smells and/or vulnerabilities.
diff --git a/.changeset/thin-spoons-prove.md b/.changeset/thin-spoons-prove.md
new file mode 100644
index 0000000000..a9bf3052f5
--- /dev/null
+++ b/.changeset/thin-spoons-prove.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-react': minor
+---
+
+To offer better customization options, `ScaffolderPageContextMenu` takes callbacks as props instead of booleans
diff --git a/.changeset/thirty-crabs-tell.md b/.changeset/thirty-crabs-tell.md
new file mode 100644
index 0000000000..2ca5e8cd34
--- /dev/null
+++ b/.changeset/thirty-crabs-tell.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': patch
+---
+
+Fixed the font color on `BackstageHeaderLabel` to respect the active page theme.
diff --git a/.changeset/tiny-apes-scream.md b/.changeset/tiny-apes-scream.md
new file mode 100644
index 0000000000..b4a28e0745
--- /dev/null
+++ b/.changeset/tiny-apes-scream.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-common': patch
+---
+
+Define optional `backstage:permissions` property to parameters and steps used to authorize part of the template using the permission framework
diff --git a/.changeset/tiny-llamas-jump.md b/.changeset/tiny-llamas-jump.md
deleted file mode 100644
index ccf42cd514..0000000000
--- a/.changeset/tiny-llamas-jump.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/core-components': patch
----
-
-Use media queries to change layout instead of `isMobile` prop in `BackstagePage` component
diff --git a/.changeset/tricky-jars-film.md b/.changeset/tricky-jars-film.md
deleted file mode 100644
index 9533634614..0000000000
--- a/.changeset/tricky-jars-film.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
----
-
-Move `@backstage/backend-defaults` to `devDependencies`
diff --git a/.changeset/twelve-cars-push.md b/.changeset/twelve-cars-push.md
deleted file mode 100644
index 599d456d2b..0000000000
--- a/.changeset/twelve-cars-push.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-'@backstage/backend-plugin-api': patch
-'@backstage/backend-test-utils': patch
-'@backstage/backend-dev-utils': patch
-'@backstage/backend-defaults': patch
-'@backstage/backend-app-api': patch
-'@backstage/backend-common': patch
-'@backstage/backend-tasks': patch
-'@backstage/config-loader': patch
-'@backstage/cli-common': patch
-'@backstage/create-app': patch
-'@backstage/test-utils': patch
-'@backstage/dev-utils': patch
-'@backstage/codemods': patch
-'@backstage/config': patch
-'@backstage/theme': patch
-'@backstage/cli': patch
----
-
-Updated link to docs.
diff --git a/.changeset/twelve-parrots-camp.md b/.changeset/twelve-parrots-camp.md
new file mode 100644
index 0000000000..ea7e254f29
--- /dev/null
+++ b/.changeset/twelve-parrots-camp.md
@@ -0,0 +1,5 @@
+---
+'@backstage/eslint-plugin': patch
+---
+
+Add support for auto-fixing missing imports detected by the `no-undeclared-imports` rule.
diff --git a/.changeset/twelve-vans-sell.md b/.changeset/twelve-vans-sell.md
new file mode 100644
index 0000000000..25c4a077fd
--- /dev/null
+++ b/.changeset/twelve-vans-sell.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-graphiql': patch
+---
+
+Allow to pass lazy GraphQL endpoint URL
diff --git a/.changeset/twenty-insects-live.md b/.changeset/twenty-insects-live.md
deleted file mode 100644
index d3f8cdfc25..0000000000
--- a/.changeset/twenty-insects-live.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-proxy-backend': patch
----
-
-Ensure that `@backstage/plugin-proxy-backend` logs the requests that it proxies when log level is set to `debug`.
diff --git a/.changeset/twenty-jeans-speak.md b/.changeset/twenty-jeans-speak.md
deleted file mode 100644
index fddcc2eedd..0000000000
--- a/.changeset/twenty-jeans-speak.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-auth-backend': patch
----
-
-Added authentication provider for Azure Easy Authentication.
diff --git a/.changeset/unlucky-sloths-explain.md b/.changeset/unlucky-sloths-explain.md
deleted file mode 100644
index 3d5f963a73..0000000000
--- a/.changeset/unlucky-sloths-explain.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-techdocs-module-addons-contrib': patch
----
-
-Fixed bug in IssueLink component where the URL was not generated properly when the repository was located inside a Gitlab subgroup
diff --git a/.changeset/warm-buses-switch.md b/.changeset/warm-buses-switch.md
new file mode 100644
index 0000000000..5564f33d67
--- /dev/null
+++ b/.changeset/warm-buses-switch.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-search-backend-node': minor
+---
+
+Exports services and extension points that can be used with the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](../docs/features/search/how-to-guides.md#how-to-migrate-to-use-search-together-with-the-new-backend-system).
diff --git a/.changeset/warm-vans-fail.md b/.changeset/warm-vans-fail.md
deleted file mode 100644
index 6cbd3a4e8f..0000000000
--- a/.changeset/warm-vans-fail.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog': minor
----
-
-Add a `columns` prop to certain components that use the `EntityTable` for easier extensibility.
diff --git a/.changeset/weak-coats-allow.md b/.changeset/weak-coats-allow.md
deleted file mode 100644
index 31fc592326..0000000000
--- a/.changeset/weak-coats-allow.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-linguist': patch
----
-
-Updated `README.md` to removed images with refresh button as this feature was not implemented in the current version
diff --git a/.changeset/weak-turtles-arrive.md b/.changeset/weak-turtles-arrive.md
new file mode 100644
index 0000000000..3bb56909f9
--- /dev/null
+++ b/.changeset/weak-turtles-arrive.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-react': minor
+---
+
+`scaffolder/next`: Export the `TemplateGroupFilter` and `TemplateGroups` and make an extensible component
diff --git a/.changeset/wet-lamps-happen.md b/.changeset/wet-lamps-happen.md
new file mode 100644
index 0000000000..066b34b23c
--- /dev/null
+++ b/.changeset/wet-lamps-happen.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-search-backend-module-techdocs': minor
+'@backstage/plugin-search-backend-module-catalog': minor
+'@backstage/plugin-search-backend-module-explore': minor
+---
+
+Package introduced to export search backend modules that can be used with the new backend system to extend search with plugin specific functionality, such as collators. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](../docs/features/search/how-to-guides.md#how-to-migrate-to-use-search-together-with-the-new-backend-system).
diff --git a/.changeset/what-is-going-on-babe.md b/.changeset/what-is-going-on-babe.md
deleted file mode 100644
index c22d69d1de..0000000000
--- a/.changeset/what-is-going-on-babe.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/backend-app-api': patch
----
-
-Add support for `NotImplementedError`, properly returning 501 as status code.
diff --git a/.changeset/wicked-lions-repeat.md b/.changeset/wicked-lions-repeat.md
deleted file mode 100644
index c48545c6bc..0000000000
--- a/.changeset/wicked-lions-repeat.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@techdocs/cli': minor
-'@backstage/plugin-techdocs-node': minor
----
-
-Added support for an HTTPS proxy for techdocs AWS S3 requests
diff --git a/.changeset/wicked-spoons-call.md b/.changeset/wicked-spoons-call.md
deleted file mode 100644
index c57860349b..0000000000
--- a/.changeset/wicked-spoons-call.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-newrelic': patch
----
-
-Updated installation instructions
diff --git a/.changeset/wild-ads-pull.md b/.changeset/wild-ads-pull.md
deleted file mode 100644
index 5a40787358..0000000000
--- a/.changeset/wild-ads-pull.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-api-docs': patch
----
-
-Add a `columns` prop to certain components that use the `EntityTable` for easier extensibility.
diff --git a/.changeset/wild-bulldogs-suffer.md b/.changeset/wild-bulldogs-suffer.md
deleted file mode 100644
index 02f50927e9..0000000000
--- a/.changeset/wild-bulldogs-suffer.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-backend-module-gitlab': patch
----
-
-filter gitlab groups by prefix
diff --git a/.changeset/wise-garlics-camp.md b/.changeset/wise-garlics-camp.md
new file mode 100644
index 0000000000..e7639ad71c
--- /dev/null
+++ b/.changeset/wise-garlics-camp.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-kubernetes-common': patch
+---
+
+Introduced proxy permission types to be used with the kubernetes proxy endpoint's permission framework integration.
diff --git a/.changeset/witty-berries-love.md b/.changeset/witty-berries-love.md
new file mode 100644
index 0000000000..00fa230dc8
--- /dev/null
+++ b/.changeset/witty-berries-love.md
@@ -0,0 +1,5 @@
+---
+'@backstage/repo-tools': patch
+---
+
+Log API report instructions when api-report is missing.
diff --git a/.changeset/witty-geckos-design.md b/.changeset/witty-geckos-design.md
deleted file mode 100644
index d482332c23..0000000000
--- a/.changeset/witty-geckos-design.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-'@backstage/plugin-linguist-backend': patch
----
-
-Allow kind to be configurable
-
-```ts
-return createRouter({ schedule: schedule, kind: ['Component'] }, { ...env });
-```
diff --git a/.changeset/witty-squids-fetch.md b/.changeset/witty-squids-fetch.md
deleted file mode 100644
index 3e13421038..0000000000
--- a/.changeset/witty-squids-fetch.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/create-app': patch
----
-
-Added to the template `packages/app/.eslintignore` file to packages to ignore the contents of `packages/app/public`.
diff --git a/.changeset/yellow-bananas-yawn.md b/.changeset/yellow-bananas-yawn.md
deleted file mode 100644
index d9c522a429..0000000000
--- a/.changeset/yellow-bananas-yawn.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/repo-tools': patch
----
-
-The API report generation process is now able to detect and generate reports for additional entry points declared in the package `"exports"` field.
diff --git a/.changeset/young-schools-double.md b/.changeset/young-schools-double.md
deleted file mode 100644
index 8cba2ec8f3..0000000000
--- a/.changeset/young-schools-double.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/plugin-catalog-react': patch
----
-
-Do not close `Autocomplete` powered multiple-selection filters when checking boxes
diff --git a/.changeset/young-scissors-cough.md b/.changeset/young-scissors-cough.md
deleted file mode 100644
index fa35588224..0000000000
--- a/.changeset/young-scissors-cough.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/backend-defaults': patch
----
-
-Added a workaround for the cyclic dependency bug across `@backstage/backend-common` and `@backstage/backend-app-api`.
diff --git a/.changeset/young-walls-prove.md b/.changeset/young-walls-prove.md
deleted file mode 100644
index 33fafa1548..0000000000
--- a/.changeset/young-walls-prove.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@backstage/core-plugin-api': minor
----
-
-The GitLab auth provider can now be used to get OpenID tokens.
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 010af451af..b4be92e4ec 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -8,13 +8,14 @@
yarn.lock @backstage/maintainers @backstage-service
*/yarn.lock @backstage/maintainers @backstage-service
/.changeset/*.md
-/cypress/src/integration/plugins/techdocs.spec.ts @backstage/techdocs-core
-/docs/assets/search @backstage/techdocs-core
-/docs/features/search @backstage/techdocs-core
-/docs/features/techdocs @backstage/techdocs-core
-/docs/plugins/integrating-search-into-plugins.md @backstage/techdocs-core
-/packages/techdocs-cli @backstage/techdocs-core
-/packages/techdocs-cli-embedded-app @backstage/techdocs-core
+/cypress/src/integration/plugins/techdocs.spec.ts @backstage/techdocs-maintainers
+/docs/assets/search @backstage/discoverability-maintainers
+/docs/features/search @backstage/discoverability-maintainers
+/docs/features/techdocs @backstage/techdocs-maintainers
+/docs/plugins/integrating-search-into-plugins.md @backstage/discoverability-maintainers
+/packages/cli/src/commands/onboard @backstage/sharks
+/packages/techdocs-cli @backstage/techdocs-maintainers
+/packages/techdocs-cli-embedded-app @backstage/techdocs-maintainers
/plugins/adr @backstage/maintainers @kuangp
/plugins/adr-* @backstage/maintainers @kuangp
/plugins/allure @backstage/maintainers @deepak-bhardwaj-ps
@@ -54,15 +55,15 @@ yarn.lock @backstage/maintainers @back
/plugins/fossa @backstage/maintainers @backstage/sda-se-reviewers
/plugins/gcalendar @backstage/maintainers @szubster @ptychu @kielosz @alexrybch
/plugins/git-release-manager @backstage/maintainers @erikengervall
-/plugins/home @backstage/techdocs-core
+/plugins/home @backstage/discoverability-maintainers
/plugins/ilert @backstage/maintainers @yacut
/plugins/jenkins @backstage/maintainers @timja
/plugins/jenkins-backend @backstage/maintainers @timja
/plugins/kafka @backstage/maintainers @nirga @andrewthauer
/plugins/kafka-backend @backstage/maintainers @nirga @andrewthauer
-/plugins/kubernetes @backstage/maintainers @backstage/warpspeed
-/plugins/kubernetes-* @backstage/maintainers @backstage/warpspeed
-/plugins/microsoft-calendar @backstage/maintainers @abhay-soni-developer
+/plugins/kubernetes @backstage/maintainers @backstage/kubernetes-maintainers
+/plugins/kubernetes-* @backstage/maintainers @backstage/kubernetes-maintainers
+/plugins/microsoft-calendar @backstage/maintainers @abhay-soni-developer @NishkarshRaj
/plugins/newrelic-dashboard @backstage/maintainers @mufaddal7
/plugins/playlist @backstage/maintainers @kuangp
/plugins/playlist-* @backstage/maintainers @kuangp
@@ -70,13 +71,13 @@ yarn.lock @backstage/maintainers @back
/plugins/rollbar-backend @backstage/maintainers @andrewthauer
/plugins/scaffolder-backend-module-rails @backstage/maintainers @angeliski
/plugins/scaffolder-backend-module-yeoman @backstage/maintainers @pawelmitka
-/plugins/search @backstage/techdocs-core
-/plugins/search-* @backstage/techdocs-core
+/plugins/search @backstage/discoverability-maintainers
+/plugins/search-* @backstage/discoverability-maintainers
/plugins/sonarqube @backstage/maintainers @backstage/sda-se-reviewers
-/plugins/stack-overflow @backstage/techdocs-core
-/plugins/stack-overflow-backend @backstage/techdocs-core
-/plugins/techdocs @backstage/techdocs-core
-/plugins/techdocs-* @backstage/techdocs-core
+/plugins/stack-overflow @backstage/discoverability-maintainers
+/plugins/stack-overflow-backend @backstage/discoverability-maintainers
+/plugins/techdocs @backstage/techdocs-maintainers
+/plugins/techdocs-* @backstage/techdocs-maintainers
/plugins/user-settings-backend @backstage/maintainers @backstage/sda-se-reviewers
/tech-insights-backend @backstage/maintainers @xantier @iain-b
/tech-insights-backend-module-jsonfc @backstage/maintainers @xantier @iain-b
diff --git a/.github/vale/Vocab/Backstage/accept.txt b/.github/vale/Vocab/Backstage/accept.txt
index 63fa474115..f058475367 100644
--- a/.github/vale/Vocab/Backstage/accept.txt
+++ b/.github/vale/Vocab/Backstage/accept.txt
@@ -82,6 +82,7 @@ Debounce
debuggability
declaratively
deduplicated
+deliverables
dependabot
deps
destructured
@@ -158,6 +159,7 @@ img
incentivised
Indal
indexable
+ingestors
inlined
inlinehilite
integrator's
@@ -367,6 +369,7 @@ templaters
Templaters
TFRecord
theia
+threenager
thumbsup
todo
todos
@@ -403,6 +406,7 @@ validator
validators
varchar
VMware
+Vodafone
VPCs
VSCode
Wayfair
diff --git a/ADOPTERS.md b/ADOPTERS.md
index 26f4331b70..61e149e498 100644
--- a/ADOPTERS.md
+++ b/ADOPTERS.md
@@ -234,4 +234,5 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
| [N26](https://n26.com) | [Alexei Timofti](https://www.linkedin.com/in/alexeitimofti) | We use Backstage for our service catalog and are actively looking into adopting other plugins like TechDocs, TechInsights and Software Templates. |
| [The LEGO Group](https://www.lego.com) | [Waqas Ali](https://www.linkedin.com/in/waqasali47) | We are building our internal develper portal on top of Backstage. |
| [CORS.gmbh](https://www.cors.gmbh) | [@dpfaffenbauer](https://github.com/dpfaffenbauer) | Developer Portal for our Projects we develop for our Customers and Hosting them On Kubernetes. |
+| [Comcast](https://comcast.github.io/) | [Ryan Emerle](https://github.com/remerle) | Developer portal enabling discovery of products, services, and documentation throughout the enterprise to ultimately reduce friction and improve time-to-market. |
diff --git a/GOVERNANCE.md b/GOVERNANCE.md
index 5bafa19c81..3314e40993 100644
--- a/GOVERNANCE.md
+++ b/GOVERNANCE.md
@@ -1,88 +1,233 @@
-# Process for becoming a maintainer
+# Project Areas
-## a) Your organization is not yet a maintainer
+The Backstage project is divided into several project areas, each covering particular parts of the project. The main driver for each area is ownership of code in the main Backstage repository, as well as other repositories in the Backstage GitHub organization. Each area has a set of maintainers and repository content that they own. There may be no overlap in ownership between areas, which means that any given line in the GitHub code owners file should have only one owner specified. Each area is represented by a team in the Backstage GitHub organization. Apart from certain project-wide concerns, such as the release process, each area is self-governing and chooses their own ways of working. Project areas may also have special interest groups (SIGs) related to their area, but this is not required.
-- Express interest to the sponsors that your organization is interested in becoming a maintainer. Becoming a maintainer generally means that you are going to be spending substantial time on Backstage for the foreseeable future. You should have domain expertise and be extremely proficient in TypeScript.
-- We will expect you to start contributing increasingly complicated PRs, under the guidance of the existing maintainers.
-- We may ask you to do some PRs from our backlog.
-- As you gain experience with the code base and our standards, we will ask you to do code reviews for incoming PRs.
-- After a period of approximately 2-3 months of working together and making sure we see eye to eye, the existing sponsors and maintainers will confer and decide whether to grant maintainer status or not. We make no guarantees on the length of time this will take, but 2-3 months is the approximate goal.
+The project areas as well as their maintainers are listed in the [OWNERS.md](./OWNERS.md) file.
-## b) Your organization is currently a maintainer
+Each project area must have at least one maintainer. Project area maintainers may have shared ownership with the core maintainers, which in that case is considered an incubating area. The project area maintainers help drive work forward in the area, but they might not yet feel ready to take on ownership. The goal should generally be that these project area maintainers eventually become sole maintainers of the project area. This is to allow for a more smooth onboarding and transition of ownership, where members of the community might for example be new to open source maintainership.
-To become a maintainer you need to demonstrate the following:
+## Adding new project areas
-- First decide whether your organization really needs more people with maintainer access. Valid reasons are "blast radius", a large organization that is working on multiple unrelated projects, etc.
-- Contact a sponsor for your organization and express interest.
-- Start doing PRs and code reviews under the guidance of your maintainer.
-- After a period of 1-2 months the existing sponsors will discuss granting maintainer access.
-- Maintainer access can be upgraded to sponsor access after another conference of the existing sponsors.
+Project areas are added by nominating new maintainers for that area. See the sections for becoming a [Project Area Maintainer](#project-area-maintainer).
-# Maintainer responsibilities
+Project areas may also by added by splitting existing areas. Every area that is created through this process must have at least one maintainer.
-- Monitor email aliases.
-- Monitor Discord (delayed response is perfectly acceptable).
-- Triage GitHub issues and perform pull request reviews for other maintainers and the community.
-- Triage build issues - file issues for known flaky builds or bugs, and either fix or find someone to fix any master build breakages.
-- During GitHub issue triage, apply all applicable ([labels](https://github.com/backstage/backstage/labels)) to each new issue. Labels are extremely useful for future issue follow-up. Which labels to apply is somewhat subjective so just use your best judgment. A few of the most important labels that are not self-explanatory are:
- - good first issue: Mark any issue that can reasonably be accomplished by a new contributor with this label.
- - help wanted: Unless it is immediately obvious that someone is going to work on an issue (and if so assign it), mark it help wanted.
-- Make sure that ongoing PRs are moving forward at the right pace or closing them.
-- Participate when called upon in the security release process. Note that although this should be a rare occurrence, if a serious vulnerability is found, the process may take up to several full days of work to implement. This reality should be taken into account when discussing time commitment obligations with employers.
-- In general, continue to be willing to spend at least 25% of one's time working on Backstage (~1.25 business days per week).
-- We currently maintain an "on-call" rotation within the maintainers. Each on-call is 1 week. Although all maintainers are welcome to perform all of the above tasks, it is the on-call maintainer's responsibility to triage incoming issues/questions and marshal ongoing work forward. To reiterate, it is not the responsibility of the on-call maintainer to answer all questions and do all reviews, but it is their responsibility to make sure that everything is being actively covered by someone.
+## Removing project areas
-# When does a maintainer lose maintainer status
+Project areas are removed by removing all maintainers for that area and removing the corresponding team from the Backstage GitHub organization. The project area can be re-added later if there is a need for it. Reasons for removal may include lack of activity, lack of maintainers, or lack of relevance to the project.
-If a maintainer is no longer interested or cannot perform the maintainer duties listed above, they should volunteer to be moved to emeritus status. In extreme cases this can also occur by a vote of the sponsors and maintainers per the voting process below.
+# Project Roles
-# End User Sponsors
+## Contributor
-## Role of a Backstage End User Sponsor
+A Contributor contributes directly to the project and adds value to it. Contributions need not be code. People at the Contributor level may be new contributors, or they may only contribute occasionally.
-- Provide support for Backstage by removing blockers, securing funding, providing advocacy, feedback, and ensuring project continuity and long term success.
-- Assist Backstage maintainers in prioritizing upcoming roadmap items and planned work.
-- Provide neutral mediation for any disputes that arise as part of the project.
+### Responsibilities
-## Backstage End User Sponsor Membership
+- Follow the [CNCF CoC](https://github.com/cncf/foundation/blob/main/code-of-conduct.md)
+- Follow the project [contributing guide](CONTRIBUTING.md)
+
+### How to get involved
+
+- Participate in community discussions
+- Help other users
+- Submit bug reports
+- Comment on issues
+- Try out new releases
+- Attend community events
+
+### How to contribute
+
+- Report and sometimes resolve issues
+- Occasionally submit PRs
+- Contribute to the documentation
+- Show up at meetings, take notes
+- Answer questions from other community members
+- Submit feedback on issues and PRs
+- Test releases and patches and submit reviews
+- Run or help run events
+- Promote the project in public
+
+## Organization Member
+
+An org member is a frequent contributor that has become a member of the Backstage GitHub organization. In addition to the responsibilities of contributors, an org member is also expected to be reasonably active in the community through continuous contributions of any type.
+
+An Organization Member must meet the responsibilities and has the requirements of a Contributor.
+
+### Responsibilities
+
+- Continues to contribute regularly, as demonstrated by having at least 10 GitHub contributions per year in [Devstats](https://backstage.devstats.cncf.io/d/48/users-statistics-by-repository-group?orgId=1&var-period=y&var-metric=contributions&var-repogroup_name=All&from=now-1y&to=now&var-users=All), or contributions of a similar effort that might not be captured in Devstats.
+
+### Requirements
+
+- Must have at least 10 contributions to the projects in the form of:
+ - Accepted PRs
+ - Helpful PR reviews
+ - Resolving GitHub issues
+ - Or some equivalent contributions to the project
+- Must have been contributing for at least 3 months
+- Or is the member of a team that owns a project area, in which case the above requirements do not apply and the member is instead vetted by the project area maintainers
+
+### Becoming an Organization Member
+
+Open an issue towards [the community repository](https://github.com/backstage/community) using the [org membership request template](https://github.com/backstage/community/issues/new?template=org_member.yaml&title=Org+Member%3A+%3Cyour-github-login%3E).
+
+### Privileges
+
+- Membership in the Backstage GitHub organization
+
+## Plugin Maintainer
+
+A Plugin Maintainer is responsible for maintaining an individual Backstage plugin or module. This includes reviewing contributions and responding to issues towards an individual plugin, as well as keeping the plugin up to date.
+
+Plugin Maintainer is a lightweight form of ownership that is primarily reflected though code owners of the plugin packages in the [CODEOWNERS](./.github/CODEOWNERS) file. Each plugin can have one or more maintainers. If a plugin becomes a significant part of the Backstage ecosystem, it may be promoted to be a distinct project area instead.
+
+A Plugin Maintainer has all the rights and responsibilities of an Organization Member.
+
+### Responsibilities
+
+- Review the majority of PRs towards the plugin
+- Respond to GitHub issues related to the plugin
+- Keep the plugin up-to-date with Backstage libraries and other dependencies
+- Follow the [reviewing guide](REVIEWING.md)
+
+### Requirements
+
+- Is an Organization Member
+- Display knowledge of Backstage's review process and best practices for plugin design
+- Is supportive of new and occasional contributors and helps get useful PRs in shape to merge
+
+### Privileges
+
+- GitHub code owner of the plugin directory, with rights to approve and merge PRs towards the plugin
+
+### Becoming a Plugin Maintainer
+
+To become a Plugin Maintainer, you first need to be an Organization Member. You can then file a pull request towards [CODEOWNERS.md](./.github/CODEOWNERS) requesting to be added as a code owner of the plugin directory. Existing code owners of that plugin alongside the core maintainers will then review the request.
+
+## Project Area Maintainer
+
+Project Area Maintainers are owners of a particular project area. They are expected to review and merge pull requests towards their area, and also drive development and manage tech health. A Project Area Maintainer also need to commit a certain number of hours per month towards the project, and exercise judgment for the good of the project, independent of their employer. Project Area Maintainers should also mentor new maintainers and participate in and lead community meetings related to their area. New Project Area Maintainers need to be approved by the existing project area maintainers, or the core maintainers if it is a new area.
+
+The maintainers of a project area may be represented by a team in external organization. In this case, the state as a project area maintainer is tied to the membership in that team. New members of the team may automatically be added as maintainers, as well as removed when they leave. This process is governed autonomously by the team of project area maintainers.
+
+A Project Area Maintainer has all the rights and responsibilities of an Organization Member.
+
+### Responsibilities
+
+- Review PRs towards their project area. Project area maintainers are expected to review at least 20 PRs per year, or the majority of all PRs towards the area, if it is less than 20
+- Follow the [reviewing guide](REVIEWING.md)
+- Triage and respond to issues related to their project area
+- Mentor new project area maintainers
+- Write refactoring PRs
+- Determine strategy and policy for the project area
+- Participate in or leading community meetings related to their project area
+
+### Requirements
+
+- Is an Organization Member
+- Have made at least 5 meaningful contributions towards the project area
+- Demonstrates knowledge of their project area, and how it fits into the larger Backstage project
+- Is able to exercise judgment for the good of the project, independent of their employer, friends, or team
+- Mentors other contributors and project area maintainers
+- Can commit to spending at least 16 hours per month working on the project, preferably distributed evenly across the month
+
+### Privileges
+
+- Approve and merge PRs towards their project area
+- Drive the direction and roadmap of their project area
+
+### Becoming a Project Area Maintainer
+
+If you are interested in becoming a project area maintainer, reach out to the existing maintainers for that area. If you wish to become a maintainer for a new area, reach out to the core maintainers.
+
+Any current project area maintainer or core maintainer may nominate a new project area maintainer by opening a PR towards the [OWNERS.md](OWNERS.md) file. A majority of the project area maintainers for that area must approve the PR. If there are no existing maintainers for that area, the PR must be approved by a majority of the core maintainers.
+
+## Core Maintainer
+
+Core Maintainers are responsible for the Backstage project as a whole. They help review and merge project-level pull requests as well as coordinate work affecting multiple project areas. A core maintainer needs to commit the majority of their working time towards the project, and exercise judgment for the good of the project, independent of their employer. Core maintainers should also mentor and seek out new maintainers, lead community meetings, and communicate with the CNCF on behalf of the project. To become a core maintainer one needs to have been the maintainer of a number of different project areas, demonstrate a deep knowledge of large parts of the Backstage project, and be backed by the existing core maintainers.
+
+A Core Maintainer have all the rights and responsibilities of a Project Area Maintainer.
+
+### Responsibilities
+
+- Take part in the incoming issue and PR triage and review process. PRs are shared equally among all maintainers
+- Mentor new Project Area Maintainers and Plugin Maintainers
+- Drive refactoring and manage tech health across the entire project
+- Participate in CNCF maintainer activities
+- Respond to security incidents in accordance to our [security policy](./SECURITY.md)
+- Determine strategy and policy for the project
+- Participate in or leading community meetings
+
+### Requirements
+
+- Experience as a Project Area Maintainer for at least 6 months
+- Demonstrates a broad knowledge of the project across multiple areas
+- Is able to exercise judgment for the good of the project, independent of their employer, friends, or team
+- Mentors other contributors
+- Can commit to spending at least 10 days per month working on the project
+
+### Privileges
+
+- Approve PRs that fall outside any specific project area
+- Merge PRs to any area of the project
+- Represent the project in public as a Maintainer
+- Communicate with the CNCF on behalf of the project
+- Have a vote in Maintainer decision-making meetings
+
+### Becoming a Core Maintainer
+
+Any core maintainer or end user sponsor may nominate a new core maintainer by opening a PR towards the [OWNERS.md](OWNERS.md) file. Core maintainers must be approved by a majority of the existing core maintainers and end user sponsors.
+
+## End User Sponsors
+
+### Role of a Backstage End User Sponsor
+
+- Provide support for Backstage by removing blockers, securing funding, providing advocacy, feedback, and ensuring project continuity and long term success
+- Assist Backstage maintainers in prioritizing upcoming roadmap items and planned work
+- Provide neutral mediation for any disputes that arise as part of the project
+
+### Backstage End User Sponsor Membership
The End User Sponsors group comprises at most 5 people. To be eligible for membership in the group, you or the company where you work you must:
- Be responsible for and end user of a production Backstage deployment of non-trivial size
- Be active contributors to the open source project
- Be willing and able to attend regularly-scheduled End User Sponsor meetings
-- Abide by [Backstage’s Code of Conduct](./CODE_OF_CONDUCT.md).
+- Abide by [CNCF CoC](https://github.com/cncf/foundation/blob/main/code-of-conduct.md)
Candidates for membership will be nominated by current Sponsor members or by Backstage maintainers. If there are more nominations than Sponsor seats remaining, existing sponsors shall vote on the candidates, and the candidates with the most votes will become Sponsors. Any ties will be broken by current Backstage sponsors.
-# Reviewers
-
-The project also contains a team called [@backstage/reviewers](https://github.com/orgs/backstage/teams/reviewers). This is the team of people who are the fallback in [`CODEOWNERS`](./.github/CODEOWNERS). This team will typically contain the maintainers, and a small number of additional people who are permitted to approve and merge pull requests. The purpose of this group is to offload some of the review work from the maintainers, simplifying and speeding up the review process for contributors.
-
-This responsibility is distinct from the maintainer role. A reviewer must not approve and merge changes that have a level of impact that a maintainer should oversee; see below for clarification. For that class of changes, a reviewer can still review the pull request thoroughly without approving it (e.g. with a comment on the pull request), and is expected to notify `@backstage/maintainers` for final approval. Note that it is best to not use the GitHub review approve functionality for this, since that would let Hall of Fame members self-merge the pull request before maintainers get the chance to look at it.
-
-The following is a non-exhaustive list of types of change, for which a reviewer should defer final decision and merge to a maintainer:
-
-- A larger refactoring that significantly affects the structure of/between packages
-- Changes that settle or alter the trajectory of contested ongoing topics in issues or elsewhere
-- Changes that affect the [Architecture Decision Records](./docs/architecture-decisions)
-- Changes to APIs that have large customer impact, such as the core APIs in `@backstage/core-*` packages, or significant `@backstage/cli` changes.
-- Pull requests whose build checks are not passing fully
-- Additions and removals of entire packages
-- Releases (e.g. pull requests titled `Version Packages`)
-
-A maintainer may suggest an addition to the reviewers team by opening a pull request that modifies [`OWNERS.md`](./OWNERS.md) accordingly. Prospective reviewers are not expected to do this themselves, but should rather ask a maintainer to sponsor their addition. All of the maintainers and sponsors are called to vote on the addition (see the section below about voting). If the vote passes, the pull request can be approved and merged, and the corresponding addition to the GitHub team can be made.
-
-A reviewer can elect to remove themselves from the reviewers group by opening, or asking a maintainer to open, a pull request that modifies [`OWNERS.md`](./OWNERS.md) accordingly. A maintainer will approve and merge the pull request, and the corresponding removal from the GitHub team can be made.
-
-A maintainer can call on the other maintainers and sponsors for a vote to remove a reviewer (see the section below about conflict resolution and voting). If the vote passes, a maintainer creates a pull request that modifies [`OWNERS.md`](./OWNERS.md) accordingly. After approval by another maintainer, the pull request can be merged, and the corresponding removal from the GitHub team can be made.
-
# Conflict resolution and voting
-In general, we prefer that technical issues and membership are amicably worked out between the persons involved. If a dispute cannot be decided independently, the sponsors and maintainers can be called in to decide an issue. If the sponsors and maintainers themselves cannot decide an issue, the issue will be resolved by voting.
+In general, we prefer that technical issues and membership are amicably worked out between the persons involved. If a dispute cannot be decided independently, the sponsors and core maintainers can be called in to decide an issue. If the sponsors and maintainers themselves cannot decide an issue, the issue will be resolved by voting.
-In all cases in this document where voting is mentioned, the voting process is a simple majority in which each sponsor receives two votes and each maintainer receives one vote. If such a majority is reached, the vote is said to have _passed_.
+In all cases in this document where voting is mentioned, the voting process is a simple majority in which each sponsor receives two votes and each core maintainer receives one vote. If such a majority is reached, the vote is said to have _passed_.
-# Adding new projects to the Backstage GitHub organization
+## Inactivity
-New projects will be added to the Backstage organization via GitHub issue discussion in one of the existing projects in the organization. Once sufficient discussion has taken place (~3-5 business days but depending on the volume of conversation), the maintainers of the project where the issue was opened (since different projects in the organization may have different maintainers) will decide whether the new project should be added. See the section above on voting if the maintainers cannot easily decide.
+It is important for contributors to be and stay active to set an example and show commitment to the project. Inactivity is harmful to the project as it may lead to unexpected delays, contributor attrition, and a loss of trust in the project.
+
+Inactivity is measured by periods of no contributions for longer than:
+
+- Core Maintainer: 2 months
+- Project Area Maintainer: 4 months
+- Plugin Maintainer: 6 months
+- Organization Member: 8 months
+
+Consequences of being inactive include:
+
+- Involuntary removal or demotion
+- Being asked to move to Emeritus status
+
+## Involuntary Removal or Demotion
+
+Involuntary removal/demotion of a contributor happens when responsibilities and requirements aren't being met. This may include repeated patterns of inactivity, extended period of inactivity, a period of failing to meet the requirements of your role, and/or a violation of the Code of Conduct. This process is important because it protects the community and its deliverables while also opens up opportunities for new contributors to step in.
+
+Involuntary removal or demotion is handled through a vote by a majority of the current Core Maintainers. Some aspects of this process may be automated, such as removal after periods of inactivity.
+
+## Stepping Down/Emeritus Process
+
+If and when contributors' commitment levels change, contributors can consider stepping down (moving down the contributor ladder) vs moving to emeritus status (completely stepping away from the project).
+
+Contact the Maintainers about changing to Emeritus status, or reducing your contributor level.
diff --git a/OWNERS.md b/OWNERS.md
index 6615046540..08736d5723 100644
--- a/OWNERS.md
+++ b/OWNERS.md
@@ -1,43 +1,91 @@
- See [CONTRIBUTING.md](CONTRIBUTING.md) for general contribution guidelines.
- See [GOVERNANCE.md](GOVERNANCE.md) for governance guidelines and responsibilities.
-This page lists all active sponsors and maintainers.
+## Core Maintainers
-# Sponsors
+Team: @backstage/maintainers
-- Niklas Gustavsson ([protocol7](https://github.com/protocol7)) (ngn@spotify.com)
-- Dave Zolotusky ([dzolotusky](https://github.com/dzolotusky)) (dzolo@spotify.com)
-- Lee Mills ([leemills83](https://github.com/leemills83)) (leem@spotify.com)
+| Maintainer | Organization | GitHub | Discord |
+| --------------- | ------------ | ----------------------------------------------- | ------------- |
+| Patrik Oldsberg | Spotify | [Rugvip](https://github.com/Rugvip) | `Rugvip#0019` |
+| Fredrik Adelöw | Spotify | [freben](https://github.com/freben) | `freben#3926` |
+| Ben Lambert | Spotify | [benjdlambert](https://github.com/benjdlambert) | `blam#2159` |
+| Johan Haals | Spotify | [jhaals](https://github.com/jhaals) | `Johan#0679` |
-# Maintainers
+## Project Areas
-- Patrik Oldsberg ([rugvip](https://github.com/rugvip)) (Discord: @Rugvip)
-- Fredrik Adelöw ([freben](https://github.com/freben)) (Discord: @freben)
-- Ben Lambert ([benjdlambert](https://github.com/benjdlambert)) (Discord: @blam)
-- Johan Haals ([jhaals](https://github.com/jhaals)) (Discord: @jhaals)
+These are the separate project areas of Backstage, each with their own project area maintainers
-# Reviewers
+### Catalog
-See [`GOVERNANCE.md`](./GOVERNANCE.md) for details about how the reviewers team
-works.
+Team: @backstage/catalog-maintainers
-- Patrik Oldsberg ([rugvip](https://github.com/rugvip)) (Discord: @Rugvip)
-- Fredrik Adelöw ([freben](https://github.com/freben)) (Discord: @freben)
-- Ben Lambert ([benjdlambert](https://github.com/benjdlambert)) (Discord: @blam)
-- Johan Haals ([jhaals](https://github.com/jhaals)) (Discord: @jhaals)
-- Himanshu Mishra ([OrkoHunter](https://github.com/OrkoHunter)) (Discord: @OrkoHunter)
-- Tim Hansen ([timbonicus](https://github.com/timbonicus)) (Discord: @timbonicus)
+| Name | Organization | Team | GitHub | Discord |
+| ---- | ------------ | --------- | ---------------------------- | ------- |
+| TBD | Spotify | Chipmunks | [TBD](http://github.com/TBD) | - |
-# Emeritus maintainers
+### Discoverability
-- Stefan Ã…lund ([stefanalund](https://github.com/stefanalund)) (Discord: @stalund)
+Team: @backstage/discoverability-maintainers
-# Hall of Fame
+Scope: Discoverability within Backstage, including the home page, information architecture, and search
-People that have made significant contributions to the project and earned write access.
+| Name | Organization | Team | GitHub | Discord |
+| ------------------------ | ------------ | ---- | ---------------------------------------- | ------------------ |
+| Avantika Iyer | Spotify | BUX | [tikabom](http://github.com/tikabom) | - |
+| Camila Belo | Spotify | BUX | [camilaibs](http://github.com/camilaibs) | Camila Loiola#0226 |
+| Emma Indal | Spotify | BUX | [emmaindal](http://github.com/emmaindal) | emmaindal#7503 |
+| Raghunandan Balachandran | Spotify | BUX | [soapraj](http://github.com/soapraj) | raghunandanb#1114 |
+| Renan Mendes Carvalho | Spotify | BUX | [aitherios](http://github.com/aitherios) | aitherios#0593 |
-- Andrew Thauer - Wealthsimple (GitHub: [andrewthauer](https://github.com/andrewthauer))
-- Oliver Sand - SDA SE (GitHub: [Fox32](https://github.com/Fox32))
-- David Tuite - Roadie (GitHub: [dtuite](https://github.com/dtuite))
-- Adam Harvey - Cisco (GitHub: [adamdmharvey](https://github.com/adamdmharvey))
-- Dominik Henneke - SDA SE (GitHub: [dhenneke](https://github.com/dhenneke))
+### Kubernetes
+
+Team: @backstage/kubernetes-maintainers
+
+Scope: The Kubernetes plugin and the base it provides for other plugins to build upon.
+
+| Name | Organization | Team | GitHub | Discord |
+| -------------- | ------------ | ---- | ---------------------------------------- | ------------ |
+| Matthew Clarke | Spotify | | [mclarke47](http://github.com/mclarke47) | mclarke#0725 |
+
+### TechDocs
+
+Team: @backstage/techdocs-maintainers
+
+Scope: The TechDocs plugin and related tooling
+
+| Name | Organization | Team | GitHub | Discord |
+| ------------------------ | ------------ | ------------ | ------------------------------------------------ | ------------------ |
+| Morgan Bentell | Spotify | Pulp Fiction | [agentbellnorm](http://github.com/agentbellnorm) | morganbentell#9030 |
+| Raghunandan Balachandran | Spotify | Pulp Fiction | [soapraj](http://github.com/soapraj) | raghunandanb#1114 |
+
+## Sponsors
+
+| Name | Organization | GitHub | Email |
+| ----------------- | ------------ | ------------------------------------------- | ----------------- |
+| Niklas Gustavsson | Spotify | [protocol7](https://github.com/protocol7) | ngn@spotify.com |
+| Dave Zolotusky | Spotify | [dzolotusky](https://github.com/dzolotusky) | dzolo@spotify.com |
+| Lee Mills | Spotify | [leemills83](https://github.com/leemills83) | leem@spotify.com |
+
+## Organization Members
+
+| Name | Organization | GitHub | Discord |
+| ------------------ | ------------------------- | ----------------------------------------------- | ------------------------------ |
+| Adam Harvey | Cisco | [adamdmharvey](https://github.com/adamdmharvey) | `adamharvey#3739` |
+| Andre Wanlin | Keyloop | [awanlin](https://github.com/awanlin) | `Ahhhndre#3095` |
+| Andrew Thauer | Wealthsimple | [andrewthauer](https://github.com/andrewthauer) | `andrewthauer#3060` |
+| Brian Fletcher | RoadieHQ | [punkle](https://github.com/punkle) | `Brian Fletcher#7051` |
+| David Tuite | Roadie | [dtuite](https://github.com/dtuite) | `David Tuite (roadie.io)#1010` |
+| Himanshu Mishra | Harness.io | [OrkoHunter](https://github.com/OrkoHunter) | `OrkoHunter#1520` |
+| Jamie Klassen | VMware | [jamieklassen](https://github.com/jamieklassen) | `jamieklassen#3047` |
+| Jussi Hallila | Roadie | [Xantier](https://github.com/Xantier) | `Xantier#0086` |
+| Mark Avery | Cvent | [webark](https://github.com/webark) | `webark#8471` |
+| Patrick Jungermann | Bonial International GmbH | [pjungermann](https://github.com/pjungermann) | `pjungermann#6933` |
+| Phil Kuang | FactSet Research Systems | [kuangp](https://github.com/kuangp) | `pkuang#3202` |
+| Taras Mankovski | Frontside | [taras](https://github.com/taras) | `tarasm#1256` |
+
+## Emeritus Core Maintainers
+
+| Maintainer | Organization | GitHub | Discord |
+| ------------ | ------------ | --------------------------------------------- | -------------- |
+| Stefan Ã…lund | Spotify | [stefanalund](https://github.com/stefanalund) | `stalund#9602` |
diff --git a/docs/features/kubernetes/installation.md b/docs/features/kubernetes/installation.md
index ae7826a804..17028ef90f 100644
--- a/docs/features/kubernetes/installation.md
+++ b/docs/features/kubernetes/installation.md
@@ -75,6 +75,7 @@ export default async function createPlugin(
logger: env.logger,
config: env.config,
catalogApi,
+ permissions: env.permissions,
}).build();
return router;
}
diff --git a/docs/features/kubernetes/proxy.md b/docs/features/kubernetes/proxy.md
index 5848d62e3e..b53dfeb29d 100644
--- a/docs/features/kubernetes/proxy.md
+++ b/docs/features/kubernetes/proxy.md
@@ -22,6 +22,7 @@ import {
discoveryApiRef,
googleAuthApiRef,
useApi,
+ identityApiRef,
} from '@backstage/core-plugin-api';
const CLUSTER_NAME = ''; // use a known cluster name
@@ -32,6 +33,10 @@ const token = await googleAuthApi.getAccessToken(
'https://www.googleapis.com/auth/cloud-platform',
);
+// get a backstage ID token
+const identityApi = useApi(identityApiRef);
+const { token: userToken } = await identityApi.getCredentials();
+
const discoveryApi = useApi(discoveryApiRef);
const kubernetesBaseUrl = await discoveryApi.getBaseUrl('kubernetes');
const kubernetesProxyEndpoint = `${kubernetesBaseUrl}/proxy`;
@@ -40,8 +45,9 @@ const kubernetesProxyEndpoint = `${kubernetesBaseUrl}/proxy`;
await fetch(`${kubernetesProxyEndpoint}/api/v1/namespaces`, {
method: 'GET',
headers: {
- 'X-Kubernetes-Cluster': CLUSTER_NAME,
- Authorization: `Bearer ${token}`,
+ 'Backstage-Kubernetes-Cluster': CLUSTER_NAME,
+ 'Backstage-Kubernetes-Authorization': `Bearer ${token}`,
+ Authorization: `Bearer ${userToken}`,
},
});
```
@@ -49,16 +55,19 @@ await fetch(`${kubernetesProxyEndpoint}/api/v1/namespaces`, {
## How it works
The proxy will interpret the
-[`X-Kubernetes-Cluster`
-header](https://backstage.io/docs/reference/plugin-kubernetes-backend.header_kubernetes_cluster)
-as the name of the cluster to target. This name will be compared to each cluster
+[`Backstage-Kubernetes-Cluster`](https://backstage.io/docs/reference/plugin-kubernetes-backend.header_kubernetes_cluster)
+header as the name of the cluster to target. This name will be compared to each cluster
returned by all the configured [cluster
locators](https://backstage.io/docs/features/kubernetes/configuration#clusterlocatormethods)
-- the first cluster whose [`name` field](https://backstage.io/docs/features/kubernetes/configuration#clustersname) matches
the value in the header will be targeted.
-Then the request will be forwarded verbatim (but with the endpoint's base URL
-prefix stripped) to the cluster.
+Then the request will be forwarded to the cluster.
+
+Overall, the only changes to each request are:
+
+- the endpoint's base URL prefix is stripped.
+- the `Backstage-Kubernetes-Authorization` header becomes the `Authorization` header that is used when forwarding the request.
## Authentication
@@ -73,9 +82,59 @@ providers](https://backstage.io/docs/features/kubernetes/authentication#client-s
The proxy has no provisions for mTLS, so it cannot be used to connect to
clusters using the [x509 Client
Certs](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#x509-client-certs)
-authentication strategy. [Bearer
-tokens](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#putting-a-bearer-token-in-a-request)
-will be forwarded as-is.
+authentication strategy.\
+The current `/proxy` Implementation expects a
+[Bearer
+token](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#putting-a-bearer-token-in-a-request)
+to be provided as a `Backstage-Kubernetes-Authorization` header for a target cluster. This token will be used as the `Authorization` header when forwarding a request to a target cluster.
+
+## How to disable the proxy endpoint via PermissionPolicy
+
+The kubernetes plugin can disable the use of the `proxy` endpoint by leveraging the permission framework. This integration allows admins to use well defined PermissionPolicies to restrict the use of the endpoint all together. The `proxy` endpoint can return 403 errors even if it has a valid ID token attached that a cluster would authorize thus allowing integrators the confidence that Backstage is not accessing kubernetes clusters on behalf of undesired parties.
+
+This feature assumes your backstage instance has enabled the [permissions framework](https://backstage.io/docs/permissions/getting-started)
+
+A sample policy like:
+
+[packages/backend/src/plugins/permissions.ts](https://github.com/backstage/backstage/blob/master/packages/backend/src/plugins/permission.ts)
+
+```typescript
+import { BackstageIdentityResponse } from '@backstage/plugin-auth-node';
+import {
+ AuthorizeResult,
+ PolicyDecision,
+} from '@backstage/plugin-permission-common';
+import {
+ PermissionPolicy,
+ PolicyQuery,
+} from '@backstage/plugin-permission-node';
+
+class KubernetesDenyAllProxyEndpointPolicy implements PermissionPolicy {
+ async handle(
+ request: PolicyQuery,
+ user?: BackstageIdentityResponse,
+ ): Promise {
+ if (request.permission.name === 'kubernetes.proxy') {
+ return {
+ result: AuthorizeResult.DENY,
+ };
+ }
+ return { result: AuthorizeResult.ALLOW };
+ }
+}
+```
+
+would leverage the permission framework to return the following response:
+
+```json
+{
+ "error": {
+ "name": "NotAllowedError"
+ }
+}
+```
+
+even if a valid ID token was attached that a cluster would authorize.
## Other known limitations
diff --git a/docs/features/search/how-to-guides.md b/docs/features/search/how-to-guides.md
index 5b28e259b5..abb29ab4eb 100644
--- a/docs/features/search/how-to-guides.md
+++ b/docs/features/search/how-to-guides.md
@@ -51,7 +51,7 @@ The TechDocs plugin has supported integrations to Search, meaning that it
provides a default collator factory ready to be used.
The purpose of this guide is to walk you through how to register the
-[DefaultTechDocsCollatorFactory](https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.ts)
+[DefaultTechDocsCollatorFactory](https://github.com/backstage/backstage/blob/de294ce5c410c9eb56da6870a1fab795268f60e3/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.ts)
in your App, so that you can get TechDocs documents indexed.
If you have been through the
@@ -369,3 +369,31 @@ export const SearchModal = ({ toggleModal }: { toggleModal: () => void }) => (
```
There are other more specific search results layout components that also accept result item extensions, check their documentation: [SearchResultList](https://backstage.io/storybook/?path=/story/plugins-search-searchresultlist--with-result-item-extensions) and [SearchResultGroup](https://backstage.io/storybook/?path=/story/plugins-search-searchresultgroup--with-result-item-extensions).
+
+## How to migrate your backend installation to use Search together with the new backend system
+
+> DISCLAIMER: The new backend system is in alpha, and so are the search backend support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, this is the guide for you!
+
+Recently, the Backstage maintainers [announced the new Backend System](https://backstage.io/blog/2023/02/15/backend-system-alpha). The search plugins are now migrated to support the new backend system. In this guide you will learn how to update your backend set up.
+
+In packages/backend-next/index.ts
+
+```ts
+import { searchPlugin } from '@backstage/plugin-search-backend/alpha';
+import { searchModuleElasticsearchEngine } from '@backstage/plugin-search-backend-module-elasticsearch/alpha';
+import { searchModuleCatalogCollator } from '@backstage/plugin-search-backend-module-catalog/alpha';
+import { searchModuleTechDocsCollator } from '@backstage/plugin-search-backend-module-techdocs/alpha';
+import { searchModuleExploreCollator } from '@backstage/plugin-search-backend-module-explore/alpha';
+
+const backend = createBackend();
+// adding the search plugin to the backend
+backend.add(searchPlugin());
+// (optional) the default search engine is Lunr, if you want to extend the search backend with another search engine.
+backend.add(searchModuleElasticsearchEngine());
+// extending search with collator modules to start index documents, take in optional schedule parameters.
+backend.add(searchModuleCatalogCollator());
+backend.add(searchModuleTechDocsCollator());
+backend.add(searchModuleExploreCollator());
+
+backend.start();
+```
diff --git a/docs/features/software-catalog/extending-the-model.md b/docs/features/software-catalog/extending-the-model.md
index bdd043b8a8..c254d7d0b6 100644
--- a/docs/features/software-catalog/extending-the-model.md
+++ b/docs/features/software-catalog/extending-the-model.md
@@ -170,6 +170,7 @@ its schema. There is a builtin processor that implements this for all known core
kinds and matches the data against their fixed validation schema. This processor
can be replaced when building the backend catalog using the `CatalogBuilder`,
with a processor of your own that validates the data differently.
+This replacement processor must have a name that matches the builtin processor, `BuiltinKindsEntityProcessor`.
This type of extension is high risk, and may have high impact across the
ecosystem depending on the type of change that is made. It is therefore not
diff --git a/docs/features/software-catalog/external-integrations.md b/docs/features/software-catalog/external-integrations.md
index 6f957625bd..0f2459d6e0 100644
--- a/docs/features/software-catalog/external-integrations.md
+++ b/docs/features/software-catalog/external-integrations.md
@@ -506,9 +506,10 @@ import {
processingResult,
CatalogProcessor,
CatalogProcessorEmit,
- LocationSpec,
} from '@backstage/plugin-catalog-node';
+import { LocationSpec } from '@backstage/plugin-catalog-common';
+
// A processor that reads from the fictional System-X
export class SystemXReaderProcessor implements CatalogProcessor {
constructor(private readonly reader: UrlReader) {}
diff --git a/docs/features/software-templates/configuration.md b/docs/features/software-templates/configuration.md
index ff5191bed2..24b8c530b8 100644
--- a/docs/features/software-templates/configuration.md
+++ b/docs/features/software-templates/configuration.md
@@ -93,3 +93,18 @@ You can also further customize groups by passing in a `titleComponent` instead
of a `title` which will be a component to use as the header instead of just the
default `ContentHeader` with the `title` set as it's value.

+
+There is also an option to hide some templates.
+You can have several use cases for that:
+
+- it's still in an experimental phase, so you can combine it with feature flagging for example
+- you don't want to make them accessible from template list, but only open it on some action with pre-filled data.
+- show different set of templates depends on target environment
+
+```typescript jsx
+
+ entity?.metadata?.tags?.includes('experimental') ?? false
+ }
+/>
+```
diff --git a/docs/features/software-templates/index.md b/docs/features/software-templates/index.md
index 5911e192b1..fbccf8848c 100644
--- a/docs/features/software-templates/index.md
+++ b/docs/features/software-templates/index.md
@@ -58,6 +58,10 @@ It shouldn't take too long, and you'll have a success screen!
If it fails, you'll be able to click on each section to get the log from the
step that failed which can be helpful in debugging.
+You can also cancel the running process. Once you clicked on button "Cancel", the abort signal
+will be sent to a task and all next steps won't be executed. The current step will be cancelled
+only if it supports it.
+

## View Component in Catalog
diff --git a/docs/features/software-templates/testing-scaffolder-alpha.md b/docs/features/software-templates/testing-scaffolder-alpha.md
index c0b97e897c..02e579ef83 100644
--- a/docs/features/software-templates/testing-scaffolder-alpha.md
+++ b/docs/features/software-templates/testing-scaffolder-alpha.md
@@ -52,33 +52,54 @@ And this API should be the exact same as the previous Router, so you should be a
```tsx
- entity?.metadata?.tags?.includes('recommended') ?? false,
- },
- ]}
- />
- }
- >
-
-
- {/* ... other extensions */}
-
-
-
- {/* ... other layouts */}
-
-
+ path="/create"
+ element={
+ {/* highlight-remove-next-line */}
+
+ entity?.metadata?.tags?.includes('recommended') ?? false,
+ },
+ ]}
+ />
+ }
+>
+
+
+ {/* ... other extensions */}
+
+
+
+ {/* ... other layouts */}
+
+
```
+Optionally, you can choose to run the two side by side by using `FeatureFlags` in your `App.tsx` if you wish, but, we would also recommend duplicating any `CustomFieldExtensions` too as the new `CustomFieldExtensions` might not be compatible with the old form.
+
+```tsx
+
+ }>
+
+
+
+
+
+
+ }>
+
+
+
+
+
+```
+
+You should then be able to enable the `scaffolder-next-preview` feature flag under `/settings/feature-flags` in Backstage.
+
### Make the required changes to your `CustomFieldExtensions`
There's differently named function for creating field extensions part of the `/alpha` exports as these are the ones that can contain breaking changes because of the breaking changes that have been applied in `react-jsonschema-form`.
@@ -197,9 +218,9 @@ You will need to change the import for `FieldValidation` to point at the new `re
```ts
/* highlight-remove-next-line */
-- import { FieldValidation } from '@rjsf/core';
+import { FieldValidation } from '@rjsf/core';
/* highlight-add-next-line */
-+ import { FieldValidation } from '@rjsf/utils;
+import { FieldValidation } from '@rjsf/utils;
import { KubernetesValidatorFunctions } from '@backstage/catalog-model';
export const entityNamePickerValidation = (
diff --git a/docs/features/software-templates/writing-custom-actions.md b/docs/features/software-templates/writing-custom-actions.md
index 3e89e89582..7a841dfd0e 100644
--- a/docs/features/software-templates/writing-custom-actions.md
+++ b/docs/features/software-templates/writing-custom-actions.md
@@ -71,7 +71,7 @@ You can also choose to define your custom action using JSON schema instead of `z
```ts title="With JSON Schema"
import { createTemplateAction } from '@backstage/plugin-scaffolder-node';
-import fs from 'fs-extra';
+import { writeFile } from 'fs';
export const createNewFileAction = () => {
return createTemplateAction<{ contents: string; filename: string }>({
@@ -95,9 +95,12 @@ export const createNewFileAction = () => {
},
},
async handler(ctx) {
- await fs.outputFile(
+ const { signal } = ctx;
+ await writeFile(
`${ctx.workspacePath}/${ctx.input.filename}`,
ctx.input.contents,
+ { signal },
+ _ => {},
);
},
});
diff --git a/docs/features/software-templates/writing-templates.md b/docs/features/software-templates/writing-templates.md
index a272f05f3f..15e6a833cc 100644
--- a/docs/features/software-templates/writing-templates.md
+++ b/docs/features/software-templates/writing-templates.md
@@ -472,6 +472,20 @@ owner:
kind: [Group, User]
```
+#### `catalogFilter`
+
+The `catalogFilter` allow you to filter the list entities using any of the [catalog api filters](https://backstage.io/docs/features/software-catalog/software-catalog-api#filtering):
+
+For example, if you want to show users in the `default` namespace, and groups with the `github.com/team-slug` annotation, you can do the following:
+
+```yaml
+catalogFilter:
+ - kind: [User]
+ metadata.namespace: default
+ - kind: [Group]
+ metadata.annotations.github.com/team-slug: { exists: true }
+```
+
## `spec.steps` - `Action[]`
The `steps` is an array of the things that you want to happen part of this
diff --git a/docs/features/techdocs/cli.md b/docs/features/techdocs/cli.md
index b174896d6a..76589de5a8 100644
--- a/docs/features/techdocs/cli.md
+++ b/docs/features/techdocs/cli.md
@@ -200,6 +200,15 @@ Options:
-h, --help display help for command
```
+#### Publishing from behind a proxy
+
+For users attempting to publish TechDocs content behind a proxy, the TechDocs CLI leverages `global-agent` to navigate the proxy to successfully connect to that location. To enable `global-agent`, the following variables need to be set prior to running the techdocs-cli command:
+
+```bash
+export GLOBAL_AGENT_HTTPS_PROXY=${HTTP_PROXY}
+export GLOBAL_AGENT_NO_PROXY=${NO_PROXY}
+```
+
### Migrate content for case-insensitive access
Prior to the beta version of TechDocs (`v[0.11.0]`), TechDocs were stored in
diff --git a/docs/integrations/azure/discovery.md b/docs/integrations/azure/discovery.md
index d1309a80eb..8dd5da85c9 100644
--- a/docs/integrations/azure/discovery.md
+++ b/docs/integrations/azure/discovery.md
@@ -60,6 +60,7 @@ catalog:
host: selfhostedazure.yourcompany.com
organization: myorg
project: myproject
+ branch: development
```
The parameters available are:
@@ -69,6 +70,7 @@ The parameters available are:
- **`project:`** _(optional)_ Your project slug. Wildcards are supported as show on the examples above. If not set, all projects will be searched. For a project name containing spaces, use both single and double quotes as in `project: '"My Project Name"'`.
- **`repository:`** _(optional)_ The repository name. Wildcards are supported as show on the examples above. If not set, all repositories will be searched.
- **`path:`** _(optional)_ Where to find catalog-info.yaml files. Defaults to /catalog-info.yaml.
+- **`branch:`** _(optional)_ The branch name to use.
- **`schedule`** _(optional)_:
- **`frequency`**:
How often you want the task to run. The system does its best to avoid overlapping invocations.
@@ -79,9 +81,17 @@ The parameters available are:
- **`scope`** _(optional)_:
`'global'` or `'local'`. Sets the scope of concurrency control.
-_Note:_ the path parameter follows the same rules as the search on Azure DevOps
-web interface. For more details visit the
-[official search documentation](https://docs.microsoft.com/en-us/azure/devops/project/search/get-started-search?view=azure-devops).
+_Note:_
+
+- The path parameter follows the same rules as the search on Azure DevOps web interface. For more details visit the [official search documentation](https://docs.microsoft.com/en-us/azure/devops/project/search/get-started-search?view=azure-devops).
+- To use branch parameters, it is necessary that the desired branch be added to the "Searchable branches" list within Azure DevOps Repositories. To do this, follow the instructions below:
+
+1. Access your Azure DevOps and open the repository in which you want to add the branch.
+2. Click on "Settings" in the lower-left corner of the screen.
+3. Select the "Options" option in the left navigation bar.
+4. In the "Searchable branches" section, click on the "Add" button to add a new branch.
+5. In the window that appears, enter the name of the branch you want to add and click "Add".
+6. The added branch will now appear in the "Searchable branches" list.
As this provider is not one of the default providers, you will first need to install
the Azure catalog plugin:
diff --git a/docs/integrations/gitlab/discovery.md b/docs/integrations/gitlab/discovery.md
index 6d0bb7e2e2..45991b2cf5 100644
--- a/docs/integrations/gitlab/discovery.md
+++ b/docs/integrations/gitlab/discovery.md
@@ -21,6 +21,7 @@ catalog:
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
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`
diff --git a/docs/integrations/gitlab/org.md b/docs/integrations/gitlab/org.md
index 7ddc5202b5..d78b0ed388 100644
--- a/docs/integrations/gitlab/org.md
+++ b/docs/integrations/gitlab/org.md
@@ -2,15 +2,14 @@
id: org
title: GitLab Organizational Data
sidebar_label: Org Data
-description: Importing users and groups from a GitLab organization into Backstage
+description: Importing users and groups from GitLab into Backstage
---
-The Backstage catalog can be set up to ingest organizational data - users and
-teams - directly from an organization in GitLab. The result
-is a hierarchy of
+The Backstage catalog can be set up to ingest organizational data -- users and
+groups -- directly from GitLab. The result is a hierarchy of
[`User`](../../features/software-catalog/descriptor-format.md#kind-user) and
-[`Group`](../../features/software-catalog/descriptor-format.md#kind-group) kind
-entities that mirror your org setup.
+[`Group`](../../features/software-catalog/descriptor-format.md#kind-group)
+entities that mirrors your org setup.
```yaml
integrations:
@@ -19,10 +18,11 @@ integrations:
token: ${GITLAB_TOKEN}
```
-This will query all users and groups from your gitlab installation. Depending on the size
-of the Gitlab Instance, this can take some time and resources.
+This will query all users and groups from your GitLab instance. Depending on the
+amount of data, this can take significant time and resources.
-The token that is used for the Organization Integration, has to be an Admin Personal Access Token (PAT).
+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.
```yaml
catalog:
@@ -35,6 +35,7 @@ catalog:
groupPattern: '[\s\S]*' # Optional. Filters found groups based on provided pattern. Defaults to `[\s\S]*`, which means to not filter anything
```
-When the `group` parameter is provided, the corresponding path prefix will be stripped out from each matching group
-when computing the unique entity name. e.g. If `group` is `org/teams`, the name for `org/teams/avengers/gotg` will
-be `avengers-gotg`.
+When the `group` parameter is provided, the corresponding path prefix will be
+stripped out from each matching group when computing the unique entity name.
+e.g. If `group` is `org/teams`, the name for `org/teams/avengers/gotg` will be
+`avengers-gotg`.
diff --git a/docs/local-dev/cli-build-system.md b/docs/local-dev/cli-build-system.md
index a86c0eaa35..a5df84f8dc 100644
--- a/docs/local-dev/cli-build-system.md
+++ b/docs/local-dev/cli-build-system.md
@@ -505,6 +505,7 @@ of all supported file extensions:
| `.jpg` | URL Path | Image |
| `.png` | URL Path | Image |
| `.svg` | URL Path | Image |
+| `.md` | URL Path | Markdown File |
| `.icon.svg` | React Component | SVG converted into a [MUI SvgIcon](https://mui.com/components/icons/#svgicon) |
## Jest Configuration
diff --git a/docs/local-dev/cli-commands.md b/docs/local-dev/cli-commands.md
index 174fb3e348..c4c057ffe6 100644
--- a/docs/local-dev/cli-commands.md
+++ b/docs/local-dev/cli-commands.md
@@ -73,7 +73,7 @@ Build packages in the project, excluding bundled app and backend packages.
Options:
--all Build all packages, including bundled app and backend packages.
- --since <ref> Only build packages and their dev dependents that changed since the specified ref
+ --since Only build packages and their dev dependents that changed since the specified ref
```
## repo lint
@@ -86,8 +86,8 @@ Usage: backstage-cli repo lint [options]
Lint all packages in the project
Options:
- --format <format> Lint report output format (default: "eslint-formatter-friendly")
- --since <ref> Only lint packages that changed since the specified ref
+ --format Lint report output format (default: "eslint-formatter-friendly")
+ --since Only lint packages that changed since the specified ref
--fix Attempt to automatically fix violations
```
@@ -101,8 +101,8 @@ Usage: backstage-cli package start [options]
Start a package for local development
Options:
- --config <path> Config files to load instead of app-config.yaml (default: [])
- --role <name> Run the command with an explicit package role
+ --config Config files to load instead of app-config.yaml (default: [])
+ --role Run the command with an explicit package role
--check Enable type checking and linting if available
--inspect Enable debugger in Node.js environments
--inspect-brk Enable debugger in Node.js environments, breaking before code starts
@@ -118,11 +118,11 @@ Usage: backstage-cli package build [options]
Build a package for production deployment or publishing
Options:
- --role <name> Run the command with an explicit package role
+ --role Run the command with an explicit package role
--minify Minify the generated code. Does not apply to app or backend packages.
--skip-build-dependencies Skip the automatic building of local dependencies. Applies to backend packages only.
--stats If bundle stats are available, write them to the output directory. Applies to app packages only.
- --config <path> Config files to load instead of app-config.yaml. Applies to app packages only. (default: [])
+ --config Config files to load instead of app-config.yaml. Applies to app packages only. (default: [])
```
## package lint
@@ -138,7 +138,7 @@ Usage: backstage-cli package lint [options]
Lint a package
Options:
- --format <format> Lint report output format (default: "eslint-formatter-friendly")
+ --format Lint report output format (default: "eslint-formatter-friendly")
--fix Attempt to automatically fix violations
```
@@ -212,14 +212,13 @@ backstage-cli new --select plugin --option id=foo
```
This command is typically added as script in the root `package.json` to be
-executed with `yarn backstage-create`, using options that are appropriate for
-the organization that owns the app repo. For example you may have it set up like
-this:
+executed with `yarn new`, using options that are appropriate for the organization
+that owns the app repo. For example you may have it set up like this:
```json
{
"scripts": {
- "backstage-create": "backstage-cli create --scope internal --no-private --npm-registry https://acme.org/npm"
+ "new": "backstage-cli new --scope internal --no-private --npm-registry https://acme.org/npm"
}
}
```
@@ -228,10 +227,10 @@ this:
Usage: backstage-cli create [options]
Options:
- --select <name> Select the thing you want to be creating upfront
- --option <name>=<value> Pre-fill options for the creation process (default: [])
- --scope <scope> The scope to use for new packages
- --npm-registry <URL> The package registry to use for new packages
+ --select Select the thing you want to be creating upfront
+ --option = Pre-fill options for the creation process (default: [])
+ --scope The scope to use for new packages
+ --npm-registry The package registry to use for new packages
--no-private Do not mark new packages as private
-h, --help display help for command
```
@@ -249,7 +248,7 @@ Usage: backstage-cli config:docs [options]
Browse the configuration reference documentation
Options:
- --package <name> Only include the schema that applies to the given package
+ --package Only include the schema that applies to the given package
-h, --help display help for command
```
@@ -269,12 +268,12 @@ yarn backstage-cli config:print --frontend --package my-app
Usage: backstage-cli config:print [options]
Options:
- --package <name> Only load config schema that applies to the given package
+ --package Only load config schema that applies to the given package
--lax Do not require environment variables to be set
--frontend Print only the frontend configuration
--with-secrets Include secrets in the printed configuration
- --format <format> Format to print the configuration in, either json or yaml [yaml]
- --config <path> Config files to load instead of app-config.yaml (default: [])
+ --format Format to print the configuration in, either json or yaml [yaml]
+ --config Config files to load instead of app-config.yaml (default: [])
-h, --help display help for command
```
@@ -288,11 +287,11 @@ local packages in the repo.
Usage: backstage-cli config:check [options]
Options:
- --package <name> Only load config schema that applies to the given package
+ --package Only load config schema that applies to the given package
--lax Do not require environment variables to be set
--frontend Only validate the frontend configuration
--deprecated List all deprecated configuration settings
- --config <path> Config files to load instead of app-config.yaml (default: [])
+ --config Config files to load instead of app-config.yaml (default: [])
-h, --help display help for command
```
@@ -310,8 +309,8 @@ Usage: backstage-cli config:schema [options]
Print configuration schema
Options:
- --package <name> Only output config schema that applies to the given package
- --format <format> Format to print the schema in, either json or yaml [yaml]
+ --package Only output config schema that applies to the given package
+ --format Format to print the schema in, either json or yaml [yaml]
-h, --help display help for command
```
@@ -326,8 +325,8 @@ Usage: backstage-cli versions:bump [options]
Options:
-h, --help display help for command
- --pattern <glob> Override glob for matching packages to upgrade
- --release <version|next|main> Bump to a specific Backstage release line or version (default: "main")
+ --pattern Override glob for matching packages to upgrade
+ --release Bump to a specific Backstage release line or version (default: "main")
```
## versions:check
diff --git a/docs/permissions/plugin-authors/03-adding-a-resource-permission-check.md b/docs/permissions/plugin-authors/03-adding-a-resource-permission-check.md
index e714301ded..103e463cda 100644
--- a/docs/permissions/plugin-authors/03-adding-a-resource-permission-check.md
+++ b/docs/permissions/plugin-authors/03-adding-a-resource-permission-check.md
@@ -91,7 +91,7 @@ This enables decisions based on characteristics of the resource, but it's import
Install the missing module:
```bash
-$ yarn workspace @internal/plugin-todo-list-backend add @backstage/plugin-permission-node zod
+$ yarn workspace @internal/plugin-todo-list-backend add @backstage/plugin-permission-node zod@~3.18.0
```
Create a new `plugins/todo-list-backend/src/service/rules.ts` file and append the following code:
diff --git a/docs/plugins/composability.md b/docs/plugins/composability.md
index 1c64fd3f68..124a612f26 100644
--- a/docs/plugins/composability.md
+++ b/docs/plugins/composability.md
@@ -480,7 +480,7 @@ function isKind(kind: string) {
```
The `@backstage/catalog` plugin provides a couple of built-in conditions,
-`isKind`, `isComponentType`, and `isNamespace`.
+`isKind`, `isComponentType`, `isResourceType`, `isEntityWith`, and `isNamespace`.
In addition to the `EntitySwitch` component, the catalog plugin also exports a
new `EntityLayout` component. It is a tweaked version and replacement for the
diff --git a/docs/plugins/feature-flags.md b/docs/plugins/feature-flags.md
index a572143d6e..7b7a6c1435 100644
--- a/docs/plugins/feature-flags.md
+++ b/docs/plugins/feature-flags.md
@@ -37,7 +37,11 @@ Defining feature flag in the application is done by adding feature flags in`feat
const app = createApp({
// ...
featureFlags: [
- { name: 'tech-radar', description: 'Enables the tech radar plugin' },
+ {
+ pluginId: '', // pluginId is required for feature flags in plugins. It can be left blank for a feature flag leveraged in the application.
+ name: 'tech-radar',
+ description: 'Enables the tech radar plugin',
+ },
],
// ...
});
diff --git a/docs/plugins/integrating-search-into-plugins.md b/docs/plugins/integrating-search-into-plugins.md
index 4e829b6ae9..7fb8e40b20 100644
--- a/docs/plugins/integrating-search-into-plugins.md
+++ b/docs/plugins/integrating-search-into-plugins.md
@@ -142,7 +142,7 @@ export class FaqCollatorFactory implements DocumentCollatorFactory {
To verify your implementation works as expected make sure to add tests for it. For your convenience, there is the [`TestPipeline`](https://backstage.io/docs/reference/plugin-search-backend-node.testpipeline) utility that emulates a pipeline into which you can integrate your custom collator.
-Look at [DefaultTechDocsCollatorFactory test](https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.test.ts), for an example.
+Look at [DefaultTechDocsCollatorFactory test](https://github.com/backstage/backstage/blob/de294ce5c410c9eb56da6870a1fab795268f60e3/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.test.ts), for an example.
#### 6. Make your plugins collator discoverable for others
diff --git a/docs/releases/v1.12.0-changelog.md b/docs/releases/v1.12.0-changelog.md
new file mode 100644
index 0000000000..7a8b52e33b
--- /dev/null
+++ b/docs/releases/v1.12.0-changelog.md
@@ -0,0 +1,2933 @@
+# Release v1.12.0
+
+## @backstage/backend-plugin-api@0.5.0
+
+### Minor Changes
+
+- c1ee073a82b: Added `lastModifiedAt` field on `UrlReaderService` responses and a `lastModifiedAfter` option to `UrlReaderService.readUrl`.
+
+### Patch Changes
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.2.12
+ - @backstage/backend-tasks@0.5.0
+ - @backstage/plugin-permission-common@0.7.4
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## @backstage/backend-tasks@0.5.0
+
+### Minor Changes
+
+- 1578276708a: add functionality to get descriptions from the scheduler for triggering
+
+### Patch Changes
+
+- f0685193efa: Added the adapted query to mysql and sqlite3 databases to not returning warning on logs
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## @backstage/catalog-client@1.4.0
+
+### Minor Changes
+
+- 8c030b1826c: Add `queryEntities` method to `CatalogApi`.
+
+### Patch Changes
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- c630360631f: Ensure that `getEntitiesByRefs` returns `undefined` instead of `null` for missing items
+- Updated dependencies
+ - @backstage/errors@1.1.5
+ - @backstage/catalog-model@1.2.1
+
+## @backstage/core-app-api@1.6.0
+
+### Minor Changes
+
+- 456eaa8cf83: `OAuth2` now gets ID tokens from a session with the `openid` scope explicitly
+ requested.
+
+ This should not be considered a breaking change, because spec-compliant OIDC
+ providers will already be returning ID tokens if and only if the `openid` scope
+ is granted.
+
+ This change makes the dependence explicit, and removes the burden on
+ OAuth2-based providers which require an ID token (e.g. this is done by various
+ default [auth
+ handlers](https://backstage.io/docs/auth/identity-resolver/#authhandler)) to add
+ `openid` to their default scopes. _That_ could carry another indirect benefit:
+ by removing `openid` from the default scopes for a provider, grants for
+ resource-specific access tokens can avoid requesting excess ID token-related
+ scopes.
+
+### Patch Changes
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## @backstage/core-plugin-api@1.5.0
+
+### Minor Changes
+
+- ab750ddc4f2: The GitLab auth provider can now be used to get OpenID tokens.
+
+### Patch Changes
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## @techdocs/cli@1.4.0
+
+### Minor Changes
+
+- 8e465ce52e2: Running `@techdocs/cli generate` with the `--verbose` flag will now print the mkdocs output.
+- ea2bbef1b16: Added support for an HTTPS proxy for techdocs AWS S3 requests
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-techdocs-node@1.6.0
+ - @backstage/backend-common@0.18.3
+ - @backstage/catalog-model@1.2.1
+ - @backstage/cli-common@0.1.12
+ - @backstage/config@1.0.7
+
+## @backstage/plugin-catalog@1.9.0
+
+### Minor Changes
+
+- 23cc40039c0: Allow `EntitySwitch` to render all cases that match the condition.
+
+ This change introduces a new parameter for the `EntitySwitch` component
+ `renderMultipleMatches`. In case the parameter value is `all`, the `EntitySwitch`
+ will render all `EntitySwitch.Case` that contain `if` parameter, and it
+ evaluates to true. In case none of the cases match, the default case will be
+ rendered, if any.
+
+ This means for example in the CI/CD page you can now do the following:
+
+ ```tsx
+
+ Jenkins
+ CodeBuild
+ No CI/CD
+
+ ```
+
+ This allows the component to have multiple CI/CD systems and all of those are
+ rendered on the same page.
+
+- 3f75b7607ca: Add ability to pass icon as function to have ability to customize it by search item
+
+- c9a9f3c834f: Add a `columns` prop to certain components that use the `EntityTable` for easier extensibility.
+
+### Patch Changes
+
+- 3fa41696820: Make the "Copied!" message disappear automatically after some time
+- 7e8930ae1c6: Fix icon alignment in `CatalogSearchResultListItem`
+- dbbde6ed353: fix entity switch rendering when there is no default case
+- cb8ec97cdeb: Change black & white colors to be theme aware
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.0
+ - @backstage/core-components@0.12.5
+ - @backstage/plugin-catalog-react@1.4.0
+ - @backstage/plugin-search-react@1.5.1
+ - @backstage/errors@1.1.5
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/plugin-catalog-common@1.0.12
+ - @backstage/integration-react@1.1.11
+ - @backstage/theme@0.2.18
+ - @backstage/types@1.0.2
+ - @backstage/plugin-search-common@1.2.2
+
+## @backstage/plugin-catalog-backend@1.8.0
+
+### Minor Changes
+
+- 7f4ea3d3602: Add /entities/by-query endpoint returning paginated entities.
+
+ The endpoint supports cursor base pagination and server side sorting of the entities
+
+### Patch Changes
+
+- e675f902980: Add deprecations for symbols that were moved to `@backstage/plugin-catalog-node` a long time ago:
+
+ - `CatalogProcessor`
+ - `CatalogProcessorCache`
+ - `CatalogProcessorEmit`
+ - `CatalogProcessorEntityResult`
+ - `CatalogProcessorErrorResult`
+ - `CatalogProcessorLocationResult`
+ - `CatalogProcessorParser`
+ - `CatalogProcessorRefreshKeysResult`
+ - `CatalogProcessorRelationResult`
+ - `CatalogProcessorResult`
+ - `DeferredEntity`
+ - `EntityProvider`
+ - `EntityProviderConnection`
+ - `EntityProviderMutation`
+ - `EntityRelationSpec`
+ - `processingResult`
+
+ Also moved over and deprecated the following symbols:
+
+ - `locationSpecToLocationEntity`
+ - `locationSpecToMetadataName`
+
+- ac8929f2f31: Fix export of `defaultCatalogCollatorEntityTransformer`.
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+
+- f093ce83d58: Fix a bug where the batch fetch by ref endpoint did not work in conjunction with filtering (e.g. if authorization was enabled).
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.0
+ - @backstage/plugin-permission-node@0.7.6
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/plugin-catalog-node@1.3.4
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/plugin-catalog-common@1.0.12
+ - @backstage/integration@1.4.3
+ - @backstage/plugin-permission-common@0.7.4
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/plugin-scaffolder-common@1.2.6
+ - @backstage/plugin-search-common@1.2.2
+
+## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.3.0
+
+### Minor Changes
+
+- a811bd246c4: Added endpoint to get a list of known incremental entity providers
+
+### Patch Changes
+
+- 90469c02c8c: Renamed `incrementalIngestionEntityProviderCatalogModule` to `catalogModuleIncrementalIngestionEntityProvider` to match the [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns).
+- e675f902980: Make sure to not use deprecated exports from `@backstage/plugin-catalog-backend`
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- bf611cf019a: Fix missing `dependencies` in `package.json`
+- 6e612b58577: Move `@backstage/backend-defaults` to `devDependencies`
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.8.0
+ - @backstage/backend-tasks@0.5.0
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/plugin-catalog-node@1.3.4
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/plugin-events-node@0.2.4
+ - @backstage/plugin-permission-common@0.7.4
+ - @backstage/config@1.0.7
+
+## @backstage/plugin-catalog-backend-module-puppetdb@0.1.0
+
+### Minor Changes
+
+- a1efcf9a658: Initial version of the plugin.
+
+### Patch Changes
+
+- 561ce41191d: Added a `catalogModulePuppetDbEntityProvider` alpha export for the new backend system
+- e675f902980: Make sure to not use deprecated exports from `@backstage/plugin-catalog-backend`
+- Updated dependencies
+ - @backstage/backend-tasks@0.5.0
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/plugin-catalog-node@1.3.4
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## @backstage/plugin-catalog-react@1.4.0
+
+### Minor Changes
+
+- 0a5b73b2926: Add possibility to re-use EntityPicker for filters with multiple select.
+
+### Patch Changes
+
+- 65454876fb2: Minor API report tweaks
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 24916d23494: Do not close `Autocomplete` powered multiple-selection filters when checking boxes
+- Updated dependencies
+ - @backstage/catalog-client@1.4.0
+ - @backstage/core-components@0.12.5
+ - @backstage/errors@1.1.5
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/plugin-catalog-common@1.0.12
+ - @backstage/integration@1.4.3
+ - @backstage/plugin-permission-common@0.7.4
+ - @backstage/theme@0.2.18
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+ - @backstage/plugin-permission-react@0.4.11
+
+## @backstage/plugin-firehydrant@0.2.0
+
+### Minor Changes
+
+- e2e3dd08a54: Allow firehydrant to use component annotation
+
+### Patch Changes
+
+- cb8ec97cdeb: Change black & white colors to be theme aware
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/core-components@0.12.5
+ - @backstage/plugin-catalog-react@1.4.0
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/theme@0.2.18
+
+## @backstage/plugin-linguist-backend@0.2.0
+
+### Minor Changes
+
+- 4a1c318853d: **BREAKING** The linguist-backend `createRouter` now requires that the `tokenManger` is passed to the router.
+
+### Patch Changes
+
+- 8a298b47240: Added support for linguist-js options using the linguistJSOptions in the plugin, the available config can be found [here](https://www.npmjs.com/package/linguist-js#API).
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+
+- 2ea57821629: Fixed bug in LinguistBackendApi that caused initial batch of entities to be skipped.
+
+- b271d5ca052: Allow kind to be configurable
+
+ ```ts
+ return createRouter({ schedule: schedule, kind: ['Component'] }, { ...env });
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.0
+ - @backstage/plugin-auth-node@0.2.12
+ - @backstage/backend-tasks@0.5.0
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/catalog-model@1.2.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/plugin-linguist-common@0.1.0
+
+## @backstage/plugin-octopus-deploy@0.1.0
+
+### Minor Changes
+
+- b7fff1171f0: Initial version
+
+### Patch Changes
+
+- cb0fc15a992: Added Octopus Deploy logo
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/core-components@0.12.5
+ - @backstage/plugin-catalog-react@1.4.0
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/theme@0.2.18
+
+## @backstage/plugin-scaffolder@1.12.0
+
+### Minor Changes
+
+- 0d61fcca9c3: Update `EntityPicker` to use the fully qualified entity ref instead of the humanized version.
+- 8f4d13f21cf: Move `useTaskStream`, `TaskBorder`, `TaskLogStream` and `TaskSteps` into `scaffolder-react`.
+
+### Patch Changes
+
+- 65454876fb2: Minor API report tweaks
+- 3c96e77b513: Make scaffolder adhere to page themes by using page `fontColor` consistently. If your theme overwrites template list or card headers, review those styles.
+- be3cddaab5f: Getting credentials in the RepoUrlPicker now also works for targets without owner (e.g. Bitbucket Server).
+- cb8ec97cdeb: Change black & white colors to be theme aware
+- eb877bad736: Create an "Other Templates" group when groups are given to scaffolder/next.
+- c10384a9235: Switch to using `LinkButton` instead of the deprecated `Button`
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- 0aae4596296: Fix the scaffolder validator for arrays when the item is a field in the object
+- Updated dependencies
+ - @backstage/catalog-client@1.4.0
+ - @backstage/core-components@0.12.5
+ - @backstage/plugin-scaffolder-react@1.2.0
+ - @backstage/plugin-catalog-react@1.4.0
+ - @backstage/errors@1.1.5
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/plugin-catalog-common@1.0.12
+ - @backstage/integration-react@1.1.11
+ - @backstage/integration@1.4.3
+ - @backstage/config@1.0.7
+ - @backstage/theme@0.2.18
+ - @backstage/types@1.0.2
+ - @backstage/plugin-permission-react@0.4.11
+ - @backstage/plugin-scaffolder-common@1.2.6
+
+## @backstage/plugin-scaffolder-backend@1.12.0
+
+### Minor Changes
+
+- 7d724d8ef56: Added the ability to be able to define an actions `input` and `output` schema using `zod` instead of hand writing types and `jsonschema`
+
+### Patch Changes
+
+- 860de10fa67: Make identity valid if subject of token is a backstage server-2-server auth token
+- 65454876fb2: Minor API report tweaks
+- c6c78b4acbe: throw error from catalog:fetch scaffolder action when entity is null and optional is false
+- 9968f455921: catalog write action should allow any shape of object
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- 7af12854970: Extended scaffolder action `catalog:fetch` to fetch multiple catalog entities by entity references.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.8.0
+ - @backstage/catalog-client@1.4.0
+ - @backstage/plugin-auth-node@0.2.12
+ - @backstage/backend-tasks@0.5.0
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/plugin-catalog-node@1.3.4
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/integration@1.4.3
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/plugin-scaffolder-common@1.2.6
+ - @backstage/plugin-scaffolder-node@0.1.1
+
+## @backstage/plugin-scaffolder-react@1.2.0
+
+### Minor Changes
+
+- 8f4d13f21cf: Move `useTaskStream`, `TaskBorder`, `TaskLogStream` and `TaskSteps` into `scaffolder-react`.
+
+### Patch Changes
+
+- 65454876fb2: Minor API report tweaks
+- 3c96e77b513: Make scaffolder adhere to page themes by using page `fontColor` consistently. If your theme overwrites template list or card headers, review those styles.
+- c8d78b9ae9d: fix bug with `hasErrors` returning false when dealing with empty objects
+- 9b8c374ace5: Remove timer for skipped steps in Scaffolder Next's TaskSteps
+- 44941fc97eb: scaffolder/next: Move the `uiSchema` to its own property in the validation `context` to align with component development and access of `ui:options`
+- d9893263ba9: scaffolder/next: Fix for steps without properties
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- cc418d652a7: scaffolder/next: Added the ability to get the fields definition in the schema in the validation function
+- d4100d0ec42: Fix alignment bug for owners on `TemplateCard`
+- Updated dependencies
+ - @backstage/catalog-client@1.4.0
+ - @backstage/core-components@0.12.5
+ - @backstage/plugin-catalog-react@1.4.0
+ - @backstage/errors@1.1.5
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/theme@0.2.18
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+ - @backstage/plugin-scaffolder-common@1.2.6
+
+## @backstage/plugin-stackstorm@0.1.0
+
+### 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)
+
+### Patch Changes
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/core-components@0.12.5
+ - @backstage/errors@1.1.5
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/theme@0.2.18
+
+## @backstage/plugin-techdocs@1.6.0
+
+### Minor Changes
+
+- 3f75b7607ca: Add ability to pass icon as function to have ability to customize it by search item
+
+### Patch Changes
+
+- 65454876fb2: Minor API report tweaks
+- 54a1e133b56: Fix bug that caused next and previous links not to work with certain versions of mkdocs-material
+- f320c299c67: The HTML tag attributes in the documentation content inserted to shadow DOM is preserved to improve accessibility
+- cb8ec97cdeb: Change black & white colors to be theme aware
+- c10384a9235: Switch to using `LinkButton` instead of the deprecated `Button`
+- 8adfda60ae1: Updated dependency `jss` to `~10.10.0`.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- 238cf657c09: Copy to clipboard now works in a not secure context.
+- Updated dependencies
+ - @backstage/core-components@0.12.5
+ - @backstage/plugin-techdocs-react@1.1.4
+ - @backstage/plugin-catalog-react@1.4.0
+ - @backstage/plugin-search-react@1.5.1
+ - @backstage/errors@1.1.5
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/integration-react@1.1.11
+ - @backstage/integration@1.4.3
+ - @backstage/config@1.0.7
+ - @backstage/theme@0.2.18
+ - @backstage/plugin-search-common@1.2.2
+
+## @backstage/plugin-techdocs-backend@1.6.0
+
+### Minor Changes
+
+- 92b495328bd: Introduced alpha export of the `techdocsPlugin` using the new backend system.
+
+### Patch Changes
+
+- 40298b02778: Techdocs backend explains a bit more about what might have caused the docs not being found when building techdocs.
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.0
+ - @backstage/plugin-techdocs-node@1.6.0
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/catalog-model@1.2.1
+ - @backstage/plugin-catalog-common@1.0.12
+ - @backstage/integration@1.4.3
+ - @backstage/plugin-permission-common@0.7.4
+ - @backstage/config@1.0.7
+ - @backstage/plugin-search-common@1.2.2
+
+## @backstage/plugin-techdocs-node@1.6.0
+
+### Minor Changes
+
+- ea2bbef1b16: Added support for an HTTPS proxy for techdocs AWS S3 requests
+
+### Patch Changes
+
+- 65454876fb2: Minor API report tweaks
+- bf493710f50: Update to a newer version of `@trendyol-js/openstack-swift-sdk`
+- bfe350ef4ce: Fixed bug that prevented deletion of stale files when non-empty directories where tried to be deleted as well.
+- Updated dependencies
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/catalog-model@1.2.1
+ - @backstage/integration@1.4.3
+ - @backstage/config@1.0.7
+ - @backstage/integration-aws-node@0.1.2
+ - @backstage/plugin-search-common@1.2.2
+
+## @backstage/app-defaults@1.2.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.12.5
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/core-app-api@1.6.0
+ - @backstage/theme@0.2.18
+ - @backstage/plugin-permission-react@0.4.11
+
+## @backstage/backend-app-api@0.4.1
+
+### Patch Changes
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 482dae5de1c: Updated link to docs.
+- 915e46622cf: Add support for `NotImplementedError`, properly returning 501 as status code.
+- Updated dependencies
+ - @backstage/plugin-permission-node@0.7.6
+ - @backstage/plugin-auth-node@0.2.12
+ - @backstage/backend-tasks@0.5.0
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/config-loader@1.1.9
+ - @backstage/cli-common@0.1.12
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## @backstage/backend-common@0.18.3
+
+### Patch Changes
+
+- f75097868a7: Adds config option `backend.database.role` to set ownership for newly created schemas and tables in Postgres
+
+ The example config below connects to the database as user `v-backstage-123` but sets the ownership of
+ the create schemas and tables to `backstage`
+
+ ```yaml
+ backend:
+ database:
+ client: pg
+ pluginDivisionMode: schema
+ role: backstage
+ connection:
+ user: v-backstage-123
+ ...
+ ```
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+
+- 87f0bbec175: AwsS3UrlReader upgraded to use aws-sdk v3
+
+- c1ee073a82b: Added `lastModifiedAt` field on `UrlReaderService` responses and a `lastModifiedAfter` option to `UrlReaderService.readUrl`.
+
+- 482dae5de1c: Updated link to docs.
+
+- Updated dependencies
+ - @backstage/errors@1.1.5
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/backend-app-api@0.4.1
+ - @backstage/config-loader@1.1.9
+ - @backstage/integration@1.4.3
+ - @backstage/backend-dev-utils@0.1.1
+ - @backstage/cli-common@0.1.12
+ - @backstage/config@1.0.7
+ - @backstage/integration-aws-node@0.1.2
+ - @backstage/types@1.0.2
+
+## @backstage/backend-defaults@0.1.8
+
+### Patch Changes
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 482dae5de1c: Updated link to docs.
+- 5d0693edc09: Added a workaround for the cyclic dependency bug across `@backstage/backend-common` and `@backstage/backend-app-api`.
+- Updated dependencies
+ - @backstage/backend-common@0.18.3
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/backend-app-api@0.4.1
+
+## @backstage/backend-dev-utils@0.1.1
+
+### Patch Changes
+
+- 482dae5de1c: Updated link to docs.
+
+## @backstage/backend-test-utils@0.1.35
+
+### Patch Changes
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.2.12
+ - @backstage/backend-common@0.18.3
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/backend-app-api@0.4.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## @backstage/catalog-model@1.2.1
+
+### Patch Changes
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- Updated dependencies
+ - @backstage/errors@1.1.5
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## @backstage/cli@0.22.4
+
+### Patch Changes
+
+- 1ad8d885d30: Fixed a bug where additional backend package entry points where not properly marked as internal during local development.
+- 2011b86052c: Added templates for new plugin Web and Node.js libraries.
+- 867f4752ca1: Updated the ESLint plugin configuration that is enabled through `yarn start --check` to only pick up valid source files.
+- b4cd145b574: Added a new `migrate package-exports` command that synchronizes package exports fields in all `package.json`s.
+- 9bf50a36674: Bumped the `msw` version in templates to 1.0.0
+- 8bf24946c66: Adjust express dependencies to be the same as the rest of the project
+- 17271841de8: Updated frontend plugin template to use some more recent features
+- 4b4998466b4: Updated dependency `del` to `^7.0.0`.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- a11b9a23f5a: Keep custom exports entry points in package.json
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/eslint-plugin@0.1.2
+ - @backstage/errors@1.1.5
+ - @backstage/config-loader@1.1.9
+ - @backstage/release-manifests@0.0.9
+ - @backstage/cli-common@0.1.12
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## @backstage/cli-common@0.1.12
+
+### Patch Changes
+
+- 482dae5de1c: Updated link to docs.
+
+## @backstage/codemods@0.1.44
+
+### Patch Changes
+
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/cli-common@0.1.12
+
+## @backstage/config@1.0.7
+
+### Patch Changes
+
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/types@1.0.2
+
+## @backstage/config-loader@1.1.9
+
+### Patch Changes
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/errors@1.1.5
+ - @backstage/cli-common@0.1.12
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## @backstage/core-components@0.12.5
+
+### Patch Changes
+
+- 8bbf95b5507: Button labels in the sidebar (previously displayed in uppercase) will be displayed in the case that is provided without any transformations.
+ For example, a sidebar button with the label "Search" will appear as Search, "search" will appear as search, "SEARCH" will appear as SEARCH etc.
+ This can potentially affect any overriding styles previously applied to change the appearance of Button labels in the Sidebar.
+- cb8ec97cdeb: Change black & white colors to be theme aware
+- c10384a9235: Switch to using `LinkButton` instead of the deprecated `Button`
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- e1aae2f5a0c: Updated the `aria-label` of the `HeaderTabs` component.
+- 6a51a49a810: Fix bug where `
+
+## The growing pains are real
+
+But it's not all sunshine and roses in Backstage-land. If Year 1 was about getting this community going and Year 2 was focused on maturing the platform, then Year 3 needs to address some of the inevitable growing pains a project undergoes as it gains ground.
+
+We hear two things pretty consistently from the community:
+
+- **Backstage is a steep learning curve:** Over the past three years, the project has grown in scope and breadth which can translate to complexity. This is especially true for newcomers looking to get their arms wrapped around the key concepts.
+- **Backstage has barriers to adoption:** Backstage adopters tell us driving widespread adoption of their developer portal remains the biggest challenge they face. Adoption barriers can be technical but are often cultural.
+
+The maintainers and some of our most involved community members are actively tackling how we can make the Backstage onboarding process easier for contributors. There are also lots of ways the project could better support adopters on that journey and make adoption faster and smoother.
+
+We’re looking at everything from cleaning up documentation to opinionated catalog ingestors being discussed in both the Catalog and Adoption monthly SIGs (running meeting notes [here](https://docs.google.com/document/d/1xg57CDfX2R5jTGbbWANzifm2szEb664kuTwfEEvKgZU/) and [here](https://docs.google.com/document/d/1zeYSzXYgh897bxPQmwy2btOwCFlEjlUDLf00riySLRc)). A few priorities that we’ve already mapped out:
+
+- Make it easier to install, customize, and maintain Backstage
+- Provide Golden Paths for adoption
+- Improve the experience and the content on [backstage.io](https://backstage.io/docs/overview/what-is-backstage)
+
+Because there are now so many mature adopters — Spotify included — there’s so much knowledge on how to create a roadmap for adoption and use cases, how to roll out your developer portal to your teams and drive inner source contributions, how to measure and attribute developer productivity gains, etc.
+
+Our goal is to tap into the knowledge those adopters have gained and create more tangible resources for the entire community. But we can’t do it without help. And that’s where you come in!
+
+## Getting (more) involved
+
+We’re very grateful for the Backstage ride-or-dies: the contributors who show up to every community session, attend every SIG, and are always ready to jump in on any PR or issue.
+
+But one of the areas where we think the project could greatly improve (and better address some of the growing pains I mentioned above!) is more active contribution — both the total number of people contributing and what they’re contributing.
+
+We’ve already shared a bit on this but the maintainer team is starting to address this challenge by proposing the following three initiatives:
+
+- Introduce more steps in between first-time contributor and maintainer in the form of a contributor ladder (loosely based on the [CNCF Project Template](https://github.com/cncf/project-template/blob/main/CONTRIBUTOR_LADDER.md)).
+- Change the ownership model, for example, divide the project up into several project areas, each covering particular parts of the project.
+- Introduce a new process for large contributions in the form of Backstage Enhancement Proposals (BEPs).
+
+These two RFCs on [Updated Backstage Governance](https://github.com/backstage/backstage/issues/15317) and [Backstage Enhancement Proposals](https://github.com/backstage/backstage/issues/15318) remain open so feel free to read and join the discussion! Watch this space as we’ll share more on the go-forward governance and BEPs plan soon.
+
+But if you’re brand-new and just looking to get your feet wet, we’ve also [compiled some small steps](https://backstage.io/docs/getting-started/getting-involved/) you can take to get involved:
+
+- Report (or squash) bugs: Look through the GitHub issues for [bugs](https://github.com/backstage/backstage/labels/bug), [good first issues](https://github.com/backstage/backstage/labels/good%20first%20issue) or [help wanted](https://github.com/backstage/backstage/labels/help%20wanted)
+- Build or suggest a plugin: The Backstage project grows with every new plugin that gets added
+- Add non-code contributions: We welcome things that help the community at large, but may not fit into the scope of the core project
+- Write documentation or improve the website: The current documentation and project site are pretty limited. Better content helps a lot of those growing pains.
+- Contribute to Storybook: Help us [create new components](https://github.com/backstage/backstage/labels/help%20wanted) or improve stories for the existing ones
+- Submit feedback: The best way to send feedback is to file [an issue](https://github.com/backstage/backstage/issues) with as much detail as possible
+- Add your company to ADOPTERS: Adding your company to [ADOPTERS](https://github.com/backstage/backstage/blob/master/ADOPTERS.md) really helps the project, you can do this by filling out this [adopter form](https://form.typeform.com/to/zcOaKikB)
diff --git a/microsite/blog/assets/2023-03-15/birthday.gif b/microsite/blog/assets/2023-03-15/birthday.gif
new file mode 100644
index 0000000000..0c489bc536
Binary files /dev/null and b/microsite/blog/assets/2023-03-15/birthday.gif differ
diff --git a/microsite/data/plugins/backstage-analytics-module-ga.yaml b/microsite/data/plugins/analytics-module-ga.yaml
similarity index 100%
rename from microsite/data/plugins/backstage-analytics-module-ga.yaml
rename to microsite/data/plugins/analytics-module-ga.yaml
diff --git a/microsite/data/plugins/backstage-plugin-api-linter.yaml b/microsite/data/plugins/api-linter.yaml
similarity index 91%
rename from microsite/data/plugins/backstage-plugin-api-linter.yaml
rename to microsite/data/plugins/api-linter.yaml
index ae2a451ea7..a68da228eb 100644
--- a/microsite/data/plugins/backstage-plugin-api-linter.yaml
+++ b/microsite/data/plugins/api-linter.yaml
@@ -1,5 +1,5 @@
---
-title: backstage-plugin-api-linter
+title: API Linter
author: Zalando
authorUrl: https://github.com/zalando
category: Linting
diff --git a/microsite/data/plugins/aws-codeservices.yaml b/microsite/data/plugins/aws-codeservices.yaml
new file mode 100644
index 0000000000..34fa335923
--- /dev/null
+++ b/microsite/data/plugins/aws-codeservices.yaml
@@ -0,0 +1,10 @@
+---
+title: AWS Code Services
+author: Amazon Web Services
+authorUrl: https://aws.amazon.com/
+category: CI/CD
+description: View resources related to AWS CodePipeline, AWS CodeBuild and AWS CodeDeploy for your components in Backstage.
+documentation: https://github.com/awslabs/aws-codeservices-plugins-for-backstage#readme
+iconUrl: https://github.com/awslabs/aws-codeservices-plugins-for-backstage/blob/main/docs/images/codepipeline-logo.png?raw=true
+npmPackageName: '@aws/aws-codeservices-plugin-for-backstage'
+addedDate: '2023-01-17'
diff --git a/microsite/data/plugins/aws-codesuite.yaml b/microsite/data/plugins/aws-codesuite.yaml
deleted file mode 100644
index d1fd039b9b..0000000000
--- a/microsite/data/plugins/aws-codesuite.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: AWS CodeSuite
-author: Amazon Web Services
-authorUrl: https://aws.amazon.com/
-category: CI/CD
-description: View resources related to AWS CodePipeline, AWS CodeBuild and AWS CodeDeploy for your components in Backstage.
-documentation: https://github.com/awslabs/aws-codesuite-plugins-for-backstage#readme
-iconUrl: https://github.com/awslabs/aws-codesuite-plugins-for-backstage/blob/main/docs/images/codepipeline-logo.png?raw=true
-npmPackageName: '@aws/aws-codesuite-plugin-for-backstage'
-addedDate: '2023-01-17'
diff --git a/microsite/data/plugins/cloudsmith.yaml b/microsite/data/plugins/cloudsmith.yaml
index 650f0b253c..4a07318a67 100644
--- a/microsite/data/plugins/cloudsmith.yaml
+++ b/microsite/data/plugins/cloudsmith.yaml
@@ -1,6 +1,6 @@
---
title: Cloudsmith
-author: Roadie
+author: roadie.io
authorUrl: https://roadie.io
category: CI/CD
description: Show Cloudsmith Repository stats, Quota, Audit logs and Security scans for specific repositories.
diff --git a/microsite/data/plugins/github-pull-requests-board.yaml b/microsite/data/plugins/github-pull-requests-board.yaml
index 09776eb468..9fe2570f91 100644
--- a/microsite/data/plugins/github-pull-requests-board.yaml
+++ b/microsite/data/plugins/github-pull-requests-board.yaml
@@ -1,5 +1,5 @@
---
-title: Github Pull Requests Board
+title: GitHub Pull Requests Board
author: DAZN
authorUrl: https://engineering.dazn.com
category: Source Control Mgmt
diff --git a/microsite/data/plugins/backstage-plugin-ldap-auth.yml b/microsite/data/plugins/ldap-auth.yml
similarity index 100%
rename from microsite/data/plugins/backstage-plugin-ldap-auth.yml
rename to microsite/data/plugins/ldap-auth.yml
diff --git a/microsite/data/plugins/microsoft-calendar.yaml b/microsite/data/plugins/microsoft-calendar.yaml
new file mode 100644
index 0000000000..183c991761
--- /dev/null
+++ b/microsite/data/plugins/microsoft-calendar.yaml
@@ -0,0 +1,15 @@
+title: Microsoft Calendar
+author: StatusNeo
+authorUrl: https://statusneo.com/
+category: Productivity
+description: |
+ The plugin integrates with your Microsoft Calendar.
+ It displays all your calendars and events in it.
+documentation: https://github.com/backstage/backstage/tree/master/plugins/microsoft-calendar
+iconUrl: /img/outlook-statusneo.png
+npmPackageName: '@backstage/plugin-microsoft-calendar'
+tags:
+ - Microsoft
+ - calendar
+ - Management
+addedDate: '2023-03-15'
diff --git a/microsite/data/plugins/scaffolder-backend-roadie-aws.yaml b/microsite/data/plugins/scaffolder-backend-roadie-aws.yaml
index e8e67dbdad..65808b9af2 100644
--- a/microsite/data/plugins/scaffolder-backend-roadie-aws.yaml
+++ b/microsite/data/plugins/scaffolder-backend-roadie-aws.yaml
@@ -1,9 +1,9 @@
---
-title: Scaffolder AWS cli actions
+title: Scaffolder AWS CLI actions
author: roadie.io
authorUrl: https://roadie.io/?utm_source=backstage.io&utm_medium=marketplace&utm_campaign=scaffolder-aws
category: Scaffolder
-description: Here you can find some AWS cli actions
+description: Scaffolder actions you can trigger for Amazon Web Services.
documentation: https://github.com/RoadieHQ/roadie-backstage-plugins/blob/main/plugins/scaffolder-actions/scaffolder-backend-module-aws/README.md
iconUrl: https://upload.wikimedia.org/wikipedia/commons/9/93/Amazon_Web_Services_Logo.svg
npmPackageName: '@roadiehq/scaffolder-backend-module-aws'
diff --git a/microsite/data/plugins/statusneo-github-plugin.yaml b/microsite/data/plugins/statusneo-github-plugin.yaml
new file mode 100644
index 0000000000..9c56dd4ae4
--- /dev/null
+++ b/microsite/data/plugins/statusneo-github-plugin.yaml
@@ -0,0 +1,13 @@
+title: Statusneo GitHub Plugin
+author: Statusneo
+authorUrl: https://statusneo.com/
+category: GitHub
+description: Provides status cards GitHub pull requests and GitHub actions.
+documentation: https://github.com/StatusNeo/backstage-plugin-github
+iconUrl: /img/github-statusneo.png
+npmPackageName: '@statusneo/backstage-plugin-github'
+tags:
+ - GitHub
+ - Monitoring
+ - Productivity
+addedDate: '2023-02-15'
diff --git a/microsite/data/plugins/vault.yaml b/microsite/data/plugins/vault.yaml
index 29e20417d8..37d474371b 100644
--- a/microsite/data/plugins/vault.yaml
+++ b/microsite/data/plugins/vault.yaml
@@ -2,7 +2,7 @@
title: Vault
author: Spread Group
authorUrl: https://github.com/ivangonzalezacuna
-category: Vault
+category: Security
description: Visualize a list of the secrets stored in your HashiCorp Vault instance.
documentation: https://github.com/backstage/backstage/tree/master/plugins/vault
iconUrl: /img/vault.png
diff --git a/microsite/docusaurus.config.js b/microsite/docusaurus.config.js
index 025c773a9c..549974a168 100644
--- a/microsite/docusaurus.config.js
+++ b/microsite/docusaurus.config.js
@@ -16,6 +16,11 @@
// @ts-check
+/** @type{import('prism-react-renderer').PrismTheme} **/
+// @ts-ignore
+const prismTheme = require('prism-react-renderer/themes/vsDark');
+prismTheme.plain.backgroundColor = '#232323';
+
/** @type {import('@docusaurus/types').Config} */
module.exports = {
title: 'Backstage Software Catalog and Developer Platform',
@@ -55,7 +60,7 @@ module.exports = {
path: 'blog',
},
theme: {
- customCss: 'src/css/customTheme.css',
+ customCss: 'src/theme/customTheme.scss',
},
gtag: {
trackingID: 'G-KSEVGGNCJW',
@@ -158,7 +163,7 @@ module.exports = {
position: 'left',
},
{
- to: 'docs/releases/v1.11.0',
+ to: 'docs/releases/v1.12.0',
label: 'Releases',
position: 'left',
},
@@ -266,10 +271,11 @@ module.exports = {
searchParameters: {},
},
prism: {
+ theme: prismTheme,
magicComments: [
// Extend the default highlight class name
{
- className: 'theme-code-block-highlighted-line',
+ className: 'code-block-highlight-line',
line: 'highlight-next-line',
block: { start: 'highlight-start', end: 'highlight-end' },
},
diff --git a/microsite/package.json b/microsite/package.json
index cb71d5a25a..09409518ee 100644
--- a/microsite/package.json
+++ b/microsite/package.json
@@ -17,7 +17,7 @@
"docusaurus": "docusaurus"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "2.3.1",
+ "@docusaurus/module-type-aliases": "2.4.0",
"@spotify/prettier-config": "^14.0.0",
"@tsconfig/docusaurus": "^1.0.6",
"@types/webpack-env": "^1.18.0",
@@ -29,12 +29,13 @@
},
"prettier": "@spotify/prettier-config",
"dependencies": {
- "@docusaurus/core": "2.3.1",
+ "@docusaurus/core": "2.4.0",
"@docusaurus/plugin-client-redirects": "^2.3.1",
- "@docusaurus/preset-classic": "2.3.1",
+ "@docusaurus/preset-classic": "2.4.0",
"@swc/core": "^1.3.36",
"clsx": "^1.1.1",
"docusaurus-plugin-sass": "^0.2.3",
+ "prism-react-renderer": "^1.3.5",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"sass": "^1.57.1",
diff --git a/microsite/sidebars.json b/microsite/sidebars.json
index ebb387f81c..09727685a0 100644
--- a/microsite/sidebars.json
+++ b/microsite/sidebars.json
@@ -1,6 +1,7 @@
{
"releases": {
"Release Notes": [
+ "releases/v1.12.0",
"releases/v1.11.0",
"releases/v1.10.0",
"releases/v1.9.0",
diff --git a/microsite/src/components/bannerSection/bannerSection.module.scss b/microsite/src/components/bannerSection/bannerSection.module.scss
index 2beabf9738..64f4967d11 100644
--- a/microsite/src/components/bannerSection/bannerSection.module.scss
+++ b/microsite/src/components/bannerSection/bannerSection.module.scss
@@ -1,5 +1,41 @@
+@use 'src/theme/variables';
+
.bannerSection {
+ --diagonalBorderHeight: 40px;
+
display: block;
+ background: var(--ifm-background-color);
+
+ @media (min-width: variables.$desktopUpBreakpoint) {
+ --diagonalBorderHeight: 80px;
+ }
+
+ &:global(:is(.diagonalBorder, .diagonalBottomBorder)) {
+ padding-bottom: var(--diagonalBorderHeight);
+
+ & + section {
+ margin-top: calc(var(--diagonalBorderHeight) * -1);
+ padding-top: var(--diagonalBorderHeight);
+ }
+ }
+
+ &:global(.diagonalBorder) {
+ clip-path: polygon(
+ 0 var(--diagonalBorderHeight),
+ 100% 0,
+ 100% calc(100% - var(--diagonalBorderHeight)),
+ 0 100%
+ );
+ }
+
+ &:global(.diagonalBottomBorder) {
+ clip-path: polygon(
+ 0 0,
+ 100% 0,
+ 100% calc(100% - var(--diagonalBorderHeight)),
+ 0 100%
+ );
+ }
&:global(.greyBackground) {
background: linear-gradient(90.49deg, #121212 15.36%, #282828 70.44%);
diff --git a/microsite/src/components/bannerSection/bannerSection.tsx b/microsite/src/components/bannerSection/bannerSection.tsx
index 64c8d246c8..5dc99eecf0 100644
--- a/microsite/src/components/bannerSection/bannerSection.tsx
+++ b/microsite/src/components/bannerSection/bannerSection.tsx
@@ -6,6 +6,8 @@ import bannerStyles from './bannerSection.module.scss';
export type IBannerSectionProps = PropsWithChildren<{
className?: string;
greyBackground?: boolean;
+ diagonalBorder?: boolean;
+ diagonalBottomBorder?: boolean;
greenGradientBackground?: boolean;
greenBottomGradientBackground?: boolean;
greenCallToActionGradientBackground?: boolean;
@@ -15,6 +17,8 @@ export const BannerSection = ({
children,
className,
greyBackground = false,
+ diagonalBorder = false,
+ diagonalBottomBorder = false,
greenGradientBackground = false,
greenBottomGradientBackground = false,
greenCallToActionGradientBackground = false,
@@ -22,6 +26,8 @@ export const BannerSection = ({
{
return (