Version Packages

This commit is contained in:
github-actions[bot]
2026-04-14 14:57:31 +00:00
parent 9f24941b49
commit 93e643d142
603 changed files with 5867 additions and 1607 deletions
@@ -1,7 +0,0 @@
---
'@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.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/ui': patch
---
Added new `Badge` component for non-interactive labeling and categorization of content. It shares the visual appearance of `Tag` but renders as a plain DOM element with no interactive states.
**Affected components:** Badge
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/errors': minor
---
A new `toError` utility function is now available for converting unknown values to `ErrorLike` objects. If the value is already error-like it is returned as-is, strings are used directly as the error message, and all other values are wrapped as `unknown error '<stringified>'`. Non-error causes passed to `CustomErrorBase` are now converted and stored using `toError` rather than discarded.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-notifications-backend': patch
---
Added an action to get a user's notifications
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli-module-new': patch
---
Rename the legacy `frontend-plugin` to `frontend-plugin-legacy`
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-app': patch
---
Migrated `AppLanguageApi` extension to use the new `configSchema` option.
@@ -1,5 +0,0 @@
---
'@backstage/app-defaults': patch
---
Added `FetchMiddlewares.clarifyFailures()` to the default fetch API middleware stack.
-17
View File
@@ -1,17 +0,0 @@
---
'@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
```
@@ -1,5 +0,0 @@
---
'@backstage/errors': patch
---
Simplified `assertError` to delegate to `isError` instead of duplicating the same checks.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-defaults': patch
---
Refactored auditor severity log level mappings to use `zod/v4` with schema-driven defaults and type inference.
-5
View File
@@ -1,5 +0,0 @@
---
'@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.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-auth-backend-module-auth0-provider': patch
---
Added `createAuth0Authenticator` factory function that accepts a `CacheService` to cache Auth0 profile API responses for 1 minute during token refreshes. This avoids hitting Auth0 rate limits on repeated page refreshes. The module now uses the cached variant by default. The existing `auth0Authenticator` export remains available for use without caching.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-auth-backend-module-auth0-provider': minor
---
Sign-out now redirects the browser to Auth0's `/v2/logout` endpoint, clearing the Auth0 session cookie so that the next sign-in creates a new Auth0 session. Previously, only the Backstage session was cleared, allowing users to sign back in without going through Auth0 logout first.
Set `federatedLogout: true` in the Auth0 provider config to additionally clear the upstream IdP session (e.g. Okta, Google). This is what guarantees a full re-login across the entire SSO chain and may require users to re-enter credentials.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-azure': patch
---
Add Azure DevOps SCM event translation layer for instant catalog reprocessing.
@@ -1,5 +0,0 @@
---
'@backstage/backend-defaults': minor
---
Added support for AWS RDS IAM authentication for PostgreSQL connections. Set `connection.type: rds` along with `host`, `user`, and `region` to use short-lived IAM tokens instead of a static password. Requires the `@aws-sdk/rds-signer` package and an IAM role with `rds-db:connect` permission.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
---
Added Bitbucket Cloud SCM event translation layer for the catalog backend module. The module now subscribes to Bitbucket Cloud webhook events and translates them into generic catalog SCM events, enabling instant catalog reprocessing when repositories are pushed to, renamed, transferred, or deleted. The `analyzeBitbucketCloudWebhookEvent` function is exported from the alpha entry point for custom integrations.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-mcp-actions-backend': patch
---
Fix OAuth 2.0 Protected Resource Metadata endpoint returning internal plugin URL, preventing some MCP clients like Claude Code from authenticating
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/theme': patch
---
Fixes occasional duplication of v5 class name prefix for MUI 5 components.
Documentation added to explain how to resolve missing v5 prefix in class names when using MUI 5 components in main app.
-11
View File
@@ -1,11 +0,0 @@
---
'@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).
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/ui': patch
---
Resolved route-relative `href` props to absolute paths by default in all components, removing the need for the `resolveHref` option in component definitions.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': minor
---
Added a `location_entity_ref` column to the `locations` database table that stores the full entity ref of the corresponding `kind: Location` catalog entity for each registered location row. The value is pre-computed and persisted so that it no longer needs to be recomputed from the location's type and target on every read.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': minor
---
Added `ModelProcessor` that validates catalog entities against the compiled catalog model schemas, and integrated it into the `CatalogBuilder` and `CatalogPlugin`. This processor is only activated if you explicitly add catalog model sources to your backend; there is no functional change for regular catalog usage.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Removed deprecated `PermissionAuthorizer` support and the `createPermissionIntegrationRouter` fallback path from `CatalogBuilder`. The `permissionsRegistry` service is now required, and `permissions` is always a `PermissionsService`.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Removed the internal `addPermissions` and `addPermissionRules` methods from `CatalogBuilder`, and removed the `catalogPermissionExtensionPoint` wiring from `CatalogPlugin`. Custom permission rules and permissions should be registered via `coreServices.permissionsRegistry` directly.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog': patch
---
Migrated the unregister entity context menu item from the deprecated `DialogApi.showModal` to the new `DialogApi.open` method.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog': patch
---
Disabled the default page layout header for the catalog entity page in the new frontend system. The entity page already renders its own header through the `EntityHeader` extension, so the page layout header was redundant.
@@ -1,5 +0,0 @@
---
'@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.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-graph': patch
---
Updated `README-alpha.md` extension examples to use current APIs.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-graph': patch
---
Added `title` and `icon` to the new frontend system plugin definition.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-graph': patch
---
Replaced `humanizeEntityRef` with the Catalog Presentation API in `CatalogGraphCard` and `CatalogGraphPage` components for consistent entity display.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-import': patch
---
Added `title` and `icon` to the new frontend system plugin definition.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/catalog-model': minor
---
Added a new catalog model layer system that allows plugins to declare and extend catalog entity kinds, annotations, labels, tags, and relations using JSON Schema. The new `createCatalogModelLayer` API provides a builder for composing model definitions, and a `compileCatalogModel` function validates and merges them into a unified model. Built-in entity kinds now include model layer definitions.
-5
View File
@@ -1,5 +0,0 @@
---
'@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.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-node': minor
---
Added `provideStaticCatalogModel` that helps provide a static catalog model at startup.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-node': minor
---
**BREAKING ALPHA**: Removed the deprecated `CatalogPermissionRuleInput`, `CatalogPermissionExtensionPoint`, and `catalogPermissionExtensionPoint` exports. Use `coreServices.permissionsRegistry` directly to register catalog entity permission rules and permissions.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-react': patch
---
Migrated alpha entity blueprints to use the new `configSchema` option with zod v4 schema values.
-5
View File
@@ -1,5 +0,0 @@
---
'@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.
-24
View File
@@ -1,24 +0,0 @@
---
'@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
-5
View File
@@ -1,5 +0,0 @@
---
'@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.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-org': patch
---
The `MembersListCard` now prefers `metadata.title` over `metadata.name` when displaying the group membership card, similarly to the rest of the group profile cards
-5
View File
@@ -1,5 +0,0 @@
---
'@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.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/ui': patch
---
Added automatic active tab detection to the Header component. When `activeTabId` is omitted, the active tab is now auto-detected from the current route using `matchRoutes`. Pass an explicit `activeTabId` to override, or `null` for no active tab.
**Affected components:** Header
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-events-backend-module-google-pubsub': patch
---
Migrated internal metrics in `GooglePubSubConsumingEventPublisher` and `EventConsumingGooglePubSubPublisher` to use the new alpha `MetricsService`
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/ui': patch
---
Added RangeSlider component for selecting numeric ranges.
**Affected components:** RangeSlider
@@ -1,6 +0,0 @@
---
'@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.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
@@ -1,5 +0,0 @@
---
'@backstage/frontend-plugin-api': patch
---
Fixed the duplicate extension error message in `createFrontendModule` to correctly say "Module" instead of "Plugin".
@@ -1,5 +0,0 @@
---
'@backstage/backend-test-utils': patch
---
Deduplicated internal readiness-polling helpers used by the database and cache test infrastructure.
-30
View File
@@ -1,30 +0,0 @@
---
'@backstage/backend-app-api': patch
'@backstage/backend-defaults': patch
'@backstage/cli': patch
'@backstage/cli-common': patch
'@backstage/cli-module-migrate': patch
'@backstage/cli-module-new': patch
'@backstage/cli-node': patch
'@backstage/config-loader': patch
'@backstage/core-components': patch
'@backstage/repo-tools': patch
'@backstage/plugin-auth': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-catalog-unprocessed-entities': patch
'@backstage/plugin-devtools-backend': patch
'@backstage/plugin-mcp-actions-backend': patch
'@backstage/plugin-notifications-backend-module-slack': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-scaffolder-backend-module-github': patch
'@backstage/plugin-search-backend-node': patch
'@backstage/plugin-techdocs-backend': patch
'@backstage/plugin-techdocs-node': patch
---
Migrated from `assertError` to `toError` for error handling.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-react': patch
---
build(deps): bump `flatted` from 3.4.1 to 3.4.2
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-notifications-backend-module-email': patch
---
build(deps): bump `nodemailer` from 7.0.13 to 8.0.4
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli-common': patch
---
chore(deps): bump `undici` from 7.22.0 to 7.24.0
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli-common': patch
---
Deprecated `bootstrapEnvProxyAgents()` in favor of Node.js built-in proxy support. Set `NODE_USE_ENV_PROXY=1` alongside your `HTTP_PROXY`/`HTTPS_PROXY` environment variables instead. See the [corporate proxy guide](https://backstage.io/docs/tutorials/corporate-proxy/) for details. This function will be removed in a future release.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-app': patch
---
Updated the default `DialogApi` implementation to support the new `open` method. The dialog display layer no longer renders any dialog chrome — callers provide their own dialog component. The deprecated `show` and `showModal` methods now use `open` internally with a Material UI dialog wrapper for backward compatibility.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/frontend-plugin-api': patch
---
Added `open` method to `DialogApi` that renders dialogs without any built-in dialog chrome, giving the caller full control over the dialog presentation. This avoids focus trap conflicts that occur when mixing components from different design libraries. The existing `show` and `showModal` methods are now deprecated in favor of `open`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/ui': minor
---
**BREAKING**: Dropped support for React 17. The minimum supported React version is now 18.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/ui': patch
---
Made `SearchAutocomplete` background-aware. The input now adapts its background color based on its parent container's background level.
**Affected components:** SearchAutocomplete
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Migrated OpenTelemetry metrics to use the `MetricsService` from `@backstage/backend-plugin-api/alpha` instead of the raw `@opentelemetry/api` meter.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/ui': patch
---
Exported the `TableBodySkeleton` component as a public API for use outside of the built-in `Table` component. The component now accepts any column array whose items have an `id` property, making it compatible with custom column types.
@@ -1,5 +0,0 @@
---
'@backstage/filter-predicates': patch
---
Added `createZodV4FilterPredicateSchema` as a zod v4 counterpart to `createZodV3FilterPredicateSchema`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli-module-auth': patch
---
Fixed `auth login` clearing previously configured action sources and other instance metadata when re-authenticating.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/ui': patch
---
Fixed `Avatar` becoming elliptical in flex layouts by preventing it from shrinking.
**Affected components:** Avatar
@@ -1,5 +0,0 @@
---
'@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.
@@ -1,7 +0,0 @@
---
'@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
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-react': patch
---
Fixed a UI flicker in the catalog entity list where changing a filter would briefly flash stale data before showing the new results.
@@ -1,5 +0,0 @@
---
'@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).
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog': patch
---
Fixed the catalog table briefly showing an empty loading state when changing filters. The table now keeps displaying stale results until new data arrives.
@@ -1,5 +0,0 @@
---
'@backstage/cli-module-build': patch
---
Fixed the embedded-postgres PID file being written before database initialization, which prevented the database from initializing successfully.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-react': patch
---
Fixed `EntityInfoCard` header overflowing on narrow screens.
@@ -1,5 +0,0 @@
---
'@backstage/cli-module-actions': minor
---
Added improved CLI output formatting and UX for the actions module. The `list` command now groups actions by plugin source with colored headers and action titles. The `execute --help` command renders full action details including markdown descriptions. Complex schema types like objects, arrays, and union types are now accepted as JSON flags. Error messages from the server are now surfaced directly. The `sources add` and `sources remove` commands accept multiple plugin IDs at once.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-gitlab': patch
---
Fixed GitLab project topic filtering by using correct API parameter 'topic' instead of 'topics'
@@ -1,5 +0,0 @@
---
'@backstage/plugin-notifications-backend': patch
---
Fix handling of `limit=0` in `getNotifications` query to return empty results instead of all notifications
@@ -1,5 +0,0 @@
---
'@backstage/plugin-org': patch
---
Fixed `GroupProfileCard` and `UserProfileCard` content overflowing on narrow screens.
@@ -1,5 +0,0 @@
---
'@backstage/repo-tools': patch
---
Fixed the `peer-deps` command to only require peer dependencies that are actually referenced by each package, rather than requiring all tracked peer dependencies for every package with any React dependency.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder': patch
---
Fixed the NFS custom field explorer so loaded form fields render field options and previews correctly.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Fix handling of `after=0` in task events endpoint
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Various fixes for the `create-app` template: reorganizing sidebar items, removing redundant config and code, and adding a documentation example.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/frontend-plugin-api': patch
---
Fixed `FlattenedMessages` type to avoid excessive type instantiation depth in TypeScript 6 when using `createTranslationRef` with the `translations` option.
-26
View File
@@ -1,26 +0,0 @@
---
'@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>
```
@@ -1,5 +0,0 @@
---
'@backstage/frontend-plugin-api': minor
---
**BREAKING**: Removed the deprecated `createSchemaFromZod` helper. Use the new `configSchema` option instead. See the [1.50 migration documentation](https://backstage.io/docs/frontend-system/architecture/migrations#150) for more information.
@@ -1,5 +0,0 @@
---
'@backstage/frontend-app-api': patch
---
Wrapped extension permission authorization in a try/catch to surface errors as `ForwardedError` with a clear message.
@@ -1,5 +0,0 @@
---
'@backstage/frontend-plugin-api': patch
---
Added a new `configSchema` option for `createExtension` and `createExtensionBlueprint` that accepts direct schema values from any [Standard Schema](https://github.com/standard-schema/standard-schema) compatible library with JSON Schema support, such as zod v4 or the `zod/v4` subpath from zod v3. The old `config.schema` option is now deprecated. Note that direct zod v3 schemas are not supported by the new `configSchema` option — use `import { z } from 'zod/v4'` from the zod v3 package, or upgrade to zod v4. See the [1.50 migration documentation](https://backstage.io/docs/frontend-system/architecture/migrations#150) for more information.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli-module-test-jest': patch
---
Minor error message update
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Migrated the TechDocs alpha plugin pages to use BUI components. The index page and reader page now use BUI `Header` and `Container` instead of legacy `Page`/`Content`/`ContentHeader` wrappers. Added a `SupportButton` as a plugin header action. Changed plugin title to "Documentation" and icon to `RiArticleLine`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-gitlab': patch
---
Add GitLab SCM event translation layer for instant catalog reprocessing.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/ui': patch
---
Added `aria-hidden` to the `PluginHeader` icon to prevent screen readers from announcing decorative plugin icons.
**Affected components:** PluginHeader
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-plugin-api': patch
---
Aligned `.T` behavior between `ExtensionPoint` and `ServiceRef` to consistently return `null` instead of throwing.
-11
View File
@@ -1,11 +0,0 @@
---
'@backstage/ui': minor
---
**BREAKING**: Tab `href` values in the Header component are now resolved through the router context instead of being passed raw to the `<a>` tag. This means relative `href` values (e.g. `sub3`, `./sub4`, `../catalog`) are now resolved against the current route, and absolute `href` values may be affected by the router's `basename` configuration.
**Migration:**
Tab navigation should work the same for absolute `href` values in most setups. If you use relative `href` values in tabs, verify they resolve as expected. If your app configures a router `basename`, check that absolute tab `href` values still navigate correctly.
**Affected components:** Header
@@ -1,5 +0,0 @@
---
'@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.
-7
View File
@@ -1,7 +0,0 @@
---
'@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`
@@ -1,5 +0,0 @@
---
'@backstage/backend-defaults': patch
---
`HostDiscovery` now logs a warning when `backend.baseUrl` is set to a localhost address while `NODE_ENV` is `production`, and when `backend.baseUrl` is not a valid URL.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-app': patch
---
Updated the `PageLayout` swap to pass a clickable `titleLink` on the `PluginHeader`, resolved from the plugin's root route ref.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kubernetes': patch
---
Added `title` and `icon` to the new frontend system plugin definition.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Resolved DOM nesting warning in OAuthRequestDialog by rendering secondary text as block-level spans.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': minor
---
Location responses now include an `entityRef` field with the stable entity reference for each location. The `entityRef` field is also filterable via `POST /locations/by-query`. Added `PUT /locations/:id` endpoint for updating the type and target of an existing location.
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-react': patch
---
Updated `catalogApiMock` to include the new `updateLocation` method stub, keeping it in sync with the `CatalogApi` interface.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/catalog-client': minor
---
**BREAKING PRODUCERS**: Added required `entityRef` field to the `Location` type, exposing the stable entity reference for each registered location. Any code that produces `Location` objects must now include this field. Added `updateLocation` method to `CatalogApi` for updating the type and target of an existing location.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-node': minor
---
**BREAKING PRODUCERS**: Added `updateLocation` method to `CatalogService` for updating the type and target of an existing location. Any code that implements `CatalogService` must now provide this method.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-auth-backend': patch
---
Fixed CIMD redirect URI matching to allow any port for localhost addresses per RFC 8252 Section 7.3. Native CLI clients use ephemeral ports for OAuth callbacks, which are now accepted when the registered redirect URI uses a localhost address.

Some files were not shown because too many files have changed in this diff Show More