# Release v1.37.0 Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.37.0](https://backstage.github.io/upgrade-helper/?to=1.37.0) ## @backstage/plugin-search-backend@2.0.0 ### Major Changes - d5c4a9d: **BREAKING** Removed support for the legacy backend system and references to `@backstage/backend-common`, please migrate to the new backend system. ### Patch Changes - Updated dependencies - @backstage/backend-defaults@0.8.2 - @backstage/plugin-permission-node@0.9.0 - @backstage/backend-openapi-utils@0.5.1 - @backstage/backend-plugin-api@1.2.1 - @backstage/config@1.3.2 - @backstage/errors@1.2.7 - @backstage/types@1.2.1 - @backstage/plugin-permission-common@0.8.4 - @backstage/plugin-search-backend-node@1.3.9 - @backstage/plugin-search-common@1.2.17 ## @backstage/plugin-techdocs-backend@2.0.0 ### Major Changes - d5c4a9d: **BREAKING** Removed support for the legacy backend, please migrate to the new backend system. Also removed deprecated `DefaultTechDocsCollatorFactory`. Use the `@backstage/plugin-search-backend-module-techdocs` for this instead. Finally, deprecated `DocsBuildStrategy` and `TechDocsDocument` were removed, use the versions in `@backstage/plugin-techdocs-node` instead. ### Patch Changes - 7828186: Minor type fix - 8f03776: Properly clean up temporary files on build failures - Updated dependencies - @backstage/plugin-search-backend-module-techdocs@0.4.0 - @backstage/integration@1.16.2 - @backstage/backend-defaults@0.8.2 - @backstage/plugin-techdocs-node@1.13.1 - @backstage/backend-plugin-api@1.2.1 - @backstage/catalog-client@1.9.1 - @backstage/catalog-model@1.7.3 - @backstage/config@1.3.2 - @backstage/errors@1.2.7 - @backstage/plugin-catalog-common@1.1.3 - @backstage/plugin-catalog-node@1.16.1 - @backstage/plugin-permission-common@0.8.4 - @backstage/plugin-techdocs-common@0.1.0 ## @backstage/app-defaults@1.6.0 ### Minor Changes - 12f8e01: **BREAKING**: The default `DiscoveryApi` implementation has been switched to use `FrontendHostDiscovery`, which adds support for the `discovery.endpoints` configuration. This is marked as a breaking change because it will cause any existing `discovery.endpoints` configuration to be picked up and used, which may break existing setups. For example, consider the following configuration: ```yaml app: baseUrl: https://backstage.acme.org backend: baseUrl: https://backstage.internal.acme.org discovery: endpoints: - target: https://catalog.internal.acme.org/api/{{pluginId}} plugins: [catalog] ``` This will now cause requests from the frontend towards the `catalog` plugin to be routed to `https://catalog.internal.acme.org/api/catalog`, but this might not be reachable from the frontend. To fix this, you should update the `discovery.endpoints` configuration to only override the internal URL of the plugin: ```yaml discovery: endpoints: - target: internal: https://catalog.internal.acme.org/api/{{pluginId}} plugins: [catalog] ``` ### Patch Changes - Updated dependencies - @backstage/core-components@0.17.0 - @backstage/core-plugin-api@1.10.5 - @backstage/core-app-api@1.16.0 - @backstage/plugin-permission-react@0.4.32 - @backstage/theme@0.6.4 ## @backstage/canon@0.2.0 ### Minor Changes - 5a5db29: Fix CSS imports and move CSS outputs out of the dist folder. - 4557beb: Added a new Tooltip component to Canon. - 1e4dfdb: We added a new IconButton component with fixed sizes showcasing a single icon. - e8d12f9: Added about 40 new icons to Canon. - 8689010: We are renaming CanonProvider to IconProvider to improve clarity on how to override icons. - bf319b7: Added a new Menu component to Canon. - cb7e99d: Updating styles for Text and Link components as well as global surface tokens. - bd8520d: Added a new ScrollArea component for Canon. ### Patch Changes - 56850ca: Fix Button types that was preventing the use of native attributes like onClick. - 89e8686: To avoid conflicts with Backstage, we removed global styles and set font-family and font-weight for each components. - 05e9d41: Introducing Canon to Backstage. Canon styling system is based on pure CSS. We are adding our styles.css at the top of your Backstage instance. ## @backstage/cli@0.31.0 ### Minor Changes - 5b70679: **BREAKING**: ESLint warnings no longer trigger system exit codes like errors do. Set the max number of warnings to `-1` during linting to enable the gradual adoption of new ESLint rules. To restore the previous behavior, include the `--max-warnings 0` flag in the `backstage-cli lint` command. ### Patch Changes - 0586d4c: Internal change to move the `migrate` and `version:*` commands into a new migrate module. - e0b226b: build(deps): bump `esbuild` from 0.24.2 to 0.25.0 - 4d45498: Fixed the package prepack command so that it no longer produces unnecessary `index` entries in the `typesVersions` map, which could cause `/index` to be added when automatically adding imports. - 485b3ba: Internal update to move `test` commands to a separate module. - a76c482: Internal change to migrate `lint` to the new module system. - 8df78bf: Internal update to move build commands to a CLI module. - d0fc357: Internal update to move `info` commands to a separate module. - f8bd342: Fix a bug in the translation of the deprecated `--scope` option for the `new` command that could cause plugins to have `backstage-backstage-plugin` in their name. - Updated dependencies - @backstage/config-loader@1.10.0 - @backstage/integration@1.16.2 - @backstage/catalog-model@1.7.3 - @backstage/cli-common@0.1.15 - @backstage/cli-node@0.2.13 - @backstage/config@1.3.2 - @backstage/errors@1.2.7 - @backstage/eslint-plugin@0.1.10 - @backstage/release-manifests@0.0.12 - @backstage/types@1.2.1 ## @backstage/config-loader@1.10.0 ### Minor Changes - 2fd73aa: The include transforms applied during config loading will now only apply to the known keys `$file`, `$env`, and `$include`. Any other key that begins with a \`# @backstage/config-loader will now be passed through as is. ### Patch Changes - f422984: Added `@types/minimist` to `devDependencies` - Updated dependencies - @backstage/cli-common@0.1.15 - @backstage/config@1.3.2 - @backstage/errors@1.2.7 - @backstage/types@1.2.1 ## @backstage/core-app-api@1.16.0 ### Minor Changes - 9262001: The default auth injection middleware for the `FetchApi` will now also take configuration under `discovery.endpoints` into consideration when deciding whether to include credentials or not. - 12f8e01: The `discovery.endpoints` configuration no longer requires both `internal` and `external` target when using the object form, instead falling back to the default. ### Patch Changes - Updated dependencies - @backstage/core-plugin-api@1.10.5 - @backstage/config@1.3.2 - @backstage/types@1.2.1 - @backstage/version-bridge@1.0.11 ## @backstage/core-compat-api@0.4.0 ### Minor Changes - 8250ffe: **BREAKING**: Dropped support for the removed opaque `@backstage/ExtensionOverrides` and `@backstage/BackstagePlugin` types. ### Patch Changes - cbe6177: Improved route path normalization when converting existing route elements in `converLegacyApp`, for example handling trailing `/*` in paths. - d34e0e5: Added a new `convertLegacyAppOptions` helper that converts many of the options passed to `createApp` in the old frontend system to a module with app overrides for the new system. The supported options are `apis`, `icons`, `plugins`, `components`, and `themes`. For example, given the following options for the old `createApp`: ```ts import { createApp } from '@backstage/app-deafults'; const app = createApp({ apis, plugins, icons: { custom: MyIcon, }, components: { SignInPage: MySignInPage, }, themes: [myTheme], }); ``` They can be converted to the new system like this: ```ts import { createApp } from '@backstage/frontend-deafults'; import { convertLegacyAppOptions } from '@backstage/core-compat-api'; const app = createApp({ features: [ convertLegacyAppOptions({ apis, plugins, icons: { custom: MyIcon, }, components: { SignInPage: MySignInPage, }, themes: [myTheme], }), ], }); ``` - e7fab55: Added the `entityPage` option to `convertLegacyApp`, which you can read more about in the [app migration docs](https://backstage.io/docs/frontend-system/building-apps/migrating#entity-pages). - 18faf65: The `convertLegacyApp` has received the following changes: - `null` routes will now be ignored. - Converted routes no longer need to belong to a plugin, falling back to a `converted-orphan-routes` plugin instead. - The generate layout override extension is now properly attached to the `app/root` extension. - Converted root elements are now automatically wrapped with `compatWrapper`. - Updated dependencies - @backstage/core-plugin-api@1.10.5 - @backstage/frontend-plugin-api@0.10.0 - @backstage/plugin-catalog-react@1.16.0 - @backstage/version-bridge@1.0.11 ## @backstage/core-components@0.17.0 ### Minor Changes - 25300cb: `SimpleStepper` back button now works with `activeStep` property set higher than 0 - 9545af2: Declared CancelIcon explicitly on Chip component inside Select.tsx to disable onMouseDown event by default that creates the flaw of re-opening select component when user tries to remove a selected filter. ### Patch Changes - fffe3c0: Added `classNames` prop to the `Page` component - df3b9f0: Fixed a bug in the SidebarSubmenuItem within the core-components package that caused the dropdown button to be misaligned in the sidebar and the button text to appear in uppercase due to the default