Patrik Oldsberg
c3e8286bf6
Merge pull request #32562 from Believe-SA/package-workspaces
...
chore: replace legacy package.json workspaces.packages by workspaces
2026-02-27 12:58:53 +01:00
Johan Persson
33324d45ac
docs(ui): clarify module-scoped singleton in useBreakpoint
...
Signed-off-by: Johan Persson <johanopersson@gmail.com >
2026-02-27 12:32:31 +01:00
Johan Persson
f10b3b8d7d
refactor(ui): simplify useBreakpoint singleton store
...
Initialize listeners as an eager Set to eliminate the undefined union
type and non-null assertions. Add comment explaining the change listener
algorithm.
Signed-off-by: Johan Persson <johanopersson@gmail.com >
2026-02-27 12:32:31 +01:00
Johan Persson
cd3cb0f35a
chore: add changeset for useBreakpoint performance improvement
...
Signed-off-by: Johan Persson <johanopersson@gmail.com >
2026-02-27 12:32:31 +01:00
Johan Persson
b39c2d3893
perf(ui): rewrite useBreakpoint with singleton useSyncExternalStore
...
Replace per-instance useState + matchMedia pattern with a module-level
singleton that shares 6 matchMedia listeners across all callers.
Reduces listener count from 18×N to a fixed 6.
Signed-off-by: Johan Persson <johanopersson@gmail.com >
2026-02-27 12:32:31 +01:00
Johan Persson
154492c05f
chore(ui): add use-sync-external-store dependency
...
Signed-off-by: Johan Persson <johanopersson@gmail.com >
2026-02-27 12:32:31 +01:00
Gabriel Dugny
3187a7a441
Merge remote-tracking branch 'origin/master' into package-workspaces
2026-02-27 12:05:03 +01:00
Gabriel Dugny
37a309e7e2
Update .changeset/slow-items-pull.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Gabriel Dugny <gabriel@dugny.me >
2026-02-27 12:04:16 +01:00
Patrik Oldsberg
bf97fecaf7
Merge pull request #33019 from backstage/rugvip/nfs-entity-page-group-aliases-and-ordering
...
catalog: add group aliases and configurable content ordering to entity page
2026-02-26 23:34:17 +01:00
Fredrik Adelöw
858eb3755c
Merge pull request #33037 from backstage/freben/by-refs-predicate-query
...
feat(catalog): Add predicate-based filtering to the by-refs endpoint
2026-02-26 22:35:27 +01:00
Fredrik Adelöw
3880820c62
fix: clean up filter merging logic and add combined filter+query test
...
- Replace incorrect Object.keys-on-array guard with direct filter
conversion, matching the pattern used in getEntityFacetsByPredicate
- Add backend router test covering combined filter query param + body
query predicate being forwarded independently to entitiesBatch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 21:59:36 +01:00
Fredrik Adelöw
ec411a01ae
feat: add query predicate support to InMemoryCatalogClient
...
Adds support for the `query` field in `getEntitiesByRefs` and
`getEntityFacets` on InMemoryCatalogClient, matching the backend
behavior.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 21:50:33 +01:00
Fredrik Adelöw
2ffb23df02
Update packages/catalog-client/src/CatalogClient.ts
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 21:26:33 +01:00
Fredrik Adelöw
5aea009edd
refactor: simplify entitiesBatchRequest to use filterPredicateSchema directly
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 21:11:06 +01:00
Fredrik Adelöw
972f686958
feat(catalog): Add predicate-based filtering to the by-refs endpoint
...
Adds support for predicate-based filtering (`$all`, `$any`, `$not`,
`$exists`, `$in`, `$contains`, `$hasPrefix`) to the catalog
`/entities/by-refs` endpoint via a `query` field in the request body.
The existing `filter` query parameter behavior is preserved for backward
compatibility. The `query` predicate is only used when explicitly
provided, and when both `filter` and `query` are given, they are merged
with `$all`.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 21:03:25 +01:00
Fredrik Adelöw
d0e5ccc92e
Merge pull request #33031 from backstage/worktree-catalog-updates
...
feat(catalog): Add predicate-based filtering to the facets endpoint
2026-02-26 20:37:48 +01:00
Patrik Oldsberg
6b8395d1d8
Merge pull request #33034 from backstage/rugvip/fix-form-fields-api-export
...
scaffolder-react: export formFieldsApiRef
2026-02-26 19:24:05 +01:00
Fredrik Adelöw
f2401e9bda
Merge pull request #33032 from thomvaill/fix-devtools-trigger-task-urlencoding
...
fix(devtools): URL-encode task IDs when triggering scheduled tasks
2026-02-26 19:23:41 +01:00
Patrik Oldsberg
6b70a2abcf
Apply suggestions from code review
...
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
2026-02-26 19:09:44 +01:00
Patrik Oldsberg
4a9b189125
Add .patches entry for patch release
...
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
2026-02-26 18:31:50 +01:00
Patrik Oldsberg
743e4e3a1b
Remove scaffolder changeset, note API signature change
...
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
2026-02-26 18:31:18 +01:00
Patrik Oldsberg
33cc7b218e
Address review feedback on changesets
...
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
2026-02-26 18:15:08 +01:00
Patrik Oldsberg
004b5c1208
Move formFieldsApiRef and ScaffolderFormFieldsApi to scaffolder-react
...
The formFieldsApiRef and ScaffolderFormFieldsApi type are now defined and
exported from @backstage/plugin-scaffolder-react/alpha, and re-exported
from @backstage/plugin-scaffolder/alpha for backwards compatibility.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
2026-02-26 18:06:57 +01:00
Fredrik Adelöw
105befbbf0
fix(catalog): only route facets to POST when query predicate is present
...
Preserve backward compatibility by keeping filter-only requests on the
existing GET endpoint. Only route to POST when query is present, matching
the pattern used by queryEntities.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 17:13:47 +01:00
Fredrik Adelöw
4c4632ce1b
test(catalog): add GET /entity-facets backward compatibility test with filter
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 17:13:01 +01:00
thomvaill
afabb37104
fix(devtools): urlencode task IDs when calling trigger route
...
Signed-off-by: thomvaill <thomvaill@bluebricks.dev >
2026-02-26 16:50:57 +01:00
Fredrik Adelöw
12b790d3c3
chore: remove working plan documents
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 16:31:22 +01:00
Fredrik Adelöw
56c908eed5
chore: add changesets and API reports for facets predicate support
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 16:25:31 +01:00
Fredrik Adelöw
bd179b0d3b
feat(catalog): route facets requests to POST when query is present
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 16:21:24 +01:00
Fredrik Adelöw
be6c10ef8c
test(catalog): add tests for POST /entity-facets endpoint
...
Add unit tests for parseEntityFacetsQuery covering valid inputs (simple
queries, complex predicate queries, no query) and error cases (missing
facets, empty facets, invalid query types). Add route-level tests for
both GET and POST /entity-facets in createRouter.test.ts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 16:21:12 +01:00
Fredrik Adelöw
7a29905ba0
feat(catalog): add query predicate to GetEntityFacetsRequest
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 16:19:43 +01:00
Fredrik Adelöw
e0fc8ddaec
feat(catalog): add POST /entity-facets endpoint with predicate support
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 16:16:50 +01:00
Fredrik Adelöw
adcd98eb0b
feat(catalog): support query predicates in DefaultEntitiesCatalog.facets
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 16:02:46 +01:00
Fredrik Adelöw
2d1580b9bd
feat(catalog): add query predicate field to EntityFacetsRequest
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 16:02:34 +01:00
Fredrik Adelöw
193bd00374
docs: add implementation plan for facets predicate filtering
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 15:55:37 +01:00
Fredrik Adelöw
c472a693b6
Merge pull request #32986 from backstage/freben/valer
...
run vale directly instead of through the action
2026-02-26 15:55:13 +01:00
Fredrik Adelöw
bed4174d86
docs: add design for predicate-based facets filtering
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 15:51:59 +01:00
Fredrik Adelöw
a22c0a368e
use a distinct hash instead
...
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 14:45:34 +01:00
Ben Lambert
a6b28199e5
feat(catalog): Implement query-catalog-entities on top of the filter predicates (#33022 )
...
* chore: create query catalog
Signed-off-by: benjdlambert <ben@blam.sh >
Signed-off-by: benjdlambert <ben@blam.sh >
* feat(catalog-backend): add query-catalog-entities action
Signed-off-by: benjdlambert <ben@blam.sh >
* fix: address PR review feedback
Signed-off-by: benjdlambert <ben@blam.sh >
---------
Signed-off-by: benjdlambert <ben@blam.sh >
2026-02-26 14:45:10 +01:00
Fredrik Adelöw
4e85e7b0b3
Update .github/workflows/verify_docs-quality.yml
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 14:37:07 +01:00
Fredrik Adelöw
356d1662d8
Update .github/workflows/verify_docs-quality.yml
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 14:37:07 +01:00
Fredrik Adelöw
0c0f46de09
Update .github/workflows/verify_docs-quality.yml
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 14:37:07 +01:00
Fredrik Adelöw
2690d416f8
Update scripts/check-docs-quality.js
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 14:37:07 +01:00
Fredrik Adelöw
b35f3595aa
run vale directly instead of through the action
...
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-02-26 14:37:07 +01:00
Andre Wanlin
d419bcff55
Merge pull request #32966 from backstage/renovate/nodemon-3.x-lockfile
...
chore(deps): update dependency nodemon to v3.1.14
2026-02-26 05:57:27 -06:00
Andre Wanlin
c030579e1d
Merge pull request #32963 from backstage/renovate/testcontainers-node-monorepo
...
chore(deps): update dependency testcontainers to v11.12.0
2026-02-26 05:57:00 -06:00
Charles de Dreuille
969540f73d
Merge pull request #33002 from backstage/cdedreuille/ui-neutral-bg-simplification
...
feat(ui): neutral bg system overhaul — single incremental value + overlay reset
2026-02-26 11:56:42 +00:00
Patrik Oldsberg
1b32ec6a8b
Resolve selected tab value through alias map
...
When the selected tab uses an aliased group ID, resolve it through
the alias map so the MUI Tabs selection indicator matches the
rendered group key.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
2026-02-26 11:48:51 +01:00
Patrik Oldsberg
3be516b73a
Document group aliases and content ordering configuration
...
Add documentation for the new group aliases and contentOrder options
to the catalog customization guide.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
2026-02-26 10:21:14 +01:00
Patrik Oldsberg
e8c31266c2
Merge pull request #33013 from backstage/rugvip/cli-final-lib-cleanup
...
cli: eliminate src/lib/ directory and last cross-module import
2026-02-26 10:10:54 +01:00