Backstage - release-2022-01-20

Security

@backstage/cli@0.12.0

Minor Changes

  • 08fa6a604a: Removed the typescript dependency from the Backstage CLI in order to decouple the TypeScript version in Backstage projects. To keep using a specific TypeScript version, be sure to add an explicit dependency in your root package.json:

    json "dependencies": { ... "typescript": "~4.5.4", }

    We recommend using a ~ version range since TypeScript releases do not adhere to semver.

    It may be the case that you end up with errors if you upgrade the TypeScript version. This is because there was a change to TypeScript not long ago that defaulted the type of errors caught in catch blocks to unknown. You can work around this by adding "useUnknownInCatchVariables": false to the "compilerOptions" in your tsconfig.json:

    json "compilerOptions": { ... "useUnknownInCatchVariables": false }

    Another option is to use the utilities from @backstage/errors to assert the type of errors caught in catch blocks:

    ```ts
    import { assertError, isError } from '@backstage/errors';

    try {
    ...
    } catch (error) {
    assertError(error);
    ...
    // OR
    if (isError(error)) {
    ...
    }
    }
    ```

    Yet another issue you might run into when upgrading TypeScript is incompatibilities in the types from react-use. The error you would run into looks something like this:

    ```plain
    node_modules/react-use/lib/usePermission.d.ts:1:54 - error TS2304: Cannot find name 'DevicePermissionDescriptor'.

    1 declare type PermissionDesc = PermissionDescriptor | DevicePermissionDescriptor | MidiPermissionDescriptor | PushPermissionDescriptor;
    ```

    If you encounter this error, the simplest fix is to replace full imports of react-use with more specific ones. For example, the following:

    ts import { useAsync } from 'react-use';

    Would be converted into this:

    ts import useAsync from 'react-use/lib/useAsync';

Patch Changes

  • 6e34e2cfbf: Introduce --deprecated option to config:check to log all deprecated app configuration properties

    sh $ yarn backstage-cli config:check --lax --deprecated config:check --lax --deprecated Loaded config from app-config.yaml The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.

  • f2fe4d240b: Switched to only apply @hot-loader/react-dom Webpack aliasing when using React 16.

  • 2a42d573d2: Introduced a new --experimental-type-build option to the various package build commands. This option switches the type definition build to be executed using API Extractor rather than a rollup plugin. In order for this experimental switch to work, you must also have @microsoft/api-extractor installed within your project, as it is an optional peer dependency.

    The biggest difference between the existing mode and the experimental one is that rather than just building a single dist/index.d.ts file, API Extractor will output index.d.ts, index.beta.d.ts, and index.alpha.d.ts, all in the dist directory. Each of these files will have exports from more unstable release stages stripped, meaning that index.d.ts will omit all exports marked with @alpha or @beta, while index.beta.d.ts will omit all exports marked with @alpha.

    In addition, the prepack command now has support for alphaTypes and betaTypes fields in the publishConfig of package.json. These optional fields can be pointed to dist/types.alpha.d.ts and dist/types.beta.d.ts respectively, which will cause <name>/alpha and <name>/beta entry points to be generated for the package. See the @backstage/catalog-model package for an example of how this can be used in practice.

  • Updated dependencies

    • @backstage/config@0.1.13
    • @backstage/config-loader@0.9.3

## @backstage/core-app-api@0.5.0

Minor Changes

  • ceebe25391: Removed deprecated SignInResult type, which was replaced with the new onSignInSuccess callback.

Patch Changes

  • fb565073ec: Add an allowUrl callback option to FetchMiddlewares.injectIdentityAuth
  • f050eec2c0: Added validation during the application startup that detects if there are any plugins present that have not had their required external routes bound. Failing the validation will cause a hard crash as it is a programmer error. It lets you detect early on that there are dangling routes, rather than having them cause an error later on.
  • Updated dependencies
    • @backstage/core-plugin-api@0.6.0
    • @backstage/config@0.1.13

## @backstage/core-plugin-api@0.6.0

Minor Changes

  • ceebe25391: Removed deprecated IdentityApi methods: getUserId, getIdToken, and getProfile.

    Existing usage of getUserId can be replaced by getBackstageIdentity, more precisely the equivalent of the previous userId can be retrieved like this:

    ```ts
    import { parseEntityRef } from '@backstage/catalog-model';

    const identity = await identityApi.getBackstageIdentity();
    const { name: userId } = parseEntityRef(identity.userEntityRef);
    ```

    Note that it is recommended to consume the entire userEntityRef rather than parsing out just the name, in order to support namespaces.

    Existing usage of getIdToken can be replaced by getCredentials, like this:

    ts const { token } = await identityApi.getCredentials();

    And existing usage of getProfile is replaced by getProfileInfo, which returns the same profile object, but is now async.

  • ceebe25391: Removed deprecated SignInResult type, which was replaced with the new onSignInSuccess callback.

  • d879072b0c: Removed the deprecated id field of BackstageIdentityResponse.

    Existing usage can be replaced by parsing the name of the identity.userEntityRef with parseEntityRef from @backstage/catalog-model, although note that it is recommended to consume the entire userEntityRef in order to support namespaces.

  • 94c02b4246: Removed deprecated BackstageIdentity type, which was replaced by BackstageIdentityResponse.

  • 234a36405b: Removed deprecated OAuthRequestApi types: AuthProvider, AuthRequesterOptions, AuthRequester, and PendingAuthRequest.

Patch Changes

  • Updated dependencies
    • @backstage/config@0.1.13

## @backstage/plugin-api-docs@0.7.0

Minor Changes

  • b3831be2fe: Renamed the createComponent external route to registerApi since it's now recommended to link to the entity registration page rather than the creation page.

Patch Changes

  • 306d879536: chore(deps): bump react-syntax-highligher and swagger-ui-react

  • c007bea546: Export GraphQlDefinitionWidget to be reused.

  • cd4e3c4d4e: Using an explicitly empty string for the url argument ensures that the swagger UI does not run into undefined errors.

  • 0c0d8a47e7: Bump @asyncapi/react-component for CVE

    CVE-2022-21680 and CVE-2022-21681

    See https://github.com/asyncapi/asyncapi-react/pull/522

  • Updated dependencies

    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog@0.7.9
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-auth-backend@0.7.0

Minor Changes

  • 6e92ee6267: Add new authentication provider to support the oauth2-proxy.

    BREAKING The AuthHandler requires now an AuthResolverContext parameter. This aligns with the
    behavior of the SignInResolver.

  • f8496730ab: Switched the handling of the BackstageIdentityResponse so that the returned identity.userEntityRef is always a full entity reference. If userEntityRef was previously set to jane, it will now be user:default/jane. The userEntityRef in the response is parsed from the sub claim in the payload of the Backstage token.

  • a53d7d8143: Update provider subs to return full entity ref.

Patch Changes

  • f815b7e4a4: build(deps): bump @google-cloud/firestore from 4.15.1 to 5.0.2
  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-catalog-backend@0.21.0

Minor Changes

  • 9f2a8dc423: BREAKING: Removed all remnants of the old catalog engine implementation.

    The old implementation has been deprecated for over half a year. To ensure that
    you are not using the old implementation, check that your
    packages/backend/src/plugins/catalog.ts creates the catalog builder using
    CatalogBuilder.create. If you instead call new CatalogBuilder, you are on
    the old implementation and will experience breakage if you upgrade to this
    version. If you are still on the old version, see the relevant change log
    entry

    for migration instructions.

    The minimal packages/backend/src/plugins/catalog.ts file is now:

    ts export default async function createPlugin( env: PluginEnvironment, ): Promise<Router> { const builder = await CatalogBuilder.create(env); builder.addProcessor(new ScaffolderEntitiesProcessor()); const { processingEngine, router } = await builder.build(); await processingEngine.start(); return router; }

    The following classes and interfaces have been removed:

    • The CatalogBuilder constructor (see above; use CatalogBuilder.create
      instead)
    • AddLocationResult
    • CommonDatabase
    • CreateDatabaseOptions
    • createNextRouter (use createRouter instead - or preferably, use the
      router field returned for you by catalogBuilder.build())
    • Database
    • DatabaseEntitiesCatalog (use EntitiesCatalog instead)
    • DatabaseLocationsCatalog (use LocationService instead)
    • DatabaseLocationUpdateLogEvent
    • DatabaseLocationUpdateLogStatus
    • DatabaseManager
    • DbEntitiesRequest
    • DbEntitiesResponse
    • DbEntityRequest
    • DbEntityResponse
    • DbLocationsRow
    • DbLocationsRowWithStatus
    • DbPageInfo
    • EntitiesCatalog.batchAddOrUpdateEntities (was only used by the legacy
      engine)
    • EntityUpsertRequest
    • EntityUpsertResponse
    • HigherOrderOperation
    • HigherOrderOperations
    • LocationReader
    • LocationReaders
    • LocationResponse
    • LocationsCatalog
    • LocationUpdateLogEvent
    • LocationUpdateStatus
    • NextCatalogBuilder (use CatalogBuilder.create instead)
    • NextRouterOptions (use RouterOptions instead)
    • ReadLocationEntity
    • ReadLocationError
    • ReadLocationResult
    • Transaction

    The RouterOptions interface has been un-deprecated, and has instead found use
    for passing into createRouter. Its shape has been significantly changed to
    accommodate the new router.

Patch Changes

  • e15ce5c16e: Integrate authorization into the delete entities endpoint
  • dce98a92f7: Now when entities are deleted, the parent entity state is updated such that it will "heal" accidental deletes on the next refresh round.
  • 02687954ca: Fixed a typo and made a little clarification to a warning message
  • 48248e2db5: Integrate permissions into entity ancestry endpoint in catalog-backend
  • 68edbbeafd: Fix bug with resource loading in permission integration
  • 7e38acaa9e: Integrate permissions into catalog-backend location endpoints
  • 6680853e0c: Export conditional permission policy helpers from catalog-backend
  • 2b27e49eb1: Internal update to match status field changes in @backstage/catalog-model.
  • Updated dependencies
    • @backstage/integration@0.7.2
    • @backstage/plugin-permission-common@0.4.0
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-permission-node@0.4.0
    • @backstage/plugin-catalog-common@0.1.1
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-org@0.4.0

Minor Changes

  • 1285c2fe60: BREAKING: Added a new and required catalogIndex external route. It should typically be linked to the catalogIndex route of the Catalog plugin:

    ts bind(orgPlugin.externalRoutes, { catalogIndex: catalogPlugin.routes.catalogIndex, });

Patch Changes

  • f006fe2529: For the component EntityMembersListCard you can now specify the pageSize. For example:

    tsx <Grid item xs={12}> <EntityMembersListCard pageSize={100} /> </Grid>

    If left empty it will by default use 50.

  • 2908a41b9b: Fixed typo in MembersListCard component

  • Updated dependencies

    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-permission-backend@0.4.0

Minor Changes

  • b768259244: BREAKING: Wrap batched requests and responses to /authorize in an envelope object. The latest version of the PermissionClient in @backstage/permission-common uses the new format - as long as the permission-backend is consumed using this client, no other changes are necessary.

Patch Changes

  • Updated dependencies
    • @backstage/plugin-auth-backend@0.7.0
    • @backstage/plugin-permission-common@0.4.0
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-permission-node@0.4.0

## @backstage/plugin-permission-common@0.4.0

Minor Changes

  • b768259244: BREAKING: Authorize API request and response types have been updated. The existing AuthorizeRequest and AuthorizeResponse types now match the entire request and response objects for the /authorize endpoint, and new types AuthorizeQuery and AuthorizeDecision have been introduced for individual items in the request and response batches respectively.

    BREAKING: PermissionClient has been updated to use the new request and response format in the latest version of @backstage/permission-backend.

Patch Changes

  • Updated dependencies
    • @backstage/config@0.1.13

## @backstage/plugin-permission-node@0.4.0

Minor Changes

  • 0ae4f4cc82: BREAKING: PolicyAuthorizeRequest type has been renamed to PolicyAuthorizeQuery.
    BREAKING: Update to use renamed request and response types from @backstage/plugin-permission-common.

Patch Changes

  • Updated dependencies
    • @backstage/plugin-auth-backend@0.7.0
    • @backstage/plugin-permission-common@0.4.0
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13

## @backstage/plugin-permission-react@0.3.0

Minor Changes

  • 0ae4f4cc82: BREAKING: Update to use renamed request and response types from @backstage/plugin-permission-common.

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/plugin-permission-common@0.4.0
    • @backstage/core-plugin-api@0.6.0
    • @backstage/config@0.1.13

## @backstage/plugin-scaffolder@0.12.0

Minor Changes

  • aecfe4f403: Make ScaffolderClient use the FetchApi. You now need to pass in an instance
    of that API when constructing the client, if you create a custom instance in
    your app.

    If you are replacing the factory:

    ```diff
    +import { fetchApiRef } from '@backstage/core-plugin-api';

    createApiFactory({
    api: scaffolderApiRef,
    deps: {
    discoveryApi: discoveryApiRef,
    scmIntegrationsApi: scmIntegrationsApiRef,
    - identityApi: identityApiRef,
    + fetchApi: fetchApiRef,
    },
    factory: ({
    discoveryApi,
    scmIntegrationsApi,
    - identityApi,
    + fetchApi,
    }) =>
    new ScaffolderClient({
    discoveryApi,
    scmIntegrationsApi,
    - identityApi,
    + fetchApi,
    }),
    }),
    ```

    If instantiating directly:

    ```diff
    +import { fetchApiRef } from '@backstage/core-plugin-api';

    +const fetchApi = useApi(fetchApiRef);
    const client = new ScaffolderClient({
    discoveryApi,
    scmIntegrationsApi,
    - identityApi,
    + fetchApi,
    }),
    ```

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.

  • b05d303226: Added the ability to support supplying secrets when creating tasks in the scaffolder-backend.

    deprecation: Deprecated ctx.token from actions in the scaffolder-backend. Please move to using ctx.secrets.backstageToken instead.

    deprecation: Deprecated task.token in TaskSpec in the scaffolder-backend. Please move to using task.secrets.backstageToken instead.

  • cd05442ed2: Refactoring the RepoUrlPicker into separate provider components to encapsulate provider nonsense

  • Updated dependencies

    • @backstage/core-components@0.8.5
    • @backstage/integration@0.7.2
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5
    • @backstage/integration-react@0.1.19
    • @backstage/plugin-scaffolder-common@0.1.3

## @backstage/plugin-tech-insights-backend@0.2.0

Minor Changes

  • dfd5e81721: BREAKING CHANGES:

    • The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments.
      Modify your techInsights.ts plugin configuration in packages/backend/src/plugins/techInsights.ts (or equivalent) the following way:

    ```diff
    -createFactRetrieverRegistration(
    - '1 1 1 * ', // Example cron, At 01:01 on day-of-month 1.
    - entityOwnershipFactRetriever,
    -),
    +createFactRetrieverRegistration({
    + cadende: '1 1 1 *
    ', // Example cron, At 01:01 on day-of-month 1.
    + factRetriever: entityOwnershipFactRetriever,
    +}),

    ```

    • TechInsightsStore interface has changed its signature of insertFacts method. If you have created your own implementation of either TechInsightsDatabase or FactRetrieverEngine you need to modify the implementation/call to this method to accept/pass-in an object instead if individual arguments. The interface now accepts an additional lifecycle argument which is optional (defined below). An example modification to fact retriever engine:

    diff -await this.repository.insertFacts(factRetriever.id, facts); +await this.repository.insertFacts({ + id: factRetriever.id, + facts, + lifecycle, +});

    Adds a configuration option to fact retrievers to define lifecycle for facts the retriever persists. Possible values are either 'max items' or 'time-to-live'. The former will keep only n number of items in the database for each fact per entity. The latter will remove all facts that are older than the TTL value.

    Possible values:

    • { maxItems: 5 } // Deletes all facts for the retriever/entity pair, apart from the last five
    • { ttl: 1209600000 } // (2 weeks) Deletes all facts older than 2 weeks for the retriever/entity pair
    • { ttl: { weeks: 2 } } // Deletes all facts older than 2 weeks for the retriever/entity pair

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-tech-insights-node@0.2.0
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-tech-insights-node@0.2.0

Minor Changes

  • dfd5e81721: BREAKING CHANGES:

    • The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments.
      Modify your techInsights.ts plugin configuration in packages/backend/src/plugins/techInsights.ts (or equivalent) the following way:

    ```diff
    -createFactRetrieverRegistration(
    - '1 1 1 * ', // Example cron, At 01:01 on day-of-month 1.
    - entityOwnershipFactRetriever,
    -),
    +createFactRetrieverRegistration({
    + cadende: '1 1 1 *
    ', // Example cron, At 01:01 on day-of-month 1.
    + factRetriever: entityOwnershipFactRetriever,
    +}),

    ```

    • TechInsightsStore interface has changed its signature of insertFacts method. If you have created your own implementation of either TechInsightsDatabase or FactRetrieverEngine you need to modify the implementation/call to this method to accept/pass-in an object instead if individual arguments. The interface now accepts an additional lifecycle argument which is optional (defined below). An example modification to fact retriever engine:

    diff -await this.repository.insertFacts(factRetriever.id, facts); +await this.repository.insertFacts({ + id: factRetriever.id, + facts, + lifecycle, +});

    Adds a configuration option to fact retrievers to define lifecycle for facts the retriever persists. Possible values are either 'max items' or 'time-to-live'. The former will keep only n number of items in the database for each fact per entity. The latter will remove all facts that are older than the TTL value.

    Possible values:

    • { maxItems: 5 } // Deletes all facts for the retriever/entity pair, apart from the last five
    • { ttl: 1209600000 } // (2 weeks) Deletes all facts older than 2 weeks for the retriever/entity pair
    • { ttl: { weeks: 2 } } // Deletes all facts older than 2 weeks for the retriever/entity pair

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13

## @backstage/plugin-techdocs@0.13.0

Minor Changes

  • aecfe4f403: Make TechDocsClient and TechDocsStorageClient use the FetchApi. You now
    need to pass in an instance of that API when constructing the client, if you
    create a custom instance in your app.

    If you are replacing the factory:

    ```diff
    +import { fetchApiRef } from '@backstage/core-plugin-api';

    createApiFactory({
    api: techdocsStorageApiRef,
    deps: {
    configApi: configApiRef,
    discoveryApi: discoveryApiRef,
    identityApi: identityApiRef,
    + fetchApi: fetchApiRef,
    },
    factory: ({
    configApi,
    discoveryApi,
    identityApi,
    + fetchApi,
    }) =>
    new TechDocsStorageClient({
    configApi,
    discoveryApi,
    identityApi,
    + fetchApi,
    }),
    }),
    createApiFactory({
    api: techdocsApiRef,
    deps: {
    configApi: configApiRef,
    discoveryApi: discoveryApiRef,
    - identityApi: identityApiRef,
    + fetchApi: fetchApiRef,
    },
    factory: ({
    configApi,
    discoveryApi,
    - identityApi,
    + fetchApi,
    }) =>
    new TechDocsClient({
    configApi,
    discoveryApi,
    - identityApi,
    + fetchApi,
    }),
    }),
    ```

    If instantiating directly:

    ```diff
    +import { fetchApiRef } from '@backstage/core-plugin-api';

    +const fetchApi = useApi(fetchApiRef);
    const storageClient = new TechDocsStorageClient({
    configApi,
    discoveryApi,
    identityApi,
    + fetchApi,
    });
    const techdocsClient = new TechDocsClient({
    configApi,
    discoveryApi,
    - identityApi,
    + fetchApi,
    }),
    ```

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • 29710c91c2: use lighter color for block quotes and horizontal rulers
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/integration@0.7.2
    • @backstage/plugin-search@0.5.6
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog@0.7.9
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/integration-react@0.1.19

## @backstage/plugin-techdocs-backend@0.13.0

Minor Changes

  • ca2ee182c3: BREAKING: The cache option is now required by createRouter.

    Added catalog-based authorization to TechDocs backend. When permissions are enabled for Backstage (via the permission.enabled config) the current user must have read access to the doc's corresponding catalog entity. The backend will return a 404 if the current user doesn't have access or if the entity doesn't exist. Entities are cached to for a short time to optimize the /static/docs request path, which can be called many times when loading a single TechDocs page.

    Note: If you publish your TechDocs documentation to storage in a custom way under paths that do not conform to the default :namespace/:kind/:name pattern, then TechDocs will not work with permissions enabled. We want understand these use cases better and provide a solution in the future, so reach out to us on Discord in the #docs-like-code channel if you would like to help out.

Patch Changes

  • Updated dependencies
    • @backstage/integration@0.7.2
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/techdocs-common@0.11.4
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/app-defaults@0.1.5

Patch Changes

  • Updated dependencies
    • @backstage/plugin-permission-react@0.3.0
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/core-app-api@0.5.0

## @backstage/backend-common@0.10.4

Patch Changes

  • f685e1398f: Loading of app configurations now reference the @deprecated construct from
    JSDoc to determine if a property in-use has been deprecated. Users are notified
    of deprecated keys in the format:

    txt The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.

    When the withDeprecatedKeys option is set to true in the process method
    of loadConfigSchema, the user will be notified that deprecated keys have been
    identified in their app configuration.

    The backend-common and plugin-app-backend packages have been updated to set
    withDeprecatedKeys to true so that users are notified of deprecated settings
    by default.

  • Updated dependencies

    • @backstage/integration@0.7.2
    • @backstage/config@0.1.13
    • @backstage/config-loader@0.9.3

## @backstage/backend-tasks@0.1.4

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13

## @backstage/backend-test-utils@0.1.14

Patch Changes

  • Updated dependencies
    • @backstage/cli@0.12.0
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13

## @backstage/catalog-client@0.5.5

Patch Changes

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

## @backstage/catalog-model@0.9.10

Patch Changes

  • 8b5a7763d5: Added alpha release stage type declarations, accessible via @backstage/catalog-model/alpha.

    BREAKING: The experimental entity status field was removed from the base Entity type and is now only available on the AlphaEntity type from the alpha release stage, along with all accompanying types that were previously marked as UNSTABLE_.

    For example, the following import:

    ts import { UNSTABLE_EntityStatusItem } from '@backstage/catalog-model';

    Becomes this:

    ts import { EntityStatusItem } from '@backstage/catalog-model/alpha';

    Note that exports that are only available from the alpha release stage are considered unstable and do not adhere to the semantic versioning of the package.

  • Updated dependencies

    • @backstage/config@0.1.13

## @backstage/codemods@0.1.30

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/core-app-api@0.5.0

## @backstage/config@0.1.13

Patch Changes

  • f685e1398f: Loading of app configurations now reference the @deprecated construct from
    JSDoc to determine if a property in-use has been deprecated. Users are notified
    of deprecated keys in the format:

    txt The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.

    When the withDeprecatedKeys option is set to true in the process method
    of loadConfigSchema, the user will be notified that deprecated keys have been
    identified in their app configuration.

    The backend-common and plugin-app-backend packages have been updated to set
    withDeprecatedKeys to true so that users are notified of deprecated settings
    by default.

## @backstage/config-loader@0.9.3

Patch Changes

  • f685e1398f: Loading of app configurations now reference the @deprecated construct from
    JSDoc to determine if a property in-use has been deprecated. Users are notified
    of deprecated keys in the format:

    txt The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.

    When the withDeprecatedKeys option is set to true in the process method
    of loadConfigSchema, the user will be notified that deprecated keys have been
    identified in their app configuration.

    The backend-common and plugin-app-backend packages have been updated to set
    withDeprecatedKeys to true so that users are notified of deprecated settings
    by default.

  • Updated dependencies

    • @backstage/config@0.1.13

## @backstage/core-components@0.8.5

Patch Changes

  • 306d879536: chore(deps): bump react-syntax-highligher and swagger-ui-react

  • 6b05ad1265: Updated the SignInPage, ProxiedSignInPage and UserIdentity implementations to match the removals of the deprecated IdentityApi methods and types.

  • 8bb0f4bc8a: - Add useContent hook to have a reference to the current main content element

    • Sets the main content reference on Content component
  • 7ba416be78: The Bar component will now render a MobileSidebar instead of the current sidebar on smaller screens. The state of the MobileSidebar will be treated as always open.


    Add MobileSidebar: A navigation component, which sticks to the bottom. If there is no content in the Sidebar, it won't be rendered. If there are children in the Sidebar, but no SidebarGroups as children, it will render all children into a default overlay menu, which can be displayed by clicking a menu item. If SidebarGroups are provided, it will render them in the bottom navigation. Additionally, a MobileSidebarContext, which wraps the component, will save the selected menu item.

    Add SidebarGroup: Groups items of the Sidebar together. On bigger screens, this won't have any effect at the moment. On smaller screens, it will render a given icon into the MobileSidebar. If a route is provided, clicking the SidebarGroup in the MobileSidebar will route to the page. If no route is provided, it will add a provided icon to the MobileSidebar as a menu item & will render the children into an overlay menu, which will be displayed when the menu item is clicked.

  • Updated dependencies

    • @backstage/core-plugin-api@0.6.0
    • @backstage/config@0.1.13

## @backstage/create-app@0.4.14

Patch Changes

  • d4941024bc: Rebind external route for catalog import plugin from scaffolderPlugin.routes.root to catalogImportPlugin.routes.importPage.

    To make this change to an existing app, make the following change to packages/app/src/App.tsx

    diff const App = createApp({ ... bindRoutes({ bind }) { ... bind(apiDocsPlugin.externalRoutes, { - createComponent: scaffolderPlugin.routes.root, + registerApi: catalogImportPlugin.routes.importPage, }); ... }, });

  • b5402d6d72: Migrated the app template to React 17.

    To apply this change to an existing app, make sure you have updated to the latest version of @backstage/cli, and make the following change to packages/app/package.json:

    diff "history": "^5.0.0", - "react": "^16.13.1", - "react-dom": "^16.13.1", + "react": "^17.0.2", + "react-dom": "^17.0.2", "react-router": "6.0.0-beta.0",

    Since we have recently moved over all react and react-dom dependencies to peerDependencies of all packages, and included React 17 in the version range, this should be all you need to do. If you end up with duplicate React installations, first make sure that all of your plugins are up-to-date, including ones for example from @roadiehq. If that doesn't work, you may need to fall back to adding Yarn resolutions in the package.json of your project root:

    diff + "resolutions": { + "react": "^17.0.2", + "react-dom": "^17.0.2" + },

  • 5e8d278f8e: Added an external route binding from the org plugin to the catalog index page.

    This change is needed because @backstage/plugin-org now has a required external route that needs to be bound for the app to start.

    To apply this change to an existing app, make the following change to packages/app/src/App.tsx:

    diff import { ScaffolderPage, scaffolderPlugin } from '@backstage/plugin-scaffolder'; +import { orgPlugin } from '@backstage/plugin-org'; import { SearchPage } from '@backstage/plugin-search';

    And further down within the createApp call:

    diff bind(scaffolderPlugin.externalRoutes, { registerComponent: catalogImportPlugin.routes.importPage, }); + bind(orgPlugin.externalRoutes, { + catalogIndex: catalogPlugin.routes.catalogIndex, + }); },

  • fb08e2f285: Updated the configuration of the app-backend plugin to enable the static asset store by passing on database from the plugin environment to createRouter.

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

    diff export default async function createPlugin({ logger, config, + database, }: PluginEnvironment): Promise<Router> { return await createRouter({ logger, config, + database, appPackageName: 'app', }); }

  • 7ba416be78: You can now add SidebarGroups to the current Sidebar. This will not affect how the current sidebar is displayed, but allows a customization on how the MobileSidebar on smaller screens will look like. A SidebarGroup will be displayed with the given icon in the MobileSidebar.

    A SidebarGroup can either link to an existing page (e.g. /search or /settings) or wrap components, which will be displayed in a full-screen overlay menu (e.g. Menu).

    diff <Sidebar> <SidebarLogo /> + <SidebarGroup label="Search" icon={<SearchIcon />} to="/search"> <SidebarSearchModal /> + </SidebarGroup> <SidebarDivider /> + <SidebarGroup label="Menu" icon={<MenuIcon />}> <SidebarItem icon={HomeIcon} to="catalog" text="Home" /> <SidebarItem icon={CreateComponentIcon} to="create" text="Create..." /> <SidebarDivider /> <SidebarScrollWrapper> <SidebarItem icon={MapIcon} to="tech-radar" text="Tech Radar" /> </SidebarScrollWrapper> + </SidebarGroup> <SidebarSpace /> <SidebarDivider /> + <SidebarGroup + label="Settings" + icon={<UserSettingsSignInAvatar />} + to="/settings" + > <SidebarSettings /> + </SidebarGroup> </Sidebar>

    Additionally, you can order the groups differently in the MobileSidebar than in the usual Sidebar simply by giving a group a priority. The groups will be displayed in descending order from left to right.

    ```diff
    <SidebarGroup
    label="Settings"
    icon={}
    to="/settings"
    + priority={1}

    <SidebarSettings />
    


    ```

    If you decide against adding SidebarGroups to your Sidebar the MobileSidebar will contain one default menu item, which will open a full-screen overlay menu displaying all the content of the current Sidebar.

    More information on the SidebarGroup & the MobileSidebar component can be found in the changeset for the core-components.

  • 08fa6a604a: The app template has been updated to add an explicit dependency on typescript in the root package.json. This is because it was removed as a dependency of @backstage/cli in order to decouple the TypeScript versioning in Backstage projects.

    To apply this change in an existing app, add a typescript dependency to your package.json in the project root:

    json "dependencies": { ... "typescript": "~4.5.4", }

    We recommend using a ~ version range since TypeScript releases do not adhere to semver.

    It may be the case that you end up with errors if you upgrade the TypeScript version. This is because there was a change to TypeScript not long ago that defaulted the type of errors caught in catch blocks to unknown. You can work around this by adding "useUnknownInCatchVariables": false to the "compilerOptions" in your tsconfig.json:

    json "compilerOptions": { ... "useUnknownInCatchVariables": false }

    Another option is to use the utilities from @backstage/errors to assert the type of errors caught in catch blocks:

    ```ts
    import { assertError, isError } from '@backstage/errors';

    try {
    ...
    } catch (error) {
    assertError(error);
    ...
    // OR
    if (isError(error)) {
    ...
    }
    }
    ```

    Yet another issue you might run into when upgrading TypeScript is incompatibilities in the types from react-use. The error you would run into looks something like this:

    ```plain
    node_modules/react-use/lib/usePermission.d.ts:1:54 - error TS2304: Cannot find name 'DevicePermissionDescriptor'.

    1 declare type PermissionDesc = PermissionDescriptor | DevicePermissionDescriptor | MidiPermissionDescriptor | PushPermissionDescriptor;
    ```

    If you encounter this error, the simplest fix is to replace full imports of react-use with more specific ones. For example, the following:

    ts import { useAsync } from 'react-use';

    Would be converted into this:

    ts import useAsync from 'react-use/lib/useAsync';

## @backstage/dev-utils@0.2.18

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/test-utils@0.2.3
    • @backstage/core-app-api@0.5.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10
    • @backstage/app-defaults@0.1.5
    • @backstage/integration-react@0.1.19

## @backstage/integration@0.7.2

Patch Changes

  • f45e99e5da: Do not return a token rather than fail where the owner is not in the allowed installation owners
    for a GitHub app. This allows anonymous access to public files in the organisation.
  • Updated dependencies
    • @backstage/config@0.1.13

## @backstage/integration-react@0.1.19

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/integration@0.7.2
    • @backstage/core-plugin-api@0.6.0
    • @backstage/config@0.1.13

## @backstage/techdocs-common@0.11.4

Patch Changes

  • 47277c0d8c: Updated the default version of the @spotify/techdocs container used when techdocs.generator.runIn is docker to v0.3.6, which includes an update to mkdocs-monorepo-plugin that allows glob-based wildcard includes.
  • Updated dependencies
    • @backstage/integration@0.7.2
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/test-utils@0.2.3

Patch Changes

  • c54c0d9d10: Add MockPermissionApi
  • 6bf7826258: Added a MockFetchApi
  • Updated dependencies
    • @backstage/plugin-permission-react@0.3.0
    • @backstage/plugin-permission-common@0.4.0
    • @backstage/core-plugin-api@0.6.0
    • @backstage/core-app-api@0.5.0
    • @backstage/config@0.1.13

## @backstage/plugin-airbrake@0.1.1

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-allure@0.1.12

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-analytics-module-ga@0.1.7

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/config@0.1.13

## @backstage/plugin-apache-airflow@0.1.4

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-app-backend@0.3.22

Patch Changes

  • f685e1398f: Loading of app configurations now reference the @deprecated construct from
    JSDoc to determine if a property in-use has been deprecated. Users are notified
    of deprecated keys in the format:

    txt The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.

    When the withDeprecatedKeys option is set to true in the process method
    of loadConfigSchema, the user will be notified that deprecated keys have been
    identified in their app configuration.

    The backend-common and plugin-app-backend packages have been updated to set
    withDeprecatedKeys to true so that users are notified of deprecated settings
    by default.

  • eb00e8af14: Updated the cache control headers for static assets to instruct clients to cache them for 14 days.

  • eb00e8af14: Added a new asset cache that stores static assets from previous deployments in the database. This fixes an issue where users have old browser tabs open and try to lazy-load static assets that no longer exist in the latest version.

    The asset cache is enabled by passing the database option to createRouter.

  • Updated dependencies

    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/config-loader@0.9.3

## @backstage/plugin-azure-devops@0.1.11

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-azure-devops-backend@0.3.1

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13

## @backstage/plugin-badges@0.2.20

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-badges-backend@0.1.16

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-bazaar@0.1.10

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • 8a6950b822: Switched out internal usage of the catalogRouteRef from @backstage/plugin-catalog-react.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/cli@0.12.0
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog@0.7.9
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-bazaar-backend@0.1.7

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/backend-test-utils@0.1.14

## @backstage/plugin-bitrise@0.1.23

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-catalog@0.7.9

Patch Changes

  • 7ba416be78: @backstage/plugin-user-settings: Hide Header on mobile screens to improve the UI & give more space to the content. Furthermore, the "Pin Sidebar" setting is removed on mobile screens, as the mobile sidebar is always pinned to the bottom.

    Other plugins: Smaller style adjustments across plugins to improve the UI on mobile devices.

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.

  • c54c0d9d10: Add permission check to unregister entity button

    If the permissions framework is disabled, this change should have no effect. If the permission framework is enabled, the unregister entity button will be disabled for those who do not have access to the catalogEntityDeletePermission as specified in your permission policy.

  • 61ded2a863: Export the RelatedEntitiesCard component which is helpful in case you want to model custom relations between entities

  • 2b27e49eb1: Internal update to match status field changes in @backstage/catalog-model.

  • Updated dependencies

    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/plugin-catalog-common@0.1.1
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5
    • @backstage/integration-react@0.1.19

## @backstage/plugin-catalog-backend-module-ldap@0.3.10

Patch Changes

  • 3368dc6b62: Make sure to clone objects sent to ldapjs since the library modifies them
  • Updated dependencies
    • @backstage/plugin-catalog-backend@0.21.0
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-catalog-backend-module-msgraph@0.2.13

Patch Changes

  • Updated dependencies
    • @backstage/plugin-catalog-backend@0.21.0
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-catalog-common@0.1.1

Patch Changes

  • 7e38acaa9e: Remove Catalog Location resource type
  • Updated dependencies
    • @backstage/plugin-permission-common@0.4.0

## @backstage/plugin-catalog-graph@0.2.7

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-catalog-graphql@0.3.1

Patch Changes

  • Updated dependencies
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-catalog-import@0.7.10

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/integration@0.7.2
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5
    • @backstage/integration-react@0.1.19

## @backstage/plugin-catalog-react@0.6.12

Patch Changes

  • 3d87019269: The entityRouteRef is now a well-known route that should be imported directly from @backstage/plugin-catalog-react. It is guaranteed to be globally unique across duplicate installations of the @backstage/plugin-catalog-react, starting at this version.

    Deprecated entityRoute in favor of entityRouteRef.

    Deprecated rootRoute and catalogRouteRef. If you want to refer to the catalog index page from a public plugin you now need to use an ExternalRouteRef instead. For private plugins it is possible to take the shortcut of referring directly to catalogPlugin.routes.indexPage instead.

  • 2916a83b9c: Deprecated loadIdentityOwnerRefs, since they can now be retrieved as ownershipEntityRefs from identityApi.getBackstageIdentity() instead.

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.

  • c54c0d9d10: Add useEntityPermission hook

  • Updated dependencies

    • @backstage/plugin-permission-react@0.3.0
    • @backstage/core-components@0.8.5
    • @backstage/integration@0.7.2
    • @backstage/plugin-permission-common@0.4.0
    • @backstage/core-plugin-api@0.6.0
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-circleci@0.2.35

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-cloudbuild@0.2.33

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-code-coverage@0.1.23

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-code-coverage-backend@0.1.20

Patch Changes

  • Updated dependencies
    • @backstage/integration@0.7.2
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-config-schema@0.1.19

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/config@0.1.13

## @backstage/plugin-cost-insights@0.11.18

Patch Changes

  • 7ba416be78: @backstage/plugin-user-settings: Hide Header on mobile screens to improve the UI & give more space to the content. Furthermore, the "Pin Sidebar" setting is removed on mobile screens, as the mobile sidebar is always pinned to the bottom.

    Other plugins: Smaller style adjustments across plugins to improve the UI on mobile devices.

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.

  • Updated dependencies

    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-explore@0.3.26

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10
    • @backstage/plugin-explore-react@0.0.11

## @backstage/plugin-explore-react@0.0.11

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-firehydrant@0.1.13

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12

## @backstage/plugin-fossa@0.2.28

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-gcp-projects@0.3.14

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-git-release-manager@0.3.9

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/integration@0.7.2
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-github-actions@0.4.32

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/integration@0.7.2
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-github-deployments@0.1.27

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/integration@0.7.2
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10
    • @backstage/integration-react@0.1.19

## @backstage/plugin-gitops-profiles@0.3.14

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-gocd@0.1.2

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-graphiql@0.2.28

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-graphql-backend@0.1.12

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-catalog-graphql@0.3.1

## @backstage/plugin-home@0.4.11

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/plugin-search@0.5.6
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-ilert@0.1.22

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-jenkins@0.5.18

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-jenkins-backend@0.1.11

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-kafka@0.2.26

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-kafka-backend@0.2.15

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-kubernetes@0.5.5

Patch Changes

  • edbd626d0a: add a new auth provider to support use GOOGLE_APPLICATION_CREDENTIALS
  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/plugin-kubernetes-common@0.2.2

## @backstage/plugin-kubernetes-backend@0.4.4

Patch Changes

  • edbd626d0a: add a new auth provider to support use GOOGLE_APPLICATION_CREDENTIALS
  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/plugin-kubernetes-common@0.2.2

## @backstage/plugin-kubernetes-common@0.2.2

Patch Changes

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

## @backstage/plugin-lighthouse@0.2.35

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-newrelic@0.3.14

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-newrelic-dashboard@0.1.4

Patch Changes

  • afe1bd78d2: Newrelic Dashboards will render single page dashboards, meaning dashboards which do not have a parent GUID
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-pagerduty@0.3.23

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • 013301e07b: Remove redundant node-fetch dependency
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-proxy-backend@0.2.16

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13

## @backstage/plugin-rollbar@0.3.24

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-rollbar-backend@0.1.19

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13

## @backstage/plugin-scaffolder-backend@0.15.21

Patch Changes

  • b05d303226: Added the ability to support supplying secrets when creating tasks in the scaffolder-backend.

    deprecation: Deprecated ctx.token from actions in the scaffolder-backend. Please move to using ctx.secrets.backstageToken instead.

    deprecation: Deprecated task.token in TaskSpec in the scaffolder-backend. Please move to using task.secrets.backstageToken instead.

  • Updated dependencies

    • @backstage/plugin-catalog-backend@0.21.0
    • @backstage/integration@0.7.2
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5
    • @backstage/plugin-scaffolder-backend-module-cookiecutter@0.1.9
    • @backstage/plugin-scaffolder-common@0.1.3

## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.1.9

Patch Changes

  • Updated dependencies
    • @backstage/integration@0.7.2
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-scaffolder-backend@0.15.21

## @backstage/plugin-scaffolder-backend-module-rails@0.2.4

Patch Changes

  • Updated dependencies
    • @backstage/integration@0.7.2
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-scaffolder-backend@0.15.21

## @backstage/plugin-scaffolder-backend-module-yeoman@0.1.3

Patch Changes

  • Updated dependencies
    • @backstage/config@0.1.13
    • @backstage/plugin-scaffolder-backend@0.15.21

## @backstage/plugin-scaffolder-common@0.1.3

Patch Changes

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

## @backstage/plugin-search@0.5.6

Patch Changes

  • 1523926507: Removes the focus from the sidebar and focus the main content after select one search result or navigate to the search result list
  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-search-backend@0.3.1

Patch Changes

  • cd6854046e: Validate query string in search endpoint
  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13

## @backstage/plugin-search-backend-module-elasticsearch@0.0.8

Patch Changes

  • Updated dependencies
    • @backstage/config@0.1.13

## @backstage/plugin-search-backend-module-pg@0.2.4

Patch Changes

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

## @backstage/plugin-sentry@0.3.34

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-shortcuts@0.1.20

Patch Changes

  • 7ba416be78: @backstage/plugin-user-settings: Hide Header on mobile screens to improve the UI & give more space to the content. Furthermore, the "Pin Sidebar" setting is removed on mobile screens, as the mobile sidebar is always pinned to the bottom.

    Other plugins: Smaller style adjustments across plugins to improve the UI on mobile devices.

  • c52ae0a73b: Allow shortcut side bar item icon to be configurable

  • Updated dependencies

    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-sonarqube@0.2.13

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-splunk-on-call@0.3.20

Patch Changes

  • 013301e07b: Remove redundant node-fetch dependency
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-tech-insights@0.1.6

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.6

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-tech-insights-node@0.2.0

## @backstage/plugin-tech-radar@0.5.3

Patch Changes

  • 021bba18c4: Update readme
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-todo@0.1.20

Patch Changes

  • 51fbedc445: Migrated usage of deprecated IdentityApi methods.
  • 751e0ceb2a: Apply fix from the 0.1.19 patch release
  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/catalog-model@0.9.10

## @backstage/plugin-todo-backend@0.1.19

Patch Changes

  • Updated dependencies
    • @backstage/integration@0.7.2
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

## @backstage/plugin-user-settings@0.3.17

Patch Changes

  • 7ba416be78: @backstage/plugin-user-settings: Hide Header on mobile screens to improve the UI & give more space to the content. Furthermore, the "Pin Sidebar" setting is removed on mobile screens, as the mobile sidebar is always pinned to the bottom.

    Other plugins: Smaller style adjustments across plugins to improve the UI on mobile devices.

  • Updated dependencies

    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## @backstage/plugin-xcmetrics@0.2.16

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/core-plugin-api@0.6.0

## example-app@0.2.61

Patch Changes

  • Updated dependencies
    • @backstage/plugin-tech-radar@0.5.3
    • @backstage/core-components@0.8.5
    • @backstage/plugin-api-docs@0.7.0
    • @backstage/plugin-kubernetes@0.5.5
    • @backstage/cli@0.12.0
    • @backstage/plugin-search@0.5.6
    • @backstage/core-plugin-api@0.6.0
    • @backstage/plugin-org@0.4.0
    • @backstage/plugin-catalog@0.7.9
    • @backstage/plugin-cost-insights@0.11.18
    • @backstage/plugin-shortcuts@0.1.20
    • @backstage/plugin-user-settings@0.3.17
    • @backstage/core-app-api@0.5.0
    • @backstage/plugin-catalog-react@0.6.12
    • @backstage/plugin-scaffolder@0.12.0
    • @backstage/plugin-azure-devops@0.1.11
    • @backstage/plugin-badges@0.2.20
    • @backstage/plugin-catalog-import@0.7.10
    • @backstage/plugin-kafka@0.2.26
    • @backstage/plugin-pagerduty@0.3.23
    • @backstage/plugin-rollbar@0.3.24
    • @backstage/plugin-sentry@0.3.34
    • @backstage/plugin-tech-insights@0.1.6
    • @backstage/plugin-techdocs@0.13.0
    • @backstage/plugin-todo@0.1.20
    • @backstage/plugin-newrelic-dashboard@0.1.4
    • @backstage/catalog-model@0.9.10
    • @backstage/app-defaults@0.1.5
    • @backstage/integration-react@0.1.19
    • @backstage/plugin-airbrake@0.1.1
    • @backstage/plugin-apache-airflow@0.1.4
    • @backstage/plugin-catalog-graph@0.2.7
    • @backstage/plugin-circleci@0.2.35
    • @backstage/plugin-cloudbuild@0.2.33
    • @backstage/plugin-code-coverage@0.1.23
    • @backstage/plugin-explore@0.3.26
    • @backstage/plugin-gcp-projects@0.3.14
    • @backstage/plugin-github-actions@0.4.32
    • @backstage/plugin-gocd@0.1.2
    • @backstage/plugin-graphiql@0.2.28
    • @backstage/plugin-home@0.4.11
    • @backstage/plugin-jenkins@0.5.18
    • @backstage/plugin-lighthouse@0.2.35
    • @backstage/plugin-newrelic@0.3.14

## example-backend@0.2.61

Patch Changes

  • Updated dependencies
    • @backstage/plugin-auth-backend@0.7.0
    • @backstage/plugin-permission-backend@0.4.0
    • @backstage/plugin-catalog-backend@0.21.0
    • @backstage/plugin-kubernetes-backend@0.4.4
    • @backstage/integration@0.7.2
    • @backstage/plugin-permission-common@0.4.0
    • @backstage/plugin-search-backend@0.3.1
    • @backstage/plugin-techdocs-backend@0.13.0
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-app-backend@0.3.22
    • @backstage/plugin-permission-node@0.4.0
    • @backstage/plugin-scaffolder-backend@0.15.21
    • @backstage/plugin-tech-insights-backend@0.2.0
    • @backstage/plugin-tech-insights-node@0.2.0
    • @backstage/catalog-model@0.9.10
    • example-app@0.2.61
    • @backstage/backend-tasks@0.1.4
    • @backstage/catalog-client@0.5.5
    • @backstage/plugin-azure-devops-backend@0.3.1
    • @backstage/plugin-badges-backend@0.1.16
    • @backstage/plugin-code-coverage-backend@0.1.20
    • @backstage/plugin-graphql-backend@0.1.12
    • @backstage/plugin-jenkins-backend@0.1.11
    • @backstage/plugin-kafka-backend@0.2.15
    • @backstage/plugin-proxy-backend@0.2.16
    • @backstage/plugin-rollbar-backend@0.1.19
    • @backstage/plugin-scaffolder-backend-module-rails@0.2.4
    • @backstage/plugin-search-backend-module-elasticsearch@0.0.8
    • @backstage/plugin-search-backend-module-pg@0.2.4
    • @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.6
    • @backstage/plugin-todo-backend@0.1.19

## embedded-techdocs-app@0.2.60

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.8.5
    • @backstage/cli@0.12.0
    • @backstage/core-plugin-api@0.6.0
    • @backstage/test-utils@0.2.3
    • @backstage/plugin-catalog@0.7.9
    • @backstage/core-app-api@0.5.0
    • @backstage/config@0.1.13
    • @backstage/plugin-techdocs@0.13.0
    • @backstage/catalog-model@0.9.10
    • @backstage/app-defaults@0.1.5
    • @backstage/integration-react@0.1.19

## storybook@0.2.2

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@0.6.0
    • @backstage/test-utils@0.2.3
    • @backstage/core-app-api@0.5.0

Details

date
Jan. 20, 2022, 12:38 p.m.
name
release-2022-01-20
type
Major
👇
Register or login to:
  • 🔍View and search all Backstage releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or