diff --git a/.changeset/afraid-numbers-invite.md b/.changeset/afraid-numbers-invite.md deleted file mode 100644 index ee81341d3a..0000000000 --- a/.changeset/afraid-numbers-invite.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -'@backstage/repo-tools': minor ---- - -Updates the OpenAPI client template to support the new format for identifying plugin ID. You should now use `info.title` like so, - -```diff -info: -+ title: yourPluginId -- title: @internal/plugin-*-backend - -servers: - - / -- - yourPluginId -``` diff --git a/.changeset/angry-phones-arrive.md b/.changeset/angry-phones-arrive.md deleted file mode 100644 index 2afcd240a9..0000000000 --- a/.changeset/angry-phones-arrive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': minor ---- - -Add support for `oneOf` in client generated by `schema openapi generate-client`. diff --git a/.changeset/beige-apples-press.md b/.changeset/beige-apples-press.md deleted file mode 100644 index 56c46db830..0000000000 --- a/.changeset/beige-apples-press.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-devops': patch ---- - -Added alpha support for the New Frontend System (Declarative Integration) diff --git a/.changeset/blue-keys-do.md b/.changeset/blue-keys-do.md deleted file mode 100644 index c933bac0f2..0000000000 --- a/.changeset/blue-keys-do.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': minor ---- - -**BREAKING**: Replace default plugin extension and plugin ids to be `app` instead of `root`. diff --git a/.changeset/breezy-cobras-sin.md b/.changeset/breezy-cobras-sin.md deleted file mode 100644 index 93b296c455..0000000000 --- a/.changeset/breezy-cobras-sin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': minor ---- - -**BREAKING**: Removed the experimental `createExtensionTree` API. diff --git a/.changeset/brown-items-hammer.md b/.changeset/brown-items-hammer.md deleted file mode 100644 index fa023a026b..0000000000 --- a/.changeset/brown-items-hammer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-okta-provider': patch ---- - -Added missing `additionalScopes` option to configuration schema. diff --git a/.changeset/calm-cups-rule.md b/.changeset/calm-cups-rule.md deleted file mode 100644 index 48cb8a2012..0000000000 --- a/.changeset/calm-cups-rule.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-dynamic-feature-service': patch ---- - -Fix wrong `alpha` support in dynamic plugins support: the `alpha` sub-package should not be required for the dynamic plugins to be loaded under the new backend system. diff --git a/.changeset/calm-items-double.md b/.changeset/calm-items-double.md deleted file mode 100644 index 3db8ad57d9..0000000000 --- a/.changeset/calm-items-double.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-github': minor ---- - -Allow to force the creation of a pull request from a forked repository diff --git a/.changeset/calm-onions-exercise.md b/.changeset/calm-onions-exercise.md deleted file mode 100644 index f1c58a173f..0000000000 --- a/.changeset/calm-onions-exercise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': patch ---- - -Resolved an issue with generate-catalog-info where it was replacing upper case characters with -. diff --git a/.changeset/chilled-chefs-notice.md b/.changeset/chilled-chefs-notice.md deleted file mode 100644 index a12babb2a4..0000000000 --- a/.changeset/chilled-chefs-notice.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-rails': patch ---- - -Make `containerRunner` argument optional diff --git a/.changeset/chilled-ways-wave.md b/.changeset/chilled-ways-wave.md deleted file mode 100644 index 68e4d1eb7d..0000000000 --- a/.changeset/chilled-ways-wave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -fix for: converting circular structure to JSON error diff --git a/.changeset/chilly-seahorses-bake.md b/.changeset/chilly-seahorses-bake.md deleted file mode 100644 index 8ab80cf93e..0000000000 --- a/.changeset/chilly-seahorses-bake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -The backwards compatibility provider will now use the new `ComponentsApi` and `IconsApi` when implementing the old `AppContext`. diff --git a/.changeset/cold-cheetahs-pull.md b/.changeset/cold-cheetahs-pull.md deleted file mode 100644 index 140a564e4f..0000000000 --- a/.changeset/cold-cheetahs-pull.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-bitbucket-server': minor -'@backstage/plugin-scaffolder-backend': patch ---- - -New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-server`. - -Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` -and replaces its actions related to Bitbucket Server. - -- `publish:bitbucketServer` -- `publish:bitbucketServer:pull-request` diff --git a/.changeset/cold-cooks-care.md b/.changeset/cold-cooks-care.md deleted file mode 100644 index 56c41a55e9..0000000000 --- a/.changeset/cold-cooks-care.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/plugin-entity-validation': patch -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-catalog-graph': patch -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-catalog': patch ---- - -Change default icon for unknown entities to nothing instead of the help icon. diff --git a/.changeset/cool-islands-impress.md b/.changeset/cool-islands-impress.md deleted file mode 100644 index df6df1ada2..0000000000 --- a/.changeset/cool-islands-impress.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-sites': patch ---- - -Updated README diff --git a/.changeset/create-app-1706621803.md b/.changeset/create-app-1706621803.md deleted file mode 100644 index b50d431d4b..0000000000 --- a/.changeset/create-app-1706621803.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Bumped create-app version. diff --git a/.changeset/curvy-ladybugs-impress.md b/.changeset/curvy-ladybugs-impress.md deleted file mode 100644 index ab799e4888..0000000000 --- a/.changeset/curvy-ladybugs-impress.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-adr': patch ---- - -Updated README diff --git a/.changeset/cyan-bats-lick.md b/.changeset/cyan-bats-lick.md deleted file mode 100644 index 0683d806b0..0000000000 --- a/.changeset/cyan-bats-lick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-devops-backend': patch ---- - -Added a note about Service Principles diff --git a/.changeset/cyan-icons-rest.md b/.changeset/cyan-icons-rest.md deleted file mode 100644 index 3092c1bc90..0000000000 --- a/.changeset/cyan-icons-rest.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -'@backstage/plugin-explore-backend': patch ---- - -Add support for the new backend system. - -A new backend plugin for the explore backend -was added and exported as `default`. - -You can use it with the new backend system like - -```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-explore-backend')); -``` diff --git a/.changeset/dirty-cheetahs-shave.md b/.changeset/dirty-cheetahs-shave.md deleted file mode 100644 index 1691adec2d..0000000000 --- a/.changeset/dirty-cheetahs-shave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Support additional algorithms in the `/.well-known/openid-configuration` endpoint. diff --git a/.changeset/dirty-mirrors-retire.md b/.changeset/dirty-mirrors-retire.md deleted file mode 100644 index cb0bcd66a8..0000000000 --- a/.changeset/dirty-mirrors-retire.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -Updated dependency `@oriflame/backstage-plugin-score-card` to `^0.8.0`. diff --git a/.changeset/dirty-plums-fix.md b/.changeset/dirty-plums-fix.md deleted file mode 100644 index fb0655377c..0000000000 --- a/.changeset/dirty-plums-fix.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -'@backstage/plugin-tech-insights-backend-module-jsonfc': patch ---- - -Add support for the new backend system. - -A new backend module for the tech-insights backend -was added and exported as `default`. - -The module will register the `JsonRulesEngineFactCheckerFactory` -as `FactCheckerFactory`, loading checks from the config. - -You can use it with the new backend system like - -```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-tech-insights-backend-module-jsonfc')); -``` diff --git a/.changeset/dry-lizards-taste.md b/.changeset/dry-lizards-taste.md deleted file mode 100644 index 90e4c9f659..0000000000 --- a/.changeset/dry-lizards-taste.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/app-defaults': patch -'@backstage/plugin-catalog': patch ---- - -Change default icon for `kind:resource` to the storage icon. diff --git a/.changeset/dry-lobsters-flash.md b/.changeset/dry-lobsters-flash.md deleted file mode 100644 index 9815bf62f4..0000000000 --- a/.changeset/dry-lobsters-flash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Added `IconsApi` implementation and the ability to configure icons through the `icons` option for `createApp` and `createSpecializedApp`. This is not a long-term solution as icons should be installable via extensions instead. This is just a stop-gap to make sure there is feature parity with the existing frontend system. diff --git a/.changeset/dry-vans-kiss.md b/.changeset/dry-vans-kiss.md deleted file mode 100644 index 5d11df989c..0000000000 --- a/.changeset/dry-vans-kiss.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Simple typo fix in the fetch:template action example on the word 'skeleton'. diff --git a/.changeset/dull-dolphins-explain.md b/.changeset/dull-dolphins-explain.md deleted file mode 100644 index d8864e72e8..0000000000 --- a/.changeset/dull-dolphins-explain.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-aws': patch ---- - -The default EKS cluster entity transformer now sets the new -`kubernetes.io/x-k8s-aws-id` annotation. diff --git a/.changeset/dull-fireants-repeat.md b/.changeset/dull-fireants-repeat.md deleted file mode 100644 index 4e849bfbaf..0000000000 --- a/.changeset/dull-fireants-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Use the externalized `auth-backend-module-microsoft-provider` again. diff --git a/.changeset/eight-hounds-dream.md b/.changeset/eight-hounds-dream.md deleted file mode 100644 index 8bf945d684..0000000000 --- a/.changeset/eight-hounds-dream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-adr': patch ---- - -Fix alignment of text in `AdrSearchResultListItem`. Update size and font to match other `SearchResultListItem`. diff --git a/.changeset/empty-ligers-hang.md b/.changeset/empty-ligers-hang.md deleted file mode 100644 index c17609712a..0000000000 --- a/.changeset/empty-ligers-hang.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Overflowing labels in OwnerPicker (Catalog) are now truncated. Hovering over them shows the full label diff --git a/.changeset/fair-mirrors-hammer.md b/.changeset/fair-mirrors-hammer.md deleted file mode 100644 index 3884835d11..0000000000 --- a/.changeset/fair-mirrors-hammer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-graph': patch ---- - -use `CatalogClient.getEntitiesByRefs()` to reduce the number of backend requests from plugin `catalog-graph` diff --git a/.changeset/famous-houses-thank.md b/.changeset/famous-houses-thank.md deleted file mode 100644 index 8fa0eb2d75..0000000000 --- a/.changeset/famous-houses-thank.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/frontend-test-utils': patch -'@backstage/frontend-app-api': patch -'@backstage/core-compat-api': patch ---- - -Updates to use the new `RouteResolutionsApi`. diff --git a/.changeset/fast-jeans-walk.md b/.changeset/fast-jeans-walk.md deleted file mode 100644 index f733c9f464..0000000000 --- a/.changeset/fast-jeans-walk.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': minor -'@backstage/plugin-scaffolder': minor ---- - -Remove the old legacy exports from `/alpha` diff --git a/.changeset/fast-onions-own.md b/.changeset/fast-onions-own.md deleted file mode 100644 index 6977b035bc..0000000000 --- a/.changeset/fast-onions-own.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-common': patch ---- - -`FetchUrlReader#readUrl()` now supports passing an optional `token` to authenticate requests. diff --git a/.changeset/fifty-adults-watch.md b/.changeset/fifty-adults-watch.md deleted file mode 100644 index 8bff1c28cd..0000000000 --- a/.changeset/fifty-adults-watch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-devtools': patch ---- - -Refactored code to improve accessibility by moving elements outside the `ul` tag and placing them appropriately. Also adjusted theme to offer better contrast. diff --git a/.changeset/fifty-files-argue.md b/.changeset/fifty-files-argue.md deleted file mode 100644 index b80b2989af..0000000000 --- a/.changeset/fifty-files-argue.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/backend-test-utils': minor -'@backstage/backend-common': minor ---- - -drop databases after unit tests if the database instance is not running in docker diff --git a/.changeset/flat-roses-happen.md b/.changeset/flat-roses-happen.md deleted file mode 100644 index e20e063b4f..0000000000 --- a/.changeset/flat-roses-happen.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-bitbucket': minor ---- - -Split `@backstage/plugin-scaffolder-backend-module-bitbucket` into -`@backstage/plugin-scaffolder-backend-module-bitbucket-cloud` and -`@backstage/plugin-scaffolder-backend-module-bitbucket-server`. - -`@backstage/plugin-scaffolder-backend-module-bitbucket` was **deprecated** in favor of these two replacements. - -Please use any of the two replacements depending on your needs. - -```diff -- backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket')); -+ backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-cloud')); -+ backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-server')); -``` diff --git a/.changeset/flat-wasps-fold.md b/.changeset/flat-wasps-fold.md deleted file mode 100644 index 653dc0d78f..0000000000 --- a/.changeset/flat-wasps-fold.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Added initial `IconsApi` definition. diff --git a/.changeset/forty-beers-sniff.md b/.changeset/forty-beers-sniff.md deleted file mode 100644 index 130726f94f..0000000000 --- a/.changeset/forty-beers-sniff.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/plugin-catalog-graph': patch ---- - -Added possibility to show arrow heads for graph edges for better understandability. - -In order to show arrow heads in the catalog graph page, add `showArrowHeads` attribute to `CatalogGraphPage` component -(typically in `packages/app/src/App.tsx`): - -```diff -- -+ -``` - -In order to show arrow heads in entity graphs, add `showArrowHeads` attribute to `EntityCatalogGraphCard` components -(typically multiple occurrences in `packages/app/src/components/catalog/EntityPage.tsx`): - -```diff -- -+ -``` diff --git a/.changeset/forty-cars-scream.md b/.changeset/forty-cars-scream.md deleted file mode 100644 index 284acc3c44..0000000000 --- a/.changeset/forty-cars-scream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -Allow defining default output text to be shown diff --git a/.changeset/four-mugs-try.md b/.changeset/four-mugs-try.md deleted file mode 100644 index 11fdf783d4..0000000000 --- a/.changeset/four-mugs-try.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': minor ---- - -**BREAKING**: Removed the `SidebarIntro` component as it was providing instructions for features that do not exist, along with `IntroCard`. If you were relying on this component and want to keep using it you can refer to the original implementations of [`SidebarIntro`](https://github.com/backstage/backstage/blob/80f2413334ed9b221ec3c2b7c22fa737ad8d8885/packages/core-components/src/layout/Sidebar/Intro.tsx#L149) and [`IntroCard`](https://github.com/backstage/backstage/blob/80f2413334ed9b221ec3c2b7c22fa737ad8d8885/packages/core-components/src/layout/Sidebar/Intro.tsx#L100). diff --git a/.changeset/four-walls-perform.md b/.changeset/four-walls-perform.md deleted file mode 100644 index 5275da7b79..0000000000 --- a/.changeset/four-walls-perform.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder': minor ---- - -Updating the `EntityPicker` to only select `kind` `metadata.name` and `metadata.namespace` by default to improve performance on larger datasets. diff --git a/.changeset/fresh-gifts-smile.md b/.changeset/fresh-gifts-smile.md deleted file mode 100644 index 446e9f3c54..0000000000 --- a/.changeset/fresh-gifts-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-module-addons-contrib': patch ---- - -Fixed the value label text color in dark mode for the TextSize addon. diff --git a/.changeset/friendly-cheetahs-rescue.md b/.changeset/friendly-cheetahs-rescue.md deleted file mode 100644 index 4f54a022af..0000000000 --- a/.changeset/friendly-cheetahs-rescue.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch ---- - -Fixed an issue where a misleading error message would be logged when an -unsupported service locator method was specified. diff --git a/.changeset/funny-buttons-sip.md b/.changeset/funny-buttons-sip.md deleted file mode 100644 index c455b8a31b..0000000000 --- a/.changeset/funny-buttons-sip.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Move the `NODE_OPTIONS` messaging for `--no-node-snapshot` to the `SecureTemplater` in order to get better messaging at runtime diff --git a/.changeset/funny-timers-visit.md b/.changeset/funny-timers-visit.md deleted file mode 100644 index 3d802328b5..0000000000 --- a/.changeset/funny-timers-visit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-react': patch ---- - -Fix broken XtermJS CSS import diff --git a/.changeset/fuzzy-comics-collect.md b/.changeset/fuzzy-comics-collect.md deleted file mode 100644 index 5ce6b3c967..0000000000 --- a/.changeset/fuzzy-comics-collect.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -'@backstage/plugin-tech-insights-backend-module-jsonfc': patch ---- - -Support loading `TechInsightsJsonRuleCheck` instances from config. - -Uses the check `id` as key. - -Example: - -```yaml title="app-config.yaml" -techInsights: - factChecker: - checks: - groupOwnerCheck: - type: json-rules-engine - name: Group Owner Check - description: Verifies that a group has been set as the spec.owner for this entity - factIds: - - entityOwnershipFactRetriever - rule: - conditions: - all: - - fact: hasGroupOwner - operator: equal - value: true -``` diff --git a/.changeset/giant-suits-switch.md b/.changeset/giant-suits-switch.md deleted file mode 100644 index 77d0e62c73..0000000000 --- a/.changeset/giant-suits-switch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-devops-backend': patch ---- - -Fixed bug with `extractPartsFromAsset` that resulted in a leading `.` being removed from the path in an otherwise valid path (ex. `.assets/image.png`). The leading `.` will now only be moved for paths beginning with `./`. diff --git a/.changeset/good-lemons-lick.md b/.changeset/good-lemons-lick.md deleted file mode 100644 index 3fde0c7d84..0000000000 --- a/.changeset/good-lemons-lick.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch -'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch -'@backstage/plugin-scaffolder-backend-module-bitbucket': patch -'@backstage/plugin-scaffolder-backend-module-gerrit': patch -'@backstage/plugin-scaffolder-backend-module-github': patch -'@backstage/plugin-scaffolder-backend-module-gitlab': patch -'@backstage/plugin-scaffolder-backend-module-sentry': patch -'@backstage/plugin-scaffolder-backend-module-yeoman': patch -'@backstage/plugin-scaffolder-backend-module-azure': patch -'@backstage/plugin-scaffolder-backend-module-rails': patch ---- - -Exporting a default module for the new Backend System diff --git a/.changeset/gorgeous-bobcats-press.md b/.changeset/gorgeous-bobcats-press.md deleted file mode 100644 index 6193918cb7..0000000000 --- a/.changeset/gorgeous-bobcats-press.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-app-api': patch ---- - -Include the extension point ID and the module ID in the backend init error message. diff --git a/.changeset/gorgeous-pumas-draw.md b/.changeset/gorgeous-pumas-draw.md deleted file mode 100644 index 2e94c61c63..0000000000 --- a/.changeset/gorgeous-pumas-draw.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/plugin-analytics-module-newrelic-browser': minor -'@backstage/plugin-analytics-module-ga4': minor -'@backstage/plugin-analytics-module-ga': minor -'@backstage/core-compat-api': minor ---- - -Add support to the new analytics api. diff --git a/.changeset/gorgeous-ways-applaud.md b/.changeset/gorgeous-ways-applaud.md deleted file mode 100644 index 4b28e2e656..0000000000 --- a/.changeset/gorgeous-ways-applaud.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/plugin-signals-backend': patch -'@backstage/plugin-signals-react': patch -'@backstage/plugin-signals-node': patch -'@backstage/plugin-signals': patch ---- - -Fix disconnect loop on server start diff --git a/.changeset/great-rats-collect.md b/.changeset/great-rats-collect.md deleted file mode 100644 index 24b01c0fe3..0000000000 --- a/.changeset/great-rats-collect.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': minor ---- - -**BREAKING** The backend will fail to start if two clusters in the app-config -have the same name. The requirement for unique names has been declared in the -docs for some time, but is now enforced. diff --git a/.changeset/green-dogs-fold.md b/.changeset/green-dogs-fold.md deleted file mode 100644 index c23f7c2a29..0000000000 --- a/.changeset/green-dogs-fold.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -'@backstage/plugin-tech-insights-backend': patch -'@backstage/plugin-tech-insights-node': patch ---- - -Add support for the new backend system. - -A new backend plugin for the tech-insights backend -was added and exported as `default`. - -You can use it with the new backend system like - -```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-tech-insights-backend')); -``` diff --git a/.changeset/green-flies-draw.md b/.changeset/green-flies-draw.md deleted file mode 100644 index 6b967feceb..0000000000 --- a/.changeset/green-flies-draw.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Upgrade jest diff --git a/.changeset/grumpy-poets-study.md b/.changeset/grumpy-poets-study.md deleted file mode 100644 index 9925f2f87a..0000000000 --- a/.changeset/grumpy-poets-study.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder': patch ---- - -Added basic support for the new frontend system, exported from the `/alpha` subpath. diff --git a/.changeset/hot-horses-matter.md b/.changeset/hot-horses-matter.md deleted file mode 100644 index 1b544c0854..0000000000 --- a/.changeset/hot-horses-matter.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch -'@backstage/plugin-search-backend-module-stack-overflow-collator': patch -'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch -'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch -'@backstage/plugin-events-backend-module-bitbucket-cloud': patch -'@backstage/plugin-tech-insights-backend-module-jsonfc': patch -'@backstage/plugin-catalog-backend-module-unprocessed': patch -'@backstage/plugin-analytics-module-newrelic-browser': patch -'@backstage/plugin-scaffolder-backend-module-gitlab': patch -'@backstage/plugin-scaffolder-backend-module-sentry': patch -'@backstage/plugin-scaffolder-backend-module-yeoman': patch -'@backstage/plugin-catalog-backend-module-puppetdb': patch -'@backstage/plugin-scaffolder-backend-module-rails': patch -'@backstage/plugin-api-docs-module-protoc-gen-doc': patch -'@backstage/plugin-catalog-backend-module-msgraph': patch -'@backstage/plugin-catalog-backend-module-openapi': patch -'@backstage/plugin-search-backend-module-techdocs': patch -'@backstage/plugin-events-backend-module-aws-sqs': patch -'@backstage/plugin-search-backend-module-catalog': patch -'@backstage/plugin-search-backend-module-explore': patch -'@backstage/plugin-catalog-unprocessed-entities': patch -'@backstage/plugin-events-backend-module-gerrit': patch -'@backstage/plugin-events-backend-module-github': patch -'@backstage/plugin-events-backend-module-gitlab': patch -'@backstage/plugin-events-backend-module-azure': patch -'@backstage/plugin-entity-feedback-backend': patch -'@backstage/plugin-code-coverage-backend': patch -'@backstage/plugin-tech-insights-backend': patch -'@backstage/plugin-analytics-module-ga4': patch -'@backstage/plugin-azure-devops-backend': patch -'@backstage/backend-plugin-api': patch -'@backstage/plugin-analytics-module-ga': patch -'@backstage/plugin-azure-sites-backend': patch -'@backstage/backend-dev-utils': patch -'@backstage/plugin-github-deployments': patch -'@backstage/plugin-lighthouse-backend': patch -'@backstage/plugin-microsoft-calendar': patch -'@backstage/plugin-scaffolder-backend': patch -'@backstage/backend-defaults': patch -'@backstage/plugin-entity-validation': patch -'@backstage/plugin-sonarqube-backend': patch -'@backstage/backend-app-api': patch -'@backstage/plugin-devtools-backend': patch -'@backstage/plugin-linguist-backend': patch -'@backstage/plugin-playlist-backend': patch -'@backstage/backend-common': patch -'@backstage/plugin-catalog-backend': patch -'@backstage/plugin-explore-backend': patch -'@backstage/plugin-graphql-voyager': patch -'@backstage/plugin-jenkins-backend': patch -'@backstage/plugin-rollbar-backend': patch -'@backstage/backend-tasks': patch -'@backstage/plugin-badges-backend': patch -'@backstage/plugin-bazaar-backend': patch -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-events-backend': patch -'@backstage/plugin-github-actions': patch -'@backstage/plugin-octopus-deploy': patch -'@backstage/plugin-splunk-on-call': patch -'@backstage/plugin-techdocs-react': patch -'@backstage/app-defaults': patch -'@backstage/core-app-api': patch -'@backstage/plugin-catalog-graph': patch -'@backstage/plugin-code-coverage': patch -'@backstage/plugin-cost-insights': patch -'@backstage/plugin-nomad-backend': patch -'@backstage/plugin-tech-insights': patch -'@backstage/plugin-vault-backend': patch -'@backstage/plugin-azure-devops': patch -'@backstage/plugin-code-climate': patch -'@backstage/plugin-adr-backend': patch -'@backstage/plugin-app-backend': patch -'@backstage/plugin-azure-sites': patch -'@backstage/plugin-firehydrant': patch -'@backstage/plugin-lighthouse': patch -'@backstage/plugin-scaffolder': patch -'@backstage/plugin-tech-radar': patch -'@backstage/plugin-codescene': patch -'@backstage/plugin-dynatrace': patch -'@backstage/plugin-shortcuts': patch -'@backstage/plugin-sonarqube': patch -'@backstage/plugin-xcmetrics': patch -'@backstage/plugin-airbrake': patch -'@backstage/plugin-api-docs': patch -'@backstage/plugin-circleci': patch -'@backstage/plugin-devtools': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-linguist': patch -'@backstage/plugin-newrelic': patch -'@backstage/plugin-opencost': patch -'@backstage/plugin-periskop': patch -'@backstage/plugin-bitrise': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-jenkins': patch -'@backstage/plugin-rollbar': patch -'@backstage/plugin-allure': patch -'@backstage/plugin-badges': patch -'@backstage/plugin-bazaar': patch -'@backstage/plugin-sentry': patch -'@backstage/plugin-fossa': patch -'@backstage/plugin-ilert': patch -'@backstage/plugin-nomad': patch -'@backstage/plugin-vault': patch -'@backstage/plugin-home': patch ---- - -Use `--cwd` as the first `yarn` argument diff --git a/.changeset/hot-paws-tap.md b/.changeset/hot-paws-tap.md deleted file mode 100644 index 30d8b396ba..0000000000 --- a/.changeset/hot-paws-tap.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/catalog-model': patch -'@backstage/test-utils': patch -'@backstage/plugin-explore': patch ---- - -Fix wording in API reference diff --git a/.changeset/hot-pillows-poke.md b/.changeset/hot-pillows-poke.md deleted file mode 100644 index 8060e7121f..0000000000 --- a/.changeset/hot-pillows-poke.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/plugin-user-settings': patch -'@backstage/plugin-scaffolder': patch -'@backstage/plugin-tech-radar': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-techdocs': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-search': patch ---- - -Use `convertLegacyRouteRefs` to define routes in `/alpha` export plugin. diff --git a/.changeset/hot-tips-doubt.md b/.changeset/hot-tips-doubt.md deleted file mode 100644 index 464ddec302..0000000000 --- a/.changeset/hot-tips-doubt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-openapi-utils': patch ---- - -Internal updates due to `json-schema-to-ts` diff --git a/.changeset/kind-clouds-fly.md b/.changeset/kind-clouds-fly.md deleted file mode 100644 index 22aa7cda33..0000000000 --- a/.changeset/kind-clouds-fly.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch -'@backstage/plugin-kubernetes-node': patch ---- - -Enabled a way to include custom auth metadata info on the clusters endpoint. If you want to implement a Kubernetes auth strategy which requires surfacing custom auth metadata to the frontend, use the new presentAuthMetadata method on the AuthenticationStrategy interface. diff --git a/.changeset/kind-wombats-draw.md b/.changeset/kind-wombats-draw.md deleted file mode 100644 index 29a0e9da3c..0000000000 --- a/.changeset/kind-wombats-draw.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/core-plugin-api': minor -'@backstage/app-defaults': minor -'@backstage/core-app-api': minor -'@backstage/frontend-plugin-api': patch ---- - -Added a utility API for VMware Cloud auth; the API ref is available in the -`@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the -implementation is in `@backstage/core-app-api` and a factory has been added to -`@backstage/app-defaults`. diff --git a/.changeset/large-frogs-grab.md b/.changeset/large-frogs-grab.md deleted file mode 100644 index 2d36de3407..0000000000 --- a/.changeset/large-frogs-grab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Adding `supportedSubmitMethods` prop to `api-docs` to pass to the Swagger UI. This allows users to specify which HTTP methods they wish to allow end-users to make requests through the `Try It Out` button on the Swagger UI. diff --git a/.changeset/large-moons-speak.md b/.changeset/large-moons-speak.md deleted file mode 100644 index efd94c5df3..0000000000 --- a/.changeset/large-moons-speak.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/catalog-client': minor -'@backstage/plugin-catalog-backend': minor ---- - -Add API to get location by entity diff --git a/.changeset/large-tables-wonder.md b/.changeset/large-tables-wonder.md deleted file mode 100644 index 9c10f172a1..0000000000 --- a/.changeset/large-tables-wonder.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Add experimental support for an optional `public` app entry point that lets users sign-in before being able to access the full app. diff --git a/.changeset/lemon-cameras-remember.md b/.changeset/lemon-cameras-remember.md deleted file mode 100644 index 29cd88602f..0000000000 --- a/.changeset/lemon-cameras-remember.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Migrated oidc auth provider to new `@backstage/plugin-auth-backend-module-oidc-provider` module package. diff --git a/.changeset/long-suns-bow.md b/.changeset/long-suns-bow.md deleted file mode 100644 index 81fafa8dae..0000000000 --- a/.changeset/long-suns-bow.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': minor -'@backstage/plugin-search-backend': minor -'@backstage/plugin-todo-backend': patch ---- - -Updates the OpenAPI spec to use plugin as `info.title` instead of package name. diff --git a/.changeset/loud-walls-compare.md b/.changeset/loud-walls-compare.md deleted file mode 100644 index 495ad933d9..0000000000 --- a/.changeset/loud-walls-compare.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Fixed inconsistencies in icons used for System and Template diff --git a/.changeset/lovely-bugs-prove.md b/.changeset/lovely-bugs-prove.md deleted file mode 100644 index de55f329bb..0000000000 --- a/.changeset/lovely-bugs-prove.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -'@backstage/repo-tools': minor ---- - -**BREAKING**: The `schema openapi *` commands are now renamed into `package schema openapi *` and `repo schema openapi *`. The aim is to make it more clear what the command is operating on, the entire repo or just a single package. - -The following commands now live under the `package` namespace, - -- `schema openapi generate` is now `package schema openapi generate --server` -- `schema openapi generate-client` is now `package schema openapi generate --client-package` -- `schema openapi init` is now `package schema openapi init` - -And these commands live under the new `repo` namespace, - -- `schema openapi lint` is now `repo schema openapi lint` -- `schema openapi test` is now `repo schema openapi test` -- `schema openapi verify` is now `repo schema openapi verify` - -The `package schema openapi generate` now supports defining both `--server` and `--client-package` to generate both at once.This update also reworks the `--client-package` flag to accept only an output directory as the input directory can now be inferred. diff --git a/.changeset/lovely-starfishes-remain.md b/.changeset/lovely-starfishes-remain.md deleted file mode 100644 index c57bfa0aaa..0000000000 --- a/.changeset/lovely-starfishes-remain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder': patch ---- - -Removed alpha symbol from Task List header diff --git a/.changeset/lucky-bugs-bow.md b/.changeset/lucky-bugs-bow.md deleted file mode 100644 index ee17883408..0000000000 --- a/.changeset/lucky-bugs-bow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Add a seed file for `yarn.lock` in newly created apps. This file is downloaded directly from `https://github.com/backstage/backstage` at the time of creating a new project, ensuring that users always receive the latest version. The purpose of the seed file is to initialize the lock file with known good versions of individual dependencies that have had bad new releases published. The seed file will have no effect if the dependency is not present, it can not be used to install additional packages. diff --git a/.changeset/many-pugs-change.md b/.changeset/many-pugs-change.md deleted file mode 100644 index 318c571891..0000000000 --- a/.changeset/many-pugs-change.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch ---- - -The purpose of this patch is to add a new login method which is `googleServiceAccount` configuring the kubernetes properties in the app-config.yaml file with authProvider key diff --git a/.changeset/metal-elephants-sit.md b/.changeset/metal-elephants-sit.md deleted file mode 100644 index 093936da3b..0000000000 --- a/.changeset/metal-elephants-sit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder': minor ---- - -Introduced a new `MultiEntityPicker` field that supports selecting multiple Entities diff --git a/.changeset/metal-students-drive.md b/.changeset/metal-students-drive.md deleted file mode 100644 index 04f338c64e..0000000000 --- a/.changeset/metal-students-drive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-entity-validation': patch ---- - -Improves UX of the EntityValidationPage: Moves the validate button below the EntityTextArea which is actually validated, the location TextField can now be hidden to prevent confusion about what is validated and additional content can be added to the top of the validation page. diff --git a/.changeset/mighty-steaks-shave.md b/.changeset/mighty-steaks-shave.md deleted file mode 100644 index b85447e5c0..0000000000 --- a/.changeset/mighty-steaks-shave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Bumped TypeScript to version `5.3`. diff --git a/.changeset/mighty-toys-laugh.md b/.changeset/mighty-toys-laugh.md deleted file mode 100644 index ad48e84565..0000000000 --- a/.changeset/mighty-toys-laugh.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': minor ---- - -Add support to `configSchema` option on the `createEntityCardExtension` factory function. diff --git a/.changeset/nasty-days-jog.md b/.changeset/nasty-days-jog.md deleted file mode 100644 index 09454609b2..0000000000 --- a/.changeset/nasty-days-jog.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-aws-alb-provider': patch ---- - -Refactored to use the `jose` library for JWT handling. diff --git a/.changeset/neat-eels-greet.md b/.changeset/neat-eels-greet.md deleted file mode 100644 index 5ba4777934..0000000000 --- a/.changeset/neat-eels-greet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-graph': minor ---- - -Migrate plugin to the new frontend system, it is experimental and available via alpha subpath. diff --git a/.changeset/neat-hotels-wink.md b/.changeset/neat-hotels-wink.md deleted file mode 100644 index fca82e38fa..0000000000 --- a/.changeset/neat-hotels-wink.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-gitlab': patch ---- - -Added the option to provide custom `groupTransformer`, `userTransformer` and `groupNameTransformer` to allow custom transformations of groups and users diff --git a/.changeset/nice-carrots-dream.md b/.changeset/nice-carrots-dream.md deleted file mode 100644 index 3b57dfd9e0..0000000000 --- a/.changeset/nice-carrots-dream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-github': patch ---- - -Decreased number of teams fetched by GraphQL Query responsible for fetching Teams and Members in organization, due to timeouts when running against big organizations diff --git a/.changeset/nine-bulldogs-camp.md b/.changeset/nine-bulldogs-camp.md deleted file mode 100644 index b6612b9948..0000000000 --- a/.changeset/nine-bulldogs-camp.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/catalog-client': minor -'@backstage/plugin-catalog-backend': minor -'@backstage/plugin-search-backend': minor -'@backstage/plugin-todo-backend': patch ---- - -Updates the OpenAPI specification title to plugin ID instead of package name. diff --git a/.changeset/nine-olives-swim.md b/.changeset/nine-olives-swim.md deleted file mode 100644 index 40852c08c2..0000000000 --- a/.changeset/nine-olives-swim.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-node': minor ---- - -Added functions to clone a repo, create a branch, add files and push and commit to the branch. This allows for files to be added to the a PR for use in the bitbucket pull request action for issue #21762 diff --git a/.changeset/ninety-rules-sneeze.md b/.changeset/ninety-rules-sneeze.md deleted file mode 100644 index bea9d00f7e..0000000000 --- a/.changeset/ninety-rules-sneeze.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': patch ---- - -Minor performance improvement for `queryEntities` when the limit is 0. diff --git a/.changeset/old-papayas-shave.md b/.changeset/old-papayas-shave.md deleted file mode 100644 index 1372b9ce85..0000000000 --- a/.changeset/old-papayas-shave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Wrap the root element with the analytics context to ensure it always exists for all extensions. diff --git a/.changeset/old-students-smoke.md b/.changeset/old-students-smoke.md deleted file mode 100644 index 8e072c5203..0000000000 --- a/.changeset/old-students-smoke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-oidc-provider': minor ---- - -Created new `@backstage/plugin-auth-backend-module-oidc-provider` module package to house oidc auth provider migration. diff --git a/.changeset/olive-boats-agree.md b/.changeset/olive-boats-agree.md deleted file mode 100644 index e489476bcc..0000000000 --- a/.changeset/olive-boats-agree.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -'@backstage/core-app-api': patch -'@backstage/core-components': patch -'@backstage/core-plugin-api': patch -'@backstage/dev-utils': patch -'@backstage/frontend-app-api': patch -'@backstage/frontend-plugin-api': patch -'@backstage/plugin-adr': patch -'@backstage/plugin-airbrake': patch -'@backstage/plugin-allure': patch -'@backstage/plugin-apache-airflow': patch -'@backstage/plugin-api-docs-module-protoc-gen-doc': patch -'@backstage/plugin-api-docs': patch -'@backstage/plugin-apollo-explorer': patch -'@backstage/plugin-azure-devops': patch -'@backstage/plugin-azure-sites': patch -'@backstage/plugin-badges': patch -'@backstage/plugin-bazaar': patch -'@backstage/plugin-bitrise': patch -'@backstage/plugin-catalog-graph': patch -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-catalog-unprocessed-entities': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-circleci': patch -'@backstage/plugin-cloudbuild': patch -'@backstage/plugin-code-climate': patch -'@backstage/plugin-code-coverage': patch -'@backstage/plugin-codescene': patch -'@backstage/plugin-config-schema': patch -'@backstage/plugin-cost-insights': patch -'@backstage/plugin-devtools': patch -'@backstage/plugin-dynatrace': patch -'@backstage/plugin-entity-feedback': patch -'@backstage/plugin-entity-validation': patch -'@backstage/plugin-explore': patch -'@backstage/plugin-firehydrant': patch -'@backstage/plugin-fossa': patch -'@backstage/plugin-gcalendar': patch -'@backstage/plugin-git-release-manager': patch -'@backstage/plugin-github-actions': patch -'@backstage/plugin-github-deployments': patch -'@backstage/plugin-github-issues': patch -'@backstage/plugin-github-pull-requests-board': patch -'@backstage/plugin-gitops-profiles': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-graphql-voyager': patch -'@backstage/plugin-home': patch -'@backstage/plugin-ilert': patch -'@backstage/plugin-jenkins': patch -'@backstage/plugin-kafka': patch -'@backstage/plugin-kubernetes-cluster': patch -'@backstage/plugin-kubernetes-react': patch -'@backstage/plugin-kubernetes': patch -'@backstage/plugin-lighthouse': patch -'@backstage/plugin-linguist': patch -'@backstage/plugin-microsoft-calendar': patch -'@backstage/plugin-newrelic-dashboard': patch -'@backstage/plugin-newrelic': patch -'@backstage/plugin-nomad': patch -'@backstage/plugin-octopus-deploy': patch -'@backstage/plugin-opencost': patch -'@backstage/plugin-org-react': patch -'@backstage/plugin-org': patch -'@backstage/plugin-pagerduty': patch -'@backstage/plugin-periskop': patch -'@backstage/plugin-permission-react': patch -'@backstage/plugin-playlist': patch -'@backstage/plugin-puppetdb': patch -'@backstage/plugin-rollbar': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch -'@backstage/plugin-search-react': patch -'@backstage/plugin-search': patch -'@backstage/plugin-sentry': patch -'@backstage/plugin-shortcuts': patch -'@backstage/plugin-sonarqube': patch -'@backstage/plugin-splunk-on-call': patch -'@backstage/plugin-stack-overflow': patch -'@backstage/plugin-stackstorm': patch -'@backstage/plugin-tech-insights': patch -'@backstage/plugin-tech-radar': patch -'@backstage/plugin-techdocs-addons-test-utils': patch -'@backstage/plugin-techdocs-react': patch -'@backstage/plugin-techdocs': patch -'@backstage/plugin-user-settings': patch -'@backstage/plugin-vault': patch -'@backstage/plugin-xcmetrics': patch -'@backstage/test-utils': patch -'@backstage/theme': patch ---- - -Widen `@types/react` dependency range to include version 18. diff --git a/.changeset/olive-experts-fold.md b/.changeset/olive-experts-fold.md deleted file mode 100644 index 29b9bfc28f..0000000000 --- a/.changeset/olive-experts-fold.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': patch ---- - -Rollback the change for wildcard discovery, this fixes a bug with the `AzureUrlReader` not working with wildcard paths diff --git a/.changeset/olive-singers-accept.md b/.changeset/olive-singers-accept.md deleted file mode 100644 index 7e8cf7ae8d..0000000000 --- a/.changeset/olive-singers-accept.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -Added `convertLegacyRouteRefs` for bulk conversion of plugin routes. diff --git a/.changeset/orange-gorillas-clean.md b/.changeset/orange-gorillas-clean.md deleted file mode 100644 index d346adce6c..0000000000 --- a/.changeset/orange-gorillas-clean.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -'@backstage/plugin-tech-insights-backend': patch -'@backstage/plugin-tech-insights-node': patch ---- - -Move `FactRetrieverRegistry` and `PersistenceContext` to `@backstage/plugin-tech-insights-node`. - -Original exports are marked as deprecated and re-export the moved types. - -Please replace uses like - -```ts -import { - FactRetrieverRegistry, - PersistenceContext, -} from '@backstage/plugin-tech-insights-backend'; -``` - -with - -```ts -import { - FactRetrieverRegistry, - PersistenceContext, -} from '@backstage/plugin-tech-insights-node'; -``` diff --git a/.changeset/orange-walls-complain.md b/.changeset/orange-walls-complain.md deleted file mode 100644 index 477d42d913..0000000000 --- a/.changeset/orange-walls-complain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Add line clamping to `CatalogSearchResultListItem` diff --git a/.changeset/polite-meals-hug.md b/.changeset/polite-meals-hug.md deleted file mode 100644 index 664f450c6d..0000000000 --- a/.changeset/polite-meals-hug.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-stack-overflow': patch ---- - -Fixes a bug that made the API return questions not related to the tags provided diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index e430b3c2f1..0000000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,403 +0,0 @@ -{ - "mode": "pre", - "tag": "next", - "initialVersions": { - "example-app": "0.2.91", - "@backstage/app-defaults": "1.4.7", - "example-app-next": "0.0.5", - "app-next-example-plugin": "0.0.5", - "example-backend": "0.2.91", - "@backstage/backend-app-api": "0.5.10", - "@backstage/backend-common": "0.20.1", - "@backstage/backend-defaults": "0.2.9", - "@backstage/backend-dev-utils": "0.1.3", - "@backstage/backend-dynamic-feature-service": "0.1.0", - "example-backend-next": "0.0.19", - "@backstage/backend-openapi-utils": "0.1.2", - "@backstage/backend-plugin-api": "0.6.9", - "@backstage/backend-tasks": "0.5.14", - "@backstage/backend-test-utils": "0.2.10", - "@backstage/catalog-client": "1.5.2", - "@backstage/catalog-model": "1.4.3", - "@backstage/cli": "0.25.1", - "@backstage/cli-common": "0.1.13", - "@backstage/cli-node": "0.2.2", - "@backstage/codemods": "0.1.46", - "@backstage/config": "1.1.1", - "@backstage/config-loader": "1.6.1", - "@backstage/core-app-api": "1.11.3", - "@backstage/core-compat-api": "0.1.1", - "@backstage/core-components": "0.13.10", - "@backstage/core-plugin-api": "1.8.2", - "@backstage/create-app": "0.5.9", - "@backstage/dev-utils": "1.0.26", - "e2e-test": "0.2.11", - "@backstage/e2e-test-utils": "0.1.0", - "@backstage/errors": "1.2.3", - "@backstage/eslint-plugin": "0.1.4", - "@backstage/frontend-app-api": "0.5.0", - "@backstage/frontend-plugin-api": "0.5.0", - "@backstage/frontend-test-utils": "0.1.1", - "@backstage/integration": "1.8.0", - "@backstage/integration-aws-node": "0.1.8", - "@backstage/integration-react": "1.1.23", - "@backstage/release-manifests": "0.0.11", - "@backstage/repo-tools": "0.5.2", - "@techdocs/cli": "1.8.1", - "techdocs-cli-embedded-app": "0.2.90", - "@backstage/test-utils": "1.4.7", - "@backstage/theme": "0.5.0", - "@backstage/types": "1.1.1", - "@backstage/version-bridge": "1.0.7", - "@backstage/plugin-adr": "0.6.12", - "@backstage/plugin-adr-backend": "0.4.6", - "@backstage/plugin-adr-common": "0.2.19", - "@backstage/plugin-airbrake": "0.3.29", - "@backstage/plugin-airbrake-backend": "0.3.6", - "@backstage/plugin-allure": "0.1.45", - "@backstage/plugin-analytics-module-ga": "0.1.37", - "@backstage/plugin-analytics-module-ga4": "0.1.8", - "@backstage/plugin-analytics-module-newrelic-browser": "0.0.6", - "@backstage/plugin-apache-airflow": "0.2.19", - "@backstage/plugin-api-docs": "0.10.3", - "@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.5", - "@backstage/plugin-apollo-explorer": "0.1.19", - "@backstage/plugin-app-backend": "0.3.57", - "@backstage/plugin-app-node": "0.1.9", - "@backstage/plugin-app-visualizer": "0.1.0", - "@backstage/plugin-auth-backend": "0.20.3", - "@backstage/plugin-auth-backend-module-atlassian-provider": "0.1.1", - "@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.2.3", - "@backstage/plugin-auth-backend-module-github-provider": "0.1.6", - "@backstage/plugin-auth-backend-module-gitlab-provider": "0.1.6", - "@backstage/plugin-auth-backend-module-google-provider": "0.1.6", - "@backstage/plugin-auth-backend-module-microsoft-provider": "0.1.4", - "@backstage/plugin-auth-backend-module-oauth2-provider": "0.1.6", - "@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.1.1", - "@backstage/plugin-auth-backend-module-okta-provider": "0.0.2", - "@backstage/plugin-auth-backend-module-pinniped-provider": "0.1.3", - "@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.1.1", - "@backstage/plugin-auth-node": "0.4.3", - "@backstage/plugin-azure-devops": "0.3.11", - "@backstage/plugin-azure-devops-backend": "0.5.1", - "@backstage/plugin-azure-devops-common": "0.3.2", - "@backstage/plugin-azure-sites": "0.1.18", - "@backstage/plugin-azure-sites-backend": "0.1.19", - "@backstage/plugin-azure-sites-common": "0.1.1", - "@backstage/plugin-badges": "0.2.53", - "@backstage/plugin-badges-backend": "0.3.6", - "@backstage/plugin-bazaar": "0.2.21", - "@backstage/plugin-bazaar-backend": "0.3.7", - "@backstage/plugin-bitbucket-cloud-common": "0.2.15", - "@backstage/plugin-bitrise": "0.1.56", - "@backstage/plugin-catalog": "1.16.1", - "@backstage/plugin-catalog-backend": "1.16.1", - "@backstage/plugin-catalog-backend-module-aws": "0.3.3", - "@backstage/plugin-catalog-backend-module-azure": "0.1.28", - "@backstage/plugin-catalog-backend-module-backstage-openapi": "0.1.2", - "@backstage/plugin-catalog-backend-module-bitbucket": "0.2.24", - "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.24", - "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.22", - "@backstage/plugin-catalog-backend-module-gcp": "0.1.9", - "@backstage/plugin-catalog-backend-module-gerrit": "0.1.25", - "@backstage/plugin-catalog-backend-module-github": "0.4.7", - "@backstage/plugin-catalog-backend-module-github-org": "0.1.3", - "@backstage/plugin-catalog-backend-module-gitlab": "0.3.6", - "@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.4.13", - "@backstage/plugin-catalog-backend-module-ldap": "0.5.24", - "@backstage/plugin-catalog-backend-module-msgraph": "0.5.16", - "@backstage/plugin-catalog-backend-module-openapi": "0.1.26", - "@backstage/plugin-catalog-backend-module-puppetdb": "0.1.14", - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.1.6", - "@backstage/plugin-catalog-backend-module-unprocessed": "0.3.6", - "@backstage/plugin-catalog-common": "1.0.20", - "@backstage/plugin-catalog-graph": "0.3.3", - "@backstage/plugin-catalog-import": "0.10.5", - "@backstage/plugin-catalog-node": "1.6.1", - "@backstage/plugin-catalog-react": "1.9.3", - "@backstage/plugin-catalog-unprocessed-entities": "0.1.7", - "@backstage/plugin-cicd-statistics": "0.1.31", - "@backstage/plugin-cicd-statistics-module-gitlab": "0.1.25", - "@backstage/plugin-circleci": "0.3.29", - "@backstage/plugin-cloudbuild": "0.3.29", - "@backstage/plugin-code-climate": "0.1.29", - "@backstage/plugin-code-coverage": "0.2.22", - "@backstage/plugin-code-coverage-backend": "0.2.23", - "@backstage/plugin-codescene": "0.1.21", - "@backstage/plugin-config-schema": "0.1.49", - "@backstage/plugin-cost-insights": "0.12.18", - "@backstage/plugin-cost-insights-common": "0.1.2", - "@backstage/plugin-devtools": "0.1.8", - "@backstage/plugin-devtools-backend": "0.2.6", - "@backstage/plugin-devtools-common": "0.1.8", - "@backstage/plugin-dynatrace": "8.0.3", - "@backstage/plugin-entity-feedback": "0.2.12", - "@backstage/plugin-entity-feedback-backend": "0.2.6", - "@backstage/plugin-entity-feedback-common": "0.1.3", - "@backstage/plugin-entity-validation": "0.1.14", - "@backstage/plugin-events-backend": "0.2.18", - "@backstage/plugin-events-backend-module-aws-sqs": "0.2.12", - "@backstage/plugin-events-backend-module-azure": "0.1.19", - "@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.19", - "@backstage/plugin-events-backend-module-gerrit": "0.1.19", - "@backstage/plugin-events-backend-module-github": "0.1.19", - "@backstage/plugin-events-backend-module-gitlab": "0.1.19", - "@backstage/plugin-events-backend-test-utils": "0.1.19", - "@backstage/plugin-events-node": "0.2.18", - "@internal/plugin-todo-list": "1.0.21", - "@internal/plugin-todo-list-backend": "1.0.21", - "@internal/plugin-todo-list-common": "1.0.17", - "@backstage/plugin-explore": "0.4.15", - "@backstage/plugin-explore-backend": "0.0.19", - "@backstage/plugin-explore-common": "0.0.2", - "@backstage/plugin-explore-react": "0.0.35", - "@backstage/plugin-firehydrant": "0.2.13", - "@backstage/plugin-fossa": "0.2.61", - "@backstage/plugin-gcalendar": "0.3.22", - "@backstage/plugin-gcp-projects": "0.3.45", - "@backstage/plugin-git-release-manager": "0.3.41", - "@backstage/plugin-github-actions": "0.6.10", - "@backstage/plugin-github-deployments": "0.1.60", - "@backstage/plugin-github-issues": "0.2.18", - "@backstage/plugin-github-pull-requests-board": "0.1.23", - "@backstage/plugin-gitops-profiles": "0.3.44", - "@backstage/plugin-gocd": "0.1.35", - "@backstage/plugin-graphiql": "0.3.2", - "@backstage/plugin-graphql-voyager": "0.1.11", - "@backstage/plugin-home": "0.6.1", - "@backstage/plugin-home-react": "0.1.7", - "@backstage/plugin-ilert": "0.2.18", - "@backstage/plugin-jenkins": "0.9.4", - "@backstage/plugin-jenkins-backend": "0.3.3", - "@backstage/plugin-jenkins-common": "0.1.23", - "@backstage/plugin-kafka": "0.3.29", - "@backstage/plugin-kafka-backend": "0.3.7", - "@backstage/plugin-kubernetes": "0.11.4", - "@backstage/plugin-kubernetes-backend": "0.14.1", - "@backstage/plugin-kubernetes-cluster": "0.0.5", - "@backstage/plugin-kubernetes-common": "0.7.3", - "@backstage/plugin-kubernetes-node": "0.1.3", - "@backstage/plugin-kubernetes-react": "0.2.1", - "@backstage/plugin-lighthouse": "0.4.14", - "@backstage/plugin-lighthouse-backend": "0.4.1", - "@backstage/plugin-lighthouse-common": "0.1.4", - "@backstage/plugin-linguist": "0.1.14", - "@backstage/plugin-linguist-backend": "0.5.6", - "@backstage/plugin-linguist-common": "0.1.2", - "@backstage/plugin-microsoft-calendar": "0.1.11", - "@backstage/plugin-newrelic": "0.3.44", - "@backstage/plugin-newrelic-dashboard": "0.3.4", - "@backstage/plugin-nomad": "0.1.10", - "@backstage/plugin-nomad-backend": "0.1.11", - "@backstage/plugin-octopus-deploy": "0.2.11", - "@backstage/plugin-opencost": "0.2.4", - "@backstage/plugin-org": "0.6.19", - "@backstage/plugin-org-react": "0.1.18", - "@backstage/plugin-pagerduty": "0.7.1", - "@backstage/plugin-periskop": "0.1.27", - "@backstage/plugin-periskop-backend": "0.2.7", - "@backstage/plugin-permission-backend": "0.5.32", - "@backstage/plugin-permission-backend-module-allow-all-policy": "0.1.6", - "@backstage/plugin-permission-common": "0.7.12", - "@backstage/plugin-permission-node": "0.7.20", - "@backstage/plugin-permission-react": "0.4.19", - "@backstage/plugin-playlist": "0.2.3", - "@backstage/plugin-playlist-backend": "0.3.13", - "@backstage/plugin-playlist-common": "0.1.14", - "@backstage/plugin-proxy-backend": "0.4.7", - "@backstage/plugin-puppetdb": "0.1.12", - "@backstage/plugin-rollbar": "0.4.29", - "@backstage/plugin-rollbar-backend": "0.1.54", - "@backstage/plugin-scaffolder": "1.17.1", - "@backstage/plugin-scaffolder-backend": "1.20.0", - "@backstage/plugin-scaffolder-backend-module-azure": "0.1.1", - "@backstage/plugin-scaffolder-backend-module-bitbucket": "0.1.1", - "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.2.10", - "@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.33", - "@backstage/plugin-scaffolder-backend-module-gerrit": "0.1.1", - "@backstage/plugin-scaffolder-backend-module-github": "0.1.1", - "@backstage/plugin-scaffolder-backend-module-gitlab": "0.2.12", - "@backstage/plugin-scaffolder-backend-module-rails": "0.4.26", - "@backstage/plugin-scaffolder-backend-module-sentry": "0.1.17", - "@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.30", - "@backstage/plugin-scaffolder-common": "1.4.5", - "@backstage/plugin-scaffolder-node": "0.2.10", - "@backstage/plugin-scaffolder-react": "1.7.1", - "@backstage/plugin-search": "1.4.5", - "@backstage/plugin-search-backend": "1.4.9", - "@backstage/plugin-search-backend-module-catalog": "0.1.13", - "@backstage/plugin-search-backend-module-elasticsearch": "1.3.12", - "@backstage/plugin-search-backend-module-explore": "0.1.13", - "@backstage/plugin-search-backend-module-pg": "0.5.18", - "@backstage/plugin-search-backend-module-stack-overflow-collator": "0.1.2", - "@backstage/plugin-search-backend-module-techdocs": "0.1.13", - "@backstage/plugin-search-backend-node": "1.2.13", - "@backstage/plugin-search-common": "1.2.10", - "@backstage/plugin-search-react": "1.7.5", - "@backstage/plugin-sentry": "0.5.14", - "@backstage/plugin-shortcuts": "0.3.18", - "@backstage/plugin-sonarqube": "0.7.11", - "@backstage/plugin-sonarqube-backend": "0.2.11", - "@backstage/plugin-sonarqube-react": "0.1.12", - "@backstage/plugin-splunk-on-call": "0.4.18", - "@backstage/plugin-stack-overflow": "0.1.24", - "@backstage/plugin-stack-overflow-backend": "0.2.13", - "@backstage/plugin-stackstorm": "0.1.10", - "@backstage/plugin-tech-insights": "0.3.21", - "@backstage/plugin-tech-insights-backend": "0.5.23", - "@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.41", - "@backstage/plugin-tech-insights-common": "0.2.12", - "@backstage/plugin-tech-insights-node": "0.4.15", - "@backstage/plugin-tech-radar": "0.6.12", - "@backstage/plugin-techdocs": "1.9.3", - "@backstage/plugin-techdocs-addons-test-utils": "1.0.26", - "@backstage/plugin-techdocs-backend": "1.9.2", - "@backstage/plugin-techdocs-module-addons-contrib": "1.1.4", - "@backstage/plugin-techdocs-node": "1.11.1", - "@backstage/plugin-techdocs-react": "1.1.15", - "@backstage/plugin-todo": "0.2.33", - "@backstage/plugin-todo-backend": "0.3.7", - "@backstage/plugin-user-settings": "0.8.0", - "@backstage/plugin-user-settings-backend": "0.2.8", - "@backstage/plugin-vault": "0.1.24", - "@backstage/plugin-vault-backend": "0.4.2", - "@backstage/plugin-vault-node": "0.1.2", - "@backstage/plugin-xcmetrics": "0.2.47", - "@backstage/plugin-auth-backend-module-oidc-provider": "0.0.0", - "@backstage/plugin-signals": "0.0.0", - "@backstage/plugin-signals-backend": "0.0.0", - "@backstage/plugin-signals-node": "0.0.0", - "@backstage/plugin-signals-react": "0.0.0", - "@backstage/plugin-auth-backend-module-aws-alb-provider": "0.0.0" - }, - "changesets": [ - "afraid-numbers-invite", - "angry-phones-arrive", - "blue-keys-do", - "breezy-cobras-sin", - "brown-items-hammer", - "calm-cups-rule", - "calm-items-double", - "chilled-chefs-notice", - "chilled-ways-wave", - "chilly-seahorses-bake", - "cold-cooks-care", - "create-app-1706621803", - "curvy-ladybugs-impress", - "cyan-bats-lick", - "cyan-icons-rest", - "dirty-mirrors-retire", - "dry-lizards-taste", - "dry-lobsters-flash", - "dry-vans-kiss", - "dull-dolphins-explain", - "dull-fireants-repeat", - "eight-hounds-dream", - "empty-ligers-hang", - "fair-mirrors-hammer", - "famous-houses-thank", - "fast-jeans-walk", - "fifty-adults-watch", - "fifty-files-argue", - "flat-wasps-fold", - "forty-cars-scream", - "four-mugs-try", - "four-walls-perform", - "friendly-cheetahs-rescue", - "funny-buttons-sip", - "funny-timers-visit", - "giant-suits-switch", - "good-lemons-lick", - "gorgeous-bobcats-press", - "gorgeous-pumas-draw", - "green-flies-draw", - "grumpy-poets-study", - "hot-paws-tap", - "hot-pillows-poke", - "hot-tips-doubt", - "kind-clouds-fly", - "large-frogs-grab", - "large-moons-speak", - "large-tables-wonder", - "lemon-cameras-remember", - "long-suns-bow", - "loud-walls-compare", - "lovely-starfishes-remain", - "many-pugs-change", - "metal-elephants-sit", - "metal-students-drive", - "neat-hotels-wink", - "nice-carrots-dream", - "nine-bulldogs-camp", - "nine-olives-swim", - "ninety-rules-sneeze", - "old-papayas-shave", - "old-students-smoke", - "olive-experts-fold", - "olive-singers-accept", - "orange-walls-complain", - "polite-meals-hug", - "quick-penguins-refuse", - "quick-ties-stare", - "quiet-donkeys-punch", - "rare-seals-thank", - "real-eggs-sip", - "renovate-47c1714", - "renovate-4b698fb", - "renovate-5f8d1ca", - "renovate-95b717a", - "renovate-f58dd5c", - "renovate-fb2e0b9", - "rotten-lemons-cry", - "selfish-mails-scream", - "serious-carpets-learn", - "seven-dots-serve", - "seven-plums-return", - "shaggy-trainers-rule", - "shaggy-windows-cross", - "sharp-pandas-hunt", - "shiny-poets-tease", - "shy-carrots-decide", - "silent-hotels-knock", - "silent-poets-grab", - "silent-waves-pretend", - "six-jobs-sin", - "six-melons-end", - "sixty-shoes-prove", - "smart-numbers-call", - "soft-beans-tease", - "sour-rivers-fry", - "strange-parents-hammer", - "strong-lobsters-hide", - "sweet-ravens-glow", - "tall-tools-compare", - "tame-numbers-smile", - "tame-rockets-sin", - "tasty-feet-cheat", - "ten-numbers-happen", - "ten-planets-guess", - "ten-trainers-cough", - "tender-flowers-collect", - "thirty-dolls-admire", - "tidy-cooks-mix", - "tidy-cooks-mixed", - "tiny-kiwis-know", - "tough-drinks-scream", - "twelve-hounds-know", - "twelve-pens-rescue", - "twelve-weeks-march", - "twenty-taxis-mate", - "two-coats-smile", - "two-geese-explain", - "two-singers-learn", - "unlucky-pens-search", - "unlucky-wasps-tan", - "warm-maps-scream", - "wet-emus-work", - "wicked-elephants-scream", - "wild-owls-doubt", - "wise-flies-laugh", - "young-ladybugs-decide", - "young-rules-repeat" - ] -} diff --git a/.changeset/quick-penguins-refuse.md b/.changeset/quick-penguins-refuse.md deleted file mode 100644 index 5d3165114b..0000000000 --- a/.changeset/quick-penguins-refuse.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch ---- - -Added `ScaffolderPageContextMenu` to `ActionsPage`, `ListTaskPage`, and `TemplateEditorPage` so that you can more easily navigate between these pages diff --git a/.changeset/quick-ties-stare.md b/.changeset/quick-ties-stare.md deleted file mode 100644 index 19eb50feed..0000000000 --- a/.changeset/quick-ties-stare.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/backend-plugin-api': patch -'@backstage/backend-common': patch ---- - -Support `token` in `readTree`, `readUrl` and `search` diff --git a/.changeset/quiet-donkeys-punch.md b/.changeset/quiet-donkeys-punch.md deleted file mode 100644 index a375ed148c..0000000000 --- a/.changeset/quiet-donkeys-punch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-react': patch ---- - -Extracted common dialog component. diff --git a/.changeset/rare-seals-thank.md b/.changeset/rare-seals-thank.md deleted file mode 100644 index 345c1c91b4..0000000000 --- a/.changeset/rare-seals-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Added `RouteResolutionsApi` as a replacement for the routing context. diff --git a/.changeset/real-eggs-sip.md b/.changeset/real-eggs-sip.md deleted file mode 100644 index ca23d792f8..0000000000 --- a/.changeset/real-eggs-sip.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/plugin-signals-backend': patch -'@backstage/plugin-signals': patch -'@backstage/plugin-signals-react': patch -'@backstage/plugin-signals-node': patch ---- - -Add support to subscribe and publish messages through signals plugins diff --git a/.changeset/real-grapes-sing.md b/.changeset/real-grapes-sing.md deleted file mode 100644 index 484fc7969a..0000000000 --- a/.changeset/real-grapes-sing.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/app-defaults': minor -'@backstage/plugin-playlist': patch -'@backstage/plugin-scaffolder': minor ---- - -Added stack trace display to `ErrorPage` and updated existing refs diff --git a/.changeset/red-bottles-swim.md b/.changeset/red-bottles-swim.md deleted file mode 100644 index eebdc85298..0000000000 --- a/.changeset/red-bottles-swim.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch -'@backstage/plugin-auth-node': patch ---- - -The helper function `makeProfileInfo` and `PassportHelpers.transformProfile` -were refactored to use the `jose` library. diff --git a/.changeset/red-eggs-serve.md b/.changeset/red-eggs-serve.md deleted file mode 100644 index 1b2c9b3b07..0000000000 --- a/.changeset/red-eggs-serve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-app-backend': patch ---- - -Support injecting config multiple times in a single bundle diff --git a/.changeset/renovate-47c1714.md b/.changeset/renovate-47c1714.md deleted file mode 100644 index 4544d36713..0000000000 --- a/.changeset/renovate-47c1714.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@backstage/plugin-home-react': patch -'@backstage/plugin-home': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-scaffolder': patch ---- - -Updated dependency `@rjsf/utils` to `5.16.1`. -Updated dependency `@rjsf/core` to `5.16.1`. -Updated dependency `@rjsf/material-ui` to `5.16.1`. -Updated dependency `@rjsf/validator-ajv8` to `5.16.1`. diff --git a/.changeset/renovate-4b698fb.md b/.changeset/renovate-4b698fb.md deleted file mode 100644 index 220aa5c848..0000000000 --- a/.changeset/renovate-4b698fb.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependency `vite-plugin-node-polyfills` to `^0.19.0`. diff --git a/.changeset/renovate-5f8d1ca.md b/.changeset/renovate-5f8d1ca.md deleted file mode 100644 index 03f8d4b961..0000000000 --- a/.changeset/renovate-5f8d1ca.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-oidc-provider': patch ---- - -Updated dependency `passport` to `^0.7.0`. diff --git a/.changeset/renovate-95b717a.md b/.changeset/renovate-95b717a.md deleted file mode 100644 index 59beab8d04..0000000000 --- a/.changeset/renovate-95b717a.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-bitbucket-cloud-common': patch ---- - -Updated dependency `ts-morph` to `^21.0.0`. diff --git a/.changeset/renovate-97e6aa5.md b/.changeset/renovate-97e6aa5.md deleted file mode 100644 index 51f4edccd2..0000000000 --- a/.changeset/renovate-97e6aa5.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-opencost': patch ---- - -Updated dependency `date-fns` to `^3.0.0`. diff --git a/.changeset/renovate-f4b1d70.md b/.changeset/renovate-f4b1d70.md deleted file mode 100644 index 7b07ee8364..0000000000 --- a/.changeset/renovate-f4b1d70.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/cli': patch -'@backstage/plugin-scaffolder-backend': patch ---- - -Updated dependency `esbuild` to `^0.20.0`. diff --git a/.changeset/renovate-f58dd5c.md b/.changeset/renovate-f58dd5c.md deleted file mode 100644 index 8a226034ea..0000000000 --- a/.changeset/renovate-f58dd5c.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Updated dependency `graphiql` to `3.1.0`. diff --git a/.changeset/renovate-fb2e0b9.md b/.changeset/renovate-fb2e0b9.md deleted file mode 100644 index 39277aaa2a..0000000000 --- a/.changeset/renovate-fb2e0b9.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Updated dependency `@asyncapi/react-component` to `1.2.13`. diff --git a/.changeset/rotten-lemons-cry.md b/.changeset/rotten-lemons-cry.md deleted file mode 100644 index 2bcc4c2ea7..0000000000 --- a/.changeset/rotten-lemons-cry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-microsoft-provider': patch ---- - -Added the possibility to use custom scopes for performing login with Microsoft EntraID. diff --git a/.changeset/selfish-mails-scream.md b/.changeset/selfish-mails-scream.md deleted file mode 100644 index 7d1149f27a..0000000000 --- a/.changeset/selfish-mails-scream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@techdocs/cli': patch ---- - -fix: mkdocs parameter casing diff --git a/.changeset/serious-carpets-learn.md b/.changeset/serious-carpets-learn.md deleted file mode 100644 index 1f13420976..0000000000 --- a/.changeset/serious-carpets-learn.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': minor -'@backstage/plugin-scaffolder-common': minor -'@backstage/plugin-scaffolder-react': minor -'@backstage/plugin-scaffolder-node': minor -'@backstage/plugin-scaffolder': patch ---- - -Introduced the first version of recoverable tasks. diff --git a/.changeset/seven-dots-serve.md b/.changeset/seven-dots-serve.md deleted file mode 100644 index 80919b5d28..0000000000 --- a/.changeset/seven-dots-serve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': minor ---- - -Exported `CatalogTable.defaultColumnsFunc` for defining the columns in `` of some Kinds while using the default columns for the others. diff --git a/.changeset/seven-plums-return.md b/.changeset/seven-plums-return.md deleted file mode 100644 index 71016577b1..0000000000 --- a/.changeset/seven-plums-return.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch -'@backstage/plugin-kubernetes-common': patch ---- - -Clusters configured with the `aws` authentication strategy can now customize the -`x-k8s-aws-id` header value used to generate tokens. This value can be specified -specified via the `kubernetes.io/x-k8s-aws-id` parameter (in -`metadata.annotations` for clusters in the catalog, or the `authMetadata` block -on clusters in the app-config). This is particularly helpful when a Backstage -instance contains multiple AWS clusters with the same name in different regions --- using this new parameter, the clusters can be given different logical names -to distinguish them but still use the same ID for the purposes of generating -tokens. diff --git a/.changeset/shaggy-trainers-rule.md b/.changeset/shaggy-trainers-rule.md deleted file mode 100644 index 4140a400e1..0000000000 --- a/.changeset/shaggy-trainers-rule.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-plugin-api': patch ---- - -Throw a more specific exception `NotImplementedError` when an API implementation cannot be found. diff --git a/.changeset/shaggy-windows-cross.md b/.changeset/shaggy-windows-cross.md deleted file mode 100644 index 185c6d59ef..0000000000 --- a/.changeset/shaggy-windows-cross.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/app-defaults': patch -'@backstage/core-app-api': patch -'@backstage/test-utils': patch ---- - -Change `defaultScopes` for Bitbucket auth from invalid `team` to `account`. diff --git a/.changeset/sharp-pandas-hunt.md b/.changeset/sharp-pandas-hunt.md deleted file mode 100644 index 1c69c02a0b..0000000000 --- a/.changeset/sharp-pandas-hunt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-bitrise': patch ---- - -Update README diff --git a/.changeset/shiny-apes-glow.md b/.changeset/shiny-apes-glow.md deleted file mode 100644 index 5ff66157cd..0000000000 --- a/.changeset/shiny-apes-glow.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-bitbucket-cloud': minor -'@backstage/plugin-scaffolder-backend': patch ---- - -New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud`. - -Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` -and replaces its actions related to Bitbucket Cloud. - -- `publish:bitbucketCloud` -- `bitbucket:pipelines:run` diff --git a/.changeset/shiny-clocks-greet.md b/.changeset/shiny-clocks-greet.md deleted file mode 100644 index 0c112ff81f..0000000000 --- a/.changeset/shiny-clocks-greet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-user-settings': patch ---- - -conditionally rendering the user name and email in user settings page diff --git a/.changeset/shiny-poets-tease.md b/.changeset/shiny-poets-tease.md deleted file mode 100644 index a991601a88..0000000000 --- a/.changeset/shiny-poets-tease.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-node': patch ---- - -Update to a newer version of `@trendyol-js/openstack-swift-sdk` diff --git a/.changeset/short-cherries-mix.md b/.changeset/short-cherries-mix.md deleted file mode 100644 index 866f7a0971..0000000000 --- a/.changeset/short-cherries-mix.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-gerrit': patch ---- - -Provide default branch when creating repositories. diff --git a/.changeset/shy-carrots-decide.md b/.changeset/shy-carrots-decide.md deleted file mode 100644 index 5f64f3d4bd..0000000000 --- a/.changeset/shy-carrots-decide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-app-backend': patch ---- - -Do not force caching of the Javascript asset that contains the injected config. diff --git a/.changeset/silent-hotels-knock.md b/.changeset/silent-hotels-knock.md deleted file mode 100644 index 7ff5d978d2..0000000000 --- a/.changeset/silent-hotels-knock.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -'@backstage/frontend-app-api': minor ---- - -**BREAKING**: The `app.routes.bindings` app-config mapping has been simplified. You now only need to specify the plugin ID and route ID on both sides of the mapping. - -Old form: - -```yaml -app: - routes: - bindings: - plugin.catalog.externalRoutes.viewTechDoc: plugin.techdocs.routes.docRoot - plugin.catalog.externalRoutes.createComponent: plugin.catalog-import.routes.importPage -``` - -New form: - -```yaml -app: - routes: - bindings: - catalog.viewTechDoc: techdocs.docRoot - catalog.createComponent: catalog-import.importPage -``` diff --git a/.changeset/silent-poets-grab.md b/.changeset/silent-poets-grab.md deleted file mode 100644 index 0d76e263d2..0000000000 --- a/.changeset/silent-poets-grab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Improved the error message when data input/output shapes do not match diff --git a/.changeset/silent-waves-pretend.md b/.changeset/silent-waves-pretend.md deleted file mode 100644 index 5986579fe6..0000000000 --- a/.changeset/silent-waves-pretend.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-aws-alb-provider': minor -'@backstage/plugin-auth-backend': patch ---- - -Migrated the AWS ALB auth provider to new `@backstage/plugin-auth-backend-module-aws-alb-provider` module package. diff --git a/.changeset/six-jobs-sin.md b/.changeset/six-jobs-sin.md deleted file mode 100644 index 307190ae81..0000000000 --- a/.changeset/six-jobs-sin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/catalog-client': patch ---- - -Internal updates to auto-generated files. diff --git a/.changeset/six-melons-end.md b/.changeset/six-melons-end.md deleted file mode 100644 index f139e49887..0000000000 --- a/.changeset/six-melons-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-react': patch ---- - -Fixed a bug where the logs dialog and any other functionality depending on the proxy endpoint would fail for clusters configured with the OIDC auth provider. diff --git a/.changeset/sixty-shoes-prove.md b/.changeset/sixty-shoes-prove.md deleted file mode 100644 index fe9438eeb2..0000000000 --- a/.changeset/sixty-shoes-prove.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-react': minor ---- - -**BREAKING** The pod exec terminal is now disabled by default since there are several scenarios where it is known not to work. It can be re-enabled at your own risk by setting the config parameter `kubernetes.podExecTerminal.enabled` to `true`. diff --git a/.changeset/slimy-rats-fly.md b/.changeset/slimy-rats-fly.md deleted file mode 100644 index 81fcae5bb2..0000000000 --- a/.changeset/slimy-rats-fly.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-org': patch ---- - -Added basic support for the new frontend system, exported from the `/alpha` subpath. diff --git a/.changeset/smart-numbers-call.md b/.changeset/smart-numbers-call.md deleted file mode 100644 index 24a2053259..0000000000 --- a/.changeset/smart-numbers-call.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -The default `ComponentsApi` implementation now uses the `ComponentRef` ID as the component key, rather than the reference instance. This fixes a bug where duplicate installations of `@backstage/frontend-plugin-api` would break the app. diff --git a/.changeset/soft-balloons-relax.md b/.changeset/soft-balloons-relax.md deleted file mode 100644 index 3fae8984a3..0000000000 --- a/.changeset/soft-balloons-relax.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/app-defaults': patch ---- - -Fix invalid HTTP status code 501 in Error Page diff --git a/.changeset/soft-beans-tease.md b/.changeset/soft-beans-tease.md deleted file mode 100644 index 881900e773..0000000000 --- a/.changeset/soft-beans-tease.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-cloudbuild': patch ---- - -Add telemetry HTTP header Google Cloud Platform diff --git a/.changeset/sour-rivers-fry.md b/.changeset/sour-rivers-fry.md deleted file mode 100644 index 1b74850614..0000000000 --- a/.changeset/sour-rivers-fry.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Updated `packages/app` as well as the root `package.json` type resolutions to use React v18. - -The `@testing-library/*` dependencies have also been updated to the ones compatible with React v18, and the test at `packages/app/src/App.test.tsx` had been updated to use more modern patterns that work better with these new versions. - -For information on how to migrate existing apps to React v18, see the [migration guide](https://backstage.io/docs/tutorials/react18-migration) diff --git a/.changeset/spotty-jokes-unite.md b/.changeset/spotty-jokes-unite.md deleted file mode 100644 index 15097e42d0..0000000000 --- a/.changeset/spotty-jokes-unite.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Harmonize the package naming and allow custom prefix diff --git a/.changeset/spotty-kids-pay.md b/.changeset/spotty-kids-pay.md deleted file mode 100644 index 157515201d..0000000000 --- a/.changeset/spotty-kids-pay.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Ability for user to configure backstage token expiration diff --git a/.changeset/strange-parents-hammer.md b/.changeset/strange-parents-hammer.md deleted file mode 100644 index 57d5eeb83d..0000000000 --- a/.changeset/strange-parents-hammer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/test-utils': minor ---- - -Added `components` option to `TestAppOptions`, which will be forwarded as the `components` option to `createApp`. diff --git a/.changeset/strong-lobsters-hide.md b/.changeset/strong-lobsters-hide.md deleted file mode 100644 index 7b51355eb7..0000000000 --- a/.changeset/strong-lobsters-hide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -App component extensions are no longer wrapped in an `ExtensionBoundary`, allowing them to inherit the outer context instead. diff --git a/.changeset/strong-news-develop.md b/.changeset/strong-news-develop.md deleted file mode 100644 index 1cbe4dda07..0000000000 --- a/.changeset/strong-news-develop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-explore': patch ---- - -Use the EntityDisplayName component for rendering Group nodes diff --git a/.changeset/sweet-ravens-glow.md b/.changeset/sweet-ravens-glow.md deleted file mode 100644 index 045f7edbf2..0000000000 --- a/.changeset/sweet-ravens-glow.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/integration': minor -'@backstage/backend-common': patch ---- - -Fix rate limit detection by looking for HTTP status code 429 and updating the header `x-ratelimit-remaining` to look for in case of a 403 code is returned diff --git a/.changeset/tall-frogs-clap.md b/.changeset/tall-frogs-clap.md deleted file mode 100644 index 1e87ca316c..0000000000 --- a/.changeset/tall-frogs-clap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-sites-backend': patch ---- - -Added `permissionIntegrationRouter` for azure-sites-backend routes diff --git a/.changeset/tall-tools-compare.md b/.changeset/tall-tools-compare.md deleted file mode 100644 index f55c8ef5a5..0000000000 --- a/.changeset/tall-tools-compare.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-node': patch ---- - -Introduced `PinnipedHelper` class to enable authentication to Kubernetes clusters through Pinniped diff --git a/.changeset/tame-numbers-smile.md b/.changeset/tame-numbers-smile.md deleted file mode 100644 index 1d675f8c9c..0000000000 --- a/.changeset/tame-numbers-smile.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch -'@backstage/plugin-kubernetes-node': patch ---- - -Enabling authentication to kubernetes clusters with mTLS x509 client certs diff --git a/.changeset/tame-rockets-sin.md b/.changeset/tame-rockets-sin.md deleted file mode 100644 index 30c7289871..0000000000 --- a/.changeset/tame-rockets-sin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-module-addons-contrib': patch ---- - -Fix position of the ReportIssue component when is displaying at the top of the container. diff --git a/.changeset/tasty-feet-cheat.md b/.changeset/tasty-feet-cheat.md deleted file mode 100644 index 1e93439fa6..0000000000 --- a/.changeset/tasty-feet-cheat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/repo-tools': patch ---- - -Fixes an issue where comments would be duplicated in the template. Also, removes a header with the title and version of the OpenAPI spec from generated code. diff --git a/.changeset/ten-numbers-happen.md b/.changeset/ten-numbers-happen.md deleted file mode 100644 index 73397d4568..0000000000 --- a/.changeset/ten-numbers-happen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch ---- - -Custom per-cluster auth metadata (mainly for use with custom `AuthenticationStrategy` implementations) can now be specified in the `authMetadata` property of clusters in the app-config. diff --git a/.changeset/ten-planets-guess.md b/.changeset/ten-planets-guess.md deleted file mode 100644 index c8510dc6b2..0000000000 --- a/.changeset/ten-planets-guess.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-home': patch ---- - -Fix typo in VisitsStorageApi diff --git a/.changeset/ten-trainers-cough.md b/.changeset/ten-trainers-cough.md deleted file mode 100644 index 53a82def90..0000000000 --- a/.changeset/ten-trainers-cough.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': minor -'@backstage/plugin-scaffolder-node': minor ---- - -Support providing an overriding token for `fetch:template`, `fetch:plain` and `fetch:file` when interacting with upstream integrations diff --git a/.changeset/tender-flowers-collect.md b/.changeset/tender-flowers-collect.md deleted file mode 100644 index dfbf96a52c..0000000000 --- a/.changeset/tender-flowers-collect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs': minor ---- - -Updated the styling for tags to avoid word break. diff --git a/.changeset/thirty-dolls-admire.md b/.changeset/thirty-dolls-admire.md deleted file mode 100644 index 1011508a98..0000000000 --- a/.changeset/thirty-dolls-admire.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-github': minor ---- - -Prevent Entity Providers from eliminating Users and Groups from the DB when the synchronisation fails diff --git a/.changeset/tidy-cooks-mix.md b/.changeset/tidy-cooks-mix.md deleted file mode 100644 index 873de64a45..0000000000 --- a/.changeset/tidy-cooks-mix.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -'@backstage/plugin-azure-sites-backend': patch -'@backstage/plugin-azure-sites-common': patch -'@backstage/plugin-azure-sites': patch ---- - -Azure Sites `start` and `stop` action is now protected with the Permissions framework. - -The below example describes an action that forbids anyone but the owner of the catalog entity to trigger actions towards a site tied to an entity. - -```typescript - // packages/backend/src/plugins/permission.ts - import { azureSitesActionPermission } from '@backstage/plugin-azure-sites-common'; - ... - class TestPermissionPolicy implements PermissionPolicy { - async handle(request: PolicyQuery, user?: BackstageIdentityResponse): Promise { - if (isPermission(request.permission, azureSitesActionPermission)) { - return createCatalogConditionalDecision( - request.permission, - catalogConditions.isEntityOwner({ - claims: user?.identity.ownershipEntityRefs ?? [], - }), - ); - } - ... - return { - result: AuthorizeResult.ALLOW, - }; - } - ... - } -``` diff --git a/.changeset/tidy-cooks-mixed.md b/.changeset/tidy-cooks-mixed.md deleted file mode 100644 index a72f1ee0df..0000000000 --- a/.changeset/tidy-cooks-mixed.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -'@backstage/plugin-azure-sites-backend': minor ---- - -**BREAKING**: `catalogApi` and `permissionsApi` are now a requirement to be passed through to the `createRouter` function. - -You can fix the typescript issues by passing through the required dependencies like the below `diff` shows: - -```diff - import { - createRouter, - AzureSitesApi, - } from '@backstage/plugin-azure-sites-backend'; - import { Router } from 'express'; - import { PluginEnvironment } from '../types'; - - export default async function createPlugin( - env: PluginEnvironment, - ): Promise { -+ const catalogClient = new CatalogClient({ -+ discoveryApi: env.discovery, -+ }); - - return await createRouter({ - logger: env.logger, - azureSitesApi: AzureSitesApi.fromConfig(env.config), -+ catalogApi: catalogClient, -+ permissionsApi: env.permissions, - }); - } -``` diff --git a/.changeset/tiny-donuts-drive.md b/.changeset/tiny-donuts-drive.md deleted file mode 100644 index aadac7a276..0000000000 --- a/.changeset/tiny-donuts-drive.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch ---- - -Backstage will log a warning whenever duplicate cluster names are detected -- -even if clusters sharing the same name come from separate locators. diff --git a/.changeset/tiny-kiwis-know.md b/.changeset/tiny-kiwis-know.md deleted file mode 100644 index add4736527..0000000000 --- a/.changeset/tiny-kiwis-know.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated dependencies in frontend plugin templates diff --git a/.changeset/tough-drinks-scream.md b/.changeset/tough-drinks-scream.md deleted file mode 100644 index 3d2f154016..0000000000 --- a/.changeset/tough-drinks-scream.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@backstage/plugin-cloudbuild': minor ---- - -Changed build list view to automatically filter builds based on repository name matching component-info's metadata.name. -Added optional `google.com/cloudbuild-repo-name` annotation which allows you to specify a different repository to filter on. -Added optional `google.com/cloudbuild-trigger-name` annotation which allows you to filter based on a trigger name instead of a repo name. -Updated the ReadMe with information about the filtering and some other minor verbiage updates. -Changed `substitutions.BRANCH_NAME` to `substitutions.REF_NAME` so that the Ref field is populated properly. -Added optional `google.com/cloudbuild-location` annotation which allows you to specify the Cloud Build location of your builds. Default is global scope. -Changed build list view to show builds in a specific location if the location annotation is used. -Updated ReadMe with information about the use of the location filtering. diff --git a/.changeset/twelve-hounds-know.md b/.changeset/twelve-hounds-know.md deleted file mode 100644 index 3c95c71ddb..0000000000 --- a/.changeset/twelve-hounds-know.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': minor ---- - -Use more distinguishable icons for link (`Link`) and text output (`Description`). diff --git a/.changeset/twelve-pens-rescue.md b/.changeset/twelve-pens-rescue.md deleted file mode 100644 index 9d40fb2851..0000000000 --- a/.changeset/twelve-pens-rescue.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch -'@backstage/frontend-app-api': patch -'@backstage/core-compat-api': patch ---- - -Allow external route refs in the new system to have a `defaultTarget` pointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter. diff --git a/.changeset/twelve-weeks-march.md b/.changeset/twelve-weeks-march.md deleted file mode 100644 index 4d9fff5b34..0000000000 --- a/.changeset/twelve-weeks-march.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -Fix issue where `ui:schema` was replaced with an empty object if `dependencies` is defined diff --git a/.changeset/twenty-taxis-mate.md b/.changeset/twenty-taxis-mate.md deleted file mode 100644 index 65ed158e9b..0000000000 --- a/.changeset/twenty-taxis-mate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -Plugins converted by `convertLegacyApp` now have their `routes` and `externalRoutes` included as well, allowing them to be used to bind external routes in configuration. diff --git a/.changeset/two-coats-smile.md b/.changeset/two-coats-smile.md deleted file mode 100644 index 65abb7a1eb..0000000000 --- a/.changeset/two-coats-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Updated the backend module template to make the module instance the package default export. diff --git a/.changeset/two-geese-explain.md b/.changeset/two-geese-explain.md deleted file mode 100644 index 12ae307cfe..0000000000 --- a/.changeset/two-geese-explain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Fixed an issue that would cause an invalid `__backstage-autodetected-plugins__.js` to be written when using experimental module discovery. diff --git a/.changeset/two-singers-learn.md b/.changeset/two-singers-learn.md deleted file mode 100644 index f5c2a78ab0..0000000000 --- a/.changeset/two-singers-learn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-devtools': patch ---- - -Added alpha support for the New Frontend System (Declarative Integration) diff --git a/.changeset/unlucky-pens-search.md b/.changeset/unlucky-pens-search.md deleted file mode 100644 index 4786c14691..0000000000 --- a/.changeset/unlucky-pens-search.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -When using node 20+ the `scaffolder-backend` will now throw an error at startup if the `--no-node-snapshot` option was -not provided to node. diff --git a/.changeset/unlucky-wasps-tan.md b/.changeset/unlucky-wasps-tan.md deleted file mode 100644 index 97813cb416..0000000000 --- a/.changeset/unlucky-wasps-tan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-bitbucket': patch ---- - -Enhanced the pull request action to allow for adding new content to the PR as described in this issue #21762 diff --git a/.changeset/warm-maps-scream.md b/.changeset/warm-maps-scream.md deleted file mode 100644 index 3ea5d93b03..0000000000 --- a/.changeset/warm-maps-scream.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-azure-devops': patch -'@backstage/plugin-devtools': patch -'@backstage/plugin-linguist': patch ---- - -Updated imports from named to default imports to help with the Material UI v4 to v5 migration diff --git a/.changeset/weak-news-jam.md b/.changeset/weak-news-jam.md deleted file mode 100644 index a1f44082da..0000000000 --- a/.changeset/weak-news-jam.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-react': patch ---- - -Fix bug that erroneously caused a separator or a 0 to render in the TemplateCard for Templates with empty links diff --git a/.changeset/wet-emus-work.md b/.changeset/wet-emus-work.md deleted file mode 100644 index 413670a325..0000000000 --- a/.changeset/wet-emus-work.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-compat-api': patch ---- - -collectLegacyRoutes throws in case invalid element is found diff --git a/.changeset/wet-lions-crash.md b/.changeset/wet-lions-crash.md deleted file mode 100644 index 795e60588d..0000000000 --- a/.changeset/wet-lions-crash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-puppetdb': patch ---- - -Added `latest_report_status` parameter from the PuppetDB node api and added it as a tag to the nodes. The status is valuable information as it displays which nodes are compliant to your configuration and which ones are failing are making changes. diff --git a/.changeset/wicked-ants-reflect.md b/.changeset/wicked-ants-reflect.md deleted file mode 100644 index 4882d12a34..0000000000 --- a/.changeset/wicked-ants-reflect.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/plugin-notifications-backend': patch -'@backstage/plugin-notifications-common': patch -'@backstage/plugin-notifications-node': patch -'@backstage/plugin-notifications': patch ---- - -Initial notifications system for backstage diff --git a/.changeset/wicked-elephants-scream.md b/.changeset/wicked-elephants-scream.md deleted file mode 100644 index f002a48ba8..0000000000 --- a/.changeset/wicked-elephants-scream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-devops': patch ---- - -Prefer `dev.azure.com/build-definition` annotation when it is provided, as it is more specific than `dev.azure.com/project-repo`. This can also be used as a filter for mono-repos. diff --git a/.changeset/wild-owls-doubt.md b/.changeset/wild-owls-doubt.md deleted file mode 100644 index 84abffb159..0000000000 --- a/.changeset/wild-owls-doubt.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': minor ---- - -The built-in module list has been trimmed down when using the new Backend System. Provider specific modules should now be installed with `backend.add` to provide additional actions to the scaffolder. These modules are as follows: - -- `@backstage/plugin-scaffolder-backend-module-github` -- `@backstage/plugin-scaffolder-backend-module-gitlab` -- `@backstage/plugin-scaffolder-backend-module-bitbucket` -- `@backstage/plugin-scaffolder-backend-module-gitea` -- `@backstage/plugin-scaffolder-backend-module-gerrit` -- `@backstage/plugin-scaffolder-backend-module-confluence-to-markdown` -- `@backstage/plugin-scaffolder-backend-module-cookiecutter` -- `@backstage/plugin-scaffolder-backend-module-rails` -- `@backstage/plugin-scaffolder-backend-module-sentry` -- `@backstage/plugin-scaffolder-backend-module-yeoman` diff --git a/.changeset/wise-flies-laugh.md b/.changeset/wise-flies-laugh.md deleted file mode 100644 index 4b31b4e9ba..0000000000 --- a/.changeset/wise-flies-laugh.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-home': patch ---- - -Added filter support for HomePageVisitedByType in order to enable filtering entities from the list diff --git a/.changeset/wise-papayas-cough.md b/.changeset/wise-papayas-cough.md deleted file mode 100644 index 955e7fefcc..0000000000 --- a/.changeset/wise-papayas-cough.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-common': patch ---- - -Add a config declaration for `workingDirectory` diff --git a/.changeset/young-ladybugs-decide.md b/.changeset/young-ladybugs-decide.md deleted file mode 100644 index 53284cbc37..0000000000 --- a/.changeset/young-ladybugs-decide.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch -'@backstage/plugin-scaffolder-node': patch ---- - -Add option to configure nunjucks with the `trimBlocks` and `lstripBlocks` options in the fetch:template action diff --git a/.changeset/young-rules-repeat.md b/.changeset/young-rules-repeat.md deleted file mode 100644 index 6fb17f0608..0000000000 --- a/.changeset/young-rules-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/eslint-plugin': patch ---- - -Added new `@backstage/no-top-level-material-ui-4-imports` rule that forbids top level imports from Material UI v4 packages diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d10106e47f..75416ace16 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -86,3 +86,5 @@ yarn.lock @backstage/maintainers @backst /plugins/tech-insights-backend-module-jsonfc @backstage/maintainers @backstage/reviewers @xantier /plugins/tech-insights-tech-insights-common @backstage/maintainers @backstage/reviewers @xantier /plugins/tech-insights-tech-insights-node @backstage/maintainers @backstage/reviewers @xantier + +knip-report.md diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 828e5f5481..5d979d5f22 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -3,17 +3,24 @@ labels: ['dependencies'], - extends: ['config:best-practices', ':gitSignOff'], + extends: [ + 'config:best-practices', + ':gitSignOff', + 'default:pinDigestsDisabled', + ], // do not pin dev dependencies, which are part of the best-practices preset - ignorePresets: [':pinDevDependencies'], + ignorePresets: [':pinDevDependencies', ':pinDigest'], // the default limit are 10 PRs prConcurrentLimit: 20, postUpdateOptions: ['yarnDedupeHighest'], rangeStrategy: 'update-lockfile', - // @elastic/elasticsearch is ignored due to licensing issues. See #10992 - ignoreDeps: ['@elastic/elasticsearch', 'event-source-polyfill'], + ignoreDeps: [ + // ignored due to licensing issues. See #10992 + '@elastic/elasticsearch', + 'event-source-polyfill', + ], packageRules: [ { matchSourceUrlPrefixes: ['https://github.com/spotify/web-scripts'], diff --git a/.github/vale/config/vocabularies/Backstage/accept.txt b/.github/vale/config/vocabularies/Backstage/accept.txt index 940e855828..c38a115fa3 100644 --- a/.github/vale/config/vocabularies/Backstage/accept.txt +++ b/.github/vale/config/vocabularies/Backstage/accept.txt @@ -92,6 +92,7 @@ Deutsche dev devops devs +dialogs discoverability Discoverability dls @@ -158,6 +159,7 @@ hotspots http https Iain +idempotency Iglesias iLert img @@ -185,6 +187,7 @@ Kaswell keepalive Keyv Knex +knip Koyeb KPIs Kuang @@ -321,6 +324,7 @@ repos rerender rerenders resourcequotas +retryable reusability Reusability roadmaps diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 247770a74e..5df2a2509d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: env: CI: true - NODE_OPTIONS: --max-old-space-size=4096 + NODE_OPTIONS: --max-old-space-size=8192 name: Install ${{ matrix.node-version }} steps: @@ -35,7 +35,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -59,7 +59,7 @@ jobs: env: CI: true - NODE_OPTIONS: --max-old-space-size=4096 + NODE_OPTIONS: --max-old-space-size=8192 name: Verify ${{ matrix.node-version }} steps: @@ -71,7 +71,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -155,7 +155,7 @@ jobs: name: Test ${{ matrix.node-version }} services: postgres16: - image: postgres:16@sha256:4d1b17af6f66b852ee3a721f6691a2ca7352f9d28f570a6a48cee4ebe646b2fd + image: postgres:16 env: POSTGRES_PASSWORD: postgres options: >- @@ -166,7 +166,7 @@ jobs: ports: - 5432/tcp postgres12: - image: postgres:12@sha256:aafc7d3faafa5f95fa4709007c742864747a104c3d950f98bb606145208e4a77 + image: postgres:12 env: POSTGRES_PASSWORD: postgres options: >- @@ -177,7 +177,7 @@ jobs: ports: - 5432/tcp mysql8: - image: mysql:8@sha256:d7c20c5ba268c558f4fac62977f8c7125bde0630ff8946b08dde44135ef40df3 + image: mysql:8 env: MYSQL_ROOT_PASSWORD: root options: >- @@ -190,7 +190,7 @@ jobs: env: CI: true - NODE_OPTIONS: ${{ matrix.node-version == '20.x' && '--max-old-space-size=4096 --no-node-snapshot' || '--max-old-space-size=4096' }} + NODE_OPTIONS: ${{ matrix.node-version == '20.x' && '--max-old-space-size=8192 --no-node-snapshot' || '--max-old-space-size=8192' }} INTEGRATION_TEST_GITHUB_TOKEN: ${{ secrets.INTEGRATION_TEST_GITHUB_TOKEN }} INTEGRATION_TEST_GITLAB_TOKEN: ${{ secrets.INTEGRATION_TEST_GITLAB_TOKEN }} INTEGRATION_TEST_BITBUCKET_TOKEN: ${{ secrets.INTEGRATION_TEST_BITBUCKET_TOKEN }} @@ -202,7 +202,7 @@ jobs: run: git fetch origin master - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml index ae9c042401..eef70ff02c 100644 --- a/.github/workflows/deploy_docker-image.yml +++ b/.github/workflows/deploy_docker-image.yml @@ -27,7 +27,7 @@ jobs: ref: v${{ github.event.client_payload.version }} - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/deploy_microsite.yml b/.github/workflows/deploy_microsite.yml index 4f79debb3b..e9abba59a3 100644 --- a/.github/workflows/deploy_microsite.yml +++ b/.github/workflows/deploy_microsite.yml @@ -31,7 +31,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 18.x registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/deploy_nightly.yml b/.github/workflows/deploy_nightly.yml index 3553236c9e..43fafde90b 100644 --- a/.github/workflows/deploy_nightly.yml +++ b/.github/workflows/deploy_nightly.yml @@ -11,7 +11,7 @@ jobs: env: CI: true - NODE_OPTIONS: --max-old-space-size=4096 + NODE_OPTIONS: --max-old-space-size=8192 steps: - name: Harden Runner @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 18.x registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/deploy_packages.yml b/.github/workflows/deploy_packages.yml index 7e4f297933..c91fec948e 100644 --- a/.github/workflows/deploy_packages.yml +++ b/.github/workflows/deploy_packages.yml @@ -23,7 +23,7 @@ jobs: services: postgres16: - image: postgres:16@sha256:4d1b17af6f66b852ee3a721f6691a2ca7352f9d28f570a6a48cee4ebe646b2fd + image: postgres:16 env: POSTGRES_PASSWORD: postgres options: >- @@ -34,7 +34,7 @@ jobs: ports: - 5432/tcp postgres12: - image: postgres:12@sha256:aafc7d3faafa5f95fa4709007c742864747a104c3d950f98bb606145208e4a77 + image: postgres:12 env: POSTGRES_PASSWORD: postgres options: >- @@ -45,7 +45,7 @@ jobs: ports: - 5432/tcp mysql8: - image: mysql:8@sha256:d7c20c5ba268c558f4fac62977f8c7125bde0630ff8946b08dde44135ef40df3 + image: mysql:8 env: MYSQL_ROOT_PASSWORD: root options: >- @@ -58,7 +58,7 @@ jobs: env: CI: true - NODE_OPTIONS: ${{ matrix.node-version == '20.x' && '--max-old-space-size=4096 --no-node-snapshot' || '--max-old-space-size=4096' }} + NODE_OPTIONS: ${{ matrix.node-version == '20.x' && '--max-old-space-size=8192 --no-node-snapshot' || '--max-old-space-size=8192' }} INTEGRATION_TEST_GITHUB_TOKEN: ${{ secrets.INTEGRATION_TEST_GITHUB_TOKEN }} INTEGRATION_TEST_GITLAB_TOKEN: ${{ secrets.INTEGRATION_TEST_GITLAB_TOKEN }} INTEGRATION_TEST_BITBUCKET_TOKEN: ${{ secrets.INTEGRATION_TEST_BITBUCKET_TOKEN }} @@ -68,7 +68,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -140,7 +140,7 @@ jobs: env: CI: 'true' - NODE_OPTIONS: --max-old-space-size=4096 + NODE_OPTIONS: --max-old-space-size=8192 steps: - name: Harden Runner @@ -151,7 +151,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 32db85a0de..621776d69b 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0 + uses: github/codeql-action/upload-sarif@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 with: sarif_file: results.sarif diff --git a/.github/workflows/sync_code-formatting.yml b/.github/workflows/sync_code-formatting.yml index fd413de0ec..f34011348c 100644 --- a/.github/workflows/sync_code-formatting.yml +++ b/.github/workflows/sync_code-formatting.yml @@ -20,7 +20,7 @@ jobs: fetch-depth: 0 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/sync_release-manifest.yml b/.github/workflows/sync_release-manifest.yml index b5e0984101..64dec1905a 100644 --- a/.github/workflows/sync_release-manifest.yml +++ b/.github/workflows/sync_release-manifest.yml @@ -13,7 +13,7 @@ jobs: egress-policy: audit # Setup node & install deps before checkout, keeping install quick - - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 18.x - name: Install dependencies diff --git a/.github/workflows/sync_snyk-github-issues.yml b/.github/workflows/sync_snyk-github-issues.yml index fcd3d922e8..02d4d55301 100644 --- a/.github/workflows/sync_snyk-github-issues.yml +++ b/.github/workflows/sync_snyk-github-issues.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 18.x registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/sync_snyk-monitor.yml b/.github/workflows/sync_snyk-monitor.yml index 45410bdca7..7ee4e72d38 100644 --- a/.github/workflows/sync_snyk-monitor.yml +++ b/.github/workflows/sync_snyk-monitor.yml @@ -58,6 +58,6 @@ jobs: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} NODE_OPTIONS: --max-old-space-size=7168 - name: Upload Snyk report - uses: github/codeql-action/upload-sarif@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0 + uses: github/codeql-action/upload-sarif@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 with: sarif_file: snyk.sarif diff --git a/.github/workflows/uffizzi-build.yml b/.github/workflows/uffizzi-build.yml index 77a54b2dc9..b4e7d4b904 100644 --- a/.github/workflows/uffizzi-build.yml +++ b/.github/workflows/uffizzi-build.yml @@ -34,7 +34,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: setup-node - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 18.x registry-url: https://registry.npmjs.org/ diff --git a/.github/workflows/uffizzi-preview.yaml b/.github/workflows/uffizzi-preview.yaml index dc23ad4bf7..9db724fa96 100644 --- a/.github/workflows/uffizzi-preview.yaml +++ b/.github/workflows/uffizzi-preview.yaml @@ -106,7 +106,7 @@ jobs: # Identify comment to be updated - name: Find comment for Ephemeral Environment - uses: peter-evans/find-comment@a54c31d7fa095754bfef525c0c8e5e5674c4b4b1 # v2 + uses: peter-evans/find-comment@d5fe37641ad8451bdd80312415672ba26c86575e # v3 id: find-comment with: issue-number: ${{ needs.cache-manifests-file.outputs.pr-number }} @@ -117,7 +117,7 @@ jobs: # Create/Update comment with action deployment status - name: Create or Update Comment with Deployment Notification id: notification - uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3 + uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4 with: comment-id: ${{ steps.find-comment.outputs.comment-id }} issue-number: ${{ needs.cache-manifests-file.outputs.pr-number }} @@ -165,7 +165,7 @@ jobs: echo "Access the \`backstage\` endpoint at [\`${BACKSTAGE_HOST}\`](http://${BACKSTAGE_HOST})" >> $GITHUB_STEP_SUMMARY - name: Create or Update Comment with Deployment URL - uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3 + uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4 with: comment-id: ${{ steps.notification.outputs.comment-id }} issue-number: ${{ github.event.pull_request.number }} @@ -220,7 +220,7 @@ jobs: # Identify comment to be updated - name: Find comment for Ephemeral Environment - uses: peter-evans/find-comment@a54c31d7fa095754bfef525c0c8e5e5674c4b4b1 # v2 + uses: peter-evans/find-comment@d5fe37641ad8451bdd80312415672ba26c86575e # v3 id: find-comment with: issue-number: ${{ needs.cache-manifests-file.outputs.pr-number }} @@ -229,7 +229,7 @@ jobs: direction: last - name: Update Comment with Deletion - uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3 + uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4 with: comment-id: ${{ steps.find-comment.outputs.comment-id }} issue-number: ${{ needs.cache-manifests-file.outputs.pr-number }} diff --git a/.github/workflows/verify_accessibility-noop.yml b/.github/workflows/verify_accessibility-noop.yml index 280f3006bd..07c92b5b5d 100644 --- a/.github/workflows/verify_accessibility-noop.yml +++ b/.github/workflows/verify_accessibility-noop.yml @@ -7,7 +7,7 @@ on: branches: [master] paths-ignore: - 'lighthouserc.js' - - '.github/workflows/verify_accessibility_core.yml' + - '.github/workflows/verify_accessibility.yml' - 'plugins/catalog/src/**' - 'plugins/catalog-react/src/**' - 'plugins/techdocs/src/**' diff --git a/.github/workflows/verify_accessibility.yml b/.github/workflows/verify_accessibility.yml index 7501d768c6..cbce7ce6ab 100644 --- a/.github/workflows/verify_accessibility.yml +++ b/.github/workflows/verify_accessibility.yml @@ -1,11 +1,11 @@ name: Accessibility on: - # NOTE: If you change these you must update verify_accessibility_core-noop.yml as well + # NOTE: If you change these you must update verify_accessibility-noop.yml as well pull_request: branches: [master] paths: - 'lighthouserc.js' - - '.github/workflows/verify_accessibility_core.yml' + - '.github/workflows/verify_accessibility.yml' - 'plugins/catalog/src/**' - 'plugins/catalog-react/src/**' - 'plugins/techdocs/src/**' @@ -26,7 +26,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Use Node.js 18.x - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 18.x - name: yarn install diff --git a/.github/workflows/verify_codeql.yml b/.github/workflows/verify_codeql.yml index 4d54a73f85..7c7ef286db 100644 --- a/.github/workflows/verify_codeql.yml +++ b/.github/workflows/verify_codeql.yml @@ -55,7 +55,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0 + uses: github/codeql-action/init@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -66,7 +66,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0 + uses: github/codeql-action/autobuild@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -80,4 +80,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0 + uses: github/codeql-action/analyze@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 diff --git a/.github/workflows/verify_docs-quality.yml b/.github/workflows/verify_docs-quality.yml index 63431d9b00..2065af00fb 100644 --- a/.github/workflows/verify_docs-quality.yml +++ b/.github/workflows/verify_docs-quality.yml @@ -26,7 +26,7 @@ jobs: run: echo "args=$(node scripts/check-docs-quality.js --ci-args)" >> $GITHUB_OUTPUT - name: documentation quality check - uses: errata-ai/vale-action@c4213d4de3d5f718b8497bd86161531c78992084 # v2.0.1 + uses: errata-ai/vale-action@38bf078c328061f59879b347ca344a718a736018 # v2.1.0 with: # This also contains --config=.github/vale/config.ini ... :/ files: '${{ steps.generate.outputs.args }}' diff --git a/.github/workflows/verify_e2e-kubernetes.yml b/.github/workflows/verify_e2e-kubernetes.yml index a09beaf14f..2304bdbb26 100644 --- a/.github/workflows/verify_e2e-kubernetes.yml +++ b/.github/workflows/verify_e2e-kubernetes.yml @@ -29,7 +29,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -40,7 +40,7 @@ jobs: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} - name: bootstrap kind - uses: helm/kind-action@dda0770415bac9fc20092cacbc54aa298604d140 # v1.8.0 + uses: helm/kind-action@99576bfa6ddf9a8e612d83b513da5a75875caced # v1.9.0 - name: kubernetes test working-directory: packages/backend-common diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml index 9fd2acafa4..dc62ce5725 100644 --- a/.github/workflows/verify_e2e-linux.yml +++ b/.github/workflows/verify_e2e-linux.yml @@ -19,7 +19,7 @@ jobs: services: postgres: - image: postgres:12@sha256:aafc7d3faafa5f95fa4709007c742864747a104c3d950f98bb606145208e4a77 + image: postgres:12 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres @@ -53,7 +53,7 @@ jobs: git config --global user.name 'GitHub e2e user' - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/verify_e2e-windows.yml b/.github/workflows/verify_e2e-windows.yml index fdedf56fb7..ae2e7c7e99 100644 --- a/.github/workflows/verify_e2e-windows.yml +++ b/.github/workflows/verify_e2e-windows.yml @@ -50,7 +50,7 @@ jobs: git config --global user.name 'GitHub e2e user' - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/verify_microsite.yml b/.github/workflows/verify_microsite.yml index ef7eef4524..cee89a8ba2 100644 --- a/.github/workflows/verify_microsite.yml +++ b/.github/workflows/verify_microsite.yml @@ -31,7 +31,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 18.x diff --git a/.github/workflows/verify_microsite_accessibility-noop.yml b/.github/workflows/verify_microsite_accessibility-noop.yml new file mode 100644 index 0000000000..4b63dc41cc --- /dev/null +++ b/.github/workflows/verify_microsite_accessibility-noop.yml @@ -0,0 +1,31 @@ +# NO-OP placeholder that always passes for other paths +# This is here so that we're able to set the status check as required + +name: Microsite Accessibility +on: + pull_request: + branches: [master] + paths-ignore: + - '.github/workflows/verify_microsite_accessibility.yml' + - 'microsite/scripts/**' + - 'microsite/src/**' + - 'microsite/data/**' + - 'microsite/blog/**' + - 'microsite/static/**' + - 'beps/**' + - 'mkdocs.yml' + - 'docs/**' +permissions: + contents: read + +jobs: + noop: + name: Microsite Accessibility + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - run: echo NOOP diff --git a/.github/workflows/verify_microsite_accessibility.yml b/.github/workflows/verify_microsite_accessibility.yml new file mode 100644 index 0000000000..fa5e54905f --- /dev/null +++ b/.github/workflows/verify_microsite_accessibility.yml @@ -0,0 +1,40 @@ +name: Microsite Accessibility +on: + # NOTE: If you change these you must update verify_microsite_accessibility-noop.yml as well + pull_request: + branches: [master] + paths: + - '.github/workflows/verify_microsite_accessibility.yml' + - 'microsite/**' + - 'beps/**' + - 'mkdocs.yml' + - 'docs/**' +jobs: + lhci: + name: Microsite Accessibility + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: Use Node.js 18.x + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + with: + node-version: 18.x + + - name: top-level install + run: yarn install --immutable + + - name: yarn install + run: yarn install --immutable + working-directory: microsite + + - name: run Lighthouse CI + run: | + yarn dlx @lhci/cli@0.11.x --config=microsite/lighthouserc.js autorun + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml index 5471555402..70fb16ac48 100644 --- a/.github/workflows/verify_storybook.yml +++ b/.github/workflows/verify_storybook.yml @@ -37,7 +37,7 @@ jobs: fetch-depth: 0 # Required to retrieve git history - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -51,7 +51,7 @@ jobs: - run: yarn build-storybook - - uses: chromaui/action@05a82adb1e6919df177f54777e81a2ef3e312323 # v10 + - uses: chromaui/action@c9067691aca4a28d6fbb40d9eea6e144369fbcae # v10 with: token: ${{ secrets.GITHUB_TOKEN }} # projectToken intentionally shared to allow collaborators to run Chromatic on forks diff --git a/.github/workflows/verify_windows.yml b/.github/workflows/verify_windows.yml index d9eada0f1d..7d772bd765 100644 --- a/.github/workflows/verify_windows.yml +++ b/.github/workflows/verify_windows.yml @@ -21,7 +21,7 @@ jobs: env: CI: true - NODE_OPTIONS: ${{ matrix.node-version == '20.x' && '--max-old-space-size=4096 --no-node-snapshot' || '--max-old-space-size=4096' }} + NODE_OPTIONS: ${{ matrix.node-version == '20.x' && '--max-old-space-size=8192 --no-node-snapshot' || '--max-old-space-size=8192' }} INTEGRATION_TEST_GITHUB_TOKEN: ${{ secrets.INTEGRATION_TEST_GITHUB_TOKEN }} INTEGRATION_TEST_GITLAB_TOKEN: ${{ secrets.INTEGRATION_TEST_GITLAB_TOKEN }} INTEGRATION_TEST_BITBUCKET_TOKEN: ${{ secrets.INTEGRATION_TEST_BITBUCKET_TOKEN }} @@ -36,7 +36,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.gitignore b/.gitignore index b229919872..e499faf29e 100644 --- a/.gitignore +++ b/.gitignore @@ -163,6 +163,6 @@ e2e-test-report/ # Scripts plugins-report.csv -github-matt-credentails.yaml -app-config-local.yaml -packages/app/src/cookieAuth.ts \ No newline at end of file + +# Temporary knip configs +knip.json diff --git a/.prettierignore b/.prettierignore index c54ee5d821..c561036ebb 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,6 +6,7 @@ coverage templates api-report.md api-report-*.md +knip-report.md cli-report.md plugins/scaffolder-backend/sample-templates .vscode diff --git a/ADOPTERS.md b/ADOPTERS.md index 8f3f93658b..fa6c3579d4 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -262,4 +262,5 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/ | [Gynzy](https://gynzy.com) | [Stef Louwers](https://github.com/fhp) | We are building an internal developer portal to get an overview of all our software components. | | [Cielo](https://www.cielo.com.br) | [@Alex Silva](https://github.com/narokwq) | We are using as our Internal Developer Portal, it provides developers with the resources, information, and tools they need to build high-quality applications and adhere to organizational standards and security practices. | | [Giant Swarm](https://giantswarm.io) | [Lucas Weatherhog](https://github.com/weatherhog) | At Giant Swarm we are using Backstage as our internal developer portal. Heavily using the service catalog and the TechDocs plugin. Further looking into adopting functionalities of our Web UI into Backstage to have a single pane of glass for our core business, managing all our components, and helping developers to be more productive. | -| [WD Studios](https://wdstudios.tech) | [Mikael Aboagye](https://github.com/JailbreakPapa) | We are using Backstage as our main internal developer portal for our Programmers and Studio Partners. It's really proven its worth at our studio with on-boarding new programmers! +| [WD Studios](https://wdstudios.tech) | [Mikael Aboagye](https://github.com/JailbreakPapa) | We are using Backstage as our main internal developer portal for our Programmers and Studio Partners. It's really proven its worth at our studio with on-boarding new programmers! | +| [Fortnox](https://www.fortnox.se) | [@magnusp](https://github.com/magnusp) | With Backstage we consolidate our internal tools into a single pane of glass and let the catalog drive our user interface. Our software templates onboard our services and teams onto Backstage, and with Techdocs we are letting our developers get back in control of their own documentation. | diff --git a/OWNERS.md b/OWNERS.md index 4d6fb21a80..e9e14aaf83 100644 --- a/OWNERS.md +++ b/OWNERS.md @@ -37,14 +37,13 @@ Team: @backstage/discoverability-maintainers Scope: Discoverability within Backstage, including the home page, information architecture, and search -| Name | Organization | Team | GitHub | Discord | -| ------------------------ | ------------ | ---- | ---------------------------------------- | ------------------ | -| Avantika Iyer | Spotify | BUX | [tikabom](http://github.com/tikabom) | - | -| Camila Belo | Spotify | BUX | [camilaibs](http://github.com/camilaibs) | Camila Loiola#0226 | -| Emma Indal | Spotify | BUX | [emmaindal](http://github.com/emmaindal) | emmaindal#7503 | -| Raghunandan Balachandran | Spotify | BUX | [soapraj](http://github.com/soapraj) | raghunandanb#1114 | -| Renan Mendes Carvalho | Spotify | BUX | [aitherios](http://github.com/aitherios) | aitherios#0593 | -| Bailey Brooks | Spotify | BUX | [bailey](http://github.com/bailey) | \_bailey4 | +| Name | Organization | Team | GitHub | Discord | +| ------------------------ | ------------ | -------------- | ---------------------------------------- | ----------------- | +| Avantika Iyer | Spotify | Infinite Buck$ | [tikabom](http://github.com/tikabom) | - | +| Emma Indal | Spotify | Infinite Buck$ | [emmaindal](http://github.com/emmaindal) | emmaindal#7503 | +| Djamaile Rahamat | Spotify | Infinite Buck$ | [djamaile](http://github.com/djamaile) | dyoqi | +| Raghunandan Balachandran | Spotify | Infinite Buck$ | [soapraj](http://github.com/soapraj) | raghunandanb#1114 | +| Bailey Brooks | Spotify | Infinite Buck$ | [bailey](http://github.com/bailey) | \_bailey4 | ### Helm Charts @@ -64,10 +63,9 @@ Team: @backstage/kubernetes-maintainers Scope: The Kubernetes plugin and the base it provides for other plugins to build upon. -| Name | Organization | Team | GitHub | Discord | -| -------------- | ------------ | ---- | ---------------------------------------------- | ----------------- | -| Matthew Clarke | Spotify | | [mclarke47](http://github.com/mclarke47) | mclarke#0725 | -| Jamie Klassen | VMware | | [jamieklassen](http://github.com/jamieklassen) | jamieklassen#3047 | +| Name | Organization | Team | GitHub | Discord | +| -------------- | ------------ | ---- | ---------------------------------------- | ------------ | +| Matthew Clarke | Spotify | | [mclarke47](http://github.com/mclarke47) | mclarke#0725 | ### Permission Framework @@ -149,9 +147,9 @@ Scope: The Scaffolder frontend and backend plugins, and related tooling. | 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` | +| Deepankumar Loganathan | | [deepan10](https://github.com/deepan10) | `deepan10` | | 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` | @@ -174,6 +172,7 @@ Scope: The Scaffolder frontend and backend plugins, and related tooling. ## Emeritus Project Area Maintainers -| Maintainer | Organization | GitHub | Discord | -| ---------- | -------------- | ----------------------------------- | -------- | -| Paul Cowan | frontendrescue | [dagda1](https://github.com/dagda1) | `dagda1` | +| Maintainer | Organization | GitHub | Discord | +| ------------- | -------------- | ----------------------------------------------- | ------------------- | +| Paul Cowan | frontendrescue | [dagda1](https://github.com/dagda1) | `dagda1` | +| Jamie Klassen | VMware | [jamieklassen](https://github.com/jamieklassen) | `jamieklassen#3047` | diff --git a/beps/0001-notifications-system/README.md b/beps/0001-notifications-system/README.md index 5b37016a10..e3507d05fa 100644 --- a/beps/0001-notifications-system/README.md +++ b/beps/0001-notifications-system/README.md @@ -261,11 +261,13 @@ Example signal payload for a new notification: } ``` -#### Future considerations +#### Future considerations and BEP TODO -- Add icon for the notification request (for UX purposes) - Broadcast messages are to be saved to a separate table for performance reasons - OpenAPI tooling is taken into use for the notification router and client +- Allow using dynamic values in notification payload, for example entity references `{{ user:default/john.doe }}` should be rendered by the frontend with `EntityRefLink` component. Defining the dynamic data values should be done before implementation. +- Add configurable automatic clean-up of old notifications to save storage space +- Support for saving user notification settings ### Frontend API @@ -352,13 +354,15 @@ interface SignalApi { } ``` -#### Future considerations +#### Future considerations and BEP TODO -- Notification frontend utilizes [Web Notification API](https://developer.mozilla.org/en-US/docs/Web/API/Notification) to notify user for new notifications -- Unread notifications count is displayed in the title of the page -- Configuration can be used to enable or disable features in the notification system (Web Notification API, title change, etc.) - Replace absent signal service with long polling. This requires changes to the `signals` plugin as well. -- Notifications can have severity that is used to determine how notifications are shown to the user +- Render dynamic values with various different React elements such as the `EntityRefLink` for entity references (for example `{{ user:default/john.doe }}`) in the notification payload +- Handle `link` values that use route references. For example instead hard-coding link to `/catalog/default/component/artist-web` it should be possible to use `catalogPlugin.catalogEntity` route reference as a link of the notification. This should also allow using parameters to be passed to the route reference +- Add support for `analyticsApi` to notification actions like marking notifications done, saved or opening links in the notifications +- Add support for user settings to control how notifications are shown to the user and which notifications user wants to receive. This should also include support for different `NotificationProcessor`s that can send notification to external systems +- Add a sound to be played when notification is received +- Add i18n internationalization support for the notification payload ## Release Plan diff --git a/beps/0003-auth-architecture-evolution/README.md b/beps/0003-auth-architecture-evolution/README.md index 60d5eb74a5..dc475fa14d 100644 --- a/beps/0003-auth-architecture-evolution/README.md +++ b/beps/0003-auth-architecture-evolution/README.md @@ -1,6 +1,6 @@ --- title: Auth Architecture Evolution -status: provisional +status: implementable authors: - '@Rugvip' owners: @@ -14,7 +14,7 @@ creation-date: 2024-01-28 -[**Discussion Issue**](https://github.com/backstage/backstage/issues/NNNNN) +[**Discussion Issue**](https://github.com/backstage/backstage/issues/22605) - [Summary](#summary) - [Motivation](#motivation) @@ -54,11 +54,13 @@ The following goals are the primary focus of this BEP: - Basic improvements to the service-to-service auth service interfaces such that we are confident that we do not need to break them in the near future. - If possible we will keep using the existing symmetrical keys that are used today, but it is likely that we will need to break compatibility of existing tokens. - Encapsulation of user credentials in upstream service requests, avoiding the pattern where backend plugins re-use the user token directly for their outgoing requests. +- Separate out the ownership information out of the Backstage user tokens, since user tokens have been growing large enough to have an impact on performance and reliability. ### Non-Goals - No advanced rate limiting or other protection against DDoS attacks. If this is a concern then adopters should still use other external technologies to protect access to their Backstage instance. - As part of the immediate work we will only add as much support for service-to-service auth as is needed for a stable API, and not necessarily make it very capable from the start. +- We will not aim to provide an abstraction that makes it possible to switch out the `Authorization` header for service-to-service communication. ## Proposal @@ -72,6 +74,10 @@ In order to allow either unauthenticated access or cookie-based access, a plugin For service-to-service communication we will move away from reusing user tokens in upstream requests. We will instead implement an "On-Behalf-Of" flow where incoming user credentials are encapsulated in a service token for the upstream request. In line with this the new auth service interfaces will aim to make it difficult to directly forward credentials from incoming requests, and instead encourage that plugin backends issue new service credentials for upstream requests. +An issue that has been identified in the current auth implementation is that the user information embedded in the Backstage user tokens can grow fairly large. In order to avoid that this becomes a widespread problem, especially as we implement cookie auth with a 4kb size limit, we will remove the ownership entity refs (`ent` claim) from the user tokens. There were already very few consumers of this information in practice - only the `permission-backend` and `signal-backend` plugin packages currently rely on this information. The ownership data will instead be available via a new `UserInfoService`, owned by the `auth-backend`. The implementation of this new service will keep relying on the `ent` claim of the user token initially, but we will also implement a new `/v1/userinfo` endpoint in the `auth-backend` that will migrate to transparently in the future. + +Finally, it is also important to be able to disable the built-in protection of Backstage instances, for example when access protection is already provided by an external service, and one wishes to allow unauthenticated access for internal use. All built-in service implementation therefore support a common configuration for specifying the desired access control. + ## Design Details ### `AuthService` Interface @@ -79,29 +85,75 @@ For service-to-service communication we will move away from reusing user tokens The new `AuthService` interface is defined as follows: ```ts -export type BackstageCredentials = { - token: string; +// These credential types are opaque and will also store some internal information, for example bearer tokens - user?: { - userEntityRef: string; - ownershipEntityRefs: string[]; - }; +export type BackstageNonePrincipal = { + type: 'none'; +}; - service?: { - id: string; - }; +export type BackstageUserPrincipal = { + type: 'user'; + + userEntityRef: string; +}; + +export type BackstageServicePrincipal = { + type: 'user'; + + // Exact format TBD, possibly 'plugin:' or 'external:' + subject: string; + + // Not implemented in the first iteration, but this is how we might extend this in the future + permissions?: string[]; +}; + +export type BackstageCredentials = { + $$type: '@backstage/BackstageCredentials'; + + principal: TPrincipal; +}; + +export type BackstagePrincipalTypes = { + user: BackstageUserPrincipal; + service: BackstageServicePrincipal; + none: BackstageNonePrincipal; }; export interface AuthService { authenticate(token: string): Promise; - issueToken(credentials: BackstageCredentials): Promise<{ token: string }>; + isPrincipal( + credentials: BackstageCredentials, + type: TType, + ): credentials is BackstageCredentials; + + getOwnServiceCredentials(): Promise< + BackstageCredentials + >; + + getPluginRequestToken(options: { + onBehalfOf: BackstageCredentials; + targetPluginId: string; + }): Promise<{ token: string }>; } ``` -### `AuthService` Usage Patterns +### `UserInfoService` Interface -TODO +The new `UserInfoService` interface is defined as follows: + +```ts +export interface BackstageUserInfo { + userEntityRef: string; + ownershipEntityRefs: string[]; +} + +export interface UserInfoService { + getUserInfo(credentials: BackstageCredentials): Promise; +} +``` + +The `UserInfoService` is exported by `@backstage/auth-node`, and the initial implementation will simply read the ownership refs from the `ent` claim of the underlying token of the user credentials. The next iteration will instead call the `/v1/userinfo` endpoint of the `auth-backend`, once that has been implemented. ### `HttpRouterService` Interface @@ -110,15 +162,18 @@ TODO The `HttpRouterService` interface will be extended with the ability to opt-out of the default protection of endpoints, enabling either cookie auth or unauthenticated access. ```ts +export interface HttpRouterServiceAuthPolicy { + // The path matches in the same way as if it was passed to `express.Router.use(path, ...)` + path: string; + allow: 'unauthenticated' | 'user-cookie'; +} + export interface HttpRouterService { // All routes only allow authenticated users and services by default. use(handler: Handler): void; - // Exact option structure is TBD, just highlighting the general idea for now - configure(options: { - allowCookieAuthOnPaths?: string[]; - allowUnauthenticatedAccessPaths?: string[]; - }): void; + // These are additive and the most relaxed access level takes precedence + addAuthPolicy(policy: HttpRouterServiceAuthPolicy): void; } ``` @@ -159,8 +214,9 @@ export default createBackendPlugin({ async init({ http }) { // The order of these two calls does not matter http.use(await createRouter(/* ... */)); - http.configure({ - allowCookieAuthOnPaths: ['/static'], + http.addAuthPolicy({ + path: '/static', + allow: 'user-cookie', }); }, }); @@ -180,10 +236,16 @@ export default createBackendPlugin({ }, async init({ http }) { http.use(await createRouter(/* ... */)); - http.configure({ - allowCookieAuthOnPaths: ['/'], - // Unauthenticated access takes precedence, the /public endpoint does not require cookie auth - allowUnauthenticatedAccessPaths: ['/public'], + + http.addAuthPolicy({ + path: '/', + allow: 'user-cookie', + }); + + // Unauthenticated access takes precedence, the /public endpoint does not require cookie auth + http.addAuthPolicy({ + path: '/public', + allow: 'unauthenticated', }); }, }); @@ -196,23 +258,36 @@ export default createBackendPlugin({ The new `HttpAuthService` interface is defined as follows: ```ts +type BackstageHttpAccessToPrincipalTypesMapping = { + user: BackstageUserPrincipal; + service: BackstageServicePrincipal; + unauthenticated: BackstageNonePrincipal; + unknown: unknown; +}; + export interface HttpAuthService { - createHttpPluginRouterMiddleware(options: OptionsTBD): Handler; - - credentials( + // Implementations should cache resolved credentials on the request object + credentials< + TAllowed extends + | keyof BackstageHttpAccessToPrincipalTypesMapping = 'unknown', + >( req: Request, - options?: HttpAuthServiceMiddlewareOptions, - ): BackstageCredentials; - - requestHeaders( - credentials: BackstageCredentials, - ): Promise>; + options?: { + allow?: Array; + allowedAuthMethods?: Array<'token' | 'cookie'>; + }, + ): Promise< + BackstageCredentials + >; + // The cookie issued by this method must be consumable by the `credentials` method, which in turn + // should create a credentials object that can be passed to the `getPluginRequestToken` method. + // The issued token must then in turn be a valid token for a user principal with full access. issueUserCookie(res: Response): Promise; } ``` -### `HttpAuthService` Usage Patterns +### `AuthService`, `HttpAuthService` and `UserInfoService` Usage Patterns All of these usages patterns are from the perspective of a plugin backend. @@ -221,28 +296,61 @@ All of these usages patterns are from the perspective of a plugin backend. ```ts // All routes only allow authenticated users and services by default. router.get('/read-data', (req, res) => { - // TODO: user can currently be undefined, figure out best pattern to avoid that - const { user } = httpAuth.credentials(req); - if (!user) { - throw new NotAllowedError( - 'Service requests are not allowed on this endpoint', - ); - } + const credentials = await httpAuth.credentials(req, { allow: ['user'] }); // throws if not: user (or obo), user-cookie + const { ownershipEntityRefs } = await userInfo.getUserInfo(credentials); console.log( - `User ref=${user.userEntityRef} ownership=${user.ownershipEntityRefs}`, + `User ref=${credentials.principal.userEntityRef} ownership=${ownershipEntityRefs} claims=${credentials.principal.extraClaims}`, ); // ... }); ``` +#### Issue a service token for a backend-to-backend request + +NOTE: This is not what we want this kind of request to look like in practice. The goal is to forward credential objects as far as possible, keeping the `auth.getPluginRequestToken(...)` in API client code rather than plugin app code. + +```ts +const { token } = await auth.getPluginRequestToken({ + onBehalfOf: await auth.getOwnServiceCredentials(), + targetPluginId: 'example', +}); + +const baseUrl = await discovery.getBaseUrl('example'); +const res = await fetch(`${baseUrl}/some-resource`, { + headers: { + // A utility may be provided for this in the future if needed, this is currently fairly rare + Authorization: `Bearer ${token}`, + }, +}); +``` + #### Forward the user credentials from an incoming requests to upstream plugin backend ```ts +class CatalogIntegration { + async getEntity( + res: string, + options: { + credentials: BackstageCredentials; + }, + ) { + return catalogClient.getEntityByRef(req.params.entityRef, { + token: await auth.getPluginRequestToken({ + onBehalfOf: options.credentials, + targetPluginId: 'catalog', + }), + }); + } +} + +// Earlier in the router setup +const catalogIntegration = new CatalogIntegration(); + router.get('/read-data', (req, res) => { // The catalogClient will have a reference to the (plugin scoped) HttpAuthService, // which it uses to create the credential headers for the upstream request. - const entity = await catalogClient.getEntityByRef(req.params.entityRef, { - credentials: httpAuth.credentials(req), + const entity = await catalogIntegration.getEntity(req.params.entityRef, { + credentials: await httpAuth.credentials(req), }); // ... }); @@ -252,15 +360,19 @@ router.get('/read-data', (req, res) => { ```ts router.get('/read-data', (req, res) => { - const credentials = httpAuth.credentials(req); - if (credentials.user) { + const credentials = await httpAuth.credentials(req, { + allow: ['user', 'service'], + }); + if (credentials.principal.type === 'user') { res.json( - // Silly example just to highlight separate code paths for user and - // service requests - todoStore.listOwnedTodos({ owner: credentials.user.userEntityRef }), + todoStore.listOwnedTodos({ owner: credentials.principal.userEntityRef }), ); } else { - res.json(todoStore.listTodos()); + res.json( + todoStore.listTodos({ + serviceId: credentials.principal.subject, + }), + ); } }); ``` @@ -273,11 +385,11 @@ router.get('/cookie', async (req, res) => { res.json({ ok: true }); }); -// Allowing cookie auth is a separate step where you call the configure method +// Allowing cookie auth is a separate step where you call the addAuthPolicy method // of the httpRouter API in your plugin setup code. -httpRouter.configure({ - // In practice we can make this configuration a lot more capable, this is just a minimal example - allowCookieAuthOnPaths: ['/static'], // router.use('/static', cookieAuthMiddleware()) under the hood +httpRouter.addAuthPolicy({ + path: '/static', + allow: 'user-cookie', }); // Separate endpoint that serves static content, allowing user cookie auth as @@ -292,22 +404,49 @@ router.get( '/read-data', httpAuth.middleware({ allow: ['user-cookie'] }), (req, res) => { - // These credentials don't actually contain an underlying user token for cookie-authed requests - // If you try to pass them to the AuthService, it'll throw. - const { user } = httpAuth.credentials(req); + const credentials = await httpAuth.credentials(req, { allow: ['user'] }); + const { ownershipEntityRefs } = await userInfo.getUserInfo(credentials); console.log( - `User ref=${user.userEntityRef} ownership=${user.ownershipEntityRefs}`, + `User ref=${credentials.userEntityRef} ownership=${ownershipEntityRefs}`, ); // ... }, ); ``` +### Access Control Configuration + +In order to disable access control for a Backstage instance, the following configuration can be used: + +```yaml +backend: + dangerouslyDisableServiceAuth: true +``` + +The exact impact that this has is that it disables the check in the `HttpRouterService` implementation, effectively applying the `unauthenticated` access level to all routes. Furthermore, it will also change `AuthService` so that the `getPluginRequestToken()` method will now issue an empty token for a `'none'` principal, rather than throwing. + ## Release Plan The existing `IdentityService` and `TokenManagerService` will be deprecated and instead implemented in terms of the new `AuthService`. -The release plan for the `HttpAuthService` is TBD, but is likely to be shipped as a no-op for plugins using the old backend system. The goal is for all plugins using the new backend system to have endpoint security be opt-out, which will be a breaking change. +The new `AuthService` and `HttpAuthService` will need backwards compatible implementations for the old backend system. The plan is to not apply any access restrictions for the old Backend system, only implementing that in the new system. The backwards compatibility helpers will use the provided `identity` and `tokenManager` services if available, and plugins should provide fallbacks in the same way as they currently do. If these are not provided, the `identity` client will fall back to `DefaultIdentityClient`, and `tokenManager` will fall back to `ServicerTokenManager.noop()`. + +The backwards compatibility helpers will have the following behavior for each individual service call: + +- `auth.authenticate(token)`: If the decoded token has the `backstage` audience, authenticate the token for a user principal using `identity.getIdentity(...)`, otherwise authenticate it using `tokenManager.authenticate(...)` and return a service principal with the subject `external:backstage-plugin`. If a no-op token manager is used then anything but a user token will be treated as a valid service token, which is consistent with existing behavior. +- `auth.getOwnServiceCredentials()`: Use original implementation. +- `auth.isPrincipal()`: Use original implementation. +- `auth.getPluginRequestToken(options)`: Same behavior as the original implementation, using the `tokenManager` to issue service tokens, with the exception that a `none` principal will translate to an empty token rather than an error in order to properly forward calls with a no-op token manager. +- `httpAuth.credentials(...)`: Use original implementation. +- `httpAuth.issueUserCookie(...)`: This is a no-op as we do not need to support cookie auth in the legacy adapter. + +With this compatibility layer in place all plugins will be refactored to always use the new `AuthService` and `HttpAuthService` internally. The old deprecated services are only accepted at the public API boundaries, i.e. `createRouter` and similar. All plugin code beyond that point uses the new services. + +We do not roll out support for the new auth services for the old backend system, the full implementation is only supported in the new backend system. In particular this means that the new default protection in the `HttpRouterService` only apply to the new backend system. + +Users of the old backend system may already have their own protection set up, which we need to take into account, ensuring that we do not break these existing implementations. + +Several API clients will be updated to support passing `BackstageCredentials` instead of a token, although it is not a requirement to update all clients. In particular we will hold off on migrating isomorphic clients, leaving them to keep consuming tokens where possible. Adding support for credentials to be passed to these clients is a separate future improvement. ## Dependencies @@ -316,3 +455,68 @@ No significant dependencies have been identified for this work, although any fut ## Alternatives An alternative to built-in protection from external access would be to keep relying on external mechanisms to protect access to Backstage. We feel that this is a suboptimal solution since it adds complexity to the adoption of Backstage, and increases the risk of misconfiguration and security breaches. Regardless of whether we add built-in protection or not the ability to protect API endpoints needs to be addressed in some way, since it is a requirement for the permission system to work. This means that the extra steps to ensure protection out of the box are fairly minimal when looking at just the delta for protecting API access. + +### Access Control Patterns + +These are the different patterns that we've considered for how plugins should control access to their endpoints. + +#### Separate methods / configuration for `use` + +This approach extends the `HttpRouterService` with separate methods or options for specifying the access control for different handlers. + +Pros: + +- We can make strict access control the default, making relaxed controls an opt-in +- The routing setup is quite explicit in what handlers allow for what access levels + +Cons: + +- Forces separation of the router, splitting it into separate handlers for different levels of access. +- Can be extremely confusing because the top-level middleware for more lax access will also apply to the more strict access levels. For example + + ```ts + const cookieRouter = Router(); + cookieRouter.use(rateLimit()); + http.useWithCookieAuthentication(cookieRouter); + + const mainRouter = Router(); + // rateLimit() will apply here too + http.use(mainRouter); + ``` + +This applied to any similar way of structuring this API, such as a single `.use()` method with additional options: + +```ts +http.use(cookieRouter, { allow: ['user-cookie'] }); +``` + +#### Separate configuration on different paths for `use` + +Similar to the previous approach, but also require that a path is provided. This removes much of the confusion around what middleware are applied. + +The downside of this approach is that it still has the drawback of forcing a separation of the router, but at the same it provides very little benefit over a top-level path configuration approach like `http.addAuthPolicy()`. The `'/static'` path in the below example essentially has the exact same logic as `.addAuthPolicy({ path: '/static', allow: 'user-cookie' })` since it'd be implemented in the same way. The `.addAuthPolicy()` approach has the benefit of allowing plugin authors to decide whether they want to keep the routes separate or not. + +This does have the benefit of letting the framework know which exact routes are protected, which can be useful for introspection, although that benefit also applies to the `.addAuthPolicy()` approach. + +```ts +// This isn't too bad, but it's extremely similar to the addAuthPolicy() method since +// we're just matching on the path. The benefit of addAuthPolicy is that it allows you +// to keep everything in a singe router if desired. +http.use('/static', cookieRouter, { allow: ['user-cookie'] }); +``` + +#### Complete opt-out + +This approach simply enabled plugins to opt-out of the default access control, and instead require that they implement the necessary endpoint protection using `httpAuth.middleware()`. + +This approach makes it a bit easier to make mistakes compared to the `.configure()` approach, but at the same time it has the benefit of collection all access control login in a single place (the plugin router). It also doesn't allow the framework to see which endpoints have relaxed protection, which is a downside. + +Still, this is a pattern that is currently second in line if we don't go with the `.configure()` approach. + +```ts +http.dangerouslyDisableAuthentication(); +``` + +#### Leave access control to the plugin router + +Having strict access control be the default with explicit opt-out is an explicit goal of this work, so this is not an option that we are considering. diff --git a/beps/0004-scaffolder-task-idempotency/README.md b/beps/0004-scaffolder-task-idempotency/README.md new file mode 100644 index 0000000000..a7e592af39 --- /dev/null +++ b/beps/0004-scaffolder-task-idempotency/README.md @@ -0,0 +1,247 @@ +--- +title: Scaffolder Retryable Tasks +status: provisional +authors: + - 'bnechyporenko@bol.com' + - 'benjaminl@spotify.com' +owners: +project-areas: + - scaffolder +creation-date: 2024-01-31 +--- + + + +# BEP: + + + +[**Discussion Issue**](https://github.com/backstage/backstage/issues/22590) + +- [Summary](#summary) +- [Motivation](#motivation) + - [Goals](#goals) + - [Non-Goals](#non-goals) +- [Proposal](#proposal) +- [Design Details](#design-details) +- [Release Plan](#release-plan) +- [Dependencies](#dependencies) +- [Alternatives](#alternatives) + +## Summary + +Scaffolder retryable task idempotency provides the means to make each action of the task idempotent. By default, an action is not considered to be idempotent. +It has to be crafted to a solution when action can be re-run multiple times and giving the same effect as it had been run only once. + +## Motivation + +The aim is to make task engine more reliable in terms of system crash or redeployment. If the task engine is in process of executing +tasks and system stops, after restart task engine will restore all such tasks and continue their execution. +Another purpose is to make it possible to manually retry the task from the last failed step. + +### Goals + + + +- we will provide extended task API in scaffolder with a necessary tools to let tasks implement retries +- make built-in actions retryable +- enable the user to retry the failed task +- should be possible to retry the task on a different scaffolder instance +- we would like to retry from any state and not tearing down or overwriting what was created before. +- we would like to be resilient to upstream failures, i.e. a request to create a remote repository failed and repository was created, it should be handled gracefully. + +### Non-Goals + + + +We will not aim to magically provide idempotency for actions, it has to be explicitly implemented. + +## Proposal + + + +### Idempotency + +We believe that idempotency is the best way to do it. Idempotency allows to rerun the actions multiple times to gracefully deal with semi-complete actions. + +### Serialization of workspace + +We believe that a serialization of workspace is a way to achieve re-running the task on a non-sticky way. +That means that the task can be restored and retried on a different scaffolder node. + +### Secrets + +Secrets will be stored for a longer period of time in the database and wiped out once the task going into a complete state (successfully finished or archived). + +## Design Details + + + +### Idempotency + +This is a simplified idempotent version of GitHub repository creation action: + +```typescript +export function createGithubRepoCreateAction(options: { + integrations: ScmIntegrationRegistry; + githubCredentialsProvider?: GithubCredentialsProvider; +}) { + const { integrations, githubCredentialsProvider } = options; + + return createTemplateAction<{ + repoUrl: string; + secrets?: { [key: string]: string }; + token?: string; + }>({ + id: 'github:repo:create', + description: 'Creates a GitHub repository.', + examples, + schema: { + input: { + type: 'object', + required: ['repoUrl'], + properties: { + repoUrl: inputProps.repoUrl, + token: inputProps.token, + secrets: inputProps.secrets, + repoVariables: inputProps.repoVariables, + }, + }, + }, + async handler(ctx) { + const { + repoUrl, + secrets, + repoVariables, + token: providedToken, + } = ctx.input; + + const octokitOptions = await getOctokitOptions({ + integrations, + credentialsProvider: githubCredentialsProvider, + token: providedToken, + repoUrl: repoUrl, + }); + const client = new Octokit(octokitOptions); + + const { owner, repo } = parseRepoUrl(repoUrl, integrations); + + if (!owner) { + throw new InputError('Invalid repository owner provided in repoUrl'); + } + + const user = await client.rest.users.getByUsername({ + username: owner, + }); + + await ctx.checkpoint('v1.task.checkpoint.repo.creation', async () => { + const repoCreationPromise = + user.data.type === 'Organization' + ? client.rest.repos.createInOrg({ + name: repo, + org: owner, + }) + : client.rest.repos.createForAuthenticatedUser({ + name: repo, + }); + const { repoUrl } = await repoCreationPromise; + return { repoUrl }; + }); + + if (secrets) { + await ctx.checkpoint( + 'v1.task.checkpoint.repo.create.variables', + async () => { + for (const [key, value] of Object.entries(repoVariables ?? {})) { + await client.rest.actions.createRepoVariable({ + owner, + repo, + name: key, + value: value, + }); + } + }, + ); + } + + ctx.output('remoteUrl', newRepo.clone_url); + }, + }); +} +``` + +#### Task context store + +Implement the similar API to CatalogProcessorCache allowing to store markers or keys to enable users to write idempotent actions. +This context persists across retries. + +```typescript +const repoMarker = await cache.get('repo.marker.key'); +``` + +#### Checkpoints + +Checkpoints will allow action authors to create actions where code paths are ignored if already run. +This will be provided on a context object and action of author provide a key and a callback. + +```typescript +await ctx.checkpoint('v1.task.checkpoint.repo.creation', async () => { + const { repoUrl } = await client.rest.Repository.create({}); + return { repoUrl }; +}); +``` + +This checkpoint will be backed with task stored context namespaced with a checkpoint versioned prefix. +It's going look like: + +```json +{ + "v1.task.checkpoint.repo.creation": { + "status": "success", + "result": { + "repoUrl": "https://github.com/backstage/backstage.git" + } + } +} +``` + +## Release Plan + + + +## Dependencies + + + +## Alternatives + + diff --git a/contrib/.devcontainer/Dockerfile b/contrib/.devcontainer/Dockerfile index 05be7a6d7f..6407aa26dd 100644 --- a/contrib/.devcontainer/Dockerfile +++ b/contrib/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/devcontainers/typescript-node:20@sha256:185cde4e033cd68fb4c5c9eef94ba6bde0dac2f334ecd1a7cf6cd2c87f712d85 +FROM mcr.microsoft.com/devcontainers/typescript-node:20 RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ && apt-get -y install chromium \ diff --git a/contrib/docker/frontend-with-nginx/Dockerfile.dockerbuild b/contrib/docker/frontend-with-nginx/Dockerfile.dockerbuild index a0ab7e7afe..053b4fb492 100644 --- a/contrib/docker/frontend-with-nginx/Dockerfile.dockerbuild +++ b/contrib/docker/frontend-with-nginx/Dockerfile.dockerbuild @@ -46,7 +46,7 @@ RUN yarn workspace app build -FROM nginx:mainline@sha256:5f44022eab9198d75939d9eaa5341bc077eca16fa51d4ef32d33f1bd4c8cbe7d +FROM nginx:mainline RUN apt-get update && apt-get -y install jq && rm -rf /var/lib/apt/lists/* diff --git a/contrib/docker/frontend-with-nginx/Dockerfile.hostbuild b/contrib/docker/frontend-with-nginx/Dockerfile.hostbuild index 7e58443e66..f0fa4a034b 100644 --- a/contrib/docker/frontend-with-nginx/Dockerfile.hostbuild +++ b/contrib/docker/frontend-with-nginx/Dockerfile.hostbuild @@ -27,7 +27,7 @@ -FROM nginx:mainline@sha256:5f44022eab9198d75939d9eaa5341bc077eca16fa51d4ef32d33f1bd4c8cbe7d +FROM nginx:mainline RUN apt-get update && apt-get -y install jq && rm -rf /var/lib/apt/lists/* diff --git a/contrib/docs/tutorials/prometheus-metrics.md b/contrib/docs/tutorials/prometheus-metrics.md index 56989e709c..fb4366c7f7 100644 --- a/contrib/docs/tutorials/prometheus-metrics.md +++ b/contrib/docs/tutorials/prometheus-metrics.md @@ -11,8 +11,8 @@ This is a small tutorial that goes over how to setup your Backstage instance to ```diff // packages/backend/package.json "dependencies": { - + "express-prom-bundle": "^6.3.6", - + "prom-client": "^14.0.1", + + "express-prom-bundle": "^7.0.0", + + "prom-client": "^15.0.0", ``` 2. Now we want to run `yarn install` from the root of the project to get those dependencies in place diff --git a/docs/backend-system/core-services/01-index.md b/docs/backend-system/core-services/01-index.md index 9074998719..04d2e57ae8 100644 --- a/docs/backend-system/core-services/01-index.md +++ b/docs/backend-system/core-services/01-index.md @@ -8,666 +8,30 @@ description: Core backend service APIs The default backend provides several [core services](https://github.com/backstage/backstage/blob/master/packages/backend-plugin-api/src/services/definitions/coreServices.ts) out of the box which includes access to configuration, logging, URL Readers, databases and more. -All core services are available through the `coreServices` namespace in the `@backstage/backend-plugin-api` package. +All core services are available through the `coreServices` namespace in the `@backstage/backend-plugin-api` package: ```ts import { coreServices } from '@backstage/backend-plugin-api'; ``` -## HTTP Router Service - -One of the most common services is the HTTP router service which is used to expose HTTP endpoints for other plugins to consume. - -### Using the service - -The following example shows how to register a HTTP router for the `example` plugin. -This single route will be available at the `/api/example/hello` path. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { Router } from 'express'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { http: coreServices.httpRouter }, - async init({ http }) { - const router = Router(); - router.get('/hello', (_req, res) => { - res.status(200).json({ hello: 'world' }); - }); - // Registers the router at the /api/example path - http.use(router); - }, - }); - }, -}); -``` - -### Configuring the service - -There's additional configuration that you can optionally pass to setup the `httpRouter` core service. - -- `getPath` - Can be used to generate a path for each plugin. Currently defaults to `/api/${pluginId}` - -You can configure these additional options by adding an override for the core service when calling `createBackend` like follows: - -```ts -import { httpRouterServiceFactory } from '@backstage/backend-app-api'; - -const backend = createBackend(); - -backend.add( - httpRouterServiceFactory({ - getPath: (pluginId: string) => `/plugins/${pluginId}`, - }), -); -``` - -## Root HTTP Router - -The root HTTP router is a service that allows you to register routes on the root of the backend service. This is useful for things like health checks, or other routes that you want to expose on the root of the backend service. It is used as the base router that backs the `httpRouter` service. Most likely you won't need to use this service directly, but rather use the `httpRouter` service. - -### Using the service - -The following example shows how to get the root HTTP router service in your `example` backend plugin to register a health check route. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { Router } from 'express'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - rootHttpRouter: coreServices.rootHttpRouter, - }, - async init({ rootHttpRouter }) { - const router = Router(); - router.get('/health', (request, response) => { - response.send('OK'); - }); - - rootHttpRouter.use(router); - }, - }); - }, -}); -``` - -### Configuring the service - -There's additional options that you can pass to configure the root HTTP Router service. These options are passed when you call `createBackend`. - -- `indexPath` - optional path to forward all unmatched requests to. Defaults to `/api/app` which is the `app-backend` plugin responsible for serving the frontend application through the backend. - -- `configure` - this is an optional function that you can use to configure the `express` instance. This is useful if you want to add your own middleware to the root router, such as logging, or other things that you want to do before the request is handled by the backend. It's also useful to override the order in which middleware is applied. - -You can configure the root HTTP Router service by passing the options to the `createBackend` function. - -```ts -import { rootHttpRouterServiceFactory } from '@backstage/backend-app-api'; - -const backend = createBackend(); - -backend.add( - rootHttpRouterServiceFactory({ - configure: ({ app, middleware, routes, config, logger, lifecycle }) => { - // the built in middleware is provided through an option in the configure function - app.use(middleware.helmet()); - app.use(middleware.cors()); - app.use(middleware.compression()); - - // you can add you your own middleware in here - app.use(custom.logging()); - - // here the routes that are registered by other plugins - app.use(routes); - - // some other middleware that comes after the other routes - app.use(middleware.notFound()); - app.use(middleware.error()); - }, - }), -); -``` - -## Root Config - -This service allows you to read configuration values out of your `app-config` YAML files. - -### Using the service - -The following example shows how you can use the default config service to be able to get a config value, and then log it to the console. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - log: coreServices.logger, - config: coreServices.rootConfig, - }, - async init({ log, config }) { - const baseUrl = config.getString('backend.baseUrl'); - log.warn(`The backend is running at ${baseUrl}`); - }, - }); - }, -}); -``` - -### Configuring the service - -There's additional configuration that you can optionally pass to setup the `config` core service. - -- `argv` - Override the arguments that are passed to the config loader, instead of using `process.argv` -- `remote` - Configure remote configuration loading - -You can configure these additional options by adding an override for the core service when calling `createBackend` like follows: - -```ts -import { rootConfigServiceFactory } from '@backstage/backend-app-api'; - -const backend = createBackend(); - -backend.add( - rootConfigServiceFactory({ - argv: [ - '--config', - '/backstage/app-config.development.yaml', - '--config', - '/backstage/app-config.yaml', - ], - remote: { reloadIntervalSeconds: 60 }, - }), -); -``` - -## Logging - -This service allows plugins to output logging information. There are actually two logger services: a root logger, and a plugin logger which is bound to individual plugins, so that you will get nice messages with the plugin ID referenced in the log lines. - -### Using the service - -The following example shows how to get the logger in your `example` backend plugin and create a warning message that will be printed nicely to the console. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - log: coreServices.logger, - }, - async init({ log }) { - log.warn("Here's a nice log line that's a warning!"); - }, - }); - }, -}); -``` - -### Root Logger - -The root logger is the logger that is used by other root services. It's where the implementation lies for creating child loggers around the backstage ecosystem including child loggers for plugins with the correct metadata and annotations. - -If you want to override the implementation for logging across all of the backend, this is the service that you should override. - -### Configuring the service - -The following example is how you can override the root logger service to add additional metadata to all log lines. - -```ts -import { coreServices } from '@backstage/backend-plugin-api'; -import { WinstonLogger } from '@backstage/backend-app-api'; - -const backend = createBackend(); - -backend.add( - createServiceFactory({ - service: coreServices.rootLogger, - deps: { - config: coreServices.rootConfig, - }, - async factory({ config }) { - const logger = WinstonLogger.create({ - meta: { - service: 'backstage', - // here's some additional information that is not part of the - // original implementation - podName: 'myk8spod', - }, - level: process.env.LOG_LEVEL || 'info', - format: - process.env.NODE_ENV === 'production' - ? format.json() - : WinstonLogger.colorFormat(), - transports: [new transports.Console()], - }); - - return logger; - }, - }), -); -``` - -## Cache - -This service lets your plugin interact with a cache. It is bound to your plugin too, so that you will only set and get values in your plugin's private namespace. - -### Using the service - -The following example shows how to get a cache client in your `example` backend plugin and setting and getting values from the cache. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - cache: coreServices.cache, - }, - async init({ cache }) { - const { key, value } = { key: 'test:key', value: 'bob' }; - await cache.set(key, value, { ttl: 1000 }); - - // .. some other stuff. - - await cache.get(key); // 'bob' - }, - }); - }, -}); -``` - -## Database - -This service lets your plugins get a `knex` client hooked up to a database which is configured in your `app-config` YAML files, for your persistence needs. - -If there's no config provided in `backend.database` then you will automatically get a simple in-memory SQLite 3 database for your plugin whose contents will be lost when the service restarts. - -This service is scoped per plugin too, so that table names do not conflict across plugins. - -### Using the service - -The following example shows how to get access to the database service in your `example` backend plugin and getting a client for interacting with the database. It also runs some migrations from a certain directory for your plugin. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { resolvePackagePath } from '@backstage/backend-common'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - database: coreServices.database, - }, - async init({ database }) { - const client = await database.getClient(); - const migrationsDir = resolvePackagePath( - '@internal/my-plugin', - 'migrations', - ); - if (!database.migrations?.skip) { - await client.migrate.latest({ - directory: migrationsDir, - }); - } - }, - }); - }, -}); -``` - -## Discovery - -When building plugins, you might find that you will need to look up another plugin's base URL to be able to communicate with it. This could be for example an HTTP route or some `ws` protocol URL. For this we have a discovery service which can provide both internal and external base URLs for a given a plugin ID. - -### Using the service - -The following example shows how to get the discovery service in your `example` backend plugin and making a request to both the internal and external base URLs for the `derp` plugin. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { fetch } from 'node-fetch'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - discovery: coreServices.discovery, - }, - async init({ discovery }) { - const url = await discovery.getBaseUrl('derp'); // can also use discovery.getExternalBaseUrl to retrieve external URL - const response = await fetch(`${url}/hello`); - }, - }); - }, -}); -``` - -## Identity - -When working with backend plugins, you might find that you will need to interact with the `auth-backend` plugin to both authenticate backstage tokens, and to deconstruct them to get the user's entity ref and/or ownership claims out of them. - -### Using the service - -The following example shows how to get the identity service in your `example` backend plugin and retrieve the user's entity ref and ownership claims for the incoming request. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { Router } from 'express'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - identity: coreServices.identity, - http: coreServices.httpRouter, - }, - async init({ http, identity }) { - const router = Router(); - router.get('/test-me', (request, response) => { - // use the identity service to pull out the header from the request and get the user - const { - identity: { userEntityRef, ownershipEntityRefs }, - } = await identity.getIdentity({ - request, - }); - - // send the decoded and validated things back to the user - response.json({ - userEntityRef, - ownershipEntityRefs, - }); - }); - - http.use(router); - }, - }); - }, -}); -``` - -### Configuring the service - -There's additional configuration that you can optionally pass to setup the `identity` core service. - -- `issuer` - Set an optional issuer for validation of the JWT token -- `algorithms` - `alg` header for validation of the JWT token, defaults to `ES256`. More info on supported algorithms can be found in the [`jose` library documentation](https://github.com/panva/jose) - -You can configure these additional options by adding an override for the core service when calling `createBackend` like follows: - -```ts -import { identityServiceFactory } from '@backstage/backend-app-api'; - -const backend = createBackend(); - -backend.add( - identityServiceFactory({ - issuer: 'backstage', - algorithms: ['ES256', 'RS256'], - }), -); -``` - -## Lifecycle - -This service allows your plugins to register hooks for cleaning up resources as the service is shutting down (e.g. when a pod is being torn down, or when pressing `Ctrl+C` during local development). Other core services also leverage this same mechanism internally to stop themselves cleanly. - -### Using the service - -The following example shows how to get the lifecycle service in your `example` backend plugin to clean up a long running interval when the service is shutting down. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - lifecycle: coreServices.lifecycle, - logger: coreServices.logger, - }, - async init({ lifecycle, logger }) { - // some example work that we want to stop when shutting down - const interval = setInterval(async () => { - await fetch('http://google.com/keepalive').then(r => r.json()); - // do some other stuff. - }, 1000); - - lifecycle.addShutdownHook(() => clearInterval(interval)); - }, - }); - }, -}); -``` - -## Root Lifecycle - -This service is the same as the lifecycle service, but should only be used by the root services. This is also where the implementation for the actual lifecycle hooks are collected and executed, so if you want to override the implementation of how those are processed, you should override this service. - -### Configure the service - -The following example shows how to override the default implementation of the lifecycle service with something that listens on different process events to the original. - -```ts -class MyCustomLifecycleService implements RootLifecycleService { - constructor(private readonly logger: LoggerService) {} - - #isCalled = false; - #shutdownTasks: Array<{ - hook: LifecycleServiceShutdownHook; - options?: LifecycleServiceShutdownOptions; - }> = []; - - addShutdownHook( - hook: LifecycleServiceShutdownHook, - options?: LifecycleServiceShutdownOptions, - ): void { - this.#shutdownTasks.push({ hook, options }); - } - - async shutdown(): Promise { - if (this.#isCalled) { - return; - } - this.#isCalled = true; - - this.logger.info(`Running ${this.#shutdownTasks.length} shutdown tasks...`); - await Promise.all( - this.#shutdownTasks.map(async ({ hook, options }) => { - const logger = options?.logger ?? this.logger; - try { - await hook(); - logger.info(`Shutdown hook succeeded`); - } catch (error) { - logger.error(`Shutdown hook failed, ${error}`); - } - }), - ); - } -} - -const backend = createBackend(); - -backend.add( - createServiceFactory({ - service: coreServices.rootLifecycle, - deps: { - logger: coreServices.rootLogger, - }, - async factory({ logger }) { - return new MyCustomLifecycleService(logger); - }, - }), -); -``` - -## Permissions - -This service allows your plugins to ask [the permissions framework](https://backstage.io/docs/permissions/overview) for authorization of user actions. - -### Using the service - -The following example shows how to get the permissions service in your `example` backend to check to see if the user is allowed to perform a certain action with a custom permission rule. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { Router } from 'express'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - permissions: coreServices.permissions, - http: coreServices.httpRouter, - }, - async init({ permissions, http }) { - const router = Router(); - router.get('/test-me', (request, response) => { - // use the identity service to pull out the token from request headers - const { token } = await identity.getIdentity({ - request, - }); - - // ask the permissions framework what the decision is for the permission - const permissionResponse = await permissions.authorize( - [ - { - permission: myCustomPermission, - }, - ], - { token }, - ); - }); - - http.use(router); - }, - }); - }, -}); -``` - -## Scheduler - -When writing plugins, you sometimes want to have things running on a schedule, or something similar to cron jobs that are distributed through instances that your backend plugin is running on. We supply a task scheduler for this purpose that is scoped per plugin so that you can create these tasks and orchestrate their execution. - -### Using the service - -The following example shows how to get the scheduler service in your `example` backend to issue a scheduled task that runs across your instances at a given interval. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { fetch } from 'node-fetch'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - scheduler: coreServices.scheduler, - }, - async init({ scheduler }) { - await scheduler.scheduleTask({ - frequency: { minutes: 10 }, - timeout: { seconds: 30 }, - id: 'ping-google', - fn: async () => { - await fetch('http://google.com/ping'); - }, - }); - }, - }); - }, -}); -``` - -## URL Readers - -Plugins will require communication with certain integrations that users have configured. Popular integrations are things like Version Control Systems (VSC), such as GitHub, BitBucket GitLab etc. These integrations are configured in the `integrations` section of the `app-config.yaml` file. - -These URL readers are basically wrappers with authentication for files and folders that could be stored in these VCS repositories. - -### Using the service - -The following example shows how to get the URL Reader service in your `example` backend plugin to read a file and a directory from a GitHub repository. - -```ts -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import os from 'os'; - -createBackendPlugin({ - pluginId: 'example', - register(env) { - env.registerInit({ - deps: { - urlReader: coreServices.urlReader, - }, - async init({ urlReader }) { - const buffer = await urlReader - .read('https://github.com/backstage/backstage/blob/master/README.md') - .then(r => r.buffer()); - - const tmpDir = os.tmpdir(); - const directory = await urlReader - .readTree( - 'https://github.com/backstage/backstage/tree/master/packages/backend', - ) - .then(tree => tree.dir({ targetDir: tmpDir })); - }, - }); - }, -}); -``` +## Service Documentation Index + +- [Auth Service](./auth.md) - Token authentication and credentials management. +- [Cache Service](./cache.md) - Key-value store for caching data. +- [Database Service](./database.md) - Database access and management via [knex](https://knexjs.org/). +- [Discovery Service](./discovery.md) - Service discovery for inter-plugin communication. +- [Http Auth Service](./http-auth.md) - Authentication of HTTP requests. +- [Http Router Service](./http-router.md) - HTTP route registration for plugins. +- [Identity Service](./identity.md) - Deprecated user authentication service, use the [Auth Service](./auth.md) instead. +- [Lifecycle Service](./lifecycle.md) - Registration of plugin startup and shutdown lifecycle hooks. +- [Logger Service](./logger.md) - Plugin-level logging. +- [Permissions Service](./permissions.md) - Permission system integration for authorization of user actions. +- [Plugin Metadata Service](./plugin-metadata.md) - Built-in service for accessing metadata about the current plugin. +- [Root Config Service](./root-config.md) - Access to static configuration. +- [Root Http Router Service](./root-http-router.md) - HTTP route registration for root services. +- [Root Lifecycle Service](./root-lifecycle.md) - Registration of backend startup and shutdown lifecycle hooks. +- [Root Logger Service](./root-logger.md) - Root-level logging. +- [Scheduler Service](./scheduler.md) - Scheduling of distributed background tasks. +- [Token Manager Service](./token-manager.md) - Deprecated service authentication service, use the [Auth Service](./auth.md) instead. +- [Url Reader Service](./url-reader.md) - Reading content from external systems. +- [User Info Service](./user-info.md) - Authenticated user information retrieval. diff --git a/docs/backend-system/core-services/auth.md b/docs/backend-system/core-services/auth.md new file mode 100644 index 0000000000..4f1229a9d7 --- /dev/null +++ b/docs/backend-system/core-services/auth.md @@ -0,0 +1,8 @@ +--- +id: auth +title: Auth Service +sidebar_label: Auth +description: Documentation for the Auth service +--- + +TODO diff --git a/docs/backend-system/core-services/cache.md b/docs/backend-system/core-services/cache.md new file mode 100644 index 0000000000..0e26e8e1f5 --- /dev/null +++ b/docs/backend-system/core-services/cache.md @@ -0,0 +1,38 @@ +--- +id: cache +title: Cache Service +sidebar_label: Cache +description: Documentation for the Cache service +--- + +This service lets your plugin interact with a cache. It is bound to your plugin too, so that you will only set and get values in your plugin's private namespace. + +## Using the service + +The following example shows how to get a cache client in your `example` backend plugin and setting and getting values from the cache. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + cache: coreServices.cache, + }, + async init({ cache }) { + const { key, value } = { key: 'test:key', value: 'bob' }; + await cache.set(key, value, { ttl: 1000 }); + + // .. some other stuff. + + await cache.get(key); // 'bob' + }, + }); + }, +}); +``` diff --git a/docs/backend-system/core-services/database.md b/docs/backend-system/core-services/database.md new file mode 100644 index 0000000000..e083f0b44d --- /dev/null +++ b/docs/backend-system/core-services/database.md @@ -0,0 +1,47 @@ +--- +id: database +title: Database Service +sidebar_label: Database +description: Documentation for the Database service +--- + +This service lets your plugins get a `knex` client hooked up to a database which is configured in your `app-config` YAML files, for your persistence needs. + +If there's no config provided in `backend.database` then you will automatically get a simple in-memory SQLite 3 database for your plugin whose contents will be lost when the service restarts. + +This service is scoped per plugin too, so that table names do not conflict across plugins. + +## Using the service + +The following example shows how to get access to the database service in your `example` backend plugin and getting a client for interacting with the database. It also runs some migrations from a certain directory for your plugin. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { resolvePackagePath } from '@backstage/backend-common'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + database: coreServices.database, + }, + async init({ database }) { + const client = await database.getClient(); + const migrationsDir = resolvePackagePath( + '@internal/my-plugin', + 'migrations', + ); + if (!database.migrations?.skip) { + await client.migrate.latest({ + directory: migrationsDir, + }); + } + }, + }); + }, +}); +``` diff --git a/docs/backend-system/core-services/discovery.md b/docs/backend-system/core-services/discovery.md new file mode 100644 index 0000000000..455e398d8b --- /dev/null +++ b/docs/backend-system/core-services/discovery.md @@ -0,0 +1,35 @@ +--- +id: discovery +title: Discovery Service +sidebar_label: Discovery +description: Documentation for the Discovery service +--- + +When building plugins, you might find that you will need to look up another plugin's base URL to be able to communicate with it. This could be for example an HTTP route or some `ws` protocol URL. For this we have a discovery service which can provide both internal and external base URLs for a given a plugin ID. + +## Using the service + +The following example shows how to get the discovery service in your `example` backend plugin and making a request to both the internal and external base URLs for the `derp` plugin. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { fetch } from 'node-fetch'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + discovery: coreServices.discovery, + }, + async init({ discovery }) { + const url = await discovery.getBaseUrl('derp'); // can also use discovery.getExternalBaseUrl to retrieve external URL + const response = await fetch(`${url}/hello`); + }, + }); + }, +}); +``` diff --git a/docs/backend-system/core-services/http-auth.md b/docs/backend-system/core-services/http-auth.md new file mode 100644 index 0000000000..7af30c3251 --- /dev/null +++ b/docs/backend-system/core-services/http-auth.md @@ -0,0 +1,8 @@ +--- +id: http-auth +title: Http Auth Service +sidebar_label: Http Auth +description: Documentation for the Http Auth service +--- + +TODO diff --git a/docs/backend-system/core-services/http-router.md b/docs/backend-system/core-services/http-router.md new file mode 100644 index 0000000000..e976d2c06c --- /dev/null +++ b/docs/backend-system/core-services/http-router.md @@ -0,0 +1,58 @@ +--- +id: http-router +title: Http Router Service +sidebar_label: Http Router +description: Documentation for the Http Router service +--- + +One of the most common services is the HTTP router service which is used to expose HTTP endpoints for other plugins to consume. + +## Using the service + +The following example shows how to register a HTTP router for the `example` plugin. +This single route will be available at the `/api/example/hello` path. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { Router } from 'express'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { http: coreServices.httpRouter }, + async init({ http }) { + const router = Router(); + router.get('/hello', (_req, res) => { + res.status(200).json({ hello: 'world' }); + }); + // Registers the router at the /api/example path + http.use(router); + }, + }); + }, +}); +``` + +## Configuring the service + +There's additional configuration that you can optionally pass to setup the `httpRouter` core service. + +- `getPath` - Can be used to generate a path for each plugin. Currently defaults to `/api/${pluginId}` + +You can configure these additional options by adding an override for the core service when calling `createBackend` like follows: + +```ts +import { httpRouterServiceFactory } from '@backstage/backend-app-api'; + +const backend = createBackend(); + +backend.add( + httpRouterServiceFactory({ + getPath: (pluginId: string) => `/plugins/${pluginId}`, + }), +); +``` diff --git a/docs/backend-system/core-services/identity.md b/docs/backend-system/core-services/identity.md new file mode 100644 index 0000000000..eb7d1f4ac7 --- /dev/null +++ b/docs/backend-system/core-services/identity.md @@ -0,0 +1,73 @@ +--- +id: identity +title: Identity Service +sidebar_label: Identity +description: Documentation for the Identity service +--- + +When working with backend plugins, you might find that you will need to interact with the `auth-backend` plugin to both authenticate backstage tokens, and to deconstruct them to get the user's entity ref and/or ownership claims out of them. + +## Using the service + +The following example shows how to get the identity service in your `example` backend plugin and retrieve the user's entity ref and ownership claims for the incoming request. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { Router } from 'express'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + identity: coreServices.identity, + http: coreServices.httpRouter, + }, + async init({ http, identity }) { + const router = Router(); + router.get('/test-me', (request, response) => { + // use the identity service to pull out the header from the request and get the user + const { + identity: { userEntityRef, ownershipEntityRefs }, + } = await identity.getIdentity({ + request, + }); + + // send the decoded and validated things back to the user + response.json({ + userEntityRef, + ownershipEntityRefs, + }); + }); + + http.use(router); + }, + }); + }, +}); +``` + +## Configuring the service + +There's additional configuration that you can optionally pass to setup the `identity` core service. + +- `issuer` - Set an optional issuer for validation of the JWT token +- `algorithms` - `alg` header for validation of the JWT token, defaults to `ES256`. More info on supported algorithms can be found in the [`jose` library documentation](https://github.com/panva/jose) + +You can configure these additional options by adding an override for the core service when calling `createBackend` like follows: + +```ts +import { identityServiceFactory } from '@backstage/backend-app-api'; + +const backend = createBackend(); + +backend.add( + identityServiceFactory({ + issuer: 'backstage', + algorithms: ['ES256', 'RS256'], + }), +); +``` diff --git a/docs/backend-system/core-services/lifecycle.md b/docs/backend-system/core-services/lifecycle.md new file mode 100644 index 0000000000..aa547d6cc9 --- /dev/null +++ b/docs/backend-system/core-services/lifecycle.md @@ -0,0 +1,40 @@ +--- +id: lifecycle +title: Lifecycle Service +sidebar_label: Lifecycle +description: Documentation for the Lifecycle service +--- + +This service allows your plugins to register hooks for cleaning up resources as the service is shutting down (e.g. when a pod is being torn down, or when pressing `Ctrl+C` during local development). Other core services also leverage this same mechanism internally to stop themselves cleanly. + +## Using the service + +The following example shows how to get the lifecycle service in your `example` backend plugin to clean up a long running interval when the service is shutting down. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + lifecycle: coreServices.lifecycle, + logger: coreServices.logger, + }, + async init({ lifecycle, logger }) { + // some example work that we want to stop when shutting down + const interval = setInterval(async () => { + await fetch('http://google.com/keepalive').then(r => r.json()); + // do some other stuff. + }, 1000); + + lifecycle.addShutdownHook(() => clearInterval(interval)); + }, + }); + }, +}); +``` diff --git a/docs/backend-system/core-services/logger.md b/docs/backend-system/core-services/logger.md new file mode 100644 index 0000000000..015d2055d5 --- /dev/null +++ b/docs/backend-system/core-services/logger.md @@ -0,0 +1,77 @@ +--- +id: logger +title: Logger Service +sidebar_label: Logger +description: Documentation for the Logger service +--- + +This service allows plugins to output logging information. There are actually two logger services: a root logger, and a plugin logger which is bound to individual plugins, so that you will get nice messages with the plugin ID referenced in the log lines. + +## Using the service + +The following example shows how to get the logger in your `example` backend plugin and create a warning message that will be printed nicely to the console. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + log: coreServices.logger, + }, + async init({ log }) { + log.warn("Here's a nice log line that's a warning!"); + }, + }); + }, +}); +``` + +## Root Logger + +The root logger is the logger that is used by other root services. It's where the implementation lies for creating child loggers around the backstage ecosystem including child loggers for plugins with the correct metadata and annotations. + +If you want to override the implementation for logging across all of the backend, this is the service that you should override. + +## Configuring the service + +The following example is how you can override the root logger service to add additional metadata to all log lines. + +```ts +import { coreServices } from '@backstage/backend-plugin-api'; +import { WinstonLogger } from '@backstage/backend-app-api'; + +const backend = createBackend(); + +backend.add( + createServiceFactory({ + service: coreServices.rootLogger, + deps: { + config: coreServices.rootConfig, + }, + async factory({ config }) { + const logger = WinstonLogger.create({ + meta: { + service: 'backstage', + // here's some additional information that is not part of the + // original implementation + podName: 'myk8spod', + }, + level: process.env.LOG_LEVEL || 'info', + format: + process.env.NODE_ENV === 'production' + ? format.json() + : WinstonLogger.colorFormat(), + transports: [new transports.Console()], + }); + + return logger; + }, + }), +); +``` diff --git a/docs/backend-system/core-services/permissions.md b/docs/backend-system/core-services/permissions.md new file mode 100644 index 0000000000..d979932c2f --- /dev/null +++ b/docs/backend-system/core-services/permissions.md @@ -0,0 +1,53 @@ +--- +id: permissions +title: Permissions Service +sidebar_label: Permissions +description: Documentation for the Permissions service +--- + +This service allows your plugins to ask [the permissions framework](https://backstage.io/docs/permissions/overview) for authorization of user actions. + +## Using the service + +The following example shows how to get the permissions service in your `example` backend to check to see if the user is allowed to perform a certain action with a custom permission rule. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { Router } from 'express'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + permissions: coreServices.permissions, + http: coreServices.httpRouter, + }, + async init({ permissions, http }) { + const router = Router(); + router.get('/test-me', (request, response) => { + // use the identity service to pull out the token from request headers + const { token } = await identity.getIdentity({ + request, + }); + + // ask the permissions framework what the decision is for the permission + const permissionResponse = await permissions.authorize( + [ + { + permission: myCustomPermission, + }, + ], + { token }, + ); + }); + + http.use(router); + }, + }); + }, +}); +``` diff --git a/docs/backend-system/core-services/plugin-metadata.md b/docs/backend-system/core-services/plugin-metadata.md new file mode 100644 index 0000000000..f045ed7f19 --- /dev/null +++ b/docs/backend-system/core-services/plugin-metadata.md @@ -0,0 +1,8 @@ +--- +id: plugin-metadata +title: Plugin Metadata Service +sidebar_label: Plugin Metadata +description: Documentation for the Plugin Metadata service +--- + +TODO diff --git a/docs/backend-system/core-services/root-config.md b/docs/backend-system/core-services/root-config.md new file mode 100644 index 0000000000..7cdc10f38c --- /dev/null +++ b/docs/backend-system/core-services/root-config.md @@ -0,0 +1,62 @@ +--- +id: root-config +title: Root Config Service +sidebar_label: Root Config +description: Documentation for the Root Config service +--- + +This service allows you to read configuration values out of your `app-config` YAML files. + +## Using the service + +The following example shows how you can use the default config service to be able to get a config value, and then log it to the console. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + log: coreServices.logger, + config: coreServices.rootConfig, + }, + async init({ log, config }) { + const baseUrl = config.getString('backend.baseUrl'); + log.warn(`The backend is running at ${baseUrl}`); + }, + }); + }, +}); +``` + +## Configuring the service + +There's additional configuration that you can optionally pass to setup the `config` core service. + +- `argv` - Override the arguments that are passed to the config loader, instead of using `process.argv` +- `remote` - Configure remote configuration loading + +You can configure these additional options by adding an override for the core service when calling `createBackend` like follows: + +```ts +import { rootConfigServiceFactory } from '@backstage/backend-app-api'; + +const backend = createBackend(); + +backend.add( + rootConfigServiceFactory({ + argv: [ + '--config', + '/backstage/app-config.development.yaml', + '--config', + '/backstage/app-config.yaml', + ], + remote: { reloadIntervalSeconds: 60 }, + }), +); +``` diff --git a/docs/backend-system/core-services/root-http-router.md b/docs/backend-system/core-services/root-http-router.md new file mode 100644 index 0000000000..bbd42b743b --- /dev/null +++ b/docs/backend-system/core-services/root-http-router.md @@ -0,0 +1,76 @@ +--- +id: root-http-router +title: Root Http Router Service +sidebar_label: Root Http Router +description: Documentation for the Root Http Router service +--- + +The root HTTP router is a service that allows you to register routes on the root of the backend service. This is useful for things like health checks, or other routes that you want to expose on the root of the backend service. It is used as the base router that backs the `httpRouter` service. Most likely you won't need to use this service directly, but rather use the `httpRouter` service. + +## Using the service + +The following example shows how to get the root HTTP router service in your `example` backend plugin to register a health check route. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { Router } from 'express'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + rootHttpRouter: coreServices.rootHttpRouter, + }, + async init({ rootHttpRouter }) { + const router = Router(); + router.get('/health', (request, response) => { + response.send('OK'); + }); + + rootHttpRouter.use(router); + }, + }); + }, +}); +``` + +## Configuring the service + +There's additional options that you can pass to configure the root HTTP Router service. These options are passed when you call `createBackend`. + +- `indexPath` - optional path to forward all unmatched requests to. Defaults to `/api/app` which is the `app-backend` plugin responsible for serving the frontend application through the backend. + +- `configure` - this is an optional function that you can use to configure the `express` instance. This is useful if you want to add your own middleware to the root router, such as logging, or other things that you want to do before the request is handled by the backend. It's also useful to override the order in which middleware is applied. + +You can configure the root HTTP Router service by passing the options to the `createBackend` function. + +```ts +import { rootHttpRouterServiceFactory } from '@backstage/backend-app-api'; + +const backend = createBackend(); + +backend.add( + rootHttpRouterServiceFactory({ + configure: ({ app, middleware, routes, config, logger, lifecycle }) => { + // the built in middleware is provided through an option in the configure function + app.use(middleware.helmet()); + app.use(middleware.cors()); + app.use(middleware.compression()); + + // you can add you your own middleware in here + app.use(custom.logging()); + + // here the routes that are registered by other plugins + app.use(routes); + + // some other middleware that comes after the other routes + app.use(middleware.notFound()); + app.use(middleware.error()); + }, + }), +); +``` diff --git a/docs/backend-system/core-services/root-lifecycle.md b/docs/backend-system/core-services/root-lifecycle.md new file mode 100644 index 0000000000..be981e9bd8 --- /dev/null +++ b/docs/backend-system/core-services/root-lifecycle.md @@ -0,0 +1,65 @@ +--- +id: root-lifecycle +title: Root Lifecycle Service +sidebar_label: Root Lifecycle +description: Documentation for the Root Lifecycle service +--- + +This service is the same as the lifecycle service, but should only be used by the root services. This is also where the implementation for the actual lifecycle hooks are collected and executed, so if you want to override the implementation of how those are processed, you should override this service. + +## Configure the service + +The following example shows how to override the default implementation of the lifecycle service with something that listens on different process events to the original. + +```ts +class MyCustomLifecycleService implements RootLifecycleService { + constructor(private readonly logger: LoggerService) {} + + #isCalled = false; + #shutdownTasks: Array<{ + hook: LifecycleServiceShutdownHook; + options?: LifecycleServiceShutdownOptions; + }> = []; + + addShutdownHook( + hook: LifecycleServiceShutdownHook, + options?: LifecycleServiceShutdownOptions, + ): void { + this.#shutdownTasks.push({ hook, options }); + } + + async shutdown(): Promise { + if (this.#isCalled) { + return; + } + this.#isCalled = true; + + this.logger.info(`Running ${this.#shutdownTasks.length} shutdown tasks...`); + await Promise.all( + this.#shutdownTasks.map(async ({ hook, options }) => { + const logger = options?.logger ?? this.logger; + try { + await hook(); + logger.info(`Shutdown hook succeeded`); + } catch (error) { + logger.error(`Shutdown hook failed, ${error}`); + } + }), + ); + } +} + +const backend = createBackend(); + +backend.add( + createServiceFactory({ + service: coreServices.rootLifecycle, + deps: { + logger: coreServices.rootLogger, + }, + async factory({ logger }) { + return new MyCustomLifecycleService(logger); + }, + }), +); +``` diff --git a/docs/backend-system/core-services/root-logger.md b/docs/backend-system/core-services/root-logger.md new file mode 100644 index 0000000000..09b7929efe --- /dev/null +++ b/docs/backend-system/core-services/root-logger.md @@ -0,0 +1,8 @@ +--- +id: root-logger +title: Root Logger Service +sidebar_label: Root Logger +description: Documentation for the Root Logger service +--- + +TODO diff --git a/docs/backend-system/core-services/scheduler.md b/docs/backend-system/core-services/scheduler.md new file mode 100644 index 0000000000..e4c67a1199 --- /dev/null +++ b/docs/backend-system/core-services/scheduler.md @@ -0,0 +1,41 @@ +--- +id: scheduler +title: Scheduler Service +sidebar_label: Scheduler +description: Documentation for the Scheduler service +--- + +When writing plugins, you sometimes want to have things running on a schedule, or something similar to cron jobs that are distributed through instances that your backend plugin is running on. We supply a task scheduler for this purpose that is scoped per plugin so that you can create these tasks and orchestrate their execution. + +## Using the service + +The following example shows how to get the scheduler service in your `example` backend to issue a scheduled task that runs across your instances at a given interval. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { fetch } from 'node-fetch'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + scheduler: coreServices.scheduler, + }, + async init({ scheduler }) { + await scheduler.scheduleTask({ + frequency: { minutes: 10 }, + timeout: { seconds: 30 }, + id: 'ping-google', + fn: async () => { + await fetch('http://google.com/ping'); + }, + }); + }, + }); + }, +}); +``` diff --git a/docs/backend-system/core-services/token-manager.md b/docs/backend-system/core-services/token-manager.md new file mode 100644 index 0000000000..b62499462f --- /dev/null +++ b/docs/backend-system/core-services/token-manager.md @@ -0,0 +1,8 @@ +--- +id: token-manager +title: Token Manager Service +sidebar_label: Token Manager +description: Documentation for the Token Manager service +--- + +TODO diff --git a/docs/backend-system/core-services/url-reader.md b/docs/backend-system/core-services/url-reader.md new file mode 100644 index 0000000000..b9616a029e --- /dev/null +++ b/docs/backend-system/core-services/url-reader.md @@ -0,0 +1,47 @@ +--- +id: url-reader +title: Url Reader Service +sidebar_label: Url Reader +description: Documentation for the Url Reader service +--- + +# URL Readers + +Plugins will require communication with certain integrations that users have configured. Popular integrations are things like Version Control Systems (VSC), such as GitHub, BitBucket GitLab etc. These integrations are configured in the `integrations` section of the `app-config.yaml` file. + +These URL readers are basically wrappers with authentication for files and folders that could be stored in these VCS repositories. + +## Using the service + +The following example shows how to get the URL Reader service in your `example` backend plugin to read a file and a directory from a GitHub repository. + +```ts +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import os from 'os'; + +createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + urlReader: coreServices.urlReader, + }, + async init({ urlReader }) { + const buffer = await urlReader + .read('https://github.com/backstage/backstage/blob/master/README.md') + .then(r => r.buffer()); + + const tmpDir = os.tmpdir(); + const directory = await urlReader + .readTree( + 'https://github.com/backstage/backstage/tree/master/packages/backend', + ) + .then(tree => tree.dir({ targetDir: tmpDir })); + }, + }); + }, +}); +``` diff --git a/docs/backend-system/core-services/user-info.md b/docs/backend-system/core-services/user-info.md new file mode 100644 index 0000000000..5ca717ddd5 --- /dev/null +++ b/docs/backend-system/core-services/user-info.md @@ -0,0 +1,8 @@ +--- +id: user-info +title: User Info Service +sidebar_label: User Info +description: Documentation for the User Info service +--- + +TODO diff --git a/docs/conf/writing.md b/docs/conf/writing.md index aef9620373..e0eb72f828 100644 --- a/docs/conf/writing.md +++ b/docs/conf/writing.md @@ -220,6 +220,8 @@ clientSecret: someGithubAppClientSecret webhookSecret: someWebhookSecret privateKey: | -----BEGIN RSA PRIVATE KEY----- - SomeRsaPrivateKey + SomeRsaPrivateKeySecurelyStored -----END RSA PRIVATE KEY----- ``` + +**Warning: Sensitive information, such as private keys, should not be hard coded**. We recommend that this entire file should be a secret and stored as such in a secure storage solution like Vault, to ensure they are neither exposed nor misused. This example key part only shows the format on how to use the yaml | syntax to make sure that the key is valid. diff --git a/docs/deployment/flightcontrol.md b/docs/deployment/flightcontrol.md index 482e9341ea..6078d931fb 100644 --- a/docs/deployment/flightcontrol.md +++ b/docs/deployment/flightcontrol.md @@ -9,8 +9,159 @@ This guide explains how to deploy Backstage to [Flightcontrol](https://www.fligh Before you begin, make sure you have a [Flightcontrol account](https://app.flightcontrol.dev/signup?ref=backstage) and a [Github account](https://github.com/login) to follow this guide. +# Creating a Dockerfile and .dockerignore + +Once your Flightcontrol account is setup, you will need to prepare a `Dockerfile` and `.dockerignore` to deploy Backstage to your target AWS environment. The standard `Dockerfile` included in the Backstage repository assumes that the `skeleton.tar.gz` and `bundle.tar.gz` already exist. When integrating Flightcontrol directly with a GitHub repository, changes to files within this repository will automatically start a Flightcontrol deployment, unless you have configured deployments via a webhook. Regardless of which method you have chosen, when Flightcontrol starts a deployment process it will pull all files directly from the repository, and not from a GitHub runner or other location. As Flightcontrol does not contain CI steps this results in the zip files having to be committed to the repository in order to be available for the `Dockerfile` to copy. + +A simple work around for this is to use a `Dockerfile` with a [multi-stage build](https://docs.docker.com/build/building/multi-stage/). Using this approach we can create our zip files in the first build stage, and copy them into the second stage ready for deployment. + +The following two code snippets demonstrate this method. The first block of code is an example of a multi-stage build approach and should be added to a file called `Dockerfile.flightcontrol` in the `packages/backend` directory. + +```dockerfile filename="Dockerfile.flightcontrol" +# This dockerfile builds an image for the backend package. +# It should be executed with the root of the repo as docker context. +# +# Before building this image, be sure to have run the following commands in the repo root: +# +# yarn install +# yarn tsc +# yarn build:backend +# +# Once the commands have been run, you can build the image using `yarn build-image` +FROM node:18-bookworm-slim as build + +USER node +WORKDIR /app +COPY --chown=node:node . . + +RUN yarn install --frozen-lockfile + +# tsc outputs type definitions to dist-types/ in the repo root, which are then consumed by the build +RUN yarn tsc + +# Build the backend, which bundles it all up into the packages/backend/dist folder. +# The configuration files here should match the one you use inside the Dockerfile below. +RUN yarn build:backend --config ../../app-config.yaml + +FROM node:18-bookworm-slim + +# Install isolate-vm dependencies, these are needed by the @backstage/plugin-scaffolder-backend. +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/var/lib/apt,sharing=locked \ + apt-get update && \ + apt-get install -y --no-install-recommends python3 g++ build-essential && \ + yarn config set python /usr/bin/python3 + +# Install sqlite3 dependencies. You can skip this if you don't use sqlite3 in the image, +# in which case you should also move better-sqlite3 to "devDependencies" in package.json. +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/var/lib/apt,sharing=locked \ + apt-get update && \ + apt-get install -y --no-install-recommends libsqlite3-dev + +# From here on we use the least-privileged `node` user to run the backend. +USER node + +# This should create the app dir as `node`. +# If it is instead created as `root` then the `tar` command below will fail: `can't create directory 'packages/': Permission denied`. +# If this occurs, then ensure BuildKit is enabled (`DOCKER_BUILDKIT=1`) so the app dir is correctly created as `node`. +WORKDIR /app + +# This switches many Node.js dependencies to production mode. +ENV NODE_ENV production + +# Copy repo skeleton first, to avoid unnecessary docker cache invalidation. +# The skeleton contains the package.json of each package in the monorepo, +# and along with yarn.lock and the root package.json, that's enough to run yarn install. +COPY --from=build app/yarn.lock app/package.json app/packages/backend/dist/skeleton.tar.gz ./ +RUN tar xzf skeleton.tar.gz && rm skeleton.tar.gz + +RUN --mount=type=cache,target=/home/node/.cache/yarn,sharing=locked,uid=1000,gid=1000 \ + yarn install --frozen-lockfile --production --network-timeout 300000 + +# Then copy the rest of the backend bundle, along with any other files we might want. +COPY --from=build app/packages/backend/dist/bundle.tar.gz app/app-config*.yaml ./ +RUN tar xzf bundle.tar.gz && rm bundle.tar.gz + +CMD ["node", "packages/backend", "--config", "app-config.yaml", "--config", "app-config.production.yaml"] +``` + +In order to prevent the default `.dockerignore` file from preventing the copying of the relevant files into the first stage of our build, we need to override it with a custom one. This can also be added to the `packages/backend` directory, it should be called `Dockerfile.flightcontrol.dockerignore` and contain the following. + +```ssh filename="Dockerfile.flightcontrol.dockerignore" +.git +.yarn/cache +.yarn/install-state.gz +node_modules +packages/*/node_modules +*.local.yaml +``` + +With these two new files, you will now have the necessary steps in place to build the zip files, copy them into the second stage of the build, and deploy them via Flightcontrol. + +# Creating a custom app-config.production file + +Our next steps before switching to the Flightcontrol dashboard is to create a custom app-config.production file. The purposes of this is to update how Backstage will connect to the RDS hosted Postgres DB. The default `app-config.production` file uses the `host`, `port`, `user` and `password` environment variables. + +When creating a database via the Flightcontrol dashboard, we are given an environment variable with the single connection string. Therefore we need an `app-config.production` file which uses this variable. + +Within your Backstage project create a new file called `app-config.production.flightcontrol.yaml`. Add the following configuration to it: + +```yaml filename="app-config.production.flightcontrol.yaml" +app: + # Should be the same as backend.baseUrl when using the `app-backend` plugin. + baseUrl: http://localhost:7007 + +backend: + # Note that the baseUrl should be the URL that the browser and other clients + # should use when communicating with the backend, i.e. it needs to be + # reachable not just from within the backend host, but from all of your + # callers. When its value is "http://localhost:7007", it's strictly private + # and can't be reached by others. + baseUrl: http://localhost:7007 + # The listener can also be expressed as a single : string. In this case we bind to + # all interfaces, the most permissive setting. The right value depends on your specific deployment. + listen: ':7007' + + # config options: https://node-postgres.com/api/client + database: + client: pg + pluginDivisionMode: 'schema' + connection: + connectionString: ${POSTGRES_CON_STRING} + ssl: + require: true + rejectUnauthorized: false + + # Flightcontrol provides a single DB connection string + # environment variable which can be renamed to POSTGRES_CON_STRING. + # the following default values are therefore not used: + # host: ${POSTGRES_HOST} + # port: ${POSTGRES_PORT} + # user: ${POSTGRES_USER} + # password: ${POSTGRES_PASSWORD} + # https://node-postgres.com/features/ssl + # you can set the sslmode configuration option via the `PGSSLMODE` environment variable + # see https://www.postgresql.org/docs/current/libpq-ssl.html Table 33.1. SSL Mode Descriptions (e.g. require) + # ssl: + # ca: # if you have a CA file and want to verify it you can uncomment this section + # $file: /ca/server.crt + +catalog: + # Overrides the default list locations from app-config.yaml as these contain example data. + # See https://backstage.io/docs/features/software-catalog/#adding-components-to-the-catalog for more details + # on how to get entities into the catalog. + locations: [] +``` + +Make a note of the environment variable used in the `connectionString`. In our example above this is `POSTGRES_CON_STRING`. You will need this later when you have deployed the database via the Flightcontrol console, and wish to connect to it from Backstage. + # Deployment Via Dashboard +Ensure that custom `Dockerfile.flightcontrol`, `Dockerfile.flightcontrol.dockerignore` and `app-config.production.flightcontrol.yaml` have been committed to your repository before following the next steps. + +Login into the Flightcontrol Dashboard and complete each of the following: + 1. Create a new project from the Flightcontrol Dashboard 2. Select the GitHub repo for your Backstage project @@ -25,7 +176,7 @@ Before you begin, make sure you have a [Flightcontrol account](https://app.fligh | Health Check Path | /catalog | | Port | 7007 | -5. Click `Create Project` and complete any required steps (like linking your AWS account). +5. Click `Create Project` and complete any required steps (like linking your AWS account). Remember to point the project to your custom files. # Deployment via Code @@ -33,7 +184,7 @@ Before you begin, make sure you have a [Flightcontrol account](https://app.fligh 2. Select the GitHub repo for your Backstage project -3. Select the `flightcontrol.json` Config Type. +3. Select the `flightcontrol.json` Config Type. Update the example JSON below where applicable to your custom Dockerfile. ```json filename="flightcontrol.json" { @@ -72,6 +223,8 @@ Before you begin, make sure you have a [Flightcontrol account](https://app.fligh If you need a database or Redis for your Backstage plugins, you can easily add those to your Flightcontrol deployment. For more information, see [the flightcontrol docs](https://www.flightcontrol.dev/docs/guides/flightcontrol/using-code?ref=backstage#redis). +When creating a Postgres RDS database you will need to update the connection string variable name to the one included in the `app-config.production.flightcontrol.yaml`. As noted above in our example we called this `POSTGRES_CON_STRING`. + ## Troubleshooting - [Flightcontrol Documentation](https://www.flightcontrol.dev/docs?ref=backstage) diff --git a/docs/deployment/k8s.md b/docs/deployment/k8s.md index b0218c8657..479d99510b 100644 --- a/docs/deployment/k8s.md +++ b/docs/deployment/k8s.md @@ -384,7 +384,7 @@ $ yarn build-image --tag backstage:1.0.0 There is no special wiring needed to access the PostgreSQL service. Since it's running on the same cluster, Kubernetes will inject `POSTGRES_SERVICE_HOST` and `POSTGRES_SERVICE_PORT` environment variables into our Backstage container. -These can be used in the Backstage `app-config.yaml` along with the secrets: +These can be used in the Backstage `app-config.yaml` along with the secrets. Apply this to `app-config.production.yaml` as well if you have one: ```yaml backend: diff --git a/docs/features/kubernetes/configuration.md b/docs/features/kubernetes/configuration.md index 331883be35..ff3a42c7ed 100644 --- a/docs/features/kubernetes/configuration.md +++ b/docs/features/kubernetes/configuration.md @@ -38,6 +38,7 @@ kubernetes: plural: 'rollouts' - url: http://127.0.0.2:9999 name: aws-cluster-1 + title: 'My AWS Cluster Number One' authProvider: 'aws' - type: 'gke' projectId: 'gke-clusters' @@ -151,6 +152,11 @@ The base URL to the Kubernetes control plane. Can be found by using the A name to represent this cluster, this must be unique within the `clusters` array. Users will see this value in the Software Catalog Kubernetes plugin. +##### `clusters.\*.title` + +A human-readable name for the cluster. This value will override the `name` field +for the purposes of display in the catalog. + ##### `clusters.\*.authProvider` This determines how the Kubernetes client authenticates with the Kubernetes diff --git a/docs/features/software-catalog/descriptor-format.md b/docs/features/software-catalog/descriptor-format.md index 526ba15072..054b727e78 100644 --- a/docs/features/software-catalog/descriptor-format.md +++ b/docs/features/software-catalog/descriptor-format.md @@ -838,7 +838,7 @@ The current set of well-known and common values for this field is: - `openapi` - An API definition in YAML or JSON format based on the [OpenAPI](https://swagger.io/specification/) version 2 or version 3 spec. - `asyncapi` - An API definition based on the - [AsyncAPI](https://www.asyncapi.com/docs/reference/specification/latest) spec. + [AsyncAPI](https://www.asyncapi.com/docs/reference/specification/latest) version 2 or version 3 spec. - `graphql` - An API definition based on [GraphQL schemas](https://spec.graphql.org/) for consuming [GraphQL](https://graphql.org/) based APIs. @@ -1119,7 +1119,7 @@ Some common values for this field could be: - `database` - `s3-bucket` -- `cluster` +- `kubernetes-cluster` ### `spec.system` [optional] diff --git a/docs/features/software-templates/writing-custom-field-extensions.md b/docs/features/software-templates/writing-custom-field-extensions.md index f22cecd22c..d53b8bdf2f 100644 --- a/docs/features/software-templates/writing-custom-field-extensions.md +++ b/docs/features/software-templates/writing-custom-field-extensions.md @@ -30,7 +30,8 @@ As an example, we will create a component that validates whether a string is in ```tsx //packages/app/src/scaffolder/ValidateKebabCase/ValidateKebabCaseExtension.tsx import React from 'react'; -import { FieldProps, FieldValidation } from '@rjsf/core'; +import { FieldExtensionComponentProps } from '@backstage/plugin-scaffolder-react'; +import type { FieldValidation } from '@rjsf/utils'; import FormControl from '@material-ui/core/FormControl'; /* This is the actual component that will get rendered in the form @@ -40,7 +41,7 @@ export const ValidateKebabCase = ({ rawErrors, required, formData, -}: FieldProps) => { +}: FieldExtensionComponentProps) => { return ( { diff --git a/docs/frontend-system/architecture/03-extensions.md b/docs/frontend-system/architecture/03-extensions.md index 46bfa3d86f..061c695abb 100644 --- a/docs/frontend-system/architecture/03-extensions.md +++ b/docs/frontend-system/architecture/03-extensions.md @@ -81,8 +81,6 @@ const extension = createExtension({ Note that while the `createExtension` is public API and used in many places, it is not typically what you use when building plugins and features. Instead there are many extension creator functions exported by both the core APIs and plugins that make it easier to create extensions for more specific usages. -... TODO ... - ## Extension Data Communication between extensions happens in one direction, from one child extension through the attachment point to its parent. The child extension outputs data which is then passed as inputs to the parent extension. This data is called Extension Data, where the shape of each individual piece of data is described by an Extension Data Reference. These references are created separately from the extensions themselves, and can be shared across multiple different kinds of extensions. Each reference consists of an ID and a TypeScript type that the data needs to conform to, and represents one type of data that can be shared between extensions. @@ -137,7 +135,7 @@ const extension = createExtension({ We provide default `coreExtensionData`, which provides commonly used `ExtensionDataRef`s - e.g. for `React.JSX.Element` and `RouteRef`. They can be used when creating your own extension. For example, the React Element extension data that we defined above is already provided as `coreExtensionData.reactElement`. - +For a full list and explanations of all types of core extension data, see the [core extension data reference](../building-plugins/04-built-in-data-refs.md). ### Optional Extension Data diff --git a/docs/frontend-system/building-apps/01-index.md b/docs/frontend-system/building-apps/01-index.md new file mode 100644 index 0000000000..e23f628fb6 --- /dev/null +++ b/docs/frontend-system/building-apps/01-index.md @@ -0,0 +1,148 @@ +--- +id: index +title: Building Frontend Apps +sidebar_label: Overview +# prettier-ignore +description: Building frontend apps using the new frontend system +--- + +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** + +To get set up quickly with your own Backstage project you can create a Backstage App. + +A Backstage App is a monorepo setup that includes everything you need to run Backstage in your own environment. + +## Creating a new app + +To create a new Backstage app we recommend using the `@backstage/create-app` command line, and the easiest way to run this package is with `npx`: + +:::note +The create-app CLI requires Node.js Active LTS Release. +::: + +```sh +# The command bellow creates a Backstage App inside the current folder. +# The name of the app-folder is the name that was provided when prompted. +npx @backstage/create-app@latest +``` + +The created-app is currently templated for legacy frontend system applications, so the app wiring code it creates needs to be migrated, see [the app instance](#the-app-instance) section for an example. + +## The app instance + +The starting point of a frontend app is the `createApp` function, which accepts a single options object as its only parameter. It is imported from `@backstage/frontend-app-api`, which is where you will find most of the common APIs for building apps. + +This is how to create a minimal app: + +```tsx title="in src/index.ts" +import ReactDOM from 'react-dom/client'; +import { createApp } from '@backstage/frontend-app-api'; +import catalogPlugin from '@backstage/plugin-catalog/alpha'; + +// Create your app instance +const app = createApp({ + // Features such as plugins can be installed explicitly, but we will explore other options later on + features: [catalogPlugin], +}); + +// This creates a React element that renders the entire app +const root = app.createRoot(); + +// Just like any other React we need a root element. No server side rendering is used. +const rootEl = document.getElementById('root')!; + +ReactDOM.createRoot(rootEl).render(root); +``` + +Note that `createRoot` returns the root element that is rendered by React. The above example is installing a catalog plugin and using default settings for the app, as no options other than the `features` array are passed to the `createApp` function. + +Visit the [built-in extensions](#customize-or-override-built-in-extensions) section to see what is installed by default in a Backstage application. + +## Configure your app + +### Bind external routes + +Linking routes from different plugins requires this configuration. You can do this either through a configuration file or by coding, visit [this](https://backstage.io/docs/frontend-system/architecture/routes#binding-external-route-references) page for instructions. + +### Enable feature discovery + +Use this setting to enable experimental feature discovery when building your app with `@backstage/cli`. With this configuration your application tries to discover and install package extensions automatically, check [here](../architecture/02-app.md#feature-discovery) for more details. + +:::warning +Remember that package extensions that are not auto-discovered must be manually added to the application when creating an app. See [features](#install-features-manually) for more details. +::: + +### Configure extensions individually + +It is possible to enable, disable and configure extensions individually in the `app-config.yaml` config file. To get familiar with what is available for app extensions personalization, go to the [built-in extensions](./02-built-in-extensions.md) documentation. For plugin customizations, we recommend that you read the instructions in each plugin's README file. + +### Customize or override built-in extensions + +Previously you would customize the application route, components, apis, sidebar, etc. through the code in `App.tsx`. Now we want you to write less code and install more extensions to customize your Backstage instance. See [here](../building-plugins/03-extension-types.md) which types of extensions are available for you to customize your application. + +## Use code to customize the app at a more granular level + +### Install features manually + +A manual installation is required if your packages are not discovered automatically, either because you are not using `@backstage/cli` to build your application or because the features are defined in local modules in the app package. In order to manually install a feature, you must import it and pass it to the `createApp` function: + +```tsx title="packages/app/src/App.tsx" +import { createApp } from '@backstage/frontend-app-api'; +// This plugin was create as a local module in the app +import { somePlugin } from './plugins'; + +const app = createApp({ + features: [somePlugin], +}); + +export default app.createRoot(); +``` + +:::info +You can also pass overrides to the features array, for more details, please read the [extension overrides](../architecture/05-extension-overrides.md) documentation. +::: + +### Using an async features loader + +In case you need to perform asynchronous operations before passing features to the `createApp` function, define a [feature loader](https://backstage.io/docs/reference/frontend-app-api.createappfeatureloader/) object and pass it to the `features` option: + +```tsx title="packages/app/src/App.tsx" +import { createApp } from '@backstage/frontend-app-api'; + +const app = createApp({ + features: { + getLoaderName: () => '', + // there is a reference to the config api in the options param + load: async _options => { + // returning a lazy loaded plugins and overrides array + // could be util for module federation + return import('./features').then(m => m.default); + }, + }, +}); + +export default app.createRoot(); +``` + +### Lazy load your configuration file + +In some cases we want to load our configuration from a backend server and to do so, you can pass an callback to the `configLoader` option when calling the `createApp` function, the callback should return a promise of an object with the config object: + +```tsx title="packages/app/src/App.tsx" +import { createApp } from '@backstage/frontend-app-api'; +import { getConfigFromServer } from './utils'; + +// Example lazy loading the app configuration +const app = createApp({ + // Returns Promise<{ config: ConfigApi }> + configLoader: async () => { + // Calls an async utility method that fetches the config object from the server + const config = await getConfigFromServer(); + // Feel free to manipulate the config object before returning it + // A common example is conditionally modify the config based on the running enviroment + return { config }; + }, +}); + +export default app.createRoot(); +``` diff --git a/docs/frontend-system/building-apps/02-built-in-extensions.md b/docs/frontend-system/building-apps/02-built-in-extensions.md new file mode 100644 index 0000000000..4f8417f74f --- /dev/null +++ b/docs/frontend-system/building-apps/02-built-in-extensions.md @@ -0,0 +1,190 @@ +--- +id: built-in-extensions +title: App Built-in Extensions +sidebar_label: Built-in extensions +# prettier-ignore +description: Configuring or overriding built-in extensions +--- + +Built-in extensions are default app extensions that are always installed when you create a Backstage app. + +## Disable built-in extensions + +All built-in extensions can be disabled in the same way as you disable any other extension: + +```yaml title="app-config.yaml" +extensions: + # Disabling the built-in app root alert element + - app-root-element:app/alert-display: false +``` + +:::warning +Be careful when disabling built-in extensions, as there may be other extensions depending on their existence. For example, the built-in "alert display" extension displays messages retrieved via [AlertApi](https://backstage.io/docs/reference/core-plugin-api.alertapi) and disabling this extension will cause the application to no longer display these messages unless you install another extension that displays messages from `AlertApi`. +::: + +## Override built-in extensions + +You can override any built-in extension whenever their customizations, whether through configuration or input, do not meet a use case for your Backstage instance. Check out [this](../architecture/05-extension-overrides.md) documentation on how to override application extensions. + +:::warning +Be aware there could be some implementation requirements to properly override an built-in extension, such as using same apis and do not remove inputs or configurations otherwise you can cause a side effect in other parts of the system that expects same minimal behavior. +::: + +## Default built-in extensions + +### App + +This extension is the first extension attached to the extension tree. It is responsible for receiving the application's root element and other Frontend framework inputs. + +#### Inputs + +| Name | Description | Type | Optional | Default | Extension creator | +| ------------ | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| root | The app root element. | [coreExtensionData.reactElement](https://backstage.io/docs/reference/frontend-plugin-api.coreextensiondata) | false | The [`App/Root`](#app-root) extension output. | No creator available, configure or override the [`App/Root`](#app-root) extension. | +| apis | The app apis factories. | [createApiExtension.factoryDataRef](https://backstage.io/docs/reference/frontend-plugin-api.createapiextension.factorydataref) | false | See [default apis](#default-apis-extensions). | [createApiExtension](https://backstage.io/docs/reference/frontend-plugin-api.createapiextension) | +| themes | The app themes list. | [createThemeExtension.themeDataRef](https://backstage.io/docs/reference/frontend-plugin-api.createthemeextension.themedataref) | false | See [default themes](#default-theme-extensions). | [createThemeExtension](https://backstage.io/docs/reference/frontend-plugin-api.createthemeextension) | +| components | The app components list. | [createComponentExtension.componentDataRef](https://backstage.io/docs/reference/frontend-plugin-api.createcomponentextension.componentdataref) | false | See [default components](#default-components-extensions). | [createComponentExtension](https://backstage.io/docs/reference/frontend-plugin-api.createcomponentextension) | +| translations | The app translations list. | [createTranslationExtension.translationDataRef](https://backstage.io/docs/reference/frontend-plugin-api.createtranslationextension.translationdataref) | false | - | [createTranslationExtension](https://backstage.io/docs/reference/frontend-plugin-api.createtranslationextension) | + +#### Default theme extensions + +Extensions that provides default theme inputs for the `App` extension. + +| kind | namespace | name | id | +| :---: | :-------: | :---: | :---------------: | +| theme | app | light | `theme:app/light` | +| theme | app | dark | `theme:app/dark` | + +#### Default components extensions + +Extensions that provides default components inputs for the `App` extension. + +| kind | namespace | name | id | +| :--------: | :-------: | :-----------------------------------: | :----------------------------------------------------: | +| components | app | core.components.progress | `components:app/core.components.progress` | +| components | app | core.components.notFoundErrorPage | `components:app/core.components.notFoundErrorPage` | +| components | app | core.components.errorBoundaryFallback | `components:app/core.components.errorBoundaryFallback` | + +#### Default apis extensions + +Extensions that provides default apis inputs for the `App` extension. + +| kind | namespace | name | id | +| :--: | :------------------------: | :--: | :------------------------------: | +| api | core.discovery | - | `api:core.discovery` | +| api | core.alert | - | `api:core.alert` | +| api | core.analytics | - | `api:core.analytics` | +| api | core.error | - | `api:core.error` | +| api | core.storage | - | `api:core.storage` | +| api | core.fetch | - | `api:core.fetch` | +| api | core.oauthrequest | - | `api:core.oauthrequest` | +| api | core.auth.google | - | `api:core.auth.google` | +| api | core.auth.microsoft | - | `api:core.auth.microsoft` | +| api | core.auth.github | - | `api:core.auth.github` | +| api | core.auth.okta | - | `api:core.auth.okta` | +| api | core.auth.gitlab | - | `api:core.auth.gitlab` | +| api | core.auth.onelogin | - | `api:core.auth.onelogin` | +| api | core.auth.bitbucket | - | `api:core.auth.bitbucket` | +| api | core.auth.bitbucket-server | - | `api:core.auth.bitbucket-server` | +| api | core.auth.atlassian | - | `api:core.auth.atlassian` | +| api | plugin.permission.api | - | `api:plugin.permission.api` | + +### App root + +This is the extension that creates the app root element, so it renders root level components such as app router and layout. + +#### Inputs + +| Name | Description | Requirements | Optional | Default | Extension creator | +| ---------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| router | A React component that should manager the app routes context. | It must be one [router](https://reactrouter.com/en/main/routers/picking-a-router#web-projects) component or a custom component compatible with the 'react-router' library. | true | [BrowserRouter](https://reactrouter.com/en/main/router-components/browser-router) | [createRouterExtension](https://backstage.io/docs/reference/frontend-plugin-api.createrouterextension) | +| signInPage | A React component that should render the app sign-in page. | Should call the `onSignInSuccess` prop when the user has been successfully authorized, otherwise the user will not be correctly redirected to the application home page. | true | The default `AppRoot` extension does not use a default component for this input, it bypasses the user authentication check and always renders all routes when a login page is not installed. | [createSignInPageExtension](https://backstage.io/docs/reference/frontend-plugin-api.createsigninpageextension/) | +| children | A React component that renders the app sidebar and main content in a particular layout. | - | false | The [`App/Layout`](#app-layout) extension output. | No creator available, configure or override the [`App/Layout`](#app-layout) extension. | +| elements | React elements to be rendered outside of the app layout, such as shared popups. | - | false | See [default elements](#default-app-root-elements-extensions). | [createAppRootElementExtension](https://backstage.io/docs/reference/frontend-plugin-api.createapprootelementextension/) | +| wrappers | React components that should wrap the root element. | - | true | - | [createAppRootWrapperExtension](https://backstage.io/docs/reference/frontend-plugin-api.createapprootwrapperextension/) | + +#### Default app root elements extensions + +##### Alert Display + +An app root element extension that displays messages posted via the [`AlertApi`](https://backstage.io/docs/reference/core-plugin-api.alertapi). + +| kind | namespace | name | id | +| :--------------: | :-------: | :-----------: | :----------------------------------: | +| app-root-element | app | alert-display | `app-root-element:app/alert-display` | + +###### Configurations + +| Key | Type | Default value | Description | +| -------------------- | -------------------------------------------------------------------------- | ----------------------------------------- | ----------------------------------------------------------------- | +| `transientTimeoutMs` | number | 5000 | Time in milliseconds to wait before displaying messages. | +| `anchorOrigin` | { vertical: 'top' \| 'bottom', horizontal: 'left' \| 'center' \| 'right' } | { vertical: 'top', horizontal: 'center' } | Position on the screen where the message alert will be displayed. | + +###### Override or disable the extension + +If you do not want to display alerts, disable this extension or if the available settings do not meet your needs, override this extension. + +:::warning +The built-in "alert display" extension displays messages retrieved via [AlertApi](https://backstage.io/docs/reference/core-plugin-api.alertapi) and disabling this extension will cause the application to no longer display these messages unless you install another extension that displays messages from `AlertApi`. +::: + +##### OAuth Request Dialog + +An app root element extension that renders the oauth request dialog, it is based on the [oauthRequestApi](https://backstage.io/docs/reference/core-plugin-api.oauthrequestapi/). + +| kind | namespace | name | id | +| :--------------: | :-------: | :------------------: | :-----------------------------------------: | +| app-root-element | app | oauth-request-dialog | `app-root-element:app/oauth-request-dialog` | + +### App layout + +Renders the app's sidebar and content in a specific layout. + +| kind | namespace | name | id | +| :--: | :-------: | :----: | :----------: | +| - | app | layout | `app/layout` | + +#### Inputs + +| Name | Description | Type | Optional | Default | Extension creator | +| ------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -------- | ------- | ------------------------------------ | +| nav | A React element that renders the app sidebar. | [coreExtensionData.reactElement](https://backstage.io/docs/reference/frontend-plugin-api.coreextensiondata) | false | - | Override the `App/Nav` extension. | +| content | A React element that renders the app content. | [coreExtensionData.reactElement](https://backstage.io/docs/reference/frontend-plugin-api.coreextensiondata) | false | - | Override the `App/Routes` extension. | + +### App nav + +Extension responsible for rendering the logo and items in the app's sidebar. + +| kind | namespace | name | id | +| :--: | :-------: | :--: | :-------: | +| - | app | nav | `app/nav` | + +#### Inputs + +| Name | Description | Type | Optional | Default | Extension creator | +| ----- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- | -------------------------------------------------------------------------------------------------------- | +| logos | A nav logos object. | [createNavLogoExtension.logoElementsDataRef](https://backstage.io/docs/reference/frontend-plugin-api.createnavlogoextension.logoelementsdataref) | true | - | [createNavLogoExtension](https://backstage.io/docs/reference/frontend-plugin-api.createnavlogoextension) | +| items | Nav items target objects. | [createNavItemExtension.targetDataRef](https://backstage.io/docs/reference/frontend-plugin-api.createnavitemextension.targetdataref) | true | - | [createNavItemExtension](https://backstage.io/docs/reference/frontend-plugin-api.createnavitemextension) | + +### App routes + +Renders a route element for each route received as input and a `NotFoundErrorPage` component. + +| kind | namespace | name | id | +| :--: | :-------: | :----: | :----------: | +| - | app | routes | `app/routes` | + +#### Caveats + +Be careful when overriding this extension, as to do so correctly you must consider these implementation requirements: + +- The routing system is managed by more than one extension, and they all use `react-router` behind the scenes. There are also some utilities that are based on the same `routing` library like `useRouteRefParams`. Therefore, you cannot use a different library without causing side effects in these other extensions and helper utilities; +- Don't remove configs or inputs, just extend these things yourself with optional new options, otherwise it will cause breaking changes for extensions like `createPageExtension` that depend on this type of inputs; +- Remember to user the route refs for getting paths dynamically, otherwise if an adopter modifies a path through configuration, the route is not going to point to the configured path; +- Adopters expect to be able to customize the `NotFoundErrorPage` component via Components API, you should render this component for routes not configured. + +#### Inputs + +| Name | Description | Type | Optional | Default | Extension creator | +| ------ | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------------- | +| routes | The route objects list. | `{ path: coreExtensionData.routePath, ref: coreExtensionData.routeRef.optional(), element: coreExtensionData.reactElement }` | false | - | [createPageExtension](https://backstage.io/docs/reference/frontend-plugin-api.createpageextension) | diff --git a/docs/frontend-system/building-plugins/04-built-in-data-refs.md b/docs/frontend-system/building-plugins/04-built-in-data-refs.md new file mode 100644 index 0000000000..dacbbf30f1 --- /dev/null +++ b/docs/frontend-system/building-plugins/04-built-in-data-refs.md @@ -0,0 +1,61 @@ +--- +id: built-in-data-refs +title: Built-in data refs +sidebar_label: Built-in data refs +# prettier-ignore +description: Configuring or overriding built-in extension data references +--- + +> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** + +To have a better understanding of extension data references please read [the corresponding architecture section](../architecture/03-extensions.md#extension-data) first. + +## Built-in extension data references + +Data references help to define the inputs and outputs of an extension. A data ref is uniquely identified through its `id`. Through the data ref, strong typing is enforced for the input/output of the extension. + +### `reactElement` + +| id | type | +| :-----------------: | :-----------: | +| `core.reactElement` | `JSX.Element` | + +The `reactElement` data reference can be used for defining the extension input/output of React elements. Example usage could be something like this: + +```tsx +import { + coreExtensionData, + createExtensionInput, + createPageExtension, +} from '@backstage/frontend-plugin-api'; + +const homePage = createPageExtension({ + defaultPath: '/home', + routeRef: rootRouteRef, + inputs: { + props: createExtensionInput({ + children: coreExtensionData.reactElement.optional(), + }), + }, +}); +``` + +### `routePath` + +| id | type | +| :-----------------: | :------: | +| `core.routing.path` | `string` | + +The `routePath` data reference can be used for defining the extension input/output of string paths. + +### `routeRef` + +| id | type | +| :----------------: | :--------: | +| `core.routing.ref` | `RouteRef` | + +The `routeRef` data reference can be used for defining the extension input/output of route references. + +### Other data references + +There are other data refs in the frontend system you might stumble upon while building your plugin. Most of them were created for use cases inside the core of the system, but they can be used also in your plugin. diff --git a/docs/frontend-system/building-plugins/05-migrating.md b/docs/frontend-system/building-plugins/05-migrating.md new file mode 100644 index 0000000000..16f465ece7 --- /dev/null +++ b/docs/frontend-system/building-plugins/05-migrating.md @@ -0,0 +1,225 @@ +--- +id: migrating +title: Migrating Plugins +sidebar_label: Migration Guide +# prettier-ignore +description: How to migrate an existing frontend plugin to the new frontend system +--- + +This guide allows you to migrate a frontend plugin and its own components, routes, apis to the new frontend system. + +The main concept is that routes, components, apis are now extensions. You can use the appropriate extension creators to migrate all of them to extensions. + +## Migrating the plugin + +In the legacy frontend system a plugin was defined in its own `plugin.ts` file as following: + +```ts title="my-plugin/src/plugin.ts" + import { createPlugin } from '@backstage/core-plugin-api'; + + export const myPlugin = createPlugin({ + id: 'my-plugin', + apis: [], + routes: { + ... + }, + externalRoutes: { + ... + }, + }); +``` + +In order to migrate the actual definition of the plugin you need to recreate the plugin using the new `createPlugin` utility exported by `@backstage/frontend-plugin-api`. +The new `createPlugin` function doesn't accept apis anymore as apis are now extensions. + +```ts title="my-plugin/src/alpha.ts" + import { createPlugin } from '@backstage/frontend-plugin-api'; + + export default createPlugin({ + id: 'my-plugin', + // bind all the extensions to the plugin + /* highlight-next-line */ + extensions: [], + // convert old route refs to the new system + /* highlight-next-line */ + routes: convertLegacyRouteRefs({ + ... + }), + /* highlight-next-line */ + externalRoutes: convertLegacyRouteRefs({ + ... + }), + }); +``` + +The code above binds all the extensions to the plugin. _Important_: Make sure to export the plugin as default export of your package as a separate entrypoint, preferably `/alpha`, as suggested by the code snippet above. Make sure `src/alpha.ts` is exported in your `package.json`: + +```ts title="my-plugin/package.json" + "exports": { + ".": "./src/index.ts", + /* highlight-add-next-line */ + "./alpha": "./src/alpha.ts", + "./package.json": "./package.json" + }, + "typesVersions": { + "*": { + /* highlight-add-start */ + "alpha": [ + "src/alpha.ts" + ], + /* highlight-add-end */ + "package.json": [ + "package.json" + ] + } + }, +``` + +## Migrating Pages + +Pages that were previously created using the `createRoutableExtension` extension function can be migrated to the new Frontend System using the `createPageExtension` extension creator, exported by `@backstage/frontend-plugin-api`. + +For example, given the following page: + +```ts +export const FooPage = fooPlugin.provide( + createRoutableExtension({ + name: 'FooPage', + component: () => import('./components').then(m => m.FooPage), + mountPoint: rootRouteRef, + }), +); +``` + +it can be migrated as the following: + +```tsx +import { createPageExtension } from '@backstage/frontend-plugin-api'; +import { + compatWrapper, + convertLegacyRouteRef, +} from '@backstage/core-compat-api'; + +const fooPage = createPageExtension({ + defaultPath: '/foo', + // you can reuse the existing routeRef + // by wrapping into the convertLegacyRouteRef. + routeRef: convertLegacyRouteRef(rootRouteRef), + // these inputs usually match the props required by the component. + loader: ({ inputs }) => + import('./components/').then(m => + // The compatWrapper utility allows you to use the existing + // legacy frontend utilities used internally by the components. + compatWrapper(), + ), +}); +``` + +then add the `fooPage` extension to the plugin: + +```ts title="my-plugin/src/alpha.ts" + import { createPlugin } from '@backstage/frontend-plugin-api'; + + export default createPlugin({ + id: 'my-plugin', + // bind all the extensions to the plugin + /* highlight-remove-next-line */ + extensions: [], + /* highlight-add-next-line */ + extensions: [fooPage], + ... + }); +``` + +## Migrating Components + +The equivalent utility to replace components created with `createComponentExtension` is `createExtension` from `@backstage/frontend-plugin-api`. However, we recommend searching for a more appropriate extension creator first. + +## Migrating APIs + +There are a few things to keep in mind in regards to utility APIs. + +### React package interface and ref changes + +Let's begin with [your `-react` package](../../architecture-decisions/adr011-plugin-package-structure.md). The act of exporting TypeScript interfaces and API refs have not changed from the old system. You can typically keep those as-is. For illustrative purposes, this is an example of an interface and its API ref: + +```tsx title="in @internal/plugin-example-react" +import { createApiRef } from '@backstage/frontend-plugin-api'; + +/** + * Performs some work. + * @public + */ +export interface WorkApi { + doWork(): Promise; +} + +/** + * The work interface for the Example plugin. + * @public + */ +export const workApiRef = createApiRef({ + id: 'plugin.example.work', +}); +``` + +Note at the top of the file that it uses the updated import from `@backstage/frontend-plugin-api` that we migrated in the previous section, instead of the old `@backstage/core-plugin-api`. + +Now let's migrate the implementation of the api. Before we changed the `core-plugin-api` imports the api would have looked somewhat similar to the following: + +```tsx title="in @internal/plugin-example, NOTE THIS IS LEGACY CODE" +import { storageApiRef, createApiFactory } from '@backstage/core-plugin-api'; +import { workApiRef } from '@internal/plugin-example-react'; +import { WorkImpl } from './WorkImpl'; + +const exampleWorkApi = createApiFactory({ + api: workApiRef, + deps: { storageApi: storageApiRef }, + factory: ({ storageApi }) => new WorkImpl({ storageApi }), +}); +``` + +The major changes we'll make are + +- Change the old `@backstage/core-plugin-api` imports to the new `@backstage/frontend-plugin-api` package as per the top section of this guide +- Wrap the existing API factory in a `createApiExtension` + +The end result, after simplifying imports and cleaning up a bit, might look like this: + +```tsx title="in @internal/plugin-example" +import { + storageApiRef, + createApiFactory, + createApiExtension, +} from '@backstage/frontend-plugin-api'; +import { workApiRef } from '@internal/plugin-example-react'; +import { WorkImpl } from './WorkImpl'; + +const exampleWorkApi = createApiExtension({ + factory: createApiFactory({ + api: workApiRef, + deps: { storageApi: storageApiRef }, + factory: ({ storageApi }) => new WorkImpl({ storageApi }), + }), +}); +``` + +Finally, let's add the `exampleWorkApi` extension to the plugin: + +```ts title="my-plugin/src/alpha.ts" + import { createPlugin } from '@backstage/frontend-plugin-api'; + + export default createPlugin({ + id: 'my-plugin', + // bind all the extensions to the plugin + /* highlight-remove-next-line */ + extensions: [fooPage], + /* highlight-add-next-line */ + extensions: [exampleWorkApi, fooPage], + ... + }); +``` + +### Further work + +Since utility APIs are now complete extensions, you may want to take a bigger look at how they used to be used, and what the new frontend system offers. You may for example consider [adding configurability or inputs](../utility-apis/02-creating.md) to your API, if that makes sense for your current application. diff --git a/docs/frontend-system/utility-apis/01-index.md b/docs/frontend-system/utility-apis/01-index.md index 2d0f0a9698..37120a5152 100644 --- a/docs/frontend-system/utility-apis/01-index.md +++ b/docs/frontend-system/utility-apis/01-index.md @@ -40,4 +40,4 @@ These cases are all described in [the main article](./04-configuring.md). ## Migrating from the old frontend system -If you want to learn how to migrate your own utility APIs from the old frontend system to the new one, that's described in [a dedicated migration guide](./05-migrating.md). +If you want to learn how to migrate your own utility APIs from the old frontend system to the new one, that's described in the [Migrating APIs guide](../building-plugins/05-migrating.md#migrating-apis). diff --git a/docs/frontend-system/utility-apis/02-creating.md b/docs/frontend-system/utility-apis/02-creating.md index 8935b31b75..fcb7ff1a65 100644 --- a/docs/frontend-system/utility-apis/02-creating.md +++ b/docs/frontend-system/utility-apis/02-creating.md @@ -8,7 +8,7 @@ description: Creating new utility APIs in your plugins and app > **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** -This section describes how to make a Utility API from scratch, or to add configurability and inputs to an existing one. If you are instead interested in migrating an existing Utility API from the old frontend system, check out [the migrating section](./05-migrating.md). +This section describes how to make a Utility API from scratch, or to add configurability and inputs to an existing one. If you are instead interested in migrating an existing Utility API from the old frontend system, check out the [Migrating APIs section](../building-plugins/05-migrating.md#migrating-apis). ## Creating the Utility API contract diff --git a/docs/frontend-system/utility-apis/05-migrating.md b/docs/frontend-system/utility-apis/05-migrating.md deleted file mode 100644 index a81dc796ac..0000000000 --- a/docs/frontend-system/utility-apis/05-migrating.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -id: migrating -title: Migrating Utility APIs from the old frontend system -sidebar_label: Migrating -# prettier-ignore -description: Migrating Utility APIs from the old frontend system ---- - -> **NOTE: The new frontend system is in alpha and is only supported by a small number of plugins.** - -If you are migrating your plugins or app over from the old frontend system, there are a few things to keep in mind in regards to utility APIs. - -## Overview - -- Migrate your repo overall to the latest release of Backstage -- Follow the plugin migration guide -- Optionally change your package dependencies and code from `core-*-api` to `frontend-*-api` -- Keep the TypeScript interface and API ref exported as they were, except possibly reconsidering the choice of ID of the latter -- Wrap the old API factory call in an extension using `createApiExtension` -- Make sure that this extension is referenced by your migrated plugin - -## Prerequisites - -This guide assumes that you first [upgrade your repo](../../getting-started/keeping-backstage-updated.md) to the latest release of Backstage. This ensures that you do not have to fight several types of incompatibilities and updates at the same time. - -## Dependency changes - -In this article we will discuss some old interfaces that you used to import from the `@backstage/core-plugin-api` package. Those are now generally lifted over to `@backstage/frontend-plugin-api`, next to the new interfaces that are specific to the new frontend system. If you want to, you can already update your `package.json` and code imports to only use the new plugin API, but for the time being you don't have to. The old core exports will continue to work for the foreseeable future. - -To at least get access to the new interfaces, you'll need to run the following command. Note that it's just an example! It refers to `plugins/example`, which you'll have to change to the actual folder name that your package to migrate is in. - -```bash title="from your repo root" -yarn --cwd plugins/example add @backstage/frontend-plugin-api -``` - -## React package interface and ref changes - -Let's begin with [your `-react` package](../../architecture-decisions/adr011-plugin-package-structure.md). The act of exporting TypeScript interfaces and API refs have not changed from the old system. You can typically keep those as-is. For illustrative purposes, this is an example of an interface and its API ref: - -```tsx title="in @internal/plugin-example-react" -import { createApiRef } from '@backstage/frontend-plugin-api'; - -/** - * Performs some work. - * @public - */ -export interface WorkApi { - doWork(): Promise; -} - -/** - * The work interface for the Example plugin. - * @public - */ -export const workApiRef = createApiRef({ - id: 'plugin.example.work', -}); -``` - -In this example, the plugin ID already follows the common naming convention. If it doesn't, you may want to consider renaming that ID at this point. Don't worry, this won't hurt consumers in the old frontend system since the ID is mostly used for debugging purposes there. In the new system, it's much more important and appears in app-config files and similar. - -Note at the top of the file that it uses the updated import from `@backstage/frontend-plugin-api` that we migrated in the previous section, instead of the old `@backstage/core-plugin-api`. - -## Plugin package changes - -Now let's turn to the main plugin package where the plugin itself is exported. You will probably already have a `createPlugin` call in here. Before we changed the `core-plugin-api` imports it'll have looked somewhat similar to the following: - -```tsx title="in @internal/plugin-example, NOTE THIS IS LEGACY CODE" -import { - storageApiRef, - createPlugin, - createApiFactory, -} from '@backstage/core-plugin-api'; -import { workApiRef } from '@internal/plugin-example-react'; -import { WorkImpl } from './WorkImpl'; - -const exampleWorkApi = createApiFactory({ - api: workApiRef, - deps: { storageApi: storageApiRef }, - factory: ({ storageApi }) => new WorkImpl({ storageApi }), -}); - -/** @public */ -export const catalogPlugin = createPlugin({ - id: 'example', - apis: [exampleWorkApi], -}); -``` - -The major changes we'll make are - -- Optionally change the old imports to the new package as per the top section of this guide -- Wrap the existing API factory in a `createApiExtension` -- Change to the new version of `createPlugin` which exports this extension -- Change the plugin export to be the default instead - -The end result, after simplifying imports and cleaning up a bit, might look like this: - -```tsx title="in @internal/plugin-example" -import { - storageApiRef, - createPlugin, - createApiFactory, - createApiExtension, -} from '@backstage/frontend-plugin-api'; -import { workApiRef } from '@internal/plugin-example-react'; -import { WorkImpl } from './WorkImpl'; - -const exampleWorkApi = createApiExtension({ - factory: createApiFactory({ - api: workApiRef, - deps: { storageApi: storageApiRef }, - factory: ({ storageApi }) => new WorkImpl({ storageApi }), - }), -}); - -/** @public */ -export default createPlugin({ - id: 'example', - extensions: [exampleWorkApi], -}); -``` - -## Further work - -Since utility APIs are now complete extensions, you may want to take a bigger look at how they used to be used, and what the new frontend system offers. You may for example consider [adding configurability or inputs](./02-creating.md) to your API, if that makes sense for your current application. diff --git a/docs/integrations/azure/discovery.md b/docs/integrations/azure/discovery.md index 742fbb6076..7fbba5228d 100644 --- a/docs/integrations/azure/discovery.md +++ b/docs/integrations/azure/discovery.md @@ -93,6 +93,8 @@ _Note:_ 5. In the window that appears, enter the name of the branch you want to add and click "Add". 6. The added branch will now appear in the "Searchable branches" list. +It may take some time before the branch is indexed and searchable. + As this provider is not one of the default providers, you will first need to install the Azure catalog plugin: @@ -160,11 +162,14 @@ catalog: # Or use a custom file format and location - type: azure-discovery target: https://dev.azure.com/myorg/myproject/_git/*?path=/src/*/catalog-info.yaml + # And optionally provide a specific branch name using the version parameter + - type: azure-discovery + target: https://dev.azure.com/myorg/myproject/_git/*?path=/catalog-info.yaml&version=GBtopic/catalog-info ``` Note the `azure-discovery` type, as this is not a regular `url` processor. -When using a custom pattern, the target is composed of five parts: +When using a custom pattern, the target is composed of these parts: - The base instance URL, `https://dev.azure.com` in this case - The organization name which is required, `myorg` in this case @@ -175,3 +180,4 @@ When using a custom pattern, the target is composed of five parts: - The path within each repository to find the catalog YAML file. This will usually be `/catalog-info.yaml`, `/src/*/catalog-info.yaml` or a similar variation for catalog files stored in the root directory of each repository. +- The repository branch to scan which is optional, `topic/catalog-info` in this case. If omitted, the repo's default branch will be scanned. The `GB` prefix is required, as this is how Azure DevOps identifies the version as a branch. diff --git a/docs/plugins/new-backend-system.md b/docs/plugins/new-backend-system.md index 0fc44f283f..08ed7e73c7 100644 --- a/docs/plugins/new-backend-system.md +++ b/docs/plugins/new-backend-system.md @@ -26,7 +26,7 @@ const backend = createBackend(); backend.add(import('@backstage/plugin-catalog-backend')); // Start up the backend -await backend.start(); +backend.start(); ``` One notable change that helped achieve this much slimmer backend setup is the introduction of a system for dependency injection, which is very similar to the one in the Backstage frontend. diff --git a/docs/releases/v1.23.0-changelog.md b/docs/releases/v1.23.0-changelog.md new file mode 100644 index 0000000000..ef87a5955a --- /dev/null +++ b/docs/releases/v1.23.0-changelog.md @@ -0,0 +1,4531 @@ +# Release v1.23.0 + +## @backstage/app-defaults@1.5.0 + +### Minor Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs + +### Patch Changes + +- f899eec: Change default icon for `kind:resource` to the storage icon. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 7da67ce: Change `defaultScopes` for Bitbucket auth from invalid `team` to `account`. +- 214f2da: Fix invalid HTTP status code 501 in Error Page +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-app-api@1.12.0 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-permission-react@0.4.20 + +## @backstage/backend-common@0.21.0 + +### Minor Changes + +- bbe374e: **BREAKING**: `A gitilesBaseUrl` must be provided for the Gerrit integration to work. + You can disable this check by setting `DISABLE_GERRIT_GITILES_REQUIREMENT=1` but + this will be removed in a future release. If you are not able to use the Gitiles + Gerrit plugin, please open an issue towards `https://github.com/backstage/backstage` +- e85aa98: drop databases after unit tests if the database instance is not running in docker + +### Patch Changes + +- 6707216: Added a new `LegacyRootDatabaseService` interface that can be used to avoid direct dependencies on the `DatabaseManager`. +- 842171a: Fix a bug with S3 Fetch that caused all objects to be flattened within a single folder on the local file system. +- 3489d05: `FetchUrlReader#readUrl()` now supports passing an optional `token` to authenticate requests. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- ece5a8f: Add a User-Agent header for calls towards Google Cloud Storage. +- 1f020fe: Support `token` in `readTree`, `readUrl` and `search` +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- d2e3ab9: Updated dependency `dockerode` to `^4.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- e27b7f3: Fix rate limit detection by looking for HTTP status code 429 and updating the header `x-ratelimit-remaining` to look for in case of a 403 code is returned +- 7fb7a79: Add a config declaration for `workingDirectory` +- Updated dependencies + - @backstage/backend-app-api@0.5.11 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-dev-utils@0.1.4 + - @backstage/integration-aws-node@0.1.9 + - @backstage/integration@1.9.0 + - @backstage/config-loader@1.6.2 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-dynamic-feature-service@0.2.0 + +### Minor Changes + +- d7adbbf: Implement the discovery of additional individual configuration schemas for dynamic plugins, and provide: + + - an alternate implementation of the root logger service that takes them into account, + - an extension to the App backend plugin to set a global configuration schema that takes them into account. + +### Patch Changes + +- 8723c5a: Fix wrong `alpha` support in dynamic plugins support: the `alpha` sub-package should not be required for the dynamic plugins to be loaded under the new backend system. +- 8472188: Added or fixed the `repository` field in `package.json`. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/cli-node@0.2.3 + - @backstage/backend-app-api@0.5.11 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-catalog-backend@1.17.0 + - @backstage/backend-tasks@0.5.15 + - @backstage/plugin-events-backend@0.2.19 + - @backstage/config-loader@1.6.2 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/plugin-app-node@0.1.10 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.19 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/backend-test-utils@0.3.0 + +### Minor Changes + +- e85aa98: drop databases after unit tests if the database instance is not running in docker + +### Patch Changes + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-app-api@0.5.11 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/catalog-client@1.6.0 + +### Minor Changes + +- 43dad25: Add API to get location by entity +- 04907c3: Updates the OpenAPI specification title to plugin ID instead of package name. + +### Patch Changes + +- c04c42b: Internal updates to auto-generated files. +- Updated dependencies + - @backstage/catalog-model@1.4.4 + - @backstage/errors@1.2.3 + +## @backstage/core-app-api@1.12.0 + +### Minor Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 7da67ce: Change `defaultScopes` for Bitbucket auth from invalid `team` to `account`. +- Updated dependencies + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-compat-api@0.2.0 + +### Minor Changes + +- e586f79: Add support to the new analytics api. + +### Patch Changes + +- 1fa5041: The backwards compatibility provider will now use the new `ComponentsApi` and `IconsApi` when implementing the old `AppContext`. +- edfd3a5: Updated dependency `@oriflame/backstage-plugin-score-card` to `^0.8.0`. +- bc621aa: Updates to use the new `RouteResolutionsApi`. +- 7155c30: Added `convertLegacyRouteRefs` for bulk conversion of plugin routes. +- 46b63de: Allow external route refs in the new system to have a `defaultTarget` pointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter. +- 2f2a1d2: Plugins converted by `convertLegacyApp` now have their `routes` and `externalRoutes` included as well, allowing them to be used to bind external routes in configuration. +- 1184990: collectLegacyRoutes throws in case invalid element is found +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-app-api@1.12.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-components@0.14.0 + +### Minor Changes + +- 281e8c6: **BREAKING**: Removed the `SidebarIntro` component as it was providing instructions for features that do not exist, along with `IntroCard`. If you were relying on this component and want to keep using it you can refer to the original implementations of [`SidebarIntro`](https://github.com/backstage/backstage/blob/80f2413334ed9b221ec3c2b7c22fa737ad8d8885/packages/core-components/src/layout/Sidebar/Intro.tsx#L149) and [`IntroCard`](https://github.com/backstage/backstage/blob/80f2413334ed9b221ec3c2b7c22fa737ad8d8885/packages/core-components/src/layout/Sidebar/Intro.tsx#L100). + +### Patch Changes + +- 3e1c6e2: Added possibility to show arrow heads for graph edges for better understandability. + + In order to show arrow heads in the catalog graph page, add `showArrowHeads` attribute to `CatalogGraphPage` component + (typically in `packages/app/src/App.tsx`): + + ```diff + - + + + ``` + + In order to show arrow heads in entity graphs, add `showArrowHeads` attribute to `EntityCatalogGraphCard` components + (typically multiple occurrences in `packages/app/src/components/catalog/EntityPage.tsx`): + + ```diff + - + + + ``` + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs + +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. + +- 214f2da: Fix invalid HTTP status code 501 in Error Page + +- Updated dependencies + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-plugin-api@1.9.0 + +### Minor Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- e586f79: Throw a more specific exception `NotImplementedError` when an API implementation cannot be found. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-app-api@0.6.0 + +### Minor Changes + +- bdf4a8e: **BREAKING**: Removed the experimental `createExtensionTree` API. +- 86346c2: **BREAKING**: The `app.routes.bindings` app-config mapping has been simplified. You now only need to specify the plugin ID and route ID on both sides of the mapping. + + Old form: + + ```yaml + app: + routes: + bindings: + plugin.catalog.externalRoutes.viewTechDoc: plugin.techdocs.routes.docRoot + plugin.catalog.externalRoutes.createComponent: plugin.catalog-import.routes.importPage + ``` + + New form: + + ```yaml + app: + routes: + bindings: + catalog.viewTechDoc: techdocs.docRoot + catalog.createComponent: catalog-import.importPage + ``` + +### Patch Changes + +- 42ebf27: Added `IconsApi` implementation and the ability to configure icons through the `icons` option for `createApp` and `createSpecializedApp`. This is not a long-term solution as icons should be installable via extensions instead. This is just a stop-gap to make sure there is feature parity with the existing frontend system. +- bc621aa: Updates to use the new `RouteResolutionsApi`. +- e586f79: Wrap the root element with the analytics context to ensure it always exists for all extensions. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 8472188: Added or fixed the `repository` field in `package.json`. +- e0a4dd1: Improved the error message when data input/output shapes do not match +- fb9b5e7: The default `ComponentsApi` implementation now uses the `ComponentRef` ID as the component key, rather than the reference instance. This fixes a bug where duplicate installations of `@backstage/frontend-plugin-api` would break the app. +- 46b63de: Allow external route refs in the new system to have a `defaultTarget` pointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + - @backstage/core-app-api@1.12.0 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-plugin-api@0.6.0 + +### Minor Changes + +- e586f79: **BREAKING**: Replace default plugin extension and plugin ids to be `app` instead of `root`. + +### Patch Changes + +- 7eae3e0: Added initial `IconsApi` definition. +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- bc621aa: Added `RouteResolutionsApi` as a replacement for the routing context. +- 1e61ad3: App component extensions are no longer wrapped in an `ExtensionBoundary`, allowing them to inherit the outer context instead. +- 46b63de: Allow external route refs in the new system to have a `defaultTarget` pointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/integration@1.9.0 + +### Minor Changes + +- e27b7f3: Fix rate limit detection by looking for HTTP status code 429 and updating the header `x-ratelimit-remaining` to look for in case of a 403 code is returned + +### Patch Changes + +- 6d898f7: All single-line secrets read from config will now have both leading and trailing whitespace trimmed. This is done to ensure that the secrets are always valid HTTP header values, since many fetch implementations will include the header value itself when an error is thrown due to invalid header values. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- 2d0e7cd: Validate if the `baseUrl` is a valid URL +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/repo-tools@0.6.0 + +### Minor Changes + +- 04907c3: Updates the OpenAPI client template to support the new format for identifying plugin ID. You should now use `info.title` like so, + + ```diff + info: + + title: yourPluginId + - title: @internal/plugin-*-backend + + servers: + - / + - - yourPluginId + ``` + +- b10c603: Add support for `oneOf` in client generated by `schema openapi generate-client`. + +- 4c62935: **BREAKING**: The `schema openapi *` commands are now renamed into `package schema openapi *` and `repo schema openapi *`. The aim is to make it more clear what the command is operating on, the entire repo or just a single package. + + The following commands now live under the `package` namespace, + + - `schema openapi generate` is now `package schema openapi generate --server` + - `schema openapi generate-client` is now `package schema openapi generate --client-package` + - `schema openapi init` is now `package schema openapi init` + + And these commands live under the new `repo` namespace, + + - `schema openapi lint` is now `repo schema openapi lint` + - `schema openapi test` is now `repo schema openapi test` + - `schema openapi verify` is now `repo schema openapi verify` + + The `package schema openapi generate` now supports defining both `--server` and `--client-package` to generate both at once.This update also reworks the `--client-package` flag to accept only an output directory as the input directory can now be inferred. + +### Patch Changes + +- aa91cd6: Resolved an issue with generate-catalog-info where it was replacing upper case characters with -. +- 60a68f1: Introduced `knip` to the `knip-reports` command, which generates a `knip-report.md` file for your packages with dependency warnings, if any. +- ec16093: Add an internal limiter on concurrency when launching processes +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- 6ba64c4: Updated dependency `commander` to `^12.0.0`. +- c04c42b: Fixes an issue where comments would be duplicated in the template. Also, removes a header with the title and version of the OpenAPI spec from generated code. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/cli-node@0.2.3 + - @backstage/catalog-model@1.4.4 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## @backstage/test-utils@1.5.0 + +### Minor Changes + +- bb40898: Added `components` option to `TestAppOptions`, which will be forwarded as the `components` option to `createApp`. + +### Patch Changes + +- 07e7d12: Fix wording in API reference +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 7da67ce: Change `defaultScopes` for Bitbucket auth from invalid `team` to `account`. +- Updated dependencies + - @backstage/core-app-api@1.12.0 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-analytics-module-ga@0.2.0 + +### Minor Changes + +- e586f79: Add support to the new analytics api. + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-analytics-module-ga4@0.2.0 + +### Minor Changes + +- e586f79: Add support to the new analytics api. + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-analytics-module-newrelic-browser@0.1.0 + +### Minor Changes + +- e586f79: Add support to the new analytics api. + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-api-docs@0.11.0 + +### Minor Changes + +- 172a717: Migrate the `api-docs` to the new frontend system. It is experimental and available via alpha subpath. + +### Patch Changes + +- 874e8cf: Updated README to list AsyncApi v3 as supported +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 170c023: Adding `supportedSubmitMethods` prop to `api-docs` to pass to the Swagger UI. This allows users to specify which HTTP methods they wish to allow end-users to make requests through the `Try It Out` button on the Swagger UI. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- c03f977: Updated dependency `graphiql` to `3.1.0`. +- 49b3b5e: Updated dependency `@asyncapi/react-component` to `1.2.13`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/plugin-catalog@1.17.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-auth-backend@0.21.0 + +### Minor Changes + +- 7dd8463: **BREAKING**: The `saml` provider has been migrated from `passport-saml` to `@node-saml/passport-saml`. + + This comes with breaking changes to config options: + + - `audience` is now mandatory + - `wantAuthnResponseSigned` is now exposed and defaults to `true` + - `wantAssertionsSigned` is now exposed and defaults to `true` + +### Patch Changes + +- 97f8724: Support additional algorithms in the `/.well-known/openid-configuration` endpoint. +- a3f1fa3: Use the externalized `auth-backend-module-microsoft-provider` again. +- a9e0107: The auth backend will now refuse to issue user tokens are excessively large. +- 5d2fcba: Migrated oidc auth provider to new `@backstage/plugin-auth-backend-module-oidc-provider` module package. +- d4cc552: The helper function `makeProfileInfo` and `PassportHelpers.transformProfile` + were refactored to use the `jose` library. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- 23a98f8: Migrated the AWS ALB auth provider to new `@backstage/plugin-auth-backend-module-aws-alb-provider` module package. +- f5e04e3: Internal refactor to no longer use deprecated types +- 8321c97: Added `experimentalExtraAllowedOrigins` to config +- 8e8a25d: Ability for user to configure backstage token expiration +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.3 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/plugin-auth-backend-module-oidc-provider@0.1.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.0 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.2 + - @backstage/plugin-auth-backend-module-atlassian-provider@0.1.2 + - @backstage/plugin-auth-backend-module-microsoft-provider@0.1.5 + - @backstage/plugin-auth-backend-module-github-provider@0.1.7 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.7 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.7 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-auth-backend-module-google-provider@0.1.7 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.4 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.0 + +### Minor Changes + +- 23a98f8: Migrated the AWS ALB auth provider to new `@backstage/plugin-auth-backend-module-aws-alb-provider` module package. + +### Patch Changes + +- d309cad: Refactored to use the `jose` library for JWT handling. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-backend@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/errors@1.2.3 + +## @backstage/plugin-auth-backend-module-oidc-provider@0.1.0 + +### Minor Changes + +- 5d2fcba: Created new `@backstage/plugin-auth-backend-module-oidc-provider` module package to house oidc auth provider migration. + +### Patch Changes + +- e471890: Fixed a bug where the OIDC authenticator did not properly persist granted OAuth scopes. +- 8472188: Added or fixed the `repository` field in `package.json`. +- 8afb6f4: Updated dependency `passport` to `^0.7.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-backend@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-azure-sites-backend@0.2.0 + +### Minor Changes + +- 28610f4: **BREAKING**: `catalogApi` and `permissionsApi` are now a requirement to be passed through to the `createRouter` function. + + You can fix the typescript issues by passing through the required dependencies like the below `diff` shows: + + ```diff + import { + createRouter, + AzureSitesApi, + } from '@backstage/plugin-azure-sites-backend'; + import { Router } from 'express'; + import { PluginEnvironment } from '../types'; + + export default async function createPlugin( + env: PluginEnvironment, + ): Promise { + + const catalogClient = new CatalogClient({ + + discoveryApi: env.discovery, + + }); + + return await createRouter({ + logger: env.logger, + azureSitesApi: AzureSitesApi.fromConfig(env.config), + + catalogApi: catalogClient, + + permissionsApi: env.permissions, + }); + } + ``` + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 4376655: Added `permissionIntegrationRouter` for azure-sites-backend routes + +- 5a409bb: Azure Sites `start` and `stop` action is now protected with the Permissions framework. + + The below example describes an action that forbids anyone but the owner of the catalog entity to trigger actions towards a site tied to an entity. + + ```typescript + // packages/backend/src/plugins/permission.ts + import { azureSitesActionPermission } from '@backstage/plugin-azure-sites-common'; + ... + class TestPermissionPolicy implements PermissionPolicy { + async handle(request: PolicyQuery, user?: BackstageIdentityResponse): Promise { + if (isPermission(request.permission, azureSitesActionPermission)) { + return createCatalogConditionalDecision( + request.permission, + catalogConditions.isEntityOwner({ + claims: user?.identity.ownershipEntityRefs ?? [], + }), + ); + } + ... + return { + result: AuthorizeResult.ALLOW, + }; + } + ... + } + ``` + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-azure-sites-common@0.1.2 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog@1.17.0 + +### Minor Changes + +- d208a93: Updated the paginated catalog table to support server side text filtering. +- 1f8c2fa: Add entity warning components to the default entity overview page. +- e541c0e: Exported `CatalogTable.defaultColumnsFunc` for defining the columns in `` of some Kinds while using the default columns for the others. + +### Patch Changes + +- 916da47: Change default icon for unknown entities to nothing instead of the help icon. +- f899eec: Change default icon for `kind:resource` to the storage icon. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 912ca7b: Use `convertLegacyRouteRefs` to define routes in `/alpha` export plugin. +- 797a329: Fixed inconsistencies in icons used for System and Template +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 987f565: Add line clamping to `CatalogSearchResultListItem` +- 172a717: Fix entity content extension filtering. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-search-react@1.7.6 + - @backstage/plugin-scaffolder-common@1.5.0 + - @backstage/errors@1.2.3 + - @backstage/integration-react@1.1.24 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-catalog-backend@1.17.0 + +### Minor Changes + +- 43dad25: Add API to get location by entity +- 126c2f9: Updates the OpenAPI spec to use plugin as `info.title` instead of package name. +- 04907c3: Updates the OpenAPI specification title to plugin ID instead of package name. +- d8a54d0: Adds support for supplying field validators to the new backend's catalog plugin. If you're using entity policies, you should use the new `transformLegacyPolicyToProcessor` function to install them as processors instead. + + ```ts + import { + catalogProcessingExtensionPoint, + catalogModelExtensionPoint, + } from '@backstage/plugin-catalog-node/alpha'; + import {myPolicy} from './my-policy'; + + export const catalogModulePolicyProvider = createBackendModule({ + pluginId: 'catalog', + moduleId: 'internal-policy-provider', + register(reg) { + reg.registerInit({ + deps: { + modelExtensions: catalogModelExtensionPoint, + processingExtensions: catalogProcessingExtensionPoint, + }, + async init({ modelExtensions, processingExtensions }) { + modelExtensions.setFieldValidators({ + ... + }); + processingExtensions.addProcessors(transformLegacyPolicyToProcessor(myPolicy)) + }, + }); + }, + }); + ``` + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 89b674c: Minor performance improvement for `queryEntities` when the limit is 0. + +- 81e19b1: Replace uses of deprecated types with replacements internally. + +- efa8160: Rollback the change for wildcard discovery, this fixes a bug with the `AzureUrlReader` not working with wildcard paths + +- d208a93: Fixed a bug where `fullTextFilter` wasn't preserved correctly in the cursor. + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. + +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. + +- 0a395b3: Upgraded `prom-client` to version 15 + +- 9b2eb3f: Add support for `onProcessingError` handler at the catalog plugin (new backend system). + + You can use `setOnProcessingErrorHandler` at the `catalogProcessingExtensionPoint` + as replacement for + + ```ts + catalogBuilder.subscribe({ + onProcessingError: hander, + }); + ``` + +- Updated dependencies + - @backstage/repo-tools@0.6.0 + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/plugin-search-backend-module-catalog@0.1.14 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/backend-openapi-utils@0.1.3 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-events-node@0.2.19 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-backend-module-github@0.5.0 + +### Minor Changes + +- a950ed0: Prevent Entity Providers from eliminating Users and Groups from the DB when the synchronisation fails + +### Patch Changes + +- 785ff24: Added `validateLocationsExist` to the config +- 9477133: Decreased number of teams fetched by GraphQL Query responsible for fetching Teams and Members in organization, due to timeouts when running against big organizations +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-catalog-backend@1.17.0 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-catalog-graph@0.4.0 + +### Minor Changes + +- 3dc64e9: Migrate plugin to the new frontend system, it is experimental and available via alpha subpath. + +### Patch Changes + +- 916da47: Change default icon for unknown entities to nothing instead of the help icon. + +- f937aae: use `CatalogClient.getEntitiesByRefs()` to reduce the number of backend requests from plugin `catalog-graph` + +- 3e1c6e2: Added possibility to show arrow heads for graph edges for better understandability. + + In order to show arrow heads in the catalog graph page, add `showArrowHeads` attribute to `CatalogGraphPage` component + (typically in `packages/app/src/App.tsx`): + + ```diff + - + + + ``` + + In order to show arrow heads in entity graphs, add `showArrowHeads` attribute to `EntityCatalogGraphCard` components + (typically multiple occurrences in `packages/app/src/components/catalog/EntityPage.tsx`): + + ```diff + - + + + ``` + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-node@1.7.0 + +### Minor Changes + +- d8a54d0: Adds support for supplying field validators to the new backend's catalog plugin. If you're using entity policies, you should use the new `transformLegacyPolicyToProcessor` function to install them as processors instead. + + ```ts + import { + catalogProcessingExtensionPoint, + catalogModelExtensionPoint, + } from '@backstage/plugin-catalog-node/alpha'; + import {myPolicy} from './my-policy'; + + export const catalogModulePolicyProvider = createBackendModule({ + pluginId: 'catalog', + moduleId: 'internal-policy-provider', + register(reg) { + reg.registerInit({ + deps: { + modelExtensions: catalogModelExtensionPoint, + processingExtensions: catalogProcessingExtensionPoint, + }, + async init({ modelExtensions, processingExtensions }) { + modelExtensions.setFieldValidators({ + ... + }); + processingExtensions.addProcessors(transformLegacyPolicyToProcessor(myPolicy)) + }, + }); + }, + }); + ``` + +### Patch Changes + +- 9b2eb3f: Add support for `onProcessingError` handler at the catalog plugin (new backend system). + + You can use `setOnProcessingErrorHandler` at the `catalogProcessingExtensionPoint` + as replacement for + + ```ts + catalogBuilder.subscribe({ + onProcessingError: hander, + }); + ``` + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-react@1.10.0 + +### Minor Changes + +- d208a93: Added support for server side text filtering to paginated entity requests. +- 3dc64e9: Add support to `configSchema` option on the `createEntityCardExtension` factory function. + +### Patch Changes + +- 916da47: Change default icon for unknown entities to nothing instead of the help icon. +- 71c6d7a: Overflowing labels in OwnerPicker (Catalog) are now truncated. Hovering over them shows the full label +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/errors@1.2.3 + - @backstage/integration-react@1.1.24 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-cloudbuild@0.4.0 + +### Minor Changes + +- 0328d1b: Changed build list view to automatically filter builds based on repository name matching component-info's metadata.name. + Added optional `google.com/cloudbuild-repo-name` annotation which allows you to specify a different repository to filter on. + Added optional `google.com/cloudbuild-trigger-name` annotation which allows you to filter based on a trigger name instead of a repo name. + Updated the ReadMe with information about the filtering and some other minor verbiage updates. + Changed `substitutions.BRANCH_NAME` to `substitutions.REF_NAME` so that the Ref field is populated properly. + Added optional `google.com/cloudbuild-location` annotation which allows you to specify the Cloud Build location of your builds. Default is global scope. + Changed build list view to show builds in a specific location if the location annotation is used. + Updated ReadMe with information about the use of the location filtering. + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- ef3cad4: Add telemetry HTTP header Google Cloud Platform +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-kubernetes-backend@0.15.0 + +### Minor Changes + +- 666eff5: **BREAKING** The backend will fail to start if two clusters in the app-config + have the same name. The requirement for unique names has been declared in the + docs for some time, but is now enforced. + +### Patch Changes + +- 7233f57: Fixed an issue where a misleading error message would be logged when an + unsupported service locator method was specified. +- afe9473: The `/clusters` API now surfaces cluster titles. +- a775596: Enabled a way to include custom auth metadata info on the clusters endpoint. If you want to implement a Kubernetes auth strategy which requires surfacing custom auth metadata to the frontend, use the new presentAuthMetadata method on the AuthenticationStrategy interface. +- 7278d80: The purpose of this patch is to add a new login method which is `googleServiceAccount` configuring the kubernetes properties in the app-config.yaml file with authProvider key +- 2a50cbf: adds a x-goog-api-client header to existing API requests in this plugin to clearly identify API requests from this GKE plugin. headers are formatted as follows where `libVersion` represents the current dotted version number of the Backstage GKE plugin and `libName` represent the current Google API used at backstage. +- 3b3d549: Responses from the `/api/kubernetes/services/:serviceId` endpoint now include the cluster title. +- a2e7fc6: Organized imports in plugin.ts +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- daad576: Clusters configured with the `aws` authentication strategy can now customize the + `x-k8s-aws-id` header value used to generate tokens. This value can be specified + specified via the `kubernetes.io/x-k8s-aws-id` parameter (in + `metadata.annotations` for clusters in the catalog, or the `authMetadata` block + on clusters in the app-config). This is particularly helpful when a Backstage + instance contains multiple AWS clusters with the same name in different regions + \-- using this new parameter, the clusters can be given different logical names + to distinguish them but still use the same ID for the purposes of generating + tokens. +- f180cba: Enabling authentication to kubernetes clusters with mTLS x509 client certs +- 7f6ff25: Custom per-cluster auth metadata (mainly for use with custom `AuthenticationStrategy` implementations) can now be specified in the `authMetadata` property of clusters in the app-config. +- 6009d2a: Clusters in the catalog can now specify a human-readable title via `metadata.title`. +- 7ee5b30: Clusters in the app-config can now specify a `title` property for human readability. +- 1c3cb3b: Backstage will log a warning whenever duplicate cluster names are detected -- + even if clusters sharing the same name come from separate locators. +- ceda378: On LocalKubectlProxyClusterLocator, when resolving localhost, IPv4 address is placed before IPv6 address, ignoring the order from the DNS resolver. This change is necessary since by default kubectl proxy listen on IPv4 +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/plugin-kubernetes-common@0.7.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/integration-aws-node@0.1.9 + - @backstage/plugin-kubernetes-node@0.1.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-kubernetes-react@0.3.0 + +### Minor Changes + +- 0dfc185: **BREAKING** The `PodScope`, `PodAndErrors`, and `PodExecTerminalProps` types no + longer have a `clusterName` field; instead they now have the field `cluster` + which contains the full `ClusterAttributes`. +- 0d526c8: **BREAKING** The pod exec terminal is now disabled by default since there are several scenarios where it is known not to work. It can be re-enabled at your own risk by setting the config parameter `kubernetes.podExecTerminal.enabled` to `true`. + +### Patch Changes + +- 5bf0c17: Pod dialogs display cluster title when specified. +- 74770c8: The `ErrorPanel` component will display the `title` field (when specified) for + clusters with errors. +- 536f67d: Fix broken XtermJS CSS import +- b01c86c: The `ErrorReporting` component's cluster column now displays cluster titles when + specified. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 8472188: Added or fixed the `repository` field in `package.json`. +- 2b305eb: The `Cluster` component now renders the cluster's title, if specified. +- 3c184af: Extracted common dialog component. +- db1054b: Fixed a bug where the logs dialog and any other functionality depending on the proxy endpoint would fail for clusters configured with the OIDC auth provider. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/plugin-kubernetes-common@0.7.4 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder@1.18.0 + +### Minor Changes + +- c56f1a2: Remove the old legacy exports from `/alpha` +- 9b9c05c: Updating the `EntityPicker` to only select `kind` `metadata.name` and `metadata.namespace` by default to improve performance on larger datasets. +- a86920b: Introduced a new `MultiEntityPicker` field that supports selecting multiple Entities +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs + +### Patch Changes + +- b0d1d80: Added basic support for the new frontend system, exported from the `/alpha` subpath. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 912ca7b: Use `convertLegacyRouteRefs` to define routes in `/alpha` export plugin. +- da059d7: Removed alpha symbol from Task List header +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 31f0a0a: Added `ScaffolderPageContextMenu` to `ActionsPage`, `ListTaskPage`, and `TemplateEditorPage` so that you can more easily navigate between these pages +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- e6f0831: Updated dependency `@rjsf/utils` to `5.17.0`. + Updated dependency `@rjsf/core` to `5.17.0`. + Updated dependency `@rjsf/material-ui` to `5.17.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.17.0`. +- 6a74ffd: Updated dependency `@rjsf/utils` to `5.16.1`. + Updated dependency `@rjsf/core` to `5.16.1`. + Updated dependency `@rjsf/material-ui` to `5.16.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.16.1`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- 11b9a08: Introduced the first version of recoverable tasks. +- 3dff4b0: Remove unused deps +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/plugin-scaffolder-react@1.8.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-scaffolder-common@1.5.0 + - @backstage/errors@1.2.3 + - @backstage/integration-react@1.1.24 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-scaffolder-backend@1.21.0 + +### Minor Changes + +- 458bf21: Created a gitea module for the scaffolder. This module provides a new action "publish:gitea" able to create a gitea repository owned by an organization. See: +- 11b9a08: Introduced the first version of recoverable tasks. +- 78c100b: Support providing an overriding token for `fetch:template`, `fetch:plain` and `fetch:file` when interacting with upstream integrations +- e9a5228: The built-in module list has been trimmed down when using the new Backend System. Provider specific modules should now be installed with `backend.add` to provide additional actions to the scaffolder. These modules are as follows: + + - `@backstage/plugin-scaffolder-backend-module-github` + - `@backstage/plugin-scaffolder-backend-module-gitlab` + - `@backstage/plugin-scaffolder-backend-module-bitbucket` + - `@backstage/plugin-scaffolder-backend-module-gitea` + - `@backstage/plugin-scaffolder-backend-module-gerrit` + - `@backstage/plugin-scaffolder-backend-module-confluence-to-markdown` + - `@backstage/plugin-scaffolder-backend-module-cookiecutter` + - `@backstage/plugin-scaffolder-backend-module-rails` + - `@backstage/plugin-scaffolder-backend-module-sentry` + - `@backstage/plugin-scaffolder-backend-module-yeoman` + +### Patch Changes + +- 5eb6882: New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-server`. + + Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` + and replaces its actions related to Bitbucket Server. + + - `publish:bitbucketServer` + - `publish:bitbucketServer:pull-request` + +- 09f8b31: Simple typo fix in the fetch:template action example on the word 'skeleton'. + +- c25a500: Fix some deprecations and misplaced `await` usage. + +- f6792c6: Move the `NODE_OPTIONS` messaging for `--no-node-snapshot` to the `SecureTemplater` in order to get better messaging at runtime + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. + +- 52ae6b9: Updated dependency `esbuild` to `^0.20.0`. + +- 5eb6882: New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud`. + + Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` + and replaces its actions related to Bitbucket Cloud. + + - `publish:bitbucketCloud` + - `bitbucket:pipelines:run` + +- 0a395b3: Upgraded `prom-client` to version 15 + +- e1c479d: When using node 20+ the `scaffolder-backend` will now throw an error at startup if the `--no-node-snapshot` option was + not provided to node. + +- e0e5afe: Add option to configure nunjucks with the `trimBlocks` and `lstripBlocks` options in the fetch:template action + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-scaffolder-backend-module-github@0.2.0 + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.0 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.2 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.13 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.2 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-scaffolder-backend-module-gitea@0.1.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0 + - @backstage/plugin-scaffolder-common@1.5.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.0 + +### Minor Changes + +- 5eb6882: Split `@backstage/plugin-scaffolder-backend-module-bitbucket` into + `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud` and + `@backstage/plugin-scaffolder-backend-module-bitbucket-server`. + + `@backstage/plugin-scaffolder-backend-module-bitbucket` was **deprecated** in favor of these two replacements. + + Please use any of the two replacements depending on your needs. + + ```diff + - backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket')); + + backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-cloud')); + + backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-server')); + ``` + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 8472188: Added or fixed the `repository` field in `package.json`. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- fc98bb6: Enhanced the pull request action to allow for adding new content to the PR as described in this issue #21762 +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0 + +### Minor Changes + +- 5eb6882: New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud`. + + Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` + and replaces its actions related to Bitbucket Cloud. + + - `publish:bitbucketCloud` + - `bitbucket:pipelines:run` + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0 + +### Minor Changes + +- 5eb6882: New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-server`. + + Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` + and replaces its actions related to Bitbucket Server. + + - `publish:bitbucketServer` + - `publish:bitbucketServer:pull-request` + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-gitea@0.1.0 + +### Minor Changes + +- 458bf21: Created a gitea module for the scaffolder. This module provides a new action "publish:gitea" able to create a gitea repository owned by an organization. See: + +### Patch Changes + +- ef0f44e: - Fix issue for infinite loop when repository already exists + - Log the root cause of error reported by `checkGiteaOrg` +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-github@0.2.0 + +### Minor Changes + +- fd5eb1c: Allow to force the creation of a pull request from a forked repository +- 3d5c668: support oidc customization + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 8472188: Added or fixed the `repository` field in `package.json`. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-common@1.5.0 + +### Minor Changes + +- 11b9a08: Introduced the first version of recoverable tasks. + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.4.4 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-scaffolder-node@0.3.0 + +### Minor Changes + +- 3a9ba42: Added functions to clone a repo, create a branch, add files and push and commit to the branch. This allows for files to be added to the a PR for use in the bitbucket pull request action for issue #21762 +- 11b9a08: Introduced the first version of recoverable tasks. +- 78c100b: Support providing an overriding token for `fetch:template`, `fetch:plain` and `fetch:file` when interacting with upstream integrations + +### Patch Changes + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- 9b0bf20: Add gitea as new type to be used from integrations configuration +- e0e5afe: Add option to configure nunjucks with the `trimBlocks` and `lstripBlocks` options in the fetch:template action +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-common@1.5.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-react@1.8.0 + +### Minor Changes + +- c56f1a2: Remove the old legacy exports from `/alpha` +- 11b9a08: Introduced the first version of recoverable tasks. +- b07ec70: Use more distinguishable icons for link (`Link`) and text output (`Description`). + +### Patch Changes + +- 3f60ad5: fix for: converting circular structure to JSON error +- 0b0c6b6: Allow defining default output text to be shown +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 31f0a0a: Added `ScaffolderPageContextMenu` to `ActionsPage`, `ListTaskPage`, and `TemplateEditorPage` so that you can more easily navigate between these pages +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- e6f0831: Updated dependency `@rjsf/utils` to `5.17.0`. + Updated dependency `@rjsf/core` to `5.17.0`. + Updated dependency `@rjsf/material-ui` to `5.17.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.17.0`. +- 6a74ffd: Updated dependency `@rjsf/utils` to `5.16.1`. + Updated dependency `@rjsf/core` to `5.16.1`. + Updated dependency `@rjsf/material-ui` to `5.16.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.16.1`. +- 3dff4b0: Remove unused deps +- 82affc7: Fix issue where `ui:schema` was replaced with an empty object if `dependencies` is defined +- 2985186: Fix bug that erroneously caused a separator or a 0 to render in the TemplateCard for Templates with empty links +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-scaffolder-common@1.5.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/plugin-search-backend@1.5.0 + +### Minor Changes + +- 126c2f9: Updates the OpenAPI spec to use plugin as `info.title` instead of package name. +- 04907c3: Updates the OpenAPI specification title to plugin ID instead of package name. + +### Patch Changes + +- 3ed0eac: Authorized search engine now obeys query page limit +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-openapi-utils@0.1.3 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-techdocs@1.10.0 + +### Minor Changes + +- af4d147: Updated the styling for `` tags to avoid word break. + +### Patch Changes + +- 912ca7b: Use `convertLegacyRouteRefs` to define routes in `/alpha` export plugin. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 3631fb4: Updated dependency `dompurify` to `^3.0.0`. + Updated dependency `@types/dompurify` to `^3.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/plugin-techdocs-react@1.1.16 + - @backstage/catalog-model@1.4.4 + - @backstage/theme@0.5.1 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-search-react@1.7.6 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-react@1.1.24 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/backend-app-api@0.5.11 + +### Patch Changes + +- e0c18ef: Include the extension point ID and the module ID in the backend init error message. +- 7ae5704: Updated the default error handling middleware to filter out certain known error types that should never be returned in responses. The errors are instead logged along with a correlation ID, which is also returned in the response. Initially only PostgreSQL protocol errors from the `pg-protocol` package are filtered out. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 54ad8e1: Allow the `createConfigSecretEnumerator` to take an optional `schema` argument with an already-loaded global configuration schema. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/cli-node@0.2.3 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/config-loader@1.6.2 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-defaults@0.2.10 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-app-api@0.5.11 + +## @backstage/backend-dev-utils@0.1.4 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +## @backstage/backend-openapi-utils@0.1.3 + +### Patch Changes + +- 2067689: Internal updates due to `json-schema-to-ts` +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/errors@1.2.3 + +## @backstage/backend-plugin-api@0.6.10 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 1f020fe: Support `token` in `readTree`, `readUrl` and `search` +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-tasks@0.5.15 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/backend-tasks@0.5.15 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 6707216: The `TaskScheduler.fromConfig` method now accepts the `LegacyRootDatabaseService` interface rather than the full `DatabaseManager` implementation. +- b68248b: Updated dependency `cron` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/catalog-model@1.4.4 + +### Patch Changes + +- 07e7d12: Fix wording in API reference +- Updated dependencies + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/cli@0.25.2 + +### Patch Changes + +- d557d47: Added check for the `repository` field in the `repo fix` command. +- b58673e: Upgrade jest +- c624938: Add experimental support for an optional `public` app entry point that lets users sign-in before being able to access the full app. +- c52e7d5: Make `http://localhost:3000` the default base URL for serving locally, and `/` the default public path for built apps. The app build no longer requires any configuration values to be present. +- 9a96ef2: Updated dependency `vite-plugin-node-polyfills` to `^0.21.0`. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- 2f1f8fd: Updated dependency `esbuild-loader` to `^4.0.0`. +- fd20d5b: Updated dependency `eslint-config-prettier` to `^9.0.0`. +- acd2860: Updated dependency `vite-plugin-node-polyfills` to `^0.19.0`. +- 40c27f3: Updated dependency `eslint-webpack-plugin` to `^4.0.0`. +- 6ba64c4: Updated dependency `commander` to `^12.0.0`. +- ba56063: Updated dependency `fork-ts-checker-webpack-plugin` to `^9.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- 52ae6b9: Updated dependency `esbuild` to `^0.20.0`. +- 404e82b: Updated dependency `eslint-plugin-deprecation` to `^2.0.0`. +- 5c05f8a: Harmonize the package naming and allow custom prefix +- 35725e2: Updated dependencies in frontend plugin templates +- c7259dc: Updated the backend module template to make the module instance the package default export. +- 08804c3: Fixed an issue that would cause an invalid `__backstage-autodetected-plugins__.js` to be written when using experimental module discovery. +- Updated dependencies + - @backstage/cli-node@0.2.3 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/config-loader@1.6.2 + - @backstage/eslint-plugin@0.1.5 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/release-manifests@0.0.11 + - @backstage/types@1.1.1 + +## @backstage/cli-node@0.2.3 + +### Patch Changes + +- d557d47: Added `repository` field to `BackstagePackageJson` type. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/codemods@0.1.47 + +### Patch Changes + +- 6ba64c4: Updated dependency `commander` to `^12.0.0`. +- Updated dependencies + - @backstage/cli-common@0.1.13 + +## @backstage/config-loader@1.6.2 + +### Patch Changes + +- 0a9a03c: Make schema processing gracefully handle an empty config. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- bf3da16: Updated dependency `typescript-json-schema` to `^0.63.0`. +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/create-app@0.5.11 + +### Patch Changes + +- c70c3dc: Bumped create-app version. + +- c420081: Add a seed file for `yarn.lock` in newly created apps. This file is downloaded directly from `https://github.com/backstage/backstage` at the time of creating a new project, ensuring that users always receive the latest version. The purpose of the seed file is to initialize the lock file with known good versions of individual dependencies that have had bad new releases published. The seed file will have no effect if the dependency is not present, it can not be used to install additional packages. + +- f71352c: Bumped TypeScript to version `5.3`. + +- 03e55b1: Updated the default app index template at `packages/app/public/index.html` to have a fallback value for the `app.title` config. + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. + +- 6ba64c4: Updated dependency `commander` to `^12.0.0`. + +- aeec29c: Updated `packages/app` as well as the root `package.json` type resolutions to use React v18. + + The `@testing-library/*` dependencies have also been updated to the ones compatible with React v18, and the test at `packages/app/src/App.test.tsx` had been updated to use more modern patterns that work better with these new versions. + + For information on how to migrate existing apps to React v18, see the [migration guide](https://backstage.io/docs/tutorials/react18-migration) + +- Updated dependencies + - @backstage/cli-common@0.1.13 + +## @backstage/dev-utils@1.0.27 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/app-defaults@1.5.0 + - @backstage/core-components@0.14.0 + - @backstage/core-app-api@1.12.0 + - @backstage/catalog-model@1.4.4 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/integration-react@1.1.24 + +## @backstage/e2e-test-utils@0.1.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. + +## @backstage/eslint-plugin@0.1.5 + +### Patch Changes + +- 995d280: Added new `@backstage/no-top-level-material-ui-4-imports` rule that forbids top level imports from Material UI v4 packages + +## @backstage/frontend-test-utils@0.1.2 + +### Patch Changes + +- bc621aa: Updates to use the new `RouteResolutionsApi`. +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/frontend-app-api@0.6.0 + - @backstage/test-utils@1.5.0 + - @backstage/types@1.1.1 + +## @backstage/integration-aws-node@0.1.9 + +### Patch Changes + +- 6d898f7: All single-line secrets read from config will now have both leading and trailing whitespace trimmed. This is done to ensure that the secrets are always valid HTTP header values, since many fetch implementations will include the header value itself when an error is thrown due to invalid header values. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/integration-react@1.1.24 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + +## @techdocs/cli@1.8.2 + +### Patch Changes + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- d2e3ab9: Updated dependency `dockerode` to `^4.0.0`. +- 6ba64c4: Updated dependency `commander` to `^12.0.0`. +- d8d243c: fix: mkdocs parameter casing +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-techdocs-node@1.11.2 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + +## @backstage/theme@0.5.1 + +### Patch Changes + +- dd5d7cc: Fixed missing extra variables like `applyDarkStyles` in Mui V5 theme after calling `createUnifiedThemeFromV4` function +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +## @backstage/plugin-adr@0.6.13 + +### Patch Changes + +- 0b03962: Updated README +- 987f565: Fix alignment of text in `AdrSearchResultListItem`. Update size and font to match other `SearchResultListItem`. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-search-react@1.7.6 + - @backstage/integration-react@1.1.24 + - @backstage/plugin-adr-common@0.2.20 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-adr-backend@0.4.7 + +### Patch Changes + +- b64ce5a: Updated New Backend System instructions to use default import +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-adr-common@0.2.20 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-adr-common@0.2.20 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-airbrake@0.3.30 + +### Patch Changes + +- b64ce5a: Updated New Backend System instructions to use default import +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/test-utils@1.5.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/dev-utils@1.0.27 + +## @backstage/plugin-airbrake-backend@0.3.7 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + +## @backstage/plugin-allure@0.1.46 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-apache-airflow@0.2.20 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-api-docs-module-protoc-gen-doc@0.1.6 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +## @backstage/plugin-apollo-explorer@0.1.20 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-app-backend@0.3.58 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 998ccf6: Support injecting config multiple times in a single bundle +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- 54ad8e1: Allow the `app-backend` plugin to use a global configuration schema provided externally through an extension. +- 9dfd57d: Do not force caching of the Javascript asset that contains the injected config. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config-loader@1.6.2 + - @backstage/plugin-app-node@0.1.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-app-node@0.1.10 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- 54ad8e1: Allow the `app-backend` plugin to use a global configuration schema provided externally through an extension. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config-loader@1.6.2 + +## @backstage/plugin-app-visualizer@0.1.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-auth-backend-module-atlassian-provider@0.1.2 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.4 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-backend-module-github-provider@0.1.7 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.7 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-auth-backend-module-google-provider@0.1.7 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-auth-backend-module-microsoft-provider@0.1.5 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 1ff2684: Added the possibility to use custom scopes for performing login with Microsoft EntraID. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-auth-backend-module-oauth2-provider@0.1.7 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.2 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/errors@1.2.3 + +## @backstage/plugin-auth-backend-module-okta-provider@0.0.3 + +### Patch Changes + +- cd5114c: Added missing `additionalScopes` option to configuration schema. +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-auth-backend-module-pinniped-provider@0.1.4 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + +## @backstage/plugin-auth-backend-module-vmware-cloud-provider@0.1.2 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + +## @backstage/plugin-auth-node@0.4.4 + +### Patch Changes + +- 71c3b7f: Fix error when Microsoft tokens (or any other using the `defaultProfileTransform`) are requested without the profile scope. +- d4cc552: The helper function `makeProfileInfo` and `PassportHelpers.transformProfile` + were refactored to use the `jose` library. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-azure-devops@0.3.12 + +### Patch Changes + +- e2083df: Added alpha support for the New Frontend System (Declarative Integration) +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 995d280: Updated imports from named to default imports to help with the Material UI v4 to v5 migration +- cb0afaa: Prefer `dev.azure.com/build-definition` annotation when it is provided, as it is more specific than `dev.azure.com/project-repo`. This can also be used as a filter for mono-repos. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-azure-devops-common@0.3.2 + +## @backstage/plugin-azure-devops-backend@0.5.2 + +### Patch Changes + +- 353244d: Added a note about Service Principles +- b64ce5a: Updated New Backend System instructions to use default import +- 25bda45: Fixed bug with `extractPartsFromAsset` that resulted in a leading `.` being removed from the path in an otherwise valid path (ex. `.assets/image.png`). The leading `.` will now only be moved for paths beginning with `./`. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-azure-sites@0.1.19 + +### Patch Changes + +- 09a9c95: Updated README + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +- 5a409bb: Azure Sites `start` and `stop` action is now protected with the Permissions framework. + + The below example describes an action that forbids anyone but the owner of the catalog entity to trigger actions towards a site tied to an entity. + + ```typescript + // packages/backend/src/plugins/permission.ts + import { azureSitesActionPermission } from '@backstage/plugin-azure-sites-common'; + ... + class TestPermissionPolicy implements PermissionPolicy { + async handle(request: PolicyQuery, user?: BackstageIdentityResponse): Promise { + if (isPermission(request.permission, azureSitesActionPermission)) { + return createCatalogConditionalDecision( + request.permission, + catalogConditions.isEntityOwner({ + claims: user?.identity.ownershipEntityRefs ?? [], + }), + ); + } + ... + return { + result: AuthorizeResult.ALLOW, + }; + } + ... + } + ``` + +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-azure-sites-common@0.1.2 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-azure-sites-common@0.1.2 + +### Patch Changes + +- 5a409bb: Azure Sites `start` and `stop` action is now protected with the Permissions framework. + + The below example describes an action that forbids anyone but the owner of the catalog entity to trigger actions towards a site tied to an entity. + + ```typescript + // packages/backend/src/plugins/permission.ts + import { azureSitesActionPermission } from '@backstage/plugin-azure-sites-common'; + ... + class TestPermissionPolicy implements PermissionPolicy { + async handle(request: PolicyQuery, user?: BackstageIdentityResponse): Promise { + if (isPermission(request.permission, azureSitesActionPermission)) { + return createCatalogConditionalDecision( + request.permission, + catalogConditions.isEntityOwner({ + claims: user?.identity.ownershipEntityRefs ?? [], + }), + ); + } + ... + return { + result: AuthorizeResult.ALLOW, + }; + } + ... + } + ``` + +- Updated dependencies + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-badges@0.2.54 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-badges-backend@0.3.7 + +### Patch Changes + +- 6991e5f: Updating the `authorization` middleware to call the Catalog to check that the requesting user has permission to see the Entity before generating the UUID. +- b64ce5a: Updated New Backend System instructions to use default import +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar@0.2.22 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar-backend@0.3.8 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + +## @backstage/plugin-bitbucket-cloud-common@0.2.16 + +### Patch Changes + +- 2e6af00: Updated dependency `ts-morph` to `^21.0.0`. +- Updated dependencies + - @backstage/integration@1.9.0 + +## @backstage/plugin-bitrise@0.1.57 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- e24e4d3: Update README +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-catalog-backend-module-aws@0.3.4 + +### Patch Changes + +- a81b1ba: The default EKS cluster entity transformer now sets the new + `kubernetes.io/x-k8s-aws-id` annotation. +- 22927c4: Move the AWS account e-mail from labels to annotations to fix the creation of `cloud-account` resources. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-kubernetes-common@0.7.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/integration-aws-node@0.1.9 + - @backstage/integration@1.9.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-catalog-backend-module-azure@0.1.29 + +### Patch Changes + +- 534786a: Fixed issue where specifying a branch for discovery did not work +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/integration@1.9.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/backend-openapi-utils@0.1.3 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.25 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.16 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.23 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-gcp@0.1.10 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-kubernetes-common@0.7.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.26 + +### Patch Changes + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/integration@1.9.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-github-org@0.1.4 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/plugin-catalog-backend-module-github@0.5.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gitlab@0.3.7 + +### Patch Changes + +- 60e4c2a: Added the option to provide custom `groupTransformer`, `userTransformer` and `groupNameTransformer` to allow custom transformations of groups and users +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.14 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-catalog-backend@1.17.0 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-events-node@0.2.19 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.25 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.17 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.27 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-catalog-backend@1.17.0 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.15 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- bc644fb: Added `latest_report_status` parameter from the PuppetDB node api and added it as a tag to the nodes. The status is valuable information as it displays which nodes are compliant to your configuration and which ones are failing are making changes. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-scaffolder-common@1.5.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-catalog-backend-module-unprocessed@0.3.7 + +### Patch Changes + +- d3dd64a: Explicitly only depend on the `use` method from the `HttpRouterService`. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + +## @backstage/plugin-catalog-common@1.0.21 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-catalog-import@0.10.6 + +### Patch Changes + +- 916da47: Change default icon for unknown entities to nothing instead of the help icon. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration-react@1.1.24 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-catalog-unprocessed-entities@0.1.8 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-cicd-statistics@0.1.32 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.26 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-cicd-statistics@0.1.32 + +## @backstage/plugin-circleci@0.3.30 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-code-climate@0.1.30 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-code-coverage@0.2.23 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-code-coverage-backend@0.2.24 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-codescene@0.1.22 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-config-schema@0.1.50 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-cost-insights@0.12.19 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + - @backstage/plugin-cost-insights-common@0.1.2 + +## @backstage/plugin-devtools@0.1.9 + +### Patch Changes + +- c12a86c: Refactored code to improve accessibility by moving elements outside the `ul` tag and placing them appropriately. Also adjusted theme to offer better contrast. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- b89d8be: Added alpha support for the New Frontend System (Declarative Integration) +- 995d280: Updated imports from named to default imports to help with the Material UI v4 to v5 migration +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/errors@1.2.3 + - @backstage/plugin-devtools-common@0.1.8 + +## @backstage/plugin-devtools-backend@0.2.7 + +### Patch Changes + +- b64ce5a: Updated New Backend System instructions to use default import +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config-loader@1.6.2 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.8 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-dynatrace@9.0.0 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 0930c9e: Fixed Dynatrace plugin proxy configuration +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-entity-feedback@0.2.13 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-feedback-backend@0.2.7 + +### Patch Changes + +- b64ce5a: Updated New Backend System instructions to use default import +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/config@1.1.1 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-validation@0.1.15 + +### Patch Changes + +- 916da47: Change default icon for unknown entities to nothing instead of the help icon. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 1f70e46: Improves UX of the EntityValidationPage: Moves the validate button below the EntityTextArea which is actually validated, the location TextField can now be hidden to prevent confusion about what is validated and additional content can be added to the top of the validation page. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-events-backend@0.2.19 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-events-backend-module-aws-sqs@0.2.13 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-events-backend-module-azure@0.1.20 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.20 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-events-backend-module-gerrit@0.1.20 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-events-backend-module-github@0.1.20 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-events-backend-module-gitlab@0.1.20 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-events-backend-test-utils@0.1.20 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-events-node@0.2.19 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-explore@0.4.16 + +### Patch Changes + +- 07e7d12: Fix wording in API reference +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 796d427: Use the EntityDisplayName component for rendering Group nodes +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-search-react@1.7.6 + - @backstage/errors@1.2.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-explore-react@0.0.36 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-explore-backend@0.0.20 + +### Patch Changes + +- fd3d51c: Add support for the new backend system. + + A new backend plugin for the explore backend + was added and exported as `default`. + + You can use it with the new backend system like + + ```ts title="packages/backend/src/index.ts" + backend.add(import('@backstage/plugin-explore-backend')); + ``` + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-search-backend-module-explore@0.1.14 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-explore-react@0.0.36 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-firehydrant@0.2.14 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-fossa@0.2.62 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcalendar@0.3.23 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 3631fb4: Updated dependency `dompurify` to `^3.0.0`. + Updated dependency `@types/dompurify` to `^3.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcp-projects@0.3.46 + +### Patch Changes + +- 984d508: Add a `x-google-api-client` header for calls towards Google Cloud Projects +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-git-release-manager@0.3.42 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-github-actions@0.6.11 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/integration-react@1.1.24 + +## @backstage/plugin-github-deployments@0.1.61 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/integration-react@1.1.24 + +## @backstage/plugin-github-issues@0.2.19 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-github-pull-requests-board@0.1.24 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-gitops-profiles@0.3.45 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-gocd@0.1.36 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-graphiql@0.3.3 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 912ca7b: Use `convertLegacyRouteRefs` to define routes in `/alpha` export plugin. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-graphql-voyager@0.1.12 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-home@0.6.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- dc7ae8b: Use EntityDisplayName JSX element entity information directly for FeaturedDocsCard. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- e6f0831: Updated dependency `@rjsf/utils` to `5.17.0`. + Updated dependency `@rjsf/core` to `5.17.0`. + Updated dependency `@rjsf/material-ui` to `5.17.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.17.0`. +- 6a74ffd: Updated dependency `@rjsf/utils` to `5.16.1`. + Updated dependency `@rjsf/core` to `5.16.1`. + Updated dependency `@rjsf/material-ui` to `5.16.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.16.1`. +- e9cdfd3: Fix typo in VisitsStorageApi +- 384c132: Added filter support for HomePageVisitedByType in order to enable filtering entities from the list +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/core-app-api@1.12.0 + - @backstage/catalog-model@1.4.4 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-home-react@0.1.8 + - @backstage/config@1.1.1 + +## @backstage/plugin-home-react@0.1.8 + +### Patch Changes + +- e6f0831: Updated dependency `@rjsf/utils` to `5.17.0`. + Updated dependency `@rjsf/core` to `5.17.0`. + Updated dependency `@rjsf/material-ui` to `5.17.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.17.0`. +- 6a74ffd: Updated dependency `@rjsf/utils` to `5.16.1`. + Updated dependency `@rjsf/core` to `5.16.1`. + Updated dependency `@rjsf/material-ui` to `5.16.1`. + Updated dependency `@rjsf/validator-ajv8` to `5.16.1`. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-ilert@0.2.19 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-jenkins@0.9.5 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.24 + +## @backstage/plugin-jenkins-backend@0.3.4 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.24 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-jenkins-common@0.1.24 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-kafka@0.3.30 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-kafka-backend@0.3.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-kubernetes@0.11.5 + +### Patch Changes + +- b01c86c: The `ErrorReporting` component's cluster column now displays cluster titles when + specified. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/plugin-kubernetes-react@0.3.0 + - @backstage/core-components@0.14.0 + - @backstage/plugin-kubernetes-common@0.7.4 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-kubernetes-cluster@0.0.6 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/plugin-kubernetes-react@0.3.0 + - @backstage/core-components@0.14.0 + - @backstage/plugin-kubernetes-common@0.7.4 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-kubernetes-common@0.7.4 + +### Patch Changes + +- a643af8: The `ClusterAttributes` type now includes the cluster title. +- daad576: Clusters configured with the `aws` authentication strategy can now customize the + `x-k8s-aws-id` header value used to generate tokens. This value can be specified + specified via the `kubernetes.io/x-k8s-aws-id` parameter (in + `metadata.annotations` for clusters in the catalog, or the `authMetadata` block + on clusters in the app-config). This is particularly helpful when a Backstage + instance contains multiple AWS clusters with the same name in different regions + \-- using this new parameter, the clusters can be given different logical names + to distinguish them but still use the same ID for the purposes of generating + tokens. +- Updated dependencies + - @backstage/catalog-model@1.4.4 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-kubernetes-node@0.1.4 + +### Patch Changes + +- a775596: Enabled a way to include custom auth metadata info on the clusters endpoint. If you want to implement a Kubernetes auth strategy which requires surfacing custom auth metadata to the frontend, use the new presentAuthMetadata method on the AuthenticationStrategy interface. +- 8472188: Added or fixed the `repository` field in `package.json`. +- 043cf88: The `ClusterDetails` type now has a `title` field, which should be a + human-readable name. +- cceed8a: Introduced `PinnipedHelper` class to enable authentication to Kubernetes clusters through Pinniped +- f180cba: Enabling authentication to kubernetes clusters with mTLS x509 client certs +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-lighthouse@0.4.15 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-lighthouse-backend@0.4.2 + +### Patch Changes + +- b64ce5a: Updated New Backend System instructions to use default import +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-linguist@0.1.15 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 995d280: Updated imports from named to default imports to help with the Material UI v4 to v5 migration +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-linguist-backend@0.5.7 + +### Patch Changes + +- b64ce5a: Updated New Backend System instructions to use default import +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-microsoft-calendar@0.1.12 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 3631fb4: Updated dependency `dompurify` to `^3.0.0`. + Updated dependency `@types/dompurify` to `^3.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-newrelic@0.3.45 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-newrelic-dashboard@0.3.5 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-nomad@0.1.11 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-nomad-backend@0.1.12 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-notifications@0.0.1 + +### Patch Changes + +- 9873c44: Add support for signal type in notifications +- 8472188: Added or fixed the `repository` field in `package.json`. +- fb8fc24: Initial notifications system for backstage +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/plugin-signals-react@0.0.1 + - @backstage/plugin-notifications-common@0.0.1 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-notifications-backend@0.0.1 + +### Patch Changes + +- 9873c44: Add support for signal type in notifications +- 8472188: Added or fixed the `repository` field in `package.json`. +- fb8fc24: Initial notifications system for backstage +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/plugin-signals-node@0.0.1 + - @backstage/plugin-notifications-common@0.0.1 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-notifications-node@0.0.1 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-notifications-common@0.0.1 + +### Patch Changes + +- 9873c44: Add support for signal type in notifications +- 8472188: Added or fixed the `repository` field in `package.json`. +- fb8fc24: Initial notifications system for backstage + +## @backstage/plugin-notifications-node@0.0.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- fb8fc24: Initial notifications system for backstage +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-signals-node@0.0.1 + - @backstage/plugin-notifications-common@0.0.1 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + +## @backstage/plugin-octopus-deploy@0.2.12 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-opencost@0.2.5 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 8472188: Added or fixed the `repository` field in `package.json`. +- 03c5bbe: Updated dependency `date-fns` to `^3.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-org@0.6.20 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 6e1bf50: Added basic support for the new frontend system, exported from the `/alpha` subpath. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-catalog-common@1.0.21 + +## @backstage/plugin-org-react@0.1.19 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/catalog-client@1.6.0 + +## @backstage/plugin-pagerduty@0.7.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-home-react@0.1.8 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop@0.1.28 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop-backend@0.2.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + +## @backstage/plugin-permission-backend@0.5.33 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.7 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-permission-node@0.7.21 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-permission-react@0.4.20 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-playlist@0.2.4 + +### Patch Changes + +- 5a03537: Conditionally render playlist description only when it's non-empty +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-search-react@1.7.6 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-playlist-common@0.1.14 + +## @backstage/plugin-playlist-backend@0.3.14 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-playlist-common@0.1.14 + +## @backstage/plugin-proxy-backend@0.4.8 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + +## @backstage/plugin-puppetdb@0.1.13 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-rollbar@0.4.30 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-rollbar-backend@0.1.55 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-azure@0.1.2 + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.11 + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.34 + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-gerrit@0.1.2 + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 8472188: Added or fixed the `repository` field in `package.json`. +- 8b269e1: Provide default branch when creating repositories. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.2.13 + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 1cd2740: Use the Gitbeaker library for `gitlab:projectAccessToken:create` action, enabling the `expiresAt` option +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.27 + +### Patch Changes + +- e9a5228: Make `containerRunner` argument optional +- e9a5228: Exporting a default module for the new Backend System +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration@1.9.0 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.18 + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.31 + +### Patch Changes + +- e9a5228: Exporting a default module for the new Backend System +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-scaffolder-node@0.3.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-search@1.4.6 + +### Patch Changes + +- 912ca7b: Use `convertLegacyRouteRefs` to define routes in `/alpha` export plugin. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-search-react@1.7.6 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-catalog@0.1.14 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-elasticsearch@1.3.13 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/integration-aws-node@0.1.9 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-explore@0.1.14 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/config@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-pg@0.5.19 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.3 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-techdocs@0.1.14 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-techdocs-node@1.11.2 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-node@1.2.14 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-react@1.7.6 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-sentry@0.5.15 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-shortcuts@0.3.19 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals@0.0.1 + +### Patch Changes + +- 447d210: Fix disconnect loop on server start +- 8472188: Added or fixed the `repository` field in `package.json`. +- 047bead: Add support to subscribe and publish messages through signals plugins +- 1ab22c4: Allow defining signal type to publish and receive +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/plugin-signals-react@0.0.1 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals-backend@0.0.1 + +### Patch Changes + +- 447d210: Fix disconnect loop on server start +- 8472188: Added or fixed the `repository` field in `package.json`. +- 047bead: Add support to subscribe and publish messages through signals plugins +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/plugin-signals-node@0.0.1 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-signals-node@0.0.1 + +### Patch Changes + +- 447d210: Fix disconnect loop on server start +- 8472188: Added or fixed the `repository` field in `package.json`. +- 047bead: Add support to subscribe and publish messages through signals plugins +- 1ab22c4: Allow defining signal type to publish and receive +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.19 + +## @backstage/plugin-signals-react@0.0.1 + +### Patch Changes + +- 447d210: Fix disconnect loop on server start +- 8472188: Added or fixed the `repository` field in `package.json`. +- 047bead: Add support to subscribe and publish messages through signals plugins +- 1ab22c4: Allow defining signal type to publish and receive +- Updated dependencies + - @backstage/core-plugin-api@1.9.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-sonarqube@0.7.12 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-sonarqube-react@0.1.13 + +## @backstage/plugin-sonarqube-backend@0.2.12 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-sonarqube-react@0.1.13 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-splunk-on-call@0.4.19 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-stack-overflow@0.1.25 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- c1bc331: Fixes a bug that made the API return questions not related to the tags provided +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-search-react@1.7.6 + - @backstage/plugin-home-react@0.1.8 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-stack-overflow-backend@0.2.14 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.3 + +## @backstage/plugin-stackstorm@0.1.11 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-tech-insights@0.3.22 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend@0.5.24 + +### Patch Changes + +- 7201af3: Add support for the new backend system. + + A new backend plugin for the tech-insights backend + was added and exported as `default`. + + You can use it with the new backend system like + + ```ts title="packages/backend/src/index.ts" + backend.add(import('@backstage/plugin-tech-insights-backend')); + ``` + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 341c2a2: Move `FactRetrieverRegistry` and `PersistenceContext` to `@backstage/plugin-tech-insights-node`. + + Original exports are marked as deprecated and re-export the moved types. + + Please replace uses like + + ```ts + import { + FactRetrieverRegistry, + PersistenceContext, + } from '@backstage/plugin-tech-insights-backend'; + ``` + + with + + ```ts + import { + FactRetrieverRegistry, + PersistenceContext, + } from '@backstage/plugin-tech-insights-node'; + ``` + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-tech-insights-node@0.4.16 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/catalog-model@1.4.4 + - @backstage/catalog-client@1.6.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.42 + +### Patch Changes + +- 25cfb76: Add support for the new backend system. + + A new backend module for the tech-insights backend + was added and exported as `default`. + + The module will register the `JsonRulesEngineFactCheckerFactory` + as `FactCheckerFactory`, loading checks from the config. + + You can use it with the new backend system like + + ```ts title="packages/backend/src/index.ts" + backend.add(import('@backstage/plugin-tech-insights-backend-module-jsonfc')); + ``` + +- bc72782: Support loading `TechInsightsJsonRuleCheck` instances from config. + + Uses the check `id` as key. + + Example: + + ```yaml title="app-config.yaml" + techInsights: + factChecker: + checks: + groupOwnerCheck: + type: json-rules-engine + name: Group Owner Check + description: Verifies that a group has been set as the spec.owner for this entity + factIds: + - entityOwnershipFactRetriever + rule: + conditions: + all: + - fact: hasGroupOwner + operator: equal + value: true + ``` + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-tech-insights-node@0.4.16 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-node@0.4.16 + +### Patch Changes + +- 7201af3: Add support for the new backend system. + + A new backend plugin for the tech-insights backend + was added and exported as `default`. + + You can use it with the new backend system like + + ```ts title="packages/backend/src/index.ts" + backend.add(import('@backstage/plugin-tech-insights-backend')); + ``` + +- 341c2a2: Move `FactRetrieverRegistry` and `PersistenceContext` to `@backstage/plugin-tech-insights-node`. + + Original exports are marked as deprecated and re-export the moved types. + + Please replace uses like + + ```ts + import { + FactRetrieverRegistry, + PersistenceContext, + } from '@backstage/plugin-tech-insights-backend'; + ``` + + with + + ```ts + import { + FactRetrieverRegistry, + PersistenceContext, + } from '@backstage/plugin-tech-insights-node'; + ``` + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-radar@0.6.13 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 912ca7b: Use `convertLegacyRouteRefs` to define routes in `/alpha` export plugin. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.27 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/plugin-catalog@1.17.0 + - @backstage/plugin-techdocs-react@1.1.16 + - @backstage/core-app-api@1.12.0 + - @backstage/test-utils@1.5.0 + - @backstage/plugin-techdocs@1.10.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-search-react@1.7.6 + - @backstage/integration-react@1.1.24 + +## @backstage/plugin-techdocs-backend@1.9.3 + +### Patch Changes + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- d2e3ab9: Updated dependency `dockerode` to `^4.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-search-backend-module-techdocs@0.1.14 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-techdocs-node@1.11.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-techdocs-module-addons-contrib@1.1.5 + +### Patch Changes + +- ab9c9eb: Fixed the value label text color in dark mode for the TextSize addon. +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- 131ffdc: Fix position of the ReportIssue component when is displaying at the top of the container. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/plugin-techdocs-react@1.1.16 + - @backstage/integration@1.9.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/integration-react@1.1.24 + +## @backstage/plugin-techdocs-node@1.11.2 + +### Patch Changes + +- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. + Updated dependency `@types/fs-extra` to `^11.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- 77e3050: Update to a newer version of `@trendyol-js/openstack-swift-sdk` +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/integration-aws-node@0.1.9 + - @backstage/integration@1.9.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-techdocs-react@1.1.16 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/plugin-todo@0.2.34 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-todo-backend@0.3.8 + +### Patch Changes + +- 126c2f9: Updates the OpenAPI spec to use plugin as `info.title` instead of package name. +- 04907c3: Updates the OpenAPI specification title to plugin ID instead of package name. +- Updated dependencies + - @backstage/repo-tools@0.6.0 + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/catalog-model@1.4.4 + - @backstage/backend-openapi-utils@0.1.3 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-user-settings@0.8.1 + +### Patch Changes + +- 912ca7b: Use `convertLegacyRouteRefs` to define routes in `/alpha` export plugin. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- d5b14a0: conditionally rendering the user name and email in user settings page +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/core-app-api@1.12.0 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-user-settings-backend@0.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-vault@0.1.25 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/core-components@0.14.0 + - @backstage/catalog-model@1.4.4 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-backend@0.4.3 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-tasks@0.5.15 + - @backstage/plugin-vault-node@0.1.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-node@0.1.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10 + +## @backstage/plugin-xcmetrics@0.2.48 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + - @backstage/errors@1.2.3 + +## example-app@0.2.92 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-azure-devops@0.3.12 + - @backstage/frontend-app-api@0.6.0 + - @backstage/plugin-scaffolder-react@1.8.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/plugin-catalog-import@0.10.6 + - @backstage/plugin-catalog-graph@0.4.0 + - @backstage/plugin-catalog@1.17.0 + - @backstage/plugin-azure-sites@0.1.19 + - @backstage/plugin-api-docs@0.11.0 + - @backstage/plugin-adr@0.6.13 + - @backstage/app-defaults@1.5.0 + - @backstage/plugin-gcp-projects@0.3.46 + - @backstage/plugin-airbrake@0.3.30 + - @backstage/plugin-scaffolder@1.18.0 + - @backstage/plugin-devtools@0.1.9 + - @backstage/cli@0.25.2 + - @backstage/core-components@0.14.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5 + - @backstage/plugin-signals@0.0.1 + - @backstage/plugin-kubernetes@0.11.5 + - @backstage/plugin-notifications@0.0.1 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8 + - @backstage/plugin-microsoft-calendar@0.1.12 + - @backstage/plugin-github-actions@0.6.11 + - @backstage/plugin-octopus-deploy@0.2.12 + - @backstage/plugin-techdocs-react@1.1.16 + - @backstage/core-app-api@1.12.0 + - @backstage/plugin-code-coverage@0.2.23 + - @backstage/plugin-cost-insights@0.12.19 + - @backstage/plugin-tech-insights@0.3.22 + - @backstage/plugin-lighthouse@0.4.15 + - @backstage/plugin-tech-radar@0.6.13 + - @backstage/plugin-dynatrace@9.0.0 + - @backstage/plugin-shortcuts@0.3.19 + - @backstage/plugin-graphiql@0.3.3 + - @backstage/plugin-linguist@0.1.15 + - @backstage/plugin-newrelic@0.3.45 + - @backstage/plugin-jenkins@0.9.5 + - @backstage/plugin-rollbar@0.4.30 + - @backstage/plugin-badges@0.2.54 + - @backstage/plugin-sentry@0.5.15 + - @backstage/plugin-nomad@0.1.11 + - @backstage/plugin-home@0.6.2 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-explore@0.4.16 + - @backstage/plugin-user-settings@0.8.1 + - @backstage/plugin-techdocs@1.10.0 + - @backstage/plugin-search@1.4.6 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-playlist@0.2.4 + - @backstage/plugin-apache-airflow@0.2.20 + - @backstage/plugin-cloudbuild@0.4.0 + - @backstage/plugin-entity-feedback@0.2.13 + - @backstage/plugin-gcalendar@0.3.23 + - @backstage/plugin-kafka@0.3.30 + - @backstage/plugin-kubernetes-cluster@0.0.6 + - @backstage/plugin-newrelic-dashboard@0.3.5 + - @backstage/plugin-org@0.6.20 + - @backstage/plugin-pagerduty@0.7.2 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-puppetdb@0.1.13 + - @backstage/plugin-search-react@1.7.6 + - @backstage/plugin-stack-overflow@0.1.25 + - @backstage/plugin-stackstorm@0.1.11 + - @backstage/plugin-gocd@0.1.36 + - @backstage/plugin-todo@0.2.34 + - @backstage/config@1.1.1 + - @backstage/integration-react@1.1.24 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.10 + +## example-app-next@0.0.6 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-azure-devops@0.3.12 + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/frontend-app-api@0.6.0 + - @backstage/plugin-scaffolder-react@1.8.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/plugin-catalog-import@0.10.6 + - @backstage/plugin-catalog-graph@0.4.0 + - @backstage/plugin-catalog@1.17.0 + - @backstage/plugin-azure-sites@0.1.19 + - @backstage/plugin-api-docs@0.11.0 + - @backstage/plugin-adr@0.6.13 + - @backstage/app-defaults@1.5.0 + - @backstage/plugin-gcp-projects@0.3.46 + - @backstage/plugin-airbrake@0.3.30 + - @backstage/plugin-scaffolder@1.18.0 + - @backstage/plugin-devtools@0.1.9 + - @backstage/cli@0.25.2 + - @backstage/core-components@0.14.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5 + - @backstage/plugin-kubernetes@0.11.5 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8 + - @backstage/plugin-microsoft-calendar@0.1.12 + - @backstage/plugin-github-actions@0.6.11 + - @backstage/plugin-octopus-deploy@0.2.12 + - @backstage/plugin-techdocs-react@1.1.16 + - @backstage/core-app-api@1.12.0 + - @backstage/plugin-code-coverage@0.2.23 + - @backstage/plugin-cost-insights@0.12.19 + - @backstage/plugin-tech-insights@0.3.22 + - @backstage/plugin-lighthouse@0.4.15 + - @backstage/plugin-tech-radar@0.6.13 + - @backstage/plugin-dynatrace@9.0.0 + - @backstage/plugin-shortcuts@0.3.19 + - @backstage/plugin-graphiql@0.3.3 + - @backstage/plugin-linguist@0.1.15 + - @backstage/plugin-newrelic@0.3.45 + - @backstage/plugin-jenkins@0.9.5 + - @backstage/plugin-rollbar@0.4.30 + - @backstage/plugin-badges@0.2.54 + - @backstage/plugin-sentry@0.5.15 + - @backstage/plugin-home@0.6.2 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-explore@0.4.16 + - @backstage/plugin-user-settings@0.8.1 + - @backstage/plugin-techdocs@1.10.0 + - @backstage/plugin-search@1.4.6 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-playlist@0.2.4 + - @backstage/plugin-apache-airflow@0.2.20 + - @backstage/plugin-cloudbuild@0.4.0 + - @backstage/plugin-entity-feedback@0.2.13 + - @backstage/plugin-gcalendar@0.3.23 + - @backstage/plugin-kafka@0.3.30 + - @backstage/plugin-newrelic-dashboard@0.3.5 + - @backstage/plugin-org@0.6.20 + - @backstage/plugin-pagerduty@0.7.2 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-puppetdb@0.1.13 + - @backstage/plugin-search-react@1.7.6 + - @backstage/plugin-stackstorm@0.1.11 + - @backstage/plugin-app-visualizer@0.1.1 + - app-next-example-plugin@0.0.6 + - @backstage/plugin-gocd@0.1.36 + - @backstage/plugin-todo@0.2.34 + - @backstage/integration-react@1.1.24 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.10 + +## app-next-example-plugin@0.0.6 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + +## example-backend@0.2.92 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.27 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.7 + - @backstage/plugin-scaffolder-backend@1.21.0 + - @backstage/plugin-badges-backend@0.3.7 + - @backstage/plugin-azure-devops-backend@0.5.2 + - @backstage/plugin-explore-backend@0.0.20 + - @backstage/plugin-auth-backend@0.21.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.42 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/plugin-entity-feedback-backend@0.2.7 + - @backstage/plugin-lighthouse-backend@0.4.2 + - @backstage/plugin-devtools-backend@0.2.7 + - @backstage/plugin-linguist-backend@0.5.7 + - @backstage/plugin-adr-backend@0.4.7 + - @backstage/plugin-kubernetes-backend@0.15.0 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.11 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.13 + - @backstage/plugin-signals-backend@0.0.1 + - @backstage/plugin-signals-node@0.0.1 + - @backstage/plugin-tech-insights-backend@0.5.24 + - @backstage/plugin-tech-insights-node@0.4.16 + - @backstage/plugin-search-backend-module-techdocs@0.1.14 + - @backstage/plugin-search-backend-module-catalog@0.1.14 + - @backstage/plugin-search-backend-module-explore@0.1.14 + - @backstage/plugin-code-coverage-backend@0.2.24 + - @backstage/plugin-playlist-backend@0.3.14 + - @backstage/plugin-catalog-backend@1.17.0 + - @backstage/plugin-jenkins-backend@0.3.4 + - @backstage/plugin-rollbar-backend@0.1.55 + - @backstage/backend-tasks@0.5.15 + - @backstage/plugin-events-backend@0.2.19 + - @backstage/plugin-nomad-backend@0.1.12 + - @backstage/plugin-app-backend@0.3.58 + - @backstage/catalog-model@1.4.4 + - @backstage/integration@1.9.0 + - @backstage/catalog-client@1.6.0 + - @backstage/plugin-search-backend@1.5.0 + - @backstage/plugin-todo-backend@0.3.8 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7 + - @backstage/plugin-techdocs-backend@1.9.3 + - @backstage/plugin-catalog-node@1.7.0 + - @backstage/plugin-azure-sites-common@0.1.2 + - example-app@0.2.92 + - @backstage/plugin-kafka-backend@0.3.8 + - @backstage/plugin-permission-backend@0.5.33 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/plugin-proxy-backend@0.4.8 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.13 + - @backstage/plugin-search-backend-module-pg@0.5.19 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.19 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## example-backend-next@0.0.20 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.7 + - @backstage/plugin-scaffolder-backend@1.21.0 + - @backstage/plugin-badges-backend@0.3.7 + - @backstage/plugin-azure-devops-backend@0.5.2 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/plugin-entity-feedback-backend@0.2.7 + - @backstage/plugin-lighthouse-backend@0.4.2 + - @backstage/plugin-devtools-backend@0.2.7 + - @backstage/plugin-linguist-backend@0.5.7 + - @backstage/plugin-adr-backend@0.4.7 + - @backstage/plugin-kubernetes-backend@0.15.0 + - @backstage/plugin-signals-backend@0.0.1 + - @backstage/plugin-notifications-backend@0.0.1 + - @backstage/plugin-catalog-backend-module-openapi@0.1.27 + - @backstage/plugin-search-backend-module-techdocs@0.1.14 + - @backstage/plugin-search-backend-module-catalog@0.1.14 + - @backstage/plugin-search-backend-module-explore@0.1.14 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/backend-defaults@0.2.10 + - @backstage/plugin-sonarqube-backend@0.2.12 + - @backstage/plugin-playlist-backend@0.3.14 + - @backstage/plugin-catalog-backend@1.17.0 + - @backstage/plugin-jenkins-backend@0.3.4 + - @backstage/backend-tasks@0.5.15 + - @backstage/plugin-nomad-backend@0.1.12 + - @backstage/plugin-app-backend@0.3.58 + - @backstage/plugin-search-backend@1.5.0 + - @backstage/plugin-todo-backend@0.3.8 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.7 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.3 + - @backstage/plugin-techdocs-backend@1.9.3 + - @backstage/plugin-permission-backend@0.5.33 + - @backstage/plugin-permission-node@0.7.21 + - @backstage/plugin-proxy-backend@0.4.8 + - @backstage/plugin-search-backend-node@1.2.14 + - @backstage/plugin-permission-common@0.7.12 + +## e2e-test@0.2.12 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.11 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## techdocs-cli-embedded-app@0.2.91 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog@1.17.0 + - @backstage/app-defaults@1.5.0 + - @backstage/cli@0.25.2 + - @backstage/core-components@0.14.0 + - @backstage/plugin-techdocs-react@1.1.16 + - @backstage/core-app-api@1.12.0 + - @backstage/catalog-model@1.4.4 + - @backstage/test-utils@1.5.0 + - @backstage/plugin-techdocs@1.10.0 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/config@1.1.1 + - @backstage/integration-react@1.1.24 + +## @internal/plugin-todo-list@1.0.22 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-plugin-api@1.9.0 + +## @internal/plugin-todo-list-backend@1.0.22 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0 + - @backstage/plugin-auth-node@0.4.4 + - @backstage/backend-plugin-api@0.6.10 + - @backstage/errors@1.2.3 diff --git a/docs/releases/v1.23.0-next.1-changelog.md b/docs/releases/v1.23.0-next.1-changelog.md index 19bdba21dc..ffda51052e 100644 --- a/docs/releases/v1.23.0-next.1-changelog.md +++ b/docs/releases/v1.23.0-next.1-changelog.md @@ -399,7 +399,7 @@ ### Minor Changes -- af4d147: Updated the styling for code tags to avoid word break. +- af4d147: Updated the styling for `` tags to avoid word break. ### Patch Changes diff --git a/docs/releases/v1.23.0-next.2-changelog.md b/docs/releases/v1.23.0-next.2-changelog.md new file mode 100644 index 0000000000..2830217e39 --- /dev/null +++ b/docs/releases/v1.23.0-next.2-changelog.md @@ -0,0 +1,3549 @@ +# Release v1.23.0-next.2 + +## @backstage/app-defaults@1.5.0-next.2 + +### Minor Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 214f2da: Fix invalid HTTP status code 501 in Error Page +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/theme@0.5.1-next.0 + +## @backstage/core-app-api@1.12.0-next.1 + +### Minor Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-plugin-api@1.9.0-next.1 + +### Minor Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/repo-tools@0.6.0-next.2 + +### Minor Changes + +- 4c62935: **BREAKING**: The `schema openapi *` commands are now renamed into `package schema openapi *` and `repo schema openapi *`. The aim is to make it more clear what the command is operating on, the entire repo or just a single package. + + The following commands now live under the `package` namespace, + + - `schema openapi generate` is now `package schema openapi generate --server` + - `schema openapi generate-client` is now `package schema openapi generate --client-package` + - `schema openapi init` is now `package schema openapi init` + + And these commands live under the new `repo` namespace, + + - `schema openapi lint` is now `repo schema openapi lint` + - `schema openapi test` is now `repo schema openapi test` + - `schema openapi verify` is now `repo schema openapi verify` + + The `package schema openapi generate` now supports defining both `--server` and `--client-package` to generate both at once.This update also reworks the `--client-package` flag to accept only an output directory as the input directory can now be inferred. + +### Patch Changes + +- aa91cd6: Resolved an issue with generate-catalog-info where it was replacing upper case characters with -. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.2 + - @backstage/errors@1.2.3 + +## @backstage/plugin-auth-backend@0.21.0-next.2 + +### Minor Changes + +- 7dd8463: **BREAKING**: The `saml` provider has been migrated from `passport-saml` to `@node-saml/passport-saml`. + + This comes with breaking changes to config options: + + - `audience` is now mandatory + - `wantAuthnResponseSigned` is now exposed and defaults to `true` + - `wantAssertionsSigned` is now exposed and defaults to `true` + +### Patch Changes + +- 97f8724: Support additional algorithms in the `/.well-known/openid-configuration` endpoint. +- a9e0107: The auth backend will now refuse to issue user tokens are excessively large. +- d4cc552: The helper function `makeProfileInfo` and `PassportHelpers.transformProfile` + were refactored to use the `jose` library. +- 8e8a25d: Ability for user to configure backstage token expiration +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.0-next.1 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-auth-backend-module-atlassian-provider@0.1.2-next.2 + - @backstage/plugin-auth-backend-module-github-provider@0.1.7-next.2 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.7-next.2 + - @backstage/plugin-auth-backend-module-google-provider@0.1.7-next.2 + - @backstage/plugin-auth-backend-module-microsoft-provider@0.1.5-next.2 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.7-next.2 + - @backstage/plugin-auth-backend-module-oidc-provider@0.1.0-next.2 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.3-next.2 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.4-next.2 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.2-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-graph@0.4.0-next.2 + +### Minor Changes + +- 3dc64e9: Migrate plugin to the new frontend system, it is experimental and available via alpha subpath. + +### Patch Changes + +- 3e1c6e2: Added possibility to show arrow heads for graph edges for better understandability. + + In order to show arrow heads in the catalog graph page, add `showArrowHeads` attribute to `CatalogGraphPage` component + (typically in `packages/app/src/App.tsx`): + + ```diff + - + + + ``` + + In order to show arrow heads in entity graphs, add `showArrowHeads` attribute to `EntityCatalogGraphCard` components + (typically multiple occurrences in `packages/app/src/components/catalog/EntityPage.tsx`): + + ```diff + - + + + ``` + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-react@1.10.0-next.2 + +### Minor Changes + +- 3dc64e9: Add support to `configSchema` option on the `createEntityCardExtension` factory function. + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-kubernetes-backend@0.15.0-next.2 + +### Minor Changes + +- 666eff5: **BREAKING** The backend will fail to start if two clusters in the app-config + have the same name. The requirement for unique names has been declared in the + docs for some time, but is now enforced. + +### Patch Changes + +- 1c3cb3b: Backstage will log a warning whenever duplicate cluster names are detected -- + even if clusters sharing the same name come from separate locators. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-kubernetes-node@0.1.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-kubernetes-common@0.7.4-next.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-scaffolder@1.18.0-next.2 + +### Minor Changes + +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-scaffolder-react@1.8.0-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.0-next.2 + +### Minor Changes + +- 5eb6882: Split `@backstage/plugin-scaffolder-backend-module-bitbucket` into + `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud` and + `@backstage/plugin-scaffolder-backend-module-bitbucket-server`. + + `@backstage/plugin-scaffolder-backend-module-bitbucket` was **deprecated** in favor of these two replacements. + + Please use any of the two replacements depending on your needs. + + ```diff + - backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket')); + + backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-cloud')); + + backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-server')); + ``` + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0-next.0 + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0-next.0 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0-next.0 + +### Minor Changes + +- 5eb6882: New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud`. + + Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` + and replaces its actions related to Bitbucket Cloud. + + - `publish:bitbucketCloud` + - `bitbucket:pipelines:run` + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0-next.0 + +### Minor Changes + +- 5eb6882: New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-server`. + + Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` + and replaces its actions related to Bitbucket Server. + + - `publish:bitbucketServer` + - `publish:bitbucketServer:pull-request` + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/backend-app-api@0.5.11-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/config@1.1.1 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.2 + - @backstage/config-loader@1.6.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-common@0.21.0-next.2 + +### Patch Changes + +- 3489d05: `FetchUrlReader#readUrl()` now supports passing an optional `token` to authenticate requests. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 7fb7a79: Add a config declaration for `workingDirectory` +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-dev-utils@0.1.4-next.0 + - @backstage/backend-app-api@0.5.11-next.2 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/cli-common@0.1.13 + - @backstage/config-loader@1.6.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + +## @backstage/backend-defaults@0.2.10-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-app-api@0.5.11-next.2 + +## @backstage/backend-dev-utils@0.1.4-next.0 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +## @backstage/backend-dynamic-feature-service@0.1.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-catalog-backend@1.17.0-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-events-backend@0.2.19-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.2 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/backend-openapi-utils@0.1.3-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/errors@1.2.3 + +## @backstage/backend-plugin-api@0.6.10-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/backend-tasks@0.5.15-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-test-utils@0.3.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-app-api@0.5.11-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/cli@0.25.2-next.2 + +### Patch Changes + +- 52ae6b9: Updated dependency `esbuild` to `^0.20.0`. +- 5c05f8a: Harmonize the package naming and allow custom prefix +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/release-manifests@0.0.11 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/cli-node@0.2.2 + - @backstage/config-loader@1.6.1 + - @backstage/errors@1.2.3 + - @backstage/eslint-plugin@0.1.5-next.0 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + +## @backstage/core-compat-api@0.2.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-components@0.14.0-next.1 + +### Patch Changes + +- 3e1c6e2: Added possibility to show arrow heads for graph edges for better understandability. + + In order to show arrow heads in the catalog graph page, add `showArrowHeads` attribute to `CatalogGraphPage` component + (typically in `packages/app/src/App.tsx`): + + ```diff + - + + + ``` + + In order to show arrow heads in entity graphs, add `showArrowHeads` attribute to `EntityCatalogGraphCard` components + (typically multiple occurrences in `packages/app/src/components/catalog/EntityPage.tsx`): + + ```diff + - + + + ``` + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs + +- 214f2da: Fix invalid HTTP status code 501 in Error Page + +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/theme@0.5.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/version-bridge@1.0.7 + +## @backstage/create-app@0.5.11-next.2 + +### Patch Changes + +- c420081: Add a seed file for `yarn.lock` in newly created apps. This file is downloaded directly from `https://github.com/backstage/backstage` at the time of creating a new project, ensuring that users always receive the latest version. The purpose of the seed file is to initialize the lock file with known good versions of individual dependencies that have had bad new releases published. The seed file will have no effect if the dependency is not present, it can not be used to install additional packages. +- f71352c: Bumped TypeScript to version `5.3`. +- Updated dependencies + - @backstage/cli-common@0.1.13 + +## @backstage/dev-utils@1.0.27-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/app-defaults@1.5.0-next.2 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/frontend-app-api@0.6.0-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-plugin-api@0.6.0-next.2 + +### Patch Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-test-utils@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/frontend-app-api@0.6.0-next.2 + - @backstage/test-utils@1.5.0-next.2 + - @backstage/types@1.1.1 + +## @backstage/integration-react@1.1.24-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/config@1.1.1 + - @backstage/integration@1.9.0-next.0 + +## @techdocs/cli@1.8.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-techdocs-node@1.11.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/cli-common@0.1.13 + +## @backstage/test-utils@1.5.0-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/theme@0.5.1-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/theme@0.5.1-next.0 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +## @backstage/plugin-adr@0.6.13-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-adr-common@0.2.20-next.0 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-adr-backend@0.4.7-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-adr-common@0.2.20-next.0 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-airbrake@0.3.30-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/dev-utils@1.0.27-next.2 + - @backstage/test-utils@1.5.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-airbrake-backend@0.3.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-allure@0.1.46-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-analytics-module-ga@0.2.0-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-analytics-module-ga4@0.2.0-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-analytics-module-newrelic-browser@0.1.0-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-apache-airflow@0.2.20-next.1 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-api-docs@0.10.4-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-catalog@1.17.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-api-docs-module-protoc-gen-doc@0.1.6-next.0 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. + +## @backstage/plugin-apollo-explorer@0.1.20-next.1 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-app-backend@0.3.58-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 998ccf6: Support injecting config multiple times in a single bundle +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-app-node@0.1.10-next.2 + - @backstage/config@1.1.1 + - @backstage/config-loader@1.6.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-app-node@0.1.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + +## @backstage/plugin-app-visualizer@0.1.1-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + +## @backstage/plugin-auth-backend-module-atlassian-provider@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + +## @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.0-next.1 + +### Patch Changes + +- d309cad: Refactored to use the `jose` library for JWT handling. +- Updated dependencies + - @backstage/plugin-auth-backend@0.21.0-next.2 + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/errors@1.2.3 + +## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.4-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-backend-module-github-provider@0.1.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + +## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + +## @backstage/plugin-auth-backend-module-google-provider@0.1.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + +## @backstage/plugin-auth-backend-module-microsoft-provider@0.1.5-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + +## @backstage/plugin-auth-backend-module-oauth2-provider@0.1.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + +## @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/errors@1.2.3 + +## @backstage/plugin-auth-backend-module-oidc-provider@0.1.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-backend@0.21.0-next.2 + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + +## @backstage/plugin-auth-backend-module-okta-provider@0.0.3-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + +## @backstage/plugin-auth-backend-module-pinniped-provider@0.1.4-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-auth-backend-module-vmware-cloud-provider@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-auth-node@0.4.4-next.2 + +### Patch Changes + +- d4cc552: The helper function `makeProfileInfo` and `PassportHelpers.transformProfile` + were refactored to use the `jose` library. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-azure-devops@0.3.12-next.2 + +### Patch Changes + +- e2083df: Added alpha support for the New Frontend System (Declarative Integration) +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-azure-devops-common@0.3.2 + +## @backstage/plugin-azure-devops-backend@0.5.2-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-azure-sites@0.1.19-next.2 + +### Patch Changes + +- 09a9c95: Updated README +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/theme@0.5.1-next.0 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-azure-sites-common@0.1.2-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-azure-sites-backend@0.2.0-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 4376655: Added `permissionIntegrationRouter` for azure-sites-backend routes +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-azure-sites-common@0.1.2-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-badges@0.2.54-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-badges-backend@0.3.7-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar@0.2.22-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar-backend@0.3.8-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-bitrise@0.1.57-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-catalog@1.17.0-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-catalog-backend@1.17.0-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/repo-tools@0.6.0-next.2 + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-search-backend-module-catalog@0.1.14-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/backend-openapi-utils@0.1.3-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-backend-module-aws@0.3.4-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-kubernetes-common@0.7.4-next.1 + +## @backstage/plugin-catalog-backend-module-azure@0.1.29-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.3-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/backend-openapi-utils@0.1.3-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.25-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.16-next.1 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.25-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.16-next.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.23-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-catalog-backend-module-gcp@0.1.10-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-kubernetes-common@0.7.4-next.1 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.26-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-catalog-backend-module-github@0.5.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-catalog-backend@1.17.0-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-github-org@0.1.4-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-backend-module-github@0.5.0-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gitlab@0.3.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.14-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-catalog-backend@1.17.0-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.25-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.17-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.27-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-catalog-backend@1.17.0-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.15-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- bc644fb: Added `latest_report_status` parameter from the PuppetDB node api and added it as a tag to the nodes. The status is valuable information as it displays which nodes are compliant to your configuration and which ones are failing are making changes. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-catalog-backend-module-unprocessed@0.3.7-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-catalog-import@0.10.6-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-node@1.6.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-cicd-statistics@0.1.32-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.26-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-cicd-statistics@0.1.32-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-circleci@0.3.30-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-cloudbuild@0.4.0-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-code-climate@0.1.30-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-code-coverage@0.2.23-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-code-coverage-backend@0.2.24-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-codescene@0.1.22-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-config-schema@0.1.50-next.1 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-cost-insights@0.12.19-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-cost-insights-common@0.1.2 + +## @backstage/plugin-devtools@0.1.9-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/errors@1.2.3 + - @backstage/plugin-devtools-common@0.1.8 + +## @backstage/plugin-devtools-backend@0.2.7-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/config@1.1.1 + - @backstage/cli-common@0.1.13 + - @backstage/config-loader@1.6.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.8 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-dynatrace@9.0.0-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-entity-feedback@0.2.13-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-feedback-backend@0.2.7-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-validation@0.1.15-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-events-backend@0.2.19-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-events-backend-module-aws-sqs@0.2.13-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-events-backend-module-azure@0.1.20-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.20-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + +## @backstage/plugin-events-backend-module-gerrit@0.1.20-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + +## @backstage/plugin-events-backend-module-github@0.1.20-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-events-backend-module-gitlab@0.1.20-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-events-backend-test-utils@0.1.20-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.19-next.2 + +## @backstage/plugin-events-node@0.2.19-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + +## @backstage/plugin-explore@0.4.16-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 796d427: Use the EntityDisplayName component for rendering Group nodes +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/plugin-explore-react@0.0.36-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-explore-backend@0.0.20-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-search-backend-module-explore@0.1.14-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-explore-react@0.0.36-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-firehydrant@0.2.14-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-fossa@0.2.62-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcalendar@0.3.23-next.1 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcp-projects@0.3.46-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-git-release-manager@0.3.42-next.1 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-github-actions@0.6.11-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-github-deployments@0.1.61-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-github-issues@0.2.19-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-github-pull-requests-board@0.1.24-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-gitops-profiles@0.3.45-next.1 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-gocd@0.1.36-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-graphiql@0.3.3-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + +## @backstage/plugin-graphql-voyager@0.1.12-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-home@0.6.2-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- dc7ae8b: Use EntityDisplayName JSX element entity information directly for FeaturedDocsCard. +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/plugin-home-react@0.1.8-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-home-react@0.1.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-ilert@0.2.19-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-jenkins@0.9.5-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.24-next.0 + +## @backstage/plugin-jenkins-backend@0.3.4-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.24-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-kafka@0.3.30-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-kafka-backend@0.3.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-kubernetes@0.11.5-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-kubernetes-react@0.3.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-kubernetes-common@0.7.4-next.1 + +## @backstage/plugin-kubernetes-cluster@0.0.6-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-kubernetes-react@0.3.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-kubernetes-common@0.7.4-next.1 + +## @backstage/plugin-kubernetes-node@0.1.4-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/types@1.1.1 + - @backstage/plugin-kubernetes-common@0.7.4-next.1 + +## @backstage/plugin-kubernetes-react@0.3.0-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-kubernetes-common@0.7.4-next.1 + +## @backstage/plugin-lighthouse@0.4.15-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-lighthouse-backend@0.4.2-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/types@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-linguist@0.1.15-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-linguist-backend@0.5.7-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-microsoft-calendar@0.1.12-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-newrelic@0.3.45-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-newrelic-dashboard@0.3.5-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-nomad@0.1.11-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-nomad-backend@0.1.12-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-notifications@0.0.1-next.0 + +### Patch Changes + +- fb8fc24: Initial notifications system for backstage +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-signals-react@0.0.1-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/theme@0.5.1-next.0 + - @backstage/plugin-notifications-common@0.0.1-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-notifications-backend@0.0.1-next.0 + +### Patch Changes + +- fb8fc24: Initial notifications system for backstage +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-signals-node@0.0.1-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-notifications-common@0.0.1-next.0 + - @backstage/plugin-notifications-node@0.0.1-next.0 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-notifications-common@0.0.1-next.0 + +### Patch Changes + +- fb8fc24: Initial notifications system for backstage + +## @backstage/plugin-notifications-node@0.0.1-next.0 + +### Patch Changes + +- fb8fc24: Initial notifications system for backstage +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-signals-node@0.0.1-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-notifications-common@0.0.1-next.0 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-octopus-deploy@0.2.12-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-opencost@0.2.5-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 03c5bbe: Updated dependency `date-fns` to `^3.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-org@0.6.20-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 6e1bf50: Added basic support for the new frontend system, exported from the `/alpha` subpath. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-org-react@0.1.19-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-pagerduty@0.7.2-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-home-react@0.1.8-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop@0.1.28-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop-backend@0.2.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-permission-backend@0.5.33-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.7-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-permission-node@0.7.21-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-permission-react@0.4.20-next.1 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/config@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-playlist@0.2.4-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-playlist-common@0.1.14 + +## @backstage/plugin-playlist-backend@0.3.14-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-playlist-common@0.1.14 + +## @backstage/plugin-proxy-backend@0.4.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-puppetdb@0.1.13-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-rollbar@0.4.30-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-rollbar-backend@0.1.55-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/config@1.1.1 + +## @backstage/plugin-scaffolder-backend@1.21.0-next.2 + +### Patch Changes + +- 5eb6882: New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-server`. + + Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` + and replaces its actions related to Bitbucket Server. + + - `publish:bitbucketServer` + - `publish:bitbucketServer:pull-request` + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 52ae6b9: Updated dependency `esbuild` to `^0.20.0`. + +- 5eb6882: New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud`. + + Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket` + and replaces its actions related to Bitbucket Cloud. + + - `publish:bitbucketCloud` + - `bitbucket:pipelines:run` + +- Updated dependencies + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0-next.0 + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.0-next.2 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.13-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0-next.0 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.2-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.2-next.2 + - @backstage/plugin-scaffolder-backend-module-github@0.2.0-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-scaffolder-backend-module-azure@0.1.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.11-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.34-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-gerrit@0.1.2-next.2 + +### Patch Changes + +- 8b269e1: Provide default branch when creating repositories. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-github@0.2.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.2.13-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.27-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.18-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.31-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-scaffolder-node@0.3.0-next.2 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-node@0.3.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-scaffolder-react@1.8.0-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- 2985186: Fix bug that erroneously caused a separator or a 0 to render in the TemplateCard for Templates with empty links +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-search@1.4.6-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend@1.5.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/backend-openapi-utils@0.1.3-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-catalog@0.1.14-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-elasticsearch@1.3.13-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-explore@0.1.14-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/config@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-pg@0.5.19-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.3-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-techdocs@0.1.14-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/plugin-techdocs-node@1.11.2-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-node@1.2.14-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-react@1.7.6-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-sentry@0.5.15-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-shortcuts@0.3.19-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/theme@0.5.1-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals@0.0.1-next.2 + +### Patch Changes + +- 447d210: Fix disconnect loop on server start +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-signals-react@0.0.1-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/theme@0.5.1-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals-backend@0.0.1-next.2 + +### Patch Changes + +- 447d210: Fix disconnect loop on server start +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-signals-node@0.0.1-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals-node@0.0.1-next.2 + +### Patch Changes + +- 447d210: Fix disconnect loop on server start +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals-react@0.0.1-next.2 + +### Patch Changes + +- 447d210: Fix disconnect loop on server start +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-sonarqube@0.7.12-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-sonarqube-react@0.1.13-next.1 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-sonarqube-backend@0.2.12-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-sonarqube-react@0.1.13-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-splunk-on-call@0.4.19-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-stack-overflow@0.1.25-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/plugin-home-react@0.1.8-next.2 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-stack-overflow-backend@0.2.14-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.3-next.2 + +## @backstage/plugin-stackstorm@0.1.11-next.1 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-tech-insights@0.3.22-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend@0.5.24-next.2 + +### Patch Changes + +- 7201af3: Add support for the new backend system. + + A new backend plugin for the tech-insights backend + was added and exported as `default`. + + You can use it with the new backend system like + + ```ts title="packages/backend/src/index.ts" + backend.add(import('@backstage/plugin-tech-insights-backend')); + ``` + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- 341c2a2: Move `FactRetrieverRegistry` and `PersistenceContext` to `@backstage/plugin-tech-insights-node`. + + Original exports are marked as deprecated and re-export the moved types. + + Please replace uses like + + ```ts + import { + FactRetrieverRegistry, + PersistenceContext, + } from '@backstage/plugin-tech-insights-backend'; + ``` + + with + + ```ts + import { + FactRetrieverRegistry, + PersistenceContext, + } from '@backstage/plugin-tech-insights-node'; + ``` + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-tech-insights-node@0.4.16-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.42-next.2 + +### Patch Changes + +- 25cfb76: Add support for the new backend system. + + A new backend module for the tech-insights backend + was added and exported as `default`. + + The module will register the `JsonRulesEngineFactCheckerFactory` + as `FactCheckerFactory`, loading checks from the config. + + You can use it with the new backend system like + + ```ts title="packages/backend/src/index.ts" + backend.add(import('@backstage/plugin-tech-insights-backend-module-jsonfc')); + ``` + +- bc72782: Support loading `TechInsightsJsonRuleCheck` instances from config. + + Uses the check `id` as key. + + Example: + + ```yaml title="app-config.yaml" + techInsights: + factChecker: + checks: + groupOwnerCheck: + type: json-rules-engine + name: Group Owner Check + description: Verifies that a group has been set as the spec.owner for this entity + factIds: + - entityOwnershipFactRetriever + rule: + conditions: + all: + - fact: hasGroupOwner + operator: equal + value: true + ``` + +- 9aac2b0: Use `--cwd` as the first `yarn` argument + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-tech-insights-node@0.4.16-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-node@0.4.16-next.2 + +### Patch Changes + +- 7201af3: Add support for the new backend system. + + A new backend plugin for the tech-insights backend + was added and exported as `default`. + + You can use it with the new backend system like + + ```ts title="packages/backend/src/index.ts" + backend.add(import('@backstage/plugin-tech-insights-backend')); + ``` + +- 341c2a2: Move `FactRetrieverRegistry` and `PersistenceContext` to `@backstage/plugin-tech-insights-node`. + + Original exports are marked as deprecated and re-export the moved types. + + Please replace uses like + + ```ts + import { + FactRetrieverRegistry, + PersistenceContext, + } from '@backstage/plugin-tech-insights-backend'; + ``` + + with + + ```ts + import { + FactRetrieverRegistry, + PersistenceContext, + } from '@backstage/plugin-tech-insights-node'; + ``` + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-radar@0.6.13-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + +## @backstage/plugin-techdocs@1.10.0-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-techdocs-react@1.1.16-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.27-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.1.16-next.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/plugin-catalog@1.17.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/plugin-techdocs@1.10.0-next.2 + - @backstage/test-utils@1.5.0-next.2 + - @backstage/integration-react@1.1.24-next.1 + +## @backstage/plugin-techdocs-backend@1.9.3-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-search-backend-module-techdocs@0.1.14-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-techdocs-node@1.11.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.2 + +### Patch Changes + +- ab9c9eb: Fixed the value label text color in dark mode for the TextSize addon. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-techdocs-react@1.1.16-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-techdocs-node@1.11.2-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/config@1.1.1 + - @backstage/integration-aws-node@0.1.8 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-techdocs-react@1.1.16-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/version-bridge@1.0.7 + +## @backstage/plugin-todo@0.2.34-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-todo-backend@0.3.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/repo-tools@0.6.0-next.2 + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-openapi-utils@0.1.3-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/integration@1.9.0-next.0 + +## @backstage/plugin-user-settings@0.8.1-next.2 + +### Patch Changes + +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- d5b14a0: conditionally rendering the user name and email in user settings page +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-user-settings-backend@0.2.9-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-vault@0.1.25-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-backend@0.4.3-next.2 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-vault-node@0.1.3-next.2 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-node@0.1.3-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.2 + +## @backstage/plugin-xcmetrics@0.2.48-next.1 + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 8fe56a8: Widen `@types/react` dependency range to include version 18. +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## example-app@0.2.92-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-azure-devops@0.3.12-next.2 + - @backstage/plugin-azure-sites@0.1.19-next.2 + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-catalog-graph@0.4.0-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.2 + - @backstage/plugin-signals@0.0.1-next.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.1 + - @backstage/plugin-microsoft-calendar@0.1.12-next.1 + - @backstage/plugin-catalog-import@0.10.6-next.2 + - @backstage/plugin-github-actions@0.6.11-next.2 + - @backstage/plugin-octopus-deploy@0.2.12-next.2 + - @backstage/plugin-techdocs-react@1.1.16-next.1 + - @backstage/app-defaults@1.5.0-next.2 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/plugin-code-coverage@0.2.23-next.2 + - @backstage/plugin-cost-insights@0.12.19-next.2 + - @backstage/plugin-tech-insights@0.3.22-next.2 + - @backstage/plugin-lighthouse@0.4.15-next.2 + - @backstage/plugin-scaffolder@1.18.0-next.2 + - @backstage/plugin-tech-radar@0.6.13-next.2 + - @backstage/plugin-dynatrace@9.0.0-next.2 + - @backstage/plugin-shortcuts@0.3.19-next.1 + - @backstage/plugin-airbrake@0.3.30-next.2 + - @backstage/plugin-api-docs@0.10.4-next.2 + - @backstage/plugin-devtools@0.1.9-next.2 + - @backstage/plugin-graphiql@0.3.3-next.2 + - @backstage/plugin-linguist@0.1.15-next.2 + - @backstage/plugin-newrelic@0.3.45-next.1 + - @backstage/plugin-catalog@1.17.0-next.2 + - @backstage/plugin-jenkins@0.9.5-next.2 + - @backstage/plugin-rollbar@0.4.30-next.2 + - @backstage/plugin-badges@0.2.54-next.2 + - @backstage/plugin-sentry@0.5.15-next.2 + - @backstage/plugin-nomad@0.1.11-next.2 + - @backstage/plugin-home@0.6.2-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/frontend-app-api@0.6.0-next.2 + - @backstage/plugin-adr@0.6.13-next.2 + - @backstage/plugin-apache-airflow@0.2.20-next.1 + - @backstage/plugin-cloudbuild@0.4.0-next.2 + - @backstage/plugin-entity-feedback@0.2.13-next.2 + - @backstage/plugin-explore@0.4.16-next.2 + - @backstage/plugin-gcalendar@0.3.23-next.1 + - @backstage/plugin-kafka@0.3.30-next.2 + - @backstage/plugin-kubernetes-cluster@0.0.6-next.2 + - @backstage/plugin-kubernetes@0.11.5-next.2 + - @backstage/plugin-newrelic-dashboard@0.3.5-next.2 + - @backstage/plugin-org@0.6.20-next.2 + - @backstage/plugin-pagerduty@0.7.2-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-playlist@0.2.4-next.2 + - @backstage/plugin-puppetdb@0.1.13-next.2 + - @backstage/plugin-scaffolder-react@1.8.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/plugin-search@1.4.6-next.2 + - @backstage/plugin-stack-overflow@0.1.25-next.2 + - @backstage/plugin-stackstorm@0.1.11-next.1 + - @backstage/plugin-techdocs@1.10.0-next.2 + - @backstage/plugin-user-settings@0.8.1-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/cli@0.25.2-next.2 + - @backstage/plugin-notifications@0.0.1-next.0 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/plugin-gcp-projects@0.3.46-next.1 + - @backstage/plugin-gocd@0.1.36-next.2 + - @backstage/plugin-todo@0.2.34-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.10 + +## example-app-next@0.0.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-azure-devops@0.3.12-next.2 + - @backstage/plugin-azure-sites@0.1.19-next.2 + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-catalog-graph@0.4.0-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.1 + - @backstage/plugin-microsoft-calendar@0.1.12-next.1 + - @backstage/plugin-catalog-import@0.10.6-next.2 + - @backstage/plugin-github-actions@0.6.11-next.2 + - @backstage/plugin-octopus-deploy@0.2.12-next.2 + - @backstage/plugin-techdocs-react@1.1.16-next.1 + - @backstage/app-defaults@1.5.0-next.2 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/plugin-code-coverage@0.2.23-next.2 + - @backstage/plugin-cost-insights@0.12.19-next.2 + - @backstage/plugin-tech-insights@0.3.22-next.2 + - @backstage/plugin-lighthouse@0.4.15-next.2 + - @backstage/plugin-scaffolder@1.18.0-next.2 + - @backstage/plugin-tech-radar@0.6.13-next.2 + - @backstage/plugin-dynatrace@9.0.0-next.2 + - @backstage/plugin-shortcuts@0.3.19-next.1 + - @backstage/plugin-airbrake@0.3.30-next.2 + - @backstage/plugin-api-docs@0.10.4-next.2 + - @backstage/plugin-devtools@0.1.9-next.2 + - @backstage/plugin-graphiql@0.3.3-next.2 + - @backstage/plugin-linguist@0.1.15-next.2 + - @backstage/plugin-newrelic@0.3.45-next.1 + - @backstage/plugin-catalog@1.17.0-next.2 + - @backstage/plugin-jenkins@0.9.5-next.2 + - @backstage/plugin-rollbar@0.4.30-next.2 + - @backstage/plugin-badges@0.2.54-next.2 + - @backstage/plugin-sentry@0.5.15-next.2 + - @backstage/plugin-home@0.6.2-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/frontend-app-api@0.6.0-next.2 + - @backstage/plugin-adr@0.6.13-next.2 + - @backstage/plugin-apache-airflow@0.2.20-next.1 + - @backstage/plugin-cloudbuild@0.4.0-next.2 + - @backstage/plugin-entity-feedback@0.2.13-next.2 + - @backstage/plugin-explore@0.4.16-next.2 + - @backstage/plugin-gcalendar@0.3.23-next.1 + - @backstage/plugin-kafka@0.3.30-next.2 + - @backstage/plugin-kubernetes@0.11.5-next.2 + - @backstage/plugin-newrelic-dashboard@0.3.5-next.2 + - @backstage/plugin-org@0.6.20-next.2 + - @backstage/plugin-pagerduty@0.7.2-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-playlist@0.2.4-next.2 + - @backstage/plugin-puppetdb@0.1.13-next.2 + - @backstage/plugin-scaffolder-react@1.8.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/plugin-search@1.4.6-next.2 + - @backstage/plugin-stackstorm@0.1.11-next.1 + - @backstage/plugin-techdocs@1.10.0-next.2 + - @backstage/plugin-user-settings@0.8.1-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/cli@0.25.2-next.2 + - app-next-example-plugin@0.0.6-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/plugin-app-visualizer@0.1.1-next.2 + - @backstage/plugin-gcp-projects@0.3.46-next.1 + - @backstage/plugin-gocd@0.1.36-next.2 + - @backstage/plugin-todo@0.2.34-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.10 + +## app-next-example-plugin@0.0.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + +## example-backend@0.2.92-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.21.0-next.2 + - @backstage/plugin-auth-backend@0.21.0-next.2 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.42-next.2 + - @backstage/backend-common@0.21.0-next.2 + - @backstage/plugin-signals-backend@0.0.1-next.2 + - @backstage/plugin-signals-node@0.0.1-next.2 + - @backstage/plugin-kubernetes-backend@0.15.0-next.2 + - @backstage/plugin-tech-insights-backend@0.5.24-next.2 + - @backstage/plugin-tech-insights-node@0.4.16-next.2 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.11-next.2 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.7-next.2 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.27-next.2 + - @backstage/plugin-search-backend-module-techdocs@0.1.14-next.2 + - @backstage/plugin-search-backend-module-catalog@0.1.14-next.2 + - @backstage/plugin-search-backend-module-explore@0.1.14-next.2 + - @backstage/plugin-entity-feedback-backend@0.2.7-next.2 + - @backstage/plugin-code-coverage-backend@0.2.24-next.2 + - @backstage/plugin-azure-devops-backend@0.5.2-next.2 + - @backstage/plugin-lighthouse-backend@0.4.2-next.2 + - @backstage/plugin-devtools-backend@0.2.7-next.2 + - @backstage/plugin-linguist-backend@0.5.7-next.2 + - @backstage/plugin-playlist-backend@0.3.14-next.2 + - @backstage/plugin-catalog-backend@1.17.0-next.2 + - @backstage/plugin-explore-backend@0.0.20-next.2 + - @backstage/plugin-jenkins-backend@0.3.4-next.2 + - @backstage/plugin-rollbar-backend@0.1.55-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-badges-backend@0.3.7-next.2 + - @backstage/plugin-events-backend@0.2.19-next.2 + - @backstage/plugin-nomad-backend@0.1.12-next.2 + - @backstage/plugin-adr-backend@0.4.7-next.2 + - @backstage/plugin-app-backend@0.3.58-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - example-app@0.2.92-next.2 + - @backstage/plugin-todo-backend@0.3.8-next.2 + - @backstage/plugin-kafka-backend@0.3.8-next.2 + - @backstage/plugin-permission-backend@0.5.33-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/plugin-proxy-backend@0.4.8-next.2 + - @backstage/plugin-search-backend@1.5.0-next.2 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.13-next.2 + - @backstage/plugin-search-backend-module-pg@0.5.19-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/plugin-techdocs-backend@1.9.3-next.2 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7-next.2 + - @backstage/plugin-catalog-node@1.6.2-next.2 + - @backstage/plugin-events-node@0.2.19-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/integration@1.9.0-next.0 + - @backstage/plugin-azure-sites-common@0.1.2-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## example-backend-next@0.0.20-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.21.0-next.2 + - @backstage/plugin-signals-backend@0.0.1-next.2 + - @backstage/plugin-kubernetes-backend@0.15.0-next.2 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.7-next.2 + - @backstage/plugin-catalog-backend-module-openapi@0.1.27-next.2 + - @backstage/plugin-search-backend-module-techdocs@0.1.14-next.2 + - @backstage/plugin-search-backend-module-catalog@0.1.14-next.2 + - @backstage/plugin-search-backend-module-explore@0.1.14-next.2 + - @backstage/plugin-entity-feedback-backend@0.2.7-next.2 + - @backstage/plugin-azure-devops-backend@0.5.2-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-lighthouse-backend@0.4.2-next.2 + - @backstage/backend-defaults@0.2.10-next.2 + - @backstage/plugin-sonarqube-backend@0.2.12-next.2 + - @backstage/plugin-devtools-backend@0.2.7-next.2 + - @backstage/plugin-linguist-backend@0.5.7-next.2 + - @backstage/plugin-playlist-backend@0.3.14-next.2 + - @backstage/plugin-catalog-backend@1.17.0-next.2 + - @backstage/plugin-jenkins-backend@0.3.4-next.2 + - @backstage/backend-tasks@0.5.15-next.2 + - @backstage/plugin-badges-backend@0.3.7-next.2 + - @backstage/plugin-nomad-backend@0.1.12-next.2 + - @backstage/plugin-adr-backend@0.4.7-next.2 + - @backstage/plugin-app-backend@0.3.58-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/plugin-notifications-backend@0.0.1-next.0 + - @backstage/plugin-todo-backend@0.3.8-next.2 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.3-next.2 + - @backstage/plugin-permission-backend@0.5.33-next.2 + - @backstage/plugin-permission-node@0.7.21-next.2 + - @backstage/plugin-proxy-backend@0.4.8-next.2 + - @backstage/plugin-search-backend@1.5.0-next.2 + - @backstage/plugin-search-backend-node@1.2.14-next.2 + - @backstage/plugin-techdocs-backend@1.9.3-next.2 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7-next.2 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.7-next.2 + - @backstage/plugin-permission-common@0.7.12 + +## e2e-test@0.2.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.11-next.2 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## techdocs-cli-embedded-app@0.2.91-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-techdocs-react@1.1.16-next.1 + - @backstage/app-defaults@1.5.0-next.2 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/plugin-catalog@1.17.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-techdocs@1.10.0-next.2 + - @backstage/test-utils@1.5.0-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/cli@0.25.2-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + +## @internal/plugin-todo-list@1.0.22-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @internal/plugin-todo-list-backend@1.0.22-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.2 + - @backstage/backend-plugin-api@0.6.10-next.2 + - @backstage/plugin-auth-node@0.4.4-next.2 + - @backstage/errors@1.2.3 diff --git a/docs/releases/v1.23.0-next.3-changelog.md b/docs/releases/v1.23.0-next.3-changelog.md new file mode 100644 index 0000000000..e23129522d --- /dev/null +++ b/docs/releases/v1.23.0-next.3-changelog.md @@ -0,0 +1,3229 @@ +# Release v1.23.0-next.3 + +## @backstage/backend-common@0.21.0-next.3 + +### Minor Changes + +- bbe374e: **BREAKING**: `A gitilesBaseUrl` must be provided for the Gerrit integration to work. + You can disable this check by setting `DISABLE_GERRIT_GITILES_REQUIREMENT=1` but + this will be removed in a future release. If you are not able to use the Gitiles + Gerrit plugin, please open an issue towards `https://github.com/backstage/backstage` + +### Patch Changes + +- 6707216: Added a new `LegacyRootDatabaseService` interface that can be used to avoid direct dependencies on the `DatabaseManager`. +- 842171a: Fix a bug with S3 Fetch that caused all objects to be flattened within a single folder on the local file system. +- ece5a8f: Add a User-Agent header for calls towards Google Cloud Storage. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/integration-aws-node@0.1.9-next.0 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-app-api@0.5.11-next.3 + - @backstage/config-loader@1.6.2-next.0 + - @backstage/backend-dev-utils@0.1.4-next.0 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-dynamic-feature-service@0.2.0-next.3 + +### Minor Changes + +- d7adbbf: Implement the discovery of additional individual configuration schemas for dynamic plugins, and provide: + + - an alternate implementation of the root logger service that takes them into account, + - an extension to the App backend plugin to set a global configuration schema that takes them into account. + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/cli-node@0.2.3-next.0 + - @backstage/backend-app-api@0.5.11-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/config-loader@1.6.2-next.0 + - @backstage/plugin-app-node@0.1.10-next.3 + - @backstage/plugin-catalog-backend@1.17.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-events-backend@0.2.19-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.19-next.3 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-api-docs@0.11.0-next.3 + +### Minor Changes + +- 172a717: Migrate the `api-docs` to the new frontend system. It is experimental and available via alpha subpath. + +### Patch Changes + +- 874e8cf: Updated README to list AsyncApi v3 as supported +- Updated dependencies + - @backstage/plugin-catalog@1.17.0-next.3 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-react@0.4.20-next.1 + +## @backstage/plugin-catalog@1.17.0-next.3 + +### Minor Changes + +- 1f8c2fa: Add entity warning components to the default entity overview page. + +### Patch Changes + +- 172a717: Fix entity content extension filtering. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + +## @backstage/plugin-kubernetes-react@0.3.0-next.3 + +### Minor Changes + +- 0dfc185: **BREAKING** The `PodScope`, `PodAndErrors`, and `PodExecTerminalProps` types no + longer have a `clusterName` field; instead they now have the field `cluster` + which contains the full `ClusterAttributes`. + +### Patch Changes + +- 5bf0c17: Pod dialogs display cluster title when specified. +- 74770c8: The `ErrorPanel` component will display the `title` field (when specified) for + clusters with errors. +- b01c86c: The `ErrorReporting` component's cluster column now displays cluster titles when + specified. +- 8472188: Added or fixed the `repository` field in `package.json`. +- 2b305eb: The `Cluster` component now renders the cluster's title, if specified. +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.4-next.2 + - @backstage/core-components@0.14.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/app-defaults@1.5.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-permission-react@0.4.20-next.1 + +## @backstage/backend-app-api@0.5.11-next.3 + +### Patch Changes + +- 54ad8e1: Allow the `createConfigSecretEnumerator` to take an optional `schema` argument with an already-loaded global configuration schema. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/cli-node@0.2.3-next.0 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/config-loader@1.6.2-next.0 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-defaults@0.2.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-app-api@0.5.11-next.3 + +## @backstage/backend-openapi-utils@0.1.3-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/errors@1.2.3 + +## @backstage/backend-plugin-api@0.6.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/backend-tasks@0.5.15-next.3 + +### Patch Changes + +- 6707216: The `TaskScheduler.fromConfig` method now accepts the `LegacyRootDatabaseService` interface rather than the full `DatabaseManager` implementation. +- b68248b: Updated dependency `cron` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-test-utils@0.3.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-app-api@0.5.11-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/cli@0.25.2-next.3 + +### Patch Changes + +- d557d47: Added check for the `repository` field in the `repo fix` command. +- c52e7d5: Make `http://localhost:3000` the default base URL for serving locally, and `/` the default public path for built apps. The app build no longer requires any configuration values to be present. +- ba56063: Updated dependency `fork-ts-checker-webpack-plugin` to `^9.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- 404e82b: Updated dependency `eslint-plugin-deprecation` to `^2.0.0`. +- Updated dependencies + - @backstage/cli-node@0.2.3-next.0 + - @backstage/integration@1.9.0-next.1 + - @backstage/config-loader@1.6.2-next.0 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/eslint-plugin@0.1.5-next.0 + - @backstage/release-manifests@0.0.11 + - @backstage/types@1.1.1 + +## @backstage/cli-node@0.2.3-next.0 + +### Patch Changes + +- d557d47: Added `repository` field to `BackstagePackageJson` type. +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/config-loader@1.6.2-next.0 + +### Patch Changes + +- 0a9a03c: Make schema processing gracefully handle an empty config. +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/core-compat-api@0.2.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/version-bridge@1.0.7 + +## @backstage/core-components@0.14.0-next.2 + +### Patch Changes + +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/version-bridge@1.0.7 + +## @backstage/create-app@0.5.11-next.3 + +### Patch Changes + +- 03e55b1: Updated the default app index template at `packages/app/public/index.html` to have a fallback value for the `app.title` config. +- Updated dependencies + - @backstage/cli-common@0.1.13 + +## @backstage/dev-utils@1.0.27-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/app-defaults@1.5.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration-react@1.1.24-next.2 + +## @backstage/e2e-test-utils@0.1.1-next.0 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. + +## @backstage/frontend-app-api@0.6.0-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-plugin-api@0.6.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/frontend-test-utils@0.1.2-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/frontend-app-api@0.6.0-next.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/test-utils@1.5.0-next.3 + - @backstage/types@1.1.1 + +## @backstage/integration@1.9.0-next.1 + +### Patch Changes + +- 6d898f7: All single-line secrets read from config will now have both leading and trailing whitespace trimmed. This is done to ensure that the secrets are always valid HTTP header values, since many fetch implementations will include the header value itself when an error is thrown due to invalid header values. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/integration-aws-node@0.1.9-next.0 + +### Patch Changes + +- 6d898f7: All single-line secrets read from config will now have both leading and trailing whitespace trimmed. This is done to ensure that the secrets are always valid HTTP header values, since many fetch implementations will include the header value itself when an error is thrown due to invalid header values. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/integration-react@1.1.24-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/repo-tools@0.6.0-next.3 + +### Patch Changes + +- 60a68f1: Introduced `knip` to the `knip-reports` command, which generates a `knip-report.md` file for your packages with dependency warnings, if any. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/cli-node@0.2.3-next.0 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## @techdocs/cli@1.8.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-techdocs-node@1.11.2-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + +## @backstage/test-utils@1.5.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-permission-react@0.4.20-next.1 + +## @backstage/theme@0.5.1-next.1 + +### Patch Changes + +- dd5d7cc: Fixed missing extra variables like `applyDarkStyles` in Mui V5 theme after calling `createUnifiedThemeFromV4` function + +## @backstage/plugin-adr@0.6.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/plugin-adr-common@0.2.20-next.1 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + +## @backstage/plugin-adr-backend@0.4.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-adr-common@0.2.20-next.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-adr-common@0.2.20-next.1 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-airbrake@0.3.30-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/dev-utils@1.0.27-next.3 + - @backstage/test-utils@1.5.0-next.3 + +## @backstage/plugin-airbrake-backend@0.3.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-allure@0.1.46-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-analytics-module-ga@0.2.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## @backstage/plugin-analytics-module-ga4@0.2.0-next.2 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## @backstage/plugin-analytics-module-newrelic-browser@0.1.0-next.2 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## @backstage/plugin-apache-airflow@0.2.20-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-apollo-explorer@0.1.20-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-app-backend@0.3.58-next.3 + +### Patch Changes + +- 54ad8e1: Allow the `app-backend` plugin to use a global configuration schema provided externally through an extension. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/config-loader@1.6.2-next.0 + - @backstage/plugin-app-node@0.1.10-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-app-node@0.1.10-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 54ad8e1: Allow the `app-backend` plugin to use a global configuration schema provided externally through an extension. +- Updated dependencies + - @backstage/config-loader@1.6.2-next.0 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-app-visualizer@0.1.1-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## @backstage/plugin-auth-backend@0.21.0-next.3 + +### Patch Changes + +- 8321c97: Added `experimentalExtraAllowedOrigins` to config +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-backend-module-oidc-provider@0.1.0-next.3 + - @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.2-next.3 + - @backstage/plugin-auth-backend-module-atlassian-provider@0.1.2-next.3 + - @backstage/plugin-auth-backend-module-microsoft-provider@0.1.5-next.3 + - @backstage/plugin-auth-backend-module-github-provider@0.1.7-next.3 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.7-next.3 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.7-next.3 + - @backstage/plugin-auth-backend-module-okta-provider@0.0.3-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.0-next.2 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.4-next.3 + - @backstage/plugin-auth-backend-module-google-provider@0.1.7-next.3 + +## @backstage/plugin-auth-backend-module-atlassian-provider@0.1.2-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-auth-backend-module-aws-alb-provider@0.1.0-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-backend@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.4-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-auth-backend-module-github-provider@0.1.7-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.7-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-auth-backend-module-google-provider@0.1.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-auth-backend-module-microsoft-provider@0.1.5-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-auth-backend-module-oauth2-provider@0.1.7-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.2-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-auth-backend-module-oidc-provider@0.1.0-next.3 + +### Patch Changes + +- e471890: Fixed a bug where the OIDC authenticator did not properly persist granted OAuth scopes. +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-backend@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-auth-backend-module-okta-provider@0.0.3-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-auth-backend-module-pinniped-provider@0.1.4-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-auth-backend-module-vmware-cloud-provider@0.1.2-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-auth-node@0.4.4-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-azure-devops@0.3.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/plugin-azure-devops-common@0.3.2 + +## @backstage/plugin-azure-devops-backend@0.5.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-devops-common@0.3.2 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-azure-sites@0.1.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-azure-sites-common@0.1.2-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-permission-react@0.4.20-next.1 + +## @backstage/plugin-azure-sites-backend@0.2.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-azure-sites-common@0.1.2-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-badges@0.2.54-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-badges-backend@0.3.7-next.3 + +### Patch Changes + +- 6991e5f: Updating the `authorization` middleware to call the Catalog to check that the requesting user has permission to see the Entity before generating the UUID. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar@0.2.22-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar-backend@0.3.8-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-bitbucket-cloud-common@0.2.16-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + +## @backstage/plugin-bitrise@0.1.57-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-catalog-backend@1.17.0-next.3 + +### Patch Changes + +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. + +- 9b2eb3f: Add support for `onProcessingError` handler at the catalog plugin (new backend system). + + You can use `setOnProcessingErrorHandler` at the `catalogProcessingExtensionPoint` + as replacement for + + ```ts + catalogBuilder.subscribe({ + onProcessingError: hander, + }); + ``` + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/repo-tools@0.6.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/plugin-search-backend-module-catalog@0.1.14-next.3 + - @backstage/backend-openapi-utils@0.1.3-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-events-node@0.2.19-next.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-backend-module-aws@0.3.4-next.3 + +### Patch Changes + +- 22927c4: Move the AWS account e-mail from labels to annotations to fix the creation of `cloud-account` resources. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-kubernetes-common@0.7.4-next.2 + - @backstage/integration-aws-node@0.1.9-next.0 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-azure@0.1.29-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.3-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-openapi-utils@0.1.3-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.25-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-bitbucket-cloud-common@0.2.16-next.2 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.23-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-gcp@0.1.10-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-kubernetes-common@0.7.4-next.2 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.26-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-github@0.5.0-next.3 + +### Patch Changes + +- 785ff24: Added `validateLocationsExist` to the config +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-backend@1.17.0-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-catalog-backend-module-github-org@0.1.4-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-backend-module-github@0.5.0-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gitlab@0.3.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-backend@1.17.0-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-events-node@0.2.19-next.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.25-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.17-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.27-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-catalog-backend@1.17.0-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.15-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-catalog-backend-module-unprocessed@0.3.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-catalog-graph@0.4.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-import@0.10.6-next.3 + +### Patch Changes + +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-catalog-node@1.6.2-next.3 + +### Patch Changes + +- 9b2eb3f: Add support for `onProcessingError` handler at the catalog plugin (new backend system). + + You can use `setOnProcessingErrorHandler` at the `catalogProcessingExtensionPoint` + as replacement for + + ```ts + catalogBuilder.subscribe({ + onProcessingError: hander, + }); + ``` + +- Updated dependencies + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-catalog-react@1.10.0-next.3 + +### Patch Changes + +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-permission-react@0.4.20-next.1 + +## @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-cicd-statistics@0.1.32-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.26-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-cicd-statistics@0.1.32-next.3 + +## @backstage/plugin-circleci@0.3.30-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-cloudbuild@0.4.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-code-climate@0.1.30-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-code-coverage@0.2.23-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-code-coverage-backend@0.2.24-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-codescene@0.1.22-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-config-schema@0.1.50-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-cost-insights@0.12.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-cost-insights-common@0.1.2 + +## @backstage/plugin-devtools@0.1.9-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/plugin-devtools-common@0.1.8 + - @backstage/plugin-permission-react@0.4.20-next.1 + +## @backstage/plugin-devtools-backend@0.2.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/config-loader@1.6.2-next.0 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.8 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-dynatrace@9.0.0-next.3 + +### Patch Changes + +- 0930c9e: Fixed Dynatrace plugin proxy configuration +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-entity-feedback@0.2.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-feedback-backend@0.2.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-validation@0.1.15-next.3 + +### Patch Changes + +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-events-backend@0.2.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-events-backend-module-aws-sqs@0.2.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-events-backend-module-azure@0.1.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-events-backend-module-gerrit@0.1.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-events-backend-module-github@0.1.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-events-backend-module-gitlab@0.1.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-events-backend-test-utils@0.1.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-events-node@0.2.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-explore@0.4.16-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-explore-react@0.0.36-next.1 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + +## @backstage/plugin-explore-backend@0.0.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-search-backend-module-explore@0.1.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-firehydrant@0.2.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-fossa@0.2.62-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcalendar@0.3.23-next.2 + +### Patch Changes + +- 3631fb4: Updated dependency `dompurify` to `^3.0.0`. + Updated dependency `@types/dompurify` to `^3.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcp-projects@0.3.46-next.2 + +### Patch Changes + +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-git-release-manager@0.3.42-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-github-actions@0.6.11-next.3 + +### Patch Changes + +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration-react@1.1.24-next.2 + +## @backstage/plugin-github-deployments@0.1.61-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/integration-react@1.1.24-next.2 + +## @backstage/plugin-github-issues@0.2.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-github-pull-requests-board@0.1.24-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-gitops-profiles@0.3.45-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-gocd@0.1.36-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-graphiql@0.3.3-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## @backstage/plugin-graphql-voyager@0.1.12-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-home@0.6.2-next.3 + +### Patch Changes + +- e6f0831: Updated dependency `@rjsf/utils` to `5.17.0`. + Updated dependency `@rjsf/core` to `5.17.0`. + Updated dependency `@rjsf/material-ui` to `5.17.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.17.0`. +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/plugin-home-react@0.1.8-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## @backstage/plugin-home-react@0.1.8-next.3 + +### Patch Changes + +- e6f0831: Updated dependency `@rjsf/utils` to `5.17.0`. + Updated dependency `@rjsf/core` to `5.17.0`. + Updated dependency `@rjsf/material-ui` to `5.17.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.17.0`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-ilert@0.2.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-jenkins@0.9.5-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.24-next.0 + +## @backstage/plugin-jenkins-backend@0.3.4-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.24-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-kafka@0.3.30-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-kafka-backend@0.3.8-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-kubernetes@0.11.5-next.3 + +### Patch Changes + +- b01c86c: The `ErrorReporting` component's cluster column now displays cluster titles when + specified. +- Updated dependencies + - @backstage/plugin-kubernetes-react@0.3.0-next.3 + - @backstage/plugin-kubernetes-common@0.7.4-next.2 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-kubernetes-backend@0.15.0-next.3 + +### Patch Changes + +- afe9473: The `/clusters` API now surfaces cluster titles. +- 2a50cbf: adds a x-goog-api-client header to existing API requests in this plugin to clearly identify API requests from this GKE plugin. headers are formatted as follows where `libVersion` represents the current dotted version number of the Backstage GKE plugin and `libName` represent the current Google API used at backstage. +- 3b3d549: Responses from the `/api/kubernetes/services/:serviceId` endpoint now include the cluster title. +- a2e7fc6: Organized imports in plugin.ts +- 6009d2a: Clusters in the catalog can now specify a human-readable title via `metadata.title`. +- 7ee5b30: Clusters in the app-config can now specify a `title` property for human readability. +- ceda378: On LocalKubectlProxyClusterLocator, when resolving localhost, IPv4 address is placed before IPv6 address, ignoring the order from the DNS resolver. This change is necessary since by default kubectl proxy listen on IPv4 +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-kubernetes-common@0.7.4-next.2 + - @backstage/integration-aws-node@0.1.9-next.0 + - @backstage/plugin-kubernetes-node@0.1.4-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-kubernetes-cluster@0.0.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-react@0.3.0-next.3 + - @backstage/plugin-kubernetes-common@0.7.4-next.2 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-kubernetes-common@0.7.4-next.2 + +### Patch Changes + +- a643af8: The `ClusterAttributes` type now includes the cluster title. +- Updated dependencies + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-kubernetes-node@0.1.4-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 043cf88: The `ClusterDetails` type now has a `title` field, which should be a + human-readable name. +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.4-next.2 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/types@1.1.1 + +## @backstage/plugin-lighthouse@0.4.15-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-lighthouse-backend@0.4.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-linguist@0.1.15-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-linguist-backend@0.5.7-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-microsoft-calendar@0.1.12-next.2 + +### Patch Changes + +- 3631fb4: Updated dependency `dompurify` to `^3.0.0`. + Updated dependency `@types/dompurify` to `^3.0.0`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-newrelic@0.3.45-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-newrelic-dashboard@0.3.5-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-nomad@0.1.11-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-nomad-backend@0.1.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-notifications@0.0.1-next.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/plugin-notifications-common@0.0.1-next.1 + - @backstage/plugin-signals-react@0.0.1-next.3 + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-notifications-backend@0.0.1-next.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-notifications-common@0.0.1-next.1 + - @backstage/plugin-notifications-node@0.0.1-next.1 + - @backstage/plugin-signals-node@0.0.1-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-notifications-common@0.0.1-next.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. + +## @backstage/plugin-notifications-node@0.0.1-next.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-notifications-common@0.0.1-next.1 + - @backstage/plugin-signals-node@0.0.1-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + +## @backstage/plugin-octopus-deploy@0.2.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-opencost@0.2.5-next.2 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-org@0.6.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + +## @backstage/plugin-org-react@0.1.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-pagerduty@0.7.2-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/plugin-home-react@0.1.8-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop@0.1.28-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop-backend@0.2.8-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-permission-backend@0.5.33-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.7-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-permission-node@0.7.21-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-playlist@0.2.4-next.3 + +### Patch Changes + +- 5a03537: Conditionally render playlist description only when it's non-empty +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-playlist-common@0.1.14 + - @backstage/plugin-search-react@1.7.6-next.3 + +## @backstage/plugin-playlist-backend@0.3.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-playlist-common@0.1.14 + +## @backstage/plugin-proxy-backend@0.4.8-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-puppetdb@0.1.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-rollbar@0.4.30-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-rollbar-backend@0.1.55-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-scaffolder@1.18.0-next.3 + +### Patch Changes + +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- e6f0831: Updated dependency `@rjsf/utils` to `5.17.0`. + Updated dependency `@rjsf/core` to `5.17.0`. + Updated dependency `@rjsf/material-ui` to `5.17.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.17.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/plugin-scaffolder-react@1.8.0-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-scaffolder-backend@1.21.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.13-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7-next.3 + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0-next.1 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0-next.1 + - @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.0-next.3 + - @backstage/plugin-scaffolder-backend-module-gerrit@0.1.2-next.3 + - @backstage/plugin-scaffolder-backend-module-github@0.2.0-next.3 + - @backstage/plugin-scaffolder-backend-module-azure@0.1.2-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-scaffolder-backend-module-azure@0.1.2-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-bitbucket@0.2.0-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0-next.1 + - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.1.0-next.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.1.0-next.1 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.11-next.3 + +### Patch Changes + +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.34-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-gerrit@0.1.2-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-github@0.2.0-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.2.13-next.3 + +### Patch Changes + +- 1cd2740: Use the Gitbeaker library for `gitlab:projectAccessToken:create` action, enabling the `expiresAt` option +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.27-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.18-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.31-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.3.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-node@0.3.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-scaffolder-react@1.8.0-next.3 + +### Patch Changes + +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- e6f0831: Updated dependency `@rjsf/utils` to `5.17.0`. + Updated dependency `@rjsf/core` to `5.17.0`. + Updated dependency `@rjsf/material-ui` to `5.17.0`. + Updated dependency `@rjsf/validator-ajv8` to `5.17.0`. +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-scaffolder-common@1.5.0-next.1 + +## @backstage/plugin-search@1.4.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + +## @backstage/plugin-search-backend@1.5.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/backend-openapi-utils@0.1.3-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-catalog@0.1.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-elasticsearch@1.3.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration-aws-node@0.1.9-next.0 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-explore@0.1.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-pg@0.5.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.3-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-module-techdocs@0.1.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-techdocs-node@1.11.2-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-backend-node@1.2.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-search-react@1.7.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/types@1.1.1 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-sentry@0.5.15-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-shortcuts@0.3.19-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals@0.0.1-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 1ab22c4: Allow defining signal type to publish and receive +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/plugin-signals-react@0.0.1-next.3 + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-signals-backend@0.0.1-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-signals-node@0.0.1-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-signals-node@0.0.1-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 1ab22c4: Allow defining signal type to publish and receive +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.19-next.3 + +## @backstage/plugin-signals-react@0.0.1-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- 1ab22c4: Allow defining signal type to publish and receive +- Updated dependencies + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-sonarqube@0.7.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-sonarqube-react@0.1.13-next.1 + +## @backstage/plugin-sonarqube-backend@0.2.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-splunk-on-call@0.4.19-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @backstage/plugin-stack-overflow@0.1.25-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-home-react@0.1.8-next.3 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + +## @backstage/plugin-stack-overflow-backend@0.2.14-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.3-next.3 + +## @backstage/plugin-stackstorm@0.1.11-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-tech-insights@0.3.22-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend@0.5.24-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-tech-insights-node@0.4.16-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.42-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-tech-insights-node@0.4.16-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-insights-node@0.4.16-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-radar@0.6.13-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## @backstage/plugin-techdocs@1.10.0-next.3 + +### Patch Changes + +- 3631fb4: Updated dependency `dompurify` to `^3.0.0`. + Updated dependency `@types/dompurify` to `^3.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + - @backstage/plugin-techdocs-react@1.1.16-next.2 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.27-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog@1.17.0-next.3 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/plugin-techdocs@1.10.0-next.3 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/test-utils@1.5.0-next.3 + - @backstage/plugin-search-react@1.7.6-next.3 + - @backstage/plugin-techdocs-react@1.1.16-next.2 + +## @backstage/plugin-techdocs-backend@1.9.3-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-techdocs-node@1.11.2-next.3 + - @backstage/plugin-search-backend-module-techdocs@0.1.14-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-permission-common@0.7.12 + +## @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.3 + +### Patch Changes + +- 09cedb9: Updated dependency `@react-hookz/web` to `^24.0.0`. +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/integration@1.9.0-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/plugin-techdocs-react@1.1.16-next.2 + +## @backstage/plugin-techdocs-node@1.11.2-next.3 + +### Patch Changes + +- 1cae748: Updated dependency `git-url-parse` to `^14.0.0`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/integration-aws-node@0.1.9-next.0 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.10 + +## @backstage/plugin-techdocs-react@1.1.16-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/version-bridge@1.0.7 + +## @backstage/plugin-todo@0.2.34-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-todo-backend@0.3.8-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/repo-tools@0.6.0-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/backend-openapi-utils@0.1.3-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-user-settings@0.8.1-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-user-settings-backend@0.2.9-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-vault@0.1.25-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-backend@0.4.3-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-vault-node@0.1.3-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-node@0.1.3-next.3 + +### Patch Changes + +- 8472188: Added or fixed the `repository` field in `package.json`. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.10-next.3 + +## @backstage/plugin-xcmetrics@0.2.48-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/errors@1.2.3 + +## example-app@0.2.92-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-api-docs@0.11.0-next.3 + - @backstage/cli@0.25.2-next.3 + - @backstage/plugin-kubernetes@0.11.5-next.3 + - @backstage/theme@0.5.1-next.1 + - @backstage/plugin-playlist@0.2.4-next.3 + - @backstage/plugin-catalog@1.17.0-next.3 + - @backstage/frontend-app-api@0.6.0-next.3 + - @backstage/plugin-notifications@0.0.1-next.1 + - @backstage/plugin-signals@0.0.1-next.3 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/plugin-gcp-projects@0.3.46-next.2 + - @backstage/plugin-scaffolder-react@1.8.0-next.3 + - @backstage/plugin-scaffolder@1.18.0-next.3 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.3 + - @backstage/plugin-home@0.6.2-next.3 + - @backstage/plugin-gcalendar@0.3.23-next.2 + - @backstage/plugin-microsoft-calendar@0.1.12-next.2 + - @backstage/plugin-techdocs@1.10.0-next.3 + - @backstage/plugin-catalog-import@0.10.6-next.3 + - @backstage/plugin-github-actions@0.6.11-next.3 + - @backstage/plugin-dynatrace@9.0.0-next.3 + - @backstage/plugin-kubernetes-cluster@0.0.6-next.3 + - @backstage/app-defaults@1.5.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/plugin-adr@0.6.13-next.3 + - @backstage/plugin-airbrake@0.3.30-next.3 + - @backstage/plugin-apache-airflow@0.2.20-next.2 + - @backstage/plugin-azure-devops@0.3.12-next.3 + - @backstage/plugin-azure-sites@0.1.19-next.3 + - @backstage/plugin-badges@0.2.54-next.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-catalog-graph@0.4.0-next.3 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.2 + - @backstage/plugin-cloudbuild@0.4.0-next.3 + - @backstage/plugin-code-coverage@0.2.23-next.3 + - @backstage/plugin-cost-insights@0.12.19-next.3 + - @backstage/plugin-devtools@0.1.9-next.3 + - @backstage/plugin-entity-feedback@0.2.13-next.3 + - @backstage/plugin-explore@0.4.16-next.3 + - @backstage/plugin-gocd@0.1.36-next.3 + - @backstage/plugin-graphiql@0.3.3-next.3 + - @backstage/plugin-jenkins@0.9.5-next.3 + - @backstage/plugin-kafka@0.3.30-next.3 + - @backstage/plugin-lighthouse@0.4.15-next.3 + - @backstage/plugin-linguist@0.1.15-next.3 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-newrelic@0.3.45-next.2 + - @backstage/plugin-newrelic-dashboard@0.3.5-next.3 + - @backstage/plugin-nomad@0.1.11-next.3 + - @backstage/plugin-octopus-deploy@0.2.12-next.3 + - @backstage/plugin-org@0.6.20-next.3 + - @backstage/plugin-pagerduty@0.7.2-next.3 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-puppetdb@0.1.13-next.3 + - @backstage/plugin-rollbar@0.4.30-next.3 + - @backstage/plugin-search@1.4.6-next.3 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + - @backstage/plugin-sentry@0.5.15-next.3 + - @backstage/plugin-shortcuts@0.3.19-next.2 + - @backstage/plugin-stack-overflow@0.1.25-next.3 + - @backstage/plugin-stackstorm@0.1.11-next.2 + - @backstage/plugin-tech-insights@0.3.22-next.3 + - @backstage/plugin-tech-radar@0.6.13-next.3 + - @backstage/plugin-techdocs-react@1.1.16-next.2 + - @backstage/plugin-todo@0.2.34-next.3 + - @backstage/plugin-user-settings@0.8.1-next.3 + +## example-app-next@0.0.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-api-docs@0.11.0-next.3 + - @backstage/cli@0.25.2-next.3 + - @backstage/plugin-kubernetes@0.11.5-next.3 + - @backstage/theme@0.5.1-next.1 + - @backstage/plugin-playlist@0.2.4-next.3 + - @backstage/plugin-catalog@1.17.0-next.3 + - @backstage/frontend-app-api@0.6.0-next.3 + - @backstage/plugin-app-visualizer@0.1.1-next.3 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/plugin-gcp-projects@0.3.46-next.2 + - @backstage/plugin-scaffolder-react@1.8.0-next.3 + - @backstage/plugin-scaffolder@1.18.0-next.3 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.3 + - @backstage/plugin-home@0.6.2-next.3 + - @backstage/plugin-gcalendar@0.3.23-next.2 + - @backstage/plugin-microsoft-calendar@0.1.12-next.2 + - @backstage/plugin-techdocs@1.10.0-next.3 + - @backstage/plugin-catalog-import@0.10.6-next.3 + - @backstage/plugin-github-actions@0.6.11-next.3 + - @backstage/plugin-dynatrace@9.0.0-next.3 + - @backstage/app-defaults@1.5.0-next.3 + - app-next-example-plugin@0.0.6-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/plugin-adr@0.6.13-next.3 + - @backstage/plugin-airbrake@0.3.30-next.3 + - @backstage/plugin-apache-airflow@0.2.20-next.2 + - @backstage/plugin-azure-devops@0.3.12-next.3 + - @backstage/plugin-azure-sites@0.1.19-next.3 + - @backstage/plugin-badges@0.2.54-next.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-catalog-graph@0.4.0-next.3 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.2 + - @backstage/plugin-cloudbuild@0.4.0-next.3 + - @backstage/plugin-code-coverage@0.2.23-next.3 + - @backstage/plugin-cost-insights@0.12.19-next.3 + - @backstage/plugin-devtools@0.1.9-next.3 + - @backstage/plugin-entity-feedback@0.2.13-next.3 + - @backstage/plugin-explore@0.4.16-next.3 + - @backstage/plugin-gocd@0.1.36-next.3 + - @backstage/plugin-graphiql@0.3.3-next.3 + - @backstage/plugin-jenkins@0.9.5-next.3 + - @backstage/plugin-kafka@0.3.30-next.3 + - @backstage/plugin-lighthouse@0.4.15-next.3 + - @backstage/plugin-linguist@0.1.15-next.3 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-newrelic@0.3.45-next.2 + - @backstage/plugin-newrelic-dashboard@0.3.5-next.3 + - @backstage/plugin-octopus-deploy@0.2.12-next.3 + - @backstage/plugin-org@0.6.20-next.3 + - @backstage/plugin-pagerduty@0.7.2-next.3 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-puppetdb@0.1.13-next.3 + - @backstage/plugin-rollbar@0.4.30-next.3 + - @backstage/plugin-search@1.4.6-next.3 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + - @backstage/plugin-sentry@0.5.15-next.3 + - @backstage/plugin-shortcuts@0.3.19-next.2 + - @backstage/plugin-stackstorm@0.1.11-next.2 + - @backstage/plugin-tech-insights@0.3.22-next.3 + - @backstage/plugin-tech-radar@0.6.13-next.3 + - @backstage/plugin-techdocs-react@1.1.16-next.2 + - @backstage/plugin-todo@0.2.34-next.3 + - @backstage/plugin-user-settings@0.8.1-next.3 + +## app-next-example-plugin@0.0.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## example-backend@0.2.92-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-badges-backend@0.3.7-next.3 + - @backstage/plugin-kubernetes-backend@0.15.0-next.3 + - @backstage/plugin-scaffolder-backend-module-gitlab@0.2.13-next.3 + - @backstage/integration@1.9.0-next.1 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7-next.3 + - @backstage/plugin-signals-backend@0.0.1-next.3 + - @backstage/plugin-signals-node@0.0.1-next.3 + - @backstage/plugin-catalog-backend@1.17.0-next.3 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.11-next.3 + - @backstage/plugin-app-backend@0.3.58-next.3 + - @backstage/plugin-auth-backend@0.21.0-next.3 + - @backstage/plugin-catalog-node@1.6.2-next.3 + - @backstage/plugin-adr-backend@0.4.7-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-azure-devops-backend@0.5.2-next.3 + - @backstage/plugin-code-coverage-backend@0.2.24-next.3 + - @backstage/plugin-devtools-backend@0.2.7-next.3 + - @backstage/plugin-entity-feedback-backend@0.2.7-next.3 + - @backstage/plugin-events-backend@0.2.19-next.3 + - @backstage/plugin-explore-backend@0.0.20-next.3 + - @backstage/plugin-jenkins-backend@0.3.4-next.3 + - @backstage/plugin-kafka-backend@0.3.8-next.3 + - @backstage/plugin-lighthouse-backend@0.4.2-next.3 + - @backstage/plugin-linguist-backend@0.5.7-next.3 + - @backstage/plugin-nomad-backend@0.1.12-next.3 + - @backstage/plugin-permission-backend@0.5.33-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/plugin-playlist-backend@0.3.14-next.3 + - @backstage/plugin-proxy-backend@0.4.8-next.3 + - @backstage/plugin-rollbar-backend@0.1.55-next.3 + - @backstage/plugin-scaffolder-backend@1.21.0-next.3 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.27-next.3 + - @backstage/plugin-search-backend@1.5.0-next.3 + - @backstage/plugin-search-backend-module-catalog@0.1.14-next.3 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.13-next.3 + - @backstage/plugin-search-backend-module-explore@0.1.14-next.3 + - @backstage/plugin-search-backend-module-pg@0.5.19-next.3 + - @backstage/plugin-search-backend-module-techdocs@0.1.14-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/plugin-tech-insights-backend@0.5.24-next.3 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.42-next.3 + - @backstage/plugin-tech-insights-node@0.4.16-next.3 + - @backstage/plugin-techdocs-backend@1.9.3-next.3 + - @backstage/plugin-todo-backend@0.3.8-next.3 + - example-app@0.2.92-next.3 + - @backstage/catalog-client@1.6.0-next.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-sites-common@0.1.2-next.0 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.7-next.3 + - @backstage/plugin-events-node@0.2.19-next.3 + - @backstage/plugin-permission-common@0.7.12 + - @backstage/plugin-search-common@1.2.10 + +## example-backend-next@0.0.20-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-badges-backend@0.3.7-next.3 + - @backstage/plugin-kubernetes-backend@0.15.0-next.3 + - @backstage/backend-tasks@0.5.15-next.3 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.7-next.3 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.7-next.3 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.3-next.3 + - @backstage/plugin-notifications-backend@0.0.1-next.1 + - @backstage/plugin-signals-backend@0.0.1-next.3 + - @backstage/plugin-catalog-backend@1.17.0-next.3 + - @backstage/plugin-app-backend@0.3.58-next.3 + - @backstage/backend-defaults@0.2.10-next.3 + - @backstage/plugin-adr-backend@0.4.7-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/plugin-azure-devops-backend@0.5.2-next.3 + - @backstage/plugin-catalog-backend-module-openapi@0.1.27-next.3 + - @backstage/plugin-devtools-backend@0.2.7-next.3 + - @backstage/plugin-entity-feedback-backend@0.2.7-next.3 + - @backstage/plugin-jenkins-backend@0.3.4-next.3 + - @backstage/plugin-lighthouse-backend@0.4.2-next.3 + - @backstage/plugin-linguist-backend@0.5.7-next.3 + - @backstage/plugin-nomad-backend@0.1.12-next.3 + - @backstage/plugin-permission-backend@0.5.33-next.3 + - @backstage/plugin-permission-node@0.7.21-next.3 + - @backstage/plugin-playlist-backend@0.3.14-next.3 + - @backstage/plugin-proxy-backend@0.4.8-next.3 + - @backstage/plugin-scaffolder-backend@1.21.0-next.3 + - @backstage/plugin-search-backend@1.5.0-next.3 + - @backstage/plugin-search-backend-module-catalog@0.1.14-next.3 + - @backstage/plugin-search-backend-module-explore@0.1.14-next.3 + - @backstage/plugin-search-backend-module-techdocs@0.1.14-next.3 + - @backstage/plugin-search-backend-node@1.2.14-next.3 + - @backstage/plugin-sonarqube-backend@0.2.12-next.3 + - @backstage/plugin-techdocs-backend@1.9.3-next.3 + - @backstage/plugin-todo-backend@0.3.8-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.7-next.3 + - @backstage/plugin-permission-common@0.7.12 + +## e2e-test@0.2.12-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.11-next.3 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## techdocs-cli-embedded-app@0.2.91-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.25.2-next.3 + - @backstage/theme@0.5.1-next.1 + - @backstage/plugin-catalog@1.17.0-next.3 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-techdocs@1.10.0-next.3 + - @backstage/app-defaults@1.5.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/test-utils@1.5.0-next.3 + - @backstage/plugin-techdocs-react@1.1.16-next.2 + +## @internal/plugin-todo-list@1.0.22-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + +## @internal/plugin-todo-list-backend@1.0.22-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.21.0-next.3 + - @backstage/plugin-auth-node@0.4.4-next.3 + - @backstage/backend-plugin-api@0.6.10-next.3 + - @backstage/errors@1.2.3 diff --git a/docs/releases/v1.23.0.md b/docs/releases/v1.23.0.md new file mode 100644 index 0000000000..ef360a6b26 --- /dev/null +++ b/docs/releases/v1.23.0.md @@ -0,0 +1,82 @@ +--- +id: v1.23.0 +title: v1.23.0 +description: Backstage Release v1.23.0 +--- + +These are the release notes for the v1.23.0 release of [Backstage](https://backstage.io/). + +A huge thanks to the whole team of maintainers and contributors as well as the amazing Backstage Community for the hard work in getting this release developed and done. + +## Highlights + +### Auth module migrations + +Several more auth providers have been migrated to be implemented as standalone modules, adding support for them in the [new backend system](https://backstage.io/docs/backend-system/building-backends/migrating#the-auth-plugin). The migrated providers are `microsoft`, `oidc`, and `aws-alb`. If you detect any issues, please reach out on [Discord](https://discord.gg/backstage-687207715902193673) or [open an issue](https://github.com/backstage/backstage/issues). + +### Scaffolder + +We’ve removed the last of the legacy exports from `/alpha`. Please [open an issue](https://github.com/backstage/backstage/issues) if there’s a reason why you still need to use them. + +If you’re using the New Backend System and the Scaffolder plugin, the built in modules have been trimmed down, so you’ll need to install other modules in order to pull in additional actions. You can read more [in the migration guide](https://backstage.io/docs/backend-system/building-backends/migrating#the-scaffolder-plugin) + +### New Module: `@backstage/plugin-scaffolder-backend-module-gitea` + +Provides actions to the Scaffolder for creating repositories and pushing to Gitea. Thanks to [@cmoulliard](https://github.com/cmoulliard)! + +### New Modules: `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud` and `@backstage/plugin-scaffolder-backend-module-bitbucket-server` + +Thanks to [@pjungermann](https://github.com/pjungermann)’s work, we’ve now broken apart the BitBucket module into two separate modules to provide different actions to support the different BitBucket offerings. + +This change also deprecates the original `@backstage/plugin-scaffolder-backend-module-bitbucket`, so if you’re using the new Backend System we encourage you to move towards using these new modules instead. + +### New lint rule to forbid top-level MUI imports + +The `@backstage/eslint-rules` package now provides the `@backstage/no-top-level-material-ui-4-imports` rule that forbids imports such as `import { Box } from '@material-ui/core'`. This rule is currently disabled by default and needs to be manually enabled in `.eslintrc.js`: + +```ts +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { + rules: { + '@backstage/no-top-level-material-ui-4-imports': 'error', + }, +}); +``` + +### Automatic package `repository` fields + +The `backstage-cli repo fix` command will now update the `repository` fields in all workspace packages, as long as the root `package.json` has the `repository` field set. + +### Kubernetes cluster name uniqueness check + +The Kubernetes plugin now enforces the policy of all configured clusters having unique names. The backend will now fail to start if that is not the case. + +### Auth backend SAML provider dependency switch + +The implementation of the SAML provider in the auth backend is now based on [`@node-saml/passport-saml`](https://www.npmjs.com/package/@node-saml/passport-saml) instead of the deprecated [`passport-saml`](https://www.npmjs.com/package/passport-saml) package. This is a breaking change since the `audience` configuration is now mandatory, and the `wantAuthnResponseSigned` and `wantAssertionsSigned` options are enabled by default but possible to configure. + +### Update repo-tools OpenAPI commands structure + +The `schema openapi` commands of the `@backstage/repo-tools` package have been restructured. They are now divided into `package schema openapi` and `repo schema openapi` commands. For a more detailed list of changes, see the changelog of the [repo-tools changelog](https://github.com/backstage/backstage/blob/master/packages/repo-tools/CHANGELOG.md#060). + +### Gerrit integration now requires Gitiles + +When integrating a Gerrit instance with Backstage it is now required to have the Gitiles plugin installed in Gerrit. This allowed the Backstage integration to use a richer set of APIs, rather than interacting only over the git protocol. + +This behavior can be temporarily disabled via setting `DISABLE_GERRIT_GITILES_REQUIREMENT=1` in the environment. This flag will be removed in a future release, so if you depend on this behavior please [open an issue](https://github.com/backstage/backstage/issues). + +## Security Fixes + +This release contains an improvement to the default backend error handling middleware that will filter out some known error types that should never be returned in client responses. + +## Links and References + +Below you can find a list of links and references to help you learn about and start using this new release. + +- [Backstage official website](https://backstage.io/), [documentation](https://backstage.io/docs/), and [getting started guide](https://backstage.io/docs/getting-started/) +- [GitHub repository](https://github.com/backstage/backstage) +- Backstage's [versioning and support policy](https://backstage.io/docs/overview/versioning-policy) +- [Community Discord](https://discord.gg/backstage-687207715902193673) for discussions and support +- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.20.0-changelog.md) +- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins) + +Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage. diff --git a/docs/tutorials/auth-service-migration.md b/docs/tutorials/auth-service-migration.md new file mode 100644 index 0000000000..52c47e0ed0 --- /dev/null +++ b/docs/tutorials/auth-service-migration.md @@ -0,0 +1,278 @@ +--- +id: auth-service-migration +title: Migrating to New Auth Services +description: A guide for how to migrate Backstage backend plugins and modules to use the new auth services +--- + +The auth services for the Backstage backend system have been reworked in the 1.24 release. Among other improvements, this brings protection by default for Backstage backends, replacing the [authenticate-api-requests.md](https://github.com/backstage/backstage/blob/9aac2b0d36bdb8095ea747fe5e5490cfea1c9f16/contrib/docs/tutorials/authenticate-api-requests.md) guide in contrib. This guide will help you migrate your existing backend setup as well as backend _plugins and modules_ to use the new auth services. + +The change with the most impact that accompanies the new auth services is the default behavior of all plugins running in the new backend system to block all requests that are not authenticated as a user or service, also known as the _default auth policy_. This is the only breaking production change introduced as part of this update, and may require action to be taken on both backend installations and plugins. More on that in the individual sections below. + +## Backend migration + +In order to use these new services your backend needs to be using the [new backend system](../backend-system/building-backends/01-index.md). If your backend is running the old system, you will need to [migrate it to the new system first](../backend-system/building-backends/08-migrating.md). + +If you have [authenticate-api-requests.md](https://github.com/backstage/backstage/blob/9aac2b0d36bdb8095ea747fe5e5490cfea1c9f16/contrib/docs/tutorials/authenticate-api-requests.md) installed in your backend, you should generally remove it and rely on the new auth services instead. If you do not wish to make that change yet but still want to upgrade to the latest release of Backstage, you can also leave it in place and instead disable the default auth policy as described in the next section. + +### Disabling the default auth policy + +If you do not want to enforce authentication of requests by default, you can disable the default auth policy. This is done using the following configuration: + +```yaml +backend: + auth: + dangerouslyDisableDefaultAuthPolicy: true +``` + +In short, this will allow requests through to plugins in your backend, even if they do not include any credentials. The requests will still be treated as unauthenticated however, which not all plugin endpoints may accept. For more information on the impact of this configuration, see the [auth service documentation](../backend-system/core-services/auth.md). + +### Migrating the backend + +If you do want to keep the default auth policy in effect, there is little action needed to migrate your backend. Be sure to upgrade all plugins to their latest versions to pick up any updates that may be needed for the new auth services. If you have any internal plugins or modules, refer to the plugin migration section below. + +Since the default auth policy is in effect for all plugins running in the new backend system, you do not need to worry about whether individual plugins are protected or not. The impact of plugins not yet being migrated is that they may have endpoints that should allow unauthenticated requests, but are now blocked by the default auth policy. If you want to temporarily work around this for individual plugins, you can install a module for the plugin that adds the required policy via the [http router service](../backend-system/core-services/http-router.md). + +If you have a custom [identity](../backend-system/core-services/identity.md) or [token manager](../backend-system/core-services/token-manager.md) service implementations you can use the `createLegacyAuthAdapters` helper from `@backstage/backend-common` to adapt them for the new auth services. + +## Plugin & Module migration + +This part of the guide will help you migrate your backend plugin or module to using the new auth APIs. It is split into two main sections: the first is to add any required auth policies to your plugin for the new backend system, and the second is to migrate to use the new auth services. This first step more urgent and may be required for your plugin to keep functioning in the new backend system, while the second step is less urgent and won't be required until support for the old auth services is removed. + +### Adding auth policies + +If your plugin supports the [new backend system](../backend-system/index.md) you may need to add exceptions to the default auth policy. If your plugins is supposed to accept unauthenticated requests or requests authenticated with a user cookie, then you need to add a policy for that. This is done using the `httpRouter` service. For example, the following allows unauthenticated requests to the `/health` endpoint: + +```ts +export default createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + config: coreServices.rootConfig, + logger: coreServices.logger, + httpRouter: coreServices.httpRouter, + auth: coreServices.auth, + httpAuth: coreServices.httpAuth, + }, + async init({ config, logger, httpRouter, auth, httpAuth }) { + httpRouter.use(await createRouter({ config, logger, auth, httpAuth })); + + // highlight-add-start + httpRouter.addAuthPolicy({ + path: '/health', + allow: 'unauthenticated', + }); + // highlight-add-end + }, + }); + }, +}); +``` + +### Using the new auth services + +The goal in this section is to completely remove usages of the existing [identity](../backend-system/core-services/identity.md) and [token manager](../backend-system/core-services/token-manager.md) services from inside your plugin, and instead use the new [auth](../backend-system/core-services/auth.md) and [http auth](../backend-system/core-services/http-auth.md) services. You plugin may still accept the `identity` and `tokenManager` services as optional dependencies from the plugin environment though, in order to avoid breaking the setup for existing users. + +If your plugin does not currently rely on the `identity` or `tokenManager` services or uses the `DefaultIdentityClient` internally, then this step is not required and no further action is needed. + +This guide assumes that your plugin uses the `createRouter` pattern as its external API for the old backend system. If you have different and/or other external API surfaces they should be treated in the same way, but you may need to adapt these examples to fit your implementation. + +#### Updating dependencies in the new backend system + +If your plugin supports the new backend system, the first step of the migration is to make sure that we use the new auth services. For now we will add both `AuthService` and `HttpAuthService`, but it may be that you only need one of them in the end, in which case you can remove the other. + +```ts +export default createBackendPlugin({ + pluginId: 'example', + register(env) { + env.registerInit({ + deps: { + config: coreServices.rootConfig, + logger: coreServices.logger, + discovery: coreServices.discovery, + httpRouter: coreServices.httpRouter, + // highlight-remove-start + identity: coreServices.identity, + tokenManager: coreServices.tokenManager, + // highlight-remove-end + // highlight-add-start + auth: coreServices.auth, + httpAuth: coreServices.httpAuth, + // highlight-add-end + }, + async init({ + config, + logger, + discovery, + httpRouter, + // highlight-remove-start + identity, + tokenManager, + // highlight-remove-end + // highlight-add-start + auth, + httpAuth, + // highlight-add-end + }) { + const router = await createRouter({ + config, + logger, + discovery, + // highlight-remove-start + identity, + tokenManager, + // highlight-remove-end + // highlight-add-start + auth, + httpAuth, + // highlight-add-end + }); + httpRouter.use(); + }, + }); + }, +}); +``` + +Don't worry if your plugin doesn't currently depend on the `identity` or `tokenManager` service, that can be ignored. However, if your plugin doesn't already depend on the `discovery` service you will need to add that as a required dependence, as it is needed for the compatibility layer that we will introduce. + +#### Making the new auth services available in `createRouter` + +In order to make the new auth services available to the plugin implementation in a backwards compatible way, we use the `createLegacyAuthAdapters` helper from `@backstage/backend-common`. This helper accepts both the old and new auth services, and returns implementations for the new ones. If provided with implementations for the new services it will pass them through directly, which is what we want for the new backend system. If the new services are not provide it will instead create fallback implementations using the old services, falling back to default implementations of the old services if they are not available either. + +In practice, this is what it might look like to apply this change to the `createRouter` function: + +```ts +export interface RouterOptions { + config: RootConfigService; + logger: LoggerService; + discovery: DiscoveryService; + identity?: IdentityService; + // highlight-add-start + auth?: AuthService; + httpAuth?: HttpAuthService; + // highlight-add-end +} + +export function createRouter(options: RouterOptions) { + // highlight-add-next-line + const { auth, httpAuth } = createLegacyAuthAdapters(options); + + // ... the rest of the implementation +} +``` + +Note that if your `createRouter` function doesn't already accept the `identity` or `tokenManager` services, you should **not** add them. Likewise, if there is any default implementation used by your plugin for either of those services, then that implementation **must** be passed on to `createLegacyAuthAdapters`. Both of these constraints ensure that your plugin will continue to behave in the same way as before. + +As mentioned earlier, you may end up not needing both `auth` and `httpAuth` in the implementation. If that is the case you should remove the unused one from the router options. + +#### Replacing old auth service calls + +Once the `auth` and `httpAuth` services are available in the plugin implementation, what's left is to replace existing usage of the `identity` and `tokenManager` services. In this section we'll walk through and explain the most common usages of the existing services, and how to migrate those to use the new services instead. + +##### Example 1: Making a standalone service-to-service request + +To generate a new service token for a service-to-service request that is not in a request path or needs elevated privileges, you would previously use the following: + +```ts +const { token } = await tokenManager.getToken(); +``` + +The equivalent using the new auth services is the following: + +```ts +const { token } = await auth.getPluginRequestToken({ + onBehalfOf: await auth.getOwnServiceCredentials(), + targetPluginId: '', // e.g. 'catalog' +}); +``` + +The `onBehalfOf` option provides the credentials we want to use for the request. Here we use the plugin's own credentials, but in other places you'll see how it is also used to forward the credentials from incoming requests. + +The `targetPluginId` is a new requirement that allows for a more fine-grained control of service-to-service auth. When generating a new token for a service-to-service request, you must now specify the ID of the plugin that you want to make the request towards. + +##### Example 2: Forwarding credentials from an incoming request + +Reading the credentials from an incoming request typically looked like this: + +```ts +router.get('/example/:entityRef', async (req, _res) => { + const token = getBearerTokenFromAuthorizationHeader( + req.header('authorization'), + ); + + // Some followup call using the token, for example using the catalog client + const entity = await catalogClient.getEntityByRef(req.params.entityRef, { + token, + }); + + // Or forwarding the token to evaluate permissions + await permissions.authorize( + [{ permission: examplePermission, resourceRef: entityRef }], + { token }, + ); +}); +``` + +The new auth services intentionally add an additional step to this process, in order to avoid direct forwarding of both user and service tokens in upstream requests. You now instead first extract the credentials from the incoming requests, and then use those credentials to generate new tokens for upstream requests. + +With the new auth services, the above example now looks like this: + +```ts +router.get('/example/:entityRef', async (req, _res) => { + const credentials = await httpAuth.credentials(req); + + // The catalog client only accepts tokens right now, it will be updated + // to accept credentials directly in the future. + // For now we will need to issue a new token to pass to the catalog client. + const { token } = await auth.getPluginRequestToken({ + onBehalfOf: credentials, + targetPluginId: 'catalog', + }); + const entity = await catalogClient.getEntityByRef(req.params.entityRef, { + token, + }); + + // The permissions service accepts credentials directly + await permissions.authorize( + [{ permission: examplePermission, resourceRef: entityRef }], + { credentials }, + ); +}); +``` + +Note that for the above `permissions` call to work you will need to update your plugin to depend on the `PermissionsService` from `@backstage/backend-plugin-api`, rather than `PermissionEvaluator`. + +As a general pattern you will want to refactor your plugin so that it forwards the `BackstageCredentials` objects as far as possible, only generating tokens immediately before they are used. + +##### Example 3: Getting the user identity from a request + +To get the user identity from an incoming request you would previously use the `identity` service: + +```ts +router.get('/example/by-user', async (req, _res) => { + const user = await identity.getIdentity({ request: req }); + + if (!user) { + throw new AuthenticationError(); + } + + console.log(`User ${user.identity.userEntityRef} is making a request`); +}); +``` + +The equivalent using the new auth services is the following: + +```ts +router.get('/example/by-user', async (req, _res) => { + const credentials = await httpAuth.credentials(req, { allow: ['user'] }); + + console.log( + `User ${credentials.principal.userEntityRef} is making a request`, + ); +}); +``` + +In the above code the `allow` option of the `credentials` call is used to narrow down the accepted user credentials. If the incoming requests is not authenticated as a user, the `credentials` call will throw an error. + +If your existing code do not require an authenticated user but only uses it if available, you can instead pass `allow: ['user', 'service', 'none']` to the `credentials` call and then check the `credentials.principal.type`. diff --git a/microsite/data/plugins/statuspage.yaml b/microsite/data/plugins/statuspage.yaml new file mode 100644 index 0000000000..652052defc --- /dev/null +++ b/microsite/data/plugins/statuspage.yaml @@ -0,0 +1,10 @@ +--- +title: Statuspage.io Plugin +author: AxisCommunications +authorUrl: https://github.com/AxisCommunications +category: Monitoring +description: The Statuspage plugin allows you to embedd https://statuspage.io components, component groups and dashboards in Backstage. +documentation: https://github.com/AxisCommunications/backstage-plugins/blob/main/plugins/statuspage/README.md +iconUrl: https://raw.githubusercontent.com/AxisCommunications/backstage-plugins/main/plugins/statuspage/media/logo.png +npmPackageName: '@axis-backstage/plugin-statuspage' +addedDate: '2024-02-06' diff --git a/microsite/docusaurus.config.js b/microsite/docusaurus.config.js index a49fca85c7..69f820d5b7 100644 --- a/microsite/docusaurus.config.js +++ b/microsite/docusaurus.config.js @@ -69,7 +69,7 @@ module.exports = { ], ], markdown: { - preprocessor({ filePath, fileContent }) { + preprocessor({ fileContent }) { // Replace all HTML comments with emtpy strings as these are not supported by MDXv2. return fileContent.replace(//gs, ''); }, @@ -190,7 +190,7 @@ module.exports = { position: 'left', }, { - to: 'docs/releases/v1.22.0', + to: 'docs/releases/v1.23.0', label: 'Releases', position: 'left', }, diff --git a/microsite/lighthouserc.js b/microsite/lighthouserc.js new file mode 100644 index 0000000000..f0024ee0b3 --- /dev/null +++ b/microsite/lighthouserc.js @@ -0,0 +1,68 @@ +/* + * 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. + */ + +var sidebars = require('./sidebars.json'); + +module.exports = { + ci: { + collect: { + url: [ + /** Home */ + 'http://localhost:3000', + /** Docs - Getting Started */ + 'http://localhost:3000/docs/getting-started', + /** Docs - Software Catalog */ + 'http://localhost:3000/docs/features/software-catalog', + /** Docs - Create a Plugin */ + 'http://localhost:3000/docs/plugins/create-a-plugin', + /** Docs - Designing for Backstage */ + 'http://localhost:3000/docs/dls/design', + /** Blog */ + 'http://localhost:3000/blog', + /** Plugins */ + 'http://localhost:3000/plugins', + /** Demos */ + 'http://localhost:3000/demos', + /** Community */ + 'http://localhost:3000/community', + /** Releases */ + ...sidebars.releases['Release Notes'].map( + path => `http://localhost:3000/docs/${path}`, + ), + ], + settings: { + onlyCategories: ['accessibility'], + output: ['html', 'json'], + outputPath: './.lighthouseci/reports', + preset: 'desktop', + }, + // refers to root package scripts + startServerCommand: 'yarn run start:microsite', + startServerReadyPattern: 'compiled successfully', + startServerReadyTimeout: 600000, + numberOfRuns: 1, + }, + assert: { + assertions: { + 'categories:performance': 'off', + 'categories:pwa': 'off', + 'categories:best-practices': 'off', + 'categories:seo': 'off', + 'categories:accessibility': ['error', { minScore: 0.95 }], + }, + }, + }, +}; diff --git a/microsite/package.json b/microsite/package.json index d90c455167..dadc06518d 100644 --- a/microsite/package.json +++ b/microsite/package.json @@ -18,7 +18,7 @@ "docusaurus": "docusaurus" }, "devDependencies": { - "@docusaurus/module-type-aliases": "0.0.0-5703", + "@docusaurus/module-type-aliases": "^3.1.1", "@spotify/prettier-config": "^14.0.0", "@tsconfig/docusaurus": "^2.0.0", "@types/luxon": "^3.0.0", @@ -30,9 +30,9 @@ }, "prettier": "@spotify/prettier-config", "dependencies": { - "@docusaurus/core": "0.0.0-5703", - "@docusaurus/plugin-client-redirects": "0.0.0-5703", - "@docusaurus/preset-classic": "0.0.0-5703", + "@docusaurus/core": "^3.1.1", + "@docusaurus/plugin-client-redirects": "^3.1.1", + "@docusaurus/preset-classic": "^3.1.1", "@swc/core": "^1.3.46", "clsx": "^2.0.0", "docusaurus-plugin-sass": "^0.2.3", diff --git a/microsite/sidebars.json b/microsite/sidebars.json index e76faac0ed..4f2724c0b6 100644 --- a/microsite/sidebars.json +++ b/microsite/sidebars.json @@ -1,6 +1,7 @@ { "releases": { "Release Notes": [ + "releases/v1.23.0", "releases/v1.22.0", "releases/v1.21.0", "releases/v1.20.0", @@ -387,7 +388,28 @@ { "type": "category", "label": "Core Services", - "items": ["backend-system/core-services/index"] + "items": [ + "backend-system/core-services/index", + "backend-system/core-services/auth", + "backend-system/core-services/cache", + "backend-system/core-services/database", + "backend-system/core-services/discovery", + "backend-system/core-services/http-auth", + "backend-system/core-services/http-router", + "backend-system/core-services/identity", + "backend-system/core-services/lifecycle", + "backend-system/core-services/logger", + "backend-system/core-services/permissions", + "backend-system/core-services/plugin-metadata", + "backend-system/core-services/root-config", + "backend-system/core-services/root-http-router", + "backend-system/core-services/root-lifecycle", + "backend-system/core-services/root-logger", + "backend-system/core-services/scheduler", + "backend-system/core-services/token-manager", + "backend-system/core-services/url-reader", + "backend-system/core-services/user-info" + ] } ], "New Frontend System": [ @@ -413,7 +435,17 @@ "items": [ "frontend-system/building-plugins/index", "frontend-system/building-plugins/testing", - "frontend-system/building-plugins/extension-types" + "frontend-system/building-plugins/extension-types", + "frontend-system/building-plugins/built-in-data-refs", + "frontend-system/building-plugins/migrating" + ] + }, + { + "type": "category", + "label": "Building Apps", + "items": [ + "frontend-system/building-apps/index", + "frontend-system/building-apps/built-in-extensions" ] }, { @@ -423,8 +455,7 @@ "frontend-system/utility-apis/index", "frontend-system/utility-apis/creating", "frontend-system/utility-apis/consuming", - "frontend-system/utility-apis/configuring", - "frontend-system/utility-apis/migrating" + "frontend-system/utility-apis/configuring" ] } ], @@ -459,6 +490,7 @@ "tutorials/using-backstage-proxy-within-plugin", "tutorials/yarn-migration", "tutorials/migrate-to-mui5", + "tutorials/auth-service-migration", "tutorials/setup-opentelemetry" ], "Architecture Decision Records (ADRs)": [ diff --git a/microsite/src/pages/community/index.tsx b/microsite/src/pages/community/index.tsx index fdb97b39ec..42c42ae0c3 100644 --- a/microsite/src/pages/community/index.tsx +++ b/microsite/src/pages/community/index.tsx @@ -88,8 +88,8 @@ const Community = () => { }, { name: 'VMWare', - url: 'https://www.vmware.com', - logo: 'img/partner-logo-vmware.png', + url: 'https://tanzu.vmware.com/', + logo: 'img/partner-logo-tanzubybroadcom.png', }, ]; //#endregion diff --git a/microsite/static/img/partner-logo-tanzubybroadcom.png b/microsite/static/img/partner-logo-tanzubybroadcom.png new file mode 100644 index 0000000000..0bd5586203 Binary files /dev/null and b/microsite/static/img/partner-logo-tanzubybroadcom.png differ diff --git a/microsite/static/img/partner-logo-vmware.png b/microsite/static/img/partner-logo-vmware.png deleted file mode 100644 index 049975ca15..0000000000 Binary files a/microsite/static/img/partner-logo-vmware.png and /dev/null differ diff --git a/microsite/yarn.lock b/microsite/yarn.lock index 8bbef32fa1..6b522f9cf8 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -197,55 +197,55 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.8.3": - version: 7.22.13 - resolution: "@babel/code-frame@npm:7.22.13" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.8.3": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" dependencies: - "@babel/highlight": ^7.22.13 + "@babel/highlight": ^7.23.4 chalk: ^2.4.2 - checksum: 22e342c8077c8b77eeb11f554ecca2ba14153f707b85294fcf6070b6f6150aae88a7b7436dd88d8c9289970585f3fe5b9b941c5aa3aa26a6d5a8ef3f292da058 + checksum: d90981fdf56a2824a9b14d19a4c0e8db93633fd488c772624b4e83e0ceac6039a27cd298a247c3214faa952bf803ba23696172ae7e7235f3b97f43ba278c569a languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.20, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": - version: 7.22.20 - resolution: "@babel/compat-data@npm:7.22.20" - checksum: efedd1d18878c10fde95e4d82b1236a9aba41395ef798cbb651f58dbf5632dbff475736c507b8d13d4c8f44809d41c0eb2ef0d694283af9ba5dd8339b6dab451 +"@babel/compat-data@npm:^7.22.20, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9, @babel/compat-data@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/compat-data@npm:7.23.5" + checksum: 06ce244cda5763295a0ea924728c09bae57d35713b675175227278896946f922a63edf803c322f855a3878323d48d0255a2a3023409d2a123483c8a69ebb4744 languageName: node linkType: hard -"@babel/core@npm:^7.19.6, @babel/core@npm:^7.22.9": - version: 7.23.0 - resolution: "@babel/core@npm:7.23.0" +"@babel/core@npm:^7.19.6, @babel/core@npm:^7.23.3": + version: 7.23.9 + resolution: "@babel/core@npm:7.23.9" dependencies: "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 - "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-module-transforms": ^7.23.0 - "@babel/helpers": ^7.23.0 - "@babel/parser": ^7.23.0 - "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.0 - "@babel/types": ^7.23.0 + "@babel/code-frame": ^7.23.5 + "@babel/generator": ^7.23.6 + "@babel/helper-compilation-targets": ^7.23.6 + "@babel/helper-module-transforms": ^7.23.3 + "@babel/helpers": ^7.23.9 + "@babel/parser": ^7.23.9 + "@babel/template": ^7.23.9 + "@babel/traverse": ^7.23.9 + "@babel/types": ^7.23.9 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: cebd9b48dbc970a7548522f207f245c69567e5ea17ebb1a4e4de563823cf20a01177fe8d2fe19b6e1461361f92fa169fd0b29f8ee9d44eeec84842be1feee5f2 + checksum: 634a511f74db52a5f5a283c1121f25e2227b006c095b84a02a40a9213842489cd82dc7d61cdc74e10b5bcd9bb0a4e28bab47635b54c7e2256d47ab57356e2a76 languageName: node linkType: hard -"@babel/generator@npm:^7.22.9, @babel/generator@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/generator@npm:7.23.0" +"@babel/generator@npm:^7.23.3, @babel/generator@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/generator@npm:7.23.6" dependencies: - "@babel/types": ^7.23.0 + "@babel/types": ^7.23.6 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 8efe24adad34300f1f8ea2add420b28171a646edc70f2a1b3e1683842f23b8b7ffa7e35ef0119294e1901f45bfea5b3dc70abe1f10a1917ccdfb41bed69be5f1 + checksum: 1a1a1c4eac210f174cd108d479464d053930a812798e09fee069377de39a893422df5b5b146199ead7239ae6d3a04697b45fc9ac6e38e0f6b76374390f91fc6c languageName: node linkType: hard @@ -267,16 +267,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6": - version: 7.22.15 - resolution: "@babel/helper-compilation-targets@npm:7.22.15" +"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/helper-compilation-targets@npm:7.23.6" dependencies: - "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.15 - browserslist: ^4.21.9 + "@babel/compat-data": ^7.23.5 + "@babel/helper-validator-option": ^7.23.5 + browserslist: ^4.22.2 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: ce85196769e091ae54dd39e4a80c2a9df1793da8588e335c383d536d54f06baf648d0a08fc873044f226398c4ded15c4ae9120ee18e7dfd7c639a68e3cdc9980 + checksum: c630b98d4527ac8fe2c58d9a06e785dfb2b73ec71b7c4f2ddf90f814b5f75b547f3c015f110a010fd31f76e3864daaf09f3adcd2f6acdbfb18a8de3a48717590 languageName: node linkType: hard @@ -371,9 +371,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-module-transforms@npm:7.23.0" +"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.23.0, @babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" dependencies: "@babel/helper-environment-visitor": ^7.22.20 "@babel/helper-module-imports": ^7.22.15 @@ -382,7 +382,7 @@ __metadata: "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6e2afffb058cf3f8ce92f5116f710dda4341c81cfcd872f9a0197ea594f7ce0ab3cb940b0590af2fe99e60d2e5448bfba6bca8156ed70a2ed4be2adc8586c891 + checksum: 5d0895cfba0e16ae16f3aa92fee108517023ad89a855289c4eb1d46f7aef4519adf8e6f971e1d55ac20c5461610e17213f1144097a8f932e768a9132e2278d71 languageName: node linkType: hard @@ -455,10 +455,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-string-parser@npm:7.22.5" - checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: c0641144cf1a7e7dc93f3d5f16d5327465b6cf5d036b48be61ecba41e1eece161b48f46b7f960951b67f8c3533ce506b16dece576baef4d8b3b49f8c65410f90 languageName: node linkType: hard @@ -469,10 +469,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-validator-option@npm:7.22.15" - checksum: 68da52b1e10002a543161494c4bc0f4d0398c8fdf361d5f7f4272e95c45d5b32d974896d44f6a0ea7378c9204988879d73613ca683e13bd1304e46d25ff67a8d +"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: 537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e languageName: node linkType: hard @@ -487,34 +487,34 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.23.0": - version: 7.23.1 - resolution: "@babel/helpers@npm:7.23.1" +"@babel/helpers@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/helpers@npm:7.23.9" dependencies: - "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.0 - "@babel/types": ^7.23.0 - checksum: acfc345102045c24ea2a4d60e00dcf8220e215af3add4520e2167700661338e6a80bd56baf44bb764af05ec6621101c9afc315dc107e18c61fa6da8acbdbb893 + "@babel/template": ^7.23.9 + "@babel/traverse": ^7.23.9 + "@babel/types": ^7.23.9 + checksum: 2678231192c0471dbc2fc403fb19456cc46b1afefcfebf6bc0f48b2e938fdb0fef2e0fe90c8c8ae1f021dae5012b700372e4b5d15867f1d7764616532e4a6324 languageName: node linkType: hard -"@babel/highlight@npm:^7.22.13": - version: 7.22.20 - resolution: "@babel/highlight@npm:7.22.20" +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" dependencies: "@babel/helper-validator-identifier": ^7.22.20 chalk: ^2.4.2 js-tokens: ^4.0.0 - checksum: 84bd034dca309a5e680083cd827a766780ca63cef37308404f17653d32366ea76262bd2364b2d38776232f2d01b649f26721417d507e8b4b6da3e4e739f6d134 + checksum: 643acecdc235f87d925979a979b539a5d7d1f31ae7db8d89047269082694122d11aa85351304c9c978ceeb6d250591ccadb06c366f358ccee08bb9c122476b89 languageName: node linkType: hard -"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.22.7, @babel/parser@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/parser@npm:7.23.0" +"@babel/parser@npm:^7.22.7, @babel/parser@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/parser@npm:7.23.9" bin: parser: ./bin/babel-parser.js - checksum: 453fdf8b9e2c2b7d7b02139e0ce003d1af21947bbc03eb350fb248ee335c9b85e4ab41697ddbdd97079698de825a265e45a0846bb2ed47a2c7c1df833f42a354 + checksum: e7cd4960ac8671774e13803349da88d512f9292d7baa952173260d3e8f15620a28a3701f14f709d769209022f9e7b79965256b8be204fc550cfe783cdcabe7c7 languageName: node linkType: hard @@ -1593,7 +1593,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.22.6, @babel/runtime@npm:^7.8.4": +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.22.6, @babel/runtime@npm:^7.8.4": version: 7.23.1 resolution: "@babel/runtime@npm:7.23.1" dependencies: @@ -1602,43 +1602,43 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/template@npm:7.22.15" +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/template@npm:7.23.9" dependencies: - "@babel/code-frame": ^7.22.13 - "@babel/parser": ^7.22.15 - "@babel/types": ^7.22.15 - checksum: 1f3e7dcd6c44f5904c184b3f7fe280394b191f2fed819919ffa1e529c259d5b197da8981b6ca491c235aee8dbad4a50b7e31304aa531271cb823a4a24a0dd8fd + "@babel/code-frame": ^7.23.5 + "@babel/parser": ^7.23.9 + "@babel/types": ^7.23.9 + checksum: 6e67414c0f7125d7ecaf20c11fab88085fa98a96c3ef10da0a61e962e04fdf3a18a496a66047005ddd1bb682a7cc7842d556d1db2f3f3f6ccfca97d5e445d342 languageName: node linkType: hard -"@babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.23.0": - version: 7.23.2 - resolution: "@babel/traverse@npm:7.23.2" +"@babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/traverse@npm:7.23.9" dependencies: - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 + "@babel/code-frame": ^7.23.5 + "@babel/generator": ^7.23.6 "@babel/helper-environment-visitor": ^7.22.20 "@babel/helper-function-name": ^7.23.0 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.23.0 - "@babel/types": ^7.23.0 - debug: ^4.1.0 + "@babel/parser": ^7.23.9 + "@babel/types": ^7.23.9 + debug: ^4.3.1 globals: ^11.1.0 - checksum: 26a1eea0dde41ab99dde8b9773a013a0dc50324e5110a049f5d634e721ff08afffd54940b3974a20308d7952085ac769689369e9127dea655f868c0f6e1ab35d + checksum: a932f7aa850e158c00c97aad22f639d48c72805c687290f6a73e30c5c4957c07f5d28310c9bf59648e2980fe6c9d16adeb2ff92a9ca0f97fa75739c1328fc6c3 languageName: node linkType: hard -"@babel/types@npm:^7.20.0, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.23.0 - resolution: "@babel/types@npm:7.23.0" +"@babel/types@npm:^7.20.0, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.23.9 + resolution: "@babel/types@npm:7.23.9" dependencies: - "@babel/helper-string-parser": ^7.22.5 + "@babel/helper-string-parser": ^7.23.4 "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: 215fe04bd7feef79eeb4d33374b39909ce9cad1611c4135a4f7fdf41fe3280594105af6d7094354751514625ea92d0875aba355f53e86a92600f290e77b0e604 + checksum: 0a9b008e9bfc89beb8c185e620fa0f8ed6c771f1e1b2e01e1596870969096fec7793898a1d64a035176abf1dd13e2668ee30bf699f2d92c210a8128f4b151e65 languageName: node linkType: hard @@ -1689,12 +1689,12 @@ __metadata: languageName: node linkType: hard -"@docusaurus/core@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/core@npm:0.0.0-5703" +"@docusaurus/core@npm:3.1.1, @docusaurus/core@npm:^3.1.1": + version: 3.1.1 + resolution: "@docusaurus/core@npm:3.1.1" dependencies: - "@babel/core": ^7.22.9 - "@babel/generator": ^7.22.9 + "@babel/core": ^7.23.3 + "@babel/generator": ^7.23.3 "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-transform-runtime": ^7.22.9 "@babel/preset-env": ^7.22.9 @@ -1703,13 +1703,13 @@ __metadata: "@babel/runtime": ^7.22.6 "@babel/runtime-corejs3": ^7.22.6 "@babel/traverse": ^7.22.8 - "@docusaurus/cssnano-preset": 0.0.0-5703 - "@docusaurus/logger": 0.0.0-5703 - "@docusaurus/mdx-loader": 0.0.0-5703 + "@docusaurus/cssnano-preset": 3.1.1 + "@docusaurus/logger": 3.1.1 + "@docusaurus/mdx-loader": 3.1.1 "@docusaurus/react-loadable": 5.5.2 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-common": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-common": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 "@slorber/static-site-generator-webpack-plugin": ^4.0.7 "@svgr/webpack": ^6.5.1 autoprefixer: ^10.4.14 @@ -1736,7 +1736,6 @@ __metadata: html-minifier-terser: ^7.2.0 html-tags: ^3.3.1 html-webpack-plugin: ^5.5.3 - import-fresh: ^3.3.0 leven: ^3.1.0 lodash: ^4.17.21 mini-css-extract-plugin: ^2.7.6 @@ -1758,7 +1757,6 @@ __metadata: tslib: ^2.6.0 update-notifier: ^6.0.2 url-loader: ^4.1.1 - wait-on: ^7.0.1 webpack: ^5.88.1 webpack-bundle-analyzer: ^4.9.0 webpack-dev-server: ^4.15.1 @@ -1769,76 +1767,75 @@ __metadata: react-dom: ^18.0.0 bin: docusaurus: bin/docusaurus.mjs - checksum: 0e2912a09964778db626dc190317badb074f2f5e09157b8070f281eff69ce2e89846529584ce9bf6e6898293409c353adc80572484aceda1d2136aa2b0b334ca + checksum: a35851dd6dc5ff5d2c8a8efb36b9875dc33a9e067a4677e5c9437a8635970e55a3cf14bb6eba9c9e356f4189283fb401b39423d497eb17bb09a16dd0ed84b1da languageName: node linkType: hard -"@docusaurus/cssnano-preset@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/cssnano-preset@npm:0.0.0-5703" +"@docusaurus/cssnano-preset@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/cssnano-preset@npm:3.1.1" dependencies: cssnano-preset-advanced: ^5.3.10 postcss: ^8.4.26 postcss-sort-media-queries: ^4.4.1 tslib: ^2.6.0 - checksum: 5f6e2a69765fb18de7d8f5e3037bf4f08695034762fca092229ae0ba9a40e9b76048914ffbf6b1d339d496e23580f47aa419f51f446c98fca0ba8d500a06e396 + checksum: 562d96c2ff60826459c255831cd57b12393e6f41b3827c499d43d00ec1887fbeebfea7c68aa72d9e56a5d64419847d11a5d66021acb4f1e3ce4c87b781f33954 languageName: node linkType: hard -"@docusaurus/logger@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/logger@npm:0.0.0-5703" +"@docusaurus/logger@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/logger@npm:3.1.1" dependencies: chalk: ^4.1.2 tslib: ^2.6.0 - checksum: 9ee30b054388e5a618876316df50b73a7c4c8300ce205ace3c09f689a1a38b85d51891a1f0613341fd038a0d06290f0675d64c3e9e5b87f1eee3cb76fd45b55c + checksum: d9673035a7eff14c1820b6c07a07e92a21e7f8e824305a784250d025c79bf9cfc51d0e6007b7660da4f810b78793572d382db48033201902c335c916d735433b languageName: node linkType: hard -"@docusaurus/mdx-loader@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/mdx-loader@npm:0.0.0-5703" +"@docusaurus/mdx-loader@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/mdx-loader@npm:3.1.1" dependencies: "@babel/parser": ^7.22.7 "@babel/traverse": ^7.22.8 - "@docusaurus/logger": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 - "@mdx-js/mdx": ^2.1.5 + "@docusaurus/logger": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 + "@mdx-js/mdx": ^3.0.0 "@slorber/remark-comment": ^1.0.0 escape-html: ^1.0.3 - estree-util-value-to-estree: ^2.1.0 + estree-util-value-to-estree: ^3.0.1 file-loader: ^6.2.0 fs-extra: ^11.1.1 - hastscript: ^7.1.0 image-size: ^1.0.2 - mdast-util-mdx: ^2.0.0 - mdast-util-to-string: ^3.2.0 - rehype-raw: ^6.1.1 - remark-directive: ^2.0.1 - remark-emoji: ^2.2.0 + mdast-util-mdx: ^3.0.0 + mdast-util-to-string: ^4.0.0 + rehype-raw: ^7.0.0 + remark-directive: ^3.0.0 + remark-emoji: ^4.0.0 remark-frontmatter: ^5.0.0 - remark-gfm: ^3.0.1 + remark-gfm: ^4.0.0 stringify-object: ^3.3.0 tslib: ^2.6.0 - unified: ^10.1.2 - unist-util-visit: ^2.0.3 + unified: ^11.0.3 + unist-util-visit: ^5.0.0 url-loader: ^4.1.1 - vfile: ^5.3.7 + vfile: ^6.0.1 webpack: ^5.88.1 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: d57b08d7d676b9246be129af06a803fc55162359578e486456cb96a2372809c2093ef4115c926cf8e8be35e285b35d3ea444d808d46afb78edf66b49f58474fb + checksum: e6b2483b20db41c8264c47edc42e2a738239fbad9b69eb520c7dab421dc2cde4f73f6ec871ccf277dfbc285ae9b202af892771ce800c4ce56739bff6c4c3c231 languageName: node linkType: hard -"@docusaurus/module-type-aliases@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/module-type-aliases@npm:0.0.0-5703" +"@docusaurus/module-type-aliases@npm:3.1.1, @docusaurus/module-type-aliases@npm:^3.1.1": + version: 3.1.1 + resolution: "@docusaurus/module-type-aliases@npm:3.1.1" dependencies: "@docusaurus/react-loadable": 5.5.2 - "@docusaurus/types": 0.0.0-5703 + "@docusaurus/types": 3.1.1 "@types/history": ^4.7.11 "@types/react": "*" "@types/react-router-config": "*" @@ -1848,19 +1845,19 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: b0dbf719f3c6510b6706f36310b185bdf8a8a2ab5d3b0b76f8962b08d3b1a86783c3f4c23455c03d528500871f0a18ede4e03a0df8c7a44096b91097a5ffda7d + checksum: 937e52b57af5e459df26621dba57a1e399c48ebb1bc0fe10450c0238a79ef76d26a69ba9a42317e236d50bbd6c3e0fbb10fe97f8153373331947b90125aeee38 languageName: node linkType: hard -"@docusaurus/plugin-client-redirects@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-client-redirects@npm:0.0.0-5703" +"@docusaurus/plugin-client-redirects@npm:^3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-client-redirects@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/logger": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-common": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/logger": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-common": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 eta: ^2.2.0 fs-extra: ^11.1.1 lodash: ^4.17.21 @@ -1868,21 +1865,21 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: ac246eeb75028acd6a1d8804572fb89bac5575facf82c35ca3c8441d916980c183f5342a768d31cccc95f2034657bd25cfda24d480a2b8b4abdd693a51d9754e + checksum: 48a101b88e0f537323cb54c0de6d0a711f7987358699929f0bba17ae60038205a154b2ce179e1a1e065d2732186d23b53f4a1922ca8d875f6aea364abf77bdd7 languageName: node linkType: hard -"@docusaurus/plugin-content-blog@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-content-blog@npm:0.0.0-5703" +"@docusaurus/plugin-content-blog@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-content-blog@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/logger": 0.0.0-5703 - "@docusaurus/mdx-loader": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-common": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/logger": 3.1.1 + "@docusaurus/mdx-loader": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-common": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 cheerio: ^1.0.0-rc.12 feed: ^4.2.2 fs-extra: ^11.1.1 @@ -1890,31 +1887,30 @@ __metadata: reading-time: ^1.5.0 srcset: ^4.0.0 tslib: ^2.6.0 - unist-util-visit: ^2.0.3 + unist-util-visit: ^5.0.0 utility-types: ^3.10.0 webpack: ^5.88.1 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 46e4a4fac407a8014ce0918933a476b03adca3d3b7e76b27a87bf0eeeb446f20e25db60b292f743652f3ad88232824f7a1541fcb7d27bcdbf9cb6d1c94e9a1b5 + checksum: 8680e47cc1250cd0c0987c7471e8679860d867de5bf3917e0088185cfa4f5abdb7a847f652cea7c61afbce9dad8bb3cd9f8924b13b064087eab4f9654a9de05d languageName: node linkType: hard -"@docusaurus/plugin-content-docs@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-content-docs@npm:0.0.0-5703" +"@docusaurus/plugin-content-docs@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-content-docs@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/logger": 0.0.0-5703 - "@docusaurus/mdx-loader": 0.0.0-5703 - "@docusaurus/module-type-aliases": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/logger": 3.1.1 + "@docusaurus/mdx-loader": 3.1.1 + "@docusaurus/module-type-aliases": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 "@types/react-router-config": ^5.0.7 combine-promises: ^1.1.0 fs-extra: ^11.1.1 - import-fresh: ^3.3.0 js-yaml: ^4.1.0 lodash: ^4.17.21 tslib: ^2.6.0 @@ -1923,133 +1919,133 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: b08fbbac78f76ca68fc4a8ba488f41709733727e073d5f2d1e671dab484c4d37729a657305b315052369292ec7ae83c32992e551eda1d0990c035aa84fecbac6 + checksum: 1d96477ca575e01e3e2de080075f07a7f35da7a839632d2ad2d06bf3b651fbd91dd4e70861bb16e1ccb8b2a99f0602461f4c181c04557e0a98ece1b5e5ba61de languageName: node linkType: hard -"@docusaurus/plugin-content-pages@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-content-pages@npm:0.0.0-5703" +"@docusaurus/plugin-content-pages@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-content-pages@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/mdx-loader": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/mdx-loader": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 fs-extra: ^11.1.1 tslib: ^2.6.0 webpack: ^5.88.1 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 9d0b904259c625d82175fa3fdeae89de8503f409a7dc47c9077f35d25f72fcf76a0a6392f5e790c3bf2604896e1aa0fced00386b9df553f6ba01247ccadd6503 + checksum: ccb9c58802b56c79f2b9bc4445dad316e50438fea995c2a6543637c472c4c2ccfbe3984abb462a1359bce3e3dfad84fecf6e4faab8e242dac4182146043ea005 languageName: node linkType: hard -"@docusaurus/plugin-debug@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-debug@npm:0.0.0-5703" +"@docusaurus/plugin-debug@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-debug@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@microlink/react-json-view": ^1.22.2 + "@docusaurus/core": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils": 3.1.1 fs-extra: ^11.1.1 + react-json-view-lite: ^1.2.0 tslib: ^2.6.0 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: b9bf04c27144dc797fa25cae6df95f5a8b15c888993194bf1b0fae06ce6ae55cf338270b7a914ef07d6551addd6261e628a465c4f277a4e13753c207e533557d + checksum: 843780bf7eb57d41d198832ad9a7a53e45302c2a10f0221a77c4340e3b1c1dd4e92f77f2ecae3fdb8eef0aed1b7314f2ce1c8323fe25eec759bcde10e0e50149 languageName: node linkType: hard -"@docusaurus/plugin-google-analytics@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-google-analytics@npm:0.0.0-5703" +"@docusaurus/plugin-google-analytics@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-google-analytics@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 tslib: ^2.6.0 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: ad98ea301caa4908197a3c460ae88dd5598c1485d8643708e8fb3f757ae3bf854efc1b5a1ab9c8ba15371c3a989704d7f9fdb55dd25d1d1b81936526068a877b + checksum: 4efcaf9f95353485965e299a971e761b3dadac1370d6d8a6582d653535ce76e36b6788283aa1a6dfd7f55ac64fca3d7e97239f94a5163e4cf192a5c2854b1d61 languageName: node linkType: hard -"@docusaurus/plugin-google-gtag@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-google-gtag@npm:0.0.0-5703" +"@docusaurus/plugin-google-gtag@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-google-gtag@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 "@types/gtag.js": ^0.0.12 tslib: ^2.6.0 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 9fbdbc0569f1ff634c357d197c1442da17c4a09c03163640db1d1bde0be8612dd432e494a4f02eb43ac58dd7df2cbd335911fdb7fa315a9de95e173090daf5dc + checksum: 65ede5352fa16492b23ac37343eb62f4855c4e306ce07552f3257894ddc2329a6244d371bf989bd034cd685965ef8c667d87322497e475d1e54f014fa44225f1 languageName: node linkType: hard -"@docusaurus/plugin-google-tag-manager@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-google-tag-manager@npm:0.0.0-5703" +"@docusaurus/plugin-google-tag-manager@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-google-tag-manager@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 tslib: ^2.6.0 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 3ed2c6eb05087db3877ffe98cc6eca59be80889411e3cdbd981ac4d951a5efa269a1011a39a94c997d93474fd916e3634905a6537e10575e5d5a954a9bb00c5d + checksum: 9a1a014a39da0e5ef234c0eb427b7d97b59fd797152c24e05c13a6a11db4269a0223ad474d17714d02a3ad14a97a9072b6757554b3f274b5f0480d7409749a7c languageName: node linkType: hard -"@docusaurus/plugin-sitemap@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/plugin-sitemap@npm:0.0.0-5703" +"@docusaurus/plugin-sitemap@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/plugin-sitemap@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/logger": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-common": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/logger": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-common": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 fs-extra: ^11.1.1 sitemap: ^7.1.1 tslib: ^2.6.0 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 1afbd2e3575ae09428fb4c53a2563e313c3e1a2323c79bdc256779c56f8d796c2c94473d055d6d7a97d477f06e35f0922bed441f7c3e1467feeb5329e1f7761b + checksum: 69b584dc9143b816a06eac7bbd13501c201c24dadd339dfd18179f7a7ddcabfe76640fd87ab14f73f624916e74b7192eee5f3aca7e745f2d6a92b5754c8d7bb3 languageName: node linkType: hard -"@docusaurus/preset-classic@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/preset-classic@npm:0.0.0-5703" +"@docusaurus/preset-classic@npm:^3.1.1": + version: 3.1.1 + resolution: "@docusaurus/preset-classic@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/plugin-content-blog": 0.0.0-5703 - "@docusaurus/plugin-content-docs": 0.0.0-5703 - "@docusaurus/plugin-content-pages": 0.0.0-5703 - "@docusaurus/plugin-debug": 0.0.0-5703 - "@docusaurus/plugin-google-analytics": 0.0.0-5703 - "@docusaurus/plugin-google-gtag": 0.0.0-5703 - "@docusaurus/plugin-google-tag-manager": 0.0.0-5703 - "@docusaurus/plugin-sitemap": 0.0.0-5703 - "@docusaurus/theme-classic": 0.0.0-5703 - "@docusaurus/theme-common": 0.0.0-5703 - "@docusaurus/theme-search-algolia": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/plugin-content-blog": 3.1.1 + "@docusaurus/plugin-content-docs": 3.1.1 + "@docusaurus/plugin-content-pages": 3.1.1 + "@docusaurus/plugin-debug": 3.1.1 + "@docusaurus/plugin-google-analytics": 3.1.1 + "@docusaurus/plugin-google-gtag": 3.1.1 + "@docusaurus/plugin-google-tag-manager": 3.1.1 + "@docusaurus/plugin-sitemap": 3.1.1 + "@docusaurus/theme-classic": 3.1.1 + "@docusaurus/theme-common": 3.1.1 + "@docusaurus/theme-search-algolia": 3.1.1 + "@docusaurus/types": 3.1.1 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: d4c2e6e02b828b248351819410fe03e94a4b4fd8489e398b60d128ba8f173548f8353a3875ff0347179ee59e84df7e3e9e1e5b0be24b84f015c8c02b650eb80c + checksum: c0fba593e9d1670ea21b6caefe297ee35ca22f6b8bc63037d8f3fa652d62516494d0a557f8949520424d01a4e92b563800599ec16a1a33655324b42d5f15c55a languageName: node linkType: hard @@ -2065,30 +2061,30 @@ __metadata: languageName: node linkType: hard -"@docusaurus/theme-classic@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/theme-classic@npm:0.0.0-5703" +"@docusaurus/theme-classic@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/theme-classic@npm:3.1.1" dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/mdx-loader": 0.0.0-5703 - "@docusaurus/module-type-aliases": 0.0.0-5703 - "@docusaurus/plugin-content-blog": 0.0.0-5703 - "@docusaurus/plugin-content-docs": 0.0.0-5703 - "@docusaurus/plugin-content-pages": 0.0.0-5703 - "@docusaurus/theme-common": 0.0.0-5703 - "@docusaurus/theme-translations": 0.0.0-5703 - "@docusaurus/types": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-common": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 - "@mdx-js/react": ^2.1.5 - clsx: ^1.2.1 + "@docusaurus/core": 3.1.1 + "@docusaurus/mdx-loader": 3.1.1 + "@docusaurus/module-type-aliases": 3.1.1 + "@docusaurus/plugin-content-blog": 3.1.1 + "@docusaurus/plugin-content-docs": 3.1.1 + "@docusaurus/plugin-content-pages": 3.1.1 + "@docusaurus/theme-common": 3.1.1 + "@docusaurus/theme-translations": 3.1.1 + "@docusaurus/types": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-common": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 + "@mdx-js/react": ^3.0.0 + clsx: ^2.0.0 copy-text-to-clipboard: ^3.2.0 infima: 0.2.0-alpha.43 lodash: ^4.17.21 nprogress: ^0.2.0 postcss: ^8.4.26 - prism-react-renderer: ^2.1.0 + prism-react-renderer: ^2.3.0 prismjs: ^1.29.0 react-router-dom: ^5.3.4 rtlcss: ^4.1.0 @@ -2097,51 +2093,51 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: ba078e06a07bbcc4a474f67938760852146e0cb612e44bc81b22879d374372eeea076de6e46e9f955dd351f37dadd98ced2e70b6b8a476b88684fae40855ecb9 + checksum: 8d64676351408e0a378bf9b226cb9cc8f52c8b1f1e03811431de0c7af2aa80445a825267933a4c44ee92d6a975a549c47f4d28798d99cfc0b731f4c4e38f0ba3 languageName: node linkType: hard -"@docusaurus/theme-common@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/theme-common@npm:0.0.0-5703" +"@docusaurus/theme-common@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/theme-common@npm:3.1.1" dependencies: - "@docusaurus/mdx-loader": 0.0.0-5703 - "@docusaurus/module-type-aliases": 0.0.0-5703 - "@docusaurus/plugin-content-blog": 0.0.0-5703 - "@docusaurus/plugin-content-docs": 0.0.0-5703 - "@docusaurus/plugin-content-pages": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-common": 0.0.0-5703 + "@docusaurus/mdx-loader": 3.1.1 + "@docusaurus/module-type-aliases": 3.1.1 + "@docusaurus/plugin-content-blog": 3.1.1 + "@docusaurus/plugin-content-docs": 3.1.1 + "@docusaurus/plugin-content-pages": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-common": 3.1.1 "@types/history": ^4.7.11 "@types/react": "*" "@types/react-router-config": "*" - clsx: ^1.2.1 + clsx: ^2.0.0 parse-numeric-range: ^1.3.0 - prism-react-renderer: ^2.1.0 + prism-react-renderer: ^2.3.0 tslib: ^2.6.0 utility-types: ^3.10.0 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: f9b23318dbb504bcce0992de475f1ab32860620523dfe749bfdb00ac8e7fc75be705fd5177db2ce893ed269de40cef7f6a7290d44a12c6a160d9461bbca05552 + checksum: ba7d2c4032c8d7f822e77bd39a77f712f258e9d4aa44aac75a72ad27c0eaa7400746025ba59e445c9c1b083d2ae02802a759361d67e80b9f7295521520ada1bc languageName: node linkType: hard -"@docusaurus/theme-search-algolia@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/theme-search-algolia@npm:0.0.0-5703" +"@docusaurus/theme-search-algolia@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/theme-search-algolia@npm:3.1.1" dependencies: "@docsearch/react": ^3.5.2 - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/logger": 0.0.0-5703 - "@docusaurus/plugin-content-docs": 0.0.0-5703 - "@docusaurus/theme-common": 0.0.0-5703 - "@docusaurus/theme-translations": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 - "@docusaurus/utils-validation": 0.0.0-5703 + "@docusaurus/core": 3.1.1 + "@docusaurus/logger": 3.1.1 + "@docusaurus/plugin-content-docs": 3.1.1 + "@docusaurus/theme-common": 3.1.1 + "@docusaurus/theme-translations": 3.1.1 + "@docusaurus/utils": 3.1.1 + "@docusaurus/utils-validation": 3.1.1 algoliasearch: ^4.18.0 algoliasearch-helper: ^3.13.3 - clsx: ^1.2.1 + clsx: ^2.0.0 eta: ^2.2.0 fs-extra: ^11.1.1 lodash: ^4.17.21 @@ -2150,24 +2146,25 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 2e8ccc603126634488332ae108f9ac9ad3d2e1e46b5abef48720f2a25ae5cfc93850301d4ea30a6dc66034877b6abedd31229f622c6fd181347c3c14f7ba3c66 + checksum: 42686e29faf14c482161eb399b1bc9960322f61298b2e6694d1b89374b2f4c352147b2299cf830abb0db8a9eba0bf5d342adfd1ad71101d1aad17f0955856145 languageName: node linkType: hard -"@docusaurus/theme-translations@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/theme-translations@npm:0.0.0-5703" +"@docusaurus/theme-translations@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/theme-translations@npm:3.1.1" dependencies: fs-extra: ^11.1.1 tslib: ^2.6.0 - checksum: 1f952386982008e2e7b07d6b95b1a902a57891321ae2670f13f391a541944ec2c82f5e03d3ed2c459a17113387a51cb5efe824d03037a3cc0b25251451287d1d + checksum: 4fbf12aef4b6e49182b5fd6ee0c357b4cd1811490713a7cddeb7714eacebf1972dac10f3bb4ee56f6c5e62c297a9a7a17f4e3724e56ad28fa8125073e0c3258e languageName: node linkType: hard -"@docusaurus/types@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/types@npm:0.0.0-5703" +"@docusaurus/types@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/types@npm:3.1.1" dependencies: + "@mdx-js/mdx": ^3.0.0 "@types/history": ^4.7.11 "@types/react": "*" commander: ^5.1.0 @@ -2179,13 +2176,13 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 46ca6a27c8a0d1b69f744375ee2c24be2deed20c2801231a462b2e37b7a6e1f73ab17b6a5506e05f628957be8be74e4cd960780b9986c8fa4ac1757bd8c74231 + checksum: 5041bca00cc887cc3ac8dd8c0895cc778dced2943b2d026fe7d1b8828756257093ad3df05706f344e91710b054f9df0e56d2d369a448472ec173bd81c4a8956f languageName: node linkType: hard -"@docusaurus/utils-common@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/utils-common@npm:0.0.0-5703" +"@docusaurus/utils-common@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/utils-common@npm:3.1.1" dependencies: tslib: ^2.6.0 peerDependencies: @@ -2193,28 +2190,28 @@ __metadata: peerDependenciesMeta: "@docusaurus/types": optional: true - checksum: 8f70f176a99bcbbde22abd759621087ad555e7967cddf85662402f6d55c84d5f44cc1a90bf4e64670fc75b6db646dca4f573b3656a1718d1596d60e0e6c2d23a + checksum: 787d930456e4034f7f57186172ad5d214c2473d135ec8c12cf19af8fc64e87eb35a684137e8b813f61e224243c7e3d122c6c646cb20e12ef216048be6a817f44 languageName: node linkType: hard -"@docusaurus/utils-validation@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/utils-validation@npm:0.0.0-5703" +"@docusaurus/utils-validation@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/utils-validation@npm:3.1.1" dependencies: - "@docusaurus/logger": 0.0.0-5703 - "@docusaurus/utils": 0.0.0-5703 + "@docusaurus/logger": 3.1.1 + "@docusaurus/utils": 3.1.1 joi: ^17.9.2 js-yaml: ^4.1.0 tslib: ^2.6.0 - checksum: e0d6df549644d8e732daf5407ce110dbccba17dcf84fe1a80091119675d2ce515e26bf6612fefa60b7df2c65dbaeee7ceb1a9f2b947a3705fe1efc7c229794e2 + checksum: 57d348a4bb2ecac34d84676674c3dc78d6e2821487d5c8a0b9945cab7a4362db5ee2ad084e4bb031b5c4ea674c5136c35090abea2272f57f3b25473c3b1680de languageName: node linkType: hard -"@docusaurus/utils@npm:0.0.0-5703": - version: 0.0.0-5703 - resolution: "@docusaurus/utils@npm:0.0.0-5703" +"@docusaurus/utils@npm:3.1.1": + version: 3.1.1 + resolution: "@docusaurus/utils@npm:3.1.1" dependencies: - "@docusaurus/logger": 0.0.0-5703 + "@docusaurus/logger": 3.1.1 "@svgr/webpack": ^6.5.1 escape-string-regexp: ^4.0.0 file-loader: ^6.2.0 @@ -2222,6 +2219,7 @@ __metadata: github-slugger: ^1.5.0 globby: ^11.1.0 gray-matter: ^4.0.3 + jiti: ^1.20.0 js-yaml: ^4.1.0 lodash: ^4.17.21 micromatch: ^4.0.5 @@ -2235,7 +2233,7 @@ __metadata: peerDependenciesMeta: "@docusaurus/types": optional: true - checksum: 91f53b17393e29fadb01c039f5394fc257c54bd7d80068f3a3e8a5e52d635d2e3de9fe781340de2ff4eaf691a2d4104865291c05c22ffc8b48a0894f588f3a9e + checksum: 45c39767d1adcc793515109edcb6cfbecd9cf5f979d5dda95a729809b9c30f6288fa5adba757ce131b91b3d77ff24bb7e06ad1b0011d37b45be0035b76ed7ba3 languageName: node linkType: hard @@ -2344,55 +2342,46 @@ __metadata: languageName: node linkType: hard -"@mdx-js/mdx@npm:^2.1.5": - version: 2.3.0 - resolution: "@mdx-js/mdx@npm:2.3.0" +"@mdx-js/mdx@npm:^3.0.0": + version: 3.0.1 + resolution: "@mdx-js/mdx@npm:3.0.1" dependencies: + "@types/estree": ^1.0.0 "@types/estree-jsx": ^1.0.0 + "@types/hast": ^3.0.0 "@types/mdx": ^2.0.0 - estree-util-build-jsx: ^2.0.0 - estree-util-is-identifier-name: ^2.0.0 - estree-util-to-js: ^1.1.0 + collapse-white-space: ^2.0.0 + devlop: ^1.0.0 + estree-util-build-jsx: ^3.0.0 + estree-util-is-identifier-name: ^3.0.0 + estree-util-to-js: ^2.0.0 estree-walker: ^3.0.0 - hast-util-to-estree: ^2.0.0 - markdown-extensions: ^1.0.0 + hast-util-to-estree: ^3.0.0 + hast-util-to-jsx-runtime: ^2.0.0 + markdown-extensions: ^2.0.0 periscopic: ^3.0.0 - remark-mdx: ^2.0.0 - remark-parse: ^10.0.0 - remark-rehype: ^10.0.0 - unified: ^10.0.0 - unist-util-position-from-estree: ^1.0.0 - unist-util-stringify-position: ^3.0.0 - unist-util-visit: ^4.0.0 - vfile: ^5.0.0 - checksum: d918766a326502ec0b54adee61dc2930daf5b748acb9107f9bfd1ab0dbc4d7b1a4d0dbb9e21da9dd2a9fc2f9950b2973a43c6ba62d3a72eb67a30f6c953e5be8 + remark-mdx: ^3.0.0 + remark-parse: ^11.0.0 + remark-rehype: ^11.0.0 + source-map: ^0.7.0 + unified: ^11.0.0 + unist-util-position-from-estree: ^2.0.0 + unist-util-stringify-position: ^4.0.0 + unist-util-visit: ^5.0.0 + vfile: ^6.0.0 + checksum: 82221662279c39a755b88f63b031a30b9bc04365e5bfc3e45590f4fa7bf6bff12364f4caee31c768ae588145eed74fda10c327d53f9272b1a2cffbc8bd537ce6 languageName: node linkType: hard -"@mdx-js/react@npm:^2.1.5": - version: 2.3.0 - resolution: "@mdx-js/react@npm:2.3.0" +"@mdx-js/react@npm:^3.0.0": + version: 3.0.1 + resolution: "@mdx-js/react@npm:3.0.1" dependencies: "@types/mdx": ^2.0.0 + peerDependencies: "@types/react": ">=16" - peerDependencies: react: ">=16" - checksum: f45fe779556e6cd9a787f711274480e0638b63c460f192ebdcd77cc07ffa61e23c98cb46dd46e577093e1cb4997a232a848d1fb0ba850ae204422cf603add524 - languageName: node - linkType: hard - -"@microlink/react-json-view@npm:^1.22.2": - version: 1.22.2 - resolution: "@microlink/react-json-view@npm:1.22.2" - dependencies: - flux: ~4.0.1 - react-base16-styling: ~0.6.0 - react-lifecycles-compat: ~3.0.4 - react-textarea-autosize: ~8.3.2 - peerDependencies: - react: ">= 15" - react-dom: ">= 15" - checksum: 7cc31fcc06f6bac2062aedda565e55a03e1275f5b810f0efee27de8ea60967713f3a13859a16ba775b9b3e8782c044928cf3faee48902a19ce1c58d7ecc6e8d0 + checksum: 1063a597264f6a8840aa13274a99beef8983a88dd45b0c5b8e48e6216bc23d33e247da8e2d95d6e1874483f8b4e0903b166ce5046874aa7ffa2b1333057dcddf languageName: node linkType: hard @@ -2507,6 +2496,13 @@ __metadata: languageName: node linkType: hard +"@sindresorhus/is@npm:^4.6.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 83839f13da2c29d55c97abc3bc2c55b250d33a0447554997a85c539e058e57b8da092da396e252b11ec24a0279a0bed1f537fa26302209327060643e327f81d2 + languageName: node + linkType: hard + "@sindresorhus/is@npm:^5.2.0": version: 5.3.0 resolution: "@sindresorhus/is@npm:5.3.0" @@ -2701,91 +2697,91 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-darwin-arm64@npm:1.3.107" +"@swc/core-darwin-arm64@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-darwin-arm64@npm:1.4.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-darwin-x64@npm:1.3.107" +"@swc/core-darwin-x64@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-darwin-x64@npm:1.4.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.107" +"@swc/core-linux-arm-gnueabihf@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.4.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.107" +"@swc/core-linux-arm64-gnu@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-linux-arm64-gnu@npm:1.4.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.107" +"@swc/core-linux-arm64-musl@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-linux-arm64-musl@npm:1.4.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.107" +"@swc/core-linux-x64-gnu@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-linux-x64-gnu@npm:1.4.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-x64-musl@npm:1.3.107" +"@swc/core-linux-x64-musl@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-linux-x64-musl@npm:1.4.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.107" +"@swc/core-win32-arm64-msvc@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-win32-arm64-msvc@npm:1.4.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.107" +"@swc/core-win32-ia32-msvc@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-win32-ia32-msvc@npm:1.4.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.107" +"@swc/core-win32-x64-msvc@npm:1.4.1": + version: 1.4.1 + resolution: "@swc/core-win32-x64-msvc@npm:1.4.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.46": - version: 1.3.107 - resolution: "@swc/core@npm:1.3.107" + version: 1.4.1 + resolution: "@swc/core@npm:1.4.1" dependencies: - "@swc/core-darwin-arm64": 1.3.107 - "@swc/core-darwin-x64": 1.3.107 - "@swc/core-linux-arm-gnueabihf": 1.3.107 - "@swc/core-linux-arm64-gnu": 1.3.107 - "@swc/core-linux-arm64-musl": 1.3.107 - "@swc/core-linux-x64-gnu": 1.3.107 - "@swc/core-linux-x64-musl": 1.3.107 - "@swc/core-win32-arm64-msvc": 1.3.107 - "@swc/core-win32-ia32-msvc": 1.3.107 - "@swc/core-win32-x64-msvc": 1.3.107 - "@swc/counter": ^0.1.1 + "@swc/core-darwin-arm64": 1.4.1 + "@swc/core-darwin-x64": 1.4.1 + "@swc/core-linux-arm-gnueabihf": 1.4.1 + "@swc/core-linux-arm64-gnu": 1.4.1 + "@swc/core-linux-arm64-musl": 1.4.1 + "@swc/core-linux-x64-gnu": 1.4.1 + "@swc/core-linux-x64-musl": 1.4.1 + "@swc/core-win32-arm64-msvc": 1.4.1 + "@swc/core-win32-ia32-msvc": 1.4.1 + "@swc/core-win32-x64-msvc": 1.4.1 + "@swc/counter": ^0.1.2 "@swc/types": ^0.1.5 peerDependencies: "@swc/helpers": ^0.5.0 @@ -2813,14 +2809,14 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 0dccff50461fb8c0f4af053b70e555c91386cb07aa7657a7328d58e397d15640723587549416d8fa7dcc073ad11b39318146bd50ec4a82345ce2ce39c7ba4c00 + checksum: 3549b4a0ba8201be2dd39954ef8375df5d028da5688a68211dc5cbf69ff7a43533e9ffd36f629095f51555552f4df52116384ef779d5ec45c2b9de938e651d57 languageName: node linkType: hard -"@swc/counter@npm:^0.1.1": - version: 0.1.1 - resolution: "@swc/counter@npm:0.1.1" - checksum: bb974babd493ba01c0d4a95ab610c3fc15fbf609c08cb0342798e485f57ecc0950abbf84e07124e63c5fe610b492d9a8dd03701d3b9ef7329d9e8bf3cc44980f +"@swc/counter@npm:^0.1.2, @swc/counter@npm:^0.1.3": + version: 0.1.3 + resolution: "@swc/counter@npm:0.1.3" + checksum: df8f9cfba9904d3d60f511664c70d23bb323b3a0803ec9890f60133954173047ba9bdeabce28cd70ba89ccd3fd6c71c7b0bd58be85f611e1ffbe5d5c18616598 languageName: node linkType: hard @@ -2983,12 +2979,12 @@ __metadata: languageName: node linkType: hard -"@types/hast@npm:^2.0.0": - version: 2.3.4 - resolution: "@types/hast@npm:2.3.4" +"@types/hast@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/hast@npm:3.0.4" dependencies: "@types/unist": "*" - checksum: fff47998f4c11e21a7454b58673f70478740ecdafd95aaf50b70a3daa7da9cdc57315545bf9c039613732c40b7b0e9e49d11d03fe9a4304721cdc3b29a88141e + checksum: 7a973e8d16fcdf3936090fa2280f408fb2b6a4f13b42edeb5fbd614efe042b82eac68e298e556d50f6b4ad585a3a93c353e9c826feccdc77af59de8dd400d044 languageName: node linkType: hard @@ -3061,21 +3057,12 @@ __metadata: languageName: node linkType: hard -"@types/mdast@npm:^3.0.0": - version: 3.0.10 - resolution: "@types/mdast@npm:3.0.10" +"@types/mdast@npm:^4.0.0, @types/mdast@npm:^4.0.2": + version: 4.0.3 + resolution: "@types/mdast@npm:4.0.3" dependencies: "@types/unist": "*" - checksum: 3f587bfc0a9a2403ecadc220e61031b01734fedaf82e27eb4d5ba039c0eb54db8c85681ccc070ab4df3f7ec711b736a82b990e69caa14c74bf7ac0ccf2ac7313 - languageName: node - linkType: hard - -"@types/mdast@npm:^4.0.0": - version: 4.0.1 - resolution: "@types/mdast@npm:4.0.1" - dependencies: - "@types/unist": "*" - checksum: 3d8fe54a6fb747376c4cc2f05c319730a5737b77844d8ea58d2d696417fa933cd270c20e197f531fc1b4be5e340dc416129f8b4f5fa2f0d2d0cf51850928340a + checksum: 345c5a22fccf05f35239ea6313ee4aaf6ebed5927c03ac79744abccb69b9ba5e692f9b771e36a012b79e17429082cada30f579e9c43b8a54e0ffb365431498b6 languageName: node linkType: hard @@ -3121,13 +3108,6 @@ __metadata: languageName: node linkType: hard -"@types/parse5@npm:^6.0.0": - version: 6.0.3 - resolution: "@types/parse5@npm:6.0.3" - checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 - languageName: node - linkType: hard - "@types/prismjs@npm:^1.26.0": version: 1.26.1 resolution: "@types/prismjs@npm:1.26.1" @@ -3188,7 +3168,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:>=16": +"@types/react@npm:*": version: 18.2.0 resolution: "@types/react@npm:18.2.0" dependencies: @@ -3296,6 +3276,13 @@ __metadata: languageName: node linkType: hard +"@ungap/structured-clone@npm:^1.0.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.11.5, @webassemblyjs/ast@npm:^1.11.5": version: 1.11.5 resolution: "@webassemblyjs/ast@npm:1.11.5" @@ -3768,13 +3755,6 @@ __metadata: languageName: node linkType: hard -"asap@npm:~2.0.3": - version: 2.0.6 - resolution: "asap@npm:2.0.6" - checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d - languageName: node - linkType: hard - "astring@npm:^1.8.0": version: 1.8.4 resolution: "astring@npm:1.8.4" @@ -3784,13 +3764,6 @@ __metadata: languageName: node linkType: hard -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be - languageName: node - linkType: hard - "at-least-node@npm:^1.0.0": version: 1.0.0 resolution: "at-least-node@npm:1.0.0" @@ -3816,16 +3789,6 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.27.2": - version: 0.27.2 - resolution: "axios@npm:0.27.2" - dependencies: - follow-redirects: ^1.14.9 - form-data: ^4.0.0 - checksum: 38cb7540465fe8c4102850c4368053c21683af85c5fdf0ea619f9628abbcb59415d1e22ebc8a6390d2bbc9b58a9806c874f139767389c862ec9b772235f06854 - languageName: node - linkType: hard - "babel-loader@npm:^9.1.3": version: 9.1.3 resolution: "babel-loader@npm:9.1.3" @@ -3888,10 +3851,10 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-microsite@workspace:." dependencies: - "@docusaurus/core": 0.0.0-5703 - "@docusaurus/module-type-aliases": 0.0.0-5703 - "@docusaurus/plugin-client-redirects": 0.0.0-5703 - "@docusaurus/preset-classic": 0.0.0-5703 + "@docusaurus/core": ^3.1.1 + "@docusaurus/module-type-aliases": ^3.1.1 + "@docusaurus/plugin-client-redirects": ^3.1.1 + "@docusaurus/preset-classic": ^3.1.1 "@spotify/prettier-config": ^14.0.0 "@swc/core": ^1.3.46 "@tsconfig/docusaurus": ^2.0.0 @@ -3926,13 +3889,6 @@ __metadata: languageName: node linkType: hard -"base16@npm:^1.0.0": - version: 1.0.0 - resolution: "base16@npm:1.0.0" - checksum: 0cd449a2db0f0f957e4b6b57e33bc43c9e20d4f1dd744065db94b5da35e8e71fa4dc4bc7a901e59a84d5f8b6936e3c520e2471787f667fc155fb0f50d8540f5d - languageName: node - linkType: hard - "batch@npm:0.6.1": version: 0.6.1 resolution: "batch@npm:0.6.1" @@ -4053,17 +4009,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.18.1, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": - version: 4.22.1 - resolution: "browserslist@npm:4.22.1" +"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.18.1, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.22.1, browserslist@npm:^4.22.2": + version: 4.22.3 + resolution: "browserslist@npm:4.22.3" dependencies: - caniuse-lite: ^1.0.30001541 - electron-to-chromium: ^1.4.535 - node-releases: ^2.0.13 + caniuse-lite: ^1.0.30001580 + electron-to-chromium: ^1.4.648 + node-releases: ^2.0.14 update-browserslist-db: ^1.0.13 bin: browserslist: cli.js - checksum: 7e6b10c53f7dd5d83fd2b95b00518889096382539fed6403829d447e05df4744088de46a571071afb447046abc3c66ad06fbc790e70234ec2517452e32ffd862 + checksum: e62b17348e92143fe58181b02a6a97c4a98bd812d1dc9274673a54f73eec53dbed1c855ebf73e318ee00ee039f23c9a6d0e7629d24f3baef08c7a5b469742d57 languageName: node linkType: hard @@ -4189,10 +4145,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001538, caniuse-lite@npm:^1.0.30001541": - version: 1.0.30001546 - resolution: "caniuse-lite@npm:1.0.30001546" - checksum: d3ef82f5ee94743002c5b2dd61c84342debcc94b2d5907b64ade3514ecfc4f20bbe86a6bc453fd6436d5fbcf6582e07405d7c2077565675a71c83adc238a11fa +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001538, caniuse-lite@npm:^1.0.30001580": + version: 1.0.30001587 + resolution: "caniuse-lite@npm:1.0.30001587" + checksum: fb50aa9beaaae42f9feae92ce038f6ff71e97510f024ef1bef2666f3adcfd36d6c59e5675442e5fe795575193f71bc826cb7721d4b0f6d763e82d193bea57863 languageName: node linkType: hard @@ -4231,6 +4187,13 @@ __metadata: languageName: node linkType: hard +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: b563e4b6039b15213114626621e7a3d12f31008bdce20f9c741d69987f62aeaace7ec30f6018890ad77b2e9b4d95324c9f5acfca58a9441e3b1dcdd1e2525d17 + languageName: node + linkType: hard + "character-entities-html4@npm:^2.0.0": version: 2.1.0 resolution: "character-entities-html4@npm:2.1.0" @@ -4375,13 +4338,6 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^1.2.1": - version: 1.2.1 - resolution: "clsx@npm:1.2.1" - checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12 - languageName: node - linkType: hard - "clsx@npm:^2.0.0": version: 2.1.0 resolution: "clsx@npm:2.1.0" @@ -4389,6 +4345,13 @@ __metadata: languageName: node linkType: hard +"collapse-white-space@npm:^2.0.0": + version: 2.1.0 + resolution: "collapse-white-space@npm:2.1.0" + checksum: c8978b1f4e7d68bf846cfdba6c6689ce8910511df7d331eb6e6757e51ceffb52768d59a28db26186c91dcf9594955b59be9f8ccd473c485790f5d8b90dc6726f + languageName: node + linkType: hard + "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -4451,15 +4414,6 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: ~1.0.0 - checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c - languageName: node - linkType: hard - "comma-separated-tokens@npm:^2.0.0": version: 2.0.3 resolution: "comma-separated-tokens@npm:2.0.3" @@ -4724,15 +4678,6 @@ __metadata: languageName: node linkType: hard -"cross-fetch@npm:^3.1.5": - version: 3.1.5 - resolution: "cross-fetch@npm:3.1.5" - dependencies: - node-fetch: 2.6.7 - checksum: f6b8c6ee3ef993ace6277fd789c71b6acf1b504fd5f5c7128df4ef2f125a429e29cd62dc8c127523f04a5f2fa4771ed80e3f3d9695617f441425045f505cf3bb - languageName: node - linkType: hard - "cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -4963,7 +4908,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.3": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -5056,13 +5001,6 @@ __metadata: languageName: node linkType: hard -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 - languageName: node - linkType: hard - "delegates@npm:^1.0.0": version: 1.0.0 resolution: "delegates@npm:1.0.0" @@ -5131,7 +5069,7 @@ __metadata: languageName: node linkType: hard -"devlop@npm:^1.0.0": +"devlop@npm:^1.0.0, devlop@npm:^1.1.0": version: 1.1.0 resolution: "devlop@npm:1.1.0" dependencies: @@ -5140,13 +5078,6 @@ __metadata: languageName: node linkType: hard -"diff@npm:^5.0.0": - version: 5.1.0 - resolution: "diff@npm:5.1.0" - checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90 - languageName: node - linkType: hard - "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -5302,10 +5233,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.535": - version: 1.4.544 - resolution: "electron-to-chromium@npm:1.4.544" - checksum: 78e88e4c56fc4faaa9a405de5e0b51305531e9cdf2c71bcc9296c2c59fb68001472e5b924f8701c873bc855ab5174cf0340642712d7af05c1d8e92356529397e +"electron-to-chromium@npm:^1.4.648": + version: 1.4.665 + resolution: "electron-to-chromium@npm:1.4.665" + checksum: 6c863300909a2712a79bd8a00ff2d3747fb72edf3dfda892449aabd42a12448e8e215e318d628421bbdfc7e4e3bc1fb38a81bbd530a71036bb86a75868e9eb8a languageName: node linkType: hard @@ -5323,6 +5254,13 @@ __metadata: languageName: node linkType: hard +"emojilib@npm:^2.4.0": + version: 2.4.0 + resolution: "emojilib@npm:2.4.0" + checksum: ea241c342abda5a86ffd3a15d8f4871a616d485f700e03daea38c6ce38205847cea9f6ff8d5e962c00516b004949cc96c6e37b05559ea71a0a496faba53b56da + languageName: node + linkType: hard + "emojis-list@npm:^3.0.0": version: 3.0.0 resolution: "emojis-list@npm:3.0.0" @@ -5330,10 +5268,10 @@ __metadata: languageName: node linkType: hard -"emoticon@npm:^3.2.0": - version: 3.2.0 - resolution: "emoticon@npm:3.2.0" - checksum: f30649d18b672ab3139e95cb04f77b2442feb95c99dc59372ff80fbfd639b2bf4018bc68ab0b549bd765aecf8230d7899c43f86cfcc7b6370c06c3232783e24f +"emoticon@npm:^4.0.1": + version: 4.0.1 + resolution: "emoticon@npm:4.0.1" + checksum: 991ab6421927601af4eb44036b60e3125759a4d81f32d2ad96b66e3491e2fdb6a026eeb6bffbfa66724592dca95235570785963607d16961ea73a62ecce715e2 languageName: node linkType: hard @@ -5492,61 +5430,62 @@ __metadata: languageName: node linkType: hard -"estree-util-attach-comments@npm:^2.0.0": - version: 2.1.1 - resolution: "estree-util-attach-comments@npm:2.1.1" +"estree-util-attach-comments@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-attach-comments@npm:3.0.0" dependencies: "@types/estree": ^1.0.0 - checksum: c5c2c41c9a55a169fb4fba9627057843f0d2e21e47a2e3e24318a11ffcf6bc704c0f96f405a529bddac7969b7c44f6cf86711505faaf0c5862c2024419b19704 + checksum: 56254eaef39659e6351919ebc2ae53a37a09290a14571c19e373e9d5fad343a3403d9ad0c23ae465d6e7d08c3e572fd56fb8c793efe6434a261bf1489932dbd5 languageName: node linkType: hard -"estree-util-build-jsx@npm:^2.0.0": - version: 2.2.2 - resolution: "estree-util-build-jsx@npm:2.2.2" +"estree-util-build-jsx@npm:^3.0.0": + version: 3.0.1 + resolution: "estree-util-build-jsx@npm:3.0.1" dependencies: "@types/estree-jsx": ^1.0.0 - estree-util-is-identifier-name: ^2.0.0 + devlop: ^1.0.0 + estree-util-is-identifier-name: ^3.0.0 estree-walker: ^3.0.0 - checksum: d008ac36a45d797eadca696f41b4c1ac0587ec0e0b52560cfb0e76d14ef15fc18e526f9023b6e5457dafa9cf3f010c9bb1dfc9c727ebd7cf0ba2ebbaa43919ac + checksum: 185eff060eda2ba32cecd15904db4f5ba0681159fbdf54f0f6586cd9411e77e733861a833d0aee3415e1d1fd4b17edf08bc9e9872cee98e6ec7b0800e1a85064 languageName: node linkType: hard -"estree-util-is-identifier-name@npm:^2.0.0": - version: 2.1.0 - resolution: "estree-util-is-identifier-name@npm:2.1.0" - checksum: cab317a071fafb99cf83b57df7924bccd2e6ab4e252688739e49f00b16cefd168e279c171442b0557c80a1c80ffaa927d670dadea65bb3c9b151efb8e772e89d +"estree-util-is-identifier-name@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-is-identifier-name@npm:3.0.0" + checksum: ea3909f0188ea164af0aadeca87c087e3e5da78d76da5ae9c7954ff1340ea3e4679c4653bbf4299ffb70caa9b322218cc1128db2541f3d2976eb9704f9857787 languageName: node linkType: hard -"estree-util-to-js@npm:^1.1.0": - version: 1.2.0 - resolution: "estree-util-to-js@npm:1.2.0" +"estree-util-to-js@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-to-js@npm:2.0.0" dependencies: "@types/estree-jsx": ^1.0.0 astring: ^1.8.0 source-map: ^0.7.0 - checksum: 93a75e1051a6a4f5c631597ecd2ed95129fadbc80a58a10475d6d6b1b076a69393ba4a8d2bb71f698401f64ccca47e3f3828dd0042cac81439b988fae0f5f8e0 + checksum: 833edc94ab9978e0918f90261e0a3361bf4564fec4901f326d2237a9235d3f5fc6482da3be5acc545e702c8c7cb8bc5de5c7c71ba3b080eb1975bcfdf3923d79 languageName: node linkType: hard -"estree-util-value-to-estree@npm:^2.1.0": - version: 2.1.0 - resolution: "estree-util-value-to-estree@npm:2.1.0" +"estree-util-value-to-estree@npm:^3.0.1": + version: 3.0.1 + resolution: "estree-util-value-to-estree@npm:3.0.1" dependencies: "@types/estree": ^1.0.0 is-plain-obj: ^4.0.0 - checksum: 6a930e9c8b85c27845ecca010b5b6b64d3b3a4e7d61117d8342fad7b2b595d7052c671616d1c2269e0954a200666834227ce0abb8488ded49700dfde54167ebb + checksum: 7ab89084aa2c5677aeb0d7350ff21e71c9bbc424dc872a55bb4f25f63a7fd99fc7861626dd89b5544db3d3696212154bcf2b12b63ecd5a59dbfd07915c88aee4 languageName: node linkType: hard -"estree-util-visit@npm:^1.0.0": - version: 1.2.1 - resolution: "estree-util-visit@npm:1.2.1" +"estree-util-visit@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-visit@npm:2.0.0" dependencies: "@types/estree-jsx": ^1.0.0 - "@types/unist": ^2.0.0 - checksum: 6feea4fdc43b0ba0f79faf1d57cf32373007e146d4810c7c09c13f5a9c1b8600c1ac57a8d949967cedd2a9a91dddd246e19b59bacfc01e417168b4ebf220f691 + "@types/unist": ^3.0.0 + checksum: 6444b38f224322945a6d19ea81a8828a0eec64aefb2bf1ea791fe20df496f7b7c543408d637df899e6a8e318b638f66226f16378a33c4c2b192ba5c3f891121f languageName: node linkType: hard @@ -5739,37 +5678,6 @@ __metadata: languageName: node linkType: hard -"fbemitter@npm:^3.0.0": - version: 3.0.0 - resolution: "fbemitter@npm:3.0.0" - dependencies: - fbjs: ^3.0.0 - checksum: 069690b8cdff3521ade3c9beb92ba0a38d818a86ef36dff8690e66749aef58809db4ac0d6938eb1cacea2dbef5f2a508952d455669590264cdc146bbe839f605 - languageName: node - linkType: hard - -"fbjs-css-vars@npm:^1.0.0": - version: 1.0.2 - resolution: "fbjs-css-vars@npm:1.0.2" - checksum: 72baf6d22c45b75109118b4daecb6c8016d4c83c8c0f23f683f22e9d7c21f32fff6201d288df46eb561e3c7d4bb4489b8ad140b7f56444c453ba407e8bd28511 - languageName: node - linkType: hard - -"fbjs@npm:^3.0.0, fbjs@npm:^3.0.1": - version: 3.0.4 - resolution: "fbjs@npm:3.0.4" - dependencies: - cross-fetch: ^3.1.5 - fbjs-css-vars: ^1.0.0 - loose-envify: ^1.0.0 - object-assign: ^4.1.0 - promise: ^7.1.1 - setimmediate: ^1.0.5 - ua-parser-js: ^0.7.30 - checksum: 8b23a3550fcda8a9109fca9475a3416590c18bb6825ea884192864ed686f67fcd618e308a140c9e5444fbd0168732e1ff3c092ba3d0c0ae1768969f32ba280c7 - languageName: node - linkType: hard - "feed@npm:^4.2.2": version: 4.2.2 resolution: "feed@npm:4.2.2" @@ -5861,19 +5769,7 @@ __metadata: languageName: node linkType: hard -"flux@npm:~4.0.1": - version: 4.0.4 - resolution: "flux@npm:4.0.4" - dependencies: - fbemitter: ^3.0.0 - fbjs: ^3.0.1 - peerDependencies: - react: ^15.0.2 || ^16.0.0 || ^17.0.0 - checksum: 8fa5c2f9322258de3e331f67c6f1078a7f91c4dec9dbe8a54c4b8a80eed19a4f91889028b768668af4a796e8f2ee75e461e1571b8615432a3920ae95cc4ff794 - languageName: node - linkType: hard - -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.9": +"follow-redirects@npm:^1.0.0": version: 1.15.4 resolution: "follow-redirects@npm:1.15.4" peerDependenciesMeta: @@ -5921,17 +5817,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c - languageName: node - linkType: hard - "format@npm:^0.2.0": version: 0.2.2 resolution: "format@npm:0.2.2" @@ -6309,103 +6194,133 @@ __metadata: languageName: node linkType: hard -"hast-util-from-parse5@npm:^7.0.0": - version: 7.1.2 - resolution: "hast-util-from-parse5@npm:7.1.2" +"hast-util-from-parse5@npm:^8.0.0": + version: 8.0.1 + resolution: "hast-util-from-parse5@npm:8.0.1" dependencies: - "@types/hast": ^2.0.0 - "@types/unist": ^2.0.0 - hastscript: ^7.0.0 + "@types/hast": ^3.0.0 + "@types/unist": ^3.0.0 + devlop: ^1.0.0 + hastscript: ^8.0.0 property-information: ^6.0.0 - vfile: ^5.0.0 - vfile-location: ^4.0.0 + vfile: ^6.0.0 + vfile-location: ^5.0.0 web-namespaces: ^2.0.0 - checksum: 7b4ed5b508b1352127c6719f7b0c0880190cf9859fe54ccaf7c9228ecf623d36cef3097910b3874d2fe1aac6bf4cf45d3cc2303daac3135a05e9ade6534ddddb + checksum: fdd1ab8b03af13778ecb94ef9a58b1e3528410cdfceb3d6bb7600508967d0d836b451bc7bc3baf66efb7c730d3d395eea4bb1b30352b0162823d9f0de976774b languageName: node linkType: hard -"hast-util-parse-selector@npm:^3.0.0": - version: 3.1.1 - resolution: "hast-util-parse-selector@npm:3.1.1" +"hast-util-parse-selector@npm:^4.0.0": + version: 4.0.0 + resolution: "hast-util-parse-selector@npm:4.0.0" dependencies: - "@types/hast": ^2.0.0 - checksum: 511d373465f60dd65e924f88bf0954085f4fb6e3a2b062a4b5ac43b93cbfd36a8dce6234b5d1e3e63499d936375687e83fc5da55628b22bd6b581b5ee167d1c4 + "@types/hast": ^3.0.0 + checksum: 76087670d3b0b50b23a6cb70bca53a6176d6608307ccdbb3ed18b650b82e7c3513bfc40348f1389dc0c5ae872b9a768851f4335f44654abd7deafd6974c52402 languageName: node linkType: hard -"hast-util-raw@npm:^7.2.0": - version: 7.2.3 - resolution: "hast-util-raw@npm:7.2.3" +"hast-util-raw@npm:^9.0.0": + version: 9.0.2 + resolution: "hast-util-raw@npm:9.0.2" dependencies: - "@types/hast": ^2.0.0 - "@types/parse5": ^6.0.0 - hast-util-from-parse5: ^7.0.0 - hast-util-to-parse5: ^7.0.0 - html-void-elements: ^2.0.0 - parse5: ^6.0.0 - unist-util-position: ^4.0.0 - unist-util-visit: ^4.0.0 - vfile: ^5.0.0 + "@types/hast": ^3.0.0 + "@types/unist": ^3.0.0 + "@ungap/structured-clone": ^1.0.0 + hast-util-from-parse5: ^8.0.0 + hast-util-to-parse5: ^8.0.0 + html-void-elements: ^3.0.0 + mdast-util-to-hast: ^13.0.0 + parse5: ^7.0.0 + unist-util-position: ^5.0.0 + unist-util-visit: ^5.0.0 + vfile: ^6.0.0 web-namespaces: ^2.0.0 zwitch: ^2.0.0 - checksum: 21857eea3ffb8fd92d2d9be7793b56d0b2c40db03c4cfa14828855ae41d7c584917aa83efb7157220b2e41e25e95f81f24679ac342c35145e5f1c1d39015f81f + checksum: 27fd7c723b3b1e06481cd85ca20b447d58d340c53abd2bd61f4a502982109d16aa17b3d71db2ef7c9d24bd627e306ad81cbcaf98c146a3641ba150db731e644c languageName: node linkType: hard -"hast-util-to-estree@npm:^2.0.0": - version: 2.3.2 - resolution: "hast-util-to-estree@npm:2.3.2" +"hast-util-to-estree@npm:^3.0.0": + version: 3.1.0 + resolution: "hast-util-to-estree@npm:3.1.0" dependencies: "@types/estree": ^1.0.0 "@types/estree-jsx": ^1.0.0 - "@types/hast": ^2.0.0 - "@types/unist": ^2.0.0 + "@types/hast": ^3.0.0 comma-separated-tokens: ^2.0.0 - estree-util-attach-comments: ^2.0.0 - estree-util-is-identifier-name: ^2.0.0 - hast-util-whitespace: ^2.0.0 - mdast-util-mdx-expression: ^1.0.0 - mdast-util-mdxjs-esm: ^1.0.0 + devlop: ^1.0.0 + estree-util-attach-comments: ^3.0.0 + estree-util-is-identifier-name: ^3.0.0 + hast-util-whitespace: ^3.0.0 + mdast-util-mdx-expression: ^2.0.0 + mdast-util-mdx-jsx: ^3.0.0 + mdast-util-mdxjs-esm: ^2.0.0 property-information: ^6.0.0 space-separated-tokens: ^2.0.0 - style-to-object: ^0.4.1 - unist-util-position: ^4.0.0 + style-to-object: ^0.4.0 + unist-util-position: ^5.0.0 zwitch: ^2.0.0 - checksum: 721167e275c1b0b9b1dcb35964a39f6180e22983ee7b56748ecab9f6cc35fe5229fd6e30a8eb4826caeee7eed88014ce4710bd79146c080d4dd281058ba09a39 + checksum: 61272f7c18c9d2a5e34df7cfd2c97cbf12f6e9d05114d60e4dedd64e5576565eb1e35c78b9213c909bb8f984f0f8e9c49b568f04bdb444b83d0bca9159e14f3c languageName: node linkType: hard -"hast-util-to-parse5@npm:^7.0.0": - version: 7.1.0 - resolution: "hast-util-to-parse5@npm:7.1.0" +"hast-util-to-jsx-runtime@npm:^2.0.0": + version: 2.3.0 + resolution: "hast-util-to-jsx-runtime@npm:2.3.0" dependencies: - "@types/hast": ^2.0.0 + "@types/estree": ^1.0.0 + "@types/hast": ^3.0.0 + "@types/unist": ^3.0.0 comma-separated-tokens: ^2.0.0 + devlop: ^1.0.0 + estree-util-is-identifier-name: ^3.0.0 + hast-util-whitespace: ^3.0.0 + mdast-util-mdx-expression: ^2.0.0 + mdast-util-mdx-jsx: ^3.0.0 + mdast-util-mdxjs-esm: ^2.0.0 + property-information: ^6.0.0 + space-separated-tokens: ^2.0.0 + style-to-object: ^1.0.0 + unist-util-position: ^5.0.0 + vfile-message: ^4.0.0 + checksum: 599a97c6ec61c1430776813d7fb42e6f96032bf4a04dfcbb8eceef3bc8d1845ecf242387a4426b9d3f52320dbbfa26450643b81124b3d6a0b9bbb0fff4d0ba83 + languageName: node + linkType: hard + +"hast-util-to-parse5@npm:^8.0.0": + version: 8.0.0 + resolution: "hast-util-to-parse5@npm:8.0.0" + dependencies: + "@types/hast": ^3.0.0 + comma-separated-tokens: ^2.0.0 + devlop: ^1.0.0 property-information: ^6.0.0 space-separated-tokens: ^2.0.0 web-namespaces: ^2.0.0 zwitch: ^2.0.0 - checksum: 3a7f2175a3db599bbae7e49ba73d3e5e688e5efca7590ff50130ba108ad649f728402815d47db49146f6b94c14c934bf119915da9f6964e38802c122bcc8af6b + checksum: 137469209cb2b32b57387928878dc85310fbd5afa4807a8da69529199bb1d19044bfc95b50c3dc68d4fb2b6cb8bf99b899285597ab6ab318f50422eefd5599dd languageName: node linkType: hard -"hast-util-whitespace@npm:^2.0.0": - version: 2.0.1 - resolution: "hast-util-whitespace@npm:2.0.1" - checksum: 431be6b2f35472f951615540d7a53f69f39461e5e080c0190268bdeb2be9ab9b1dddfd1f467dd26c1de7e7952df67beb1307b6ee940baf78b24a71b5e0663868 - languageName: node - linkType: hard - -"hastscript@npm:^7.0.0, hastscript@npm:^7.1.0": - version: 7.2.0 - resolution: "hastscript@npm:7.2.0" +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" dependencies: - "@types/hast": ^2.0.0 + "@types/hast": ^3.0.0 + checksum: 41d93ccce218ba935dc3c12acdf586193c35069489c8c8f50c2aa824c00dec94a3c78b03d1db40fa75381942a189161922e4b7bca700b3a2cc779634c351a1e4 + languageName: node + linkType: hard + +"hastscript@npm:^8.0.0": + version: 8.0.0 + resolution: "hastscript@npm:8.0.0" + dependencies: + "@types/hast": ^3.0.0 comma-separated-tokens: ^2.0.0 - hast-util-parse-selector: ^3.0.0 + hast-util-parse-selector: ^4.0.0 property-information: ^6.0.0 space-separated-tokens: ^2.0.0 - checksum: 928a21576ff7b9a8c945e7940bcbf2d27f770edb4279d4d04b33dc90753e26ca35c1172d626f54afebd377b2afa32331e399feb3eb0f7b91a399dca5927078ae + checksum: ae3c20223e7b847320c0f98b6fb3c763ebe1bf3913c5805fbc176cf84553a9db1117ca34cf842a5235890b4b9ae0e94501bfdc9a9b870a5dbf5fc52426db1097 languageName: node linkType: hard @@ -6501,10 +6416,10 @@ __metadata: languageName: node linkType: hard -"html-void-elements@npm:^2.0.0": - version: 2.0.1 - resolution: "html-void-elements@npm:2.0.1" - checksum: 06d41f13b9d5d6e0f39861c4bec9a9196fa4906d56cd5cf6cf54ad2e52a85bf960cca2bf9600026bde16c8331db171bedba5e5a35e2e43630c8f1d497b2fb658 +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 59be397525465a7489028afa064c55763d9cccd1d7d9f630cca47137317f0e897a9ca26cef7e745e7cff1abc44260cfa407742b243a54261dfacd42230e94fce languageName: node linkType: hard @@ -6818,6 +6733,13 @@ __metadata: languageName: node linkType: hard +"inline-style-parser@npm:0.2.2": + version: 0.2.2 + resolution: "inline-style-parser@npm:0.2.2" + checksum: 698893d6542d4e7c0377936a1c7daec34a197765bd77c5599384756a95ce8804e6b79347b783aa591d5e9c6f3d33dae74c6d4cad3a94647eb05f3a785e927a3f + languageName: node + linkType: hard + "interpret@npm:^1.0.0": version: 1.4.0 resolution: "interpret@npm:1.4.0" @@ -6888,13 +6810,6 @@ __metadata: languageName: node linkType: hard -"is-buffer@npm:^2.0.0": - version: 2.0.5 - resolution: "is-buffer@npm:2.0.5" - checksum: 764c9ad8b523a9f5a32af29bdf772b08eb48c04d2ad0a7240916ac2688c983bf5f8504bf25b35e66240edeb9d9085461f9b5dae1f3d2861c6b06a65fe983de42 - languageName: node - linkType: hard - "is-ci@npm:^3.0.1": version: 3.0.1 resolution: "is-ci@npm:3.0.1" @@ -7182,16 +7097,16 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.18.2": - version: 1.20.0 - resolution: "jiti@npm:1.20.0" +"jiti@npm:^1.18.2, jiti@npm:^1.20.0": + version: 1.21.0 + resolution: "jiti@npm:1.21.0" bin: jiti: bin/jiti.js - checksum: 7924062b5675142e3e272a27735be84b7bfc0a0eb73217fc2dcafa034f37c4f7b4b9ffc07dd98bcff0f739a8811ce1544db205ae7e97b1c86f0df92c65ce3c72 + checksum: a7bd5d63921c170eaec91eecd686388181c7828e1fa0657ab374b9372bfc1f383cf4b039e6b272383d5cb25607509880af814a39abdff967322459cca41f2961 languageName: node linkType: hard -"joi@npm:^17.7.0, joi@npm:^17.9.2": +"joi@npm:^17.9.2": version: 17.11.0 resolution: "joi@npm:17.11.0" dependencies: @@ -7325,13 +7240,6 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^4.0.3": - version: 4.1.5 - resolution: "kleur@npm:4.1.5" - checksum: 1dc476e32741acf0b1b5b0627ffd0d722e342c1b0da14de3e8ae97821327ca08f9fb944542fb3c126d90ac5f27f9d804edbe7c585bf7d12ef495d115e0f22c12 - languageName: node - linkType: hard - "klona@npm:^2.0.4": version: 2.0.6 resolution: "klona@npm:2.0.6" @@ -7432,13 +7340,6 @@ __metadata: languageName: node linkType: hard -"lodash.curry@npm:^4.0.1": - version: 4.1.1 - resolution: "lodash.curry@npm:4.1.1" - checksum: 9192b70fe7df4d1ff780c0260bee271afa9168c93fe4fa24bc861900240531b59781b5fdaadf4644fea8f4fbcd96f0700539ab294b579ffc1022c6c15dcc462a - languageName: node - linkType: hard - "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -7460,13 +7361,6 @@ __metadata: languageName: node linkType: hard -"lodash.flow@npm:^3.3.0": - version: 3.5.0 - resolution: "lodash.flow@npm:3.5.0" - checksum: a9a62ad344e3c5a1f42bc121da20f64dd855aaafecee24b1db640f29b88bd165d81c37ff7e380a7191de6f70b26f5918abcebbee8396624f78f3618a0b18634c - languageName: node - linkType: hard - "lodash.invokemap@npm:^4.6.0": version: 4.6.0 resolution: "lodash.invokemap@npm:4.6.0" @@ -7599,10 +7493,10 @@ __metadata: languageName: node linkType: hard -"markdown-extensions@npm:^1.0.0": - version: 1.1.1 - resolution: "markdown-extensions@npm:1.1.1" - checksum: 8a6dd128be1c524049ea6a41a9193715c2835d3d706af4b8b714ff2043a82786dbcd4a8f1fa9ddd28facbc444426c97515aef2d1f3dd11d5e2d63749ba577b1e +"markdown-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-extensions@npm:2.0.0" + checksum: ec4ffcb0768f112e778e7ac74cb8ef22a966c168c3e6c29829f007f015b0a0b5c79c73ee8599a0c72e440e7f5cfdbf19e80e2d77b9a313b8f66e180a330cf1b2 languageName: node linkType: hard @@ -7613,61 +7507,31 @@ __metadata: languageName: node linkType: hard -"mdast-util-definitions@npm:^5.0.0": - version: 5.1.2 - resolution: "mdast-util-definitions@npm:5.1.2" +"mdast-util-directive@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-directive@npm:3.0.0" dependencies: - "@types/mdast": ^3.0.0 - "@types/unist": ^2.0.0 - unist-util-visit: ^4.0.0 - checksum: 2544daccab744ea1ede76045c2577ae4f1cc1b9eb1ea51ab273fe1dca8db5a8d6f50f87759c0ce6484975914b144b7f40316f805cb9c86223a78db8de0b77bae - languageName: node - linkType: hard - -"mdast-util-directive@npm:^2.0.0": - version: 2.2.4 - resolution: "mdast-util-directive@npm:2.2.4" - dependencies: - "@types/mdast": ^3.0.0 - "@types/unist": ^2.0.0 - mdast-util-from-markdown: ^1.3.0 - mdast-util-to-markdown: ^1.5.0 + "@types/mdast": ^4.0.0 + "@types/unist": ^3.0.0 + devlop: ^1.0.0 + mdast-util-from-markdown: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 parse-entities: ^4.0.0 stringify-entities: ^4.0.0 - unist-util-visit-parents: ^5.1.3 - checksum: d04112761659c912b5d7db8f8c035918da52e79ce8cb598c7c270c6f678db0c22f3dea7894b30dec46852409f926306b84ca95683dd1e28731835eb5cb4fbda4 + unist-util-visit-parents: ^6.0.0 + checksum: 593afdc4f39f99bb198f3774bf4648cb546cb99a055e40c82262a7faab10926d2529a725d0d3945300ed0a1f07c6c84215a3f76b899a89b3f410ec7375bbab17 languageName: node linkType: hard -"mdast-util-find-and-replace@npm:^2.0.0": - version: 2.2.2 - resolution: "mdast-util-find-and-replace@npm:2.2.2" +"mdast-util-find-and-replace@npm:^3.0.0, mdast-util-find-and-replace@npm:^3.0.1": + version: 3.0.1 + resolution: "mdast-util-find-and-replace@npm:3.0.1" dependencies: - "@types/mdast": ^3.0.0 + "@types/mdast": ^4.0.0 escape-string-regexp: ^5.0.0 - unist-util-is: ^5.0.0 - unist-util-visit-parents: ^5.0.0 - checksum: b4ce463c43fe6e1c38a53a89703f755c84ab5437f49bff9a0ac751279733332ca11c85ed0262aa6c17481f77b555d26ca6d64e70d6814f5b8d12d34a3e53a60b - languageName: node - linkType: hard - -"mdast-util-from-markdown@npm:^1.0.0, mdast-util-from-markdown@npm:^1.1.0, mdast-util-from-markdown@npm:^1.3.0": - version: 1.3.0 - resolution: "mdast-util-from-markdown@npm:1.3.0" - dependencies: - "@types/mdast": ^3.0.0 - "@types/unist": ^2.0.0 - decode-named-character-reference: ^1.0.0 - mdast-util-to-string: ^3.1.0 - micromark: ^3.0.0 - micromark-util-decode-numeric-character-reference: ^1.0.0 - micromark-util-decode-string: ^1.0.0 - micromark-util-normalize-identifier: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - unist-util-stringify-position: ^3.0.0 - uvu: ^0.5.0 - checksum: cc971d1ad381150f6504fd753fbcffcc64c0abb527540ce343625c2bba76104505262122ef63d14ab66eb47203f323267017c6d09abfa8535ee6a8e14069595f + unist-util-is: ^6.0.0 + unist-util-visit-parents: ^6.0.0 + checksum: 05d5c4ff02e31db2f8a685a13bcb6c3f44e040bd9dfa54c19a232af8de5268334c8755d79cb456ed4cced1300c4fb83e88444c7ae8ee9ff16869a580f29d08cd languageName: node linkType: hard @@ -7705,142 +7569,142 @@ __metadata: languageName: node linkType: hard -"mdast-util-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-autolink-literal@npm:1.0.3" +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.0" dependencies: - "@types/mdast": ^3.0.0 + "@types/mdast": ^4.0.0 ccount: ^2.0.0 - mdast-util-find-and-replace: ^2.0.0 - micromark-util-character: ^1.0.0 - checksum: 1748a8727cfc533bac0c287d6e72d571d165bfa77ae0418be4828177a3ec73c02c3f2ee534d87eb75cbaffa00c0866853bbcc60ae2255babb8210f7636ec2ce2 + devlop: ^1.0.0 + mdast-util-find-and-replace: ^3.0.0 + micromark-util-character: ^2.0.0 + checksum: 10322662e5302964bed7c9829c5fd3b0c9899d4f03e63fb8620ab141cf4f3de9e61fcb4b44d46aacc8a23f82bcd5d900980a211825dfe026b1dab5fdbc3e8742 languageName: node linkType: hard -"mdast-util-gfm-footnote@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-footnote@npm:1.0.2" +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-footnote@npm:2.0.0" dependencies: - "@types/mdast": ^3.0.0 - mdast-util-to-markdown: ^1.3.0 - micromark-util-normalize-identifier: ^1.0.0 - checksum: 2d77505f9377ed7e14472ef5e6b8366c3fec2cf5f936bb36f9fbe5b97ccb7cce0464d9313c236fa86fb844206fd585db05707e4fcfb755e4fc1864194845f1f6 + "@types/mdast": ^4.0.0 + devlop: ^1.1.0 + mdast-util-from-markdown: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 + micromark-util-normalize-identifier: ^2.0.0 + checksum: 45d26b40e7a093712e023105791129d76e164e2168d5268e113298a22de30c018162683fb7893cdc04ab246dac0087eed708b2a136d1d18ed2b32b3e0cae4a79 languageName: node linkType: hard -"mdast-util-gfm-strikethrough@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-strikethrough@npm:1.0.3" +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" dependencies: - "@types/mdast": ^3.0.0 - mdast-util-to-markdown: ^1.3.0 - checksum: 17003340ff1bba643ec4a59fd4370fc6a32885cab2d9750a508afa7225ea71449fb05acaef60faa89c6378b8bcfbd86a9d94b05f3c6651ff27a60e3ddefc2549 + "@types/mdast": ^4.0.0 + mdast-util-from-markdown: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 + checksum: fe9b1d0eba9b791ff9001c008744eafe3dd7a81b085f2bf521595ce4a8e8b1b44764ad9361761ad4533af3e5d913d8ad053abec38172031d9ee32a8ebd1c7dbd languageName: node linkType: hard -"mdast-util-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "mdast-util-gfm-table@npm:1.0.7" +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" dependencies: - "@types/mdast": ^3.0.0 + "@types/mdast": ^4.0.0 + devlop: ^1.0.0 markdown-table: ^3.0.0 - mdast-util-from-markdown: ^1.0.0 - mdast-util-to-markdown: ^1.3.0 - checksum: 8b8c401bb4162e53f072a2dff8efbca880fd78d55af30601c791315ab6722cb2918176e8585792469a0c530cebb9df9b4e7fede75fdc4d83df2839e238836692 + mdast-util-from-markdown: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 + checksum: 063a627fd0993548fd63ca0c24c437baf91ba7d51d0a38820bd459bc20bf3d13d7365ef8d28dca99176dd5eb26058f7dde51190479c186dfe6af2e11202957c9 languageName: node linkType: hard -"mdast-util-gfm-task-list-item@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-task-list-item@npm:1.0.2" +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" dependencies: - "@types/mdast": ^3.0.0 - mdast-util-to-markdown: ^1.3.0 - checksum: c9b86037d6953b84f11fb2fc3aa23d5b8e14ca0dfcb0eb2fb289200e172bb9d5647bfceb4f86606dc6d935e8d58f6a458c04d3e55e87ff8513c7d4ade976200b + "@types/mdast": ^4.0.0 + devlop: ^1.0.0 + mdast-util-from-markdown: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 + checksum: 37db90c59b15330fc54d790404abf5ef9f2f83e8961c53666fe7de4aab8dd5e6b3c296b6be19797456711a89a27840291d8871ff0438e9b4e15c89d170efe072 languageName: node linkType: hard -"mdast-util-gfm@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-gfm@npm:2.0.2" +"mdast-util-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-gfm@npm:3.0.0" dependencies: - mdast-util-from-markdown: ^1.0.0 - mdast-util-gfm-autolink-literal: ^1.0.0 - mdast-util-gfm-footnote: ^1.0.0 - mdast-util-gfm-strikethrough: ^1.0.0 - mdast-util-gfm-table: ^1.0.0 - mdast-util-gfm-task-list-item: ^1.0.0 - mdast-util-to-markdown: ^1.0.0 - checksum: 7078cb985255208bcbce94a121906417d38353c6b1a9acbe56ee8888010d3500608b5d51c16b0999ac63ca58848fb13012d55f26930ff6c6f3450f053d56514e + mdast-util-from-markdown: ^2.0.0 + mdast-util-gfm-autolink-literal: ^2.0.0 + mdast-util-gfm-footnote: ^2.0.0 + mdast-util-gfm-strikethrough: ^2.0.0 + mdast-util-gfm-table: ^2.0.0 + mdast-util-gfm-task-list-item: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 + checksum: 62039d2f682ae3821ea1c999454863d31faf94d67eb9b746589c7e136076d7fb35fabc67e02f025c7c26fd7919331a0ee1aabfae24f565d9a6a9ebab3371c626 languageName: node linkType: hard -"mdast-util-mdx-expression@npm:^1.0.0": - version: 1.3.2 - resolution: "mdast-util-mdx-expression@npm:1.3.2" +"mdast-util-mdx-expression@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-mdx-expression@npm:2.0.0" dependencies: "@types/estree-jsx": ^1.0.0 - "@types/hast": ^2.0.0 - "@types/mdast": ^3.0.0 - mdast-util-from-markdown: ^1.0.0 - mdast-util-to-markdown: ^1.0.0 - checksum: e4c90f26deaa5eb6217b0a9af559a80de41da02ab3bcd864c56bed3304b056ae703896e9876bc6ded500f4aff59f4de5cbf6a4b109a5ba408f2342805fe6dc05 + "@types/hast": ^3.0.0 + "@types/mdast": ^4.0.0 + devlop: ^1.0.0 + mdast-util-from-markdown: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 + checksum: 4e1183000e183e07a7264e192889b4fd57372806103031c71b9318967f85fd50a5dd0f92ef14f42c331e77410808f5de3341d7bc8ad4ee91b7fa8f0a30043a8a languageName: node linkType: hard -"mdast-util-mdx-jsx@npm:^2.0.0": - version: 2.1.2 - resolution: "mdast-util-mdx-jsx@npm:2.1.2" +"mdast-util-mdx-jsx@npm:^3.0.0": + version: 3.1.0 + resolution: "mdast-util-mdx-jsx@npm:3.1.0" dependencies: "@types/estree-jsx": ^1.0.0 - "@types/hast": ^2.0.0 - "@types/mdast": ^3.0.0 - "@types/unist": ^2.0.0 + "@types/hast": ^3.0.0 + "@types/mdast": ^4.0.0 + "@types/unist": ^3.0.0 ccount: ^2.0.0 - mdast-util-from-markdown: ^1.1.0 - mdast-util-to-markdown: ^1.3.0 + devlop: ^1.1.0 + mdast-util-from-markdown: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 parse-entities: ^4.0.0 stringify-entities: ^4.0.0 - unist-util-remove-position: ^4.0.0 - unist-util-stringify-position: ^3.0.0 - vfile-message: ^3.0.0 - checksum: 637e0bbd97c0c783f6b12bb05ccb1edaec076c5aa6d349147d77b8e6e10677f1be8e2870c05b1896f69095c9bc527f34be72b349b30737ab2e499bfc579b3a28 + unist-util-remove-position: ^5.0.0 + unist-util-stringify-position: ^4.0.0 + vfile-message: ^4.0.0 + checksum: b38636d003cd8ae74a87c933474bc44571606957dea5de065b7fbcc0af6c9159b35ac250a5c6bd331dc2a54acb64985afb32708711763d51c18b0d439fe50694 languageName: node linkType: hard -"mdast-util-mdx@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdx@npm:2.0.1" +"mdast-util-mdx@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-mdx@npm:3.0.0" dependencies: - mdast-util-from-markdown: ^1.0.0 - mdast-util-mdx-expression: ^1.0.0 - mdast-util-mdx-jsx: ^2.0.0 - mdast-util-mdxjs-esm: ^1.0.0 - mdast-util-to-markdown: ^1.0.0 - checksum: 7303149230a26e524e319833b782bffca94e49cdab012996618701259bd056e014ca22a35d25ffa8880ba9064ee126a2a002f01e5c90a31ca726339ed775875e + mdast-util-from-markdown: ^2.0.0 + mdast-util-mdx-expression: ^2.0.0 + mdast-util-mdx-jsx: ^3.0.0 + mdast-util-mdxjs-esm: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 + checksum: e2b007d826fcd49fd57ed03e190753c8b0f7d9eff6c7cb26ba609cde15cd3a472c0cd5e4a1ee3e39a40f14be22fdb57de243e093cea0c064d6f3366cff3e3af2 languageName: node linkType: hard -"mdast-util-mdxjs-esm@npm:^1.0.0": - version: 1.3.1 - resolution: "mdast-util-mdxjs-esm@npm:1.3.1" +"mdast-util-mdxjs-esm@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdxjs-esm@npm:2.0.1" dependencies: "@types/estree-jsx": ^1.0.0 - "@types/hast": ^2.0.0 - "@types/mdast": ^3.0.0 - mdast-util-from-markdown: ^1.0.0 - mdast-util-to-markdown: ^1.0.0 - checksum: ee78a4f58adfec38723cbc920f05481201ebb001eff3982f2d0e5f5ce5c75685e732e9d361ad4a1be8b936b4e5de0f2599cb96b92ad4bd92698ac0c4a09bbec3 - languageName: node - linkType: hard - -"mdast-util-phrasing@npm:^3.0.0": - version: 3.0.1 - resolution: "mdast-util-phrasing@npm:3.0.1" - dependencies: - "@types/mdast": ^3.0.0 - unist-util-is: ^5.0.0 - checksum: c5b616d9b1eb76a6b351d195d94318494722525a12a89d9c8a3b091af7db3dd1fc55d294f9d29266d8159a8267b0df4a7a133bda8a3909d5331c383e1e1ff328 + "@types/hast": ^3.0.0 + "@types/mdast": ^4.0.0 + devlop: ^1.0.0 + mdast-util-from-markdown: ^2.0.0 + mdast-util-to-markdown: ^2.0.0 + checksum: 1f9dad04d31d59005332e9157ea9510dc1d03092aadbc607a10475c7eec1c158b475aa0601a3a4f74e13097ca735deb8c2d9d37928ddef25d3029fd7c9e14dc3 languageName: node linkType: hard @@ -7854,35 +7718,20 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^12.1.0": - version: 12.3.0 - resolution: "mdast-util-to-hast@npm:12.3.0" +"mdast-util-to-hast@npm:^13.0.0": + version: 13.1.0 + resolution: "mdast-util-to-hast@npm:13.1.0" dependencies: - "@types/hast": ^2.0.0 - "@types/mdast": ^3.0.0 - mdast-util-definitions: ^5.0.0 - micromark-util-sanitize-uri: ^1.1.0 + "@types/hast": ^3.0.0 + "@types/mdast": ^4.0.0 + "@ungap/structured-clone": ^1.0.0 + devlop: ^1.0.0 + micromark-util-sanitize-uri: ^2.0.0 trim-lines: ^3.0.0 - unist-util-generated: ^2.0.0 - unist-util-position: ^4.0.0 - unist-util-visit: ^4.0.0 - checksum: ea40c9f07dd0b731754434e81c913590c611b1fd753fa02550a1492aadfc30fb3adecaf62345ebb03cea2ddd250c15ab6e578fffde69c19955c9b87b10f2a9bb - languageName: node - linkType: hard - -"mdast-util-to-markdown@npm:^1.0.0, mdast-util-to-markdown@npm:^1.3.0, mdast-util-to-markdown@npm:^1.5.0": - version: 1.5.0 - resolution: "mdast-util-to-markdown@npm:1.5.0" - dependencies: - "@types/mdast": ^3.0.0 - "@types/unist": ^2.0.0 - longest-streak: ^3.0.0 - mdast-util-phrasing: ^3.0.0 - mdast-util-to-string: ^3.0.0 - micromark-util-decode-string: ^1.0.0 - unist-util-visit: ^4.0.0 - zwitch: ^2.0.0 - checksum: 64338eb33e49bb0aea417591fd986f72fdd39205052563bb7ce9eb9ecc160824509bfacd740086a05af355c6d5c36353aafe95cab9e6927d674478757cee6259 + unist-util-position: ^5.0.0 + unist-util-visit: ^5.0.0 + vfile: ^6.0.0 + checksum: 640bc897286af8fe760cd477fb04bbf544a5a897cdc2220ce36fe2f892f067b483334610387aeb969511bd78a2d841a54851079cd676ac513d6a5ff75852514e languageName: node linkType: hard @@ -7902,15 +7751,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0, mdast-util-to-string@npm:^3.2.0": - version: 3.2.0 - resolution: "mdast-util-to-string@npm:3.2.0" - dependencies: - "@types/mdast": ^3.0.0 - checksum: dc40b544d54339878ae2c9f2b3198c029e1e07291d2126bd00ca28272ee6616d0d2194eb1c9828a7c34d412a79a7e73b26512a734698d891c710a1e73db1e848 - languageName: node - linkType: hard - "mdast-util-to-string@npm:^4.0.0": version: 4.0.0 resolution: "mdast-util-to-string@npm:4.0.0" @@ -7971,30 +7811,6 @@ __metadata: languageName: node linkType: hard -"micromark-core-commonmark@npm:^1.0.0, micromark-core-commonmark@npm:^1.0.1": - version: 1.0.6 - resolution: "micromark-core-commonmark@npm:1.0.6" - dependencies: - decode-named-character-reference: ^1.0.0 - micromark-factory-destination: ^1.0.0 - micromark-factory-label: ^1.0.0 - micromark-factory-space: ^1.0.0 - micromark-factory-title: ^1.0.0 - micromark-factory-whitespace: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-chunked: ^1.0.0 - micromark-util-classify-character: ^1.0.0 - micromark-util-html-tag-name: ^1.0.0 - micromark-util-normalize-identifier: ^1.0.0 - micromark-util-resolve-all: ^1.0.0 - micromark-util-subtokenize: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.1 - uvu: ^0.5.0 - checksum: 4b483c46077f696ed310f6d709bb9547434c218ceb5c1220fde1707175f6f68b44da15ab8668f9c801e1a123210071e3af883a7d1215122c913fd626f122bfc2 - languageName: node - linkType: hard - "micromark-core-commonmark@npm:^2.0.0": version: 2.0.0 resolution: "micromark-core-commonmark@npm:2.0.0" @@ -8019,18 +7835,18 @@ __metadata: languageName: node linkType: hard -"micromark-extension-directive@npm:^2.0.0": - version: 2.2.0 - resolution: "micromark-extension-directive@npm:2.2.0" +"micromark-extension-directive@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-directive@npm:3.0.0" dependencies: - micromark-factory-space: ^1.0.0 - micromark-factory-whitespace: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 + devlop: ^1.0.0 + micromark-factory-space: ^2.0.0 + micromark-factory-whitespace: ^2.0.0 + micromark-util-character: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 parse-entities: ^4.0.0 - uvu: ^0.5.0 - checksum: 1256374a1327c2aecd4b3592de2c62ddf4798441d3a953f8414ecde05da2595a47428d94959b0bdb67605d4e195b95eb0b6e18ece44a50cbdf5a9c2c25d21905 + checksum: 8350106bdf039a544cba64cf7932261a710e07d73d43d6c645dd2b16577f30ebd04abf762e8ca74266f5de19938e1eeff6c237d79f8244dea23aef7f90df2c31 languageName: node linkType: hard @@ -8046,181 +7862,172 @@ __metadata: languageName: node linkType: hard -"micromark-extension-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.3 - resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.3" +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.0.0" dependencies: - micromark-util-character: ^1.0.0 - micromark-util-sanitize-uri: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: bb181972ac346ca73ca1ab0b80b80c9d6509ed149799d2217d5442670f499c38a94edff73d32fa52b390d89640974cfbd7f29e4ad7d599581d5e1cabcae636a2 + micromark-util-character: ^2.0.0 + micromark-util-sanitize-uri: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + checksum: fa16d59528239262d6d04d539a052baf1f81275954ec8bfadea40d81bfc25667d5c8e68b225a5358626df5e30a3933173a67fdad2fed011d37810a10b770b0b2 languageName: node linkType: hard -"micromark-extension-gfm-footnote@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-extension-gfm-footnote@npm:1.1.0" +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-footnote@npm:2.0.0" dependencies: - micromark-core-commonmark: ^1.0.0 - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-normalize-identifier: ^1.0.0 - micromark-util-sanitize-uri: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: 7a5408625ef2cca5cc18e6591c2522a8a409f466a6fbc0ed938950aafe5fc9bf1eada65e1a4dd4e36ec3e7b24920de1f4b3e2c365d8f5cd2d6ccb1f8c2377c49 + devlop: ^1.0.0 + micromark-core-commonmark: ^2.0.0 + micromark-factory-space: ^2.0.0 + micromark-util-character: ^2.0.0 + micromark-util-normalize-identifier: ^2.0.0 + micromark-util-sanitize-uri: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + checksum: a426fddecfac6144fc622b845cd2dc09d46faa75be5b76ff022cb76a03301b1d4929a5e5e41e071491787936be65e03d0b03c7aebc0e0136b3cdbfadadd6632c languageName: node linkType: hard -"micromark-extension-gfm-strikethrough@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-strikethrough@npm:1.0.5" +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.0.0" dependencies: - micromark-util-chunked: ^1.0.0 - micromark-util-classify-character: ^1.0.0 - micromark-util-resolve-all: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: 548c0f257753d735c741533411957f04253da53db31e1f398dc5dc1de9f398c45586baad5223dce8f3b55f9433c255e6eb695fc3104256b8c332dd8737136882 + devlop: ^1.0.0 + micromark-util-chunked: ^2.0.0 + micromark-util-classify-character: ^2.0.0 + micromark-util-resolve-all: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + checksum: 4e35fbbf364bfce08066b70acd94b9d393a8fd09a5afbe0bae70d0c8a174640b1ba86ab6b78ee38f411a813e2a718b07959216cf0063d823ba1c569a7694e5ad languageName: node linkType: hard -"micromark-extension-gfm-table@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-table@npm:1.0.5" +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-table@npm:2.0.0" dependencies: - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: f0aab3b4333cc24b1534b08dc4cce986dd606df8b7ed913e5a1de9fe2d3ae67b2435663c0bc271b528874af4928e580e1ad540ea9117d7f2d74edb28859c97ef + devlop: ^1.0.0 + micromark-factory-space: ^2.0.0 + micromark-util-character: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + checksum: 71484dcf8db7b189da0528f472cc81e4d6d1a64ae43bbe7fcb7e2e1dba758a0a4f785f9f1afb9459fe5b4a02bbe023d78c95c05204414a14083052eb8219e5eb languageName: node linkType: hard -"micromark-extension-gfm-tagfilter@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-extension-gfm-tagfilter@npm:1.0.2" +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" dependencies: - micromark-util-types: ^1.0.0 - checksum: 7d2441df51f890c86f8e7cf7d331a570b69c8105fa1c2fc5b737cb739502c16c8ee01cf35550a8a78f89497c5dfacc97cf82d55de6274e8320f3aec25e2b0dd2 + micromark-util-types: ^2.0.0 + checksum: cf21552f4a63592bfd6c96ae5d64a5f22bda4e77814e3f0501bfe80e7a49378ad140f827007f36044666f176b3a0d5fea7c2e8e7973ce4b4579b77789f01ae95 languageName: node linkType: hard -"micromark-extension-gfm-task-list-item@npm:^1.0.0": - version: 1.0.4 - resolution: "micromark-extension-gfm-task-list-item@npm:1.0.4" - dependencies: - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: 2575bb47b320f2479d3cc2492ba7cf79d6baa9cd0200c0ed120fd0e318e64e8ebab4a93a056a3781cb5107193f3b36ebd2d86a5928308bef45fc121291f97eb5 - languageName: node - linkType: hard - -"micromark-extension-gfm@npm:^2.0.0": +"micromark-extension-gfm-task-list-item@npm:^2.0.0": version: 2.0.1 - resolution: "micromark-extension-gfm@npm:2.0.1" + resolution: "micromark-extension-gfm-task-list-item@npm:2.0.1" dependencies: - micromark-extension-gfm-autolink-literal: ^1.0.0 - micromark-extension-gfm-footnote: ^1.0.0 - micromark-extension-gfm-strikethrough: ^1.0.0 - micromark-extension-gfm-table: ^1.0.0 - micromark-extension-gfm-tagfilter: ^1.0.0 - micromark-extension-gfm-task-list-item: ^1.0.0 - micromark-util-combine-extensions: ^1.0.0 - micromark-util-types: ^1.0.0 - checksum: b181479c87be38d5ae8d28e6dc52fab73c894fd2706876746f27a91fb186644ce03532a9c35dca2186327a0e2285cd5242ad0361dc89adedd4a50376ffd94e22 + devlop: ^1.0.0 + micromark-factory-space: ^2.0.0 + micromark-util-character: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + checksum: 80e569ab1a1d1f89d86af91482e9629e24b7e3f019c9d7989190f36a9367c6de723b2af48e908c1b73479f35b2215d3d38c1fdbf02ab01eb2fc90a59d1cf4465 languageName: node linkType: hard -"micromark-extension-mdx-expression@npm:^1.0.0": - version: 1.0.4 - resolution: "micromark-extension-mdx-expression@npm:1.0.4" +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" dependencies: - micromark-factory-mdx-expression: ^1.0.0 - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-events-to-acorn: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: d19a31f9813dd5d4ad96b99e35b7c48067e69d75f92ec670dad5242857fb7688ba8b7c6a15616797b5df25dd89fd3b54916f93cb60ce2cfe97aca84739b45954 + micromark-extension-gfm-autolink-literal: ^2.0.0 + micromark-extension-gfm-footnote: ^2.0.0 + micromark-extension-gfm-strikethrough: ^2.0.0 + micromark-extension-gfm-table: ^2.0.0 + micromark-extension-gfm-tagfilter: ^2.0.0 + micromark-extension-gfm-task-list-item: ^2.0.0 + micromark-util-combine-extensions: ^2.0.0 + micromark-util-types: ^2.0.0 + checksum: 2060fa62666a09532d6b3a272d413bc1b25bbb262f921d7402795ac021e1362c8913727e33d7528d5b4ccaf26922ec51208c43f795a702964817bc986de886c9 languageName: node linkType: hard -"micromark-extension-mdx-jsx@npm:^1.0.0": - version: 1.0.3 - resolution: "micromark-extension-mdx-jsx@npm:1.0.3" +"micromark-extension-mdx-expression@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdx-expression@npm:3.0.0" + dependencies: + "@types/estree": ^1.0.0 + devlop: ^1.0.0 + micromark-factory-mdx-expression: ^2.0.0 + micromark-factory-space: ^2.0.0 + micromark-util-character: ^2.0.0 + micromark-util-events-to-acorn: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + checksum: abd6ba0acdebc03bc0836c51a1ec4ca28e0be86f10420dd8cfbcd6c10dd37cd3f31e7c8b9792e9276e7526748883f4a30d0803d72b6285dae47d4e5348c23a10 + languageName: node + linkType: hard + +"micromark-extension-mdx-jsx@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdx-jsx@npm:3.0.0" dependencies: "@types/acorn": ^4.0.0 - estree-util-is-identifier-name: ^2.0.0 - micromark-factory-mdx-expression: ^1.0.0 - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - vfile-message: ^3.0.0 - checksum: 1a5566890aabc52fe96b78e3a3a507dee03a2232e44b9360b00617734e156f934e85bc6a477fbb856c793fe33c9fb7d2207a4f50e680168c0d04ba9c9336d960 + "@types/estree": ^1.0.0 + devlop: ^1.0.0 + estree-util-is-identifier-name: ^3.0.0 + micromark-factory-mdx-expression: ^2.0.0 + micromark-factory-space: ^2.0.0 + micromark-util-character: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + vfile-message: ^4.0.0 + checksum: 5e2f45d381d1ce43afadc5376427b42ef8cd2a574ca3658473254eabe84db99ef1abc03055b3d86728fac7f1edfb1076e6f2f322ed8bfb1f2f14cafc2c8f0d0e languageName: node linkType: hard -"micromark-extension-mdx-md@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-extension-mdx-md@npm:1.0.0" +"micromark-extension-mdx-md@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-mdx-md@npm:2.0.0" dependencies: - micromark-util-types: ^1.0.0 - checksum: b4f205e1d5f0946b4755541ef44ffd0b3be8c7ecfc08d8b139b6a21fbd3ff62d8fdb6b7e6d17bd9a3b610450267f43a41703dc48b341da9addd743a28cdefa64 + micromark-util-types: ^2.0.0 + checksum: 7daf03372fd7faddf3f0ac87bdb0debb0bb770f33b586f72251e1072b222ceee75400ab6194c0e130dbf1e077369a5b627be6e9130d7a2e9e6b849f0d18ff246 languageName: node linkType: hard -"micromark-extension-mdxjs-esm@npm:^1.0.0": - version: 1.0.3 - resolution: "micromark-extension-mdxjs-esm@npm:1.0.3" +"micromark-extension-mdxjs-esm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" dependencies: - micromark-core-commonmark: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-events-to-acorn: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - unist-util-position-from-estree: ^1.1.0 - uvu: ^0.5.0 - vfile-message: ^3.0.0 - checksum: 756074656391a5e5bb96bc8a0e9c1df7d9f7be5299847c9719e6a90552e1c76a11876aa89986ad5da89ab485f776a4a43a61ea3acddd4f865a5cee43ac523ffd + "@types/estree": ^1.0.0 + devlop: ^1.0.0 + micromark-core-commonmark: ^2.0.0 + micromark-util-character: ^2.0.0 + micromark-util-events-to-acorn: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + unist-util-position-from-estree: ^2.0.0 + vfile-message: ^4.0.0 + checksum: fb33d850200afce567b95c90f2f7d42259bd33eea16154349e4fa77c3ec934f46c8e5c111acea16321dce3d9f85aaa4c49afe8b810e31b34effc11617aeee8f6 languageName: node linkType: hard -"micromark-extension-mdxjs@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-extension-mdxjs@npm:1.0.0" +"micromark-extension-mdxjs@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs@npm:3.0.0" dependencies: acorn: ^8.0.0 acorn-jsx: ^5.0.0 - micromark-extension-mdx-expression: ^1.0.0 - micromark-extension-mdx-jsx: ^1.0.0 - micromark-extension-mdx-md: ^1.0.0 - micromark-extension-mdxjs-esm: ^1.0.0 - micromark-util-combine-extensions: ^1.0.0 - micromark-util-types: ^1.0.0 - checksum: ba836c6d2dfc67597886e88f533ffa02f2029dbe216a0651f1066e70f8529a700bcc7fa2bc4201ee12fd3d1cd7da7093d5a442442daeb84b27df96aaffb7699c - languageName: node - linkType: hard - -"micromark-factory-destination@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-factory-destination@npm:1.0.0" - dependencies: - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - checksum: 8e733ae9c1c2342f14ff290bf09946e20f6f540117d80342377a765cac48df2ea5e748f33c8b07501ad7a43414b1a6597c8510ede2052b6bf1251fab89748e20 + micromark-extension-mdx-expression: ^3.0.0 + micromark-extension-mdx-jsx: ^3.0.0 + micromark-extension-mdx-md: ^2.0.0 + micromark-extension-mdxjs-esm: ^3.0.0 + micromark-util-combine-extensions: ^2.0.0 + micromark-util-types: ^2.0.0 + checksum: 7da6f0fb0e1e0270a2f5ad257e7422cc16e68efa7b8214c63c9d55bc264cb872e9ca4ac9a71b9dfd13daf52e010f730bac316086f4340e4fcc6569ec699915bf languageName: node linkType: hard @@ -8235,18 +8042,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-label@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-factory-label@npm:1.0.2" - dependencies: - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: 957e9366bdc8dbc1437c0706ff96972fa985ab4b1274abcae12f6094f527cbf5c69e7f2304c23c7f4b96e311ff7911d226563b8b43dcfcd4091e8c985fb97ce6 - languageName: node - linkType: hard - "micromark-factory-label@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-label@npm:2.0.0" @@ -8259,19 +8054,19 @@ __metadata: languageName: node linkType: hard -"micromark-factory-mdx-expression@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-factory-mdx-expression@npm:1.0.7" +"micromark-factory-mdx-expression@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-mdx-expression@npm:2.0.1" dependencies: - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-events-to-acorn: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - unist-util-position-from-estree: ^1.0.0 - uvu: ^0.5.0 - vfile-message: ^3.0.0 - checksum: e7893f21576bcb7755d341e45d3ff202ba466fa2278c6f31ae4db4002a28d6d13a4efad331ef46223372ec2010d9bc2ff27e2cd57a4580be6491e59ca21ba59d + "@types/estree": ^1.0.0 + devlop: ^1.0.0 + micromark-util-character: ^2.0.0 + micromark-util-events-to-acorn: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + unist-util-position-from-estree: ^2.0.0 + vfile-message: ^4.0.0 + checksum: 2ba0ae939d0174a5e5331b1a4c203b96862ccf06e8903d6bdcc2d51f75515e52d407cd394afcd182f9ff0e877dc2a14e3fa430ced0131e156650d45104de8311 languageName: node linkType: hard @@ -8295,19 +8090,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-title@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-factory-title@npm:1.0.2" - dependencies: - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: 9a9cf66babde0bad1e25d6c1087082bfde6dfc319a36cab67c89651cc1a53d0e21cdec83262b5a4c33bff49f0e3c8dc2a7bd464e991d40dbea166a8f9b37e5b2 - languageName: node - linkType: hard - "micromark-factory-title@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-title@npm:2.0.0" @@ -8320,18 +8102,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-whitespace@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-factory-whitespace@npm:1.0.0" - dependencies: - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - checksum: 0888386e6ea2dd665a5182c570d9b3d0a172d3f11694ca5a2a84e552149c9f1429f5b975ec26e1f0fa4388c55a656c9f359ce5e0603aff6175ba3e255076f20b - languageName: node - linkType: hard - "micromark-factory-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-whitespace@npm:2.0.0" @@ -8364,15 +8134,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-chunked@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-chunked@npm:1.0.0" - dependencies: - micromark-util-symbol: ^1.0.0 - checksum: c1efd56e8c4217bcf1c6f1a9fb9912b4a2a5503b00d031da902be922fb3fee60409ac53f11739991291357b2784fb0647ddfc74c94753a068646c0cb0fd71421 - languageName: node - linkType: hard - "micromark-util-chunked@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-chunked@npm:2.0.0" @@ -8382,17 +8143,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-classify-character@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-classify-character@npm:1.0.0" - dependencies: - micromark-util-character: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - checksum: 180446e6a1dec653f625ded028f244784e1db8d10ad05c5d70f08af9de393b4a03dc6cf6fa5ed8ccc9c24bbece7837abf3bf66681c0b4adf159364b7d5236dfd - languageName: node - linkType: hard - "micromark-util-classify-character@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-classify-character@npm:2.0.0" @@ -8404,16 +8154,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-combine-extensions@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-combine-extensions@npm:1.0.0" - dependencies: - micromark-util-chunked: ^1.0.0 - micromark-util-types: ^1.0.0 - checksum: 5304a820ef75340e1be69d6ad167055b6ba9a3bafe8171e5945a935752f462415a9dd61eb3490220c055a8a11167209a45bfa73f278338b7d3d61fa1464d3f35 - languageName: node - linkType: hard - "micromark-util-combine-extensions@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-combine-extensions@npm:2.0.0" @@ -8424,15 +8164,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-decode-numeric-character-reference@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-decode-numeric-character-reference@npm:1.0.0" - dependencies: - micromark-util-symbol: ^1.0.0 - checksum: f3ae2bb582a80f1e9d3face026f585c0c472335c064bd850bde152376f0394cb2831746749b6be6e0160f7d73626f67d10716026c04c87f402c0dd45a1a28633 - languageName: node - linkType: hard - "micromark-util-decode-numeric-character-reference@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.0" @@ -8442,18 +8173,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-decode-string@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-util-decode-string@npm:1.0.2" - dependencies: - decode-named-character-reference: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-decode-numeric-character-reference: ^1.0.0 - micromark-util-symbol: ^1.0.0 - checksum: 2dbb41c9691cc71505d39706405139fb7d6699429d577a524c7c248ac0cfd09d3dd212ad8e91c143a00b2896f26f81136edc67c5bda32d20446f0834d261b17a - languageName: node - linkType: hard - "micromark-util-decode-string@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-decode-string@npm:2.0.0" @@ -8466,13 +8185,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-encode@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-util-encode@npm:1.0.1" - checksum: 9290583abfdc79ea3e7eb92c012c47a0e14327888f8aaa6f57ff79b3058d8e7743716b9d91abca3646f15ab3d78fdad9779fdb4ccf13349cd53309dfc845253a - languageName: node - linkType: hard - "micromark-util-encode@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-encode@npm:2.0.0" @@ -8480,25 +8192,19 @@ __metadata: languageName: node linkType: hard -"micromark-util-events-to-acorn@npm:^1.0.0": - version: 1.2.1 - resolution: "micromark-util-events-to-acorn@npm:1.2.1" +"micromark-util-events-to-acorn@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-events-to-acorn@npm:2.0.2" dependencies: "@types/acorn": ^4.0.0 "@types/estree": ^1.0.0 - estree-util-visit: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - vfile-location: ^4.0.0 - vfile-message: ^3.0.0 - checksum: baf1cad66d860980cf20963f641c48c434e5be5802beabefdda21be136ae037845dd236b5e9ce5cf9409bf1b9ba8b4131a396d3a5bfa12098dae13e4a9724f2b - languageName: node - linkType: hard - -"micromark-util-html-tag-name@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-html-tag-name@npm:1.1.0" - checksum: a9b783cec89ec813648d59799464c1950fe281ae797b2a965f98ad0167d7fa1a247718eff023b4c015f47211a172f9446b8e6b98aad50e3cd44a3337317dad2c + "@types/unist": ^3.0.0 + devlop: ^1.0.0 + estree-util-visit: ^2.0.0 + micromark-util-symbol: ^2.0.0 + micromark-util-types: ^2.0.0 + vfile-message: ^4.0.0 + checksum: bcb3eeac52a4ae5c3ca3d8cff514de3a7d1f272d9a94cce26a08c578bef64df4d61820874c01207e92fcace9eae5c9a7ecdddef0c6e10014b255a07b7880bf94 languageName: node linkType: hard @@ -8509,15 +8215,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-normalize-identifier@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-normalize-identifier@npm:1.0.0" - dependencies: - micromark-util-symbol: ^1.0.0 - checksum: d7c09d5e8318fb72f194af72664bd84a48a2928e3550b2b21c8fbc0ec22524f2a72e0f6663d2b95dc189a6957d3d7759b60716e888909710767cd557be821f8b - languageName: node - linkType: hard - "micromark-util-normalize-identifier@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-normalize-identifier@npm:2.0.0" @@ -8527,15 +8224,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-resolve-all@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-resolve-all@npm:1.0.0" - dependencies: - micromark-util-types: ^1.0.0 - checksum: 409667f2bd126ef8acce009270d2aecaaa5584c5807672bc657b09e50aa91bd2e552cf41e5be1e6469244a83349cbb71daf6059b746b1c44e3f35446fef63e50 - languageName: node - linkType: hard - "micromark-util-resolve-all@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-resolve-all@npm:2.0.0" @@ -8545,17 +8233,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-sanitize-uri@npm:^1.0.0, micromark-util-sanitize-uri@npm:^1.1.0": - version: 1.1.0 - resolution: "micromark-util-sanitize-uri@npm:1.1.0" - dependencies: - micromark-util-character: ^1.0.0 - micromark-util-encode: ^1.0.0 - micromark-util-symbol: ^1.0.0 - checksum: fe6093faa0adeb8fad606184d927ce37f207dcc2ec7256438e7f273c8829686245dd6161b597913ef25a3c4fb61863d3612a40cb04cf15f83ba1b4087099996b - languageName: node - linkType: hard - "micromark-util-sanitize-uri@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-sanitize-uri@npm:2.0.0" @@ -8567,18 +8244,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-subtokenize@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-util-subtokenize@npm:1.0.2" - dependencies: - micromark-util-chunked: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: c32ee58a7e1384ab1161a9ee02fbb04ad7b6e96d0b8c93dba9803c329a53d07f22ab394c7a96b2e30d6b8fbe3585b85817dba07277b1317111fc234e166bd2d1 - languageName: node - linkType: hard - "micromark-util-subtokenize@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-subtokenize@npm:2.0.0" @@ -8605,7 +8270,7 @@ __metadata: languageName: node linkType: hard -"micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1": +"micromark-util-types@npm:^1.0.0": version: 1.0.2 resolution: "micromark-util-types@npm:1.0.2" checksum: 08dc901b7c06ee3dfeb54befca05cbdab9525c1cf1c1080967c3878c9e72cb9856c7e8ff6112816e18ead36ce6f99d55aaa91560768f2f6417b415dcba1244df @@ -8619,31 +8284,6 @@ __metadata: languageName: node linkType: hard -"micromark@npm:^3.0.0": - version: 3.1.0 - resolution: "micromark@npm:3.1.0" - dependencies: - "@types/debug": ^4.0.0 - debug: ^4.0.0 - decode-named-character-reference: ^1.0.0 - micromark-core-commonmark: ^1.0.1 - micromark-factory-space: ^1.0.0 - micromark-util-character: ^1.0.0 - micromark-util-chunked: ^1.0.0 - micromark-util-combine-extensions: ^1.0.0 - micromark-util-decode-numeric-character-reference: ^1.0.0 - micromark-util-encode: ^1.0.0 - micromark-util-normalize-identifier: ^1.0.0 - micromark-util-resolve-all: ^1.0.0 - micromark-util-sanitize-uri: ^1.0.0 - micromark-util-subtokenize: ^1.0.0 - micromark-util-symbol: ^1.0.0 - micromark-util-types: ^1.0.1 - uvu: ^0.5.0 - checksum: 5fe5bc3bf92e2ddd37b5f0034080fc3a4d4b3c1130dd5e435bb96ec75e9453091272852e71a4d74906a8fcf992d6f79d794607657c534bda49941e9950a92e28 - languageName: node - linkType: hard - "micromark@npm:^4.0.0": version: 4.0.0 resolution: "micromark@npm:4.0.0" @@ -8702,7 +8342,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -8777,7 +8417,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.7": +"minimist@npm:^1.2.0": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 @@ -8872,13 +8512,6 @@ __metadata: languageName: node linkType: hard -"mri@npm:^1.1.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 83f515abbcff60150873e424894a2f65d68037e5a7fcde8a9e2b285ee9c13ac581b63cfc1e6826c4732de3aeb84902f7c1e16b7aff46cd3f897a0f757a894e85 - languageName: node - linkType: hard - "mrmime@npm:^1.0.0": version: 1.0.1 resolution: "mrmime@npm:1.0.1" @@ -8952,26 +8585,15 @@ __metadata: languageName: node linkType: hard -"node-emoji@npm:^1.10.0": - version: 1.11.0 - resolution: "node-emoji@npm:1.11.0" +"node-emoji@npm:^2.1.0": + version: 2.1.3 + resolution: "node-emoji@npm:2.1.3" dependencies: - lodash: ^4.17.21 - checksum: e8c856c04a1645062112a72e59a98b203505ed5111ff84a3a5f40611afa229b578c7d50f1e6a7f17aa62baeea4a640d2e2f61f63afc05423aa267af10977fb2b - languageName: node - linkType: hard - -"node-fetch@npm:2.6.7": - version: 2.6.7 - resolution: "node-fetch@npm:2.6.7" - dependencies: - whatwg-url: ^5.0.0 - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b + "@sindresorhus/is": ^4.6.0 + char-regex: ^1.0.2 + emojilib: ^2.4.0 + skin-tone: ^2.0.0 + checksum: 9ae5a1fb12fd5ce6885f251f345986115de4bb82e7d06fdc943845fb19260d89d0aaaccbaf85cae39fe7aaa1fc391640558865ba690c9bb8a7236c3ac10bbab0 languageName: node linkType: hard @@ -9002,10 +8624,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.13": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 languageName: node linkType: hard @@ -9085,7 +8707,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -9342,13 +8964,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^6.0.0": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd - languageName: node - linkType: hard - "parse5@npm:^7.0.0": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -9977,15 +9592,15 @@ __metadata: languageName: node linkType: hard -"prism-react-renderer@npm:^2.1.0": - version: 2.1.0 - resolution: "prism-react-renderer@npm:2.1.0" +"prism-react-renderer@npm:^2.3.0": + version: 2.3.1 + resolution: "prism-react-renderer@npm:2.3.1" dependencies: "@types/prismjs": ^1.26.0 - clsx: ^1.2.1 + clsx: ^2.0.0 peerDependencies: react: ">=16.0.0" - checksum: 61b4eb22bdbf01005a0d7ec2a24a27b69e28f124a1fbbfc2adb4d7d41a7929ea94d5ce506a361dd5a230728402f02595d521d9a5286d74ec9b34be0896c513a5 + checksum: b12a7d502c1e764d94f7d3c84aee9cd6fccc676bb7e21dee94d37eb2e7e62e097a343999e1979887cb83a57cbdea48d2046aa74d07bce05caa25f4c296df30b6 languageName: node linkType: hard @@ -10020,15 +9635,6 @@ __metadata: languageName: node linkType: hard -"promise@npm:^7.1.1": - version: 7.3.1 - resolution: "promise@npm:7.3.1" - dependencies: - asap: ~2.0.3 - checksum: 475bb069130179fbd27ed2ab45f26d8862376a137a57314cf53310bdd85cc986a826fd585829be97ebc0aaf10e9d8e68be1bfe5a4a0364144b1f9eedfa940cf1 - languageName: node - linkType: hard - "prompts@npm:^2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" @@ -10097,13 +9703,6 @@ __metadata: languageName: node linkType: hard -"pure-color@npm:^1.2.0": - version: 1.3.0 - resolution: "pure-color@npm:1.3.0" - checksum: 646d8bed6e6eab89affdd5e2c11f607a85b631a7fb03c061dfa658eb4dc4806881a15feed2ac5fd8c0bad8c00c632c640d5b1cb8b9a972e6e947393a1329371b - languageName: node - linkType: hard - "qs@npm:6.11.0": version: 6.11.0 resolution: "qs@npm:6.11.0" @@ -10185,18 +9784,6 @@ __metadata: languageName: node linkType: hard -"react-base16-styling@npm:~0.6.0": - version: 0.6.0 - resolution: "react-base16-styling@npm:0.6.0" - dependencies: - base16: ^1.0.0 - lodash.curry: ^4.0.1 - lodash.flow: ^3.3.0 - pure-color: ^1.2.0 - checksum: 00a12dddafc8a9025cca933b0dcb65fca41c81fa176d1fc3a6a9d0242127042e2c0a604f4c724a3254dd2c6aeb5ef55095522ff22f5462e419641c1341a658e4 - languageName: node - linkType: hard - "react-dev-utils@npm:^12.0.1": version: 12.0.1 resolution: "react-dev-utils@npm:12.0.1" @@ -10278,10 +9865,12 @@ __metadata: languageName: node linkType: hard -"react-lifecycles-compat@npm:~3.0.4": - version: 3.0.4 - resolution: "react-lifecycles-compat@npm:3.0.4" - checksum: a904b0fc0a8eeb15a148c9feb7bc17cec7ef96e71188280061fc340043fd6d8ee3ff233381f0e8f95c1cf926210b2c4a31f38182c8f35ac55057e453d6df204f +"react-json-view-lite@npm:^1.2.0": + version: 1.2.1 + resolution: "react-json-view-lite@npm:1.2.1" + peerDependencies: + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + checksum: 9441260033ec07991b0121281d846f9d3e8db9061ea0dc3938f7003630f515d47870a465d90f1f9300ebe406679986657a4062c009c2a2084e2e145e6fa05a47 languageName: node linkType: hard @@ -10345,19 +9934,6 @@ __metadata: languageName: node linkType: hard -"react-textarea-autosize@npm:~8.3.2": - version: 8.3.4 - resolution: "react-textarea-autosize@npm:8.3.4" - dependencies: - "@babel/runtime": ^7.10.2 - use-composed-ref: ^1.3.0 - use-latest: ^1.2.1 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 87360d4392276d4e87511a73be9b0634b8bcce8f4f648cf659334d993f25ad3d4062f468f1e1944fc614123acae4299580aad00b760c6a96cec190e076f847f5 - languageName: node - linkType: hard - "react@npm:^18.0.0": version: 18.2.0 resolution: "react@npm:18.2.0" @@ -10502,14 +10078,14 @@ __metadata: languageName: node linkType: hard -"rehype-raw@npm:^6.1.1": - version: 6.1.1 - resolution: "rehype-raw@npm:6.1.1" +"rehype-raw@npm:^7.0.0": + version: 7.0.0 + resolution: "rehype-raw@npm:7.0.0" dependencies: - "@types/hast": ^2.0.0 - hast-util-raw: ^7.2.0 - unified: ^10.0.0 - checksum: a1f9d309e609f49fb1f1e06e722705f4dd2e569653a89f756eaccb33b612cf1bb511216a81d10a619d11d047afc161e4b3cb99b957df05a8ba8fdbd5843f949a + "@types/hast": ^3.0.0 + hast-util-raw: ^9.0.0 + vfile: ^6.0.0 + checksum: f9e28dcbf4c6c7d91a97c10a840310f18ef3268aa45abb3e0428b6b191ff3c4fa8f753b910d768588a2dac5c7da7e557b4ddc3f1b6cd252e8d20cb62d60c65ed languageName: node linkType: hard @@ -10520,26 +10096,28 @@ __metadata: languageName: node linkType: hard -"remark-directive@npm:^2.0.1": - version: 2.0.1 - resolution: "remark-directive@npm:2.0.1" +"remark-directive@npm:^3.0.0": + version: 3.0.0 + resolution: "remark-directive@npm:3.0.0" dependencies: - "@types/mdast": ^3.0.0 - mdast-util-directive: ^2.0.0 - micromark-extension-directive: ^2.0.0 - unified: ^10.0.0 - checksum: 61539926813654011431cc34e3d6c5ba702a6b610a0e8210b4748828809e86614bbb3e2de5fdee59eed24501f95c41665b175b852cc26544079789db10ac6cd7 + "@types/mdast": ^4.0.0 + mdast-util-directive: ^3.0.0 + micromark-extension-directive: ^3.0.0 + unified: ^11.0.0 + checksum: 744d12bbe924bd0492a2481cbaf9250aa6622c0d2cc090bb7bc39975e355c8a46ae13cc4793204ada39f0af64c953f6b730a55420a50375e0f74a5dd5d201089 languageName: node linkType: hard -"remark-emoji@npm:^2.2.0": - version: 2.2.0 - resolution: "remark-emoji@npm:2.2.0" +"remark-emoji@npm:^4.0.0": + version: 4.0.1 + resolution: "remark-emoji@npm:4.0.1" dependencies: - emoticon: ^3.2.0 - node-emoji: ^1.10.0 - unist-util-visit: ^2.0.3 - checksum: 638d4be72eb4110a447f389d4b8c454921f188c0acabf1b6579f3ddaa301ee91010173d6eebd975ea622ae3de7ed4531c0315a4ffd4f9653d80c599ef9ec21a8 + "@types/mdast": ^4.0.2 + emoticon: ^4.0.1 + mdast-util-find-and-replace: ^3.0.1 + node-emoji: ^2.1.0 + unified: ^11.0.4 + checksum: 2c02d8c0b694535a9f0c4fe39180cb89a8fbd07eb873c94842c34dfde566b8a6703df9d28fe175a8c28584f96252121de722862baa756f2d875f2f1a4352c1f4 languageName: node linkType: hard @@ -10555,48 +10133,63 @@ __metadata: languageName: node linkType: hard -"remark-gfm@npm:^3.0.1": +"remark-gfm@npm:^4.0.0": + version: 4.0.0 + resolution: "remark-gfm@npm:4.0.0" + dependencies: + "@types/mdast": ^4.0.0 + mdast-util-gfm: ^3.0.0 + micromark-extension-gfm: ^3.0.0 + remark-parse: ^11.0.0 + remark-stringify: ^11.0.0 + unified: ^11.0.0 + checksum: 84bea84e388061fbbb697b4b666089f5c328aa04d19dc544c229b607446bc10902e46b67b9594415a1017bbbd7c811c1f0c30d36682c6d1a6718b66a1558261b + languageName: node + linkType: hard + +"remark-mdx@npm:^3.0.0": version: 3.0.1 - resolution: "remark-gfm@npm:3.0.1" + resolution: "remark-mdx@npm:3.0.1" dependencies: - "@types/mdast": ^3.0.0 - mdast-util-gfm: ^2.0.0 - micromark-extension-gfm: ^2.0.0 - unified: ^10.0.0 - checksum: 02254f74d67b3419c2c9cf62d799ec35f6c6cd74db25c001361751991552a7ce86049a972107bff8122d85d15ae4a8d1a0618f3bc01a7df837af021ae9b2a04e + mdast-util-mdx: ^3.0.0 + micromark-extension-mdxjs: ^3.0.0 + checksum: e7fcffbe1ccb0c7dfcb01c6d9dbc48df9c668c8321745455db7346f4860c43dbcb98e36e3398a5117d773426ab5ef656a95c78a21208c59e92571f021b8e678e languageName: node linkType: hard -"remark-mdx@npm:^2.0.0": - version: 2.3.0 - resolution: "remark-mdx@npm:2.3.0" +"remark-parse@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-parse@npm:11.0.0" dependencies: - mdast-util-mdx: ^2.0.0 - micromark-extension-mdxjs: ^1.0.0 - checksum: 98486986c5b6f6a8321eb2f3b13c70fcd5644821428c77b7bfeb5ee5d4605b9761b322b2f6b531e83883cd2d5bc7bc4623427149aee00e1eba012f538b3d5627 + "@types/mdast": ^4.0.0 + mdast-util-from-markdown: ^2.0.0 + micromark-util-types: ^2.0.0 + unified: ^11.0.0 + checksum: d83d245290fa84bb04fb3e78111f09c74f7417e7c012a64dd8dc04fccc3699036d828fbd8eeec8944f774b6c30cc1d925c98f8c46495ebcee7c595496342ab7f languageName: node linkType: hard -"remark-parse@npm:^10.0.0": - version: 10.0.1 - resolution: "remark-parse@npm:10.0.1" +"remark-rehype@npm:^11.0.0": + version: 11.1.0 + resolution: "remark-rehype@npm:11.1.0" dependencies: - "@types/mdast": ^3.0.0 - mdast-util-from-markdown: ^1.0.0 - unified: ^10.0.0 - checksum: 505088e564ab53ff054433368adbb7b551f69240c7d9768975529837a86f1d0f085e72d6211929c5c42db315273df4afc94f3d3a8662ffdb69468534c6643d29 + "@types/hast": ^3.0.0 + "@types/mdast": ^4.0.0 + mdast-util-to-hast: ^13.0.0 + unified: ^11.0.0 + vfile: ^6.0.0 + checksum: f0c731f0ab92a122e7f9c9bcbd10d6a31fdb99f0ea3595d232ddd9f9d11a308c4ec0aff4d56e1d0d256042dfad7df23b9941e50b5038da29786959a5926814e1 languageName: node linkType: hard -"remark-rehype@npm:^10.0.0": - version: 10.1.0 - resolution: "remark-rehype@npm:10.1.0" +"remark-stringify@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-stringify@npm:11.0.0" dependencies: - "@types/hast": ^2.0.0 - "@types/mdast": ^3.0.0 - mdast-util-to-hast: ^12.1.0 - unified: ^10.0.0 - checksum: b9ac8acff3383b204dfdc2599d0bdf86e6ca7e837033209584af2e6aaa6a9013e519a379afa3201299798cab7298c8f4b388de118c312c67234c133318aec084 + "@types/mdast": ^4.0.0 + mdast-util-to-markdown: ^2.0.0 + unified: ^11.0.0 + checksum: 59e07460eb629d6c3b3c0f438b0b236e7e6858fd5ab770303078f5a556ec00354d9c7fb9ef6d5f745a4617ac7da1ab618b170fbb4dac120e183fecd9cc86bce6 languageName: node linkType: hard @@ -10752,24 +10345,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.8.0": - version: 7.8.1 - resolution: "rxjs@npm:7.8.1" - dependencies: - tslib: ^2.1.0 - checksum: de4b53db1063e618ec2eca0f7965d9137cabe98cf6be9272efe6c86b47c17b987383df8574861bcced18ebd590764125a901d5506082be84a8b8e364bf05f119 - languageName: node - linkType: hard - -"sade@npm:^1.7.3": - version: 1.8.1 - resolution: "sade@npm:1.8.1" - dependencies: - mri: ^1.1.0 - checksum: 0756e5b04c51ccdc8221ebffd1548d0ce5a783a44a0fa9017a026659b97d632913e78f7dca59f2496aa996a0be0b0c322afd87ca72ccd909406f49dbffa0f45d - languageName: node - linkType: hard - "safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" @@ -10817,15 +10392,15 @@ __metadata: linkType: hard "sass@npm:^1.57.1": - version: 1.70.0 - resolution: "sass@npm:1.70.0" + version: 1.71.0 + resolution: "sass@npm:1.71.0" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: fd1b622cf9b7fa699a03ec634611997552ece45eb98ac365fef22f42bdcb8ed63b326b64173379c966830c8551ae801e44e4a00d2de16fdadda2dc8f35400bbb + checksum: 5ba6b4b994c7ae94286919d8be8a3692038c27175b4ad3a3ac43f51a91188590d3ddd3a0ef1022135503b9d70d0732efdbedfd56f3ee1a4651549f5b13f8942f languageName: node linkType: hard @@ -11014,13 +10589,6 @@ __metadata: languageName: node linkType: hard -"setimmediate@npm:^1.0.5": - version: 1.0.5 - resolution: "setimmediate@npm:1.0.5" - checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd - languageName: node - linkType: hard - "setprototypeof@npm:1.1.0": version: 1.1.0 resolution: "setprototypeof@npm:1.1.0" @@ -11137,6 +10705,15 @@ __metadata: languageName: node linkType: hard +"skin-tone@npm:^2.0.0": + version: 2.0.0 + resolution: "skin-tone@npm:2.0.0" + dependencies: + unicode-emoji-modifier-base: ^1.0.0 + checksum: 19de157586b8019cacc55eb25d9d640f00fc02415761f3e41a4527142970fd4e7f6af0333bc90e879858766c20a976107bb386ffd4c812289c01d51f2c8d182c + languageName: node + linkType: hard + "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -11420,12 +10997,21 @@ __metadata: languageName: node linkType: hard -"style-to-object@npm:^0.4.1": - version: 0.4.1 - resolution: "style-to-object@npm:0.4.1" +"style-to-object@npm:^0.4.0": + version: 0.4.4 + resolution: "style-to-object@npm:0.4.4" dependencies: inline-style-parser: 0.1.1 - checksum: 2ea213e98eed21764ae1d1dc9359231a9f2d480d6ba55344c4c15eb275f0809f1845786e66d4caf62414a5cc8f112ce9425a58d251c77224060373e0db48f8c2 + checksum: 41656c06f93ac0a7ac260ebc2f9d09a8bd74b8ec1836f358cc58e169235835a3a356977891d2ebbd76f0e08a53616929069199f9cce543214d3dc98346e19c9a + languageName: node + linkType: hard + +"style-to-object@npm:^1.0.0": + version: 1.0.5 + resolution: "style-to-object@npm:1.0.5" + dependencies: + inline-style-parser: 0.2.2 + checksum: 6201063204b6a94645f81b189452b2ca3e63d61867ec48523f4d52609c81e96176739fa12020d97fbbf023efb57a6f7ec3a15fb3a7fb7eb3ffea0b52b9dd6b8c languageName: node linkType: hard @@ -11500,12 +11086,14 @@ __metadata: linkType: hard "swc-loader@npm:^0.2.3": - version: 0.2.4 - resolution: "swc-loader@npm:0.2.4" + version: 0.2.6 + resolution: "swc-loader@npm:0.2.6" + dependencies: + "@swc/counter": ^0.1.3 peerDependencies: "@swc/core": ^1.2.147 webpack: ">=2" - checksum: f23bfe8900b35abdcb9910a2749f3c9d66edf5c660afc67fcf7983647eaec322e024d1edd3bd9fd48bd3191eea0616f67b5f8b5f923e3a648fa5b448683c3213 + checksum: fe90948c02a51bb8ffcff1ce3590e01dc12860b0bb7c9e22052b14fa846ed437781ae265614a5e14344bea22001108780f00a6e350e28c0b3499bc4cd11335fb languageName: node linkType: hard @@ -11631,13 +11219,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 - languageName: node - linkType: hard - "trim-lines@npm:^3.0.0": version: 3.0.1 resolution: "trim-lines@npm:3.0.1" @@ -11652,7 +11233,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.6.0": +"tslib@npm:^2.0.3, tslib@npm:^2.6.0": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad @@ -11712,13 +11293,6 @@ __metadata: languageName: node linkType: hard -"ua-parser-js@npm:^0.7.30": - version: 0.7.33 - resolution: "ua-parser-js@npm:0.7.33" - checksum: 1510e9ec26fcaf0d8c6ae8f1078a8230e8816f083e1b5f453ea19d06b8ef2b8a596601c92148fd41899e8b3e5f83fa69c42332bd5729b931a721040339831696 - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -11726,6 +11300,13 @@ __metadata: languageName: node linkType: hard +"unicode-emoji-modifier-base@npm:^1.0.0": + version: 1.0.0 + resolution: "unicode-emoji-modifier-base@npm:1.0.0" + checksum: 6e1521d35fa69493207eb8b41f8edb95985d8b3faf07c01d820a1830b5e8403e20002563e2f84683e8e962a49beccae789f0879356bf92a4ec7a4dd8e2d16fdb + languageName: node + linkType: hard + "unicode-match-property-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-match-property-ecmascript@npm:2.0.0" @@ -11750,24 +11331,9 @@ __metadata: languageName: node linkType: hard -"unified@npm:^10.0.0, unified@npm:^10.1.2": - version: 10.1.2 - resolution: "unified@npm:10.1.2" - dependencies: - "@types/unist": ^2.0.0 - bail: ^2.0.0 - extend: ^3.0.0 - is-buffer: ^2.0.0 - is-plain-obj: ^4.0.0 - trough: ^2.0.0 - vfile: ^5.0.0 - checksum: 053e7c65ede644607f87bd625a299e4b709869d2f76ec8138569e6e886903b6988b21cd9699e471eda42bee189527be0a9dac05936f1d069a5e65d0125d5d756 - languageName: node - linkType: hard - -"unified@npm:^11.0.0": - version: 11.0.3 - resolution: "unified@npm:11.0.3" +"unified@npm:^11.0.0, unified@npm:^11.0.3, unified@npm:^11.0.4": + version: 11.0.4 + resolution: "unified@npm:11.0.4" dependencies: "@types/unist": ^3.0.0 bail: ^2.0.0 @@ -11776,7 +11342,7 @@ __metadata: is-plain-obj: ^4.0.0 trough: ^2.0.0 vfile: ^6.0.0 - checksum: 402d6b397b98f8966993faca0e1480f5f1825cc44df6a5236b75ab099f14b10ed808e578155c3f535e60676c12ee3f52346ca08d64343a72181d7a6b4d32011d + checksum: cfb023913480ac2bd5e787ffb8c27782c43e6be4a55f8f1c288233fce46a7ebe7718ccc5adb80bf8d56b7ef85f5fc32239c7bfccda006f9f2382e0cc2e2a77e4 languageName: node linkType: hard @@ -11807,29 +11373,6 @@ __metadata: languageName: node linkType: hard -"unist-util-generated@npm:^2.0.0": - version: 2.0.1 - resolution: "unist-util-generated@npm:2.0.1" - checksum: 6221ad0571dcc9c8964d6b054f39ef6571ed59cc0ce3e88ae97ea1c70afe76b46412a5ffaa91f96814644ac8477e23fb1b477d71f8d70e625728c5258f5c0d99 - languageName: node - linkType: hard - -"unist-util-is@npm:^4.0.0": - version: 4.1.0 - resolution: "unist-util-is@npm:4.1.0" - checksum: 726484cd2adc9be75a939aeedd48720f88294899c2e4a3143da413ae593f2b28037570730d5cf5fd910ff41f3bc1501e3d636b6814c478d71126581ef695f7ea - languageName: node - linkType: hard - -"unist-util-is@npm:^5.0.0": - version: 5.2.1 - resolution: "unist-util-is@npm:5.2.1" - dependencies: - "@types/unist": ^2.0.0 - checksum: ae76fdc3d35352cd92f1bedc3a0d407c3b9c42599a52ab9141fe89bdd786b51f0ec5a2ab68b93fb532e239457cae62f7e39eaa80229e1cb94875da2eafcbe5c4 - languageName: node - linkType: hard - "unist-util-is@npm:^6.0.0": version: 6.0.0 resolution: "unist-util-is@npm:6.0.0" @@ -11839,40 +11382,31 @@ __metadata: languageName: node linkType: hard -"unist-util-position-from-estree@npm:^1.0.0, unist-util-position-from-estree@npm:^1.1.0": - version: 1.1.2 - resolution: "unist-util-position-from-estree@npm:1.1.2" +"unist-util-position-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-position-from-estree@npm:2.0.0" dependencies: - "@types/unist": ^2.0.0 - checksum: e3f4060e2a9e894c6ed63489c5a7cb58ff282e5dae9497cbc2073033ca74d6e412af4d4d342c97aea08d997c908b8bce2fe43a2062aafc2bb3f266533016588b + "@types/unist": ^3.0.0 + checksum: d3b3048a5727c2367f64ef6dcc5b20c4717215ef8b1372ff9a7c426297c5d1e5776409938acd01531213e2cd2543218d16e73f9f862f318e9496e2c73bb18354 languageName: node linkType: hard -"unist-util-position@npm:^4.0.0": - version: 4.0.4 - resolution: "unist-util-position@npm:4.0.4" +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" dependencies: - "@types/unist": ^2.0.0 - checksum: e7487b6cec9365299695e3379ded270a1717074fa11fd2407c9b934fb08db6fe1d9077ddeaf877ecf1813665f8ccded5171693d3d9a7a01a125ec5cdd5e88691 + "@types/unist": ^3.0.0 + checksum: f89b27989b19f07878de9579cd8db2aa0194c8360db69e2c99bd2124a480d79c08f04b73a64daf01a8fb3af7cba65ff4b45a0b978ca243226084ad5f5d441dde languageName: node linkType: hard -"unist-util-remove-position@npm:^4.0.0": - version: 4.0.2 - resolution: "unist-util-remove-position@npm:4.0.2" +"unist-util-remove-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-remove-position@npm:5.0.0" dependencies: - "@types/unist": ^2.0.0 - unist-util-visit: ^4.0.0 - checksum: 989831da913d09a82a99ed9b47b78471b6409bde95942cde47e09da54b7736516f17e3c7e026af468684c1efcec5fb52df363381b2f9dc7fd96ce791c5a2fa4a - languageName: node - linkType: hard - -"unist-util-stringify-position@npm:^3.0.0": - version: 3.0.3 - resolution: "unist-util-stringify-position@npm:3.0.3" - dependencies: - "@types/unist": ^2.0.0 - checksum: dbd66c15183607ca942a2b1b7a9f6a5996f91c0d30cf8966fb88955a02349d9eefd3974e9010ee67e71175d784c5a9fea915b0aa0b0df99dcb921b95c4c9e124 + "@types/unist": ^3.0.0 + unist-util-visit: ^5.0.0 + checksum: 8aabdb9d0e3e744141bc123d8f87b90835d521209ad3c6c4619d403b324537152f0b8f20dda839b40c3aa0abfbf1828b3635a7a8bb159c3ed469e743023510ee languageName: node linkType: hard @@ -11885,26 +11419,6 @@ __metadata: languageName: node linkType: hard -"unist-util-visit-parents@npm:^3.0.0": - version: 3.1.1 - resolution: "unist-util-visit-parents@npm:3.1.1" - dependencies: - "@types/unist": ^2.0.0 - unist-util-is: ^4.0.0 - checksum: 1170e397dff88fab01e76d5154981666eb0291019d2462cff7a2961a3e76d3533b42eaa16b5b7e2d41ad42a5ea7d112301458283d255993e660511387bf67bc3 - languageName: node - linkType: hard - -"unist-util-visit-parents@npm:^5.0.0, unist-util-visit-parents@npm:^5.1.1, unist-util-visit-parents@npm:^5.1.3": - version: 5.1.3 - resolution: "unist-util-visit-parents@npm:5.1.3" - dependencies: - "@types/unist": ^2.0.0 - unist-util-is: ^5.0.0 - checksum: 8ecada5978994f846b64658cf13b4092cd78dea39e1ba2f5090a5de842ba4852712c02351a8ae95250c64f864635e7b02aedf3b4a093552bb30cf1bd160efbaa - languageName: node - linkType: hard - "unist-util-visit-parents@npm:^6.0.0": version: 6.0.1 resolution: "unist-util-visit-parents@npm:6.0.1" @@ -11915,28 +11429,6 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^2.0.3": - version: 2.0.3 - resolution: "unist-util-visit@npm:2.0.3" - dependencies: - "@types/unist": ^2.0.0 - unist-util-is: ^4.0.0 - unist-util-visit-parents: ^3.0.0 - checksum: 1fe19d500e212128f96d8c3cfa3312846e586b797748a1fd195fe6479f06bc90a6f6904deb08eefc00dd58e83a1c8a32fb8677252d2273ad7a5e624525b69b8f - languageName: node - linkType: hard - -"unist-util-visit@npm:^4.0.0": - version: 4.1.2 - resolution: "unist-util-visit@npm:4.1.2" - dependencies: - "@types/unist": ^2.0.0 - unist-util-is: ^5.0.0 - unist-util-visit-parents: ^5.1.1 - checksum: 95a34e3f7b5b2d4b68fd722b6229972099eb97b6df18913eda44a5c11df8b1e27efe7206dd7b88c4ed244a48c474a5b2e2629ab79558ff9eb936840295549cee - languageName: node - linkType: hard - "unist-util-visit@npm:^5.0.0": version: 5.0.0 resolution: "unist-util-visit@npm:5.0.0" @@ -12024,41 +11516,6 @@ __metadata: languageName: node linkType: hard -"use-composed-ref@npm:^1.3.0": - version: 1.3.0 - resolution: "use-composed-ref@npm:1.3.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: f771cbadfdc91e03b7ab9eb32d0fc0cc647755711801bf507e891ad38c4bbc5f02b2509acadf9c965ec9c5f2f642fd33bdfdfb17b0873c4ad0a9b1f5e5e724bf - languageName: node - linkType: hard - -"use-isomorphic-layout-effect@npm:^1.1.1": - version: 1.1.2 - resolution: "use-isomorphic-layout-effect@npm:1.1.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: a6532f7fc9ae222c3725ff0308aaf1f1ddbd3c00d685ef9eee6714fd0684de5cb9741b432fbf51e61a784e2955424864f7ea9f99734a02f237b17ad3e18ea5cb - languageName: node - linkType: hard - -"use-latest@npm:^1.2.1": - version: 1.2.1 - resolution: "use-latest@npm:1.2.1" - dependencies: - use-isomorphic-layout-effect: ^1.1.1 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: ed3f2ddddf6f21825e2ede4c2e0f0db8dcce5129802b69d1f0575fc1b42380436e8c76a6cd885d4e9aa8e292e60fb8b959c955f33c6a9123b83814a1a1875367 - languageName: node - linkType: hard - "util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -12096,20 +11553,6 @@ __metadata: languageName: node linkType: hard -"uvu@npm:^0.5.0": - version: 0.5.6 - resolution: "uvu@npm:0.5.6" - dependencies: - dequal: ^2.0.0 - diff: ^5.0.0 - kleur: ^4.0.3 - sade: ^1.7.3 - bin: - uvu: bin.js - checksum: 09460a37975627de9fcad396e5078fb844d01aaf64a6399ebfcfd9e55f1c2037539b47611e8631f89be07656962af0cf48c334993db82b9ae9c3d25ce3862168 - languageName: node - linkType: hard - "value-equal@npm:^1.0.1": version: 1.0.1 resolution: "value-equal@npm:1.0.1" @@ -12124,23 +11567,13 @@ __metadata: languageName: node linkType: hard -"vfile-location@npm:^4.0.0": - version: 4.1.0 - resolution: "vfile-location@npm:4.1.0" +"vfile-location@npm:^5.0.0": + version: 5.0.2 + resolution: "vfile-location@npm:5.0.2" dependencies: - "@types/unist": ^2.0.0 - vfile: ^5.0.0 - checksum: c894e8e5224170d1f85288f4a1d1ebcee0780823ea2b49d881648ab360ebf01b37ecb09b1c4439a75f9a51f31a9f9742cd045e987763e367c352a1ef7c50d446 - languageName: node - linkType: hard - -"vfile-message@npm:^3.0.0": - version: 3.1.4 - resolution: "vfile-message@npm:3.1.4" - dependencies: - "@types/unist": ^2.0.0 - unist-util-stringify-position: ^3.0.0 - checksum: d0ee7da1973ad76513c274e7912adbed4d08d180eaa34e6bd40bc82459f4b7bc50fcaff41556135e3339995575eac5f6f709aba9332b80f775618ea4880a1367 + "@types/unist": ^3.0.0 + vfile: ^6.0.0 + checksum: b61c048cedad3555b4f007f390412c6503f58a6a130b58badf4ee340c87e0d7421e9c86bbc1494c57dedfccadb60f5176cc60ba3098209d99fb3a3d8804e4c38 languageName: node linkType: hard @@ -12154,19 +11587,7 @@ __metadata: languageName: node linkType: hard -"vfile@npm:^5.0.0, vfile@npm:^5.3.7": - version: 5.3.7 - resolution: "vfile@npm:5.3.7" - dependencies: - "@types/unist": ^2.0.0 - is-buffer: ^2.0.0 - unist-util-stringify-position: ^3.0.0 - vfile-message: ^3.0.0 - checksum: 642cce703afc186dbe7cabf698dc954c70146e853491086f5da39e1ce850676fc96b169fcf7898aa3ff245e9313aeec40da93acd1e1fcc0c146dc4f6308b4ef9 - languageName: node - linkType: hard - -"vfile@npm:^6.0.0": +"vfile@npm:^6.0.0, vfile@npm:^6.0.1": version: 6.0.1 resolution: "vfile@npm:6.0.1" dependencies: @@ -12177,21 +11598,6 @@ __metadata: languageName: node linkType: hard -"wait-on@npm:^7.0.1": - version: 7.0.1 - resolution: "wait-on@npm:7.0.1" - dependencies: - axios: ^0.27.2 - joi: ^17.7.0 - lodash: ^4.17.21 - minimist: ^1.2.7 - rxjs: ^7.8.0 - bin: - wait-on: bin/wait-on - checksum: 1e8a17d8ee6436f71d3ab82781ce31267481fcd7bbccde49b0f8124871e6e40a1acac3401f04f775ba6203853a5813352fa131620fc139914351f3b2894d573f - languageName: node - linkType: hard - "watchpack@npm:^2.4.0": version: 2.4.0 resolution: "watchpack@npm:2.4.0" @@ -12218,13 +11624,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c - languageName: node - linkType: hard - "webpack-bundle-analyzer@npm:^4.9.0": version: 4.9.1 resolution: "webpack-bundle-analyzer@npm:4.9.1" @@ -12400,16 +11799,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: ~0.0.3 - webidl-conversions: ^3.0.0 - checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c - languageName: node - linkType: hard - "which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" diff --git a/package.json b/package.json index ac1ad79abe..ad3b7feed4 100644 --- a/package.json +++ b/package.json @@ -11,10 +11,12 @@ "start-backend": "yarn workspace example-backend start", "start:next": "yarn workspace example-app-next start", "start-backend:next": "yarn workspace example-backend-next start", + "start:microsite": "cd microsite/ && yarn start", "build:backend": "yarn workspace example-backend build", "build:all": "backstage-cli repo build --all", "build:api-reports": "yarn build:api-reports:only --tsc", "build:api-reports:only": "backstage-repo-tools api-reports --allow-warnings 'packages/core-components,plugins/+(catalog|catalog-import|git-release-manager|jenkins|kubernetes)' -o ae-wrong-input-file-type --validate-release-tags", + "build:knip-reports": "backstage-repo-tools knip-reports", "build:api-docs": "LANG=en_EN yarn build:api-reports --docs --exclude 'plugins/@(adr|adr-backend|adr-common|airbrake|airbrake-backend|allure|analytics-module-ga|analytics-module-ga4|analytics-module-newrelic-browser|apache-airflow|api-docs|api-docs-module-protoc-gen-doc|apollo-explorer|app-visualizer|azure-devops|azure-devops-backend|azure-devops-common|azure-sites|azure-sites-backend|azure-sites-common|badges|badges-backend|bazaar|bazaar-backend|bitbucket-cloud-common|bitrise|catalog-graph|catalog-graphql|catalog-import|catalog-unprocessed-entities|cicd-statistics|cicd-statistics-module-gitlab|circleci|cloudbuild|code-climate|code-coverage|code-coverage-backend|codescene|config-schema|cost-insights|cost-insights-common|dynatrace|entity-feedback|entity-feedback-backend|entity-feedback-common|entity-validation|example-todo-list|example-todo-list-backend|example-todo-list-common|firehydrant|fossa|gcalendar|gcp-projects|git-release-manager|github-actions|github-deployments|github-issues|github-pull-requests-board|gitops-profiles|gocd|graphiql|graphql-backend|graphql-voyager|ilert|jenkins|jenkins-backend|jenkins-common|kafka|kafka-backend|lighthouse|lighthouse-backend|lighthouse-common|linguist|linguist-backend|linguist-common|microsoft-calendar|newrelic|newrelic-dashboard|nomad|nomad-backend|octopus-deploy|opencost|pagerduty|periskop|periskop-backend|playlist|playlist-backend|playlist-common|proxy-backend|puppetdb|rollbar|rollbar-backend|sentry|shortcuts|splunk-on-call|stack-overflow|stack-overflow-backend|stackstorm|tech-radar|tech-radar-2|todo|todo-backend|xcmetrics)'", "build:plugins-report": "node ./scripts/build-plugins-report", "tsc": "tsc", @@ -43,6 +45,10 @@ "prepare": "husky", "postinstall": "husky || true" }, + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage" + }, "workspaces": { "packages": [ "packages/*", @@ -56,7 +62,7 @@ "@material-ui/pickers@^3.3.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch", "@material-ui/pickers@^3.2.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch" }, - "version": "1.23.0-next.1", + "version": "1.23.0", "dependencies": { "@backstage/errors": "workspace:^", "@manypkg/get-packages": "^1.1.3", @@ -84,8 +90,9 @@ "eslint-plugin-notice": "^0.9.10", "eslint-plugin-react": "^7.28.0", "eslint-plugin-testing-library": "^6.0.0", - "fs-extra": "10.1.0", + "fs-extra": "^11.2.0", "husky": "^9.0.0", + "knip": "^5.0.0", "lint-staged": "^15.0.0", "minimist": "^1.2.5", "node-gyp": "^10.0.0", diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md index 5a94ee1e0f..20a33c612d 100644 --- a/packages/app-defaults/CHANGELOG.md +++ b/packages/app-defaults/CHANGELOG.md @@ -1,5 +1,60 @@ # @backstage/app-defaults +## 1.5.0 + +### Minor Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs + +### Patch Changes + +- f899eec: Change default icon for `kind:resource` to the storage icon. +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 7da67ce: Change `defaultScopes` for Bitbucket auth from invalid `team` to `account`. +- 214f2da: Fix invalid HTTP status code 501 in Error Page +- Updated dependencies + - @backstage/core-components@0.14.0 + - @backstage/core-app-api@1.12.0 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-permission-react@0.4.20 + +## 1.5.0-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/theme@0.5.1-next.1 + - @backstage/core-components@0.14.0-next.2 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-permission-react@0.4.20-next.1 + +## 1.5.0-next.2 + +### Minor Changes + +- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the + `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the + implementation is in `@backstage/core-app-api` and a factory has been added to + `@backstage/app-defaults`. +- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs + +### Patch Changes + +- 9aac2b0: Use `--cwd` as the first `yarn` argument +- 214f2da: Fix invalid HTTP status code 501 in Error Page +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/theme@0.5.1-next.0 + ## 1.4.8-next.1 ### Patch Changes diff --git a/packages/app-defaults/knip-report.md b/packages/app-defaults/knip-report.md new file mode 100644 index 0000000000..2661c35327 --- /dev/null +++ b/packages/app-defaults/knip-report.md @@ -0,0 +1,2 @@ +# Knip report + diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index 450c9899e6..6913fcbfa3 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.4.8-next.1", + "version": "1.5.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/app-next-example-plugin/CHANGELOG.md b/packages/app-next-example-plugin/CHANGELOG.md index 6369de1cb5..29b7877580 100644 --- a/packages/app-next-example-plugin/CHANGELOG.md +++ b/packages/app-next-example-plugin/CHANGELOG.md @@ -1,5 +1,29 @@ # app-next-example-plugin +## 0.0.6 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/core-components@0.14.0 + +## 0.0.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.2 + - @backstage/frontend-plugin-api@0.6.0-next.3 + +## 0.0.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.14.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + ## 0.0.6-next.1 ### Patch Changes diff --git a/packages/app-next-example-plugin/knip-report.md b/packages/app-next-example-plugin/knip-report.md new file mode 100644 index 0000000000..e01cd18c93 --- /dev/null +++ b/packages/app-next-example-plugin/knip-report.md @@ -0,0 +1,9 @@ +# Knip report + +## Unused devDependencies (2) + +| Name | Location | Severity | +| :---------- | :----------- | :------- | +| cross-fetch | package.json | error | +| msw | package.json | error | + diff --git a/packages/app-next-example-plugin/package.json b/packages/app-next-example-plugin/package.json index 02c4a8fc9e..e0db94e6d7 100644 --- a/packages/app-next-example-plugin/package.json +++ b/packages/app-next-example-plugin/package.json @@ -1,7 +1,7 @@ { "name": "app-next-example-plugin", "description": "Backstage internal example plugin", - "version": "0.0.6-next.1", + "version": "0.0.6", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/app-next/CHANGELOG.md b/packages/app-next/CHANGELOG.md index 74f3baa8b6..89378b491d 100644 --- a/packages/app-next/CHANGELOG.md +++ b/packages/app-next/CHANGELOG.md @@ -1,5 +1,233 @@ # example-app-next +## 0.0.6 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-azure-devops@0.3.12 + - @backstage/frontend-plugin-api@0.6.0 + - @backstage/frontend-app-api@0.6.0 + - @backstage/plugin-scaffolder-react@1.8.0 + - @backstage/core-compat-api@0.2.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/plugin-catalog-import@0.10.6 + - @backstage/plugin-catalog-graph@0.4.0 + - @backstage/plugin-catalog@1.17.0 + - @backstage/plugin-azure-sites@0.1.19 + - @backstage/plugin-api-docs@0.11.0 + - @backstage/plugin-adr@0.6.13 + - @backstage/app-defaults@1.5.0 + - @backstage/plugin-gcp-projects@0.3.46 + - @backstage/plugin-airbrake@0.3.30 + - @backstage/plugin-scaffolder@1.18.0 + - @backstage/plugin-devtools@0.1.9 + - @backstage/cli@0.25.2 + - @backstage/core-components@0.14.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5 + - @backstage/plugin-kubernetes@0.11.5 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8 + - @backstage/plugin-microsoft-calendar@0.1.12 + - @backstage/plugin-github-actions@0.6.11 + - @backstage/plugin-octopus-deploy@0.2.12 + - @backstage/plugin-techdocs-react@1.1.16 + - @backstage/core-app-api@1.12.0 + - @backstage/plugin-code-coverage@0.2.23 + - @backstage/plugin-cost-insights@0.12.19 + - @backstage/plugin-tech-insights@0.3.22 + - @backstage/plugin-lighthouse@0.4.15 + - @backstage/plugin-tech-radar@0.6.13 + - @backstage/plugin-dynatrace@9.0.0 + - @backstage/plugin-shortcuts@0.3.19 + - @backstage/plugin-graphiql@0.3.3 + - @backstage/plugin-linguist@0.1.15 + - @backstage/plugin-newrelic@0.3.45 + - @backstage/plugin-jenkins@0.9.5 + - @backstage/plugin-rollbar@0.4.30 + - @backstage/plugin-badges@0.2.54 + - @backstage/plugin-sentry@0.5.15 + - @backstage/plugin-home@0.6.2 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-explore@0.4.16 + - @backstage/plugin-user-settings@0.8.1 + - @backstage/plugin-techdocs@1.10.0 + - @backstage/plugin-search@1.4.6 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-playlist@0.2.4 + - @backstage/plugin-apache-airflow@0.2.20 + - @backstage/plugin-cloudbuild@0.4.0 + - @backstage/plugin-entity-feedback@0.2.13 + - @backstage/plugin-gcalendar@0.3.23 + - @backstage/plugin-kafka@0.3.30 + - @backstage/plugin-newrelic-dashboard@0.3.5 + - @backstage/plugin-org@0.6.20 + - @backstage/plugin-pagerduty@0.7.2 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-puppetdb@0.1.13 + - @backstage/plugin-search-react@1.7.6 + - @backstage/plugin-stackstorm@0.1.11 + - @backstage/plugin-app-visualizer@0.1.1 + - app-next-example-plugin@0.0.6 + - @backstage/plugin-gocd@0.1.36 + - @backstage/plugin-todo@0.2.34 + - @backstage/integration-react@1.1.24 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.10 + +## 0.0.6-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-api-docs@0.11.0-next.3 + - @backstage/cli@0.25.2-next.3 + - @backstage/plugin-kubernetes@0.11.5-next.3 + - @backstage/theme@0.5.1-next.1 + - @backstage/plugin-playlist@0.2.4-next.3 + - @backstage/plugin-catalog@1.17.0-next.3 + - @backstage/frontend-app-api@0.6.0-next.3 + - @backstage/plugin-app-visualizer@0.1.1-next.3 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/plugin-gcp-projects@0.3.46-next.2 + - @backstage/plugin-scaffolder-react@1.8.0-next.3 + - @backstage/plugin-scaffolder@1.18.0-next.3 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.3 + - @backstage/plugin-home@0.6.2-next.3 + - @backstage/plugin-gcalendar@0.3.23-next.2 + - @backstage/plugin-microsoft-calendar@0.1.12-next.2 + - @backstage/plugin-techdocs@1.10.0-next.3 + - @backstage/plugin-catalog-import@0.10.6-next.3 + - @backstage/plugin-github-actions@0.6.11-next.3 + - @backstage/plugin-dynatrace@9.0.0-next.3 + - @backstage/app-defaults@1.5.0-next.3 + - app-next-example-plugin@0.0.6-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-compat-api@0.2.0-next.3 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.3 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/plugin-adr@0.6.13-next.3 + - @backstage/plugin-airbrake@0.3.30-next.3 + - @backstage/plugin-apache-airflow@0.2.20-next.2 + - @backstage/plugin-azure-devops@0.3.12-next.3 + - @backstage/plugin-azure-sites@0.1.19-next.3 + - @backstage/plugin-badges@0.2.54-next.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-catalog-graph@0.4.0-next.3 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.2 + - @backstage/plugin-cloudbuild@0.4.0-next.3 + - @backstage/plugin-code-coverage@0.2.23-next.3 + - @backstage/plugin-cost-insights@0.12.19-next.3 + - @backstage/plugin-devtools@0.1.9-next.3 + - @backstage/plugin-entity-feedback@0.2.13-next.3 + - @backstage/plugin-explore@0.4.16-next.3 + - @backstage/plugin-gocd@0.1.36-next.3 + - @backstage/plugin-graphiql@0.3.3-next.3 + - @backstage/plugin-jenkins@0.9.5-next.3 + - @backstage/plugin-kafka@0.3.30-next.3 + - @backstage/plugin-lighthouse@0.4.15-next.3 + - @backstage/plugin-linguist@0.1.15-next.3 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-newrelic@0.3.45-next.2 + - @backstage/plugin-newrelic-dashboard@0.3.5-next.3 + - @backstage/plugin-octopus-deploy@0.2.12-next.3 + - @backstage/plugin-org@0.6.20-next.3 + - @backstage/plugin-pagerduty@0.7.2-next.3 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-puppetdb@0.1.13-next.3 + - @backstage/plugin-rollbar@0.4.30-next.3 + - @backstage/plugin-search@1.4.6-next.3 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + - @backstage/plugin-sentry@0.5.15-next.3 + - @backstage/plugin-shortcuts@0.3.19-next.2 + - @backstage/plugin-stackstorm@0.1.11-next.2 + - @backstage/plugin-tech-insights@0.3.22-next.3 + - @backstage/plugin-tech-radar@0.6.13-next.3 + - @backstage/plugin-techdocs-react@1.1.16-next.2 + - @backstage/plugin-todo@0.2.34-next.3 + - @backstage/plugin-user-settings@0.8.1-next.3 + +## 0.0.6-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-azure-devops@0.3.12-next.2 + - @backstage/plugin-azure-sites@0.1.19-next.2 + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-catalog-graph@0.4.0-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.1 + - @backstage/plugin-microsoft-calendar@0.1.12-next.1 + - @backstage/plugin-catalog-import@0.10.6-next.2 + - @backstage/plugin-github-actions@0.6.11-next.2 + - @backstage/plugin-octopus-deploy@0.2.12-next.2 + - @backstage/plugin-techdocs-react@1.1.16-next.1 + - @backstage/app-defaults@1.5.0-next.2 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/plugin-code-coverage@0.2.23-next.2 + - @backstage/plugin-cost-insights@0.12.19-next.2 + - @backstage/plugin-tech-insights@0.3.22-next.2 + - @backstage/plugin-lighthouse@0.4.15-next.2 + - @backstage/plugin-scaffolder@1.18.0-next.2 + - @backstage/plugin-tech-radar@0.6.13-next.2 + - @backstage/plugin-dynatrace@9.0.0-next.2 + - @backstage/plugin-shortcuts@0.3.19-next.1 + - @backstage/plugin-airbrake@0.3.30-next.2 + - @backstage/plugin-api-docs@0.10.4-next.2 + - @backstage/plugin-devtools@0.1.9-next.2 + - @backstage/plugin-graphiql@0.3.3-next.2 + - @backstage/plugin-linguist@0.1.15-next.2 + - @backstage/plugin-newrelic@0.3.45-next.1 + - @backstage/plugin-catalog@1.17.0-next.2 + - @backstage/plugin-jenkins@0.9.5-next.2 + - @backstage/plugin-rollbar@0.4.30-next.2 + - @backstage/plugin-badges@0.2.54-next.2 + - @backstage/plugin-sentry@0.5.15-next.2 + - @backstage/plugin-home@0.6.2-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/frontend-plugin-api@0.6.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/frontend-app-api@0.6.0-next.2 + - @backstage/plugin-adr@0.6.13-next.2 + - @backstage/plugin-apache-airflow@0.2.20-next.1 + - @backstage/plugin-cloudbuild@0.4.0-next.2 + - @backstage/plugin-entity-feedback@0.2.13-next.2 + - @backstage/plugin-explore@0.4.16-next.2 + - @backstage/plugin-gcalendar@0.3.23-next.1 + - @backstage/plugin-kafka@0.3.30-next.2 + - @backstage/plugin-kubernetes@0.11.5-next.2 + - @backstage/plugin-newrelic-dashboard@0.3.5-next.2 + - @backstage/plugin-org@0.6.20-next.2 + - @backstage/plugin-pagerduty@0.7.2-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-playlist@0.2.4-next.2 + - @backstage/plugin-puppetdb@0.1.13-next.2 + - @backstage/plugin-scaffolder-react@1.8.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/plugin-search@1.4.6-next.2 + - @backstage/plugin-stackstorm@0.1.11-next.1 + - @backstage/plugin-techdocs@1.10.0-next.2 + - @backstage/plugin-user-settings@0.8.1-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/cli@0.25.2-next.2 + - app-next-example-plugin@0.0.6-next.2 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/plugin-app-visualizer@0.1.1-next.2 + - @backstage/plugin-gcp-projects@0.3.46-next.1 + - @backstage/plugin-gocd@0.1.36-next.2 + - @backstage/plugin-todo@0.2.34-next.2 + - @backstage/core-compat-api@0.2.0-next.2 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.10 + ## 0.0.6-next.1 ### Patch Changes diff --git a/packages/app-next/app-config.yaml b/packages/app-next/app-config.yaml index b07f556742..408b08acee 100644 --- a/packages/app-next/app-config.yaml +++ b/packages/app-next/app-config.yaml @@ -1,6 +1,7 @@ app: experimental: packages: 'all' # ✨ + routes: bindings: catalog.viewTechDoc: techdocs.docRoot @@ -11,6 +12,7 @@ app: # - apis.plugin.graphiql.browse.gitlab: true - graphiql-endpoint:graphiql/gitlab: true + # Entity page cards - entity-card:catalog/about - entity-card:catalog/labels - entity-card:catalog/links: @@ -21,11 +23,20 @@ app: config: height: 300 - entity-card:azure-devops/readme + - entity-card:api-docs/has-apis + - entity-card:api-docs/consumed-apis + - entity-card:api-docs/provided-apis + - entity-card:api-docs/providing-components + - entity-card:api-docs/consuming-components + + # - entity-card:azure-devops/readme # Entity page content + - entity-content:api-docs/definition + - entity-content:api-docs/apis - entity-content:techdocs - - entity-content:azure-devops/pipelines - - entity-content:azure-devops/pull-requests - - entity-content:azure-devops/git-tags + # - entity-content:azure-devops/pipelines + # - entity-content:azure-devops/pull-requests + # - entity-content:azure-devops/git-tags # Org Plugin - entity-card:org/group-profile diff --git a/packages/app-next/knip-report.md b/packages/app-next/knip-report.md new file mode 100644 index 0000000000..78d11bdebd --- /dev/null +++ b/packages/app-next/knip-report.md @@ -0,0 +1,81 @@ +# Knip report + +## Unused dependencies (63) + +| Name | Location | Severity | +| :----------------------------------------------- | :----------- | :------- | +| @backstage/plugin-techdocs-module-addons-contrib | package.json | error | +| @roadiehq/backstage-plugin-github-pull-requests | package.json | error | +| @backstage/plugin-catalog-unprocessed-entities | package.json | error | +| @roadiehq/backstage-plugin-github-insights | package.json | error | +| @oriflame/backstage-plugin-score-card | package.json | error | +| @backstage/plugin-newrelic-dashboard | package.json | error | +| @roadiehq/backstage-plugin-buildkite | package.json | error | +| @roadiehq/backstage-plugin-travis-ci | package.json | error | +| @backstage/plugin-permission-react | package.json | error | +| @backstage/plugin-scaffolder-react | package.json | error | +| @backstage/plugin-entity-feedback | package.json | error | +| @backstage/plugin-linguist-common | package.json | error | +| @backstage/plugin-apache-airflow | package.json | error | +| @backstage/plugin-catalog-common | package.json | error | +| @backstage/plugin-github-actions | package.json | error | +| @backstage/plugin-octopus-deploy | package.json | error | +| @backstage/plugin-techdocs-react | package.json | error | +| @backstage/plugin-catalog-graph | package.json | error | +| @backstage/plugin-catalog-react | package.json | error | +| @backstage/plugin-code-coverage | package.json | error | +| @backstage/plugin-cost-insights | package.json | error | +| @backstage/plugin-search-common | package.json | error | +| @backstage/plugin-tech-insights | package.json | error | +| @backstage/plugin-azure-devops | package.json | error | +| @backstage/plugin-gcp-projects | package.json | error | +| @backstage/plugin-search-react | package.json | error | +| @backstage/plugin-azure-sites | package.json | error | +| @backstage/plugin-cloudbuild | package.json | error | +| @backstage/plugin-kubernetes | package.json | error | +| @backstage/plugin-lighthouse | package.json | error | +| @backstage/plugin-scaffolder | package.json | error | +| @backstage/plugin-stackstorm | package.json | error | +| @backstage/plugin-dynatrace | package.json | error | +| @backstage/plugin-shortcuts | package.json | error | +| @backstage/plugin-airbrake | package.json | error | +| @backstage/plugin-api-docs | package.json | error | +| @backstage/plugin-devtools | package.json | error | +| @backstage/plugin-linguist | package.json | error | +| @backstage/plugin-newrelic | package.json | error | +| @backstage/plugin-playlist | package.json | error | +| @backstage/plugin-puppetdb | package.json | error | +| @circleci/backstage-plugin | package.json | error | +| @backstage/plugin-catalog | package.json | error | +| @backstage/plugin-explore | package.json | error | +| @backstage/plugin-jenkins | package.json | error | +| @backstage/plugin-rollbar | package.json | error | +| @backstage/catalog-model | package.json | error | +| @backstage/plugin-badges | package.json | error | +| @backstage/plugin-search | package.json | error | +| @backstage/plugin-sentry | package.json | error | +| @backstage/app-defaults | package.json | error | +| @backstage/plugin-kafka | package.json | error | +| app-next-example-plugin | package.json | error | +| @backstage/plugin-gocd | package.json | error | +| @backstage/plugin-todo | package.json | error | +| @backstage/plugin-adr | package.json | error | +| @backstage/plugin-org | package.json | error | +| @material-ui/lab | package.json | error | +| zen-observable | package.json | error | +| @octokit/rest | package.json | error | +| react-use | package.json | error | +| history | package.json | error | +| lodash | package.json | error | + +## Unused devDependencies (6) + +| Name | Location | Severity | +| :-------------------------- | :----------- | :------- | +| @testing-library/user-event | package.json | error | +| @testing-library/react | package.json | error | +| @types/zen-observable | package.json | error | +| @testing-library/dom | package.json | error | +| @types/jquery | package.json | error | +| cross-env | package.json | error | + diff --git a/packages/app-next/package.json b/packages/app-next/package.json index 3907661e5f..bd3db0d1c9 100644 --- a/packages/app-next/package.json +++ b/packages/app-next/package.json @@ -1,7 +1,12 @@ { "name": "example-app-next", - "version": "0.0.6-next.1", + "version": "0.0.6", "private": true, + "repository": { + "type": "git", + "url": "https://github.com/backstage/backstage", + "directory": "packages/app-next" + }, "backstage": { "role": "frontend" }, diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 107eaba754..766214cb2d 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,239 @@ # example-app +## 0.2.92 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-azure-devops@0.3.12 + - @backstage/frontend-app-api@0.6.0 + - @backstage/plugin-scaffolder-react@1.8.0 + - @backstage/plugin-catalog-react@1.10.0 + - @backstage/plugin-catalog-import@0.10.6 + - @backstage/plugin-catalog-graph@0.4.0 + - @backstage/plugin-catalog@1.17.0 + - @backstage/plugin-azure-sites@0.1.19 + - @backstage/plugin-api-docs@0.11.0 + - @backstage/plugin-adr@0.6.13 + - @backstage/app-defaults@1.5.0 + - @backstage/plugin-gcp-projects@0.3.46 + - @backstage/plugin-airbrake@0.3.30 + - @backstage/plugin-scaffolder@1.18.0 + - @backstage/plugin-devtools@0.1.9 + - @backstage/cli@0.25.2 + - @backstage/core-components@0.14.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5 + - @backstage/plugin-signals@0.0.1 + - @backstage/plugin-kubernetes@0.11.5 + - @backstage/plugin-notifications@0.0.1 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8 + - @backstage/plugin-microsoft-calendar@0.1.12 + - @backstage/plugin-github-actions@0.6.11 + - @backstage/plugin-octopus-deploy@0.2.12 + - @backstage/plugin-techdocs-react@1.1.16 + - @backstage/core-app-api@1.12.0 + - @backstage/plugin-code-coverage@0.2.23 + - @backstage/plugin-cost-insights@0.12.19 + - @backstage/plugin-tech-insights@0.3.22 + - @backstage/plugin-lighthouse@0.4.15 + - @backstage/plugin-tech-radar@0.6.13 + - @backstage/plugin-dynatrace@9.0.0 + - @backstage/plugin-shortcuts@0.3.19 + - @backstage/plugin-graphiql@0.3.3 + - @backstage/plugin-linguist@0.1.15 + - @backstage/plugin-newrelic@0.3.45 + - @backstage/plugin-jenkins@0.9.5 + - @backstage/plugin-rollbar@0.4.30 + - @backstage/plugin-badges@0.2.54 + - @backstage/plugin-sentry@0.5.15 + - @backstage/plugin-nomad@0.1.11 + - @backstage/plugin-home@0.6.2 + - @backstage/catalog-model@1.4.4 + - @backstage/plugin-explore@0.4.16 + - @backstage/plugin-user-settings@0.8.1 + - @backstage/plugin-techdocs@1.10.0 + - @backstage/plugin-search@1.4.6 + - @backstage/theme@0.5.1 + - @backstage/core-plugin-api@1.9.0 + - @backstage/plugin-playlist@0.2.4 + - @backstage/plugin-apache-airflow@0.2.20 + - @backstage/plugin-cloudbuild@0.4.0 + - @backstage/plugin-entity-feedback@0.2.13 + - @backstage/plugin-gcalendar@0.3.23 + - @backstage/plugin-kafka@0.3.30 + - @backstage/plugin-kubernetes-cluster@0.0.6 + - @backstage/plugin-newrelic-dashboard@0.3.5 + - @backstage/plugin-org@0.6.20 + - @backstage/plugin-pagerduty@0.7.2 + - @backstage/plugin-permission-react@0.4.20 + - @backstage/plugin-puppetdb@0.1.13 + - @backstage/plugin-search-react@1.7.6 + - @backstage/plugin-stack-overflow@0.1.25 + - @backstage/plugin-stackstorm@0.1.11 + - @backstage/plugin-gocd@0.1.36 + - @backstage/plugin-todo@0.2.34 + - @backstage/config@1.1.1 + - @backstage/integration-react@1.1.24 + - @backstage/plugin-catalog-common@1.0.21 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.10 + +## 0.2.92-next.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-api-docs@0.11.0-next.3 + - @backstage/cli@0.25.2-next.3 + - @backstage/plugin-kubernetes@0.11.5-next.3 + - @backstage/theme@0.5.1-next.1 + - @backstage/plugin-playlist@0.2.4-next.3 + - @backstage/plugin-catalog@1.17.0-next.3 + - @backstage/frontend-app-api@0.6.0-next.3 + - @backstage/plugin-notifications@0.0.1-next.1 + - @backstage/plugin-signals@0.0.1-next.3 + - @backstage/core-components@0.14.0-next.2 + - @backstage/plugin-catalog-react@1.10.0-next.3 + - @backstage/plugin-gcp-projects@0.3.46-next.2 + - @backstage/plugin-scaffolder-react@1.8.0-next.3 + - @backstage/plugin-scaffolder@1.18.0-next.3 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.3 + - @backstage/plugin-home@0.6.2-next.3 + - @backstage/plugin-gcalendar@0.3.23-next.2 + - @backstage/plugin-microsoft-calendar@0.1.12-next.2 + - @backstage/plugin-techdocs@1.10.0-next.3 + - @backstage/plugin-catalog-import@0.10.6-next.3 + - @backstage/plugin-github-actions@0.6.11-next.3 + - @backstage/plugin-dynatrace@9.0.0-next.3 + - @backstage/plugin-kubernetes-cluster@0.0.6-next.3 + - @backstage/app-defaults@1.5.0-next.3 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/config@1.1.1 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/integration-react@1.1.24-next.2 + - @backstage/plugin-adr@0.6.13-next.3 + - @backstage/plugin-airbrake@0.3.30-next.3 + - @backstage/plugin-apache-airflow@0.2.20-next.2 + - @backstage/plugin-azure-devops@0.3.12-next.3 + - @backstage/plugin-azure-sites@0.1.19-next.3 + - @backstage/plugin-badges@0.2.54-next.3 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-catalog-graph@0.4.0-next.3 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.2 + - @backstage/plugin-cloudbuild@0.4.0-next.3 + - @backstage/plugin-code-coverage@0.2.23-next.3 + - @backstage/plugin-cost-insights@0.12.19-next.3 + - @backstage/plugin-devtools@0.1.9-next.3 + - @backstage/plugin-entity-feedback@0.2.13-next.3 + - @backstage/plugin-explore@0.4.16-next.3 + - @backstage/plugin-gocd@0.1.36-next.3 + - @backstage/plugin-graphiql@0.3.3-next.3 + - @backstage/plugin-jenkins@0.9.5-next.3 + - @backstage/plugin-kafka@0.3.30-next.3 + - @backstage/plugin-lighthouse@0.4.15-next.3 + - @backstage/plugin-linguist@0.1.15-next.3 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-newrelic@0.3.45-next.2 + - @backstage/plugin-newrelic-dashboard@0.3.5-next.3 + - @backstage/plugin-nomad@0.1.11-next.3 + - @backstage/plugin-octopus-deploy@0.2.12-next.3 + - @backstage/plugin-org@0.6.20-next.3 + - @backstage/plugin-pagerduty@0.7.2-next.3 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-puppetdb@0.1.13-next.3 + - @backstage/plugin-rollbar@0.4.30-next.3 + - @backstage/plugin-search@1.4.6-next.3 + - @backstage/plugin-search-common@1.2.10 + - @backstage/plugin-search-react@1.7.6-next.3 + - @backstage/plugin-sentry@0.5.15-next.3 + - @backstage/plugin-shortcuts@0.3.19-next.2 + - @backstage/plugin-stack-overflow@0.1.25-next.3 + - @backstage/plugin-stackstorm@0.1.11-next.2 + - @backstage/plugin-tech-insights@0.3.22-next.3 + - @backstage/plugin-tech-radar@0.6.13-next.3 + - @backstage/plugin-techdocs-react@1.1.16-next.2 + - @backstage/plugin-todo@0.2.34-next.3 + - @backstage/plugin-user-settings@0.8.1-next.3 + +## 0.2.92-next.2 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-azure-devops@0.3.12-next.2 + - @backstage/plugin-azure-sites@0.1.19-next.2 + - @backstage/core-components@0.14.0-next.1 + - @backstage/plugin-catalog-graph@0.4.0-next.2 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.2 + - @backstage/plugin-signals@0.0.1-next.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.1 + - @backstage/plugin-microsoft-calendar@0.1.12-next.1 + - @backstage/plugin-catalog-import@0.10.6-next.2 + - @backstage/plugin-github-actions@0.6.11-next.2 + - @backstage/plugin-octopus-deploy@0.2.12-next.2 + - @backstage/plugin-techdocs-react@1.1.16-next.1 + - @backstage/app-defaults@1.5.0-next.2 + - @backstage/core-app-api@1.12.0-next.1 + - @backstage/plugin-code-coverage@0.2.23-next.2 + - @backstage/plugin-cost-insights@0.12.19-next.2 + - @backstage/plugin-tech-insights@0.3.22-next.2 + - @backstage/plugin-lighthouse@0.4.15-next.2 + - @backstage/plugin-scaffolder@1.18.0-next.2 + - @backstage/plugin-tech-radar@0.6.13-next.2 + - @backstage/plugin-dynatrace@9.0.0-next.2 + - @backstage/plugin-shortcuts@0.3.19-next.1 + - @backstage/plugin-airbrake@0.3.30-next.2 + - @backstage/plugin-api-docs@0.10.4-next.2 + - @backstage/plugin-devtools@0.1.9-next.2 + - @backstage/plugin-graphiql@0.3.3-next.2 + - @backstage/plugin-linguist@0.1.15-next.2 + - @backstage/plugin-newrelic@0.3.45-next.1 + - @backstage/plugin-catalog@1.17.0-next.2 + - @backstage/plugin-jenkins@0.9.5-next.2 + - @backstage/plugin-rollbar@0.4.30-next.2 + - @backstage/plugin-badges@0.2.54-next.2 + - @backstage/plugin-sentry@0.5.15-next.2 + - @backstage/plugin-nomad@0.1.11-next.2 + - @backstage/plugin-home@0.6.2-next.2 + - @backstage/core-plugin-api@1.9.0-next.1 + - @backstage/plugin-catalog-react@1.10.0-next.2 + - @backstage/frontend-app-api@0.6.0-next.2 + - @backstage/plugin-adr@0.6.13-next.2 + - @backstage/plugin-apache-airflow@0.2.20-next.1 + - @backstage/plugin-cloudbuild@0.4.0-next.2 + - @backstage/plugin-entity-feedback@0.2.13-next.2 + - @backstage/plugin-explore@0.4.16-next.2 + - @backstage/plugin-gcalendar@0.3.23-next.1 + - @backstage/plugin-kafka@0.3.30-next.2 + - @backstage/plugin-kubernetes-cluster@0.0.6-next.2 + - @backstage/plugin-kubernetes@0.11.5-next.2 + - @backstage/plugin-newrelic-dashboard@0.3.5-next.2 + - @backstage/plugin-org@0.6.20-next.2 + - @backstage/plugin-pagerduty@0.7.2-next.2 + - @backstage/plugin-permission-react@0.4.20-next.1 + - @backstage/plugin-playlist@0.2.4-next.2 + - @backstage/plugin-puppetdb@0.1.13-next.2 + - @backstage/plugin-scaffolder-react@1.8.0-next.2 + - @backstage/plugin-search-react@1.7.6-next.2 + - @backstage/plugin-search@1.4.6-next.2 + - @backstage/plugin-stack-overflow@0.1.25-next.2 + - @backstage/plugin-stackstorm@0.1.11-next.1 + - @backstage/plugin-techdocs@1.10.0-next.2 + - @backstage/plugin-user-settings@0.8.1-next.2 + - @backstage/theme@0.5.1-next.0 + - @backstage/cli@0.25.2-next.2 + - @backstage/plugin-notifications@0.0.1-next.0 + - @backstage/integration-react@1.1.24-next.1 + - @backstage/plugin-gcp-projects@0.3.46-next.1 + - @backstage/plugin-gocd@0.1.36-next.2 + - @backstage/plugin-todo@0.2.34-next.2 + - @backstage/config@1.1.1 + - @backstage/catalog-model@1.4.4-next.0 + - @backstage/plugin-catalog-common@1.0.21-next.0 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.10 + ## 0.2.92-next.1 ### Patch Changes diff --git a/packages/app/knip-report.md b/packages/app/knip-report.md new file mode 100644 index 0000000000..118f6f14e0 --- /dev/null +++ b/packages/app/knip-report.md @@ -0,0 +1,37 @@ +# Knip report + +## Unused dependencies (14) + +| Name | Location | Severity | +| :-------------------------------- | :----------- | :------- | +| @backstage/plugin-linguist-common | package.json | error | +| @backstage/plugin-search-common | package.json | error | +| @backstage/plugin-azure-sites | package.json | error | +| @backstage/frontend-app-api | package.json | error | +| @backstage/plugin-airbrake | package.json | error | +| vite-plugin-node-polyfills | package.json | error | +| @vitejs/plugin-react | package.json | error | +| @material-ui/lab | package.json | error | +| vite-plugin-html | package.json | error | +| zen-observable | package.json | error | +| @octokit/rest | package.json | error | +| react-router | package.json | error | +| history | package.json | error | +| vite | package.json | error | + +## Unused devDependencies (5) + +| Name | Location | Severity | +| :-------------------------- | :----------- | :------- | +| @testing-library/user-event | package.json | error | +| @types/zen-observable | package.json | error | +| @testing-library/dom | package.json | error | +| @types/jquery | package.json | error | +| cross-env | package.json | error | + +## Unlisted dependencies (1) + +| Name | Location | Severity | +| :---------- | :------------------------------------------------------- | :------- | +| @rjsf/utils | src/components/scaffolder/customScaffolderExtensions.tsx | error | + diff --git a/packages/app/package.json b/packages/app/package.json index 769a28eec1..7936db0090 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "example-app", - "version": "0.2.92-next.1", + "version": "0.2.92", "private": true, "backstage": { "role": "frontend" @@ -105,7 +105,7 @@ "react-use": "^17.2.4", "vite": "^4.4.9", "vite-plugin-html": "^3.2.0", - "vite-plugin-node-polyfills": "^0.19.0", + "vite-plugin-node-polyfills": "^0.21.0", "zen-observable": "^0.10.0" }, "devDependencies": { diff --git a/packages/app/public/index.html b/packages/app/public/index.html index a3c3ef19b8..231e96b309 100644 --- a/packages/app/public/index.html +++ b/packages/app/public/index.html @@ -41,7 +41,7 @@ href="<%= publicPath %>/safari-pinned-tab.svg" color="#5bbad5" /> - <%= config.getString('app.title') %> + <%= config.getOptionalString('app.title') ?? 'Backstage' %> <% if (config.has('app.datadogRum')) { %>