Merge branch 'master' of https://github.com/backstage/backstage into migrate-scaffolder-to-metrics-service
This commit is contained in:
@@ -26,7 +26,7 @@ Optional description with code examples.
|
||||
|
||||
Migration instructions (breaking changes only).
|
||||
|
||||
**Affected components:** button, card
|
||||
**Affected components:** Button, Card
|
||||
```
|
||||
|
||||
**Required:**
|
||||
@@ -40,7 +40,7 @@ Migration instructions (breaking changes only).
|
||||
```markdown
|
||||
Fixed button hover state
|
||||
|
||||
**Affected components:** button
|
||||
**Affected components:** Button
|
||||
```
|
||||
|
||||
````markdown
|
||||
@@ -56,7 +56,7 @@ Update imports:
|
||||
```
|
||||
````
|
||||
|
||||
**Affected components:** table
|
||||
**Affected components:** Table
|
||||
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/backend-plugin-api': minor
|
||||
'@backstage/backend-defaults': patch
|
||||
'@backstage/backend-test-utils': patch
|
||||
---
|
||||
|
||||
Added support for typed `examples` on actions registered via the actions registry. Action authors can now provide examples with compile-time-checked `input` and `output` values that match their schema definitions.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli-module-new': patch
|
||||
---
|
||||
|
||||
Rename the legacy `frontend-plugin` to `frontend-plugin-legacy`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/app-defaults': patch
|
||||
---
|
||||
|
||||
Added `FetchMiddlewares.clarifyFailures()` to the default fetch API middleware stack.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
'@backstage/plugin-app': patch
|
||||
---
|
||||
|
||||
Added support for configuring URL redirects on the `app/routes` extension. Redirects can be configured through `app-config` as an array of `{from, to}` path pairs, which will cause navigation to the `from` path to be redirected to the `to` path.
|
||||
|
||||
For example:
|
||||
|
||||
```yaml
|
||||
app:
|
||||
extensions:
|
||||
- app/routes:
|
||||
config:
|
||||
redirects:
|
||||
- from: /old-path
|
||||
to: /new-path
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-defaults': patch
|
||||
---
|
||||
|
||||
Refactored auditor severity log level mappings to use `zod/v4` with schema-driven defaults and type inference.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-auth-node': patch
|
||||
---
|
||||
|
||||
Added `OAuthAuthenticatorLogoutResult` type. The `logout` method on `OAuthAuthenticator` can now optionally return `{ logoutUrl }` to trigger a browser redirect after sign-out. This allows providers like Auth0 to clear their session cookies by redirecting to their logout endpoint.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend-module-auth0-provider': minor
|
||||
---
|
||||
|
||||
Added federated logout support. Set `federatedLogout: true` in the Auth0 provider config to clear both the Auth0 session and any upstream IdP session on sign-out. The authenticator returns a logout URL that redirects the browser to Auth0's `/v2/logout?federated` endpoint, ensuring users must fully re-authenticate after signing out.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-azure': patch
|
||||
---
|
||||
|
||||
Add Azure DevOps SCM event translation layer for instant catalog reprocessing.
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
'@backstage/cli-module-auth': patch
|
||||
'@backstage/cli-module-build': patch
|
||||
'@backstage/cli-module-test-jest': patch
|
||||
'@backstage/cli': patch
|
||||
'@backstage/ui': patch
|
||||
'@backstage/repo-tools': patch
|
||||
---
|
||||
|
||||
Bumped `glob` dependency from v7/v8/v11 to v13 to address security vulnerabilities in older versions. Bumped `rollup` from v4.27 to v4.59+ to fix a high severity path traversal vulnerability (GHSA-mw96-cpmx-2vgc).
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
---
|
||||
|
||||
Improved catalog entity filter query performance by switching from `IN (subquery)` to `EXISTS (correlated subquery)` patterns. This enables PostgreSQL semi-join optimizations and fixes `NOT IN` NULL-semantics pitfalls by using `NOT EXISTS` instead.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-graph': patch
|
||||
---
|
||||
|
||||
Added `title` and `icon` to the new frontend system plugin definition.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-import': patch
|
||||
---
|
||||
|
||||
Added `title` and `icon` to the new frontend system plugin definition.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog': patch
|
||||
---
|
||||
|
||||
Exported the NFS variant of the catalog index page as `CatalogIndexPage` from the `./alpha` entry point, along with supporting types `CatalogIndexPageProps`, `CatalogTableRow`, and `CatalogTableColumnsFunc`. This allows adopters to use and customize the catalog index page within a `PageBlueprint` in the new frontend system.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
---
|
||||
|
||||
Reduced search table write churn during stitching by syncing only changed rows instead of doing a full delete and re-insert. On Postgres this uses a single writable CTE, on MySQL a temporary table merge with deadlock retry, and on SQLite the previous bulk replace.
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
'@backstage/ui': minor
|
||||
---
|
||||
|
||||
**BREAKING**: The `Header` component's `tabs` prop now uses `HeaderNavTabItem[]` instead of `HeaderTab[]`. Tabs render as a `<nav>` element with links and optional dropdown menus instead of `role="tablist"`. A new `activeTabId` prop controls which tab is highlighted.
|
||||
|
||||
**Migration:**
|
||||
|
||||
```diff
|
||||
- import { Header, type HeaderTab } from '@backstage/ui';
|
||||
+ import { Header, type HeaderNavTabItem } from '@backstage/ui';
|
||||
|
||||
// Tabs no longer support matchStrategy — active state is controlled via activeTabId
|
||||
- const tabs: HeaderTab[] = [
|
||||
- { id: 'overview', label: 'Overview', href: '/overview', matchStrategy: 'prefix' },
|
||||
+ const tabs: HeaderNavTabItem[] = [
|
||||
+ { id: 'overview', label: 'Overview', href: '/overview' },
|
||||
];
|
||||
|
||||
- <Header title="My Page" tabs={tabs} />
|
||||
+ <Header title="My Page" tabs={tabs} activeTabId="overview" />
|
||||
```
|
||||
|
||||
**Affected components:** Header
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-app-api': minor
|
||||
---
|
||||
|
||||
Added `FetchMiddlewares.clarifyFailures()` which replaces the uninformative "TypeError: Failed to fetch" with a message that includes the request method and URL.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': minor
|
||||
---
|
||||
|
||||
Added a new `execute-template` actions registry action that executes a scaffolder template with provided input values and returns a task ID for tracking progress.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/ui': patch
|
||||
---
|
||||
|
||||
Added RangeSlider component for selecting numeric ranges.
|
||||
|
||||
**Affected components:** RangeSlider
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/core-app-api': patch
|
||||
'@backstage/plugin-app': patch
|
||||
---
|
||||
|
||||
The default auth implementation now checks for a `logoutUrl` in the logout response body. If the auth provider returns one (e.g. Auth0 federated logout), the browser is redirected to that URL to clear the provider's session cookies. This is backward compatible — providers that return an empty response are unaffected.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Bumped create-app version.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-notifications-backend-module-email': patch
|
||||
---
|
||||
|
||||
build(deps): bump `nodemailer` from 7.0.13 to 8.0.4
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/ui': patch
|
||||
---
|
||||
|
||||
Fixed `Avatar` becoming elliptical in flex layouts by preventing it from shrinking.
|
||||
|
||||
**Affected components:** Avatar
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-defaults': patch
|
||||
---
|
||||
|
||||
Fixed `AwsS3UrlReader` failing to read files from S3 buckets configured with custom endpoint hosts. When an integration was configured with a specific endpoint like `https://bucket-1.s3.eu-central-1.amazonaws.com`, the URL parser incorrectly fell through to the non-AWS code path, always defaulting the region to `us-east-1` instead of extracting it from the hostname.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/ui': patch
|
||||
---
|
||||
|
||||
Fixed relative `href` resolution for BUI link components. Relative paths like `../other` are now correctly turned into absolute paths before reaching the React Aria layer, ensuring client-side navigation goes to the right place.
|
||||
|
||||
**Affected components:** ButtonLink, Card, CellProfile, CellText, Link, ListRow, MenuItem, MenuListBoxItem, Row, SearchAutocompleteItem, Tab, Tag
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
---
|
||||
|
||||
Fixed a deadlock in the catalog processing loop that occurred when running multiple replicas. The `getProcessableEntities` method used `SELECT ... FOR UPDATE SKIP LOCKED` to prevent concurrent processors from claiming the same rows, but the call was not wrapped in a transaction, so the row locks were released before the subsequent `UPDATE` executed. This allowed multiple replicas to select and update overlapping rows, causing PostgreSQL deadlock errors (code 40P01).
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-react': patch
|
||||
---
|
||||
|
||||
Fixed `EntityInfoCard` header overflowing on narrow screens.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-org': patch
|
||||
---
|
||||
|
||||
Fixed `GroupProfileCard` and `UserProfileCard` content overflowing on narrow screens.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-plugin-api': patch
|
||||
---
|
||||
|
||||
Fixed `FlattenedMessages` type to avoid excessive type instantiation depth in TypeScript 6 when using `createTranslationRef` with the `translations` option.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
'@backstage/plugin-auth-node': minor
|
||||
---
|
||||
|
||||
**BREAKING**: Refactored `SignInResolverFactoryOptions` to use a schema-first generic pattern, following Zod's [recommended approach](https://zod.dev/library-authors?id=how-to-accept-user-defined-schemas#how-to-accept-user-defined-schemas) for writing generic functions. The type parameters changed from `<TAuthResult, TOptionsOutput, TOptionsInput>` to `<TAuthResult, TSchema extends ZodType>`.
|
||||
|
||||
This fixes "Type instantiation is excessively deep and possibly infinite" errors that occurred when the Zod version in a user's project did not align with the one in Backstage core.
|
||||
|
||||
If you use `createSignInResolverFactory` without explicit type parameters (the typical usage), no changes are needed:
|
||||
|
||||
```ts
|
||||
// This usage is unchanged
|
||||
createSignInResolverFactory({
|
||||
optionsSchema: z.object({ domain: z.string() }).optional(),
|
||||
create(options = {}) {
|
||||
/* ... */
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
If you reference `SignInResolverFactoryOptions` with explicit type parameters, update as follows:
|
||||
|
||||
```diff
|
||||
- SignInResolverFactoryOptions<MyAuthResult, MyOutput, MyInput>
|
||||
+ SignInResolverFactoryOptions<MyAuthResult, typeof mySchema>
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-plugin-api': patch
|
||||
---
|
||||
|
||||
Refactored the internal `createSchemaFromZod` helper to use a schema-first generic pattern, replacing the `ZodSchema<TOutput, ZodTypeDef, TInput>` constraint with `TSchema extends ZodType`. This avoids "excessively deep" type inference errors when multiple Zod copies are resolved.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-app-api': patch
|
||||
---
|
||||
|
||||
Wrapped extension permission authorization in a try/catch to surface errors as `ForwardedError` with a clear message.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli-module-test-jest': patch
|
||||
---
|
||||
|
||||
Minor error message update
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-gitlab': patch
|
||||
---
|
||||
|
||||
Add GitLab SCM event translation layer for instant catalog reprocessing.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-compat-api': patch
|
||||
---
|
||||
|
||||
Hide the default page header for pages created through the compatibility wrappers, since legacy plugins already render their own headers.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/ui': patch
|
||||
---
|
||||
|
||||
Added support for disabling pagination in `useTable` complete mode by setting `paginationOptions: { type: 'none' }`. This skips data slicing and produces `pagination: { type: 'none' }` in `tableProps`, removing the need for consumers to manually override the pagination prop on `Table`. Also fixed complete mode not reacting to dynamic changes in `paginationOptions.pageSize`.
|
||||
|
||||
**Affected components:** `useTable`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-kubernetes': patch
|
||||
---
|
||||
|
||||
Added `title` and `icon` to the new frontend system plugin definition.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
---
|
||||
|
||||
Resolved DOM nesting warning in OAuthRequestDialog by rendering secondary text as block-level spans.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog': patch
|
||||
---
|
||||
|
||||
Added Kind field to the About Card. Tags moved before Type and Lifecycle, Kind placed after them. A new `aboutCard.kindField.label` translation key was added.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-notifications': patch
|
||||
---
|
||||
|
||||
Added `title` and `icon` to the new frontend system plugin definition.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
Fix the display of the description in `GitlabRepoPicker`:
|
||||
|
||||
- Move `owner.description` helper text outside the `allowedOwners` conditional so it renders for both `Select` and `Autocomplete` modes.
|
||||
- Update the `Autocomplete` label to use `fields.gitlabRepoPicker.owner.inputTitle` instead of `fields.gitlabRepoPicker.owner.title`.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/ui': patch
|
||||
---
|
||||
|
||||
Added `prefers-reduced-motion` support to Tab indicator animations. Users with reduced motion preferences will no longer see sliding transitions on the active and hover indicators.
|
||||
|
||||
**Affected components:** Tabs
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-search': patch
|
||||
---
|
||||
|
||||
Fixed the `SearchModal` leaving the page in a broken state by not restoring body overflow and aria-hidden attributes when closing.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-org': patch
|
||||
---
|
||||
|
||||
Added `title` and `icon` to the new frontend system plugin definition.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/repo-tools': patch
|
||||
---
|
||||
|
||||
Parallelized CLI report generation, reducing wall-clock time by ~4x.
|
||||
+81
-1
@@ -224,5 +224,85 @@
|
||||
"@backstage/plugin-user-settings-backend": "0.4.1",
|
||||
"@backstage/plugin-user-settings-common": "0.1.0"
|
||||
},
|
||||
"changesets": []
|
||||
"changesets": [
|
||||
"add-actions-registry-examples",
|
||||
"angry-clouds-tell",
|
||||
"app-defaults-clarify-failures",
|
||||
"app-routes-redirect-config",
|
||||
"auditor-zod-v4-refactor",
|
||||
"azure-scm-events-layer",
|
||||
"bump-glob-rollup-security",
|
||||
"catalog-entity-page-no-header",
|
||||
"catalog-exists-query-optimization",
|
||||
"catalog-graph-nfs-page",
|
||||
"catalog-import-nfs-page",
|
||||
"catalog-search-table-sync",
|
||||
"chatty-cups-create",
|
||||
"clarify-fetch-failures",
|
||||
"cold-bikes-beam",
|
||||
"cool-shoes-hide",
|
||||
"create-app-1774970958",
|
||||
"dependabot-03b295a",
|
||||
"dependabot-2a735a0",
|
||||
"dependabot-cc35625",
|
||||
"drop-react-17-packages-ui",
|
||||
"easy-pens-judge",
|
||||
"fix-avatar-flex-shrink",
|
||||
"fix-aws-s3-url-reader-custom-endpoints",
|
||||
"fix-bui-relative-href-resolution",
|
||||
"fix-catalog-filter-flicker",
|
||||
"fix-catalog-refresh-state-deadlock",
|
||||
"fix-catalog-table-loading-flash",
|
||||
"fix-entity-info-card-header-overflow",
|
||||
"fix-org-profile-card-overflow",
|
||||
"fix-sidebar-settings-nav",
|
||||
"fix-translation-ref-ts6",
|
||||
"fix-zod-generic-auth-node",
|
||||
"fix-zod-generic-frontend-plugin-api",
|
||||
"frontend-app-api-permission-error",
|
||||
"funny-items-wink",
|
||||
"fuzzy-mangos-design",
|
||||
"gitlab-scm-events-layer",
|
||||
"happy-masks-allow",
|
||||
"hide-compat-wrapper-headers",
|
||||
"hip-parents-fall",
|
||||
"hot-yaks-crash",
|
||||
"kubernetes-nfs-metadata",
|
||||
"lazy-jars-shake",
|
||||
"loopback-redirect-uri-port",
|
||||
"lucky-things-write",
|
||||
"notifications-nfs-metadata",
|
||||
"olive-peaches-fly",
|
||||
"olive-ravens-smell",
|
||||
"orange-friends-march",
|
||||
"org-nfs-metadata",
|
||||
"parallelize-cli-reports",
|
||||
"plugin-header-remove-toolbar-wrapper",
|
||||
"quiet-streets-laugh",
|
||||
"remove-cli-module-new-dep",
|
||||
"remove-empty-examples-scaffolder-bridge",
|
||||
"remove-jest-when-dep",
|
||||
"remove-plugin-header-action-define-params",
|
||||
"remove-type-fest-github",
|
||||
"renovate-9d44e41",
|
||||
"renovate-ced70c0",
|
||||
"repo-tools-peer-deps-react18",
|
||||
"scaffolder-nfs-page-layout",
|
||||
"show-pagination-label",
|
||||
"shy-doors-repair",
|
||||
"signals-nfs-metadata",
|
||||
"simplify-compat-route-ref",
|
||||
"simplify-route-ref-types",
|
||||
"smart-cycles-fall",
|
||||
"specialized-app-apis",
|
||||
"swift-lizards-bathe",
|
||||
"ts6-cli-dom-asynciterable",
|
||||
"ts6-eslint-plugin",
|
||||
"ts6-plugin-scaffolder",
|
||||
"ui-menu-item-style-refactor",
|
||||
"ui-react-aria-deps",
|
||||
"unprocessed-entities-devtools",
|
||||
"update-app-visualizer-header-action",
|
||||
"wicked-impalas-fry"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-github': patch
|
||||
---
|
||||
|
||||
Fixed a bug where `GithubEntityProvider` with `validateLocationsExist: true` and `filters.branch` configured would always check for the catalog file on the repository's default branch (`HEAD`) instead of the configured branch. This caused repositories to be filtered out when the catalog file only existed on the non-default branch.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
---
|
||||
|
||||
Removed unnecessary empty `examples` array from actions bridged via the actions registry.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend-module-rails': patch
|
||||
---
|
||||
|
||||
Removed unused `jest-when` dev dependency.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/ui': patch
|
||||
---
|
||||
|
||||
Updated dependency `@types/use-sync-external-store` to `^1.0.0`.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/ui': patch
|
||||
---
|
||||
|
||||
Added `showPaginationLabel` prop to `TablePagination` and `useTable` pagination options. When set to `false`, the pagination label (e.g., "1 - 20 of 150") is hidden while navigation controls remain visible. Defaults to `true`.
|
||||
|
||||
**Affected components:** `TablePagination`, `useTable`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-signals': patch
|
||||
---
|
||||
|
||||
Added `title` and `icon` to the new frontend system plugin definition.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-compat-api': patch
|
||||
---
|
||||
|
||||
Removed unnecessary type argument from internal `createRouteRef` call.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-plugin-api': minor
|
||||
---
|
||||
|
||||
Simplified the type signature of `createRouteRef` by replacing the dual `TParams`/`TParamKeys` type parameters with a single `TParamKey` parameter. This is a breaking change for callers that explicitly provided type arguments, but most usage that relies on inference is unaffected.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/integration': patch
|
||||
---
|
||||
|
||||
Fixed `SingleInstanceGithubCredentialsProvider` to return app credentials when `getCredentials` is called with a bare host URL (e.g. `https://github.com`) instead of falling back to a personal access token.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-react': patch
|
||||
---
|
||||
|
||||
Fixed entity relation cards (e.g., "Has components") only showing one entity at a time by using `paginationOptions: { type: 'none' }` instead of deriving page size from data length.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli-module-build': patch
|
||||
---
|
||||
|
||||
When building dist-workspaces with --always-pack, batch `yarn pack` operations to avoid packing packages and their dependencies simultaneously.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
---
|
||||
|
||||
Use Backstage Link component for markdown anchor rendering to ensure consistent internal and external link behavior.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Added `DOM.AsyncIterable` to the default `lib` in the shared TypeScript configuration, enabling standard async iteration support for DOM APIs such as `FileSystemDirectoryHandle`. This aligns behavior with [TypeScript 6.0](https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/#the-dom-lib-now-contains-domiterable-and-domasynciterable), where this lib is included in `DOM` by default.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/eslint-plugin': patch
|
||||
---
|
||||
|
||||
Fixed `no-mixed-plugin-imports` rule to return `null` from non-fixable suggestion handlers and added an explicit `SuggestionReportDescriptor[]` type annotation, matching the stricter type checking in TypeScript 6.0.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
Removed custom `IterableDirectoryHandle` and `WritableFileHandle` types in favor of the standard DOM `FileSystemDirectoryHandle` and `FileSystemFileHandle` types, which are now available through the `DOM.AsyncIterable` lib added to the shared TypeScript configuration.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/ui': patch
|
||||
---
|
||||
|
||||
Fixed HeaderNav hover indicator covering tab text when theme uses opaque background colors. Also fixed an incorrect CSS variable reference (`--bui-font-family` → `--bui-font-regular`).
|
||||
|
||||
**Affected components:** Header
|
||||
Reference in New Issue
Block a user