Skip to content

Latest commit

 

History

History
2795 lines (2115 loc) · 81.2 KB

v1.14.0-changelog.md

File metadata and controls

2795 lines (2115 loc) · 81.2 KB

Release v1.14.0

Minor Changes

  • 201206132da: Introduced a new config source system to replace loadConfig. There is a new ConfigSource interface along with utilities provided by ConfigSources, as well as a number of built-in configuration source implementations. The new system is more flexible and makes it easier to create new and reusable sources of configuration, such as loading configuration from secret providers.

    The following is an example of how to load configuration using the default behavior:

    const source = ConfigSources.default({
      argv: options?.argv,
      remote: options?.remote,
    });
    const config = await ConfigSources.toConfig(source);

    The ConfigSource interface looks like this:

    export interface ConfigSource {
      readConfigData(options?: ReadConfigDataOptions): AsyncConfigSourceIterator;
    }

    It is best implemented using an async iterator:

    class MyConfigSource implements ConfigSource {
      async *readConfigData() {
        yield {
          config: [
            {
              context: 'example',
              data: { backend: { baseUrl: 'http://localhost' } },
            },
          ],
        };
      }
    }

Patch Changes

Minor Changes

  • c89437db899: The analytics' navigate event will now include the route parameters as attributes of the navigate event

Patch Changes

Minor Changes

  • 799c33047ed: BREAKING: The OpenAPI commands are now found within the schema openapi sub-command. For example yarn backstage-repo-tools schema:openapi:verify is now yarn backstage-repo-tools schema openapi verify.
  • 27956d78671: Generated OpenAPI files now have a .generated.ts file name and a warning header at the top, to highlight that they should not be edited by hand.

Patch Changes

Minor Changes

  • 98c0c199b15: Updates light theme's primary foreground and running status indicator colours to meet WCAG. Previously #2E77D0 changed to #1F5493.

Patch Changes

  • 83b45f9df50: Fix accessibility issue with Backstage Table's header style

Minor Changes

  • b12cd5dc221: render SupportButton only if config is set

Patch Changes

Minor Changes

  • 22b46f7f562: Plugin provides Backstage Analytics API for Google Analytics 4. Once installed and configured, analytics events will be sent to GA4 as your users navigate and use your Backstage instance

Patch Changes

Minor Changes

  • 877df261085: The getBuildRuns function now checks contains multiple comma-separated builds and splits them to send multiple requests for each and concatenates the results.

Patch Changes

Minor Changes

  • a0108c49774: Fixing badges-backend plugin to get a token from the TokenManager instead of parsing the request header. Hence, it's now possible to disable the authMiddleware for the badges-backend plugin to expose publicly the badges.

    Implementing an obfuscation feature to protect an open badges endpoint from being enumerated. The feature is disabled by default and the change is compatible with the previous version.

    BREAKING: createRouter now require that tokenManager, logger, and identityApi, are passed in as options.

Patch Changes

Minor Changes

  • 2258dcae970: Added an entity namespace filter and column on the default catalog page.

    If you have a custom version of the catalog page, you can add this filter in your CatalogPage code:

    <CatalogFilterLayout>
      <CatalogFilterLayout.Filters>
        <EntityTypePicker />
        <UserListPicker initialFilter={initiallySelectedFilter} />
        <EntityTagPicker />
        /* if you want namespace picker */
        <EntityNamespacePicker />
      </CatalogFilterLayout.Filters>
      <CatalogFilterLayout.Content>
        <CatalogTable columns={columns} actions={actions} />
      </CatalogFilterLayout.Content>
    </CatalogFilterLayout>

    The namespace column can be added using createNamespaceColumn();. This is only needed if you customized the columns for CatalogTable.

Patch Changes

Minor Changes

  • 1a3b5f1e390: BREAKING: AwsOrganizationCloudAccountProcessor.fromConfig now returns a promise instead of the instance directly.

Patch Changes

Minor Changes

  • 970678adbe2: Implement events support for GithubMultiOrgEntityProvider

    BREAKING: Passing in a custom teamTransformer will now correctly completely override the default transformer behavior

Patch Changes

Minor Changes

  • 2258dcae970: Added an entity namespace filter and column on the default catalog page.

    If you have a custom version of the catalog page, you can add this filter in your CatalogPage code:

    <CatalogFilterLayout>
      <CatalogFilterLayout.Filters>
        <EntityTypePicker />
        <UserListPicker initialFilter={initiallySelectedFilter} />
        <EntityTagPicker />
        /* if you want namespace picker */
        <EntityNamespacePicker />
      </CatalogFilterLayout.Filters>
      <CatalogFilterLayout.Content>
        <CatalogTable columns={columns} actions={actions} />
      </CatalogFilterLayout.Content>
    </CatalogFilterLayout>

    The namespace column can be added using createNamespaceColumn();. This is only needed if you customized the columns for CatalogTable.

Patch Changes

Minor Changes

  • 347aeca204c: Introduced the DevTools plugin, checkout the plugin's README.md for more details!

Patch Changes

Minor Changes

  • 347aeca204c: Introduced the DevTools plugin, checkout the plugin's README.md for more details!

Patch Changes

Minor Changes

  • 347aeca204c: Introduced the DevTools plugin, checkout the plugin's README.md for more details!

Patch Changes

Minor Changes

  • 2c5661f3899: Allow endpoint configuration for sqs, enabling use of localstack for testing.

Patch Changes

Minor Changes

  • cf95c5137c9: Updated rebuild to use Jenkins API replay build, which works for Jenkins jobs that have required parameters. Jenkins SDK could not be used for this request because it does not have support for replay.

    Added link to view build in Jenkins CI/CD table action column.

Patch Changes

Minor Changes

  • cf95c5137c9: Updated rebuild to use Jenkins API replay build, which works for Jenkins jobs that have required parameters. Jenkins SDK could not be used for this request because it does not have support for replay.

    Added link to view build in Jenkins CI/CD table action column.

Patch Changes

Minor Changes

  • 280ec10c18e: Added Pod logs components for Kubernetes plugin

    BREAKING: kubernetesProxyApi for custom plugins built with components from the Kubernetes plugin apis, kubernetesProxyApi should be added to the plugin's API list.

    ...
    export const kubernetesPlugin = createPlugin({
      id: 'kubernetes',
      apis: [
    ...
        createApiFactory({
            api: kubernetesProxyApiRef,
            deps: {
            kubernetesApi: kubernetesApiRef,
            },
            factory: ({ kubernetesApi }) =>
            new KubernetesProxyClient({
                kubernetesApi,
            }),
        }),
    

    BREAKING: KubernetesDrawer is now called KubernetesStructuredMetadataTableDrawer so that we can do more than just show StructuredMetadataTable

    import { KubernetesDrawer } from "@backstage/plugin-kubernetes"

    should now be:

    import { KubernetesStructuredMetadataTableDrawer } from "@backstage/plugin-kubernetes"

Patch Changes

Minor Changes

  • f4114f02d49: Allow fetching pod metrics limited by a labelSelector.

    This is used by the Kubernetes tab on a components' page and leads to much smaller responses being received from Kubernetes, especially with larger Kubernetes clusters.

  • 890988341e9: Update aws-sdk client from v2 to v3.

    BREAKING: The AwsIamKubernetesAuthTranslator class no longer exposes the following methods awsGetCredentials, getBearerToken, getCredentials and validCredentials. There is no replacement for these methods.

Patch Changes

Minor Changes

  • 87211bc2873: Added support for Octopus Deploy spaces. The octopus.com/project-id annotation can now (optionally) be prefixed by a space identifier, for example. Spaces-1/Projects-102. Also note that some of this plugins exported API's have changed to accommodate this change, changing from separate arguments to a single object.

Patch Changes

Minor Changes

  • 67115f532b8: Expose both types of scaffolder permissions and rules through the metadata endpoint.

    The metadata endpoint now correctly exposes both types of scaffolder permissions and rules (for both the template and action resource types) through the metadata endpoint.

  • a73b3c0b097: Add ability to use defaultNamespace and defaultKind for scaffolder action catalog:fetch

Patch Changes

Minor Changes

  • 439e2986be1: Add a new scaffolder action for gitlab to ensure a group exists

Patch Changes

Minor Changes

  • 82e10a6939c: Add support for Markdown text blob outputs from templates

  • 67115f532b8: Expose scaffolder permissions in new sub-aggregations.

    In addition to exporting a list of all scaffolder permissions in scaffolderPermissions, scaffolder-common now exports scaffolderTemplatePermissions and scaffolderActionPermissions, which contain subsets of the scaffolder permissions separated by resource type.

Patch Changes

Minor Changes

  • 82e10a6939c: Add support for Markdown text blob outputs from templates

Patch Changes

Minor Changes

  • 750e45539ad: Add close button & improve search input.

    Material UI's Paper wrapping the SearchBar in the SearchPage was removed, we recommend users update their apps accordingly.

    SearchBarBase's TextField's label support added & aria-label uses label string if present, tests relying on the default placeholder value should still work unless custom placeholder was given.

Patch Changes

Minor Changes

  • 3d72bdb41c7: Upgrade to aws-sdk v3 and include OpenSearch Serverless support

Patch Changes

Minor Changes

  • 750e45539ad: Add close button & improve search input.

    Material UI's Paper wrapping the SearchBar in the SearchPage was removed, we recommend users update their apps accordingly.

    SearchBarBase's TextField's label support added & aria-label uses label string if present, tests relying on the default placeholder value should still work unless custom placeholder was given.

  • 1ce7f84b2e8: accepts InputProp property that can override keys from default

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

  • fe16bd39e83: Use permalinks for links including a line number reference
  • 27956d78671: Adjusted README accordingly after the generated output now has a .generated.ts extension
  • 021cfbb5152: Corrected resolution of parameter nested schema to use central schemas.
  • 799c33047ed: Updated README to reflect changes in @backstage/repo-tools.

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

  • 83b45f9df50: Fix accessibility issue with Backstage Table's header style
  • e97769f7c0b: Fix accessibility issue on controlled select input on tab navigation + keyboard enter/space action.
  • b1f13cb38aa: Fix accessibility issue with Edit Metadata Link on screen readers missing notice about opening in a new tab.
  • 26cff1a5dfb: Start capturing sidebar click events in analytics by default.
  • Updated dependencies

Patch Changes

  • 1d5e42655cd: Correct command to create new plugins
  • e04bb20bdc4: Bumped create-app version.
  • Updated dependencies

Patch Changes

Patch Changes

  • b026275bcc8: Fixed a bug where the wrong credentials would be selected when using multiple GitHub app integrations.
  • Updated dependencies

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

  • a0108c49774: Fixing badges-backend plugin to get a token from the TokenManager instead of parsing the request header. Hence, it's now possible to disable the authMiddleware for the badges-backend plugin to expose publicly the badges.

    Implementing an obfuscation feature to protect an open badges endpoint from being enumerated. The feature is disabled by default and the change is compatible with the previous version.

    BREAKING: createRouter now require that tokenManager, logger, and identityApi, are passed in as options.

  • Updated dependencies

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

  • 6e387c077a4: Changed the MembersListCard component to allow displaying aggregated members when viewing a group. Now, a toggle switch can be displayed that lets you switch between showing direct members and aggregated members.

    To enable this new feature, set the showAggregateMembersToggle prop on EntityMembersListCard:

    // In packages/app/src/components/catalog/EntityPage.tsx
    const groupPage = (
      // ...
      <EntityMembersListCard showAggregateMembersToggle />
      // ...
    );
  • Updated dependencies

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

  • a788e715cfc: createPermissionIntegrationRouter now accepts rules and permissions for multiple resource types. Example:

    createPermissionIntegrationRouter({
      resources: [
        {
          resourceType: 'resourceType-1',
          permissions: permissionsResourceType1,
          rules: rulesResourceType1,
        },
        {
          resourceType: 'resourceType-2',
          permissions: permissionsResourceType2,
          rules: rulesResourceType2,
        },
      ],
    });
  • Updated dependencies

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

  • 8a7174e297c: Marked LocalStoredShortcuts as deprecated, replacing it with DefaultShortcutsApi whose naming more clearly suggests that the shortcuts aren't necessarily stored locally (it depends on the storage implementation).
  • Updated dependencies

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

  • 22963209d23: Added the possibility to customize the check description in the scorecard component.

    • The CheckResultRenderer type now exposes an optional description method that allows to overwrite the description with a different string or a React component for a provided check result.

    Until now only the BooleanCheck element could be overridden, but from now on it's also possible to override the description for a check. As an example, the description could change depending on the check result. Refer to the README file for more details

  • Updated dependencies

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes

Patch Changes