docs/releases/v1.51.0-next.1-changelog.md
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.51.0-next.1
no-self-package-imports lint rule, enabled as error in the recommended config, that reports when a package imports itself by its own name instead of using a relative path. This pattern causes circular initialization errors in bundled ESM and with jest.requireActual.5351d8a: Added a sticky prop to the Header component. When true, the title-and-actions bar stays fixed to the top of its scroll container while the rest of the header (tags, description, metadata) scrolls away. The sticky bar background color automatically matches the container surface using the bg-consumer system.
BREAKING: Removed the main header class from the Header component. Custom styles that target this class should be updated to target the component sections that remain.
Affected components: Header
e7fc79f: Added support for grouping options into sections in the Select component. You can now pass section objects with a title and a nested options array alongside (or instead of) regular options to render grouped dropdowns with section headers.
Affected components: Select
76635ae: Disabled Card scroll shadow in browsers that don't support animation-timeline: scroll(). Prevents the shadow from being always visible over the CardBody when there's nothing to scroll or the body is not scrolled.
Affected components: Card
de75f7c: Fixed CardBody showing an unwanted scrollbar when constrained below the scroll shadow height.
Affected components: Card
c96e2b3: Added description, tags, and metadata props to the Header component. The description prop accepts a markdown string with support for inline links. The tags prop renders a row of text or link items above the title. The metadata prop renders key-value pairs below the description. The breadcrumbs prop has been deprecated and will be removed in a future release.
Affected components: Header
f635139: Limited @remixicon/react dependency to versions below 4.9.0 due to a license change in that release.
23ee789: Added invalid-state styling for Checkbox and corresponding Storybook variants for verification.
Affected components: Checkbox, CheckboxGroup
df705bb: Fixed external URLs in BUI link components being rewritten as in-app paths when the app is served under a non-root base path. Absolute URLs (http://, https://, //, mailto:, tel:) are now passed through unchanged. Internal href values are resolved against the current basename exactly once, which also fixes a latent issue where internal link clicks under a non-root base path could navigate to a URL with the basename prefix doubled.
Affected components: ButtonLink, Card, Link, Menu, Tab, Table, Tag
isDraggable and isResizable.zod to ^3.25.76 || ^4.0.0 & migrated to /v3 or /v4 imports.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.alpha(theme.palette.background.paper, 0.93) for better theme alignment instead of hardcoded RGBAcompatWrapper and convertLegacyRouteRef(s) for the new frontend system.@rjsf/utils to 5.24.13.
Updated dependency @rjsf/core to 5.24.13.
Updated dependency @rjsf/material-ui to 5.24.13.
Updated dependency @rjsf/validator-ajv8 to 5.24.13.@rjsf/utils to 5.24.13.
Updated dependency @rjsf/core to 5.24.13.
Updated dependency @rjsf/material-ui to 5.24.13.
Updated dependency @rjsf/validator-ajv8 to 5.24.13.compatWrapper and convertLegacyRouteRef(s) for the new frontend system.VisitList by adding optional enrichVisit, transformPathname, canSave functions to VisitsStorageApi, along with VisitDisplayProvider for colors, labelsclearAll logic to properly handle deletable flagclearAll logic to properly handle deletable flagApiBlueprint.app-root-element extension now only accepts JSX.Element in its element param, meaning overrides need to be updated.clearAll did not respect the deletable flag on widgetsapp-root-element extension now only accepts JSX.Element in its element param, meaning overrides need to be updated.ApiBlueprint.<VisitListener /> component<VisitListener /> componentinfo.packageJson option to the plugin instance for the new frontend system.WelcomeTitle to properly default to the previous value of inheritWelcomeTitle to properly default to the previous value of inheritinfo.packageJson option to the plugin instance for the new frontend system.f7ca0fe: Added the Catalog presentation API to the HomePageRecentlyVisited and HomePageTopVisited components
fb58f20: Internal update to use the new pluginId option of createFrontendPlugin.
eddd96c: Added optional title prop to customHomePageGrid
16eb4bf: Export ContentModal from @backstage/plugin-home-react so people can use this in other scenarios.
Renamed CatalogReactComponentsNameToClassKey to PluginHomeComponentsNameToClassKey in overridableComponents.ts
Made QuickStartCard docsLinkTitle prop more flexible to allow for any React.JSX.Element instead of just a string.
Added QuickStartCard prop additionalContent which can eventually replace the prop video.
2c1761f: Added a variant prop to the WelcomeTitle component making it work with the Customizable Home page feature. Adding it like this <WelcomeTitle variant='h1' /> to the list of items under CustomHomepageGrid will allow it to render with a size that works well.
195323f: Export root page route from the home plugin to enable adding links/nav to it from outside the plugin
72d019d: Removed various typos
d710d74: docs: Update default for preventCollision prop
Updated dependencies
f7ca0fe: Added the Catalog presentation API to the HomePageRecentlyVisited and HomePageTopVisited components
eddd96c: Added optional title prop to customHomePageGrid
16eb4bf: Export ContentModal from @backstage/plugin-home-react so people can use this in other scenarios.
Renamed CatalogReactComponentsNameToClassKey to PluginHomeComponentsNameToClassKey in overridableComponents.ts
Made QuickStartCard docsLinkTitle prop more flexible to allow for any React.JSX.Element instead of just a string.
Added QuickStartCard prop additionalContent which can eventually replace the prop video.
195323f: Export root page route from the home plugin to enable adding links/nav to it from outside the plugin
d710d74: docs: Update default for preventCollision prop
Updated dependencies
pluginId option of createFrontendPlugin.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
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
aff6b47: feat: add cancel button for WidgetSettingsOverlay
8e86f96: Enable collision prevention by default in custom home page.
This change ensures that items in the home page will not collide with each other making the user experience better.
58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
Updated dependencies
8e86f96: Enable collision prevention by default in custom home page.
This change ensures that items in the home page will not collide with each other making the user experience better.
58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
Updated dependencies
QuickStartCard component.@rjsf/utils to 5.23.2.
Updated dependency @rjsf/core to 5.23.2.
Updated dependency @rjsf/material-ui to 5.23.2.
Updated dependency @rjsf/validator-ajv8 to 5.23.2.@rjsf/utils to 5.23.2.
Updated dependency @rjsf/core to 5.23.2.
Updated dependency @rjsf/material-ui to 5.23.2.
Updated dependency @rjsf/validator-ajv8 to 5.23.2.QuickStartCard component.7248f3b: Added a new Quick Start Card to plugin-home, which can display basic info to get users the info they need to onboard to the Catalog.
import { QuickStartCard } from '@backstage/plugin-home';
<QuickStartCard
title="Onboarding to the Catalog"
modalTitle="Onboarding Quick Start"
docsLinkTitle="Learn more with getting started docs"
docsLink="https://backstage.io/docs/getting-started"
image={
}
cardDescription="Backstage system model will help you create new entities"
video={
<video
controls
preload="auto"
poster={"./videoPoster.png"}
>
<source src={"OnboardingDemo.mp4"} type="video/mp4" />
</video>
}
downloadImage={
<Button
href={QuickStartPDF}
target={'_blank'}
download={true}
>
Download infographic button
</Button>
}
/>
See the storybook examples
9951ba4: Updated dependency @rjsf/utils to 5.23.1.
Updated dependency @rjsf/core to 5.23.1.
Updated dependency @rjsf/material-ui to 5.23.1.
Updated dependency @rjsf/validator-ajv8 to 5.23.1.
Updated dependencies
7248f3b: Added a new Quick Start Card to plugin-home, which can display basic info to get users the info they need to onboard to the Catalog.
import { QuickStartCard } from '@backstage/plugin-home';
<QuickStartCard
title="Onboarding to the Catalog"
modalTitle="Onboarding Quick Start"
docsLinkTitle="Learn more with getting started docs"
docsLink="https://backstage.io/docs/getting-started"
image={
}
cardDescription="Backstage system model will help you create new entities"
video={
<video
controls
preload="auto"
poster={"./videoPoster.png"}
>
<source src={"OnboardingDemo.mp4"} type="video/mp4" />
</video>
}
downloadImage={
<Button
href={QuickStartPDF}
target={'_blank'}
download={true}
>
Download infographic button
</Button>
}
/>
See the storybook examples
Updated dependencies
@rjsf/utils to 5.23.1.
Updated dependency @rjsf/core to 5.23.1.
Updated dependency @rjsf/material-ui to 5.23.1.
Updated dependency @rjsf/validator-ajv8 to 5.23.1.8b1b2cf: Improve Starred Entities UI to reduce whitespace and provide more context on the entities:
<EntityDisplayName>) to display the entity's namekind and spec.type are displayed as a secondary textUpdated dependencies
8b1b2cf: Improve Starred Entities UI to reduce whitespace and provide more context on the entities:
<EntityDisplayName>) to display the entity's namekind and spec.type are displayed as a secondary textUpdated dependencies
limit query parameter in visits API .list() function@types/react to a peer dependency.@rjsf/utils to 5.21.2.
Updated dependency @rjsf/core to 5.21.2.
Updated dependency @rjsf/material-ui to 5.21.2.
Updated dependency @rjsf/validator-ajv8 to 5.21.2.limit query parameter in visits API .list() function@types/react to a peer dependency.FavoriteToggle in core-components to standardise favorite marking@testing-library/react to ^16.0.0.@rjsf/utils to 5.21.1.
Updated dependency @rjsf/core to 5.21.1.
Updated dependency @rjsf/material-ui to 5.21.1.
Updated dependency @rjsf/validator-ajv8 to 5.21.1.@rjsf/utils to 5.20.1.
Updated dependency @rjsf/core to 5.20.1.
Updated dependency @rjsf/material-ui to 5.20.1.
Updated dependency @rjsf/validator-ajv8 to 5.20.1.overridableComponentsFavoriteToggle in core-components to standardise favorite marking@testing-library/react to ^16.0.0.@rjsf/utils to 5.20.1.
Updated dependency @rjsf/core to 5.20.1.
Updated dependency @rjsf/material-ui to 5.20.1.
Updated dependency @rjsf/validator-ajv8 to 5.20.1.createExtension v1 format to the newer v2 format, and old create*Extension extension creators to blueprints.@rjsf/utils to 5.18.5.
Updated dependency @rjsf/core to 5.18.5.
Updated dependency @rjsf/material-ui to 5.18.5.
Updated dependency @rjsf/validator-ajv8 to 5.18.5.@rjsf/utils to 5.18.5.
Updated dependency @rjsf/core to 5.18.5.
Updated dependency @rjsf/material-ui to 5.18.5.
Updated dependency @rjsf/validator-ajv8 to 5.18.5.package.json.@rjsf/utils to 5.18.4.
Updated dependency @rjsf/core to 5.18.4.
Updated dependency @rjsf/material-ui to 5.18.4.
Updated dependency @rjsf/validator-ajv8 to 5.18.4.package.json.@rjsf/utils to 5.18.2.
Updated dependency @rjsf/core to 5.18.2.
Updated dependency @rjsf/material-ui to 5.18.2.
Updated dependency @rjsf/validator-ajv8 to 5.18.2.@rjsf/utils to 5.18.2.
Updated dependency @rjsf/core to 5.18.2.
Updated dependency @rjsf/material-ui to 5.18.2.
Updated dependency @rjsf/validator-ajv8 to 5.18.2.@testing-library/react to ^15.0.0.@testing-library/dom to ^10.0.0.@rjsf/utils to 5.17.1.
Updated dependency @rjsf/core to 5.17.1.
Updated dependency @rjsf/material-ui to 5.17.1.
Updated dependency @rjsf/validator-ajv8 to 5.17.1.no-top-level-material-ui-4-imports ESLint rule to aid with the migration to Material UI v5@rjsf/utils to 5.17.1.
Updated dependency @rjsf/core to 5.17.1.
Updated dependency @rjsf/material-ui to 5.17.1.
Updated dependency @rjsf/validator-ajv8 to 5.17.1.--cwd as the first yarn argument@types/react dependency range to include version 18.@rjsf/utils to 5.17.0.
Updated dependency @rjsf/core to 5.17.0.
Updated dependency @rjsf/material-ui to 5.17.0.
Updated dependency @rjsf/validator-ajv8 to 5.17.0.@rjsf/utils to 5.16.1.
Updated dependency @rjsf/core to 5.16.1.
Updated dependency @rjsf/material-ui to 5.16.1.
Updated dependency @rjsf/validator-ajv8 to 5.16.1.@rjsf/utils to 5.17.0.
Updated dependency @rjsf/core to 5.17.0.
Updated dependency @rjsf/material-ui to 5.17.0.
Updated dependency @rjsf/validator-ajv8 to 5.17.0.--cwd as the first yarn argument@types/react dependency range to include version 18.@rjsf/utils to 5.16.1.
Updated dependency @rjsf/core to 5.16.1.
Updated dependency @rjsf/material-ui to 5.16.1.
Updated dependency @rjsf/validator-ajv8 to 5.16.1.@rjsf/utils to 5.15.1.
Updated dependency @rjsf/core to 5.15.1.
Updated dependency @rjsf/material-ui to 5.15.1.
Updated dependency @rjsf/validator-ajv8 to 5.15.1.@rjsf/utils to 5.15.1.
Updated dependency @rjsf/core to 5.15.1.
Updated dependency @rjsf/material-ui to 5.15.1.
Updated dependency @rjsf/validator-ajv8 to 5.15.1./alpha export extension elements in backwards compatibility wrapper./alpha exports to fit new naming patterns./alpha exports to match the extension input wrapping change.@rjsf/utils to 5.14.3.
Updated dependency @rjsf/core to 5.14.3.
Updated dependency @rjsf/material-ui to 5.14.3.
Updated dependency @rjsf/validator-ajv8 to 5.14.3.@rjsf/utils to 5.14.1.
Updated dependency @rjsf/core to 5.14.1.
Updated dependency @rjsf/material-ui to 5.14.1.
Updated dependency @rjsf/validator-ajv8 to 5.14.1.@rjsf/utils to 5.15.0.
Updated dependency @rjsf/core to 5.15.0.
Updated dependency @rjsf/material-ui to 5.15.0.
Updated dependency @rjsf/validator-ajv8 to 5.15.0.@rjsf/utils to 5.14.2.
Updated dependency @rjsf/core to 5.14.2.
Updated dependency @rjsf/material-ui to 5.14.2.
Updated dependency @rjsf/validator-ajv8 to 5.14.2.getEntitiesByRefs instead of getEntities to improve performance since we have the entityRefs@rjsf/utils to 5.15.0.
Updated dependency @rjsf/core to 5.15.0.
Updated dependency @rjsf/material-ui to 5.15.0.
Updated dependency @rjsf/validator-ajv8 to 5.15.0.getEntitiesByRefs instead of getEntities to improve performance since we have the entityRefs/alpha export extension elements in backwards compatibility wrapper./alpha exports to match the extension input wrapping change.@rjsf/utils to 5.14.3.
Updated dependency @rjsf/core to 5.14.3.
Updated dependency @rjsf/material-ui to 5.14.3.
Updated dependency @rjsf/validator-ajv8 to 5.14.3.@rjsf/utils to 5.14.1.
Updated dependency @rjsf/core to 5.14.1.
Updated dependency @rjsf/material-ui to 5.14.1.
Updated dependency @rjsf/validator-ajv8 to 5.14.1.@rjsf/utils to 5.14.2.
Updated dependency @rjsf/core to 5.14.2.
Updated dependency @rjsf/material-ui to 5.14.2.
Updated dependency @rjsf/validator-ajv8 to 5.14.2.d86b2acec4: Fix bug where retrieveAll method wasn't fetching visits
3fdffbb699: Remove the duplicate versions of @rjsf/* as they're no longer needed
6c2b872153: Add official support for React 18.
5b364984bf: Added experimental support for declarative integration via the /alpha subpath.
c838da0edd: Updated dependency @rjsf/utils to 5.13.6.
Updated dependency @rjsf/core to 5.13.6.
Updated dependency @rjsf/material-ui to 5.13.6.
Updated dependency @rjsf/validator-ajv8 to 5.13.6.
cc0e8d0b51: Temporarily pin the react-grid-layout sub-dependency to version 1.3.4 while the horizontal resizing of the latest version is not fixed. For more details, see #20712.
302316d231: Added a new Featured Docs component to plugin-home, which can display any entity given a filter.
import { FeaturedDocsCard } from '@backstage/plugin-home';
<FeaturedDocsCard
filter={{
'spec.type': 'documentation',
'metadata.name': 'getting-started-with-backstage',
}}
subLinkText="More Details"
emptyState={emptyStateReactNode}
linkDestination={'/customPath'}
responseLimit={5}
/>
See the storybook examples
Updated dependencies
retrieveAll method wasn't fetching visits@rjsf/* as they're no longer needed/alpha subpath.react-grid-layout sub-dependency to version 1.3.4 while the horizontal resizing of the latest version is not fixed. For more details, see #20712.@testing-library/jest-dom to ^6.0.0.@testing-library/dom to ^9.0.0.@types/node dependency@rjsf/utils to 5.13.0.
Updated dependency @rjsf/core-v5 to npm:@rjsf/[email protected].
Updated dependency @rjsf/material-ui-v5 to npm:@rjsf/[email protected].
Updated dependency @rjsf/validator-ajv8 to 5.13.0.@rjsf/utils to 5.13.0.
Updated dependency @rjsf/core-v5 to npm:@rjsf/[email protected].
Updated dependency @rjsf/material-ui-v5 to npm:@rjsf/[email protected].
Updated dependency @rjsf/validator-ajv8 to 5.13.0.@types/node dependency<WelcomeTitle language={['English', 'Spanish']} />AddWidgetDialog. If the title was set to "", the entry would contain an empty string. Use the name as a fallback<WelcomeTitle language={['English', 'Spanish']} />AddWidgetDialog. If the title was set to "", the entry would contain an empty string. Use the name as a fallback@rjsf/material-ui to @rjsf/material-ui-v5uiSchema provided by the json-schema.
More information here: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchemaCustomHompageGriduiSchema provided by the json-schema.
More information here: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchemaCustomHompageGrid@rjsf/material-ui to @rjsf/material-ui-v5rjsf dependencies to 5.7.3rjsf dependencies to 5.7.3@rjsf/*@rjsf/*760f521b979: Add support for customizable homepage.
Allows customizing homepage components, their placement, size and individual settings. For maximum size and settings, the existing home components should add necessary data attributes to their components.
See plugins/home/README.md for more information how to configure
the customizable homepage.
msw to ^1.0.0.msw to ^1.0.0.yarn add --cwd for app & backendWelcomeTitle to not be the right size when passed to the title property of the <Header> component. A Storybook entry was also added for the WelcomeTitleWelcomeTitle to not be the right size when passed to the title property of the <Header> component. A Storybook entry was also added for the WelcomeTitlereact-router-dom rather than react-router.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.@types/jest.msw to ^0.47.0.msw to ^0.46.0.msw to ^0.45.0.@types/jest.msw to ^0.47.0.msw to ^0.46.0.msw to ^0.45.0.a70869e775: Updated dependency msw to ^0.43.0.
8006d0f9bf: Updated dependency msw to ^0.44.0.
a46e317a75: Added support for customizing the time format used in the HeaderWorldClock component
Here's an example of how this can be used in the HomePage.tsx found in \packages\app\src\components\home to change the clock to be in the 24hr time format:
+const timeFormat: Intl.DateTimeFormatOptions = {
+ hour: '2-digit',
+ minute: '2-digit',
+ hour12: false,
+};
export const homePage = (
<Page themeId="home">
<Header title={<WelcomeTitle />} pageTitleOverride="Home">
+ <HeaderWorldClock clockConfigs={clockConfigs} customTimeFormat={timeFormat} />
</Header>
<Content>
<Grid container spacing={3}>
<Grid item xs={12}>
<HomePageSearchBar />
</Grid>
Updated dependencies
msw to ^0.43.0.a46e317a75: Added support for customizing the time format used in the HeaderWorldClock component
Here's an example of how this can be used in the HomePage.tsx found in \packages\app\src\components\home to change the clock to be in the 24hr time format:
+const timeFormat: Intl.DateTimeFormatOptions = {
+ hour: '2-digit',
+ minute: '2-digit',
+ hour12: false,
+};
export const homePage = (
<Page themeId="home">
<Header title={<WelcomeTitle />} pageTitleOverride="Home">
+ <HeaderWorldClock clockConfigs={clockConfigs} customTimeFormat={timeFormat} />
</Header>
<Content>
<Grid container spacing={3}>
<Grid item xs={12}>
<HomePageSearchBar />
</Grid>
Updated dependencies
msw to ^0.41.0.msw to ^0.41.0.StarredEntities home page card (if defined) and don't show entities which no longer existStarredEntities home page card (if defined) and don't show entities which no longer existab230a433f: Export template logos TemplateBackstageLogo and TemplateBackstageLogoIcon from package.
24254fd433: build(deps): bump @testing-library/user-event from 13.5.0 to 14.0.0
ac323de4ad: - Adds new HomePageStackOverflowQuestions component which renders a list of stack overflow questions on your homepage.
ComponentRenderer type.230ad0826f: Bump to using @types/node v16
9b58775849: Updated the dependency on @backstage/config to ^1.0.0.
99063c39ae: Minor API report cleanup
Updated dependencies
TemplateBackstageLogo and TemplateBackstageLogoIcon from package.@testing-library/user-event from 13.5.0 to 14.0.0@types/node v16@backstage/config to ^1.0.0.ac323de4ad: - Adds new HomePageStackOverflowQuestions component which renders a list of stack overflow questions on your homepage.
ComponentRenderer type.Updated dependencies
@testing-library/react from 11.2.6 to 12.1.31ed305728b: Bump node-fetch to version 2.6.7 and cross-fetch to version 3.1.5
c77c5c7eb6: Added backstage.role to package.json
651b919dbb: Add Renderer support for the HomePageToolkit component.
Previously <HomePageToolkit Renderer={ComponentAccordion} Tools={[]} /> would
result in the error can't access property "map", props.tools is undefined.
This change adds a context that can pass props down to the HomePageToolkit.
Also introduced is an expanded prop on the ComponentAccordion to setting
the default expanded state. See In Accordian story for details.
Updated dependencies
react-use imports to use react-use/lib/* instead.WelcomeTitle caused by using deprecated methods of the IdentityApipeerDependencies and allow both React v16 and v17 to be used.createCardExtension to remove deprecation warnings for extensions without name. Name will be required for extensions in a future release of core-plugin-api and therefore also in createCardExtension.ef5bf4235a: Adds a <WelcomeTitle> component that shows a playful greeting on the home page.
To use it, pass it to the home page header:
<Page themeId="home">
<Header title={<WelcomeTitle />} pageTitleOverride="Home">
<HomepageTimer />
</Header>
…
</Page>
87b2d5ad88: Fix <ComponentTabs> to display only the selected tab, not the other way around.
2435d7a49b: Added HeaderWorldClock to the Home plugin which is a copy of the HomepageTimer from core-components that has been updated to use props over static config from app-config.yaml. To use HeaderWorldClock you'll need to create an array of ClockConfig like this:
const clockConfigs: ClockConfig[] = [
{
label: 'NYC',
timeZone: 'America/New_York',
},
{
label: 'UTC',
timeZone: 'UTC',
},
{
label: 'STO',
timeZone: 'Europe/Stockholm',
},
{
label: 'TYO',
timeZone: 'Asia/Tokyo',
},
];
Then you can pass clockConfigs into the HeaderWorldClock like this:
<Page themeId="home">
<Header title="Home">
<HeaderWorldClock clockConfigs={clockConfigs} />
</Header>
<Content>...</Content>
</Page>
Updated dependencies
.to*Case(), preferring .toLocale*Case('en-US') instead.name key to all extensions in order to improve Analytics API metadata.bcf312fa52: The homepage <Header /> is now part of the composable canvas (allowing you to add the <HomepageTimer />, for example).
You will need to wrap your existing composed <HomePage /> component in <Page />, <Header />, and <Content /> components, like this:
// app/src/components/home/HomePage.tsx
+ import { Content, Header, Page, HomePageTimer } from '@backstage/core-components';
export const HomePage = () => (
+ <Page themeId="home">
+ <Header title="Home">
+ <HomepageTimer />
+ </Header>
+ <Content>
<Grid container spacing={3}>
<Grid item xs={12}>
<HomePageSearchBar />
</Grid>
// ...
+ </Content>
+ </Page>
);
@material-ui/lab to 4.0.0-alpha.57.@types/react and react-router to follow the pattern
used by all other Backstage packages.HomePageRandomJoke2b7d3455b: Create the Home plugin which exports some basic functionality that's used to compose a homepage. An example of a composed homepage is added to the example app.
This change also introduces the createCardExtension which creates a lazy loaded card that is intended to be used for homepage components.
Adoption of this homepage requires setup similar to what can be found in the example app.
list-scaffolder-tasks action to support the new "status" filter parameter, allowing the action to return tasks matching a specific status.always() and failure() status check functions for scaffolder steps. These functions can be used in the if field of a step to control execution after failures. always() ensures a step runs regardless of previous step outcomes, while failure() runs a step only when a previous step has failed.uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().import type. These self-referential imports could trigger circular initialization errors in bundled ESM and when the package was loaded via jest.requireActual — most visibly Cannot access '_AppRootElementBlueprintesm' before initialization from @backstage/frontend-plugin-api. There are no user-facing API changes.uuid dependency and replaced usage with the built-in crypto.randomUUID().PackageGraph.listChangedPackages where removed dependencies were not detected during lockfile analysis. The dependency graph from the previous lockfile was not being merged, causing transitive dependency removals to be missed.import type. These self-referential imports could trigger circular initialization errors in bundled ESM and when the package was loaded via jest.requireActual — most visibly Cannot access '_AppRootElementBlueprintesm' before initialization from @backstage/frontend-plugin-api. There are no user-facing API changes.import type. These self-referential imports could trigger circular initialization errors in bundled ESM and when the package was loaded via jest.requireActual — most visibly Cannot access '_AppRootElementBlueprintesm' before initialization from @backstage/frontend-plugin-api. There are no user-facing API changes.ExternalRouteRef in the mountedRoutes option of renderInTestApp and renderTestApp.@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.import type. These self-referential imports could trigger circular initialization errors in bundled ESM and when the package was loaded via jest.requireActual — most visibly Cannot access '_AppRootElementBlueprintesm' before initialization from @backstage/frontend-plugin-api. There are no user-facing API changes.@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.import type. These self-referential imports could trigger circular initialization errors in bundled ESM and when the package was loaded via jest.requireActual — most visibly Cannot access '_AppRootElementBlueprintesm' before initialization from @backstage/frontend-plugin-api. There are no user-facing API changes.import type. These self-referential imports could trigger circular initialization errors in bundled ESM and when the package was loaded via jest.requireActual — most visibly Cannot access '_AppRootElementBlueprintesm' before initialization from @backstage/frontend-plugin-api. There are no user-facing API changes.@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.uuid dependency and replaced usage with the built-in crypto.randomUUID().@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.uuid dependency and replaced usage with the built-in crypto.randomUUID().@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.status filter to ScaffolderService.listTasks, allowing callers to retrieve tasks matching a specific status.uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.uuid dependency and replaced usage with the built-in crypto.randomUUID().uuid dependency and replaced usage with the built-in crypto.randomUUID().@remixicon/react dependency to versions below 4.9.0 due to a license change in that release.