Back to Backstage

Release v1.38.0

docs/releases/v1.38.0-changelog.md

1.51.0-next.287.5 KB
Original Source

Release v1.38.0

Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.38.0

@backstage/[email protected]

Major Changes

  • 6b5681c: Initial release of @backstage/plugin-gateway-backend

Patch Changes

@backstage/[email protected]

Minor Changes

  • 1daedce: Remove Throttle of Bitbucket Server API calls
  • 01edf6e: Allow pass through of redis client and cluster options to Cache core service
  • cf4eb13: Added actor property to BackstageUserPrincipal containing the subject of the last service (if any) who performed authentication on behalf of the user.

Patch Changes

@backstage/[email protected]

Minor Changes

  • cf4eb13: Added actor property to BackstageUserPrincipal containing the subject of the last service (if any) who performed authentication on behalf of the user.

Patch Changes

@backstage/[email protected]

Minor Changes

  • cf4eb13: Added actor property to BackstageUserPrincipal containing the subject of the last service (if any) who performed authentication on behalf of the user.

Patch Changes

@backstage/[email protected]

Minor Changes

  • df4e292: Improve class name structure using data attributes instead of class names.
  • f038613: Updated TextField and Select component to work with React Hook Form.
  • 1b0cf40: Add new Select component for Canon
  • 5074d61: BREAKING: Added a new TextField component to replace the Field and Input component. After feedback, it became clear that we needed to build a more opinionated version to avoid any problem in the future.

Patch Changes

  • 6af7b16: Updated styles for the Menu component in Canon.

  • bcbc593: Fix Checkbox styles on dark theme in Canon.

  • e7efb7d: Add new breakpoint helpers up(), down() and current breakpoint to help you use our breakpoints in your React components.

  • f7cb538: Internal refactor and fixes to the prop extraction logic for layout components.

  • 35b36ec: Add new Collapsible component for Canon.

  • a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.

    https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html

  • 513477f: Add global CSS reset for anchor tags.

  • 24f0e08: Improved Container styles, changing our max-width to 120rem and improving padding on smaller screens.

  • 851779d: Add new Avatar component to Canon.

  • ec5ebd1: Add new TableCellProfile component for Table and DataTable in Canon.

  • 5e80f0b: Fix types on the Icon component.

  • 0e654bf: Add new DataTable component and update Table component styles.

  • 7ae28ba: Move styles to the root of the TextField component.

  • 4fe5b08: We added a render prop to the Link component to make sure it can work with React Router.

  • 74d463c: Fix Select styles on small sizes + with long option names in Canon.

  • f25a5be: Added a new gray scale for Canon for both light and dark theme.

  • 5ee4fc2: Add support for column sizing in DataTable.

  • 05a5003: Fix the Icon component when the name is not found to return null instead of an empty SVG.

@backstage/[email protected]

Minor Changes

  • a47fd39: Removes default React imports from template files, aligning with the requirements for the upcoming React 19 migration. Introduces a new ESLint rule to disallow import React from 'react' and import * as React from 'react'.

    https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html

  • 65b584c: Internal update to move the new and create-github-app to their own module.

  • c7254ae: Internal update to move the clean, pre/postpack and fix commands into their own separate module.

Patch Changes

  • 4ea76f7: Bump @module-federation/enhanced ^0.9.0 to fix GHSA-593f-38f6-jp5m

  • 87a5cb4: Fixed an issue causing the repo lint command to fail when the --max-warnings option was used.

  • 6969f79: Avoid trailing /* when automatically adding imports for package with multiple entry points.

  • 98b7131: Update the to do plugin template to stop using the deprecated catalog alpha service reference. If you start seeing the should create TODO item with catalog information test failing, you have two options to fix this: Update the test to mock the legacy alpha catalog service, or migrate the TODO plugin backend to use the new catalog service reference. We recommend the second option, see this pull request for an example of how to do the migration.

  • d5c4fed: make certificate strings optional for Dev environments

  • d83f3f4: Resolved a problem where the start command did not correctly handle multiple --require flags, ensuring all specified modules are now properly loaded.

  • d2091c6: Added a new repo start command to replace the existing pattern of using yarn dev scripts. The repo start command runs the app and/or backend package in the repo by default, but will also fall back to running other individual frontend or backend packages or even plugin dev entry points if the can be uniquely selected.

    The goal of this change is to reduce the number of different necessary scripts and align on yarn start being the only command needed for local development, similar to how repo test handles testing in the repo. It also opens up for more powerful options, like the --plugin <pluginId> flag that runs the dev entry point of the selected plugin.

    The new script is installed as follows, replacing the existing yarn start script:

    json
    {
      "scripts": {
        "start": "backstage-cli repo start"
      }
    }
    

    In order to help users migrate in existing projects, it is recommended to add the following scripts to the root package.json:

    json
    {
      "scripts": {
        "dev": "echo \"Use 'yarn start' instead\"",
        "start-backend": "echo \"Use 'yarn start backend' instead\""
      }
    }
    

    For more information, run yarn start --help once the new command is installed.

  • 918c883: Included a reference to the JSX transform guide in the warning about using the default React import.

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 3bee3c3: The new package frontend-dynamic-features-loader provides a frontend feature loader that dynamically loads frontend features based on the new frontend system and exposed as module federation remotes. This new frontend feature loader works hand-in-hand with a new server of frontend plugin module federation remotes, which is added as part of backend dynamic feature service in package @backstage/backend-dynamic-feature-service.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 9454ef9: Added support of filtering based on system columns in catalog table

  • 61d350f: BREAKING ALPHA: CatalogFilterBlueprint, used in the new frontend system, is now exported under plugin-catalog-react instead of plugin-catalog.

    diff
    + import { CatalogFilterBlueprint } from '@backstage/plugin-catalog-react/alpha';
    - import { CatalogFilterBlueprint } from '@backstage/plugin-catalog/alpha';
    
  • 09afd67: Adds EntityContextMenuItemBlueprint to enable extending the entity page's context menu with user defined items.

    For example:

    ts
    import { EntityContextMenuItemBlueprint } from '@backstage/plugin-catalog-react/alpha';
    
    const myCustomHref = EntityContextMenuItemBlueprint.make({
      name: 'test-href',
      params: {
        icon: <span>Example Icon</span>,
        useProps: () => ({
          title: 'Example Href',
          href: '/example-path',
          disabled: false,
          component: 'a',
        }),
      },
    });
    
    const myCustomOnClick = EntityContextMenuItemBlueprint.make({
      name: 'test-click',
      params: {
        icon: <span>Test Icon</span>,
        useProps: () => ({
          title: 'Example onClick',
          onClick: () => window.alert('Hello world!'),
          disabled: false,
        }),
      },
    });
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • 1daedce: Remove Throttle of Bitbucket Server API calls
  • 7b3ed9b: Added the ability for the plugin to receive events coming from Bitbucket Server push webhooks. It then performs a delta mutation on the catalog.

Patch Changes

@backstage/[email protected]

Minor Changes

  • f0c22eb: BREAKING: Explicitly rejects branch names containing a slash character.

    The module now rejects any configuration that contains slashes in branch names. The reason for this is that the ingestion will run into downstream problems if they were let through. If you had configuration with a slash in the branch name in filters.branch, your application may fail to start up.

    If you are affected by this, please move over to using branches that do not have slashes in them.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 0f37fa8: entityRouteParams now also accepts entity refs, and can help with encoding the resulting parameters.

  • 61d350f: BREAKING ALPHA: CatalogFilterBlueprint, used in the new frontend system, is now exported under plugin-catalog-react instead of plugin-catalog.

    diff
    + import { CatalogFilterBlueprint } from '@backstage/plugin-catalog-react/alpha';
    - import { CatalogFilterBlueprint } from '@backstage/plugin-catalog/alpha';
    
  • 09afd67: Adds EntityContextMenuItemBlueprint to enable extending the entity page's context menu with user defined items.

    For example:

    ts
    import { EntityContextMenuItemBlueprint } from '@backstage/plugin-catalog-react/alpha';
    
    const myCustomHref = EntityContextMenuItemBlueprint.make({
      name: 'test-href',
      params: {
        icon: <span>Example Icon</span>,
        useProps: () => ({
          title: 'Example Href',
          href: '/example-path',
          disabled: false,
          component: 'a',
        }),
      },
    });
    
    const myCustomOnClick = EntityContextMenuItemBlueprint.make({
      name: 'test-click',
      params: {
        icon: <span>Test Icon</span>,
        useProps: () => ({
          title: 'Example onClick',
          onClick: () => window.alert('Hello world!'),
          disabled: false,
        }),
      },
    });
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • 7b3ed9b: Added the ability for the plugin to receive events coming from Bitbucket Server push webhooks. It then performs a delta mutation on the catalog.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 317ceb7: BREAKING ALPHA: Modules from events-backend-module-github and events-backend-module-gitlab are now exported as default instead of being a named export. In addition, they have been moved from aplha to public.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 317ceb7: BREAKING ALPHA: Modules from events-backend-module-github and events-backend-module-gitlab are now exported as default instead of being a named export. In addition, they have been moved from aplha to public.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 552170d: Added a new Slack NotificationProcessor for use with the notifications plugin

Patch Changes

@backstage/[email protected]

Minor Changes

  • 78eaa50: Improved validation for the /authorize endpoint when a resourceRef is provided alongside a basic permission. Additionally, introduced a clearer error message for cases where users attempt to directly evaluate conditional permissions.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 76681a5: BREAKING ALPHA: Extract out schema rendering components into their own Component. This means that the translation keys have changed for actionsPage.content.tableCell.*. They have moved to their own root key renderSchema.* instead.

    diff
    ...
    -        tableCell: {
    -          name: 'Name',
    -          title: 'Title',
    -          description: 'Description',
    -          type: 'Type',
    -        },
    -        noRowsDescription: 'No schema defined',
    ...
    +    renderSchema: {
    +      tableCell: {
    +        name: 'Name',
    +        title: 'Title',
    +        description: 'Description',
    +        type: 'Type',
    +      },
    +      undefined: 'No schema defined',
    +    },
    
  • 5890016: add api to retrieve template extensions info from scaffolder-backend

Patch Changes

@backstage/[email protected]

Minor Changes

  • 75e4db4: add template-extensions scaffolder service endpoint

Patch Changes

@backstage/[email protected]

Minor Changes

  • c761cf5: BREAKING The publish:github scaffolder action now defaults to initializing with a branch named "main" instead of "master" when creating new repositories.

    If you or your organization have relied on all new github repositories having a default branch name of "master" you must set the defaultBranch: 'master' in your existing templates that feature the publish:github scaffolder action.

    To keep using the name "master" for your new github repos, these are the required changes:

    diff
        - id: publish
          name: Publish
          action: publish:github
          input:
            allowedHosts: ['github.com']
            description: This is ${{ parameters.name }}
            repoUrl: ${{ parameters.repoUrl }}
    +       defaultBranch: 'master'
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • d86ce21: Added additional feedback in case branch is already created

Patch Changes

@backstage/[email protected]

Minor Changes

  • 5890016: add api to retrieve template extensions info from scaffolder-backend

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

  • 5590536: Bumped create-app version.

  • 2fc663a: Bumped create-app version.

  • edabbd6: Updated the root package.json in the template to use the new backstage-cli repo start command.

    The yarn dev command is now redundant and has been removed from the template. We recommend existing projects to add these or similar scripts to help redirect users:

    json
    {
      "scripts": {
        "dev": "echo \"Use 'yarn start' instead\"",
        "start-backend": "echo \"Use 'yarn start backend' instead\""
      }
    }
    
  • a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.

    https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html

  • c761cf5: BREAKING The publish:github scaffolder action now defaults to initializing with a branch named "main" instead of "master" when creating new repositories.

    If you or your organization have relied on all new github repositories having a default branch name of "master" you must set the defaultBranch: 'master' in your existing templates that feature the publish:github scaffolder action.

    To keep using the name "master" for your new github repos, these are the required changes:

    diff
        - id: publish
          name: Publish
          action: publish:github
          input:
            allowedHosts: ['github.com']
            description: This is ${{ parameters.name }}
            repoUrl: ${{ parameters.repoUrl }}
    +       defaultBranch: 'master'
    
  • 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

  • 9768992: Mark GitHub webhookSecret config property as optional. A webhookSecret is not required when creating a GitHub App.
  • 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

@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

[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes