Skip to content

v0.35.0

Compare
Choose a tag to compare
@backstage-service backstage-service released this 01 Jul 11:44
· 39409 commits to master since this release
b0be185

@backstage/plugin-catalog-backend@0.11.0

Minor Changes

  • 45af985: Handle entity name conflicts in a deterministic way and avoid crashes due to naming conflicts at startup.

    This is a breaking change for the database and entity provider interfaces of the new catalog. The interfaces with breaking changes are EntityProvider and ProcessingDatabase, and while it's unlikely that these interfaces have much usage yet, a migration guide is provided below.

    The breaking change to the EntityProvider interface lies within the items passed in the EntityProviderMutation type. Rather than passing along entities directly, they are now wrapped up in a DeferredEntity type, which is a tuple of an entity and a locationKey. The entity houses the entity as it was passed on before, while the locationKey is a new concept that is used for conflict resolution within the catalog.

    The locationKey is an opaque string that should be unique for each location that an entity could be located at, and undefined if the entity does not have a fixed location. In practice it should be set to the serialized location reference if the entity is stored in Git, for example https://github.com/backstage/backstage/blob/master/catalog-info.yaml. A conflict between two entity definitions happen when they have the same entity reference, i.e. kind, namespace, and name. In the event of a conflict the location key will be used according to the following rules to resolve the conflict:

    • If the entity is already present in the database but does not have a location key set, the new entity wins and will override the existing one.
    • If the entity is already present in the database the new entity will only win if the location keys of the existing and new entity are the same.
    • If the entity is not already present, insert the entity into the database along with the provided location key.

    The breaking change to the ProcessingDatabase is similar to the one for the entity provider, as it reflects the switch from Entity to DeferredEntity in the ReplaceUnprocessedEntitiesOptions. In addition, the addUnprocessedEntities method has been removed from the ProcessingDatabase interface, and the RefreshStateItem and UpdateProcessedEntityOptions types have received a new optional locationKey property.

  • 8e533f9: Move LdapOrgReaderProcessor from @backstage/plugin-catalog-backend
    to @backstage/plugin-catalog-backend-module-ldap.

    The LdapOrgReaderProcessor isn't registered by default anymore, if
    you want to continue using it you have to register it manually at the catalog
    builder:

    1. Add dependency to @backstage/plugin-catalog-backend-module-ldap to the package.json of your backend.
    2. Add the processor to the catalog builder:
    // packages/backend/src/plugins/catalog.ts
    builder.addProcessor(
      LdapOrgReaderProcessor.fromConfig(config, {
        logger,
      }),
    );

    For more configuration details, see the README of the @backstage/plugin-catalog-backend-module-ldap package.

Patch Changes

  • 22a6051: Support ingesting multiple GitHub organizations via a new GithubMultiOrgReaderProcessor.

    This new processor handles namespacing created groups according to the org of the associated GitHub team to prevent potential name clashes between organizations. Be aware that this processor is considered alpha and may not be compatible with future org structures in the catalog.

    NOTE: This processor only fully supports auth via GitHub Apps

    To install this processor, import and add it as follows:

    // Typically in packages/backend/src/plugins/catalog.ts
    import { GithubMultiOrgReaderProcessor } from '@backstage/plugin-catalog-backend';
    // ...
    export default async function createPlugin(env: PluginEnvironment) {
      const builder = new CatalogBuilder(env);
      builder.addProcessor(
        GithubMultiOrgReaderProcessor.fromConfig(env.config, {
          logger: env.logger,
        }),
      );
      // ...
    }

    Configure in your app-config.yaml by pointing to your GitHub instance and optionally list which GitHub organizations you wish to import. You can also configure what namespace you want to set for teams from each org. If unspecified, the org name will be used as the namespace. If no organizations are listed, by default this processor will import from all organizations accessible by all configured GitHub Apps:

    catalog:
      locations:
        - type: github-multi-org
          target: https://github.myorg.com
    
      processors:
        githubMultiOrg:
          orgs:
            - name: fooOrg
              groupNamespace: foo
            - name: barOrg
              groupNamespace: bar
            - name: awesomeOrg
            - name: anotherOrg
  • d408af8: Only return the selected fields from the new catalog.

  • aa2b15d: Ensure that emitted relations are deduplicated

  • Updated dependencies

    • @backstage/backend-common@0.8.4
    • @backstage/integration@0.5.7
    • @backstage/catalog-client@0.3.15

@backstage/plugin-catalog-backend-module-msgraph@0.2.0

Minor Changes

  • 115473c: Handle error gracefully if failure occurs while loading photos using Microsoft Graph API.

    This includes a breaking change: you now have to pass the options object to readMicrosoftGraphUsers and readMicrosoftGraphOrg.

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-backend@0.11.0

@backstage/backend-common@0.8.4

Patch Changes

  • 88d742e: Download archives as compressed tar files for GitLab to fix the readTree bug in TODO Plugin.
  • ab5cc37: Add new isChildPath and resolveSafeChildPath exports
  • Updated dependencies
    • @backstage/cli-common@0.1.2
    • @backstage/integration@0.5.7

@backstage/catalog-client@0.3.15

Patch Changes

  • ca080ca: Don't crash if the entities response doesn't include the entities name and kind

@backstage/cli@0.7.3

Patch Changes

  • a93e60f: Updated dependencies
  • 55f49fc: Update dependencies
  • ab5cc37: Use new isChildPath export from @backstage/cli-common
  • Updated dependencies
    • @backstage/cli-common@0.1.2

@backstage/cli-common@0.1.2

Patch Changes

  • ab5cc37: Add new isChildPath export

@backstage/codemods@0.1.4

Patch Changes

  • Updated dependencies
    • @backstage/core-app-api@0.1.4
    • @backstage/core-components@0.1.4
    • @backstage/cli-common@0.1.2

@backstage/core-app-api@0.1.4

Patch Changes

  • 62abffe: Reintroduce export of defaultConfigLoader.
  • Updated dependencies
    • @backstage/core-components@0.1.4

@backstage/core-components@0.1.4

Patch Changes

  • f423891: Fixed sizing of the System diagram when the rendered graph was wider than the container.

  • 3db266f: Make ErrorBoundary display more helpful information about the error that
    occurred.

    The slackChannel (optional) prop can now be passed as an object on the form
    { name: string; href?: string; } in addition to the old string form. If you
    are using the error boundary like

    <ErrorBoundary slackChannel="#support">
      <InnerComponent>
    </ErrorBoundary>

    you may like to migrate it to

    const support = {
      name: '#support',
      href: 'https://slack.com/channels/your-channel',
    };
    
    <ErrorBoundary slackChannel={support}>
      <InnerComponent>
    </ErrorBoundary>

    Also deprecated the prop slackChannel on TabbedCard and InfoCard, while
    adding the prop errorBoundaryProps to replace it.

  • e8c65b0: Clear the previously selected sign-in provider on failure

@backstage/create-app@0.3.29

Patch Changes

  • Updated dependencies
    • @backstage/cli-common@0.1.2

@backstage/integration@0.5.7

Patch Changes

  • 22a6051: Support ingesting multiple GitHub organizations via a new GithubMultiOrgReaderProcessor.

    This new processor handles namespacing created groups according to the org of the associated GitHub team to prevent potential name clashes between organizations. Be aware that this processor is considered alpha and may not be compatible with future org structures in the catalog.

    NOTE: This processor only fully supports auth via GitHub Apps

    To install this processor, import and add it as follows:

    // Typically in packages/backend/src/plugins/catalog.ts
    import { GithubMultiOrgReaderProcessor } from '@backstage/plugin-catalog-backend';
    // ...
    export default async function createPlugin(env: PluginEnvironment) {
      const builder = new CatalogBuilder(env);
      builder.addProcessor(
        GithubMultiOrgReaderProcessor.fromConfig(env.config, {
          logger: env.logger,
        }),
      );
      // ...
    }

    Configure in your app-config.yaml by pointing to your GitHub instance and optionally list which GitHub organizations you wish to import. You can also configure what namespace you want to set for teams from each org. If unspecified, the org name will be used as the namespace. If no organizations are listed, by default this processor will import from all organizations accessible by all configured GitHub Apps:

    catalog:
      locations:
        - type: github-multi-org
          target: https://github.myorg.com
    
      processors:
        githubMultiOrg:
          orgs:
            - name: fooOrg
              groupNamespace: foo
            - name: barOrg
              groupNamespace: bar
            - name: awesomeOrg
            - name: anotherOrg

@backstage/techdocs-common@0.6.6

Patch Changes

  • ab5cc37: Use new utilities from @backstage/backend-common for safely resolving child paths
  • b47fc34: Update "service catalog" references to "software catalog"
  • Updated dependencies
    • @backstage/backend-common@0.8.4
    • @backstage/integration@0.5.7

@backstage/plugin-auth-backend@0.3.15

Patch Changes

  • 6ca29b6: Unbreak .well-known OIDC routes
  • 72574ac: Show better error message when configs defined under auth.providers. are undefined.
  • Updated dependencies
    • @backstage/backend-common@0.8.4
    • @backstage/catalog-client@0.3.15

@backstage/plugin-catalog@0.6.5

Patch Changes

  • f423891: Fixed sizing of the System diagram when the rendered graph was wider than the container.
  • e19283b: Get rid of flex console warning for IconLink
  • Updated dependencies
    • @backstage/plugin-catalog-react@0.2.5
    • @backstage/core-components@0.1.4
    • @backstage/integration@0.5.7
    • @backstage/catalog-client@0.3.15

@backstage/plugin-catalog-backend-module-ldap@0.1.1

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-backend@0.11.0

@backstage/plugin-catalog-react@0.2.5

Patch Changes

  • 35a3e4e: Fix repetitive error reporting in EntityTypePicker
  • Updated dependencies
    • @backstage/core-app-api@0.1.4
    • @backstage/core-components@0.1.4
    • @backstage/integration@0.5.7
    • @backstage/catalog-client@0.3.15

@backstage/plugin-cost-insights@0.11.1

Patch Changes

  • 0b4d006: Replaced moment and dayjs with Luxon
  • Updated dependencies
    • @backstage/core-components@0.1.4

@backstage/plugin-explore@0.3.8

Patch Changes

  • dd91185: Using displayName as default value when loading Groups Diagram
  • Updated dependencies
    • @backstage/plugin-catalog-react@0.2.5
    • @backstage/core-components@0.1.4

@backstage/plugin-github-actions@0.4.11

Patch Changes

  • 3165306: Migrate from Moment to Luxon
  • Updated dependencies
    • @backstage/plugin-catalog-react@0.2.5
    • @backstage/core-components@0.1.4
    • @backstage/integration@0.5.7

@backstage/plugin-kafka-backend@0.2.7

Patch Changes

  • 8ab897e: Properly return a 404 when an unknown cluster is given
  • Updated dependencies
    • @backstage/backend-common@0.8.4

@backstage/plugin-register-component@0.2.18

Patch Changes

  • b47fc34: Update "service catalog" references to "software catalog"
  • Updated dependencies
    • @backstage/plugin-catalog-react@0.2.5
    • @backstage/core-components@0.1.4

@backstage/plugin-scaffolder@0.9.10

Patch Changes

  • 9e60a72: Upgrade rjsf to 3.0.0.
  • a94587c: Update dependencies
  • Updated dependencies
    • @backstage/plugin-catalog-react@0.2.5
    • @backstage/core-components@0.1.4
    • @backstage/integration@0.5.7
    • @backstage/catalog-client@0.3.15

@backstage/plugin-scaffolder-backend@0.12.4

Patch Changes

  • 1627daa: Fix catalog:write on windows systems
  • ab5cc37: Use new utilities from @backstage/backend-common for safely resolving child paths
  • Updated dependencies
    • @backstage/backend-common@0.8.4
    • @backstage/integration@0.5.7
    • @backstage/catalog-client@0.3.15

@backstage/plugin-tech-radar@0.4.2

Patch Changes

  • 846168d: Add optional id prop passing it to the load API
  • Updated dependencies
    • @backstage/core-components@0.1.4

@backstage/plugin-techdocs@0.9.8

Patch Changes

  • 99a2873: Include cookies when making fetch requests for SVG from techdocs plugin
  • a444c74: Filter fetched entity fields to optimize loading techdocs list
  • Updated dependencies
    • @backstage/plugin-catalog-react@0.2.5
    • @backstage/core-components@0.1.4
    • @backstage/integration@0.5.7

@backstage/plugin-techdocs-backend@0.8.5

Patch Changes

  • b47fc34: Update "service catalog" references to "software catalog"
  • Updated dependencies
    • @backstage/backend-common@0.8.4
    • @backstage/techdocs-common@0.6.6

example-backend@0.2.35

Patch Changes

  • Updated dependencies
    • @backstage/plugin-scaffolder-backend@0.12.4
    • @backstage/backend-common@0.8.4
    • @backstage/plugin-auth-backend@0.3.15
    • @backstage/plugin-catalog-backend@0.11.0
    • @backstage/plugin-techdocs-backend@0.8.5
    • @backstage/catalog-client@0.3.15
    • @backstage/plugin-kafka-backend@0.2.7