Skip to main content
Version: Next

Release v1.56.0-next.3

Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.56.0-next.3

@backstage/backend-plugin-api@1.11.0-next.2​

Minor Changes​

  • f6054ac: Added experimental declareConnection and connectionsServiceRef exports to @backstage/backend-plugin-api/alpha. Plugins and modules can declare connection dependencies and request the connections service without importing private packages.

@backstage/ui@0.19.0-next.0​

Minor Changes​

  • 4e7a710: Updated React Aria dependencies to React Aria Components 1.22.0, React Aria 3.53.0, and React Stately 3.51.0. Existing Checkbox, Radio, and Switch implementations are retained.

    Migration:

    MenuSection no longer accepts disabledKeys. Move disabledKeys to Menu or set isDisabled on the affected MenuItem components.

    Programmatic clicks on Checkbox and Switch labels no longer toggle their selection. Target the input when activating these controls programmatically, and use a full pointer interaction when simulating label clicks in tests.

    Affected components: Checkbox, Menu, Switch

Patch Changes​

  • 6c9ed14: Fixed Combobox keyboard selection while filtering. With search, or with items and no search, the arrow keys now move through the matching options only, and Enter selects the highlighted one. Screen readers also announce the number of matching options. As with a Combobox without search, opening the list with the button or on focus shows every option until the user types. With search.filter, Escape and blur now restore the label of the selected option even when the filter excludes it. In that case, the number of options announced to screen readers still counts the hidden selected option.

    Affected components: Combobox

@backstage/plugin-catalog-react@3.3.0-next.2​

Minor Changes​

  • 6c74f3f: Added getCatalogQuery to EntityFilter, which lets filters express their backend constraints as a filter predicate. This supports logical operators such as $any and $not, as well as matchers like $hasPrefix, that cannot be expressed with getCatalogFilters. All builtin filters now implement it, and getCatalogFilters is deprecated. If a filter implements both, only getCatalogQuery is used.

    The EntityListProvider and related components combine the predicates of all active filters into a query, and send it to the catalog backend alongside a filter built from any remaining legacy filters. When not paginating, entities are now fetched using streamEntities instead of getEntities, since the latter does not support predicate queries. Tests that mock getEntities to provide entities to an EntityListProvider need to mock streamEntities instead.

    This requires a catalog backend from Backstage release 1.49 or later, which added support for predicate queries.

    Since entities are now fetched using queryEntities also when not paginating, an EntityOrderFilter that orders by a field that some entities lack now excludes those entities from the result, consistent with paginated mode. Previously they were placed last.

    Some builtin filters became more precise as part of this change:

    • EntityTagFilter with multiple tags now requires all of them on the backend, matching its frontend behavior.
    • EntityUserFilter.starred matches the full starred entity refs rather than just their names, and the starred count is computed by the backend.

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0
    • @backstage/core-compat-api@0.5.16-next.1

@backstage/plugin-scaffolder@1.40.0-next.2​

Minor Changes​

  • d0cc453: Added a Featured Templates homepage widget that displays templates tagged with a configurable catalog tag, defaulting to featured.

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0
    • @backstage/plugin-scaffolder-react@2.1.1-next.1

@backstage/backend-app-api@1.8.0-next.2​

Patch Changes​

  • f6054ac: Updated undeclared-connection errors to direct plugin authors to declareConnection from @backstage/backend-plugin-api/alpha.
  • Updated dependencies
    • @backstage/backend-plugin-api@1.11.0-next.2

@backstage/backend-defaults@0.18.1-next.3​

Patch Changes​

  • f6054ac: Backends created with createBackend now provide the experimental connections service by default. Custom backends can install connectionsServiceFactory from @backstage/backend-defaults/alpha.
  • bd1ff39: Fixed AWS RDS IAM authentication tokens being reused after their signing credentials expire, which could cause database connection failures when using temporary AWS credentials.
  • Updated dependencies
    • @backstage/backend-plugin-api@1.11.0-next.2
    • @backstage/backend-app-api@1.8.0-next.2

@backstage/backend-test-utils@1.11.8-next.2​

Patch Changes​

  • f6054ac: Test backends now provide the default experimental connections service for plugins and modules that declare connection dependencies.
  • Updated dependencies
    • @backstage/backend-defaults@0.18.1-next.3
    • @backstage/backend-plugin-api@1.11.0-next.2
    • @backstage/backend-app-api@1.8.0-next.2

@backstage/catalog-client@1.16.3-next.1​

Patch Changes​

  • 6c74f3f: Fixed the conversion of legacy filters that happens when a request has both a filter and a query, so that it matches the semantics of the legacy filter query parameter. Empty filters no longer turn into a predicate that matches nothing, empty records no longer match everything, and string values take precedence over CATALOG_FILTER_EXISTS for the same key.

  • aeb9393: The InMemoryCatalogClient test utility now matches entities the same way as the catalog backend. Both filter and query are evaluated against the same search rows that the backend builds for its search table, instead of query being evaluated against raw entity JSON. This affects getEntities, getEntitiesByRefs, queryEntities, streamEntities, and getEntityFacets.

    This fixes several cases where the fake returned different results than a real catalog, which may change the outcome of existing tests:

    • Relation shorthand such as { 'relations.hasMember': 'user:default/alice' } now works in query, including with $in, $hasPrefix, $exists, $contains, and logical operators.
    • Field keys are matched case-insensitively in both filter and query. For example, { 'spec.dependsOn': ... } previously never matched in filter, and { 'METADATA.NAME': ... } never matched in query.
    • Entities without a metadata.namespace now match { 'metadata.namespace': 'default' } in query.
    • Values longer than 200 characters can no longer be matched by value, but still satisfy $exists: true, as in the backend.
    • metadata.name, metadata.namespace, and metadata.uid always satisfy $exists: true, even when the entity has no value for them.
    • Predicates that the backend does not support are now rejected up front with an InputError, even when no entities would be evaluated. For example, an object $contains on any field other than relations, or a relations $contains without a type.
    • Entities that have keys differing only in casing, such as spec.foo and spec.Foo, now cause an InputError when matched, since the backend refuses to store such entities.
  • e844921: streamEntities no longer asks the catalog backend to compute the total number of matching items, since that count is never part of the streamed result. This also applies to the catalog service in @backstage/plugin-catalog-node, which delegates to the client. The totalItems option of StreamEntitiesRequest is now deprecated and ignored.

@backstage/cli-module-build@0.1.9-next.2​

Patch Changes​

  • cc4ef47: Restored the default exclusion of node_modules from test coverage for this package.
  • f163298: Improved code splitting for frontend module federation remotes to reduce unnecessary downloads of unrelated lazy components from the same dependency scope. Shared dependencies and workspace code are extracted across lazy boundaries when the resulting shared chunk meets the size threshold. Regular application builds are unchanged.

@backstage/core-app-api@1.20.6-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/ui@0.19.0-next.0

@backstage/core-compat-api@0.5.16-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2

@backstage/core-components@0.18.15-next.3​

Patch Changes​

  • e415488: Stop clearing the selected provider from localStorage when a sign-in loader is cancelled. Only clear it when the loader actually fails. Memoize getSignInProviders so it does not recreate the providers object on every render.
  • Updated dependencies
    • @backstage/ui@0.19.0-next.0

@backstage/create-app@0.9.3-next.3​

Patch Changes​

  • Bumped create-app version.

@backstage/dev-utils@1.1.28-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0
    • @backstage/core-app-api@1.20.6-next.1

@backstage/frontend-app-api@0.16.9-next.1​

Patch Changes​

  • 0caa896: Provided an implementation of AppLifecycleApi and updated the app preparation and finalization process to utilize this API.
  • d810cc9: Improved link resolution performance by reusing route matches for recently visited locations.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/core-app-api@1.20.6-next.1

@backstage/frontend-dev-utils@0.1.7-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/plugin-app@0.5.4-next.1
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/ui@0.19.0-next.0

@backstage/frontend-plugin-api@0.18.2-next.1​

Patch Changes​

  • a650c4f: Added AppLifecycleApi and appLifecycleApiRef, which let you check whether the app has been finalized and subscribe to changes in its lifecycle.
  • a650c4f: The useRouteRef hook now resolves the route again once the app has been finalized, so that elements rendered before finalization, such as app/root.elements extensions, can link to pages instead of getting undefined.

@backstage/repo-tools@0.19.2-next.3​

Patch Changes​

  • dec6175: When an API, CLI, SQL, or knip report is out of date in CI, the error output now shows a diff of the changes that need to be committed instead of printing the full expected report.
  • Updated dependencies
    • @backstage/backend-plugin-api@1.11.0-next.2

@backstage/plugin-api-docs@0.14.6-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/plugin-catalog@2.0.10-next.3
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-app@0.5.4-next.1​

Patch Changes​

  • 4e7a710: Updated React Aria dependencies to the October 2026 release.
  • 1eeab07: Fixed long words in toast titles and descriptions overflowing the notification and overlapping the close button.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-app-visualizer@0.2.9-next.2​

Patch Changes​

  • 4e7a710: Updated React Aria dependencies to the October 2026 release.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-auth@0.1.13-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-catalog@2.0.10-next.3​

Patch Changes​

  • 6c74f3f: The catalog export button now respects filters that implement getCatalogQuery.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0
    • @backstage/core-compat-api@0.5.16-next.1

@backstage/plugin-catalog-backend@4.0.1-next.3​

Patch Changes​

  • aa6e7c6: Reduce repeated work for entities that fail stitching by gradually increasing retry delays with jitter. Failed entities remain eligible for recovery, and new stitching requests reset their failure count.
  • d7cc6e5: Reject non-positive stitching polling intervals and lease durations at startup to prevent continuous polling and immediate lease expiry. Configuration errors identify the setting that needs correction.
  • 7c376ff: Improved the performance and planner stability of orphan entity cleanup on large PostgreSQL catalogs. Orphan deletion and updates to related entities are now atomic, so a failed cleanup does not leave related entities waiting indefinitely for updated relations. Cleanup also preserves entities when a new reference is committed while it waits to delete them.
  • Updated dependencies
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/backend-plugin-api@1.11.0-next.2

@backstage/plugin-catalog-graph@0.6.9-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-catalog-import@0.13.19-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3

@backstage/plugin-catalog-unprocessed-entities@0.2.36-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0
    • @backstage/core-compat-api@0.5.16-next.1

@backstage/plugin-devtools@0.1.44-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0
    • @backstage/core-compat-api@0.5.16-next.1

@backstage/plugin-home@0.9.11-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/core-compat-api@0.5.16-next.1
    • @backstage/core-app-api@1.20.6-next.1

@backstage/plugin-kubernetes@0.12.24-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3

@backstage/plugin-kubernetes-cluster@0.0.42-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3

@backstage/plugin-mui-to-bui@0.2.12-next.2​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-notifications@0.6.1-next.1​

Patch Changes​

  • 4e7a710: Updated React Aria dependencies to the October 2026 release.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-notifications-backend@0.6.10-next.2​

Patch Changes​

  • 8ba34e8: Persist notification payload metadata for user notifications and broadcasts, and return it when reading notifications. Re-sending a scoped notification replaces its metadata, or clears it when the new payload omits metadata.
  • Updated dependencies
    • @backstage/backend-plugin-api@1.11.0-next.2

@backstage/plugin-org@0.8.0-next.2​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-org-react@0.1.55-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3

@backstage/plugin-scaffolder-react@2.1.1-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-search@1.7.9-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-techdocs@1.19.0-next.2​

Patch Changes​

  • 6c74f3f: Migrated the TechDocsPicker filter from the deprecated getCatalogFilters to getCatalogQuery.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/catalog-client@1.16.3-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0

@backstage/plugin-techdocs-addons-test-utils@2.0.10-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/plugin-catalog@2.0.10-next.3
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/plugin-techdocs@1.19.0-next.2
    • @backstage/core-app-api@1.20.6-next.1

@backstage/plugin-user-settings@0.9.8-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/ui@0.19.0-next.0
    • @backstage/core-app-api@1.20.6-next.1

example-app@0.0.40-next.2​

Patch Changes​

  • Updated dependencies
    • @backstage/plugin-app@0.5.4-next.1
    • @backstage/plugin-app-visualizer@0.2.9-next.2
    • @backstage/plugin-notifications@0.6.1-next.1
    • @backstage/frontend-app-api@0.16.9-next.1
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/plugin-catalog@2.0.10-next.3
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/plugin-scaffolder@1.40.0-next.2
    • @backstage/plugin-techdocs@1.19.0-next.2
    • @backstage/ui@0.19.0-next.0
    • @backstage/core-compat-api@0.5.16-next.1
    • @backstage/plugin-api-docs@0.14.6-next.1
    • @backstage/plugin-catalog-graph@0.6.9-next.1
    • @backstage/plugin-catalog-import@0.13.19-next.1
    • @backstage/plugin-home@0.9.11-next.1
    • @backstage/plugin-kubernetes@0.12.24-next.1
    • @backstage/plugin-kubernetes-cluster@0.0.42-next.1
    • @backstage/plugin-org@0.8.0-next.2
    • @backstage/plugin-scaffolder-react@2.1.1-next.1
    • @backstage/plugin-search@1.7.9-next.1
    • @backstage/plugin-user-settings@0.9.8-next.1
    • @backstage/core-app-api@1.20.6-next.1
    • @backstage/plugin-auth@0.1.13-next.1
    • @backstage/plugin-catalog-unprocessed-entities@0.2.36-next.1
    • @backstage/plugin-devtools@0.1.44-next.1

example-app-legacy@0.2.126-next.2​

Patch Changes​

  • Updated dependencies
    • @backstage/plugin-notifications@0.6.1-next.1
    • @backstage/frontend-app-api@0.16.9-next.1
    • @backstage/plugin-catalog@2.0.10-next.3
    • @backstage/plugin-catalog-react@3.3.0-next.2
    • @backstage/core-components@0.18.15-next.3
    • @backstage/plugin-scaffolder@1.40.0-next.2
    • @backstage/plugin-techdocs@1.19.0-next.2
    • @backstage/ui@0.19.0-next.0
    • @backstage/plugin-api-docs@0.14.6-next.1
    • @backstage/plugin-catalog-graph@0.6.9-next.1
    • @backstage/plugin-catalog-import@0.13.19-next.1
    • @backstage/plugin-home@0.9.11-next.1
    • @backstage/plugin-kubernetes@0.12.24-next.1
    • @backstage/plugin-kubernetes-cluster@0.0.42-next.1
    • @backstage/plugin-org@0.8.0-next.2
    • @backstage/plugin-scaffolder-react@2.1.1-next.1
    • @backstage/plugin-search@1.7.9-next.1
    • @backstage/plugin-user-settings@0.9.8-next.1
    • @backstage/core-app-api@1.20.6-next.1
    • @backstage/plugin-catalog-unprocessed-entities@0.2.36-next.1
    • @backstage/plugin-devtools@0.1.44-next.1
    • @backstage/plugin-mui-to-bui@0.2.12-next.2

techdocs-cli-embedded-app@0.2.125-next.1​

Patch Changes​

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.18.2-next.1
    • @backstage/plugin-catalog@2.0.10-next.3
    • @backstage/core-components@0.18.15-next.3
    • @backstage/plugin-techdocs@1.19.0-next.2
    • @backstage/ui@0.19.0-next.0
    • @backstage/core-app-api@1.20.6-next.1