Back to Backstage

Release v1.15.0

docs/releases/v1.15.0-changelog.md

1.51.0-next.292.4 KB
Original Source

Release v1.15.0

@backstage/[email protected]

Minor Changes

  • 1fd38bc4141a: Material UI v5 Support: Adding platform-wide support for Material UI v5 allowing a transition phase for migrating central plugins & components over. We still support v4 instances & plugins by adding a

    To allow the future support of plugins & components using Material UI v5 you want to upgrade your AppTheme's to using the UnifiedThemeProvider

    diff
         Provider: ({ children }) => (
    -    <ThemeProvider theme={lightTheme}>
    -      <CssBaseline>{children}</CssBaseline>
    -    </ThemeProvider>
    +    <UnifiedThemeProvider theme={builtinThemes.light} children={children} />
         ),
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • c7f848bcea3c: Support authentication with a service principal or managed identity for Azure DevOps

    Azure DevOps recently released support, in public preview, for authenticating with a service principal or managed identity instead of a personal access token (PAT): https://devblogs.microsoft.com/devops/introducing-service-principal-and-managed-identity-support-on-azure-devops/. With this change the Azure integration now supports service principals and managed identities for Azure AD backed Azure DevOps organizations. Service principal and managed identity authentication is not supported on Azure DevOps Server (on-premises) organizations.

Patch Changes

  • 4ef91ab46732: Updated the backend database connection configuration schema to set the password visibility to secret

  • 52d599817680: Changed the default backend CacheClient to an in-memory cache when not explicitly configured.

    Explicit configuration of an in-memory cache can be removed from app-config.yaml, as this is now the default:

    diff
    backend:
    -  cache:
    -    store: memory
    
  • 5f2c38c70f5b: Fix SNYK-JS-FASTXMLPARSER-5668858 (fast-xml-parser) by upgrading aws-sdk to at least the current latest version.

  • eeb3f801fddf: HostDiscovery now strips trailing slashes in the backend.baseUrl config.

  • 9f47a743632c: Fixed typo in HostDiscovery's JSDoc

  • 810c6de51604: Remove unused dev dependency aws-sdk-mock.

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 33eae4b39a95: Deprecate target field and make targetRef required in common.schema.json

Patch Changes

@backstage/[email protected]

Minor Changes

  • c4e8fefd9f13: Added ServiceUnavailableError

Patch Changes

@backstage/[email protected]

Minor Changes

  • a316d226c780: Add credential provider for GitLab.

  • c7f848bcea3c: Support authentication with a service principal or managed identity for Azure DevOps

    Azure DevOps recently released support, in public preview, for authenticating with a service principal or managed identity instead of a personal access token (PAT): https://devblogs.microsoft.com/devops/introducing-service-principal-and-managed-identity-support-on-azure-devops/. With this change the Azure integration now supports service principals and managed identities for Azure AD backed Azure DevOps organizations. Service principal and managed identity authentication is not supported on Azure DevOps Server (on-premises) organizations.

Patch Changes

  • 3c83550fdb62: Renamed ClientSecret to AzureClientSecretCredential and ManagedIdentity to AzureManagedIdentityCredential

  • df8411779da1: Add support for Repository Variables and Secrets to the publish:github and github:repo:create scaffolder actions. You will need to add read/write permissions to your GITHUB_TOKEN and/or Github Backstage App for Repository Secrets and Variables

    Upgrade octokit introduces some breaking changes.

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 1fd38bc4141a: Test App Wrapper is now using UnifiedThemeProvider for supporting Material UI v5 next to Material UI v4 in tests.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 1fd38bc4141a: Material UI v5 Support: Adding platform-wide support for Material UI v5 allowing a transition phase for migrating central plugins & components over. We still support v4 instances & plugins by adding a

    To allow the future support of plugins & components using Material UI v5 you want to upgrade your AppTheme's to using the UnifiedThemeProvider

    diff
         Provider: ({ children }) => (
    -    <ThemeProvider theme={lightTheme}>
    -      <CssBaseline>{children}</CssBaseline>
    -    </ThemeProvider>
    +    <UnifiedThemeProvider theme={builtinThemes.light} children={children} />
         ),
    

Patch Changes

  • 5065a5e8ebd6: Tweaked UnifiedThemeProvider to avoid overlapping JSS class names in production.

@backstage/[email protected]

Minor Changes

  • a5c5491ff50c: Added a durationToMilliseconds function to help with the conversion to a single duration number

@backstage/[email protected]

Minor Changes

  • 44c7ad6b8e11: Adds an optional EventBroker that is used for sending an event when there are conflicts, with details of the conflict so that it can be handled elsewhere.

Patch Changes

@backstage/[email protected]

Minor Changes

  • d44fcd9829c2: Added a new plugin to expose entities which are unprocessed or have errors processing

Patch Changes

@backstage/[email protected]

Minor Changes

  • cb4c15989b6b: The EntityOwnerPicker component has undergone improvements to enhance its performance. The previous implementation inferred users and groups displayed by the EntityOwnerPicker component based on the entities available in the EntityListContext. The updated version no longer relies on the EntityListContext for inference, allowing for better decoupling and improved performance.

    The component now loads entities asynchronously, resulting in improved performance and responsiveness. A new mode prop has been introduced which provides two different behaviours:

    • <EntityOwnerPicker mode="owners-only" />: loads the owners data asynchronously using the facets endpoint. The data is kept in memory and rendered asynchronously as the user scrolls. This is the default mode and is supposed to be retro-compatible with the previous implementation.

    • <EntityOwnerPicker mode="all" /> loads all users and groups present in the catalog asynchronously. The data is loaded in batches as the user scrolls. This is more efficient than owners-only, but has the drawback of displaying users and groups who aren't owner of any entity.

Patch Changes

@backstage/[email protected]

Minor Changes

  • d44fcd9829c2: Added a new plugin to expose entities which are unprocessed or have errors processing

Patch Changes

@backstage/[email protected]

Minor Changes

  • 96e1004e2a02: Added support GitHub Enterprise hosted repositories.

    BREAKING: The GithubActionsClient is updated to take an scmAuthApi instead of the previous githubAuthApi. This does not require any code changes unless you construct your own GithubActionsClient

Patch Changes

@backstage/[email protected]

Minor Changes

  • 41e8037a8a6d: Extract new plugin-home-react package and deprecate createCardExtension in plugin-home

Patch Changes

@backstage/[email protected]

Minor Changes

  • bbf91840a52a: BREAKING: Removed public constructor from LinguistBackendApi. Removed export of LinguistBackendDatabase and LinguistBackendStore

    Several improvements to the Linguist backend have been made:

    • Added tests for the LinguistBackendDatabase and LinguistBackendApi
    • Added support for using SQLite as a database, helpful for local development
    • Removed the default from the processes_date column
    • Converted the LinguistBackendApi into an Interface
    • Added the LinguistBackendClient which implements the LinguistBackendApi Interface
    • Unprocessed entities will get processed before stale entities
    • Entities in the Linguist database but not in the Catalog anymore will be deleted
    • Improved the README's headings

Patch Changes

@backstage/[email protected]

Minor Changes

  • 05bf04ca6863: Initialize Nomad plugin with frontend and backend. List jobs/allocations

Patch Changes

@backstage/[email protected]

Minor Changes

  • 05bf04ca6863: Initialize Nomad plugin with frontend and backend. List jobs/allocations

Patch Changes

@backstage/[email protected]

Minor Changes

  • 64bc274a1ee6: Adds a config schema definition so the plugin will validate with the new Backstage CLI "--strict" flag

Patch Changes

@backstage/[email protected]

Minor Changes

  • 464125e9b1ba: Added MyGroupsPicker field extension that will display a dropdown of groups a user is part of.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 84b0e47373db: Add TargetBranchName variable and output for the publish:gitlab:merge-request and publish:github:pull-request s'cascaffolder actions.

  • 6a694ce98e32: Add a scaffolder action that pull-requests for bitbucket server

  • 1948845861b0: Added github:deployKey:create and github:environment:create scaffolder actions. You will need to add read/write permissions to your GITHUB_TOKEN and/or Github Backstage App for Repository Administration (for deploy key functionality) and Environments (for Environment functionality)

  • df8411779da1: Add support for Repository Variables and Secrets to the publish:github and github:repo:create scaffolder actions. You will need to add read/write permissions to your GITHUB_TOKEN and/or Github Backstage App for Repository Secrets and Variables

    Upgrade octokit introduces some breaking changes.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 6b571405f806: scaffolder/next: Provide some default template components to rjsf to allow for standardization and markdown descriptions
  • 4505dc3b4598: scaffolder/next: Don't render TemplateGroups when there's no results in with search query
  • a452bda74d7a: Fixed typescript casting bug for useTemplateParameterSchema hook
  • 6b571405f806: scaffolder/next: provide a ScaffolderField component which is meant to replace some of the FormControl components from Material UI, making it easier to write FieldExtensions.

Patch Changes

@backstage/[email protected]

Minor Changes

  • ce9bc94c15e1: fix sonarqube case in config schema definition

Patch Changes

@backstage/[email protected]

Minor Changes

  • ce9bc94c15e1: fix sonarqube case in config schema definition

Patch Changes

@backstage/[email protected]

Patch Changes

  • 3bb4158a8aa4: Switched startup strategy to initialize all plugins in parallel, as well as hook into the new startup lifecycle hooks.
  • 68a21956ef52: Remove reference to deprecated import
  • a5c5491ff50c: Use durationToMilliseconds from @backstage/types instead of our own
  • 2c9f67e6f166: Introduced built-in middleware into the default HttpService implementation that throws a ServiceNotAvailable error when plugins aren't able to serve request. Also introduced a request stalling mechanism that pauses incoming request until plugins have been fully initialized.
  • c4e8fefd9f13: Added handling of ServiceUnavailableError to error handling middleware.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 314493fa32a0: Introduced the --alwaysYarnPack flag on backstage-cli build-workspace, which can be passed in cases where accuracy of workspace contents is more important than the speed with which the workspace is built. Useful in rare situations where yarn pack and npm pack produce different results.
  • 75540599124a: Updated example component for a newly scaffolded app.
  • 5d692f72ebfb: Make sure to include a fetch environment for jsdom in jest tests
  • 6816352500a7: Add discovery feature to the onboard cli command.
  • 20b7da6f1311: Enforcing Material UI v5 specific linting to minimize bundle size.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 12adfbc8fe2d: Fixed a bug that prevented accurate plugin and route data from being applied to navigate analytics events when users visited pages constructed with <EntityLayout>, <TabbedLayout>, and similar components that are used to gather one or more routable extensions under a given path.
  • ac677bc30ae0: Expose discovery.endpoints configuration to use FrontendHostDiscovery
  • 74b216ee4e50: Add PropsWithChildren to usages of ComponentType, in preparation for React 18 where the children are no longer implicit.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 4e697e88f0e2: Add resource utilization to Pod Drawer
  • 78cbb8ef8aea: Enhance the sidebar item accessibility by using appropriate header semantics.
  • 66ae4d8ca380: Added exact prop to SidebarSubmenuItem which causes it to only highlight if the current location is an exact match.
  • 83bdc3a555c1: Replaced usages of theme.palette.theme.hint with theme.palette.text.secondary as it has been removed in Material UI v5
  • b4cc4b1415e9: SupportButton auto focus first item when opened.
  • e33beb1f2a8e: Make the documentation pages printable (also handy for exporting to PDF)
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 12adfbc8fe2d: Fixed a bug that prevented accurate plugin and route data from being applied to navigate analytics events when users visited pages constructed with <EntityLayout>, <TabbedLayout>, and similar components that are used to gather one or more routable extensions under a given path.
  • 74b216ee4e50: Add PropsWithChildren to usages of ComponentType, in preparation for React 18 where the children are no longer implicit.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 08f177b91084: Add link from Template entity to the scaffolder launch page for the template in the AboutCard.

  • 75a1c93784fe: Bumped create-app version.

  • e37573d60e79: Bumped create-app version.

  • 320ed502747a: Bumped create-app version.

  • 52d599817680: Changed the default backend CacheClient to an in-memory cache when not explicitly configured.

    Explicit configuration of an in-memory cache can be removed from app-config.yaml, as this is now the default:

    diff
    backend:
    -  cache:
    -    store: memory
    
  • 68a21956ef52: Remove reference to deprecated import

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 5f2c38c70f5b: Fix SNYK-JS-FASTXMLPARSER-5668858 (fast-xml-parser) by upgrading aws-sdk to at least the current latest version.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@techdocs/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 31616c1fc4e4: Allow to provide explore tools through config instead of data in code.

    yaml
    explore:
      tools:
        - title: New Relic
          description: Observability platform built to help engineers create and monitor their software
          url: /newrelic
          image: https://i.imgur.com/L37ikrX.jpg
          tags:
            - newrelic
            - performance
            - monitoring
            - errors
            - alerting
        - title: CircleCI
          description: Provides builds overview, detailed build info and retriggering functionality for CircleCI.
          url: /circleci
          image: https://miro.medium.com/max/1200/1*hkTBp22vLAqlIHkrkZHPnw.png
          tags:
            - circleci
            - ci
            - dev
        # [...]
    
    diff
    - import { ExploreTool } from '@backstage/plugin-explore-common';
    - const exploreTools: ExploreTool[] = [
    -   {
    -     title: 'New Relic',
    -     description: 'Observability platform built to help engineers create and monitor their software',
    -     url: '/newrelic',
    -     image: 'https://i.imgur.com/L37ikrX.jpg',
    -     tags: ['newrelic', 'performance', 'monitoring', 'errors', 'alerting'],
    -   },
    -   {
    -     title: 'CircleCI',
    -     description: 'Provides builds overview, detailed build info and retriggering functionality for CircleCI.',
    -     url: '/circleci',
    -     image: 'https://miro.medium.com/max/1200/1*hkTBp22vLAqlIHkrkZHPnw.png',
    -     tags: ['circleci', 'ci', 'dev'],
    -   },
    - ];
    -
    - StaticExploreToolProvider.fromData(tools)
    + StaticExploreToolProvider.fromData(env.config)
    
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • b43e030911f2: Upgrade @azure/identity to support using Workload Identity to authenticate against Azure.
  • 91f39df52d60: K8s proxy HEADER_KUBERNETES_CLUSTER is now optional in single-cluster setups.
  • 4249f4214f9f: Fixed bug in KubernetesProxy where Host header was not propagated, leading to certificate issues
  • 5f2c38c70f5b: Fix SNYK-JS-FASTXMLPARSER-5668858 (fast-xml-parser) by upgrading aws-sdk to at least the current latest version.
  • eac59a3d0b11: Add ability for configClusterLocator to load cluster specific custom resources defined in your app.config.
  • 5e4879d80f4d: Fixed wrong pluginID in the kubernetes alpha backend support, that made the kubernetes plugin fail with the new experimental backend.
  • 73cc0deee48a: Add proposed fix dialog for pod errors
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes