Skip to main content

Release v1.1.0

@backstage/backend-tasks@0.3.0

Minor Changes

  • ab008a0988: Adds the ability to manually trigger tasks which are registered

Patch Changes

  • bdd2773202: Refactored the internal TaskWorker class to make it easier to test.

  • a83babdd63: Fixed the initialDelay parameter of tasks to properly make task workers always wait before the first invocations on startup, not just the very first time that the task is ever created. This behavior is more in line with expectations. Callers to not need to update their code.

    Also clarified in the doc comment for the field that this wait applies only on an individual worker level. That is, if you have a cluster of workers then each individual machine may postpone its first task invocation by the given amount of time to leave room for the service to settle, but other workers may still continue to invoke the task on the regular cadence in the meantime.

  • Updated dependencies

    • @backstage/backend-common@0.13.2

@backstage/cli@0.17.0

Minor Changes

  • 1f7d4763ab: BREAKING: Bump the version range of jest from ^26.0.1 to ^27.5.1. You can find the complete list of breaking changes here.

    We strongly recommend to have completed the package role migration before upgrading to this version, as the package roles are used to automatically determine the testing environment for each package. If you instead want to set an explicit test environment for each package, you can do so for example in the "jest" section in package.json. The default test environment for all packages is now node, which is also the new Jest default.

    Note that one of the breaking changes of Jest 27 is that the jsdom environment no longer includes setImmediate and clearImmediate, which means you might need to update some of your frontend packages. Another notable change is that jest.useFakeTimers now defaults to the 'modern' implementation, which also mocks microtasks.

Patch Changes

  • e80ecad93c: Bump the rushstack api generator libraries to their latest versions

  • c54ce828bd: build(deps): bump eslint-plugin-jest from 25.3.4 to 26.1.2

  • f151dfee5a: build(deps): bump eslint-webpack-plugin from 2.6.0 to 3.1.1

  • 7e7ba704be: build(deps): bump @spotify/eslint-config-base from 12.0.0 to 13.0.0

  • ecd72391fb: build(deps): bump @spotify/eslint-config-typescript

  • 6a341b2d87: build(deps): bump @spotify/eslint-config-react from 12.0.0 to 13.0.0

  • 3c26b2edb5: build(deps): bump npm-packlist from 3.0.0 to 5.0.0

  • ed3551b7be: Introduced a new experimental test configuration with a number of changes. It switches the coverage provider from v8 to the default Babel provider, along with always enabling source maps in the Sucrase transform. It also adds a custom module loader that caches both file transforms and VM script objects across all projects in a test run, which provides a big performance boost when running tests from the project root, increasing speed and reducing memory usage.

    This new configuration is not enabled by default. It is enabled by setting the environment variable BACKSTAGE_NEXT_TESTS to a non-empty value.

  • 6ad0c45648: Added an experimental package fix command which applies automated fixes to the target package. The initial fix that is available is to add missing monorepo dependencies to the target package.

  • 5b3079694e: Stop logging "Stopped watcher" when shutting down the development backend.

  • f512554910: Updated the plugin template to install version 14 of @testing-library/user-event.

    To apply this change to your own project, update the devDependencies section in your package.json files:

     "devDependencies": {
    ... omitted dev dependencies ...
    - "@testing-library/user-event": "^13.1.8",
    + "@testing-library/user-event": "^14.0.0",
    ... omitted dev dependencies ...
    }
  • df7862cfa6: Fixed a bug were the react-hot-loader transform was being applied to backend development builds.

  • 230ad0826f: Bump to using @types/node v16

  • c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.

  • 948a56f401: Added a new experimental repo list-deprecations command, which scans the entire project for usage of deprecated APIs.

  • 4782f9e925: Fixed misleading log message during frontend plugin creation.

  • 0383cd0228: The versions:* commands no longer warns about duplicate plugin libraries, such as @backstage/plugin-catalog-common.

  • Updated dependencies

    • @backstage/config-loader@1.1.0

@backstage/config-loader@1.1.0

Minor Changes

  • 19f6c6c32a: Added ignoreSchemaErrors to schema.process.

Patch Changes

  • e0a51384ac: build(deps): bump ajv from 7.0.3 to 8.10.0
  • 230ad0826f: Bump to using @types/node v16
  • c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.

@backstage/integration@1.1.0

Minor Changes

  • b7436743cb: Gerrit integration: Added an optional configuration to set the Gitiles base url.

Patch Changes

  • 1691c6c5c2: Clarify that config locations that emit User and Group kinds now need to declare so in the catalog.locations.[].rules

  • 3ef123bbf0: Support external ID when assuming roles in S3 integration

    In order to assume a role created by a 3rd party as external ID is needed. This change adds an optional field to the s3 integration configuration and consumes that in the AwsS3UrlReader.

  • d26e1b0146: Exported replaceGitLabUrlType from package

@techdocs/cli@1.1.0

Minor Changes

  • 733187987b: Removed an undocumented, broken behavior where README.md files would be copied to index.md if it did not exist, leading to broken links in the TechDocs UI.

    WARNING: If you notice 404s in TechDocs after updating, check to make sure that all markdown files referenced in your mkdocs.ymls' nav sections exist. The following flag may be passed to the generate command to temporarily revert to the broken behavior.

    techdocs-cli generate --legacyCopyReadmeMdToIndexMd

Patch Changes

  • 230ad0826f: Bump to using @types/node v16
  • eb470ea54c: Adds a new flag to override the entrypoint when using a custom docker image. It could be used to reuse existing images with different entrypoints.
  • Updated dependencies
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-techdocs-node@1.1.0

@backstage/plugin-auth-backend@0.13.0

Minor Changes

  • 15d3a3c39a: BREAKING: All sign-in resolvers must now return a token in their sign-in result. Returning an id is no longer supported.
  • c5aeaf339d: BREAKING: All auth providers have had their default sign-in resolvers removed. This means that if you want to use a particular provider for sign-in, you must provide an explicit sign-in resolver. For more information on how to configure sign-in resolvers, see the sign-in resolver documentation.

Patch Changes

  • c5aeaf339d: DEPRECATION: The AuthProviderFactoryOptions type has been deprecated, as the options are now instead inlined in the AuthProviderFactory type. This will make it possible to more easily introduce new options in the future without a possibly breaking change.

  • 794f7542b6: Updated openid-client from 4.1.2 to 5.1.3

  • c5aeaf339d: DEPRECATION: The getEntityClaims helper has been deprecated, with getDefaultOwnershipEntityRefs being added to replace it.

  • de231e5b06: Declare oauth2 clientSecret with visibility secret

  • c5aeaf339d: DEPRECATION: All create<Provider>Provider and <provider>*SignInResolver have been deprecated. Instead, a single providers object is exported which contains all built-in auth providers.

    If you have a setup that currently looks for example like this:

    import {
    createRouter,
    defaultAuthProviderFactories,
    createGoogleProvider,
    googleEmailSignInResolver,
    } from '@backstage/plugin-auth-backend';
    import { Router } from 'express';
    import { PluginEnvironment } from '../types';

    export default async function createPlugin(
    env: PluginEnvironment,
    ): Promise<Router> {
    return await createRouter({
    ...env,
    providerFactories: {
    ...defaultAuthProviderFactories,
    google: createGoogleProvider({
    signIn: {
    resolver: googleEmailSignInResolver,
    },
    }),
    },
    });
    }

    You would migrate it to something like this:

    import {
    createRouter,
    providers,
    defaultAuthProviderFactories,
    } from '@backstage/plugin-auth-backend';
    import { Router } from 'express';
    import { PluginEnvironment } from '../types';

    export default async function createPlugin(
    env: PluginEnvironment,
    ): Promise<Router> {
    return await createRouter({
    ...env,
    providerFactories: {
    ...defaultAuthProviderFactories,
    google: providers.google.create({
    signIn: {
    resolver:
    providers.google.resolvers.emailMatchingUserEntityAnnotation(),
    },
    }),
    },
    });
    }
  • 2cc1d1b235: Applied the fix from version 0.12.3 of this package, which is part of the v1.0.1 release of Backstage.

  • c5aeaf339d: DEPRECATION The AuthResolverContext has received a number of changes, which is the context used by auth handlers and sign-in resolvers.

    The following fields deprecated: logger, tokenIssuer, catalogIdentityClient. If you need to access the logger, you can do so through a closure instead. The tokenIssuer has been replaced with an issueToken method, which is available directory on the context. The catalogIdentityClient has been replaced by the signInWithCatalogUser method, as well as the lower level findCatalogUser method and getDefaultOwnershipEntityRefs helper.

    It should be possible to migrate most sign-in resolvers to more or less only use signInWithCatalogUser, for example an email lookup resolver like this one:

    async ({ profile }, ctx) => {
    if (!profile.email) {
    throw new Error('Profile contained no email');
    }

    const entity = await ctx.catalogIdentityClient.findUser({
    annotations: {
    'acme.org/email': profile.email,
    },
    });

    const claims = getEntityClaims(entity);
    const token = await ctx.tokenIssuer.issueToken({ claims });

    return { id: entity.metadata.name, entity, token };
    };

    can be migrated to the following:

    async ({ profile }, ctx) => {
    if (!profile.email) {
    throw new Error('Profile contained no email');
    }

    return ctx.signInWithCatalogUser({
    annotations: {
    'acme.org/email': profile.email,
    },
    });
    };

    While a direct entity name lookup using a user ID might look like this:

    async ({ result: { fullProfile } }, ctx) => {
    return ctx.signInWithCatalogUser({
    entityRef: {
    name: fullProfile.userId,
    },
    });
    };

    If you want more control over the way that users are looked up, ownership is assigned, or tokens are issued, you can use a combination of the findCatalogUser, getDefaultOwnershipEntityRefs, and issueToken instead.

  • f4cdf4cac1: Defensively encode URL parameters when fetching ELB keys

  • 6ee04078e1: DEPRECATION: The tokenIssuer option for OAuthAdapter is no longer needed and has been deprecated.

  • a45bce06e3: Handle trailing slashes on GitHub enterpriseInstanceUrl settings

  • 45f7a261c7: Bumped passport-microsoft to resolve CVE-2021-41580

  • c5aeaf339d: Added exports of the following types: AuthProviderConfig, StateEncoder, TokenParams, AwsAlbResult.

  • Updated dependencies

    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-auth-node@0.2.0
    • @backstage/backend-common@0.13.2
    • @backstage/catalog-client@1.0.1

@backstage/plugin-auth-node@0.2.0

Minor Changes

  • 15d3a3c39a: BREAKING: Removed the deprecated id and entity fields from BackstageSignInResult.

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.2

@backstage/plugin-catalog@1.1.0

Minor Changes

  • bdc61b4002: Expose 'initalFilter' through initialKind prop on Catalog Page.

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 2a3cac4c60: Corrected replacements for depreciated FilteredEntityLayout items
  • f6d2694092: Added tableOptions property to CatalogTable and DefaultCatalogPage to support customization of the Catalog Table. Related issue #10453
  • 5d5fdbe541: Columns in CatalogTable now change depending on the entity kind, ensuring only relevant columns are displayed.
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/integration-react@1.0.1
    • @backstage/plugin-search-common@0.3.3
    • @backstage/plugin-catalog-common@1.0.1
    • @backstage/catalog-client@1.0.1

@backstage/plugin-catalog-backend@1.1.0

Minor Changes

  • 8012ac46a0: BREAKING (alpha api): Replace createCatalogPolicyDecision export with createCatalogConditionalDecision, which accepts a permission parameter of type ResourcePermission<'catalog-entity'> along with conditions. The permission passed is expected to be the handled permission in PermissionPolicy#handle, whose type must first be narrowed using methods like isPermission and isResourcePermission:

    class TestPermissionPolicy implements PermissionPolicy {
    async handle(
    request: PolicyQuery<Permission>,
    _user?: BackstageIdentityResponse,
    ): Promise<PolicyDecision> {
    if (
    // Narrow type of `request.permission` to `ResourcePermission<'catalog-entity'>
    isResourcePermission(request.permission, RESOURCE_TYPE_CATALOG_ENTITY)
    ) {
    return createCatalogConditionalDecision(
    request.permission,
    catalogConditions.isEntityOwner(
    _user?.identity.ownershipEntityRefs ?? [],
    ),
    );
    }

    return {
    result: AuthorizeResult.ALLOW,
    };
  • 8012ac46a0: BREAKING: Mark CatalogBuilder#addPermissionRules as @alpha.

  • fb02d2d94d: export locationSpecToLocationEntity

  • bf82edf4c9: Added /validate-entity endpoint

Patch Changes

  • ada4446733: Specify type of visibilityPermission property on collators and collator factories.

  • 1691c6c5c2: Clarify that config locations that emit User and Group kinds now need to declare so in the catalog.locations.[].rules

  • 8592cacfd3: Fixed an issue where sometimes entities would have stale relations "stuck" and not getting removed as expected, after the other end of the relation had stopped referring to them.

  • 23646e51a5: Use new PermissionEvaluator#authorizeConditional method when retrieving permission conditions.

  • 9fe24b0fc8: Adjust the error messages when entities fail validation, to clearly state what entity that failed it

  • 48405ed232: Added spec.profile.displayName to search index for Group kinds

  • 95408dbe99: Enable internal batching of very large deletions, to not run into SQL binding limits

  • 8012ac46a0: Handle changes to @alpha permission-related types.

    • All exported permission rules and conditions now have a resourceType.
    • createCatalogConditionalDecision now expects supplied conditions to have the appropriate resourceType.
    • createCatalogPermissionRule now expects resourceType as part of the supplied rule object.
    • Introduce new CatalogPermissionRule convenience type.
  • ffec894ed0: add gitlab to AnnotateScmSlugEntityProcessor

  • Updated dependencies

    • @backstage/integration@1.1.0
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/plugin-permission-node@0.6.0
    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-search-common@0.3.3
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-catalog-common@1.0.1
    • @backstage/catalog-client@1.0.1
    • @backstage/plugin-scaffolder-common@1.0.1

@backstage/plugin-cicd-statistics-module-gitlab@0.1.0

Minor Changes

  • d3af30b47d: Created a module to extract the CI/CD statistics from a Gitlab repository. Read the README.md in the cicd-statistics-module-gitlab plugin folder on how to set it up.

Patch Changes

  • Updated dependencies
    • @backstage/catalog-model@1.0.1
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-cicd-statistics@0.1.6

@backstage/plugin-gcalendar@0.3.0

Minor Changes

  • c6616e6fc9: Fixed issue when not all calendars were fetched for some accounts

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-kubernetes-backend@0.5.0

Minor Changes

  • 3d45427666: BREAKING Custom cluster suppliers need to cache their getClusters result

    To allow custom KubernetesClustersSupplier instances to refresh the list of clusters the getClusters method is now called whenever the list of clusters is needed.

    Existing KubernetesClustersSupplier implementations will need to ensure that getClusters can be called frequently and should return a cached result from getClusters instead.

    For example, here's a simple example of a custom supplier in packages/backend/src/plugins/kubernetes.ts:

    -import { KubernetesBuilder } from '@backstage/plugin-kubernetes-backend';
    +import {
    + ClusterDetails,
    + KubernetesBuilder,
    + KubernetesClustersSupplier,
    +} from '@backstage/plugin-kubernetes-backend';
    import { Router } from 'express';
    import { PluginEnvironment } from '../types';
    +import { Duration } from 'luxon';
    +
    +export class CustomClustersSupplier implements KubernetesClustersSupplier {
    + constructor(private clusterDetails: ClusterDetails[] = []) {}
    +
    + static create(refreshInterval: Duration) {
    + const clusterSupplier = new CustomClustersSupplier();
    + // setup refresh, e.g. using a copy of https://github.com/backstage/backstage/blob/master/plugins/search-backend-node/src/runPeriodically.ts
    + runPeriodically(
    + () => clusterSupplier.refreshClusters(),
    + refreshInterval.toMillis(),
    + );
    + return clusterSupplier;
    + }
    +
    + async refreshClusters(): Promise<void> {
    + this.clusterDetails = []; // fetch from somewhere
    + }
    +
    + async getClusters(): Promise<ClusterDetails[]> {
    + return this.clusterDetails;
    + }
    +}

    export default async function createPlugin(
    env: PluginEnvironment,
    ): Promise<Router> {
    - const { router } = await KubernetesBuilder.createBuilder({
    + const builder = await KubernetesBuilder.createBuilder({
    logger: env.logger,
    config: env.config,
    - }).build();
    + });
    + builder.setClusterSupplier(
    + CustomClustersSupplier.create(Duration.fromObject({ minutes: 60 })),
    + );
    + const { router } = await builder.build();

Patch Changes

  • 753a20c89e: Add kubernetes namespace annotation backstage.io/kubernetes-namespace to allow namespaced Kubernetes resources fetches
  • Updated dependencies
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-kubernetes-common@0.2.9

@backstage/plugin-permission-common@0.6.0

Minor Changes

  • 8012ac46a0: Add resourceType property to PermissionCondition type to allow matching them with ResourcePermission instances.

  • c98d271466: Refactor api types into more specific, decoupled names.

    • BREAKING:
      • Renamed AuthorizeDecision to EvaluatePermissionResponse
      • Renamed AuthorizeQuery to EvaluatePermissionRequest
      • Renamed AuthorizeRequest to EvaluatePermissionRequestBatch
      • Renamed AuthorizeResponse to EvaluatePermissionResponseBatch
      • Renamed Identified to IdentifiedPermissionMessage
    • Add PermissionMessageBatch helper type
    • Add ConditionalPolicyDecision, DefinitivePolicyDecision, and PolicyDecision types from @backstage/plugin-permission-node

Patch Changes

  • 90754d4fa9: Removed strict validation from PermissionCriteria schemas to support backward-compatible changes.

  • 2b07063d77: Added PermissionEvaluator, which will replace the existing PermissionAuthorizer interface. This new interface provides stronger type safety and validation by splitting PermissionAuthorizer.authorize() into two methods:

    • authorize(): Used when the caller requires a definitive decision.
    • authorizeConditional(): Used when the caller can optimize the evaluation of any conditional decisions. For example, a plugin backend may want to use conditions in a database query instead of evaluating each resource in memory.
  • 8012ac46a0: Add isPermission helper method.

  • 95284162d6: - Add more specific Permission types.

    • Add createPermission helper to infer the appropriate type for some permission input.
    • Add isResourcePermission helper to refine Permissions to ResourcePermissions.

@backstage/plugin-permission-node@0.6.0

Minor Changes

  • 8012ac46a0: BREAKING: Stronger typing in PermissionPolicy 🎉.

    Previously, it was entirely the responsibility of the PermissionPolicy author to only return CONDITIONAL decisions for permissions that are associated with a resource, and to return the correct kind of PermissionCondition instances inside the decision. Now, the policy authoring helpers provided in this package now ensure that the decision and permission match.

    For policy authors: rename and adjust api of createConditionExports. Previously, the function returned a factory for creating conditional decisions named createPolicyDecision, which had a couple of drawbacks:

    1. The function always creates a conditional policy decision, but this was not reflected in the name.
    2. Conditional decisions should only ever be returned from PermissionPolicy#handle for resource permissions, but there was nothing in the API that encoded this constraint.

    This change addresses the drawbacks above by making the following changes for policy authors:

    • The createPolicyDecision method has been renamed to createConditionalDecision.
    • Along with conditions, the method now accepts a permission, which must be a ResourcePermission. This is expected to be the handled permission in PermissionPolicy#handle, whose type must first be narrowed using methods like isPermission and isResourcePermission:
    class TestPermissionPolicy implements PermissionPolicy {
    async handle(
    request: PolicyQuery<Permission>,
    _user?: BackstageIdentityResponse,
    ): Promise<PolicyDecision> {
    if (
    // Narrow type of `request.permission` to `ResourcePermission<'catalog-entity'>
    isResourcePermission(request.permission, RESOURCE_TYPE_CATALOG_ENTITY)
    ) {
    return createCatalogConditionalDecision(
    request.permission,
    catalogConditions.isEntityOwner(
    _user?.identity.ownershipEntityRefs ?? [],
    ),
    );
    }

    return {
    result: AuthorizeResult.ALLOW,
    };

    BREAKING: when creating PermissionRules, provide a resourceType.

    export const isEntityOwner = createCatalogPermissionRule({
    name: 'IS_ENTITY_OWNER',
    description: 'Allow entities owned by the current user',
    + resourceType: RESOURCE_TYPE_CATALOG_ENTITY,
    apply: (resource: Entity, claims: string[]) => {
    if (!resource.relations) {
    return false;
    }

    return resource.relations
    .filter(relation => relation.type === RELATION_OWNED_BY)
    .some(relation => claims.includes(relation.targetRef));
    },
    toQuery: (claims: string[]) => ({
    key: 'relations.ownedBy',
    values: claims,
    }),
    });
  • c98d271466: BREAKING:

    • Rename PolicyAuthorizeQuery to PolicyQuery
    • Remove PolicyDecision, DefinitivePolicyDecision, and ConditionalPolicyDecision. These types are now exported from @backstage/plugin-permission-common
  • 322b69e46a: BREAKING: ServerPermissionClient now implements PermissionEvaluator, which moves out the capabilities for evaluating conditional decisions from authorize() to authorizeConditional() method.

Patch Changes

  • 90754d4fa9: Removed strict validation from PermissionCriteria schemas to support backward-compatible changes.
  • 8012ac46a0: Fix signature of permission rule in test suites
  • Updated dependencies
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/plugin-auth-node@0.2.0
    • @backstage/backend-common@0.13.2

@backstage/plugin-permission-react@0.4.0

Minor Changes

  • 5bdcb8c45d: BREAKING: More restrictive typing for usePermission hook and PermissionedRoute component. It's no longer possible to pass a resourceRef unless the permission is of type ResourcePermission.

Patch Changes

  • c98d271466: Use updated types from @backstage/plugin-permission-common
  • 322b69e46a: BREAKING: Make IdentityPermissionApi#authorize typing more strict, using AuthorizePermissionRequest and AuthorizePermissionResponse.
  • Updated dependencies
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-scaffolder@1.1.0

Minor Changes

  • 6331ec1ebc: Added a context menu to the scaffolder page that provides links to the template editor and actions reference. These links and the presence of the context menu can be toggled through the contextMenu prop of the scaffolder page.
  • 8fad3b6ef5: The Template Preview page has been renamed to Template Editor, and is not available at the /edit path instead. There is a redirect in place from /preview.

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 946af407db: Changed input label for owner field in GitlabRepoPicker
  • 230ad0826f: Bump to using @types/node v16
  • d34900af81: Added a new NextScaffolderRouter which will eventually replace the exiting router
  • 9975ff9852: Applied the fix from version 1.0.1 of this package, which is part of the v1.0.2 release of Backstage.
  • 4431873583: Update usePermission usage.
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/plugin-permission-react@0.4.0
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/integration-react@1.0.1
    • @backstage/plugin-catalog-common@1.0.1
    • @backstage/catalog-client@1.0.1
    • @backstage/plugin-scaffolder-common@1.0.1

@backstage/plugin-scaffolder-backend@1.1.0

Minor Changes

  • 2a7d52ca2c: Override default commit message and author details in GitLab action
  • f5f921dafb: Add new draft option to the publish:github:pull-request action.

Patch Changes

  • 64d9a031a8: build(deps): bump isbinaryfile from 4.0.8 to 5.0.0
  • 2f3d3a1eae: build(deps): bump @gitbeaker/core from 34.6.0 to 35.6.0
  • Updated dependencies
    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2
    • @backstage/catalog-client@1.0.1
    • @backstage/plugin-scaffolder-common@1.0.1

@backstage/plugin-search@0.8.0

Minor Changes

  • 520e21aaea: The following exports has now been fully deleted from this package and can be import from @backstage/plugin-search-react instead.

    SearchApi interface. searchApiRef SearchContextProvider useSearch

    SearchContext has now been fully deleted from this package and is no longer exported publicly. Use SearchContextProvider when access to the context is needed.

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0

  • 5c062f275e: Support customizing the content of the SidebarSearchModal

  • 38e01f2f70: Switch to SearchDocument type in DefaultResultListItem props

  • 230ad0826f: Bump to using @types/node v16

  • ab230a433f: The following exports has been moved to @backstage/plugin-search-react and will be removed in the next release. import from @backstage/plugin-search-react instead.

    • SearchApi interface.
    • searchApiRef
    • SearchContext
    • SearchContextProvider
    • useSearch
  • Updated dependencies

    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-search-react@0.1.0
    • @backstage/plugin-search-common@0.3.3

@backstage/plugin-search-backend@0.5.0

Minor Changes

  • 94ccd772d4: BREAKING: The authorization property is no longer returned on search results when queried. Note: this will only result in a breaking change if you have custom code in your frontend that relies on the authorization.resourceRef property on documents.

Patch Changes

  • 30f9884359: Check for non-resource permissions when authorizing result-by-result in AuthorizedSearchEngine.
  • 3c8cfaaa80: Use PermissionEvaluator instead of PermissionAuthorizer, which is now deprecated.
  • 62ee65422c: Use new IndexableResultSet type as return type of query method in SearchEngine implementation.
  • c98d271466: Use updated types from @backstage/plugin-permission-common
  • Updated dependencies
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/plugin-permission-node@0.6.0
    • @backstage/plugin-auth-node@0.2.0
    • @backstage/plugin-search-common@0.3.3
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-search-backend-node@0.6.0

@backstage/plugin-search-backend-node@0.6.0

Minor Changes

  • 0a63e99a26: BREAKING: IndexBuilder.addCollator() now requires a schedule parameter (replacing defaultRefreshIntervalSeconds) which is expected to be a TaskRunner that is configured with the desired search indexing schedule for the given collator.

    Scheduler.addToSchedule() now takes a new parameter object (ScheduleTaskParameters) with two new options id and scheduledRunner in addition to the migrated task argument.

    NOTE: The search backend plugin now creates a dedicated database for coordinating indexing tasks.

    To make this change to an existing app, make the following changes to packages/backend/src/plugins/search.ts:

    +import { Duration } from 'luxon';

    /* ... */

    + const schedule = env.scheduler.createScheduledTaskRunner({
    + frequency: Duration.fromObject({ minutes: 10 }),
    + timeout: Duration.fromObject({ minutes: 15 }),
    + initialDelay: Duration.fromObject({ seconds: 3 }),
    + });

    indexBuilder.addCollator({
    - defaultRefreshIntervalSeconds: 600,
    + schedule,
    factory: DefaultCatalogCollatorFactory.fromConfig(env.config, {
    discovery: env.discovery,
    tokenManager: env.tokenManager,
    }),
    });

    indexBuilder.addCollator({
    - defaultRefreshIntervalSeconds: 600,
    + schedule,
    factory: DefaultTechDocsCollatorFactory.fromConfig(env.config, {
    discovery: env.discovery,
    tokenManager: env.tokenManager,
    }),
    });

    const { scheduler } = await indexBuilder.build();
    - setTimeout(() => scheduler.start(), 3000);
    + scheduler.start();
    /* ... */

    NOTE: For scenarios where the lunr search engine is used in a multi-node configuration, a non-distributed TaskRunner like the following should be implemented to ensure consistency across nodes (alternatively, you can configure the search plugin to use a non-distributed DB such as SQLite):

    +import { TaskInvocationDefinition, TaskRunner } from '@backstage/backend-tasks';

    /* ... */

    + const schedule: TaskRunner = {
    + run: async (task: TaskInvocationDefinition) => {
    + const startRefresh = async () => {
    + while (!task.signal?.aborted) {
    + try {
    + await task.fn(task.signal);
    + } catch {
    + // ignore intentionally
    + }
    +
    + await new Promise(resolve => setTimeout(resolve, 600 * 1000));
    + }
    + };
    + startRefresh();
    + },
    + };

    indexBuilder.addCollator({
    - defaultRefreshIntervalSeconds: 600,
    + schedule,
    factory: DefaultCatalogCollatorFactory.fromConfig(env.config, {
    discovery: env.discovery,
    tokenManager: env.tokenManager,
    }),
    });

    /* ... */

Patch Changes

  • 62ee65422c: Use new IndexableResultSet type as return type of query method in SearchEngine implementation.
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/backend-tasks@0.3.0
    • @backstage/plugin-search-common@0.3.3

@backstage/plugin-search-react@0.1.0

Minor Changes

  • ab230a433f: New search package to hold things the search plugin itself and other frontend plugins (e.g. techdocs, home) depend on.

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0

  • 076b091113: api-report clean up - the package now exports following additional types:

    SearchContextProviderProps SearchContextValue SearchContextProviderForStorybookProps SearchApiProviderForStorybookProps

  • e1de8526aa: Versioned search context managed through version-bridge

  • Updated dependencies

    • @backstage/core-app-api@1.0.1
    • @backstage/core-plugin-api@1.0.1
    • @backstage/version-bridge@1.0.1
    • @backstage/plugin-search-common@0.3.3

@backstage/plugin-stack-overflow@0.1.0

Minor Changes

  • ac323de4ad: Add stack overflow plugin

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-home@0.4.20
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-search-common@0.3.3

@backstage/plugin-stack-overflow-backend@0.1.0

Minor Changes

  • ac323de4ad: Add stack overflow backend plugin

Patch Changes

  • Updated dependencies
    • @backstage/plugin-search-common@0.3.3

@backstage/plugin-tech-insights@0.2.0

Minor Changes

  • 567b13a84a: Add checksId option to EntityTechInsightsScorecardContent component

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0

  • 230ad0826f: Bump to using @types/node v16

  • 2fe58c7285: Improved the Tech-Insights documentation:

    • lifecycle examples used ttl when it should be timeToLive
    • Added list of included FactRetrievers
    • Added full backend example using all included FactRetrievers
    • Added boolean scorecard example image showing results of backend example
  • Updated dependencies

    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-tech-insights-backend@0.3.0

Minor Changes

  • 231fee736b: This backend now uses the @backstage/backend-tasks package facilities for scheduling fact retrievers.

    BREAKING: The buildTechInsightsContext function now takes an additional field in its options argument: scheduler. This is an instance of PluginTaskScheduler, which can be found in your backend initialization code's env.

     const builder = buildTechInsightsContext({
    logger: env.logger,
    config: env.config,
    database: env.database,
    discovery: env.discovery,
    + scheduler: env.scheduler,
    factRetrievers: [ /* ... */ ],
    });

Patch Changes

  • 21de525ce9: Updated README.md with better install instructions

  • c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.

  • 2fe58c7285: Improved the Tech-Insights documentation:

    • lifecycle examples used ttl when it should be timeToLive
    • Added list of included FactRetrievers
    • Added full backend example using all included FactRetrievers
    • Added boolean scorecard example image showing results of backend example
  • Updated dependencies

    • @backstage/backend-tasks@0.3.0
    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-tech-insights-node@0.2.9
    • @backstage/backend-common@0.13.2
    • @backstage/catalog-client@1.0.1

@backstage/plugin-techdocs@1.1.0

Minor Changes

  • ace749b785: TechDocs supports a new, experimental method of customization: addons!

    To customize the standalone TechDocs reader page experience, update your /packages/app/src/App.tsx in the following way:

    import { TechDocsIndexPage, TechDocsReaderPage } from '@backstage/plugin-techdocs';
    + import { TechDocsAddons } from '@backstage/plugin-techdocs-react';
    + import { SomeAddon } from '@backstage/plugin-some-plugin';

    // ...

    <Route path="/docs" element={<TechDocsIndexPage />} />
    <Route
    path="/docs/:namespace/:kind/:name/*"
    element={<TechDocsReaderPage />}
    >
    + <TechDocsAddons>
    + <SomeAddon />
    + </TechDocsAddons>
    </Route>

    // ...

    To customize the TechDocs reader experience on the Catalog entity page, update your packages/app/src/components/catalog/EntityPage.tsx in the following way:

    import { EntityTechdocsContent } from '@backstage/plugin-techdocs';
    + import { TechDocsAddons } from '@backstage/plugin-techdocs-react';
    + import { SomeAddon } from '@backstage/plugin-some-plugin';

    // ...

    <EntityLayoutWrapper>
    <EntityLayout.Route path="/" title="Overview">
    {overviewContent}
    </EntityLayout.Route>

    <EntityLayout.Route path="/docs" title="Docs">
    - <EntityTechDocsContent />
    + <EntityTechdocsContent>
    + <TechDocsAddons>
    + <SomeAddon />
    + </TechDocsAddons>
    + </EntityTechdocsContent>
    </EntityLayout.Route>
    </EntityLayoutWrapper>

    // ...

    If you do not wish to customize your TechDocs reader experience in this way at this time, no changes are necessary!

Patch Changes

  • ab230a433f: imports from @backstage/plugin-search-react instead of @backstage/plugin-search

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0

  • 230ad0826f: Bump to using @types/node v16

  • f0fb9153b7: Fix broken query selectors on techdocs

  • 9975ff9852: Applied the fix from version 1.0.1 of this package, which is part of the v1.0.2 release of Backstage.

  • 3ba256c389: Fixed a bug preventing custom TechDocs reader page implementations from rendering without being double-wrapped in the <TechDocsReaderPage /> component.

  • fe53fe97d7: Fix permalink scrolling for anchors where the id starts with a number.

  • 0152c0de22: Some documentation layout tweaks:

    • drawer toggle margins
    • code block margins
    • sidebar drawer width
    • inner content width
    • footer link width
    • sidebar table of contents scroll
  • 3ba256c389: Fixed a bug that caused addons in the Subheader location to break the default TechDocs reader page layout.

  • Updated dependencies

    • @backstage/integration@1.1.0
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-app-api@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-search-react@0.1.0
    • @backstage/plugin-techdocs-react@0.1.0
    • @backstage/integration-react@1.0.1

@backstage/plugin-techdocs-backend@1.1.0

Minor Changes

  • 733187987b: Removed an undocumented, broken behavior where README.md files would be copied to index.md if it did not exist, leading to broken links in the TechDocs UI.

    WARNING: If you notice 404s in TechDocs after updating, check to make sure that all markdown files referenced in your mkdocs.ymls' nav sections exist. The following configuration may be used to temporarily revert to the broken behavior.

    techdocs:
    generator:
    mkdocs:
    legacyCopyReadmeMdToIndexMd: true

Patch Changes

  • ada4446733: Specify type of visibilityPermission property on collators and collator factories.
  • 7762d54200: Fixed a bug affecting those with cache enabled that would result in empty content being cached if the first attempt to load a static asset from storage were made via a HEAD request, rather than a GET request.
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-search-common@0.3.3
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-catalog-common@1.0.1
    • @backstage/plugin-techdocs-node@1.1.0
    • @backstage/catalog-client@1.0.1

@backstage/plugin-techdocs-node@1.1.0

Minor Changes

  • bcf1a2496c: Removed an undocumented, broken behavior where README.md files would be copied to index.md if it did not exist, leading to broken links in the TechDocs UI.

Patch Changes

  • 9fa68705bf: The default container version used to generate TechDocs content is now v1.0.2.
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-search-common@0.3.3
    • @backstage/backend-common@0.13.2

@backstage/plugin-techdocs-react@0.1.0

Minor Changes

  • ff1cc8bced: This package will house frontend utilities related to TechDocs to be shared across other frontend Backstage packages.

    In this release, it introduces a framework that can be used create TechDocs addons.

    Note: this package is not necessarily stable yet. After iteration on this package, its stability will be signaled by a major-version bump.

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • Updated dependencies
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/version-bridge@1.0.1

@backstage/app-defaults@1.0.1

Patch Changes

  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-permission-react@0.4.0
    • @backstage/core-app-api@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/backend-common@0.13.2

Patch Changes

  • 19f6c6c32a: The backend will no longer fail to start up when configured secrets do not match the configuration schema.

  • b7436743cb: Added the GerritUrlReader that implements "readUrl".

  • 3ef123bbf0: Support external ID when assuming roles in S3 integration

    In order to assume a role created by a 3rd party as external ID is needed. This change adds an optional field to the s3 integration configuration and consumes that in the AwsS3UrlReader.

  • bae9359032: The logger returned from getVoidLogger is now uses a silenced console transport instead.

  • 3ff0e79654: Tweaked the UrlReader multiplexer so that it uses the more helpful NotAllowedError messaging for all methods.

  • 12608f8ba8: Add @types/webpack-env to dependencies.

  • f9f512559b: Updated the visibility of database connection fields in config to be secret

  • Updated dependencies

    • @backstage/integration@1.1.0
    • @backstage/config-loader@1.1.0

@backstage/backend-test-utils@0.1.23

Patch Changes

  • 0654c87cf2: TestDatabases.create will no longer set up an afterAll test handler if no databases are supported.
  • Updated dependencies
    • @backstage/cli@0.17.0
    • @backstage/backend-common@0.13.2

@backstage/catalog-client@1.0.1

Patch Changes

  • Updated dependencies
    • @backstage/catalog-model@1.0.1

@backstage/catalog-model@1.0.1

Patch Changes

  • e0a51384ac: build(deps): bump ajv from 7.0.3 to 8.10.0

  • c12f8374d1: Added a connection between www-artist and artist-lookup components

    Screenshots

    www-artist component

    artist-lookup component

@backstage/codemods@0.1.37

Patch Changes

  • 230ad0826f: Bump to using @types/node v16

@backstage/core-app-api@1.0.1

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 3ff2bfb66e: Refactored the route collection logic to prepare for future changes and avoid duplicate element tree traversal for the analytics context.
  • a7bb762dab: fixed empty body issue for POST requests using FetchAPI with 'plugin://' prefix
  • 230ad0826f: Bump to using @types/node v16
  • c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.
  • Updated dependencies
    • @backstage/core-plugin-api@1.0.1
    • @backstage/version-bridge@1.0.1

@backstage/core-components@0.9.3

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 25b8e8d5b5: Add BackstageTab to overridableComponents so can override styles in a theme
  • 230ad0826f: Bump to using @types/node v16
  • 41fd107189: Exported IdentityProviders type.
  • a13604b8f7: Adding a name to the core-components Tab styles so can customise in the theme settings
  • 19648d5cf5: fix support config ref to use backstage/backstage
  • d505e43ffc: Fix highlighting of active sidebar items.
  • 72f3dfd05a: Updated ProxiedSignInPageProps docs
  • 7741e47eae: <Sidebar /> now accepts additional props sidebarOptions and submenuOptions to allow further customization
  • Updated dependencies
    • @backstage/core-plugin-api@1.0.1

@backstage/core-plugin-api@1.0.1

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/version-bridge@1.0.1

@backstage/create-app@0.4.26

Patch Changes

  • 1691c6c5c2: Made User and Group entity kinds not permitted by the default catalog.rules config.

    The effect of this is that after creating a new Backstage repository, its catalog no longer permits regular users to register User or Group entities using the Backstage interface. Additionally, if you have config locations that result in User or Group entities, you need to add those kinds to its own specific rules:

    catalog:
    locations:
    # This applies for example to url type locations
    - type: url
    target: https://example.com/org.yaml
    rules:
    - allow: [User, Group]
    # But also note that this applies to ALL org location types!
    - type: github-org
    target: https://github.com/my-org-name
    rules:
    - allow: [User, Group]

    This rule change does NOT affect entity providers, only things that are emitted by entity processors.

    We recommend that this change is applied to your own Backstage repository, since it makes it impossible for regular end users to affect your org data through e.g. YAML files. To do so, remove the two kinds from the default rules in your config:

     catalog:
    rules:
    - - allow: [Component, System, API, Group, User, Resource, Location]
    + - allow: [Component, System, API, Resource, Location]

    And for any location that in any way results in org data being ingested, add the corresponding rule to it:

     catalog:
    locations:
    - type: github-org
    target: https://github.com/my-org-name
    + rules:
    + - allow: [User, Group]
  • 0e911394d2: Remove the knex package that is installed in the packages/backend as it's provided by the @backstage/* packages for you automatically. You can make the following change in your packages/backend/package.json if you wish to apply this change.

        "lint": "backstage-cli package lint",
    "test": "backstage-cli package test",
    "clean": "backstage-cli package clean",
    - "migrate:create": "knex migrate:make -x ts"
        "express": "^4.17.1",
    "express-promise-router": "^4.1.0",
    - "knex": "^0.21.6",
    "pg": "^8.3.0",
  • 520e21aaea: imports useSearch hook from new @backstage/plugin-search-react package.

    To upgrade existing Apps:

    1. Change the import to the following:

    packages/app/src/components/search/SearchPage.tsx

    import {
    ...
    SearchType,
    - useSearch,
    } from '@backstage/plugin-search';
    +import { useSearch } from '@backstage/plugin-search-react';
    1. Add @backstage/plugin-search-react as a dependency to the app.
  • 43759dd789: Removed @octokit/rest and @gitbeaker/node from backend dependencies as these are unused in the default app.

    To apply these changes to your existing app, remove the following lines from the dependencies section of packages/backend/package.json

         "@backstage/plugin-techdocs-backend": "^1.0.0",
    - "@gitbeaker/node": "^34.6.0",
    - "@octokit/rest": "^18.5.3",
  • e838a7060a: Add type resolutions for @types/react and types/react-dom.

    The reason for this is the usage of "@types/react": "*" as a dependency which is very common practice in react packages. This recently resolves to react 18 which introduces several breaking changes in both internal and external packages.

    To apply these changes to your existing installation, add a resolutions block to your package.json

      "resolutions": {
    "@types/react": "^17",
    "@types/react-dom": "^17"
    },

    If your existing app depends on react 16, use this resolution block instead.

      "resolutions": {
    "@types/react": "^16",
    "@types/react-dom": "^16"
    },
  • 0a63e99a26: BREAKING: IndexBuilder.addCollator() now requires a schedule parameter (replacing defaultRefreshIntervalSeconds) which is expected to be a TaskRunner that is configured with the desired search indexing schedule for the given collator.

    Scheduler.addToSchedule() now takes a new parameter object (ScheduleTaskParameters) with two new options id and scheduledRunner in addition to the migrated task argument.

    NOTE: The search backend plugin now creates a dedicated database for coordinating indexing tasks.

    To make this change to an existing app, make the following changes to packages/backend/src/plugins/search.ts:

    +import { Duration } from 'luxon';

    /* ... */

    + const schedule = env.scheduler.createScheduledTaskRunner({
    + frequency: Duration.fromObject({ minutes: 10 }),
    + timeout: Duration.fromObject({ minutes: 15 }),
    + initialDelay: Duration.fromObject({ seconds: 3 }),
    + });

    indexBuilder.addCollator({
    - defaultRefreshIntervalSeconds: 600,
    + schedule,
    factory: DefaultCatalogCollatorFactory.fromConfig(env.config, {
    discovery: env.discovery,
    tokenManager: env.tokenManager,
    }),
    });

    indexBuilder.addCollator({
    - defaultRefreshIntervalSeconds: 600,
    + schedule,
    factory: DefaultTechDocsCollatorFactory.fromConfig(env.config, {
    discovery: env.discovery,
    tokenManager: env.tokenManager,
    }),
    });

    const { scheduler } = await indexBuilder.build();
    - setTimeout(() => scheduler.start(), 3000);
    + scheduler.start();
    /* ... */

    NOTE: For scenarios where the lunr search engine is used in a multi-node configuration, a non-distributed TaskRunner like the following should be implemented to ensure consistency across nodes (alternatively, you can configure the search plugin to use a non-distributed DB such as SQLite):

    +import { TaskInvocationDefinition, TaskRunner } from '@backstage/backend-tasks';

    /* ... */

    + const schedule: TaskRunner = {
    + run: async (task: TaskInvocationDefinition) => {
    + const startRefresh = async () => {
    + while (!task.signal?.aborted) {
    + try {
    + await task.fn(task.signal);
    + } catch {
    + // ignore intentionally
    + }
    +
    + await new Promise(resolve => setTimeout(resolve, 600 * 1000));
    + }
    + };
    + startRefresh();
    + },
    + };

    indexBuilder.addCollator({
    - defaultRefreshIntervalSeconds: 600,
    + schedule,
    factory: DefaultCatalogCollatorFactory.fromConfig(env.config, {
    discovery: env.discovery,
    tokenManager: env.tokenManager,
    }),
    });

    /* ... */
  • c07d9f9e1c: Add helpful README.md files in the original packages and plugins folders

  • 230ad0826f: Bump to using @types/node v16

  • 1882dbda2b: Accept PermissionEvaluator instead of the deprecated PermissionAuthorizer.

    Apply the following to packages/backend/src/types.ts:

    - import { PermissionAuthorizer } from '@backstage/plugin-permission-common';
    + import { PermissionEvaluator } from '@backstage/plugin-permission-common';

    export type PluginEnvironment = {
    ...
    discovery: PluginEndpointDiscovery;
    tokenManager: TokenManager;
    scheduler: PluginTaskScheduler;
    - permissions: PermissionAuthorizer;
    + permissions: PermissionEvaluator;
    };
  • e80cca164d: Tweaked .eslintrc.js files in the template to avoid having them apply during development. This change does not affect create apps.

@backstage/dev-utils@1.0.1

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-app-api@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/integration-react@1.0.1
    • @backstage/test-utils@1.0.1
    • @backstage/app-defaults@1.0.1

@backstage/integration-react@1.0.1

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/search-common@0.3.3

Patch Changes

  • Updated dependencies
    • @backstage/plugin-search-common@0.3.3

@backstage/techdocs-common@0.11.14

Patch Changes

  • Updated dependencies
    • @backstage/plugin-techdocs-node@1.1.0

@backstage/test-utils@1.0.1

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • c98d271466: Use updated types from @backstage/plugin-permission-common
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-permission-react@0.4.0
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/core-app-api@1.0.1
    • @backstage/core-plugin-api@1.0.1

@backstage/version-bridge@1.0.1

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0

@backstage/plugin-airbrake@0.3.4

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/dev-utils@1.0.1
    • @backstage/test-utils@1.0.1

@backstage/plugin-airbrake-backend@0.2.4

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.2

@backstage/plugin-allure@0.1.20

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-analytics-module-ga@0.1.15

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-apache-airflow@0.1.12

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-api-docs@0.8.4

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • ae321bd414: build(deps): bump @asyncapi/react-component
  • 230ad0826f: Bump to using @types/node v16
  • 1c8ebf7af2: Add dedicated gRPC api definition widget
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-catalog@1.1.0

@backstage/plugin-app-backend@0.3.31

Patch Changes

  • Updated dependencies
    • @backstage/config-loader@1.1.0
    • @backstage/backend-common@0.13.2

@backstage/plugin-azure-devops@0.1.20

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-azure-devops-backend@0.3.10

Patch Changes

  • 236245d9f8: Stop loading all teams when plugin is initialized
  • Updated dependencies
    • @backstage/backend-common@0.13.2

@backstage/plugin-badges@0.2.28

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-badges-backend@0.1.25

Patch Changes

  • 4c93fd36ee: allow overriding DefaultBadgeBuilder.getMarkdownCode
  • Updated dependencies
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2
    • @backstage/catalog-client@1.0.1

@backstage/plugin-bazaar@0.1.19

Patch Changes

  • 69738379c7: Pass authorization header with Backstage token to backend requests.
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/cli@0.17.0
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-catalog@1.1.0
    • @backstage/catalog-client@1.0.1

@backstage/plugin-bazaar-backend@0.1.15

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.2
    • @backstage/backend-test-utils@0.1.23

@backstage/plugin-bitrise@0.1.31

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-catalog-backend-module-aws@0.1.4

Patch Changes

  • 5969c4b65c: Add a new provider AwsS3EntityProvider as replacement for AwsS3DiscoveryProcessor.

    In order to migrate from the AwsS3DiscoveryProcessor you need to apply the following changes:

    Before:

    # app-config.yaml

    catalog:
    locations:
    - type: s3-discovery
    target: https://sample-bucket.s3.us-east-2.amazonaws.com/prefix/
    /* packages/backend/src/plugins/catalog.ts */

    import { AwsS3DiscoveryProcessor } from '@backstage/plugin-catalog-backend-module-aws';

    const builder = await CatalogBuilder.create(env);
    /** ... other processors ... */
    builder.addProcessor(new AwsS3DiscoveryProcessor(env.reader));

    After:

    # app-config.yaml

    catalog:
    providers:
    awsS3:
    yourProviderId: # identifies your dataset / provider independent of config changes
    bucketName: sample-bucket
    prefix: prefix/ # optional
    region: us-east-2 # optional, uses the default region otherwise
    /* packages/backend/src/plugins/catalog.ts */

    import { AwsS3EntityProvider } from '@backstage/plugin-catalog-backend-module-aws';

    const builder = await CatalogBuilder.create(env);
    /** ... other processors and/or providers ... */
    builder.addEntityProvider(
    ...AwsS3EntityProvider.fromConfig(env.config, {
    logger: env.logger,
    schedule: env.scheduler.createScheduledTaskRunner({
    frequency: Duration.fromObject({ minutes: 30 }),
    timeout: Duration.fromObject({ minutes: 3 }),
    }),
    }),
    );

    For simple setups, you can omit the provider ID at the config which has the same effect as using default for it.

    # app-config.yaml

    catalog:
    providers:
    awsS3:
    # uses "default" as provider ID
    bucketName: sample-bucket
    prefix: prefix/ # optional
    region: us-east-2 # optional, uses the default region otherwise
  • 776a91ea3a: Corrected title and URL to setup documentation in README

  • Updated dependencies

    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/backend-tasks@0.3.0
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2

@backstage/plugin-catalog-backend-module-azure@0.1.2

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2

@backstage/plugin-catalog-backend-module-bitbucket@0.1.2

Patch Changes

  • c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.
  • 9fed130139: split BitbucketClient into BitbucketCloudClient, BitbucketServerClient
  • Updated dependencies
    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2

@backstage/plugin-catalog-backend-module-github@0.1.2

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2

@backstage/plugin-catalog-backend-module-gitlab@0.1.2

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2

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

Patch Changes

  • ebc0aef2c6: Changed relationship creation in LDAP data processor to leverage entityRefs instead of metadata.name
  • Updated dependencies
    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/backend-tasks@0.3.0
    • @backstage/catalog-model@1.0.1

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

Patch Changes

  • 1691c6c5c2: Clarify that config locations that emit User and Group kinds now need to declare so in the catalog.locations.[].rules
  • 85fc53df95: Now plugin configuration accept a new optional parameter groupSelect which allow the client to fetch defined fields from the ms-graph api.
  • Updated dependencies
    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/backend-tasks@0.3.0
    • @backstage/catalog-model@1.0.1

@backstage/plugin-catalog-common@1.0.1

Patch Changes

  • ada4446733: Use createPermission helper when creating permissions.
  • 8c8bee47f4: Add @alpha CatalogEntityPermission convenience type, available for import from @backstage/plugin-catalog-common/alpha.
  • Updated dependencies
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/search-common@0.3.3

@backstage/plugin-catalog-graph@0.2.16

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 77800a32dd: Added renderNode and renderLabel property to EntityRelationsGraph to support customization using CustomNode and CustomLabel components
  • 99063c39ae: Minor API report cleanup
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/catalog-client@1.0.1

@backstage/plugin-catalog-graphql@0.3.8

Patch Changes

  • Updated dependencies
    • @backstage/catalog-model@1.0.1

@backstage/plugin-catalog-import@0.8.7

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/integration-react@1.0.1
    • @backstage/catalog-client@1.0.1

@backstage/plugin-catalog-react@1.0.1

Patch Changes

  • 0ffd88a90e: Prevent permissions with types other than ResourcePermission<'catalog-entity'> from being used with the useEntityPermission hook.

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0

  • 4af82967f4: Decouple tags picker from backend entities

    EntityTagPicker fetches all the tags independently and it doesn't require all the entities to be available client side.

  • 4be0d1e777: Changed catalog filter components to only pay attention to query parameters relevant to the component.

  • 5d5fdbe541: Columns in CatalogTable now change depending on the entity kind, ensuring only relevant columns are displayed.

  • 863e7bcb7b: Updated the "unregister location" behavior in UnregisterEntityDialog. Removed unnecessary entity deletion requests that were sent after successfully deleting a location.

  • 37b04b5a5e: Removed broken link from Labels section of entity inspector.

  • a496cee4d1: Add support for string refs to the EntityRefLinks component

  • d34900af81: Added a new NextScaffolderRouter which will eventually replace the exiting router

  • 99063c39ae: Minor API report cleanup

  • 4431873583: Update usePermission usage.

  • Updated dependencies

    • @backstage/integration@1.1.0
    • @backstage/plugin-permission-react@0.4.0
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/version-bridge@1.0.1
    • @backstage/plugin-catalog-common@1.0.1
    • @backstage/catalog-client@1.0.1

@backstage/plugin-cicd-statistics@0.1.6

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-circleci@0.3.4

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-cloudbuild@0.3.4

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-code-climate@0.1.4

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-code-coverage@0.1.31

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-code-coverage-backend@0.1.29

Patch Changes

  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2
    • @backstage/catalog-client@1.0.1

@backstage/plugin-config-schema@0.1.27

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-cost-insights@0.11.26

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-explore@0.3.35

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-explore-react@0.0.16

@backstage/plugin-explore-react@0.0.16

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-firehydrant@0.1.21

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-fossa@0.2.36

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-gcp-projects@0.3.23

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-git-release-manager@0.3.17

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-github-actions@0.5.4

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-github-deployments@0.1.35

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/integration-react@1.0.1

@backstage/plugin-gitops-profiles@0.3.22

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-gocd@0.1.10

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • 2677db7c15: Add pagination controls to GoCD build table
  • 4c6c2b2918: Add DORA metrics insights to GoCD builds page
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-graphiql@0.2.36

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • 99063c39ae: Minor API report cleanup
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-graphql-backend@0.1.21

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-catalog-graphql@0.3.8

@backstage/plugin-home@0.4.20

Patch Changes

  • ab230a433f: Export template logos TemplateBackstageLogo and TemplateBackstageLogoIcon from package.

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0

  • ac323de4ad: - Adds new HomePageStackOverflowQuestions component which renders a list of stack overflow questions on your homepage.

    • Exports ComponentRenderer type.
  • 230ad0826f: Bump to using @types/node v16

  • 9b58775849: Updated the dependency on @backstage/config to ^1.0.0.

  • 99063c39ae: Minor API report cleanup

  • Updated dependencies

    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-stack-overflow@0.1.0

@backstage/plugin-ilert@0.1.30

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-jenkins@0.7.3

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-jenkins-common@0.1.3

@backstage/plugin-jenkins-backend@0.1.20

Patch Changes

  • 1917923ab8: Use PermissionEvaluator instead of PermissionAuthorizer, which is now deprecated.
  • b013de3f50: feature: provide access token to JenkinsInstanceConfig. It can be passed to other backend calls if authentication enabled. DefaultJenkinsInfoProvider sends always this token to catalog api if access token exists.
  • ca91107110: Fixed possible type error if jenkins response contains null values
  • 71f8708f00: Make resourceRef required in JenkinsApi to match usage.
  • Updated dependencies
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-auth-node@0.2.0
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-jenkins-common@0.1.3
    • @backstage/catalog-client@1.0.1

@backstage/plugin-jenkins-common@0.1.3

Patch Changes

  • ada4446733: Use createPermission helper when creating permissions.
  • Updated dependencies
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/plugin-catalog-common@1.0.1

@backstage/plugin-kafka@0.3.4

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-kafka-backend@0.2.24

Patch Changes

  • f26cf63878: build(deps-dev): bump @types/jest-when from 2.7.2 to 3.5.0
  • Updated dependencies
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2

@backstage/plugin-kubernetes@0.6.4

Patch Changes

  • 82e2ae6ff6: build(deps): bump cronstrue from 1.125.0 to 2.2.0
  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 1023ee6353: export kubernetes components
  • 230ad0826f: Bump to using @types/node v16
  • f616d99f6f: Fix division by zero in currentToDeclaredResourceToPerc when pod resources weren't set
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-kubernetes-common@0.2.9

@backstage/plugin-kubernetes-common@0.2.9

Patch Changes

  • Updated dependencies
    • @backstage/catalog-model@1.0.1

@backstage/plugin-lighthouse@0.3.4

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-newrelic@0.3.22

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-newrelic-dashboard@0.1.12

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-org@0.5.4

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0

  • cb592bfce7: Provides the ability to hide the relations toggle on the OwnershipCard as well as setting a default relation type.

    To hide the toggle simply include the hideRelationsToggle prop like this:

    <EntityOwnershipCard
    variant="gridItem"
    entityFilterKind={customEntityFilterKind}
    hideRelationsToggle
    />

    To set the default relation type, add the relationsType prop with a value of direct or aggregated, the default if not provided is direct. Here is an example:

    <EntityOwnershipCard
    variant="gridItem"
    entityFilterKind={customEntityFilterKind}
    relationsType="aggregated"
    />
  • d014fe2cb4: Introduced a new MyGroupsSidebarItem SidebarItem that links to one or more groups based on the logged in user's membership.

    To use MyGroupsSidebarItem you'll need to add it to your Root.tsx like this:

    // app/src/components/Root/Root.tsx
    + import { MyGroupsSidebarItem } from '@backstage/plugin-org';
    + import GroupIcon from '@material-ui/icons/People';

    <SidebarPage>
    <Sidebar>
    //...
    <SidebarGroup label="Menu" icon={<MenuIcon />}>
    {/* Global nav, not org-specific */}
    //...
    <SidebarItem icon={HomeIcon} to="catalog" text="Home" />
    + <MyGroupsSidebarItem
    + singularTitle="My Squad"
    + pluralTitle="My Squads"
    + icon={GroupIcon}
    + />
    //...
    </SidebarGroup>
    </ Sidebar>
    </SidebarPage>
  • 111995470d: add aggregated ownership type for kind group in OwnershipCard

  • 230ad0826f: Bump to using @types/node v16

  • 0bada4fc4d: Added the metadata.description to the bottom of each member on the MembersListCard

  • 99063c39ae: Minor API report cleanup

  • Updated dependencies

    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-pagerduty@0.3.31

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-periskop@0.1.2

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-periskop-backend@0.1.2

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.2

@backstage/plugin-permission-backend@0.5.6

Patch Changes

  • c98d271466: Use updated types from @backstage/plugin-permission-common
  • 95284162d6: - Add more specific check for policies which return conditional decisions for non-resource permissions.
    • Refine permission validation in authorize endpoint to differentiate between BasicPermission and ResourcePermission instances.
  • Updated dependencies
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/plugin-permission-node@0.6.0
    • @backstage/plugin-auth-node@0.2.0
    • @backstage/backend-common@0.13.2

@backstage/plugin-proxy-backend@0.2.25

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.2

@backstage/plugin-rollbar@0.4.4

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0
  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-rollbar-backend@0.1.28

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.2

@backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.6

Patch Changes

  • Updated dependencies
    • @backstage/plugin-scaffolder-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/backend-common@0.13.2

@backstage/plugin-scaffolder-backend-module-rails@0.3.6

Patch Changes

  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-scaffolder-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/backend-common@0.13.2

@backstage/plugin-scaffolder-backend-module-yeoman@0.2.4

Patch Changes

  • Updated dependencies
    • @backstage/plugin-scaffolder-backend@1.1.0

@backstage/plugin-scaffolder-common@1.0.1

Patch Changes

  • Updated dependencies
    • @backstage/catalog-model@1.0.1

@backstage/plugin-search-backend-module-elasticsearch@0.1.3

Patch Changes

  • 62ee65422c: Use new IndexableResultSet type as return type of query method in SearchEngine implementation.
  • Updated dependencies
    • @backstage/plugin-search-common@0.3.3
    • @backstage/plugin-search-backend-node@0.6.0

@backstage/plugin-search-backend-module-pg@0.3.2

Patch Changes

  • 62ee65422c: Use new IndexableResultSet type as return type of query method in SearchEngine implementation.
  • Updated dependencies
    • @backstage/plugin-search-common@0.3.3
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-search-backend-node@0.6.0

@backstage/plugin-search-common@0.3.3

Patch Changes

  • c8b295f2fb: - Introduce SearchDocument type. This type contains the subset of IndexableDocument properties relevant to the frontend, and is intended to be used for documents returned to the frontend from the search API.
    • SearchResultSet is now a wrapper for documents of type SearchDocument, and is intended to be used in the frontend. This isn't a breaking change, since IndexableDocuments are valid SearchDocuments, so the old and new types are compatible.
    • Introduce IndexableResultSet type, which wraps IndexableDocument instances in the same way as SearchResultSet.
  • Updated dependencies
    • @backstage/plugin-permission-common@0.6.0

@backstage/plugin-sentry@0.3.42

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 68bb66102d: Exposed options for the material table
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-shortcuts@0.2.5

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-sonarqube@0.3.4

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-splunk-on-call@0.3.28

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-tech-insights-backend-module-jsonfc@0.1.15

Patch Changes

  • e0a51384ac: build(deps): bump ajv from 7.0.3 to 8.10.0
  • ab008a0988: Removes node-cron from tech-insights to utilize backend-tasks
  • Updated dependencies
    • @backstage/plugin-tech-insights-node@0.2.9
    • @backstage/backend-common@0.13.2

@backstage/plugin-tech-insights-node@0.2.9

Patch Changes

  • 231fee736b: Adds an optional timeout to fact retriever registrations to stop a task if it runs too long.
  • Updated dependencies
    • @backstage/backend-common@0.13.2

@backstage/plugin-tech-radar@0.5.11

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • f69789330a: Fix an issue where the Radar is not updated when switching between different radars
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-todo@0.2.6

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/catalog-model@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-todo-backend@0.1.28

Patch Changes

  • 5da036264b: Fix method to get source-location.
  • Updated dependencies
    • @backstage/integration@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/backend-common@0.13.2
    • @backstage/catalog-client@1.0.1

@backstage/plugin-user-settings@0.4.3

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0

  • cf647f6a72: Wired up the OneLogin provider to be visible in the Settings UI when configured correctly.

    Previously it wasn't visible at all.

  • af508a895e: Dynamically layout User Settings theme toggle container

  • 230ad0826f: Bump to using @types/node v16

  • 016c574b51: Added the ability to render extra setting tabs

  • Updated dependencies

    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

@backstage/plugin-xcmetrics@0.2.24

Patch Changes

  • 24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
  • 230ad0826f: Bump to using @types/node v16
  • Updated dependencies
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1

example-app@0.2.70

Patch Changes

  • Updated dependencies
    • @backstage/plugin-permission-react@0.4.0
    • @backstage/plugin-home@0.4.20
    • @backstage/plugin-techdocs@1.1.0
    • @backstage/plugin-catalog-react@1.0.1
    • @backstage/cli@0.17.0
    • @backstage/plugin-scaffolder@1.1.0
    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-kubernetes@0.6.4
    • @backstage/core-app-api@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-catalog-graph@0.2.16
    • @backstage/plugin-catalog-import@0.8.7
    • @backstage/plugin-kafka@0.3.4
    • @backstage/plugin-lighthouse@0.3.4
    • @backstage/plugin-rollbar@0.4.4
    • @backstage/plugin-search-react@0.1.0
    • @backstage/plugin-search@0.8.0
    • @backstage/integration-react@1.0.1
    • @backstage/plugin-airbrake@0.3.4
    • @backstage/plugin-apache-airflow@0.1.12
    • @backstage/plugin-api-docs@0.8.4
    • @backstage/plugin-azure-devops@0.1.20
    • @backstage/plugin-badges@0.2.28
    • @backstage/plugin-catalog@1.1.0
    • @backstage/plugin-circleci@0.3.4
    • @backstage/plugin-cloudbuild@0.3.4
    • @backstage/plugin-code-coverage@0.1.31
    • @backstage/plugin-cost-insights@0.11.26
    • @backstage/plugin-explore@0.3.35
    • @backstage/plugin-gcalendar@0.3.0
    • @backstage/plugin-gcp-projects@0.3.23
    • @backstage/plugin-github-actions@0.5.4
    • @backstage/plugin-gocd@0.1.10
    • @backstage/plugin-graphiql@0.2.36
    • @backstage/plugin-jenkins@0.7.3
    • @backstage/plugin-newrelic@0.3.22
    • @backstage/plugin-org@0.5.4
    • @backstage/plugin-pagerduty@0.3.31
    • @backstage/plugin-sentry@0.3.42
    • @backstage/plugin-shortcuts@0.2.5
    • @backstage/plugin-stack-overflow@0.1.0
    • @backstage/plugin-tech-insights@0.2.0
    • @backstage/plugin-tech-radar@0.5.11
    • @backstage/plugin-todo@0.2.6
    • @backstage/plugin-user-settings@0.4.3
    • @backstage/plugin-search-common@0.3.3
    • @backstage/plugin-catalog-common@1.0.1
    • @backstage/app-defaults@1.0.1
    • @backstage/plugin-newrelic-dashboard@0.1.12

example-backend@0.2.70

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-backend@1.1.0
    • @backstage/plugin-techdocs-backend@1.1.0
    • @backstage/plugin-scaffolder-backend@1.1.0
    • @backstage/integration@1.1.0
    • @backstage/plugin-search-backend@0.5.0
    • @backstage/plugin-auth-backend@0.13.0
    • @backstage/backend-tasks@0.3.0
    • @backstage/plugin-permission-common@0.6.0
    • @backstage/plugin-permission-node@0.6.0
    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.15
    • @backstage/plugin-kafka-backend@0.2.24
    • @backstage/plugin-auth-node@0.2.0
    • @backstage/plugin-jenkins-backend@0.1.20
    • @backstage/plugin-badges-backend@0.1.25
    • @backstage/plugin-tech-insights-node@0.2.9
    • @backstage/plugin-todo-backend@0.1.28
    • @backstage/backend-common@0.13.2
    • @backstage/plugin-kubernetes-backend@0.5.0
    • @backstage/plugin-search-backend-node@0.6.0
    • @backstage/plugin-search-backend-module-elasticsearch@0.1.3
    • @backstage/plugin-search-backend-module-pg@0.3.2
    • @backstage/plugin-permission-backend@0.5.6
    • @backstage/plugin-tech-insights-backend@0.3.0
    • @backstage/plugin-azure-devops-backend@0.3.10
    • @backstage/plugin-scaffolder-backend-module-rails@0.3.6
    • example-app@0.2.70
    • @backstage/catalog-client@1.0.1
    • @backstage/plugin-app-backend@0.3.31
    • @backstage/plugin-code-coverage-backend@0.1.29
    • @backstage/plugin-graphql-backend@0.1.21
    • @backstage/plugin-proxy-backend@0.2.25
    • @backstage/plugin-rollbar-backend@0.1.28

techdocs-cli-embedded-app@0.2.69

Patch Changes

  • Updated dependencies
    • @backstage/plugin-techdocs@1.1.0
    • @backstage/cli@0.17.0
    • @backstage/catalog-model@1.0.1
    • @backstage/core-app-api@1.0.1
    • @backstage/core-components@0.9.3
    • @backstage/core-plugin-api@1.0.1
    • @backstage/plugin-techdocs-react@0.1.0
    • @backstage/integration-react@1.0.1
    • @backstage/test-utils@1.0.1
    • @backstage/plugin-catalog@1.1.0
    • @backstage/app-defaults@1.0.1