docs/releases/v1.51.0-next.2-changelog.md
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.51.0-next.2
techdocs-cli generate --disableExternalFonts, useful for air-gapped Backstage instances.MicrosoftGraphOrgEntityProvider, this module never holds the full dataset in memory — each burst processes a single page (up to 999 users or 100 groups). The @odata.nextLink cursor is persisted so a pod restart resumes from the last completed page rather than starting over.482ceed: Migrated from assertError to toError for error handling.
b6f1fae: The unprocessed entities view is now primarily intended for use as a tab within the DevTools plugin. The standalone page is still available but disabled by default. To re-enable it, add the following to your app-config.yaml:
app:
extensions:
- page:catalog-unprocessed-entities
Updated dependencies
assertError to toError for error handling.b6f1fae: The unprocessed entities view is now primarily intended for use as a tab within the DevTools plugin. The standalone page is still available but disabled by default. To re-enable it, add the following to your app-config.yaml:
app:
extensions:
- page:catalog-unprocessed-entities
Updated dependencies
HeaderPage instead of the legacy core page header pattern.DevToolsContentBlueprint from @backstage/plugin-devtools-react. DevTools pages in the new frontend system now use SubPageBlueprint tabs instead, and the catalog unprocessed entities alpha extension now attaches to DevTools as a subpage.title and icon to the plugin definition for the new frontend system.react-router-dom peer dependency to ^6.30.2 and explicitly disabled v7 future flags to suppress deprecation warnings.unprocessed-entities and other tabs to devtools when using the New Frontend systemd02db50: Remove unnecessary use of compatWrapper and convertLegacyRouteRef(s) for the new frontend system.
df4d646: Moved types, API and client to the common package, allowing both frontend and
backend plugins to use the CatalogUnprocessedEntitiesClient.
The following types, clients and interfaces have been deprecated and should be
imported from the @backstage/plugin-catalog-unprocessed-entities-common instead:
CatalogUnprocessedEntitiesApi, CatalogUnprocessedEntitiesApiResponse, UnprocessedEntity,
UnprocessedEntityCache, UnprocessedEntityError, CatalogUnprocessedEntitiesClient.
All those types, clients and interfaces are re-exported temporarily in the
@backstage/plugin-catalog-unprocessed-entities package until cleaned up.
Updated dependencies
df4d646: Moved types, API and client to the common package, allowing both frontend and
backend plugins to use the CatalogUnprocessedEntitiesClient.
The following types, clients and interfaces have been deprecated and should be
imported from the @backstage/plugin-catalog-unprocessed-entities-common instead:
CatalogUnprocessedEntitiesApi, CatalogUnprocessedEntitiesApiResponse, UnprocessedEntity,
UnprocessedEntityCache, UnprocessedEntityError, CatalogUnprocessedEntitiesClient.
All those types, clients and interfaces are re-exported temporarily in the
@backstage/plugin-catalog-unprocessed-entities package until cleaned up.
Updated dependencies
compatWrapper and convertLegacyRouteRef(s) for the new frontend system.erasableSyntaxOnly setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.erasableSyntaxOnly setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.ApiBlueprint.ApiBlueprint.info.packageJson option to the plugin instance for the new frontend system.info.packageJson option to the plugin instance for the new frontend system.pluginId option of createFrontendPlugin.pluginId option of createFrontendPlugin.ba88bfa: Added confirmation popup for delete entities in Catalog Unprocessed Entities plugin
a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
2479827: Fixed the convertTimeToLocalTimezone function in the FailedEntities component to correctly parse ISO 8601 date strings and set the timezone to the current local timezone.
Updated dependencies
a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
Updated dependencies
convertTimeToLocalTimezone function in the FailedEntities component to correctly parse ISO 8601 date strings and set the timezone to the current local timezone.@types/react to a peer dependency.@types/react to a peer dependency.836127c: Updated dependency @testing-library/react to ^16.0.0.
4f08c85: Show additional info on DevTools unprocessed entities table
Updated dependencies
@testing-library/react to ^16.0.0.4f08c85: Show additional info on DevTools unprocessed entities table
Updated dependencies
package.json.package.json.@testing-library/react to ^15.0.0.924c1ac: BREAKING- the @backstage/plugin-catalog-backend-module-unprocessed constructor is now private, and have been moved to using the static .create method instead which now requires a PermissionService and DiscoveryService.
If you're using this module in the old backend system you'll need to migrate to using the .create method and pass in the new required parameters in packages/backend/src/plugins/catalog.ts.
No changes should be required if you're using the new backend system.
- const unprocessed = new UnprocessedEntitiesModule(
- await env.database.getClient(),
- router,
- );
+ const unprocessed = UnprocessedEntitiesModule.create({
+ database: await env.database.getClient(),
+ router,
+ permissions: env.permissions,
+ discovery: env.discovery,
+ });
unprocessed.registerRoutes();
Adds the ability to delete an unprocessed entity from the refresh_state table. This change requires enabling permissions for your Backstage instance.
no-top-level-material-ui-4-imports ESLint rule to aid with the migration to Material UI v5--cwd as the first yarn argument@types/react dependency range to include version 18.--cwd as the first yarn argument@types/react dependency range to include version 18.#20998 a11cdb9200 Thanks @alde! - Added filtering and sorting to unprocessed entities tables.
Updated dependencies
@testing-library/jest-dom to ^6.0.0.@types/react to be a regular dependency@types/node dependency@types/node dependency@types/react to be a regular dependency2c4869473155: The Catalog Unprocessed Entities plugin can now be integrated as a tab within the DevTools plugin
UnprocessedEntitiesContentREADME with images of the features57585d89f926: Export some types and API items. This allows people to call the API from different places with the ApiRef, as well
as completely customize the client if required. Check the README.md to
note what needs to be added in order to use the new catalogUnprocessedEntitiesApiRef exported function.
a8fa79ccc105: Fix and improve documentation for the unprocessed entities modules.
267396f45bd0: Corrected the installation instructions.
7a9c8a9cd0ce: Fixed spacing for success message
e6f50426333b: update some peer dependencies to silence yarn install
77b408fad872: install command points to correct package name
Updated dependencies
2c4869473155: The Catalog Unprocessed Entities plugin can now be integrated as a tab within the DevTools plugin
UnprocessedEntitiesContentREADME with images of the features57585d89f926: Export some types and API items. This allows people to call the API from different places with the ApiRef, as well
as completely customize the client if required. Check the README.md to
note what needs to be added in order to use the new catalogUnprocessedEntitiesApiRef exported function.
a8fa79ccc105: Fix and improve documentation for the unprocessed entities modules.
Updated dependencies
techdocs.generator.mkdocs.disableExternalFonts, useful for air-gapped Backstage instances.techdocs.generator.mkdocs.disableExternalFonts, useful for air-gapped Backstage instances.--legacyCopyReadmeMdToIndexMd option to fail if docs directory is not present6b112d3: Fixed two issues in the GitLab integration's fetch behavior:
mode: 'same-origin' on every request. This had no practical effect server-side, but would have caused cross-origin requests to be rejected when the integration is used from a browser. Requests now use the default fetch mode and work correctly in both browser and Node environments.maxRetries and exponential delay as retryable HTTP status codes. Previously, a thrown fetch error would propagate immediately on the first failure regardless of the retry configuration. Caller-initiated aborts continue to surface immediately without being retried.37535b2: Added a public --bui-bg-inherit CSS variable that resolves to the background
color of the nearest enclosing bg provider (Box, Flex, Grid, Card,
Accordion, or any element with a data-bg attribute), falling back to
--bui-bg-app. Use it from CSS for sticky or fixed elements that need to match
their surrounding surface without hardcoding a specific level.
.searchBarContainer {
position: sticky;
top: 0;
background-color: var(--bui-bg-inherit);
}
As part of this change, the data-bg painting rules previously duplicated in
Box, Flex, Grid, Accordion, and Card have been centralized into a
single source in core.css. Painting and component behavior are unchanged for
all existing usages, with one minor expansion: any element with a data-bg
attribute (including provider elements and any element that sets it directly)
is now painted, not only Box/Flex/Grid/Card/Accordion elements.
5b85902: Fix Card href=... not showing a focus indicator on keyboard navigation. Link now composes useFocusRing, emits data-focus-visible, and renders a --bui-ring outline when keyboard-focused. The Card's existing focus-ring CSS matches when the trigger is focused.
Affected components: Card, Link
38bb056: Adjusted PluginHeader spacing and borders so headers with and without tabs align more consistently with surrounding page content, including when paired with page headers.
Affected components: PluginHeader, Header
25909ba: Added searchDebounceMs and filterDebounceMs options to useTable in complete mode. Both default to 0 (no debounce, no observable change for existing consumers); set them to defer the client-side filter/search/sort pipeline on large datasets without reimplementing input-layer debouncing. The controlled search / onSearchChange and filter / onFilterChange callbacks continue to fire on every change.
Affected components: Table
ddca41f: Added a new Combobox component. It pairs a text input with a filterable dropdown of options and supports single selection, sectioned options, icons, sizes, and custom typed values via allowsCustomValue.
Affected components: Combobox
unprocessedEntitiesReadPermission for authorizing read access to unprocessed entity endpoints.ConfigContent component from Material UI to Backstage UI (BUI).