diff --git a/.changeset/afraid-horses-argue.md b/.changeset/afraid-horses-argue.md new file mode 100644 index 0000000000..fa4b46df5d --- /dev/null +++ b/.changeset/afraid-horses-argue.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +--- + +Updated kubernetes config schema to match available options diff --git a/.changeset/blue-walls-drop.md b/.changeset/blue-walls-drop.md new file mode 100644 index 0000000000..a8e9ea1d33 --- /dev/null +++ b/.changeset/blue-walls-drop.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes-backend': minor +--- + +Plugins that instantiate the `KubernetesProxy` must now provide a parameter of the type `KubernetesProxyOptions` which includes providing a `KubernetesAuthTranslator`. The `KubernetesBuilder` now builds its own `KubernetesAuthTranslatorMap` that it provides to the `KubernetesProxy`. The `DispatchingKubernetesAuthTranslator` expects a `KubernetesTranslatorMap` to be provided as a parameter. The `KubernetesBuilder` now has a method called `setAuthTranslatorMap` which allows integrators to bring their own `KubernetesAuthTranslator's` to the `KubernetesPlugin`. diff --git a/.changeset/brave-forks-pull.md b/.changeset/brave-forks-pull.md new file mode 100644 index 0000000000..b7088f2721 --- /dev/null +++ b/.changeset/brave-forks-pull.md @@ -0,0 +1,9 @@ +--- +'@backstage/backend-common': patch +--- + +Support commit hashes at `GithubUrlReader.readTree/search` additionally to branch names. + +Additionally, this will reduce the number of API calls from 2 to 1 for retrieving the "repo details" +for all cases besides when the default branch has to be resolved and used +(e.g., repo URL without any branch or commit hash). diff --git a/.changeset/bright-hats-compare.md b/.changeset/bright-hats-compare.md new file mode 100644 index 0000000000..148eaa29ce --- /dev/null +++ b/.changeset/bright-hats-compare.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli-node': minor +--- + +Introduced the new `@backstage/cli-node` package, which provides utilities for use across Backstage CLIs. diff --git a/.changeset/calm-geese-obey.md b/.changeset/calm-geese-obey.md new file mode 100644 index 0000000000..b45295f8ff --- /dev/null +++ b/.changeset/calm-geese-obey.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-kubernetes': minor +--- + +refactor kubernetes error detection to make way for proposed solutions + +**BREAKING**: `DetectedError` now appears once per Kubernetes resource per error instead of for all resources which have that error, `namespace` and `name` fields are now in `sourceRef` object `message` is now a `string` instead of a `string[]`. `ErrorDetectableKind` has been removed. diff --git a/.changeset/calm-otters-destroy.md b/.changeset/calm-otters-destroy.md new file mode 100644 index 0000000000..cf3792cf4c --- /dev/null +++ b/.changeset/calm-otters-destroy.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-catalog-backend-module-azure': patch +'@backstage/plugin-catalog-backend': patch +--- + +Use the `LocationSpec` type from the `catalog-common` package in place of the deprecated `LocationSpec` from the `catalog-node` package. diff --git a/.changeset/clever-lizards-whisper.md b/.changeset/clever-lizards-whisper.md new file mode 100644 index 0000000000..4f2820c347 --- /dev/null +++ b/.changeset/clever-lizards-whisper.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +When building a backend package with dependencies any `--config ` options will now be forwarded to any dependent app package builds, unless the build script in the app package already contains a `--config` option. diff --git a/.changeset/clever-plums-decide.md b/.changeset/clever-plums-decide.md new file mode 100644 index 0000000000..7d01792f00 --- /dev/null +++ b/.changeset/clever-plums-decide.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-bazaar-backend': patch +'@backstage/plugin-bazaar': patch +--- + +Added the `docs` parameter (optional) to link the project documentation diff --git a/.changeset/cold-coats-nail.md b/.changeset/cold-coats-nail.md new file mode 100644 index 0000000000..db28b6f27a --- /dev/null +++ b/.changeset/cold-coats-nail.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-scaffolder': patch +--- + +`scaffolder/next`: Bump `@rjsf/*` dependencies to 5.5.2 diff --git a/.changeset/cold-seahorses-greet.md b/.changeset/cold-seahorses-greet.md new file mode 100644 index 0000000000..71bc5db2cc --- /dev/null +++ b/.changeset/cold-seahorses-greet.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Updates and moves OpenAPI spec to `src/schema/openapi.yaml` and uses `ApiRouter` type from `@backstage/backend-openapi-utils` to handle automatic types from the OpenAPI spec file. diff --git a/.changeset/create-app-1681222813.md b/.changeset/create-app-1681222813.md new file mode 100644 index 0000000000..b50d431d4b --- /dev/null +++ b/.changeset/create-app-1681222813.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Bumped create-app version. diff --git a/.changeset/dependabot-ff5881d.md b/.changeset/dependabot-ff5881d.md new file mode 100644 index 0000000000..d08ceea0e4 --- /dev/null +++ b/.changeset/dependabot-ff5881d.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-code-coverage-backend': patch +--- + +Bump `xml2js` from 0.4.23 to 0.5.0 diff --git a/.changeset/eight-trainers-smoke.md b/.changeset/eight-trainers-smoke.md new file mode 100644 index 0000000000..4c3cd33fbb --- /dev/null +++ b/.changeset/eight-trainers-smoke.md @@ -0,0 +1,5 @@ +--- +'@backstage/catalog-client': patch +--- + +Fixed bug in `queryEntities` of `CatalogClient` where the `sortField` is supposed to be changed to `orderField`. diff --git a/.changeset/famous-beds-break.md b/.changeset/famous-beds-break.md new file mode 100644 index 0000000000..a3d2e929a8 --- /dev/null +++ b/.changeset/famous-beds-break.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-permission-node': patch +--- + +Introduced alpha export of the `policyExtensionPoint` for use in the new backend system. diff --git a/.changeset/famous-beds-repair.md b/.changeset/famous-beds-repair.md new file mode 100644 index 0000000000..f08506b130 --- /dev/null +++ b/.changeset/famous-beds-repair.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-permission-backend': patch +--- + +Introduced alpha export of the `permissionPlugin` for use in the new backend system, along with a `permissionModuleAllowAllPolicy` that can be used to allow all requests. diff --git a/.changeset/famous-olives-try.md b/.changeset/famous-olives-try.md new file mode 100644 index 0000000000..3150197203 --- /dev/null +++ b/.changeset/famous-olives-try.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': patch +--- + +Fix some hard-coded white font colors in scaffolder diff --git a/.changeset/forty-adults-divide.md b/.changeset/forty-adults-divide.md new file mode 100644 index 0000000000..55d1e3f5d8 --- /dev/null +++ b/.changeset/forty-adults-divide.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Internal refactor to move many internal utilities to the new `@backstage/cli-node` package. diff --git a/.changeset/fresh-lions-compete.md b/.changeset/fresh-lions-compete.md new file mode 100644 index 0000000000..87f15f538d --- /dev/null +++ b/.changeset/fresh-lions-compete.md @@ -0,0 +1,5 @@ +--- +'@backstage/repo-tools': minor +--- + +Adding two new commands to support OpenAPI spec writing, `schema:openapi:generate` to generate the Typescript file that `@backstage/backend-openapi-utils` needs for typing and `schema:openapi:verify` to verify that this file exists and matches your `src/schema/openapi.yaml` file. diff --git a/.changeset/gentle-walls-invent.md b/.changeset/gentle-walls-invent.md new file mode 100644 index 0000000000..82469df6d3 --- /dev/null +++ b/.changeset/gentle-walls-invent.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-scaffolder': patch +--- + +Accessibility issues identified using lighthouse fixed. diff --git a/.changeset/itchy-bulldogs-hunt.md b/.changeset/itchy-bulldogs-hunt.md new file mode 100644 index 0000000000..af03f51f33 --- /dev/null +++ b/.changeset/itchy-bulldogs-hunt.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-puppetdb': minor +--- + +Initial version of [PuppetDB plugin](https://github.com/backstage/backstage/blob/master/plugins/puppetdb/README.md). diff --git a/.changeset/itchy-kiwis-unite.md b/.changeset/itchy-kiwis-unite.md new file mode 100644 index 0000000000..0e3bcae282 --- /dev/null +++ b/.changeset/itchy-kiwis-unite.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-explore': patch +--- + +Extracted generic `CatalogKindExploreContent` component so that it is easy to show any component kinds in their own tab in the explore page. diff --git a/.changeset/late-waves-march.md b/.changeset/late-waves-march.md new file mode 100644 index 0000000000..0691abd0fd --- /dev/null +++ b/.changeset/late-waves-march.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-lighthouse-backend': minor +--- + +Lighthouse backend plugin can now use an authenticated catalog backend API. + +- Breaking \* You must now pass the `tokenManager` to the lighthouse `createScheduler`. diff --git a/.changeset/lazy-books-design.md b/.changeset/lazy-books-design.md new file mode 100644 index 0000000000..c7f24fb0cc --- /dev/null +++ b/.changeset/lazy-books-design.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-sonarqube': patch +--- + +amend getSecurityHotspotsUrl to conditionally remove project path if sonarqube is self hosted diff --git a/.changeset/mean-rice-beg.md b/.changeset/mean-rice-beg.md new file mode 100644 index 0000000000..19cef51292 --- /dev/null +++ b/.changeset/mean-rice-beg.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-vault': patch +--- + +Use `fetchApi` instead of raw `fetch` in order to pass auth header if necessary. diff --git a/.changeset/mighty-tips-flow.md b/.changeset/mighty-tips-flow.md new file mode 100644 index 0000000000..514d514588 --- /dev/null +++ b/.changeset/mighty-tips-flow.md @@ -0,0 +1,16 @@ +--- +'@backstage/plugin-auth-backend': patch +--- + +The `microsoft` (i.e. Azure) auth provider now supports negotiating tokens for +Azure resources besides Microsoft Graph (e.g. AKS, Virtual Machines, Machine +Learning Services, etc.). When the `/frame/handler` endpoint is called with an +authorization code for a non-Microsoft Graph scope, the user profile will not be +fetched. Similarly no user profile or photo data will be fetched by the backend +if the `/refresh` endpoint is called with the `scope` query parameter strictly +containing scopes for resources besides Microsoft Graph. + +Furthermore, the `offline_access` scope will be requested by default, even when +it is not mentioned in the argument to `getAccessToken`. This means that any +Azure access token can be automatically refreshed, even if the user has not +signed in via Azure. diff --git a/.changeset/modern-seahorses-marry.md b/.changeset/modern-seahorses-marry.md new file mode 100644 index 0000000000..11c24ed6d7 --- /dev/null +++ b/.changeset/modern-seahorses-marry.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs-node': minor +--- + +Use the latest version `v.1.2.0` of the spotify/techdocs docker image as default diff --git a/.changeset/modern-snakes-check.md b/.changeset/modern-snakes-check.md new file mode 100644 index 0000000000..29510ad712 --- /dev/null +++ b/.changeset/modern-snakes-check.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-scaffolder': patch +--- + +bug: Invert `templateFilter` predicate to align with `Array.filter` diff --git a/.changeset/nice-schools-remember.md b/.changeset/nice-schools-remember.md new file mode 100644 index 0000000000..1b362532f8 --- /dev/null +++ b/.changeset/nice-schools-remember.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-adr': minor +--- + +Use `fetchApi` instead of raw `fetch` in order to pass auth header if necessary. diff --git a/.changeset/odd-plums-bake.md b/.changeset/odd-plums-bake.md new file mode 100644 index 0000000000..427ab776b5 --- /dev/null +++ b/.changeset/odd-plums-bake.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-adr-common': patch +'@backstage/plugin-adr': patch +--- + +use path attribute to fetch files instead of name and update the UI to navigate over subdirectories diff --git a/.changeset/perfect-deers-add.md b/.changeset/perfect-deers-add.md new file mode 100644 index 0000000000..c932351a19 --- /dev/null +++ b/.changeset/perfect-deers-add.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-playlist': patch +--- + +Added config properties to change dynamically the group noun for all the components in the UI diff --git a/.changeset/plenty-eels-listen.md b/.changeset/plenty-eels-listen.md new file mode 100644 index 0000000000..6b4776f808 --- /dev/null +++ b/.changeset/plenty-eels-listen.md @@ -0,0 +1,19 @@ +--- +'@backstage/plugin-catalog-react': minor +--- + +Attempt to load entity owner names in the EntityOwnerPicker through the `by-refs` endpoint. If `spec.profile.displayName` or `metadata.title` are populated, we now attempt to show those before showing the `humanizeEntityRef`'d version. + +**BREAKING**: `EntityOwnerFilter` now uses the full entity ref instead of the `humanizeEntityRef`. If you rely on `EntityOwnerFilter.values` or the `queryParameters.owners` of `useEntityList`, you will need to adjust your code like the following. + +```tsx +const { queryParameters: { owners } } = useEntityList(); +// or +const { filter: { owners } } = useEntityList(); + +// Instead of, +if (owners.some(ref => ref === humanizeEntityRef(myEntity))) ... + +// You'll need to use, +if (owners.some(ref => ref === stringifyEntityRef(myEntity))) ... +``` diff --git a/.changeset/poor-horses-approve.md b/.changeset/poor-horses-approve.md new file mode 100644 index 0000000000..ecd60e2c6c --- /dev/null +++ b/.changeset/poor-horses-approve.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-react': patch +--- + +Add an indication that the validators are running when clicking `next` on each step of the form. diff --git a/.changeset/pre.json b/.changeset/pre.json index cfe5cab8e7..391e8dbd8d 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,5 +1,5 @@ { - "mode": "pre", + "mode": "exit", "tag": "next", "initialVersions": { "example-app": "0.2.81", @@ -216,22 +216,45 @@ "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.0.0", "@backstage/plugin-search-backend-module-catalog": "0.0.0", "@backstage/plugin-search-backend-module-explore": "0.0.0", - "@backstage/plugin-search-backend-module-techdocs": "0.0.0" + "@backstage/plugin-search-backend-module-techdocs": "0.0.0", + "@backstage/backend-openapi-utils": "0.0.0", + "@backstage/cli-node": "0.0.0" }, "changesets": [ + "afraid-horses-argue", "all-my-auth-wanna-ride-today", + "blue-walls-drop", + "bright-hats-compare", "bright-pumpkins-bake", + "calm-geese-obey", + "calm-otters-destroy", "chatty-coats-thank", "clean-dolls-search", + "clean-items-draw", + "clean-teachers-thank", + "clever-lizards-whisper", + "cold-seahorses-greet", "create-app-1679405836", + "create-app-1681222813", "curly-boats-trade", "curly-jobs-kneel", + "curly-steaks-mate", "curvy-rocks-guess", + "dependabot-ff5881d", + "eight-trainers-smoke", "eleven-bats-tease", "eleven-coats-refuse", "fair-roses-stare", + "famous-beds-break", + "famous-beds-repair", + "famous-olives-try", + "fast-gorillas-approve", "fast-snakes-buy", + "flat-ways-compete", + "forty-adults-divide", + "forty-days-tell", "forty-gorillas-help", + "fresh-lions-compete", "fresh-schools-fly", "funny-pots-hide", "funny-rivers-grin", @@ -242,54 +265,90 @@ "heavy-colts-wash", "hungry-lies-cry", "hungry-monkeys-reply", + "itchy-ads-sit", + "itchy-kiwis-unite", "khaki-cars-drum", "khaki-doors-compare", "khaki-guests-turn", + "late-waves-march", "lazy-apples-destroy", "lazy-monkeys-worry", "long-gorillas-remain", "many-eggs-press", + "mean-rice-beg", "mighty-lamps-cross", + "mighty-tips-flow", + "modern-snakes-check", "nasty-nails-appear", "neat-donkeys-work", + "neat-pears-argue", "new-pigs-jam", "odd-grapes-double", + "odd-plums-bake", "old-cougars-sit", "olive-cycles-join", "olive-months-talk", "orange-rabbits-jam", + "perfect-deers-add", + "plenty-eels-listen", + "poor-cars-fold", + "poor-horses-approve", "popular-parents-crash", + "popular-radios-visit", "pretty-carpets-cross", "rare-seals-decide", "renovate-179fa0e", + "renovate-3e8a992", + "renovate-8010f99", "renovate-a9116b7", "renovate-c574b04", "rotten-carrots-cheer", + "serious-items-walk", "seven-gifts-fetch", + "shaggy-crews-carry", "short-panthers-float", + "silent-nails-bake", "silly-adults-accept", + "six-jobs-hear", + "sixty-insects-visit", + "slimy-scissors-play", + "slow-ravens-destroy", + "smart-crabs-dream", "soft-roses-cover", "sour-buttons-collect", "sour-dragons-cheat", + "sour-laws-walk", + "spicy-carrots-argue", "stale-cobras-beg", + "stale-files-sniff", + "stale-paws-sparkle", "strong-crews-repeat", + "stupid-laws-play", + "sweet-eels-hunt", "swift-meals-live", "tall-chairs-explain", + "tall-meals-dress", "tall-oranges-own", "ten-hounds-bathe", "ten-mayflies-beam", + "tender-parrots-fry", + "tender-terms-return", "thick-forks-prove", "thin-spoons-prove", "thirty-crabs-tell", "tiny-apes-scream", "tough-cameras-beam", + "tricky-beans-knock", "twelve-parrots-camp", "twelve-vans-sell", + "unlucky-snakes-smile", "warm-buses-switch", + "weak-oranges-give", "weak-turtles-arrive", "wet-lamps-happen", "wise-garlics-camp", "witty-berries-love", - "witty-points-visit" + "witty-points-visit", + "yellow-candles-kiss" ] } diff --git a/.changeset/proud-pigs-look.md b/.changeset/proud-pigs-look.md new file mode 100644 index 0000000000..7b50a72feb --- /dev/null +++ b/.changeset/proud-pigs-look.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Updated the alpha `scaffolderPlugin` to not require options. diff --git a/.changeset/renovate-3e8a992.md b/.changeset/renovate-3e8a992.md new file mode 100644 index 0000000000..2c76f0e050 --- /dev/null +++ b/.changeset/renovate-3e8a992.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-react': patch +--- + +Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.5.2`. diff --git a/.changeset/renovate-8010f99.md b/.changeset/renovate-8010f99.md new file mode 100644 index 0000000000..64817f07be --- /dev/null +++ b/.changeset/renovate-8010f99.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Updated dependency `@swc/helpers` to `^0.5.0`. diff --git a/.changeset/serious-items-walk.md b/.changeset/serious-items-walk.md new file mode 100644 index 0000000000..c4cdfe34c4 --- /dev/null +++ b/.changeset/serious-items-walk.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Stripped entity types and namespace before passing to GitHub API diff --git a/.changeset/shaggy-crews-carry.md b/.changeset/shaggy-crews-carry.md new file mode 100644 index 0000000000..db9aa5225b --- /dev/null +++ b/.changeset/shaggy-crews-carry.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-search-backend-module-elasticsearch': patch +--- + +fix ElasticSearch throwing error when index is missing diff --git a/.changeset/shy-carpets-own.md b/.changeset/shy-carpets-own.md new file mode 100644 index 0000000000..95c907d117 --- /dev/null +++ b/.changeset/shy-carpets-own.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-org': patch +--- + +Added `entityLimit` to change the limit of entities displayed in the ownership boxes. + +[StoryBook Example for Ownership Card](https://backstage.io/storybook/?path=/story/plugins-org-ownership-card--default) diff --git a/.changeset/silent-nails-bake.md b/.changeset/silent-nails-bake.md new file mode 100644 index 0000000000..1161686b34 --- /dev/null +++ b/.changeset/silent-nails-bake.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend': patch +--- + +Add common identify resolvers for `oidc` auth provider. diff --git a/.changeset/six-jobs-hear.md b/.changeset/six-jobs-hear.md new file mode 100644 index 0000000000..3e9d10f0e9 --- /dev/null +++ b/.changeset/six-jobs-hear.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Fixed bug in the `DefaultCatalogProcessingEngine` where entities that contained multiple different types of relations for the same source entity would not properly trigger stitching for that source entity. diff --git a/.changeset/sixty-insects-visit.md b/.changeset/sixty-insects-visit.md new file mode 100644 index 0000000000..adbe27e0ac --- /dev/null +++ b/.changeset/sixty-insects-visit.md @@ -0,0 +1,9 @@ +--- +'@backstage/core-app-api': minor +--- + +The `AuthConnector` interface now supports specifying a set of scopes when +refreshing a session. The `DefaultAuthConnector` implementation passes the +`scope` query parameter to the auth-backend plugin appropriately. The +`RefreshingAuthSessionManager` passes any scopes in its `GetSessionRequest` +appropriately. diff --git a/.changeset/slimy-scissors-play.md b/.changeset/slimy-scissors-play.md new file mode 100644 index 0000000000..4a65bc8dce --- /dev/null +++ b/.changeset/slimy-scissors-play.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes': patch +--- + +fixes a bug where an empty authorization header was provided to the proxy endpoint when a cluster had a server-side auth provider diff --git a/.changeset/slow-ravens-destroy.md b/.changeset/slow-ravens-destroy.md new file mode 100644 index 0000000000..a75793f86f --- /dev/null +++ b/.changeset/slow-ravens-destroy.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': minor +--- + +Allow for a commit message to differ from the PR title when publishing a GitHub pull request. diff --git a/.changeset/smart-crabs-dream.md b/.changeset/smart-crabs-dream.md new file mode 100644 index 0000000000..3699021482 --- /dev/null +++ b/.changeset/smart-crabs-dream.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-react': patch +--- + +Reverted the check if the selected options list is different than the query parameters list before invoking `setSelectedOptions` method. This was preventing updating list items when a query string was already present in the URL when loading the page. diff --git a/.changeset/soft-doors-count.md b/.changeset/soft-doors-count.md new file mode 100644 index 0000000000..d6abd3e1d6 --- /dev/null +++ b/.changeset/soft-doors-count.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-shortcuts': patch +--- + +Added the Analytics event in the save handler of AddShortcut and EditShortcut diff --git a/.changeset/sour-laws-walk.md b/.changeset/sour-laws-walk.md new file mode 100644 index 0000000000..073e3dc6a8 --- /dev/null +++ b/.changeset/sour-laws-walk.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend': patch +--- + +Export Azure Easy Auth provider so it can actually be used. diff --git a/.changeset/spicy-carrots-argue.md b/.changeset/spicy-carrots-argue.md new file mode 100644 index 0000000000..b6475b1f7d --- /dev/null +++ b/.changeset/spicy-carrots-argue.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': minor +--- + +Add monorepo support to CodeOwnersProccesor. diff --git a/.changeset/stale-files-sniff.md b/.changeset/stale-files-sniff.md new file mode 100644 index 0000000000..b6f35645c4 --- /dev/null +++ b/.changeset/stale-files-sniff.md @@ -0,0 +1,5 @@ +--- +'@backstage/catalog-model': minor +--- + +Modified the regex for DNS label validation to support IDN domains diff --git a/.changeset/stupid-laws-play.md b/.changeset/stupid-laws-play.md new file mode 100644 index 0000000000..837fd08f40 --- /dev/null +++ b/.changeset/stupid-laws-play.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-scaffolder': patch +--- + +`scaffolder/next`: bump `rjsf` dependencies to `5.5.0` diff --git a/.changeset/sweet-eels-hunt.md b/.changeset/sweet-eels-hunt.md new file mode 100644 index 0000000000..39f124a860 --- /dev/null +++ b/.changeset/sweet-eels-hunt.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes': patch +--- + +`KubernetesBackendClient` now requires a `kubernetesAuthProvidersApi` value to be provided. `KubernetesApi` interface now has a proxy method requirement. diff --git a/.changeset/tall-meals-dress.md b/.changeset/tall-meals-dress.md new file mode 100644 index 0000000000..3d39c369fe --- /dev/null +++ b/.changeset/tall-meals-dress.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-events-backend': patch +--- + +Export `DefaultEventBroker` to allow decoupling of the catalog and events backends in the `example-backend`. + +Please look at `plugins/events-backend/README.md` for the currently advised way to set up the event backend and catalog providers. diff --git a/.changeset/tender-terms-return.md b/.changeset/tender-terms-return.md new file mode 100644 index 0000000000..9e8ab6beb7 --- /dev/null +++ b/.changeset/tender-terms-return.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Fix a bug in sub-path navigation due to double addition of a sub-path if one was set up in `app.baseUrl`. diff --git a/.changeset/tricky-beans-knock.md b/.changeset/tricky-beans-knock.md new file mode 100644 index 0000000000..1bdd95a365 --- /dev/null +++ b/.changeset/tricky-beans-knock.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-openapi-utils': patch +--- + +New plugin! Primary focus is to support types on `Router`s in backend packages. Developers can use the `ApiRouter` from this package in their packages to support a typed experience based on their OpenAPI specs. The `ApiRouter` supports request bodies, response bodies, query parameters and path parameters, as well as full path-based context of the above. This means no more guessing on an endpoint like `req.post('/not-my-route', (req, res)=>{res.send(req.body.badparam)})`. Typescript would catch `/not-my-route`, `req.body.badparam`, `res.send(req.body.badparam)`. diff --git a/.changeset/tricky-wombats-explode.md b/.changeset/tricky-wombats-explode.md new file mode 100644 index 0000000000..aeb5b7849f --- /dev/null +++ b/.changeset/tricky-wombats-explode.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-stack-overflow-backend': minor +--- + +Adding support for v2.3 API and PAT authentication diff --git a/.changeset/yellow-candles-kiss.md b/.changeset/yellow-candles-kiss.md new file mode 100644 index 0000000000..e365be2a0a --- /dev/null +++ b/.changeset/yellow-candles-kiss.md @@ -0,0 +1,21 @@ +--- +'@backstage/core-components': minor +--- + +**BREAKING:** Removing `Tabs` component from `core-components` as it is neither used in the core Backstage app nor in the monorepo plugins. If you are using this component in your instance please consider replacing it with the [Material UI `Tabs`](https://v4.mui.com/components/tabs/#tabs) component like the following: + +```diff +- , +- content:
Label
, +- }]} +- /> + ++ ++ } ++ /> ++ +``` diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b4be92e4ec..3880a0facd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -26,13 +26,13 @@ yarn.lock @backstage/maintainers @back /plugins/azure-devops-common @backstage/maintainers @marleypowell @awanlin /plugins/bitbucket-cloud-common @backstage/maintainers @pjungermann /plugins/bitrise @backstage/maintainers @backstage/sda-se-reviewers -/plugins/catalog @backstage/maintainers @backstage/catalog-core -/plugins/catalog-* @backstage/maintainers @backstage/catalog-core -/plugins/catalog-backend-module-aws @backstage/maintainers @backstage/catalog-core @pjungermann -/plugins/catalog-backend-module-bitbucket-cloud @backstage/maintainers @backstage/catalog-core @pjungermann -/plugins/catalog-backend-module-msgraph @backstage/maintainers @backstage/catalog-core @pjungermann -/plugins/catalog-backend-module-puppetdb @backstage/maintainers @backstage/catalog-core @tdabasinskas -/plugins/catalog-graph @backstage/maintainers @backstage/catalog-core @backstage/sda-se-reviewers +/plugins/catalog @backstage/maintainers @backstage/catalog-maintainers +/plugins/catalog-* @backstage/maintainers @backstage/catalog-maintainers +/plugins/catalog-backend-module-aws @backstage/maintainers @backstage/catalog-maintainers @pjungermann +/plugins/catalog-backend-module-bitbucket-cloud @backstage/maintainers @backstage/catalog-maintainers @pjungermann +/plugins/catalog-backend-module-msgraph @backstage/maintainers @backstage/catalog-maintainers @pjungermann +/plugins/catalog-backend-module-puppetdb @backstage/maintainers @backstage/catalog-maintainers @tdabasinskas +/plugins/catalog-graph @backstage/maintainers @backstage/catalog-maintainers @backstage/sda-se-reviewers /plugins/circleci @backstage/maintainers @adamdmharvey /plugins/cloudbuild @backstage/maintainers @trivago/ebarrios /plugins/code-coverage @backstage/maintainers @alde @nissayeva @@ -67,6 +67,7 @@ yarn.lock @backstage/maintainers @back /plugins/newrelic-dashboard @backstage/maintainers @mufaddal7 /plugins/playlist @backstage/maintainers @kuangp /plugins/playlist-* @backstage/maintainers @kuangp +/plugins/puppetdb @backstage/maintainers @tdabasinskas /plugins/rollbar @backstage/maintainers @andrewthauer /plugins/rollbar-backend @backstage/maintainers @andrewthauer /plugins/scaffolder-backend-module-rails @backstage/maintainers @angeliski diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd67d2742a..fb03709cce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,6 +92,9 @@ jobs: - name: verify api reference run: node scripts/verify-api-reference.js + - name: verify openapi yaml file matches generated ts file + run: yarn backstage-repo-tools schema:openapi:verify + - name: verify doc links run: node scripts/verify-links.js diff --git a/.github/workflows/uffizzi-preview.yaml b/.github/workflows/uffizzi-preview.yaml index 6390671bbd..87c1eaa02f 100644 --- a/.github/workflows/uffizzi-preview.yaml +++ b/.github/workflows/uffizzi-preview.yaml @@ -14,6 +14,7 @@ jobs: if: ${{ github.event.workflow_run.conclusion == 'success' }} outputs: compose-file-cache-key: ${{ env.COMPOSE_FILE_HASH }} + git-ref: ${{ env.GIT_REF }} pr-number: ${{ env.PR_NUMBER }} steps: - name: 'Download artifacts' @@ -67,10 +68,15 @@ jobs: id: pr run: echo "PR_NUMBER=${{ fromJSON(env.EVENT_JSON).number }}" >> $GITHUB_ENV + - name: Read Git Ref From Event Object + id: ref + run: echo "GIT_REF=${{ fromJSON(env.EVENT_JSON).pull_request.head.sha }}" >> $GITHUB_ENV + - name: DEBUG - Print Job Outputs if: ${{ runner.debug }} run: | echo "PR number: ${{ env.PR_NUMBER }}" + echo "Git Ref: ${{ env.GIT_REF }}" echo "Compose file hash: ${{ env.COMPOSE_FILE_HASH }}" cat event.json @@ -85,8 +91,9 @@ jobs: # and this reusable workflow will delete the preview deployment. compose-file-cache-key: ${{ needs.cache-compose-file.outputs.compose-file-cache-key }} compose-file-cache-path: docker-compose.rendered.yml - server: https://app.uffizzi.com + git-ref: ${{ needs.cache-compose-file.outputs.git-ref }} pr-number: ${{ needs.cache-compose-file.outputs.pr-number }} + server: https://app.uffizzi.com permissions: contents: read pull-requests: write diff --git a/.github/workflows/verify_accessibility_core.yml b/.github/workflows/verify_accessibility_core.yml new file mode 100644 index 0000000000..459071ce75 --- /dev/null +++ b/.github/workflows/verify_accessibility_core.yml @@ -0,0 +1,30 @@ +name: Verify Accessibility Core features +on: + pull_request: + branches: [master] + paths: + - 'plugins/catalog/**' + - 'plugins/techdocs/**' + - 'plugins/scaffolder/**' + - 'plugins/search/**' + +jobs: + lhci: + name: Lighthouse + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Use Node.js 16.x + uses: actions/setup-node@v3 + with: + node-version: 16.x + - name: yarn install + uses: backstage/actions/yarn-install@v0.6.3 + with: + cache-prefix: ${{ runner.os }}-16.x + - name: run Lighthouse CI + run: | + npm install -g @lhci/cli@0.11.x + lhci autorun + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index b7bfe7a84d..f3c687d49c 100644 --- a/.gitignore +++ b/.gitignore @@ -152,3 +152,7 @@ tsconfig.tmp.json # vscode database functionality support files *.session.sql + +# Lighthouse CI Reports +**/.lighthouseci/* +!**/.lighthouseci/scripts \ No newline at end of file diff --git a/.lighthouseci/scripts/guest-auth.js b/.lighthouseci/scripts/guest-auth.js new file mode 100644 index 0000000000..7f686cbbc6 --- /dev/null +++ b/.lighthouseci/scripts/guest-auth.js @@ -0,0 +1,11 @@ +'use strict'; + +module.exports = async (browser, context) => { + // launch browser for LHCI + const page = await browser.newPage(); + await page.goto('http://localhost:3000'); + await page.evaluate(() => { + localStorage.setItem('@backstage/core:SignInPage:provider', 'guest'); + }); + await page.goto('http://localhost:3000'); +}; diff --git a/ADOPTERS.md b/ADOPTERS.md index 306ae24280..24c889f518 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -237,3 +237,9 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/ | [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. | | [Syntasso](https://www.syntasso.io/) | [@syntassodev](https://github.com/syntassodev) | Backstage is used as a optional UI for the [Kratix project](https://kratix.io), a framework for building platforms. | [Bankdata](https://www.bankdata.dk) | [Thomas Grønbæk](https://www.linkedin.com/in/thomas-grønbæk/) | We are assessing Backstage as our internal developer portal @Bankdata. Goal is to reduce cognitive load and friction for developers and thereby improving developer experience, onboarding and productivity. Expect use of Software Catalog for discoverability and ownership, Tech Docs and Software Templates to integrate tooling and best practices. +| [B3](https://www.b3.com.br/) | [Marcos Rodrigues](https://www.linkedin.com/in/marcos-rodrigues-cloud/) | B3 (Brazilian Stock Exchange) will implement a self-service platform focused on software development based on Backstage. The tool will primarily focus on product development and software engineering teams, as well as professionals from other areas who are also involved in software delivery. The new platform will function as a portal where teams can access tools, codes, and templates that have already been tested and are available, serving as building blocks for the development of new solutions. | +| [Porto](https://www.portoseguro.com.br/) | [Camilo Alessandro](https://www.linkedin.com/in/camilo-alessandro/) | Porto (Brazilian insurance company) Centralized developer portal with software catalog, application templates, maturity radar, component taxonomy standardization, and automation in the integration with DevSecOps processes. | +| [Einride](https://github.com/einride) | [@odsod](https://github.com/odsod/) | We use Backstage to create a great developer experience across Einride's entire software stack - from autonomous and electric vehicles to cloud systems - and we've developed a [Backstage Go SDK](https://github.com/einride/backstage-go) for interfacing with Backstage from our Go tooling. +| [Chartboost](https://www.chartboost.com)| [@brucearctor](https://github.com/brucearctor), [@ArtemChekunov](https://github.com/ArtemChekunov) | We are building our internal develper portal on top of Backstage.| +| [Quantum Metric](https://www.quantummetric.com/) | [Eric Irwin](https://www.linkedin.com/in/ericirwin1124/) | Backstage is used within our Developer Experience Platform (DXP) in order to increase self-service, standardization and discoverability across our Engineering teams. | +| [VodafoneZiggo](https://www.vodafoneziggo.nl/) | [Peter Macdonald](https://github.com/Parsifal-M) | We use Backstage as our go-to platform for managing our internal tools and services. With Backstage, we can easily discover and access all the services we need to do our work, whether it's deploying code, managing infrastructure, or accessing documentation. We appreciate the standardized, consistent interface and the ability to easily create custom plugins to integrate with our existing workflows. Overall, Backstage is streamlining our internal operations and helps us work more efficiently as a team. | diff --git a/OWNERS.md b/OWNERS.md index 2124863f8d..0a567ee269 100644 --- a/OWNERS.md +++ b/OWNERS.md @@ -20,9 +20,14 @@ These are the separate project areas of Backstage, each with their own project a Team: @backstage/catalog-maintainers -| Name | Organization | Team | GitHub | Discord | -| ---- | ------------ | --------- | ---------------------------- | ------- | -| TBD | Spotify | Chipmunks | [TBD](http://github.com/TBD) | - | +Scope: The catalog plugin and catalog model + +| Name | Organization | Team | GitHub | Discord | +| -------------- | ------------ | --------- | ---------------------------------------- | ---------------- | +| Rickard Dybeck | Spotify | Chipmunks | [alde](http://github.com/alde) | rdybeck#8083 | +| Mike Blockley | Spotify | Chipmunks | [mikeyhc](http://github.com/mikeyhc) | mikey-spot#5363 | +| Elon Jefferson | Spotify | Chipmunks | [Edje-C](http://github.com/Edje-C) | elon-spotty#6086 | +| Nurit Izrailov | Spotify | Chipmunks | [nuritizra](http://github.com/nuritizra) | - | ### Discoverability @@ -82,21 +87,24 @@ Scope: The TechDocs plugin and related tooling ## 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` | -| Carlos Esteban Lopez Jaramillo | VMWare | [luchillo17](https://github.com/luchillo17) | `luchillo17#8777` | -| 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` | +| 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 | Roadie.io | [punkle](https://github.com/punkle) | `Brian Fletcher#7051` | +| Carlos Esteban Lopez Jaramillo | VMWare | [luchillo17](https://github.com/luchillo17) | `luchillo17#8777` | +| David Tuite | Roadie.io | [dtuite](https://github.com/dtuite) | `David Tuite (roadie.io)#1010` | +| Himanshu Mishra | Harness.io | [OrkoHunter](https://github.com/OrkoHunter) | `OrkoHunter#1520` | +| Irma Solakovic | Roadie.io | [Irma12](https://github.com/Irma12) | `Irma#7629` | +| Jamie Klassen | VMware | [jamieklassen](https://github.com/jamieklassen) | `jamieklassen#3047` | +| Jorge Lainfiesta | Roadie.io | [jorgelainfiesta](https://github.com/jorgelainfiesta) | `jorgel#8733` | +| Jussi Hallila | Roadie.io | [Xantier](https://github.com/Xantier) | `Xantier#0086` | +| Mark Avery | Cvent | [webark](https://github.com/webark) | `webark#8471` | +| Miklós Kiss | Roadie.io | [kissmikijr](https://github.com/kissmikijr) | `Miklos#7416` | +| 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 diff --git a/app-config.yaml b/app-config.yaml index 385c9c2e0e..e2b03786c4 100644 --- a/app-config.yaml +++ b/app-config.yaml @@ -123,6 +123,9 @@ proxy: headers: St2-Api-Key: ${ST2_API_KEY} + '/puppetdb': + target: https://your.puppetdb.instance.com + organization: name: My Company diff --git a/docs/auth/microsoft/azure-easyauth.md b/docs/auth/microsoft/azure-easyauth.md index 4daf0851f0..8ea626288c 100644 --- a/docs/auth/microsoft/azure-easyauth.md +++ b/docs/auth/microsoft/azure-easyauth.md @@ -1,10 +1,12 @@ --- -id: azure-easy-auth +id: easy-auth title: Azure EasyAuth Provider -sidebar_label: Azure EasyAuth +sidebar_label: Azure Easy Auth description: Adding Azure's EasyAuth Proxy as an authentication provider in Backstage --- +The Backstage `core-plugin-api` package comes with a Microsoft authentication provider that can authenticate users using Azure Active Directory for PaaS service hosted in Azure that support Easy Auth, such as Azure App Services. + ## Backstage Changes Add the following into your `app-config.yaml` or `app-config.production.yaml` file diff --git a/docs/deployment/docker.md b/docs/deployment/docker.md index 88c22afb9b..f96204b413 100644 --- a/docs/deployment/docker.md +++ b/docs/deployment/docker.md @@ -37,10 +37,6 @@ The required steps in the host build are to install dependencies with `yarn install`, generate type definitions using `yarn tsc`, and build the backend package with `yarn build:backend`. -> NOTE: If you created your app prior to 2021-02-18, follow the -> [migration step](https://github.com/backstage/backstage/releases/tag/release-2021-02-18) -> to move from `backend:build` to `backend:bundle`. - In a CI workflow it might look something like this: ```bash @@ -50,7 +46,8 @@ yarn install --frozen-lockfile yarn tsc # Build the backend, which bundles it all up into the packages/backend/dist folder. -yarn build:backend +# The configuration files here should match the one you use inside the Dockerfile below. +yarn build:backend --config app-config.yaml ``` Once the host build is complete, we are ready to build our image. The following diff --git a/docs/features/kubernetes/proxy.md b/docs/features/kubernetes/proxy.md index b53dfeb29d..5811ff8ec4 100644 --- a/docs/features/kubernetes/proxy.md +++ b/docs/features/kubernetes/proxy.md @@ -14,42 +14,16 @@ Kubernetes backend plugin's proxy endpoint to allow them to make arbitrary requests to the [REST API](https://kubernetes.io/docs/reference/using-api/api-concepts/). -Here is a snippet fetching namespaces from a cluster configured with the -`google` [auth provider](https://backstage.io/docs/features/kubernetes/configuration#clustersauthprovider): +Here is a snippet fetching namespaces using the `KubernetesBackendClient` library ```typescript -import { - discoveryApiRef, - googleAuthApiRef, - useApi, - identityApiRef, -} from '@backstage/core-plugin-api'; +import { useApi } from '@backstage/core-plugin-api'; +import { kubernetesApiRef } from '@backstage/plugin-kubernetes'; const CLUSTER_NAME = ''; // use a known cluster name -// get a bearer token from Google -const googleAuthApi = useApi(googleAuthApiRef); -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`; - -// fetch namespaces -await fetch(`${kubernetesProxyEndpoint}/api/v1/namespaces`, { - method: 'GET', - headers: { - 'Backstage-Kubernetes-Cluster': CLUSTER_NAME, - 'Backstage-Kubernetes-Authorization': `Bearer ${token}`, - Authorization: `Bearer ${userToken}`, - }, -}); +const kubernetesApi = useApi(kubernetesApiRef); +await kubernetesApi.proxy(CLUSTER_NAME, '/api/v1/namespaces'); ``` ## How it works @@ -69,15 +43,9 @@ 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 +The proxy expects a `KubernetesAuthTranslator` to be provided that is used to decorate all requests with `Auth` by default. It does this by supplying a `serviceAccountToken` field into `clusterDetails` using the defined `authProvider` in `clusterDetails`. -Until some security and permission decisions are made (see [this -conversation](https://github.com/backstage/backstage/pull/13026/files#r1029376939) -for context), contributors consuming the proxy endpoint in their plugin code are -responsible for negotiating their own bearer token out-of-band. This requires -knowing some auth details about the cluster being contacted -- in practice, only -clusters with [client side auth -providers](https://backstage.io/docs/features/kubernetes/authentication#client-side-providers) can reasonably be reached. +## Authentication The proxy has no provisions for mTLS, so it cannot be used to connect to clusters using the [x509 Client diff --git a/docs/features/software-catalog/descriptor-format.md b/docs/features/software-catalog/descriptor-format.md index 52ba540430..9fb57cb82f 100644 --- a/docs/features/software-catalog/descriptor-format.md +++ b/docs/features/software-catalog/descriptor-format.md @@ -400,12 +400,8 @@ follows. // ... "relations": [ { - "target": { - "kind": "group", - "namespace": "default", - "name": "dev.infra" - }, - "type": "ownedBy" + "type": "ownedBy", + "targetRef": "group:default/dev.infra" } ], "spec": { @@ -417,11 +413,11 @@ follows. The fields of a relation are: -| Field | Type | Description | -| ---------- | ------ | -------------------------------------------------------------------------------- | -| `target` | Object | A complete [compound reference](references.md) to the other end of the relation. | -| `type` | String | The type of relation FROM a source entity TO the target entity. | -| `metadata` | Object | Reserved for future use. | +| Field | Type | Description | +| ----------- | ------ | -------------------------------------------------------------------------- | +| `targetRef` | String | A full [entity reference](references.md) to the other end of the relation. | +| `type` | String | The type of relation FROM a source entity TO the target entity. | +| `metadata` | Object | Reserved for future use. | Entity descriptor YAML files are not supposed to contain this field. Instead, catalog processors analyze the entity descriptor data and its surroundings, and diff --git a/docs/integrations/azure/discovery.md b/docs/integrations/azure/discovery.md index 8dd5da85c9..7b91308b56 100644 --- a/docs/integrations/azure/discovery.md +++ b/docs/integrations/azure/discovery.md @@ -67,7 +67,7 @@ The parameters available are: - **`host:`** _(optional)_ Leave empty for Cloud hosted, otherwise set to your self-hosted instance host. - **`organization:`** Your Organization slug (or Collection for on-premise users). Required. -- **`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"'`. +- **`project:`** _(required)_ Your project slug. Wildcards are supported as shown on the examples above. Using '\*' will search all projects. 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. diff --git a/docs/integrations/bitbucketCloud/discovery.md b/docs/integrations/bitbucketCloud/discovery.md index c5a7eee4a0..6e1533dea0 100644 --- a/docs/integrations/bitbucketCloud/discovery.md +++ b/docs/integrations/bitbucketCloud/discovery.md @@ -76,36 +76,37 @@ Additionally, you need to decide how you want to receive events from external so Set up your provider -```ts title="packages/backend/src/plugins/catalogEventBasedProviders.ts" +```ts title="packages/backend/src/plugins/catalog.ts" +import { CatalogBuilder } from '@backstage/plugin-catalog-backend'; /* highlight-add-start */ -import { CatalogClient } from '@backstage/catalog-client'; import { BitbucketCloudEntityProvider } from '@backstage/plugin-catalog-backend-module-bitbucket-cloud'; /* highlight-add-end */ -import { EntityProvider } from '@backstage/plugin-catalog-node'; -import { EventSubscriber } from '@backstage/plugin-events-node'; + +import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend'; +import { Router } from 'express'; import { PluginEnvironment } from '../types'; -export default async function createCatalogEventBasedProviders( - /* highlight-remove-next-line */ - _: PluginEnvironment, - /* highlight-add-next-line */ +export default async function createPlugin( env: PluginEnvironment, -): Promise> { - const providers: Array< - (EntityProvider & EventSubscriber) | Array - > = []; - // add your event-based entity providers here +): Promise { + const builder = await CatalogBuilder.create(env); + builder.addProcessor(new ScaffolderEntitiesProcessor()); /* highlight-add-start */ - providers.push( - BitbucketCloudEntityProvider.fromConfig(env.config, { + const bitbucketCloudProvider = BitbucketCloudEntityProvider.fromConfig( + env.config, + { catalogApi: new CatalogClient({ discoveryApi: env.discovery }), logger: env.logger, scheduler: env.scheduler, tokenManager: env.tokenManager, - }), + }, ); + env.eventBroker.subscribe(bitbucketCloudProvider); + builder.addEntityProvider(bitbucketCloudProvider); /* highlight-add-end */ - return providers.flat(); + const { processingEngine, router } = await builder.build(); + await processingEngine.start(); + return router; } ``` diff --git a/docs/integrations/github/discovery.md b/docs/integrations/github/discovery.md index fb65173b28..7d7744cb09 100644 --- a/docs/integrations/github/discovery.md +++ b/docs/integrations/github/discovery.md @@ -69,37 +69,36 @@ Additionally, you need to decide how you want to receive events from external so Set up your provider -```ts title="packages/backend/src/plugins/catalogEventBasedProviders.ts" +```ts title="packages/backend/src/plugins/catalog.ts" +import { CatalogBuilder } from '@backstage/plugin-catalog-backend'; /* highlight-add-next-line */ import { GithubEntityProvider } from '@backstage/plugin-catalog-backend-module-github'; -import { EntityProvider } from '@backstage/plugin-catalog-node'; -import { EventSubscriber } from '@backstage/plugin-events-node'; +import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend'; +import { Router } from 'express'; import { PluginEnvironment } from '../types'; -export default async function createCatalogEventBasedProviders( - /* highlight-remove-next-line */ - _: PluginEnvironment, - /* highlight-add-next-line */ + +export default async function createPlugin( env: PluginEnvironment, -): Promise> { - const providers: Array< - (EntityProvider & EventSubscriber) | Array - > = []; - // add your event-based entity providers here +): Promise { + const builder = await CatalogBuilder.create(env); + builder.addProcessor(new ScaffolderEntitiesProcessor()); /* highlight-add-start */ - providers.push( - GithubEntityProvider.fromConfig(env.config, { - logger: env.logger, - // optional: alternatively, use scheduler with schedule defined in app-config.yaml - schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { minutes: 30 }, - timeout: { minutes: 3 }, - }), - // optional: alternatively, use schedule - scheduler: env.scheduler, + const githubProvider = GithubEntityProvider.fromConfig(env.config, { + logger: env.logger, + // optional: alternatively, use scheduler with schedule defined in app-config.yaml + schedule: env.scheduler.createScheduledTaskRunner({ + frequency: { minutes: 30 }, + timeout: { minutes: 3 }, }), - ); + // optional: alternatively, use schedule + scheduler: env.scheduler, + }); + env.eventBroker.subscribe(githubProvider); + builder.addEntityProvider(demoProvider); /* highlight-add-end */ - return providers.flat(); + const { processingEngine, router } = await builder.build(); + await processingEngine.start(); + return router; } ``` diff --git a/docs/integrations/github/org.md b/docs/integrations/github/org.md index 8f67e2a43f..ccffe60bd1 100644 --- a/docs/integrations/github/org.md +++ b/docs/integrations/github/org.md @@ -79,25 +79,21 @@ Additionally, you need to decide how you want to receive events from external so Set up your provider -```ts title="packages/backend/src/plugins/catalogEventBasedProviders.ts" +```ts title="packages/backend/src/plugins/catalog.ts" +import { CatalogBuilder } from '@backstage/plugin-catalog-backend'; /* highlight-add-next-line */ import { GithubOrgEntityProvider } from '@backstage/plugin-catalog-backend-module-github'; -import { EntityProvider } from '@backstage/plugin-catalog-node'; -import { EventSubscriber } from '@backstage/plugin-events-node'; +import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend'; +import { Router } from 'express'; import { PluginEnvironment } from '../types'; -export default async function createCatalogEventBasedProviders( - /* highlight-remove-next-line */ - _: PluginEnvironment, - /* highlight-add-next-line */ + +export default async function createPlugin( env: PluginEnvironment, -): Promise> { - const providers: Array< - (EntityProvider & EventSubscriber) | Array - > = []; - // add your event-based entity providers here +): Promise { + const builder = await CatalogBuilder.create(env); + builder.addProcessor(new ScaffolderEntitiesProcessor()); /* highlight-add-start */ - providers.push( - GithubOrgEntityProvider.fromConfig(env.config, { + const githubOrgProvider = GithubOrgEntityProvider.fromConfig(env.config, { id: 'production', orgUrl: 'https://github.com/backstage', logger: env.logger, @@ -105,10 +101,12 @@ export default async function createCatalogEventBasedProviders( frequency: { minutes: 60 }, timeout: { minutes: 15 }, }), - }), - ); + env.eventBroker.subscribe(githubOrgProvider); + builder.addEntityProvider(githubOrgProvider); /* highlight-add-end */ - return providers.flat(); + const { processingEngine, router } = await builder.build(); + await processingEngine.start(); + return router; } ``` 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 103e463cda..e714301ded 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@~3.18.0 +$ yarn workspace @internal/plugin-todo-list-backend add @backstage/plugin-permission-node zod ``` Create a new `plugins/todo-list-backend/src/service/rules.ts` file and append the following code: diff --git a/docs/plugins/backend-plugin.md b/docs/plugins/backend-plugin.md index 9ce835f5f5..73b8f9027a 100644 --- a/docs/plugins/backend-plugin.md +++ b/docs/plugins/backend-plugin.md @@ -184,9 +184,10 @@ export async function createRouter( options: RouterOptions, ): Promise { const router = Router(); + const { identity } = options; router.post('/example', async (req, res) => { - const identity = await identity.getIdentity({ request: req }); + const userIdentity = await identity.getIdentity({ request: req }); ... }); ``` diff --git a/docs/releases/v1.13.0-next.2-changelog.md b/docs/releases/v1.13.0-next.2-changelog.md new file mode 100644 index 0000000000..a6c4808306 --- /dev/null +++ b/docs/releases/v1.13.0-next.2-changelog.md @@ -0,0 +1,2337 @@ +# Release v1.13.0-next.2 + +## @backstage/plugin-kubernetes-backend@0.10.0-next.2 + +### Minor Changes + +- e6c7c850129: Plugins that instantiate the `KubernetesProxy` must now provide a parameter of the type `KubernetesProxyOptions` which includes providing a `KubernetesAuthTranslator`. The `KubernetesBuilder` now builds its own `KubernetesAuthTranslatorMap` that it provides to the `KubernetesProxy`. The `DispatchingKubernetesAuthTranslator` expects a `KubernetesTranslatorMap` to be provided as a parameter. The `KubernetesBuilder` now has a method called `setAuthTranslatorMap` which allows integrators to bring their own `KubernetesAuthTranslator's` to the `KubernetesPlugin`. + +### Patch Changes + +- 76e8f08fa24: fix localKubectlProxy auth provider fetching +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-catalog-node@1.3.5-next.2 + - @backstage/plugin-kubernetes-common@0.6.2-next.1 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-scaffolder@1.13.0-next.2 + +### Minor Changes + +- cf18c32934a: The Installed Actions page now shows details for nested objects and arrays + +### Patch Changes + +- 90dda42cfd2: bug: Invert `templateFilter` predicate to align with `Array.filter` +- 34dab7ee7f8: `scaffolder/next`: bump `rjsf` dependencies to `5.5.0` +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/plugin-scaffolder-react@1.3.0-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + - @backstage/plugin-scaffolder-common@1.2.7-next.1 + +## @backstage/plugin-search@1.2.0-next.2 + +### Minor Changes + +- d6b73b0380d: Search modal auto closes on location change + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + +## @backstage/app-defaults@1.3.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + +## @backstage/backend-app-api@0.4.2-next.2 + +### Patch Changes + +- 5c7ce585824: Allow an additionalConfig to be provided to loadBackendConfig that fetches config values during runtime. +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/cli-common@0.1.12 + - @backstage/config@1.0.7 + - @backstage/config-loader@1.1.9 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + +## @backstage/backend-common@0.18.4-next.2 + +### Patch Changes + +- 5c7ce585824: Allow an additionalConfig to be provided to loadBackendConfig that fetches config values during runtime. +- Updated dependencies + - @backstage/backend-app-api@0.4.2-next.2 + - @backstage/backend-dev-utils@0.1.1 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/cli-common@0.1.12 + - @backstage/config@1.0.7 + - @backstage/config-loader@1.1.9 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-aws-node@0.1.2 + - @backstage/types@1.0.2 + +## @backstage/backend-defaults@0.1.9-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-app-api@0.4.2-next.2 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + +## @backstage/backend-plugin-api@0.5.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/backend-tasks@0.5.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + +## @backstage/backend-test-utils@0.1.36-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-app-api@0.4.2-next.2 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + +## @backstage/catalog-client@1.4.1-next.0 + +### Patch Changes + +- c1c4e080b79: Fixed bug in `queryEntities` of `CatalogClient` where the `sortField` is supposed to be changed to `orderField`. +- Updated dependencies + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + +## @backstage/cli@0.22.6-next.2 + +### Patch Changes + +- 8075b67e64c: When building a backend package with dependencies any `--config ` options will now be forwarded to any dependent app package builds, unless the build script in the app package already contains a `--config` option. +- Updated dependencies + - @backstage/cli-common@0.1.12 + - @backstage/config@1.0.7 + - @backstage/config-loader@1.1.9 + - @backstage/errors@1.1.5 + - @backstage/eslint-plugin@0.1.3-next.0 + - @backstage/release-manifests@0.0.9 + - @backstage/types@1.0.2 + +## @backstage/core-app-api@1.7.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + +## @backstage/core-components@0.12.6-next.2 + +### Patch Changes + +- 67140d9f96f: Upgrade `react-virtualized-auto-sizer´ to version `^1.0.11\` +- 7e60bee2dea: Split the `BackstageSidebar` style `drawer` class, such that the `width` property is in a separate `drawerWidth` class instead. This makes it such that you can style the `drawer` class in your theme again. +- Updated dependencies + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/version-bridge@1.0.4-next.0 + +## @backstage/core-plugin-api@1.5.1-next.1 + +### Patch Changes + +- 2898b6c8d52: Minor type tweaks for TypeScript 5.0 +- Updated dependencies + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + +## @backstage/create-app@0.4.39-next.2 + +### Patch Changes + +- 2945923b133: Upgraded the TypeScript version to 5.0 + + To apply this change in your own project, switch the TypeScript version in your root `package.json`: + + ```diff + - "typescript": "~4.6.4", + + "typescript": "~5.0.0", + ``` + +- Updated dependencies + - @backstage/cli-common@0.1.12 + +## @backstage/dev-utils@1.0.14-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/app-defaults@1.3.0-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/test-utils@1.3.0-next.2 + - @backstage/theme@0.2.19-next.0 + +## @backstage/integration-react@1.1.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @techdocs/cli@1.4.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/cli-common@0.1.12 + - @backstage/config@1.0.7 + - @backstage/plugin-techdocs-node@1.6.1-next.2 + +## @backstage/test-utils@1.3.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + +## @backstage/plugin-adr@0.4.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-adr-common@0.2.8-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + +## @backstage/plugin-adr-backend@0.3.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-adr-common@0.2.8-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-airbrake@0.3.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/dev-utils@1.0.14-next.2 + - @backstage/test-utils@1.3.0-next.2 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-airbrake-backend@0.2.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + +## @backstage/plugin-allure@0.1.33-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-analytics-module-ga@0.1.28-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-apache-airflow@0.2.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + +## @backstage/plugin-api-docs@0.9.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog@1.10.0-next.2 + +## @backstage/plugin-apollo-explorer@0.1.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-app-backend@0.3.44-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/config-loader@1.1.9 + - @backstage/types@1.0.2 + +## @backstage/plugin-auth-backend@0.18.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + +## @backstage/plugin-auth-node@0.2.13-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + +## @backstage/plugin-azure-devops@0.2.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-azure-devops-common@0.3.0 + +## @backstage/plugin-azure-devops-backend@0.3.23-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-azure-devops-common@0.3.0 + +## @backstage/plugin-azure-sites@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-azure-sites-common@0.1.0 + +## @backstage/plugin-azure-sites-backend@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-azure-sites-common@0.1.0 + +## @backstage/plugin-badges@0.2.41-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-badges-backend@0.1.38-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + +## @backstage/plugin-bazaar@0.2.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.22.6-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog@1.10.0-next.2 + +## @backstage/plugin-bazaar-backend@0.2.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + +## @backstage/plugin-bitrise@0.1.44-next.2 + +### Patch Changes + +- 55a969fe574: Bumped `recharts` dependency to `^2.5.0`. +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-catalog@1.10.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + +## @backstage/plugin-catalog-backend@1.8.1-next.2 + +### Patch Changes + +- 62a725e3a94: Use the `LocationSpec` type from the `catalog-common` package in place of the deprecated `LocationSpec` from the `catalog-node` package. +- c36b89f2af3: Fixed bug in the `DefaultCatalogProcessingEngine` where entities that contained multiple different types of relations for the same source entity would not properly trigger stitching for that source entity. +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-scaffolder-common@1.2.7-next.1 + - @backstage/plugin-search-backend-module-catalog@0.1.0-next.1 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-catalog-backend-module-aws@0.1.18-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + - @backstage/plugin-kubernetes-common@0.6.2-next.1 + +## @backstage/plugin-catalog-backend-module-azure@0.1.15-next.2 + +### Patch Changes + +- 62a725e3a94: Use the `LocationSpec` type from the `catalog-common` package in place of the deprecated `LocationSpec` from the `catalog-node` package. +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.11-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-bitbucket-cloud-common@0.2.5-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.11-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.5-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.9-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-backend-module-github@0.2.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.8.1-next.2 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-catalog-backend-module-gitlab@0.2.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.3.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.8.1-next.2 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-catalog-node@1.3.5-next.2 + - @backstage/plugin-events-node@0.2.5-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.11-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.3-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.8.1-next.2 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-catalog-graph@0.2.29-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-catalog-import@0.9.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + +## @backstage/plugin-catalog-node@1.3.5-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + +## @backstage/plugin-catalog-react@1.4.1-next.2 + +### Patch Changes + +- 81bee24c5de: Fixed bug in catalog filters where you could not click on the text to select a value. +- 2898b6c8d52: Minor type tweaks for TypeScript 5.0 +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + +## @backstage/plugin-cicd-statistics@0.1.19-next.2 + +### Patch Changes + +- 55a969fe574: Bumped `recharts` dependency to `^2.5.0`. +- Updated dependencies + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.13-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-cicd-statistics@0.1.19-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + +## @backstage/plugin-circleci@0.3.17-next.2 + +### Patch Changes + +- d14ac997c36: Add hover over CircleCI avatar icon to show user name in builds table +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-cloudbuild@0.3.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-code-climate@0.1.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-code-coverage@0.2.10-next.2 + +### Patch Changes + +- 55a969fe574: Bumped `recharts` dependency to `^2.5.0`. +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-code-coverage-backend@0.2.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + +## @backstage/plugin-codescene@0.1.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-config-schema@0.1.40-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-cost-insights@0.12.6-next.2 + +### Patch Changes + +- 55a969fe574: Bumped `recharts` dependency to `^2.5.0`. +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-cost-insights-common@0.1.1 + +## @backstage/plugin-dynatrace@3.0.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-entity-feedback@0.2.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-entity-feedback-common@0.1.1-next.0 + +## @backstage/plugin-entity-feedback-backend@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-entity-feedback-common@0.1.1-next.0 + +## @backstage/plugin-entity-validation@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.0 + +## @backstage/plugin-events-backend@0.2.5-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-events-backend-module-aws-sqs@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-events-backend-module-azure@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-events-backend-module-gerrit@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-events-backend-module-github@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-events-backend-module-gitlab@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-events-backend-test-utils@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-events-node@0.2.5-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.5.1-next.2 + +## @backstage/plugin-explore@0.4.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-explore-common@0.0.1 + - @backstage/plugin-explore-react@0.0.28-next.1 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + +## @backstage/plugin-explore-backend@0.0.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-explore-common@0.0.1 + - @backstage/plugin-search-backend-module-explore@0.1.0-next.1 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-explore-react@0.0.28-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/plugin-explore-common@0.0.1 + +## @backstage/plugin-firehydrant@0.2.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-fossa@0.2.49-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-gcalendar@0.3.13-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-gcp-projects@0.3.36-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-git-release-manager@0.3.30-next.2 + +### Patch Changes + +- 55a969fe574: Bumped `recharts` dependency to `^2.5.0`. +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-github-actions@0.5.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-github-deployments@0.1.48-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-github-issues@0.2.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-github-pull-requests-board@0.1.11-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-gitops-profiles@0.3.35-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-gocd@0.1.23-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-graphiql@0.2.49-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-graphql-backend@0.1.34-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-catalog-graphql@0.3.20-next.1 + +## @backstage/plugin-graphql-voyager@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-home@0.4.33-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-ilert@0.2.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-jenkins@0.7.16-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-jenkins-common@0.1.15-next.0 + +## @backstage/plugin-jenkins-backend@0.1.34-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-jenkins-common@0.1.15-next.0 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-kafka@0.3.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-kafka-backend@0.2.37-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + +## @backstage/plugin-kubernetes@0.7.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-kubernetes-common@0.6.2-next.1 + +## @backstage/plugin-lighthouse@0.4.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-lighthouse-common@0.1.1 + +## @backstage/plugin-lighthouse-backend@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/plugin-lighthouse-common@0.1.1 + +## @backstage/plugin-linguist@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-linguist-common@0.1.0 + +## @backstage/plugin-linguist-backend@0.2.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-linguist-common@0.1.0 + +## @backstage/plugin-microsoft-calendar@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-newrelic@0.3.35-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-newrelic-dashboard@0.2.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + +## @backstage/plugin-octopus-deploy@0.1.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-org@0.6.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-org-react@0.1.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-pagerduty@0.5.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-periskop@0.1.15-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-periskop-backend@0.1.15-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + +## @backstage/plugin-permission-backend@0.5.19-next.2 + +### Patch Changes + +- 84946a580c4: Introduced alpha export of the `permissionPlugin` for use in the new backend system, along with a `permissionModuleAllowAllPolicy` that can be used to allow all requests. +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-permission-node@0.7.7-next.2 + +### Patch Changes + +- 788f0f5a152: Introduced alpha export of the `policyExtensionPoint` for use in the new backend system. +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-permission-react@0.4.12-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-playlist@0.1.8-next.2 + +### Patch Changes + +- 1b3c0546047: Added config properties to change dynamically the group noun for all the components in the UI +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + - @backstage/plugin-playlist-common@0.1.6-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + +## @backstage/plugin-playlist-backend@0.2.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-playlist-common@0.1.6-next.0 + +## @backstage/plugin-proxy-backend@0.2.38-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + +## @backstage/plugin-rollbar@0.4.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-rollbar-backend@0.1.41-next.2 + +### Patch Changes + +- 66b6cfc5716: Replace `camelcase-keys` dependency with one with better compatibility. +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + +## @backstage/plugin-scaffolder-backend@1.13.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.8.1-next.2 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-scaffolder-common@1.2.7-next.1 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.1.0-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.2 + - @backstage/plugin-scaffolder-backend@1.13.0-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.19-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.2 + - @backstage/plugin-scaffolder-backend@1.13.0-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.1.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.1.2-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.2 + - @backstage/plugin-scaffolder-backend@1.13.0-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.4-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.1.2-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.17-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.1.2-next.2 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + +## @backstage/plugin-scaffolder-node@0.1.2-next.2 + +### Patch Changes + +- 2898b6c8d52: Minor type tweaks for TypeScript 5.0 +- Updated dependencies + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/types@1.0.2 + - @backstage/plugin-scaffolder-common@1.2.7-next.1 + +## @backstage/plugin-scaffolder-react@1.3.0-next.2 + +### Patch Changes + +- 90dda42cfd2: bug: Invert `templateFilter` predicate to align with `Array.filter` +- 34dab7ee7f8: `scaffolder/next`: bump `rjsf` dependencies to `5.5.0` +- 2898b6c8d52: Minor type tweaks for TypeScript 5.0 +- Updated dependencies + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + - @backstage/plugin-scaffolder-common@1.2.7-next.1 + +## @backstage/plugin-search-backend@1.3.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-search-backend-module-catalog@0.1.0-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-search-backend-module-elasticsearch@1.2.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-search-backend-module-explore@0.1.0-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-explore-common@0.0.1 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-search-backend-module-pg@0.5.5-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-search-backend-module-techdocs@0.1.0-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-techdocs-node@1.6.1-next.2 + +## @backstage/plugin-search-backend-node@1.2.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-search-react@1.5.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-sentry@0.5.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-shortcuts@0.3.9-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-sonarqube@0.6.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-sonarqube-react@0.1.5-next.1 + +## @backstage/plugin-sonarqube-backend@0.1.9-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + +## @backstage/plugin-sonarqube-react@0.1.5-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + +## @backstage/plugin-splunk-on-call@0.4.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-stack-overflow@0.1.13-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/config@1.0.7 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-home@0.4.33-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + +## @backstage/plugin-stack-overflow-backend@0.1.13-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-stackstorm@0.1.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-tech-insights@0.3.9-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-tech-insights-common@0.2.10 + +## @backstage/plugin-tech-insights-backend@0.5.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-tech-insights-common@0.2.10 + - @backstage/plugin-tech-insights-node@0.4.2-next.2 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.28-next.2 + +### Patch Changes + +- 9cb1db6546a: When multiple fact retrievers are used for a check, allow for cases where only one returns a given fact +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-tech-insights-common@0.2.10 + - @backstage/plugin-tech-insights-node@0.4.2-next.2 + +## @backstage/plugin-tech-insights-node@0.4.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/plugin-tech-insights-common@0.2.10 + +## @backstage/plugin-tech-radar@0.6.3-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-techdocs@1.6.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + - @backstage/plugin-techdocs-react@1.1.5-next.2 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/plugin-techdocs@1.6.1-next.2 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/test-utils@1.3.0-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog@1.10.0-next.2 + - @backstage/plugin-search-react@1.5.2-next.2 + - @backstage/plugin-techdocs-react@1.1.5-next.2 + +## @backstage/plugin-techdocs-backend@1.6.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.0-next.1 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-techdocs-node@1.6.1-next.2 + +## @backstage/plugin-techdocs-module-addons-contrib@1.0.12-next.2 + +### Patch Changes + +- c657d0a610e: Bump `photoswipe` dependency to `^5.3.7`. +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-techdocs-react@1.1.5-next.2 + +## @backstage/plugin-techdocs-node@1.6.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-aws-node@0.1.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-techdocs-react@1.1.5-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/version-bridge@1.0.4-next.0 + +## @backstage/plugin-todo@0.2.19-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-todo-backend@0.1.41-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.2 + +## @backstage/plugin-user-settings@0.7.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-user-settings-backend@0.1.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + +## @backstage/plugin-vault@0.1.11-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/catalog-model@1.2.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-vault-backend@0.3.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + +## @backstage/plugin-xcmetrics@0.2.37-next.2 + +### Patch Changes + +- 55a969fe574: Bumped `recharts` dependency to `^2.5.0`. +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## example-app@0.2.82-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-circleci@0.3.17-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.12-next.2 + - @backstage/cli@0.22.6-next.2 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/plugin-scaffolder-react@1.3.0-next.2 + - @backstage/plugin-scaffolder@1.13.0-next.2 + - @backstage/plugin-code-coverage@0.2.10-next.2 + - @backstage/plugin-cost-insights@0.12.6-next.2 + - @backstage/plugin-playlist@0.1.8-next.2 + - @backstage/plugin-search@1.2.0-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/plugin-techdocs@1.6.1-next.2 + - @backstage/app-defaults@1.3.0-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-airbrake@0.3.17-next.2 + - @backstage/plugin-apache-airflow@0.2.10-next.2 + - @backstage/plugin-api-docs@0.9.2-next.2 + - @backstage/plugin-azure-devops@0.2.8-next.2 + - @backstage/plugin-azure-sites@0.1.6-next.2 + - @backstage/plugin-badges@0.2.41-next.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-graph@0.2.29-next.2 + - @backstage/plugin-catalog-import@0.9.7-next.2 + - @backstage/plugin-cloudbuild@0.3.17-next.2 + - @backstage/plugin-dynatrace@3.0.1-next.2 + - @backstage/plugin-entity-feedback@0.2.0-next.2 + - @backstage/plugin-explore@0.4.2-next.2 + - @backstage/plugin-gcalendar@0.3.13-next.2 + - @backstage/plugin-gcp-projects@0.3.36-next.2 + - @backstage/plugin-github-actions@0.5.17-next.2 + - @backstage/plugin-gocd@0.1.23-next.2 + - @backstage/plugin-graphiql@0.2.49-next.2 + - @backstage/plugin-home@0.4.33-next.2 + - @backstage/plugin-jenkins@0.7.16-next.2 + - @backstage/plugin-kafka@0.3.17-next.2 + - @backstage/plugin-kubernetes@0.7.10-next.2 + - @backstage/plugin-lighthouse@0.4.2-next.2 + - @backstage/plugin-linguist@0.1.2-next.2 + - @backstage/plugin-linguist-common@0.1.0 + - @backstage/plugin-microsoft-calendar@0.1.2-next.2 + - @backstage/plugin-newrelic@0.3.35-next.2 + - @backstage/plugin-newrelic-dashboard@0.2.10-next.2 + - @backstage/plugin-org@0.6.7-next.2 + - @backstage/plugin-pagerduty@0.5.10-next.2 + - @backstage/plugin-permission-react@0.4.12-next.1 + - @backstage/plugin-rollbar@0.4.17-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + - @backstage/plugin-sentry@0.5.2-next.2 + - @backstage/plugin-shortcuts@0.3.9-next.2 + - @backstage/plugin-stack-overflow@0.1.13-next.2 + - @backstage/plugin-stackstorm@0.1.1-next.2 + - @backstage/plugin-tech-insights@0.3.9-next.2 + - @backstage/plugin-tech-radar@0.6.3-next.2 + - @backstage/plugin-techdocs-react@1.1.5-next.2 + - @backstage/plugin-todo@0.2.19-next.2 + - @backstage/plugin-user-settings@0.7.2-next.2 + - @internal/plugin-catalog-customized@0.0.9-next.2 + +## example-backend@0.2.82-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-backend@0.10.0-next.2 + - @backstage/plugin-catalog-backend@1.8.1-next.2 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-permission-backend@0.5.19-next.2 + - @backstage/plugin-rollbar-backend@0.1.41-next.2 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.28-next.2 + - @backstage/plugin-scaffolder-backend@1.13.0-next.2 + - example-app@0.2.82-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-adr-backend@0.3.2-next.2 + - @backstage/plugin-app-backend@0.3.44-next.2 + - @backstage/plugin-auth-backend@0.18.2-next.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-azure-devops-backend@0.3.23-next.2 + - @backstage/plugin-azure-sites-backend@0.1.6-next.2 + - @backstage/plugin-badges-backend@0.1.38-next.2 + - @backstage/plugin-catalog-node@1.3.5-next.2 + - @backstage/plugin-code-coverage-backend@0.2.10-next.2 + - @backstage/plugin-entity-feedback-backend@0.1.2-next.2 + - @backstage/plugin-events-backend@0.2.5-next.2 + - @backstage/plugin-events-node@0.2.5-next.2 + - @backstage/plugin-explore-backend@0.0.6-next.2 + - @backstage/plugin-graphql-backend@0.1.34-next.2 + - @backstage/plugin-jenkins-backend@0.1.34-next.2 + - @backstage/plugin-kafka-backend@0.2.37-next.2 + - @backstage/plugin-lighthouse-backend@0.1.2-next.2 + - @backstage/plugin-linguist-backend@0.2.1-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-playlist-backend@0.2.7-next.2 + - @backstage/plugin-proxy-backend@0.2.38-next.2 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.12-next.2 + - @backstage/plugin-search-backend@1.3.0-next.2 + - @backstage/plugin-search-backend-module-elasticsearch@1.2.0-next.2 + - @backstage/plugin-search-backend-module-pg@0.5.5-next.2 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-tech-insights-backend@0.5.10-next.2 + - @backstage/plugin-tech-insights-node@0.4.2-next.2 + - @backstage/plugin-techdocs-backend@1.6.1-next.2 + - @backstage/plugin-todo-backend@0.1.41-next.2 + +## example-backend-next@0.0.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-backend@0.10.0-next.2 + - @backstage/plugin-catalog-backend@1.8.1-next.2 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-permission-backend@0.5.19-next.2 + - @backstage/plugin-scaffolder-backend@1.13.0-next.2 + - @backstage/backend-defaults@0.1.9-next.2 + - @backstage/plugin-app-backend@0.3.44-next.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend@1.3.0-next.2 + - @backstage/plugin-search-backend-module-catalog@0.1.0-next.1 + - @backstage/plugin-search-backend-module-explore@0.1.0-next.1 + - @backstage/plugin-search-backend-module-techdocs@0.1.0-next.1 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-techdocs-backend@1.6.1-next.2 + - @backstage/plugin-todo-backend@0.1.41-next.2 + +## e2e-test@0.2.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.4.39-next.2 + - @backstage/cli-common@0.1.12 + - @backstage/errors@1.1.5 + +## techdocs-cli-embedded-app@0.2.81-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.22.6-next.2 + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/plugin-techdocs@1.6.1-next.2 + - @backstage/app-defaults@1.3.0-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/test-utils@1.3.0-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog@1.10.0-next.2 + - @backstage/plugin-techdocs-react@1.1.5-next.2 + +## @internal/plugin-catalog-customized@0.0.9-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/plugin-catalog@1.10.0-next.2 + +## @internal/plugin-todo-list@1.0.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @internal/plugin-todo-list-backend@1.0.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 diff --git a/docs/releases/v1.13.0-next.3-changelog.md b/docs/releases/v1.13.0-next.3-changelog.md new file mode 100644 index 0000000000..80da2aaa77 --- /dev/null +++ b/docs/releases/v1.13.0-next.3-changelog.md @@ -0,0 +1,2087 @@ +# Release v1.13.0-next.3 + +## @backstage/catalog-model@1.3.0-next.0 + +### Minor Changes + +- be9c4228073: Modified the regex for DNS label validation to support IDN domains + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + +## @backstage/cli-node@0.1.0-next.0 + +### Minor Changes + +- 3156b0d85dc: Introduced the new `@backstage/cli-node` package, which provides utilities for use across Backstage CLIs. + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.12 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + +## @backstage/core-app-api@1.7.0-next.3 + +### Minor Changes + +- c15e0cedbe1: The `AuthConnector` interface now supports specifying a set of scopes when + refreshing a session. The `DefaultAuthConnector` implementation passes the + `scope` query parameter to the auth-backend plugin appropriately. The + `RefreshingAuthSessionManager` passes any scopes in its `GetSessionRequest` + appropriately. + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + +## @backstage/core-components@0.13.0-next.3 + +### Minor Changes + +- 01cd4e25754: **BREAKING:** Removing `Tabs` component from `core-components` as it is neither used in the core Backstage app nor in the monorepo plugins. If you are using this component in your instance please consider replacing it with the [Material UI `Tabs`](https://v4.mui.com/components/tabs/#tabs) component like the following: + + ```diff + - , + - content:
Label
, + - }]} + - /> + + + + + } + + /> + + + ``` + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/version-bridge@1.0.4-next.0 + +## @backstage/repo-tools@0.2.0-next.2 + +### Minor Changes + +- a876e69b20e: Adding two new commands to support OpenAPI spec writing, `schema:openapi:generate` to generate the Typescript file that `@backstage/backend-openapi-utils` needs for typing and `schema:openapi:verify` to verify that this file exists and matches your `src/schema/openapi.yaml` file. + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.12 + - @backstage/errors@1.1.5 + +## @backstage/plugin-catalog-backend@1.9.0-next.3 + +### Minor Changes + +- 92a4590fc3a: Add monorepo support to CodeOwnersProccesor. + +### Patch Changes + +- be5aca50114: Updates and moves OpenAPI spec to `src/schema/openapi.yaml` and uses `ApiRouter` type from `@backstage/backend-openapi-utils` to handle automatic types from the OpenAPI spec file. +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-scaffolder-common@1.2.7-next.2 + - @backstage/plugin-search-backend-module-catalog@0.1.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-catalog-react@1.5.0-next.3 + +### Minor Changes + +- a49fb39df5a: Attempt to load entity owner names in the EntityOwnerPicker through the `by-refs` endpoint. If `spec.profile.displayName` or `metadata.title` are populated, we now attempt to show those before showing the `humanizeEntityRef`'d version. + + **BREAKING**: `EntityOwnerFilter` now uses the full entity ref instead of the `humanizeEntityRef`. If you rely on `EntityOwnerFilter.values` or the `queryParameters.owners` of `useEntityList`, you will need to adjust your code like the following. + + ```tsx + const { queryParameters: { owners } } = useEntityList(); + // or + const { filter: { owners } } = useEntityList(); + + // Instead of, + if (owners.some(ref => ref === humanizeEntityRef(myEntity))) ... + + // You'll need to use, + if (owners.some(ref => ref === stringifyEntityRef(myEntity))) ... + ``` + +### Patch Changes + +- d1f5324dff7: Reverted the check if the selected options list is different than the query parameters list before invoking `setSelectedOptions` method. This was preventing updating list items when a query string was already present in the URL when loading the page. +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + +## @backstage/plugin-kubernetes@0.8.0-next.3 + +### Minor Changes + +- 754be7c5106: refactor kubernetes error detection to make way for proposed solutions + + **BREAKING**: `DetectedError` now appears once per Kubernetes resource per error instead of for all resources which have that error, `namespace` and `name` fields are now in `sourceRef` object `message` is now a `string` instead of a `string[]`. `ErrorDetectableKind` has been removed. + +### Patch Changes + +- e7fb0117485: fixes a bug where an empty authorization header was provided to the proxy endpoint when a cluster had a server-side auth provider +- c159ab64a60: `KubernetesBackendClient` now requires a `kubernetesAuthProvidersApi` value to be provided. `KubernetesApi` interface now has a proxy method requirement. +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-kubernetes-common@0.6.2-next.2 + +## @backstage/plugin-lighthouse-backend@0.2.0-next.3 + +### Minor Changes + +- 7a89555e73d: Lighthouse backend plugin can now use an authenticated catalog backend API. + + - Breaking \* You must now pass the `tokenManager` to the lighthouse `createScheduler`. + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/plugin-lighthouse-common@0.1.1 + +## @backstage/plugin-scaffolder-backend@1.13.0-next.3 + +### Minor Changes + +- d7c8c222e25: Allow for a commit message to differ from the PR title when publishing a GitHub pull request. + +### Patch Changes + +- f37a95adcd8: Stripped entity types and namespace before passing to GitHub API +- Updated dependencies + - @backstage/plugin-catalog-backend@1.9.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-scaffolder-common@1.2.7-next.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.3 + +## @backstage/app-defaults@1.3.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + +## @backstage/backend-openapi-utils@0.0.1-next.0 + +### Patch Changes + +- 62fe726fdc5: New plugin! Primary focus is to support types on `Router`s in backend packages. Developers can use the `ApiRouter` from this package in their packages to support a typed experience based on their OpenAPI specs. The `ApiRouter` supports request bodies, response bodies, query parameters and path parameters, as well as full path-based context of the above. This means no more guessing on an endpoint like `req.post('/not-my-route', (req, res)=>{res.send(req.body.badparam)})`. Typescript would catch `/not-my-route`, `req.body.badparam`, `res.send(req.body.badparam)`. + +## @backstage/catalog-client@1.4.1-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/errors@1.1.5 + +## @backstage/cli@0.22.6-next.3 + +### Patch Changes + +- 3156b0d85dc: Internal refactor to move many internal utilities to the new `@backstage/cli-node` package. +- 9bbb00d5b49: Updated dependency `@swc/helpers` to `^0.5.0`. +- Updated dependencies + - @backstage/cli-node@0.1.0-next.0 + - @backstage/cli-common@0.1.12 + - @backstage/config@1.0.7 + - @backstage/config-loader@1.1.9 + - @backstage/errors@1.1.5 + - @backstage/eslint-plugin@0.1.3-next.0 + - @backstage/release-manifests@0.0.9 + - @backstage/types@1.0.2 + +## @backstage/create-app@0.4.39-next.3 + +### Patch Changes + +- Bumped create-app version. +- Updated dependencies + - @backstage/cli-common@0.1.12 + +## @backstage/dev-utils@1.0.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/app-defaults@1.3.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/test-utils@1.3.0-next.3 + - @backstage/theme@0.2.19-next.0 + +## @backstage/integration-react@1.1.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @techdocs/cli@1.4.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/cli-common@0.1.12 + - @backstage/config@1.0.7 + - @backstage/plugin-techdocs-node@1.6.1-next.3 + +## @backstage/test-utils@1.3.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + +## @backstage/plugin-adr@0.4.2-next.3 + +### Patch Changes + +- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories +- Updated dependencies + - @backstage/plugin-adr-common@0.2.8-next.1 + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + +## @backstage/plugin-adr-backend@0.3.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-adr-common@0.2.8-next.1 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-adr-common@0.2.8-next.1 + +### Patch Changes + +- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-airbrake@0.3.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/dev-utils@1.0.14-next.3 + - @backstage/test-utils@1.3.0-next.3 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-allure@0.1.33-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-analytics-module-ga@0.1.28-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-apache-airflow@0.2.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + +## @backstage/plugin-api-docs@0.9.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog@1.10.0-next.3 + +## @backstage/plugin-apollo-explorer@0.1.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-auth-backend@0.18.2-next.3 + +### Patch Changes + +- 475abd1dc3f: The `microsoft` (i.e. Azure) auth provider now supports negotiating tokens for + Azure resources besides Microsoft Graph (e.g. AKS, Virtual Machines, Machine + Learning Services, etc.). When the `/frame/handler` endpoint is called with an + authorization code for a non-Microsoft Graph scope, the user profile will not be + fetched. Similarly no user profile or photo data will be fetched by the backend + if the `/refresh` endpoint is called with the `scope` query parameter strictly + containing scopes for resources besides Microsoft Graph. + + Furthermore, the `offline_access` scope will be requested by default, even when + it is not mentioned in the argument to `getAccessToken`. This means that any + Azure access token can be automatically refreshed, even if the user has not + signed in via Azure. + +- 6a900951336: Add common identify resolvers for `oidc` auth provider. + +- a0ef1ec7349: Export Azure Easy Auth provider so it can actually be used. + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + +## @backstage/plugin-azure-devops@0.2.8-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-azure-devops-common@0.3.0 + +## @backstage/plugin-azure-sites@0.1.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-azure-sites-common@0.1.0 + +## @backstage/plugin-badges@0.2.41-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-badges-backend@0.1.38-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + +## @backstage/plugin-bazaar@0.2.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.22.6-next.3 + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog@1.10.0-next.3 + +## @backstage/plugin-bitrise@0.1.44-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-catalog@1.10.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + +## @backstage/plugin-catalog-backend-module-aws@0.1.18-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + - @backstage/plugin-kubernetes-common@0.6.2-next.2 + +## @backstage/plugin-catalog-backend-module-azure@0.1.15-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.11-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-bitbucket-cloud-common@0.2.5-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.11-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.5-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.9-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-backend-module-github@0.2.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.9.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-catalog-backend-module-gitlab@0.2.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.3.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.9.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-catalog-node@1.3.5-next.3 + - @backstage/plugin-events-node@0.2.5-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.11-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.3-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.9.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-catalog-common@1.0.13-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-catalog-graph@0.2.29-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-catalog-graphql@0.3.20-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + +## @backstage/plugin-catalog-import@0.9.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/plugin-catalog-common@1.0.13-next.1 + +## @backstage/plugin-catalog-node@1.3.5-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + +## @backstage/plugin-cicd-statistics@0.1.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-plugin-api@1.5.1-next.1 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/plugin-cicd-statistics@0.1.19-next.3 + +## @backstage/plugin-circleci@0.3.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-cloudbuild@0.3.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-code-climate@0.1.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-code-coverage@0.2.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-code-coverage-backend@0.2.10-next.3 + +### Patch Changes + +- d3645a62b74: Bump `xml2js` from 0.4.23 to 0.5.0 +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + +## @backstage/plugin-codescene@0.1.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-config-schema@0.1.40-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-cost-insights@0.12.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-cost-insights-common@0.1.1 + +## @backstage/plugin-dynatrace@4.0.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-entity-feedback@0.2.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-entity-feedback-common@0.1.1-next.0 + +## @backstage/plugin-entity-feedback-backend@0.1.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-entity-feedback-common@0.1.1-next.0 + +## @backstage/plugin-entity-validation@0.1.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.1 + +## @backstage/plugin-events-backend@0.2.5-next.3 + +### Patch Changes + +- 3538d9ad2c4: Export `DefaultEventBroker` to allow decoupling of the catalog and events backends in the `example-backend`. + + Please look at `plugins/events-backend/README.md` for the currently advised way to set up the event backend and catalog providers. + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-events-node@0.2.5-next.2 + +## @backstage/plugin-explore@0.4.2-next.3 + +### Patch Changes + +- f9ea944422e: Extracted generic `CatalogKindExploreContent` component so that it is easy to show any component kinds in their own tab in the explore page. +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-explore-common@0.0.1 + - @backstage/plugin-explore-react@0.0.28-next.1 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + +## @backstage/plugin-firehydrant@0.2.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-fossa@0.2.49-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-gcalendar@0.3.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-gcp-projects@0.3.36-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-git-release-manager@0.3.30-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-github-actions@0.5.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-github-deployments@0.1.48-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-github-issues@0.2.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-github-pull-requests-board@0.1.11-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-gitops-profiles@0.3.35-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-gocd@0.1.23-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-graphiql@0.2.49-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-graphql-backend@0.1.34-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-catalog-graphql@0.3.20-next.2 + +## @backstage/plugin-graphql-voyager@0.1.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-home@0.4.33-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-ilert@0.2.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-jenkins@0.7.16-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-jenkins-common@0.1.15-next.1 + +## @backstage/plugin-jenkins-backend@0.1.34-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-jenkins-common@0.1.15-next.1 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-jenkins-common@0.1.15-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-kafka@0.3.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-kafka-backend@0.2.37-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + +## @backstage/plugin-kubernetes-backend@0.10.0-next.3 + +### Patch Changes + +- 56a28b559e5: Updated kubernetes config schema to match available options +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-catalog-node@1.3.5-next.3 + - @backstage/plugin-kubernetes-common@0.6.2-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + +## @backstage/plugin-kubernetes-common@0.6.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-lighthouse@0.4.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-lighthouse-common@0.1.1 + +## @backstage/plugin-linguist@0.1.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-linguist-common@0.1.0 + +## @backstage/plugin-linguist-backend@0.2.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-linguist-common@0.1.0 + +## @backstage/plugin-microsoft-calendar@0.1.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-newrelic@0.3.35-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-newrelic-dashboard@0.2.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + +## @backstage/plugin-octopus-deploy@0.1.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-org@0.6.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-org-react@0.1.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-pagerduty@0.5.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-periskop@0.1.15-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-playlist@0.1.8-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + - @backstage/plugin-playlist-common@0.1.6-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + +## @backstage/plugin-playlist-backend@0.2.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-playlist-common@0.1.6-next.0 + +## @backstage/plugin-rollbar@0.4.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-scaffolder@1.13.0-next.3 + +### Patch Changes + +- 7917cfccfc7: Fix some hard-coded white font colors in scaffolder +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/plugin-scaffolder-react@1.3.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-permission-react@0.4.12-next.1 + - @backstage/plugin-scaffolder-common@1.2.7-next.2 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.1.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.13.0-next.3 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.3 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.13.0-next.3 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.3 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.1.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-scaffolder-node@0.1.2-next.3 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.13.0-next.3 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.3 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.4-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/plugin-scaffolder-node@0.1.2-next.3 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/config@1.0.7 + - @backstage/types@1.0.2 + - @backstage/plugin-scaffolder-node@0.1.2-next.3 + +## @backstage/plugin-scaffolder-common@1.2.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + +## @backstage/plugin-scaffolder-node@0.1.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/types@1.0.2 + - @backstage/plugin-scaffolder-common@1.2.7-next.2 + +## @backstage/plugin-scaffolder-react@1.3.0-next.3 + +### Patch Changes + +- d2488f5e54c: Add indication that the validators are running +- 8c40997df44: Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.5.2`. +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + - @backstage/plugin-scaffolder-common@1.2.7-next.2 + +## @backstage/plugin-search@1.2.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + +## @backstage/plugin-search-backend-module-catalog@0.1.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-search-backend-module-elasticsearch@1.2.0-next.3 + +### Patch Changes + +- 104b6b19487: fix ElasticSearch throwing error when index is missing +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/config@1.0.7 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-search-backend-module-techdocs@0.1.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-techdocs-node@1.6.1-next.3 + +## @backstage/plugin-search-react@1.5.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/version-bridge@1.0.4-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-sentry@0.5.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-shortcuts@0.3.9-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-sonarqube@0.6.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-sonarqube-react@0.1.5-next.2 + +## @backstage/plugin-sonarqube-react@0.1.5-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-plugin-api@1.5.1-next.1 + +## @backstage/plugin-splunk-on-call@0.4.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-stack-overflow@0.1.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-home@0.4.33-next.3 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + +## @backstage/plugin-stackstorm@0.1.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-tech-insights@0.3.9-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + - @backstage/plugin-tech-insights-common@0.2.10 + +## @backstage/plugin-tech-insights-backend@0.5.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-tech-insights-common@0.2.10 + - @backstage/plugin-tech-insights-node@0.4.2-next.2 + +## @backstage/plugin-tech-radar@0.6.3-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-techdocs@1.6.1-next.3 + +### Patch Changes + +- 2e493480626: Fix a bug in sub-path navigation due to double addition of a sub-path if one was set up in `app.baseUrl`. +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + - @backstage/plugin-techdocs-react@1.1.5-next.3 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/plugin-techdocs@1.6.1-next.3 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/test-utils@1.3.0-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog@1.10.0-next.3 + - @backstage/plugin-search-react@1.5.2-next.3 + - @backstage/plugin-techdocs-react@1.1.5-next.3 + +## @backstage/plugin-techdocs-backend@1.6.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-techdocs-node@1.6.1-next.3 + +## @backstage/plugin-techdocs-module-addons-contrib@1.0.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-techdocs-react@1.1.5-next.3 + +## @backstage/plugin-techdocs-node@1.6.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-aws-node@0.1.2 + - @backstage/plugin-search-common@1.2.3-next.0 + +## @backstage/plugin-techdocs-react@1.1.5-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/version-bridge@1.0.4-next.0 + +## @backstage/plugin-todo@0.2.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-todo-backend@0.1.41-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-catalog-node@1.3.5-next.3 + +## @backstage/plugin-user-settings@0.7.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + - @backstage/types@1.0.2 + +## @backstage/plugin-user-settings-backend@0.1.8-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + +## @backstage/plugin-vault@0.1.11-next.3 + +### Patch Changes + +- 7c7f8d38a51: Use `fetchApi` instead of raw `fetch` in order to pass auth header if necessary. +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## @backstage/plugin-xcmetrics@0.2.37-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/errors@1.1.5 + - @backstage/theme@0.2.19-next.0 + +## example-app@0.2.82-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes@0.8.0-next.3 + - @backstage/plugin-scaffolder@1.13.0-next.3 + - @backstage/cli@0.22.6-next.3 + - @backstage/plugin-explore@0.4.2-next.3 + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/plugin-scaffolder-react@1.3.0-next.3 + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/plugin-techdocs@1.6.1-next.3 + - @backstage/core-components@0.13.0-next.3 + - @backstage/app-defaults@1.3.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-airbrake@0.3.17-next.3 + - @backstage/plugin-apache-airflow@0.2.10-next.3 + - @backstage/plugin-api-docs@0.9.2-next.3 + - @backstage/plugin-azure-devops@0.2.8-next.3 + - @backstage/plugin-azure-sites@0.1.6-next.3 + - @backstage/plugin-badges@0.2.41-next.3 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-graph@0.2.29-next.3 + - @backstage/plugin-catalog-import@0.9.7-next.3 + - @backstage/plugin-circleci@0.3.17-next.3 + - @backstage/plugin-cloudbuild@0.3.17-next.3 + - @backstage/plugin-code-coverage@0.2.10-next.3 + - @backstage/plugin-cost-insights@0.12.6-next.3 + - @backstage/plugin-dynatrace@4.0.0-next.3 + - @backstage/plugin-entity-feedback@0.2.0-next.3 + - @backstage/plugin-gcalendar@0.3.13-next.3 + - @backstage/plugin-gcp-projects@0.3.36-next.3 + - @backstage/plugin-github-actions@0.5.17-next.3 + - @backstage/plugin-gocd@0.1.23-next.3 + - @backstage/plugin-graphiql@0.2.49-next.3 + - @backstage/plugin-home@0.4.33-next.3 + - @backstage/plugin-jenkins@0.7.16-next.3 + - @backstage/plugin-kafka@0.3.17-next.3 + - @backstage/plugin-lighthouse@0.4.2-next.3 + - @backstage/plugin-linguist@0.1.2-next.3 + - @backstage/plugin-linguist-common@0.1.0 + - @backstage/plugin-microsoft-calendar@0.1.2-next.3 + - @backstage/plugin-newrelic@0.3.35-next.3 + - @backstage/plugin-newrelic-dashboard@0.2.10-next.3 + - @backstage/plugin-org@0.6.7-next.3 + - @backstage/plugin-pagerduty@0.5.10-next.3 + - @backstage/plugin-permission-react@0.4.12-next.1 + - @backstage/plugin-playlist@0.1.8-next.3 + - @backstage/plugin-rollbar@0.4.17-next.3 + - @backstage/plugin-search@1.2.0-next.3 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + - @backstage/plugin-sentry@0.5.2-next.3 + - @backstage/plugin-shortcuts@0.3.9-next.3 + - @backstage/plugin-stack-overflow@0.1.13-next.3 + - @backstage/plugin-stackstorm@0.1.1-next.3 + - @backstage/plugin-tech-insights@0.3.9-next.3 + - @backstage/plugin-tech-radar@0.6.3-next.3 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.12-next.3 + - @backstage/plugin-techdocs-react@1.1.5-next.3 + - @backstage/plugin-todo@0.2.19-next.3 + - @backstage/plugin-user-settings@0.7.2-next.3 + - @internal/plugin-catalog-customized@0.0.9-next.3 + +## example-backend@0.2.82-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-backend@0.10.0-next.3 + - @backstage/plugin-catalog-backend@1.9.0-next.3 + - @backstage/plugin-code-coverage-backend@0.2.10-next.3 + - @backstage/plugin-lighthouse-backend@0.2.0-next.3 + - @backstage/plugin-auth-backend@0.18.2-next.3 + - @backstage/plugin-scaffolder-backend@1.13.0-next.3 + - @backstage/plugin-search-backend-module-elasticsearch@1.2.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/plugin-events-backend@0.2.5-next.3 + - example-app@0.2.82-next.3 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/catalog-client@1.4.1-next.1 + - @backstage/config@1.0.7 + - @backstage/integration@1.4.4-next.0 + - @backstage/plugin-adr-backend@0.3.2-next.3 + - @backstage/plugin-app-backend@0.3.44-next.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-azure-devops-backend@0.3.23-next.2 + - @backstage/plugin-azure-sites-backend@0.1.6-next.2 + - @backstage/plugin-badges-backend@0.1.38-next.3 + - @backstage/plugin-catalog-node@1.3.5-next.3 + - @backstage/plugin-entity-feedback-backend@0.1.2-next.3 + - @backstage/plugin-events-node@0.2.5-next.2 + - @backstage/plugin-explore-backend@0.0.6-next.2 + - @backstage/plugin-graphql-backend@0.1.34-next.3 + - @backstage/plugin-jenkins-backend@0.1.34-next.3 + - @backstage/plugin-kafka-backend@0.2.37-next.3 + - @backstage/plugin-linguist-backend@0.2.1-next.3 + - @backstage/plugin-permission-backend@0.5.19-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-playlist-backend@0.2.7-next.3 + - @backstage/plugin-proxy-backend@0.2.38-next.2 + - @backstage/plugin-rollbar-backend@0.1.41-next.2 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.12-next.3 + - @backstage/plugin-search-backend@1.3.0-next.2 + - @backstage/plugin-search-backend-module-pg@0.5.5-next.2 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-tech-insights-backend@0.5.10-next.3 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.28-next.2 + - @backstage/plugin-tech-insights-node@0.4.2-next.2 + - @backstage/plugin-techdocs-backend@1.6.1-next.3 + - @backstage/plugin-todo-backend@0.1.41-next.3 + +## example-backend-next@0.0.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-backend@0.10.0-next.3 + - @backstage/plugin-catalog-backend@1.9.0-next.3 + - @backstage/plugin-scaffolder-backend@1.13.0-next.3 + - @backstage/backend-defaults@0.1.9-next.2 + - @backstage/plugin-app-backend@0.3.44-next.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-backend@0.5.19-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-search-backend@1.3.0-next.2 + - @backstage/plugin-search-backend-module-catalog@0.1.0-next.2 + - @backstage/plugin-search-backend-module-explore@0.1.0-next.1 + - @backstage/plugin-search-backend-module-techdocs@0.1.0-next.2 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-techdocs-backend@1.6.1-next.3 + - @backstage/plugin-todo-backend@0.1.41-next.3 + +## e2e-test@0.2.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.4.39-next.3 + - @backstage/cli-common@0.1.12 + - @backstage/errors@1.1.5 + +## techdocs-cli-embedded-app@0.2.81-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.22.6-next.3 + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/plugin-techdocs@1.6.1-next.3 + - @backstage/core-components@0.13.0-next.3 + - @backstage/app-defaults@1.3.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/test-utils@1.3.0-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-catalog@1.10.0-next.3 + - @backstage/plugin-techdocs-react@1.1.5-next.3 + +## @internal/plugin-catalog-customized@0.0.9-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/plugin-catalog@1.10.0-next.3 + +## @internal/plugin-todo-list@1.0.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 diff --git a/lighthouserc.js b/lighthouserc.js new file mode 100644 index 0000000000..5d7e0e8017 --- /dev/null +++ b/lighthouserc.js @@ -0,0 +1,60 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +module.exports = { + ci: { + collect: { + url: [ + /** Software Catalog */ + 'http://localhost:3000/catalog', + 'http://localhost:3000/catalog-import', + 'http://localhost:3000/catalog/default/component/backstage', + /** TechDocs */ + 'http://localhost:3000/docs', + 'http://localhost:3000/docs/default/component/backstage', + /** Software Templates */ + 'http://localhost:3000/create', + 'http://localhost:3000/create/tasks', + 'http://localhost:3000/create/actions', + 'http://localhost:3000/create/edit', + 'http://localhost:3000/create/templates/default/react-ssr-template', + /** Search */ + 'http://localhost:3000/search', + ], + settings: { + onlyCategories: ['accessibility'], + // need to disable storage reset because of auth + disableStorageReset: true, + output: ['html', 'json'], + outputPath: './.lighthouseci/reports', + preset: 'desktop', + }, + startServerCommand: 'yarn dev', + startServerReadyTimeout: 600000, + numberOfRuns: 1, + puppeteerScript: './.lighthouseci/scripts/guest-auth.js', + startServerReadyPattern: 'Listening on :7007', + }, + assert: { + assertions: { + 'categories:performance': 'off', + 'categories:pwa': 'off', + 'categories:best-practices': 'off', + 'categories:seo': 'off', + 'categories:accessibility': ['error', { minScore: 0.85 }], + }, + }, + }, +}; diff --git a/microsite/data/plugins/api-spectral-linter.yaml b/microsite/data/plugins/api-spectral-linter.yaml new file mode 100644 index 0000000000..292279e324 --- /dev/null +++ b/microsite/data/plugins/api-spectral-linter.yaml @@ -0,0 +1,10 @@ +--- +title: API Spectral Linter +author: dweber019 +authorUrl: https://github.com/dweber019 +category: Linting +description: API Spectral Linter is a quality assurance tool that checks the compliance of API's specifications Spectral rule sets. +documentation: https://github.com/dweber019/backstage-plugin-api-docs-spectral-linter +iconUrl: https://raw.githubusercontent.com/dweber019/backstage-plugin-api-docs-spectral-linter/main/plugins/api-docs-spectral-linter/docs/pluginIcon.png +npmPackageName: '@dweber019/backstage-plugin-api-docs-spectral-linter' +addedDate: '2023-03-27' diff --git a/microsite/data/plugins/bulletin-board.yaml b/microsite/data/plugins/bulletin-board.yaml new file mode 100644 index 0000000000..67791f6f84 --- /dev/null +++ b/microsite/data/plugins/bulletin-board.yaml @@ -0,0 +1,10 @@ +--- +title: Bulletin Board +author: v-ngu +authorUrl: https://github.com/v-ngu +category: Discovery +description: Share interesting ideas, news and links with your teammates within Backstage. +documentation: https://github.com/v-ngu/backstage-plugin-bulletin-board +iconUrl: /img/bulletin-board.png +npmPackageName: 'backstage-plugin-bulletin-board' +addedDate: '2023-04-01' diff --git a/microsite/data/plugins/microcks.yaml b/microsite/data/plugins/microcks.yaml new file mode 100644 index 0000000000..4f94e5b465 --- /dev/null +++ b/microsite/data/plugins/microcks.yaml @@ -0,0 +1,12 @@ +--- +title: Microcks +author: Microcks +authorUrl: https://microcks.io +category: Discovery +description: Import API definitions (OpenAPI, AsyncAPI, gRPC) from Microcks instances, linking to their mock endpoints and test results. +documentation: https://github.com/microcks/microcks-backstage-provider +iconUrl: https://microcks.io/images/microcks-logo-blue.png +npmPackageName: '@microcks/microcks-backstage-provider' +tags: + - mock +addedDate: '2023-04-06' diff --git a/microsite/data/plugins/microsoft-calendar.yaml b/microsite/data/plugins/microsoft-calendar.yaml index 183c991761..a1eb981dd1 100644 --- a/microsite/data/plugins/microsoft-calendar.yaml +++ b/microsite/data/plugins/microsoft-calendar.yaml @@ -6,7 +6,6 @@ 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 diff --git a/microsite/data/plugins/microsoft-forms.yaml b/microsite/data/plugins/microsoft-forms.yaml new file mode 100644 index 0000000000..7b36fe2ad6 --- /dev/null +++ b/microsite/data/plugins/microsoft-forms.yaml @@ -0,0 +1,12 @@ +title: Microsoft Forms +author: ZcMander +authorUrl: https://github.com/zcmander +category: Productivity +description: Embed a form into the entity page with ease! +documentation: https://github.com/zcmander/backstage-plugin-msforms +iconUrl: /img/microsoft-forms.png +npmPackageName: '@zcmander/backstage-plugin-msforms' +tags: + - Microsoft + - forms +addedDate: '2023-04-11' diff --git a/microsite/data/plugins/puppetdb.yaml b/microsite/data/plugins/puppetdb.yaml new file mode 100644 index 0000000000..d3b6bd2bcb --- /dev/null +++ b/microsite/data/plugins/puppetdb.yaml @@ -0,0 +1,13 @@ +--- +title: PuppetDB +author: TDabasinskas +authorUrl: https://github.com/tdabasinskas +category: Configuration Management +description: Visualize resource information and Puppet facts from PuppetDB. +documentation: https://github.com/backstage/backstage/blob/master/plugins/puppetdb/README.md +iconUrl: /img/puppet.png +npmPackageName: '@backstage/plugin-puppetdb' +tags: + - puppet + - puppetdb +addedDate: '2023-04-06' diff --git a/microsite/package.json b/microsite/package.json index 09409518ee..76696ce939 100644 --- a/microsite/package.json +++ b/microsite/package.json @@ -32,7 +32,7 @@ "@docusaurus/core": "2.4.0", "@docusaurus/plugin-client-redirects": "^2.3.1", "@docusaurus/preset-classic": "2.4.0", - "@swc/core": "^1.3.36", + "@swc/core": "^1.3.46", "clsx": "^1.1.1", "docusaurus-plugin-sass": "^0.2.3", "prism-react-renderer": "^1.3.5", diff --git a/microsite/sidebars.json b/microsite/sidebars.json index 09727685a0..b3e6f07b0e 100644 --- a/microsite/sidebars.json +++ b/microsite/sidebars.json @@ -277,15 +277,16 @@ "items": [ "auth/auth0/provider", "auth/atlassian/provider", - "auth/bitbucket/provider", "auth/microsoft/provider", + "auth/microsoft/easy-auth", + "auth/bitbucket/provider", "auth/github/provider", "auth/gitlab/provider", "auth/google/provider", "auth/google/gcp-iap-auth", "auth/okta/provider", - "auth/onelogin/provider", - "auth/oauth2-proxy/provider" + "auth/oauth2-proxy/provider", + "auth/onelogin/provider" ] }, "auth/identity-resolver", diff --git a/microsite/static/img/bulletin-board.png b/microsite/static/img/bulletin-board.png new file mode 100644 index 0000000000..918d81827a Binary files /dev/null and b/microsite/static/img/bulletin-board.png differ diff --git a/microsite/static/img/microsoft-forms.png b/microsite/static/img/microsoft-forms.png new file mode 100644 index 0000000000..d15c299545 Binary files /dev/null and b/microsite/static/img/microsoft-forms.png differ diff --git a/microsite/static/img/outlook-statusneo.png b/microsite/static/img/outlook-statusneo.png deleted file mode 100644 index 99e3b6a0bc..0000000000 Binary files a/microsite/static/img/outlook-statusneo.png and /dev/null differ diff --git a/microsite/static/img/puppet.png b/microsite/static/img/puppet.png new file mode 100644 index 0000000000..daa3313333 Binary files /dev/null and b/microsite/static/img/puppet.png differ diff --git a/microsite/yarn.lock b/microsite/yarn.lock index 021d21a043..4b8ea8c58e 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -2624,90 +2624,92 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-darwin-arm64@npm:1.3.42" +"@swc/core-darwin-arm64@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-darwin-arm64@npm:1.3.50" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-darwin-x64@npm:1.3.42" +"@swc/core-darwin-x64@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-darwin-x64@npm:1.3.50" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.42" +"@swc/core-linux-arm-gnueabihf@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.50" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.42" +"@swc/core-linux-arm64-gnu@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.50" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.42" +"@swc/core-linux-arm64-musl@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.50" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.42" +"@swc/core-linux-x64-gnu@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.50" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-linux-x64-musl@npm:1.3.42" +"@swc/core-linux-x64-musl@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-linux-x64-musl@npm:1.3.50" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.42" +"@swc/core-win32-arm64-msvc@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.50" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.42" +"@swc/core-win32-ia32-msvc@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.50" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.42": - version: 1.3.42 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.42" +"@swc/core-win32-x64-msvc@npm:1.3.50": + version: 1.3.50 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.50" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:^1.3.36": - version: 1.3.42 - resolution: "@swc/core@npm:1.3.42" +"@swc/core@npm:^1.3.46": + version: 1.3.50 + resolution: "@swc/core@npm:1.3.50" dependencies: - "@swc/core-darwin-arm64": 1.3.42 - "@swc/core-darwin-x64": 1.3.42 - "@swc/core-linux-arm-gnueabihf": 1.3.42 - "@swc/core-linux-arm64-gnu": 1.3.42 - "@swc/core-linux-arm64-musl": 1.3.42 - "@swc/core-linux-x64-gnu": 1.3.42 - "@swc/core-linux-x64-musl": 1.3.42 - "@swc/core-win32-arm64-msvc": 1.3.42 - "@swc/core-win32-ia32-msvc": 1.3.42 - "@swc/core-win32-x64-msvc": 1.3.42 + "@swc/core-darwin-arm64": 1.3.50 + "@swc/core-darwin-x64": 1.3.50 + "@swc/core-linux-arm-gnueabihf": 1.3.50 + "@swc/core-linux-arm64-gnu": 1.3.50 + "@swc/core-linux-arm64-musl": 1.3.50 + "@swc/core-linux-x64-gnu": 1.3.50 + "@swc/core-linux-x64-musl": 1.3.50 + "@swc/core-win32-arm64-msvc": 1.3.50 + "@swc/core-win32-ia32-msvc": 1.3.50 + "@swc/core-win32-x64-msvc": 1.3.50 + peerDependencies: + "@swc/helpers": ^0.5.0 dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -2729,7 +2731,10 @@ __metadata: optional: true "@swc/core-win32-x64-msvc": optional: true - checksum: 5c28c03ee6a4e1f630c4a519b56d7e23a0102f70fad977a3ab144a3da96231cf4849e473cdc9ee7be6b9266ba0838d0bc0b6b3575a75540f302befe96cc9606e + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 63364c0bf6f395a57b576c4f7c5f79542a7c018c7bcc121e1bccdb157ca3ead97ee30920cf5ec6e93b0bd58e0145cb388721d7862ede867927137a437b4ef21a languageName: node linkType: hard @@ -3732,7 +3737,7 @@ __metadata: "@docusaurus/plugin-client-redirects": ^2.3.1 "@docusaurus/preset-classic": 2.4.0 "@spotify/prettier-config": ^14.0.0 - "@swc/core": ^1.3.36 + "@swc/core": ^1.3.46 "@tsconfig/docusaurus": ^1.0.6 "@types/webpack-env": ^1.18.0 clsx: ^1.1.1 diff --git a/mkdocs.yml b/mkdocs.yml index 4b5c2cf7a2..4a75c3f67f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,6 +6,7 @@ edit_uri: edit/master/docs plugins: - techdocs-core +# For sidebar navigation on https://backstage.io/, see `microsite/sidebars.json` nav: - Overview: - What is Backstage?: 'overview/what-is-backstage.md' diff --git a/package.json b/package.json index 6cf9251a6c..5bf140d66b 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@types/react": "^17", "@types/react-dom": "^17" }, - "version": "1.13.0-next.1", + "version": "1.13.0-next.3", "dependencies": { "@backstage/errors": "workspace:^", "@manypkg/get-packages": "^1.1.3" diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md index 4f073e1b2d..e8ad84d5d7 100644 --- a/packages/app-defaults/CHANGELOG.md +++ b/packages/app-defaults/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/app-defaults +## 1.3.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/core-components@0.13.0-next.3 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + +## 1.3.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.6-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-permission-react@0.4.12-next.1 + ## 1.3.0-next.1 ### Patch Changes diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index 7d47452b77..b8bbec2227 100644 --- a/packages/app-defaults/package.json +++ b/packages/app-defaults/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/app-defaults", "description": "Provides the default wiring of a Backstage App", - "version": "1.3.0-next.1", + "version": "1.3.0-next.3", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 1af398f7c7..2cfd48a509 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,143 @@ # example-app +## 0.2.82-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes@0.8.0-next.3 + - @backstage/plugin-scaffolder@1.13.0-next.3 + - @backstage/cli@0.22.6-next.3 + - @backstage/plugin-explore@0.4.2-next.3 + - @backstage/plugin-catalog-react@1.5.0-next.3 + - @backstage/plugin-scaffolder-react@1.3.0-next.3 + - @backstage/core-app-api@1.7.0-next.3 + - @backstage/catalog-model@1.3.0-next.0 + - @backstage/plugin-techdocs@1.6.1-next.3 + - @backstage/core-components@0.13.0-next.3 + - @backstage/app-defaults@1.3.0-next.3 + - @backstage/config@1.0.7 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/integration-react@1.1.12-next.3 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-airbrake@0.3.17-next.3 + - @backstage/plugin-apache-airflow@0.2.10-next.3 + - @backstage/plugin-api-docs@0.9.2-next.3 + - @backstage/plugin-azure-devops@0.2.8-next.3 + - @backstage/plugin-azure-sites@0.1.6-next.3 + - @backstage/plugin-badges@0.2.41-next.3 + - @backstage/plugin-catalog-common@1.0.13-next.1 + - @backstage/plugin-catalog-graph@0.2.29-next.3 + - @backstage/plugin-catalog-import@0.9.7-next.3 + - @backstage/plugin-circleci@0.3.17-next.3 + - @backstage/plugin-cloudbuild@0.3.17-next.3 + - @backstage/plugin-code-coverage@0.2.10-next.3 + - @backstage/plugin-cost-insights@0.12.6-next.3 + - @backstage/plugin-dynatrace@4.0.0-next.3 + - @backstage/plugin-entity-feedback@0.2.0-next.3 + - @backstage/plugin-gcalendar@0.3.13-next.3 + - @backstage/plugin-gcp-projects@0.3.36-next.3 + - @backstage/plugin-github-actions@0.5.17-next.3 + - @backstage/plugin-gocd@0.1.23-next.3 + - @backstage/plugin-graphiql@0.2.49-next.3 + - @backstage/plugin-home@0.4.33-next.3 + - @backstage/plugin-jenkins@0.7.16-next.3 + - @backstage/plugin-kafka@0.3.17-next.3 + - @backstage/plugin-lighthouse@0.4.2-next.3 + - @backstage/plugin-linguist@0.1.2-next.3 + - @backstage/plugin-linguist-common@0.1.0 + - @backstage/plugin-microsoft-calendar@0.1.2-next.3 + - @backstage/plugin-newrelic@0.3.35-next.3 + - @backstage/plugin-newrelic-dashboard@0.2.10-next.3 + - @backstage/plugin-org@0.6.7-next.3 + - @backstage/plugin-pagerduty@0.5.10-next.3 + - @backstage/plugin-permission-react@0.4.12-next.1 + - @backstage/plugin-playlist@0.1.8-next.3 + - @backstage/plugin-rollbar@0.4.17-next.3 + - @backstage/plugin-search@1.2.0-next.3 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.3 + - @backstage/plugin-sentry@0.5.2-next.3 + - @backstage/plugin-shortcuts@0.3.9-next.3 + - @backstage/plugin-stack-overflow@0.1.13-next.3 + - @backstage/plugin-stackstorm@0.1.1-next.3 + - @backstage/plugin-tech-insights@0.3.9-next.3 + - @backstage/plugin-tech-radar@0.6.3-next.3 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.12-next.3 + - @backstage/plugin-techdocs-react@1.1.5-next.3 + - @backstage/plugin-todo@0.2.19-next.3 + - @backstage/plugin-user-settings@0.7.2-next.3 + - @internal/plugin-catalog-customized@0.0.9-next.3 + +## 0.2.82-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-circleci@0.3.17-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.12-next.2 + - @backstage/cli@0.22.6-next.2 + - @backstage/core-components@0.12.6-next.2 + - @backstage/plugin-catalog-react@1.4.1-next.2 + - @backstage/plugin-scaffolder-react@1.3.0-next.2 + - @backstage/plugin-scaffolder@1.13.0-next.2 + - @backstage/plugin-code-coverage@0.2.10-next.2 + - @backstage/plugin-cost-insights@0.12.6-next.2 + - @backstage/plugin-playlist@0.1.8-next.2 + - @backstage/plugin-search@1.2.0-next.2 + - @backstage/core-plugin-api@1.5.1-next.1 + - @backstage/plugin-techdocs@1.6.1-next.2 + - @backstage/app-defaults@1.3.0-next.2 + - @backstage/catalog-model@1.2.1 + - @backstage/config@1.0.7 + - @backstage/core-app-api@1.7.0-next.2 + - @backstage/integration-react@1.1.12-next.2 + - @backstage/theme@0.2.19-next.0 + - @backstage/plugin-airbrake@0.3.17-next.2 + - @backstage/plugin-apache-airflow@0.2.10-next.2 + - @backstage/plugin-api-docs@0.9.2-next.2 + - @backstage/plugin-azure-devops@0.2.8-next.2 + - @backstage/plugin-azure-sites@0.1.6-next.2 + - @backstage/plugin-badges@0.2.41-next.2 + - @backstage/plugin-catalog-common@1.0.13-next.0 + - @backstage/plugin-catalog-graph@0.2.29-next.2 + - @backstage/plugin-catalog-import@0.9.7-next.2 + - @backstage/plugin-cloudbuild@0.3.17-next.2 + - @backstage/plugin-dynatrace@3.0.1-next.2 + - @backstage/plugin-entity-feedback@0.2.0-next.2 + - @backstage/plugin-explore@0.4.2-next.2 + - @backstage/plugin-gcalendar@0.3.13-next.2 + - @backstage/plugin-gcp-projects@0.3.36-next.2 + - @backstage/plugin-github-actions@0.5.17-next.2 + - @backstage/plugin-gocd@0.1.23-next.2 + - @backstage/plugin-graphiql@0.2.49-next.2 + - @backstage/plugin-home@0.4.33-next.2 + - @backstage/plugin-jenkins@0.7.16-next.2 + - @backstage/plugin-kafka@0.3.17-next.2 + - @backstage/plugin-kubernetes@0.7.10-next.2 + - @backstage/plugin-lighthouse@0.4.2-next.2 + - @backstage/plugin-linguist@0.1.2-next.2 + - @backstage/plugin-linguist-common@0.1.0 + - @backstage/plugin-microsoft-calendar@0.1.2-next.2 + - @backstage/plugin-newrelic@0.3.35-next.2 + - @backstage/plugin-newrelic-dashboard@0.2.10-next.2 + - @backstage/plugin-org@0.6.7-next.2 + - @backstage/plugin-pagerduty@0.5.10-next.2 + - @backstage/plugin-permission-react@0.4.12-next.1 + - @backstage/plugin-rollbar@0.4.17-next.2 + - @backstage/plugin-search-common@1.2.3-next.0 + - @backstage/plugin-search-react@1.5.2-next.2 + - @backstage/plugin-sentry@0.5.2-next.2 + - @backstage/plugin-shortcuts@0.3.9-next.2 + - @backstage/plugin-stack-overflow@0.1.13-next.2 + - @backstage/plugin-stackstorm@0.1.1-next.2 + - @backstage/plugin-tech-insights@0.3.9-next.2 + - @backstage/plugin-tech-radar@0.6.3-next.2 + - @backstage/plugin-techdocs-react@1.1.5-next.2 + - @backstage/plugin-todo@0.2.19-next.2 + - @backstage/plugin-user-settings@0.7.2-next.2 + - @internal/plugin-catalog-customized@0.0.9-next.2 + ## 0.2.82-next.1 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index d43dd4ac3a..8eedb5d219 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "example-app", - "version": "0.2.82-next.1", + "version": "0.2.82-next.3", "private": true, "backstage": { "role": "frontend" @@ -51,6 +51,7 @@ "@backstage/plugin-pagerduty": "workspace:^", "@backstage/plugin-permission-react": "workspace:^", "@backstage/plugin-playlist": "workspace:^", + "@backstage/plugin-puppetdb": "workspace:^", "@backstage/plugin-rollbar": "workspace:^", "@backstage/plugin-scaffolder": "workspace:^", "@backstage/plugin-scaffolder-react": "workspace:^", diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index ea465e4ed8..19edd9640d 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -108,6 +108,7 @@ import { PlaylistIndexPage } from '@backstage/plugin-playlist'; import { TwoColumnLayout } from './components/scaffolder/customScaffolderLayouts'; import { ScoreBoardPage } from '@oriflame/backstage-plugin-score-card'; import { StackstormPage } from '@backstage/plugin-stackstorm'; +import { PuppetDbPage } from '@backstage/plugin-puppetdb'; const app = createApp({ apis, @@ -289,6 +290,7 @@ const routes = ( } /> } /> } /> + } /> ); diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx index d07870194b..d2f6fbe109 100644 --- a/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/app/src/components/catalog/EntityPage.tsx @@ -116,6 +116,7 @@ import { EntityRollbarContent, isRollbarAvailable, } from '@backstage/plugin-rollbar'; +import { PuppetDbPage, isPuppetDbAvailable } from '@backstage/plugin-puppetdb'; import { EntitySentryContent } from '@backstage/plugin-sentry'; import { EntityTechdocsContent } from '@backstage/plugin-techdocs'; import { EntityTechInsightsScorecardCard } from '@backstage/plugin-tech-insights'; @@ -836,6 +837,35 @@ const domainPage = ( ); +const resourcePage = ( + + + + {entityWarningContent} + + + + + + + + + + + + + + + + + + +); + export const entityPage = ( @@ -844,6 +874,7 @@ export const entityPage = ( + {defaultEntityPage} diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md index 806a6e98b5..429a9ba824 100644 --- a/packages/backend-app-api/CHANGELOG.md +++ b/packages/backend-app-api/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/backend-app-api +## 0.4.2-next.2 + +### Patch Changes + +- 5c7ce585824: Allow an additionalConfig to be provided to loadBackendConfig that fetches config values during runtime. +- Updated dependencies + - @backstage/backend-common@0.18.4-next.2 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/backend-tasks@0.5.1-next.2 + - @backstage/cli-common@0.1.12 + - @backstage/config@1.0.7 + - @backstage/config-loader@1.1.9 + - @backstage/errors@1.1.5 + - @backstage/types@1.0.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + ## 0.4.2-next.1 ### Patch Changes diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json index 5006884430..708b9769d5 100644 --- a/packages/backend-app-api/package.json +++ b/packages/backend-app-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-app-api", "description": "Core API used by Backstage backend apps", - "version": "0.4.2-next.1", + "version": "0.4.2-next.2", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md index 6b001cb651..cd363a7d83 100644 --- a/packages/backend-common/CHANGELOG.md +++ b/packages/backend-common/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/backend-common +## 0.18.4-next.2 + +### Patch Changes + +- 5c7ce585824: Allow an additionalConfig to be provided to loadBackendConfig that fetches config values during runtime. +- Updated dependencies + - @backstage/backend-app-api@0.4.2-next.2 + - @backstage/backend-dev-utils@0.1.1 + - @backstage/backend-plugin-api@0.5.1-next.2 + - @backstage/cli-common@0.1.12 + - @backstage/config@1.0.7 + - @backstage/config-loader@1.1.9 + - @backstage/errors@1.1.5 + - @backstage/integration@1.4.4-next.0 + - @backstage/integration-aws-node@0.1.2 + - @backstage/types@1.0.2 + ## 0.18.4-next.1 ### Patch Changes diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index 4082089a08..aa902bea47 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-common", "description": "Common functionality library for Backstage backends", - "version": "0.18.4-next.1", + "version": "0.18.4-next.2", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-common/src/reading/GithubUrlReader.test.ts b/packages/backend-common/src/reading/GithubUrlReader.test.ts index 1ee25920f2..499f97d6ec 100644 --- a/packages/backend-common/src/reading/GithubUrlReader.test.ts +++ b/packages/backend-common/src/reading/GithubUrlReader.test.ts @@ -30,7 +30,7 @@ import path from 'path'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { GhBlobResponse, - GhBranchResponse, + GhCombinedCommitStatusResponse, GhRepoResponse, GhTreeResponse, GithubUrlReader, @@ -309,12 +309,15 @@ describe('GithubUrlReader', () => { 'https://ghe.github.com/api/v3/repos/backstage/mock/{archive_format}{/ref}', } as Partial; - const branchesApiResponse = { - name: 'main', - commit: { - sha: 'etag123abc', - }, - } as Partial; + const commitStatusGithubResponse = { + sha: 'etag123abc', + repository: reposGithubApiResponse, + } as Partial; + + const commitStatusGheResponse = { + sha: 'etag123abc', + repository: reposGheApiResponse, + } as Partial; beforeEach(() => { worker.use( @@ -326,13 +329,18 @@ describe('GithubUrlReader', () => { ), ), rest.get( - 'https://api.github.com/repos/backstage/mock/branches/main', - (_, res, ctx) => - res( - ctx.status(200), - ctx.set('Content-Type', 'application/json'), - ctx.json(branchesApiResponse), - ), + 'https://api.github.com/repos/backstage/mock/commits/main/status', + (req, res, ctx) => { + if (req.url.searchParams.get('per_page') === '0') { + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(commitStatusGithubResponse), + ); + } + + return res(ctx.status(500)); + }, ), rest.get( 'https://api.github.com/repos/backstage/mock/tarball/etag123abc', @@ -348,7 +356,7 @@ describe('GithubUrlReader', () => { ), ), rest.get( - 'https://api.github.com/repos/backstage/mock/branches/branchDoesNotExist', + 'https://api.github.com/repos/backstage/mock/commits/branchDoesNotExist/status', (_, res, ctx) => res(ctx.status(404)), ), rest.get( @@ -374,13 +382,18 @@ describe('GithubUrlReader', () => { ), ), rest.get( - 'https://ghe.github.com/api/v3/repos/backstage/mock/branches/main', - (_, res, ctx) => - res( - ctx.status(200), - ctx.set('Content-Type', 'application/json'), - ctx.json(branchesApiResponse), - ), + 'https://ghe.github.com/api/v3/repos/backstage/mock/commits/main/status', + (req, res, ctx) => { + if (req.url.searchParams.get('per_page') === '0') { + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(commitStatusGheResponse), + ); + } + + return res(ctx.status(500)); + }, ), ); }); @@ -684,36 +697,69 @@ describe('GithubUrlReader', () => { ); }); - // Branch details + // commit status for branch details beforeEach(() => { - const response = { - name: 'main', - commit: { - sha: 'etag123abc', + const githubResponse = { + sha: 'etag123abc', + repository: { + id: 123, + full_name: 'backstage/mock', + default_branch: 'main', + branches_url: + 'https://api.github.com/repos/backstage/mock/branches{/branch}', + archive_url: + 'https://api.github.com/repos/backstage/mock/{archive_format}{/ref}', + trees_url: + 'https://api.github.com/repos/backstage/mock/git/trees{/sha}', }, - } as Partial; + } as Partial; + + const gheResponse = { + sha: 'etag123abc', + repository: { + id: 123, + full_name: 'backstage/mock', + default_branch: 'main', + branches_url: + 'https://ghe.github.com/api/v3/repos/backstage/mock/branches{/branch}', + archive_url: + 'https://ghe.github.com/api/v3/repos/backstage/mock/{archive_format}{/ref}', + trees_url: + 'https://ghe.github.com/api/v3/repos/backstage/mock/git/trees{/sha}', + }, + } as Partial; worker.use( rest.get( - 'https://api.github.com/repos/backstage/mock/branches/main', - (_, res, ctx) => - res( - ctx.status(200), - ctx.set('Content-Type', 'application/json'), - ctx.json(response), - ), + 'https://api.github.com/repos/backstage/mock/commits/main/status', + (req, res, ctx) => { + if (req.url.searchParams.get('per_page') === '0') { + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(githubResponse), + ); + } + + return res(ctx.status(500)); + }, ), rest.get( - 'https://ghe.github.com/api/v3/repos/backstage/mock/branches/main', - (_, res, ctx) => - res( - ctx.status(200), - ctx.set('Content-Type', 'application/json'), - ctx.json(response), - ), + 'https://ghe.github.com/api/v3/repos/backstage/mock/commits/main/status', + (req, res, ctx) => { + if (req.url.searchParams.get('per_page') === '0') { + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(gheResponse), + ); + } + + return res(ctx.status(500)); + }, ), rest.get( - 'https://api.github.com/repos/backstage/mock/branches/branchDoesNotExist', + 'https://api.github.com/repos/backstage/mock/commits/branchDoesNotExist/status', (_, res, ctx) => res(ctx.status(404)), ), ); diff --git a/packages/backend-common/src/reading/GithubUrlReader.ts b/packages/backend-common/src/reading/GithubUrlReader.ts index ee781daf0b..8300127c5b 100644 --- a/packages/backend-common/src/reading/GithubUrlReader.ts +++ b/packages/backend-common/src/reading/GithubUrlReader.ts @@ -20,6 +20,7 @@ import { GithubCredentialsProvider, GithubIntegration, ScmIntegrations, + GithubCredentials, } from '@backstage/integration'; import { RestEndpointMethodTypes } from '@octokit/rest'; import fetch, { RequestInit, Response } from 'node-fetch'; @@ -44,8 +45,8 @@ import { parseLastModified } from './util'; export type GhRepoResponse = RestEndpointMethodTypes['repos']['get']['response']['data']; -export type GhBranchResponse = - RestEndpointMethodTypes['repos']['getBranch']['response']['data']; +export type GhCombinedCommitStatusResponse = + RestEndpointMethodTypes['repos']['getCombinedStatusForRef']['response']['data']; export type GhTreeResponse = RestEndpointMethodTypes['git']['getTree']['response']['data']; export type GhBlobResponse = @@ -163,7 +164,7 @@ export class GithubUrlReader implements UrlReader { options?: ReadTreeOptions, ): Promise { const repoDetails = await this.getRepoDetails(url); - const commitSha = repoDetails.branch.commit.sha!; + const commitSha = repoDetails.commitSha; if (options?.etag && options.etag === commitSha) { throw new NotModifiedError(); @@ -191,7 +192,7 @@ export class GithubUrlReader implements UrlReader { async search(url: string, options?: SearchOptions): Promise { const repoDetails = await this.getRepoDetails(url); - const commitSha = repoDetails.branch.commit.sha!; + const commitSha = repoDetails.commitSha; if (options?.etag && options.etag === commitSha) { throw new NotModifiedError(); @@ -302,32 +303,43 @@ export class GithubUrlReader implements UrlReader { } private async getRepoDetails(url: string): Promise<{ - repo: GhRepoResponse; - branch: GhBranchResponse; + commitSha: string; + repo: { + archive_url: string; + trees_url: string; + }; }> { const parsed = parseGitUrl(url); const { ref, full_name } = parsed; - // Caveat: The ref will totally be incorrect if the branch name includes a - // slash. Thus, some operations can not work on URLs containing branch - // names that have a slash in them. - - const { headers } = await this.deps.credentialsProvider.getCredentials({ + const credentials = await this.deps.credentialsProvider.getCredentials({ url, }); + const { headers } = credentials; + const commitStatus: GhCombinedCommitStatusResponse = await this.fetchJson( + `${this.integration.config.apiBaseUrl}/repos/${full_name}/commits/${ + ref || (await this.getDefaultBranch(full_name, credentials)) + }/status?per_page=0`, + { headers }, + ); + + return { + commitSha: commitStatus.sha, + repo: commitStatus.repository, + }; + } + + private async getDefaultBranch( + repoFullName: string, + credentials: GithubCredentials, + ): Promise { const repo: GhRepoResponse = await this.fetchJson( - `${this.integration.config.apiBaseUrl}/repos/${full_name}`, - { headers }, + `${this.integration.config.apiBaseUrl}/repos/${repoFullName}`, + { headers: credentials.headers }, ); - // branches_url looks like "https://api.github.com/repos/owner/repo/branches{/branch}" - const branch: GhBranchResponse = await this.fetchJson( - repo.branches_url.replace('{/branch}', `/${ref || repo.default_branch}`), - { headers }, - ); - - return { repo, branch }; + return repo.default_branch; } private async fetchResponse( diff --git a/packages/backend-defaults/CHANGELOG.md b/packages/backend-defaults/CHANGELOG.md index 889c09ada3..2b2fa0a062 100644 --- a/packages/backend-defaults/CHANGELOG.md +++ b/packages/backend-defaults/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/backend-defaults +## 0.1.9-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-app-api@0.4.2-next.2 + - @backstage/backend-common@0.18.4-next.2 + - @backstage/backend-plugin-api@0.5.1-next.2 + ## 0.1.9-next.1 ### Patch Changes diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index e2d2e6f7e2..3fb8420ca6 100644 --- a/packages/backend-defaults/package.json +++ b/packages/backend-defaults/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-defaults", "description": "Backend defaults used by Backstage backend apps", - "version": "0.1.9-next.1", + "version": "0.1.9-next.2", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-next/CHANGELOG.md b/packages/backend-next/CHANGELOG.md index 783b3165e5..bb2599b189 100644 --- a/packages/backend-next/CHANGELOG.md +++ b/packages/backend-next/CHANGELOG.md @@ -1,5 +1,49 @@ # example-backend-next +## 0.0.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-backend@0.10.0-next.3 + - @backstage/plugin-catalog-backend@1.9.0-next.3 + - @backstage/plugin-scaffolder-backend@1.13.0-next.3 + - @backstage/backend-defaults@0.1.9-next.2 + - @backstage/plugin-app-backend@0.3.44-next.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-backend@0.5.19-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-search-backend@1.3.0-next.2 + - @backstage/plugin-search-backend-module-catalog@0.1.0-next.2 + - @backstage/plugin-search-backend-module-explore@0.1.0-next.1 + - @backstage/plugin-search-backend-module-techdocs@0.1.0-next.2 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-techdocs-backend@1.6.1-next.3 + - @backstage/plugin-todo-backend@0.1.41-next.3 + +## 0.0.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-backend@0.10.0-next.2 + - @backstage/plugin-catalog-backend@1.8.1-next.2 + - @backstage/plugin-permission-node@0.7.7-next.2 + - @backstage/plugin-permission-backend@0.5.19-next.2 + - @backstage/plugin-scaffolder-backend@1.13.0-next.2 + - @backstage/backend-defaults@0.1.9-next.2 + - @backstage/plugin-app-backend@0.3.44-next.2 + - @backstage/plugin-auth-node@0.2.13-next.2 + - @backstage/plugin-permission-common@0.7.5-next.0 + - @backstage/plugin-search-backend@1.3.0-next.2 + - @backstage/plugin-search-backend-module-catalog@0.1.0-next.1 + - @backstage/plugin-search-backend-module-explore@0.1.0-next.1 + - @backstage/plugin-search-backend-module-techdocs@0.1.0-next.1 + - @backstage/plugin-search-backend-node@1.2.0-next.2 + - @backstage/plugin-techdocs-backend@1.6.1-next.2 + - @backstage/plugin-todo-backend@0.1.41-next.2 + ## 0.0.10-next.1 ### Patch Changes diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json index 2fccf12a85..f8b1e4138f 100644 --- a/packages/backend-next/package.json +++ b/packages/backend-next/package.json @@ -1,6 +1,6 @@ { "name": "example-backend-next", - "version": "0.0.10-next.1", + "version": "0.0.10-next.3", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", @@ -27,8 +27,12 @@ "dependencies": { "@backstage/backend-defaults": "workspace:^", "@backstage/plugin-app-backend": "workspace:^", + "@backstage/plugin-auth-node": "workspace:^", "@backstage/plugin-catalog-backend": "workspace:^", "@backstage/plugin-kubernetes-backend": "workspace:^", + "@backstage/plugin-permission-backend": "workspace:^", + "@backstage/plugin-permission-common": "workspace:^", + "@backstage/plugin-permission-node": "workspace:^", "@backstage/plugin-scaffolder-backend": "workspace:^", "@backstage/plugin-search-backend": "workspace:^", "@backstage/plugin-search-backend-module-catalog": "workspace:^", diff --git a/packages/backend-next/src/index.ts b/packages/backend-next/src/index.ts index 1ce63a8d51..1c4380f4a0 100644 --- a/packages/backend-next/src/index.ts +++ b/packages/backend-next/src/index.ts @@ -16,15 +16,20 @@ import { createBackend } from '@backstage/backend-defaults'; import { appPlugin } from '@backstage/plugin-app-backend/alpha'; -import { todoPlugin } from '@backstage/plugin-todo-backend'; -import { techdocsPlugin } from '@backstage/plugin-techdocs-backend/alpha'; import { catalogPlugin } from '@backstage/plugin-catalog-backend/alpha'; -import { catalogModuleTemplateKind } from '@backstage/plugin-scaffolder-backend/alpha'; -import { searchPlugin } from '@backstage/plugin-search-backend/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'; import { kubernetesPlugin } from '@backstage/plugin-kubernetes-backend/alpha'; +import { + permissionModuleAllowAllPolicy, + permissionPlugin, +} from '@backstage/plugin-permission-backend/alpha'; +import { scaffolderPlugin } from '@backstage/plugin-scaffolder-backend/alpha'; +import { catalogModuleTemplateKind } from '@backstage/plugin-scaffolder-backend/alpha'; +import { searchModuleCatalogCollator } from '@backstage/plugin-search-backend-module-catalog/alpha'; +import { searchModuleExploreCollator } from '@backstage/plugin-search-backend-module-explore/alpha'; +import { searchModuleTechDocsCollator } from '@backstage/plugin-search-backend-module-techdocs/alpha'; +import { searchPlugin } from '@backstage/plugin-search-backend/alpha'; +import { techdocsPlugin } from '@backstage/plugin-techdocs-backend/alpha'; +import { todoPlugin } from '@backstage/plugin-todo-backend'; const backend = createBackend(); @@ -40,6 +45,8 @@ backend.add(techdocsPlugin()); backend.add(catalogPlugin()); backend.add(catalogModuleTemplateKind()); +backend.add(scaffolderPlugin()); + // Search backend.add(searchPlugin()); backend.add(searchModuleCatalogCollator()); @@ -48,4 +55,9 @@ backend.add(searchModuleExploreCollator()); // Kubernetes backend.add(kubernetesPlugin()); + +// Permissions +backend.add(permissionPlugin()); +backend.add(permissionModuleAllowAllPolicy()); + backend.start(); diff --git a/packages/backend-openapi-utils/.eslintrc.js b/packages/backend-openapi-utils/.eslintrc.js new file mode 100644 index 0000000000..e2a53a6ad2 --- /dev/null +++ b/packages/backend-openapi-utils/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/packages/backend-openapi-utils/CHANGELOG.md b/packages/backend-openapi-utils/CHANGELOG.md new file mode 100644 index 0000000000..9887ddf8d5 --- /dev/null +++ b/packages/backend-openapi-utils/CHANGELOG.md @@ -0,0 +1,7 @@ +# @backstage/backend-openapi-utils + +## 0.0.1-next.0 + +### Patch Changes + +- 62fe726fdc5: New plugin! Primary focus is to support types on `Router`s in backend packages. Developers can use the `ApiRouter` from this package in their packages to support a typed experience based on their OpenAPI specs. The `ApiRouter` supports request bodies, response bodies, query parameters and path parameters, as well as full path-based context of the above. This means no more guessing on an endpoint like `req.post('/not-my-route', (req, res)=>{res.send(req.body.badparam)})`. Typescript would catch `/not-my-route`, `req.body.badparam`, `res.send(req.body.badparam)`. diff --git a/packages/backend-openapi-utils/README.md b/packages/backend-openapi-utils/README.md new file mode 100644 index 0000000000..51455ccccb --- /dev/null +++ b/packages/backend-openapi-utils/README.md @@ -0,0 +1,45 @@ +# @backstage/openapi-utils + +## Summary + +This package is meant to provide a typed Express router for an OpenAPI spec. Based on the [`oatx`](https://github.com/varanauskas/oatx) library and adapted to override Express values. + +## Getting Started + +### Configuration + +1. Run `yarn --cwd backstage-cli package schema:openapi:generate` to translate your `src/schema/openapi.yaml` to a new Typescript file in `src/schema/openapi.ts`. In the case of projects that require linting + a license header, you will need to do this manually. + +2. In your plugin's `src/service/createRouter.ts`, + +```ts +import {ApiRouter} from `@backstage/backend-openapi-utils`; +import spec from '../schema/openapi' +... + +export function createRouter(){ + const router = Router() as ApiRouter; + ... +} +``` + +### Limitations + +1. `as const` makes all fields `readonly` + To ensure a good DX of using a simple imported JSON spec, we want to remove any type issues between `readonly` arrays and mutable arrays. Typescript does not allow them to be compared, so converting all imports from the `openapi3-ts` library to `readonly` is important. This is achieved through the `ImmutableObject` type in `types/immutable.ts`. + +```ts +... +// We want an interface like this, +Router() as ApiRouter + +// Not an interface like this, +Router() as ApiRouter> +... +``` + +## Future Work + +### Runtime validation + +Using a package like [`express-openapi-validator`](https://www.npmjs.com/package/express-openapi-validator), would allow us to remove [validation of request bodies with `AJV`](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend/src/service/util.ts#L58). However, `AJV` currently doesn't have support for OpenAPI 3.1 and `express-openapi-validator` enforces full URL matching for paths, meaning it cannot be mounted at the router level. diff --git a/packages/backend-openapi-utils/api-report.md b/packages/backend-openapi-utils/api-report.md new file mode 100644 index 0000000000..180a7846ed --- /dev/null +++ b/packages/backend-openapi-utils/api-report.md @@ -0,0 +1,644 @@ +## API Report File for "@backstage/backend-openapi-utils" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import type { ContentObject } from 'openapi3-ts'; +import type core from 'express-serve-static-core'; +import { FromSchema } from 'json-schema-to-ts'; +import { JSONSchema7 } from 'json-schema-to-ts'; +import type { OpenAPIObject } from 'openapi3-ts'; +import type { ParameterObject } from 'openapi3-ts'; +import type { ReferenceObject } from 'openapi3-ts'; +import type { RequestBodyObject } from 'openapi3-ts'; +import type { ResponseObject } from 'openapi3-ts'; +import { Router } from 'express'; +import type { SchemaObject } from 'openapi3-ts'; + +// @public +export interface ApiRouter extends Router { + // (undocumented) + all: DocRequestMatcher; + // (undocumented) + delete: DocRequestMatcher; + // (undocumented) + get: DocRequestMatcher; + // (undocumented) + head: DocRequestMatcher; + // (undocumented) + options: DocRequestMatcher; + // (undocumented) + patch: DocRequestMatcher; + // (undocumented) + post: DocRequestMatcher; + // (undocumented) + put: DocRequestMatcher; +} + +// @public (undocumented) +type ComponentRef< + Doc extends RequiredDoc, + Type extends ComponentTypes, + Ref extends ImmutableReferenceObject, +> = Ref extends { + $ref: `#/components/${Type}/${infer Name}`; +} + ? Name extends keyof Doc['components'][Type] + ? Doc['components'][Type][Name] extends ImmutableReferenceObject + ? ComponentRef + : Doc['components'][Type][Name] + : never + : never; + +// @public (undocumented) +type ComponentTypes = Extract< + keyof Doc['components'], + string +>; + +// @public (undocumented) +type ConvertAll = []> = T extends [ + infer First extends JSONSchema7, + ...infer Rest, +] + ? ConvertAll]> + : R; + +// @public (undocumented) +interface CookieObject extends ParameterObject { + // (undocumented) + in: 'cookie'; + // (undocumented) + style?: 'form'; +} + +// @public (undocumented) +type CookieSchema< + Doc extends RequiredDoc, + Path extends PathTemplate>, + Method extends DocPathMethod, +> = ParametersSchema, Method, ImmutableCookieObject>; + +// @public (undocumented) +type DiscriminateUnion = Extract< + T, + Record +>; + +// @public (undocumented) +type DocOperation< + Doc extends RequiredDoc, + Path extends keyof Doc['paths'], + Method extends keyof Doc['paths'][Path], +> = Doc['paths'][Path][Method]; + +// @public (undocumented) +type DocParameter< + Doc extends RequiredDoc, + Path extends Extract, + Method extends keyof Doc['paths'][Path], + Parameter extends keyof Doc['paths'][Path][Method]['parameters'], +> = DocOperation< + Doc, + Path, + Method +>['parameters'][Parameter] extends ImmutableReferenceObject + ? 'parameters' extends ComponentTypes + ? ComponentRef< + Doc, + 'parameters', + DocOperation['parameters'][Parameter] + > + : never + : DocOperation['parameters'][Parameter]; + +// @public (undocumented) +type DocParameters< + Doc extends RequiredDoc, + Path extends Extract, + Method extends keyof Doc['paths'][Path], +> = DocOperation['parameters'] extends ReadonlyArray + ? { + [Index in keyof DocOperation< + Doc, + Path, + Method + >['parameters']]: DocParameter; + } + : never; + +// @public +type DocPath< + Doc extends PathDoc, + Path extends PathTemplate>, +> = ValueOf<{ + [Template in Extract< + keyof Doc['paths'], + string + >]: Path extends PathTemplate