docs/releases/v1.47.0-next.3-changelog.md
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.47.0-next.3
6fc00e6: Added action filtering support with glob patterns and attribute constraints.
The ActionsService now supports filtering actions based on configuration. This allows controlling which actions are exposed to consumers like the MCP backend.
Configuration example:
backend:
actions:
pluginSources:
- catalog
- scaffolder
filter:
include:
- id: 'catalog:*'
attributes:
destructive: false
- id: 'scaffolder:*'
exclude:
- id: '*:delete-*'
- attributes:
readOnly: false
Filtering logic:
include: Rules for actions to include. Each rule can specify an id glob pattern and/or attributes constraints. An action must match at least one rule to be included. If no include rules are specified, all actions are included by default.exclude: Rules for actions to exclude. Takes precedence over include rules.id and attributes with AND logic (both must match if specified).243e5e7: BREAKING: Redesigned Table component with new useTable hook API.
Table component (React Aria wrapper) is renamed to TableRootTable component that handles data display, pagination, sorting, and selectionuseTable hook is completely redesigned with a new API supporting three pagination modes (complete, offset, cursor)ColumnConfig, TableProps, TableItem, UseTableOptions, UseTableResultNew features include unified pagination modes, debounced query changes, stale data preservation during reloads, and row selection with toggle/replace behaviors.
Migration guide:
useTable hook:-import { Table, useTable } from '@backstage/ui';
-const { data, paginationProps } = useTable({ data: items, pagination: {...} });
+import { Table, useTable, type ColumnConfig } from '@backstage/ui';
+const { tableProps } = useTable({
+ mode: 'complete',
+ getData: () => items,
+});
-<Table aria-label="My table">
- <TableHeader>...</TableHeader>
- <TableBody items={data}>...</TableBody>
-</Table>
-<TablePagination {...paginationProps} />
+const columns: ColumnConfig<Item>[] = [
+ { id: 'name', label: 'Name', isRowHeader: true, cell: item => <CellText title={item.name} /> },
+ { id: 'type', label: 'Type', cell: item => <CellText title={item.type} /> },
+];
+
+<Table columnConfig={columns} {...tableProps} />
Affected components: Table, TableRoot, TablePagination
95246eb: Breaking Updating color tokens to match the new neutral style on different surfaces.
There's no direct replacement for the old tint tokens but you can use the new neutral set of color tokens on surface 0 or 1 as a replacement.
--bui-bg-tint can be replaced by --bui-bg-neutral-on-surface-0--bui-bg-tint-hover can be replaced by --bui-bg-neutral-on-surface-0-hover--bui-bg-tint-pressed can be replaced by --bui-bg-neutral-on-surface-0-pressed--bui-bg-tint-disabled can be replaced by --bui-bg-neutral-on-surface-0-disabledea0c6d8: Introduce new ToggleButton & ToggleButtonGroup components in Backstage UI
Link component causing hard page refreshes for internal routes. The component now properly uses React Router's navigation instead of full page reloads.user_created_at migration causing SQLiteError regarding use of non-constants for defaultsfromBeginning) and autoCommit@types/swagger-ui-react to ^5.0.0.GithubOrgEntityProvider membership event handling and edit team. The provider now fetches only the specific user's teams instead of all organization users when processing membership events, and uses addEntitiesOperation instead of replaceEntitiesOperation to avoid unnecessary entity deletions.latest_report_status is undefined@modelcontextprotocol/sdk from 1.24.3 to 1.25.2bb7088b: Added options to set workflow access level for repositories to github:repo:create
This is useful when creating repositories for GitHub Actions to manage access to the workflows during creation.
- action: github:repo:create
id: create-repo
input:
repoUrl: github.com?owner=owner&repo=repo
visibility: private
+ workflowAccess: organization