MT Lewis
7c43925d68
feat(catalog-backend-module-github): remove @public tags from non-public github library functions
...
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com >
2026-05-19 14:45:34 +01:00
MT Lewis
253c014cc1
feat(catalog-backend-module-github): memoize isGitHubEnterprise check
...
We should mostly get these for free because of the
GitHub conditional request caching, but this is a
nice safety net and also probably saves us some
time.
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com >
2026-05-19 14:45:34 +01:00
MT Lewis
91d7d91317
feat(catalog-backend-module-github): restore previous sequential processing of connection nodes
...
Keeping this change as minimal as possible for
this first phase, will restore the parallel
processing in a later iteration.
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com >
2026-05-19 14:45:33 +01:00
MT Lewis
340977de5e
feat(catalog-backend-module-github): rename options_ to wrappedOptions
...
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com >
2026-05-19 14:45:33 +01:00
MT Lewis
d745f1c39c
feat(catalog-backend-module-github): add experimental REST-based suspended user check
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com >
2026-05-19 14:45:33 +01:00
Fredrik Adelöw
97d3bd4c7b
Add changeset for cached service cleanup
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-05-19 15:27:22 +02:00
Fredrik Adelöw
4b4a614c5c
Guard cache eviction on identity and use createDeferred in test
...
Only delete the cache entry on error if the map still holds the same
promise, preventing a stale rejection from evicting a newer entry.
Also switch the test to createDeferred for readability.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-05-19 15:26:58 +02:00
Fredrik Adelöw
6eacdc036e
Merge pull request #34252 from backstage/freben/lazy-permission-user
...
permission: cache user info, clean up PolicyQueryUser, drop getPluginRequestToken
2026-05-19 15:20:48 +02:00
Patrik Oldsberg
1dbc1543f4
Merge pull request #34299 from backstage/rugvip/nav-item-gone
...
frontend-plugin-api: remove NavItemBlueprint
2026-05-19 14:44:58 +02:00
Fredrik Adelöw
a9f5560b49
Address review feedback: use fake timers and type the shared cache map
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-05-19 14:44:28 +02:00
Ben Lambert
f0f6823a66
docs(scaffolder): update form decorators docs for promoted API ( #34181 )
...
* docs(scaffolder): update form decorators docs for promoted API
Signed-off-by: benjdlambert <ben@blam.sh >
* docs(scaffolder): address review feedback on form decorators docs
Signed-off-by: benjdlambert <ben@blam.sh >
---------
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:24:58 +02:00
benjdlambert
3bf3c9d878
chore: remove unnecessary as const assertions
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:44 +02:00
benjdlambert
34e52d13e7
chore: regenerate API reports after rebase
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:35 +02:00
benjdlambert
6d98fcefe0
chore: regenerate API reports
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:35 +02:00
benjdlambert
be71476943
chore: rename changeset, remove invalid example entity
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
a674ec354d
refactor: type McpServerApiEntity against ApiEntityV1alpha1
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
888955697b
refactor: register mcp-server model in ai-model module, remove separate module
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
2003dcb4db
refactor(catalog-model): move mcp-server model to opt-in backend module
...
Moves the mcp-server specType registration out of the default catalog
entity model into a separate backend module following the same pattern
as the AiResource module. Types and validators are now alpha exports.
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
2a640474c2
chore: add invalid mcp-server example for validation demo
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
664d1da60f
refactor(catalog-model): move mcp-server to v1alpha1 specType, drop v1alpha2
...
Registers mcp-server as a specType on v1alpha1/v1beta1 instead of
introducing a new v1alpha2 apiVersion. Adds addKindVersion to the
builder so separate layers can extend existing kinds.
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
421af6a8d1
chore: add example MCP server API entity
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
8dd6dce9ed
feat(catalog-model): add addKindVersion builder method and move v1alpha2 to own layer
...
Adds addKindVersion to CatalogModelLayerBuilder so layers can add
versions to an existing kind without re-declaring its metadata.
Moves v1alpha2 API registration into ApiEntityV1alpha2.ts as a
separate model layer using the new method.
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
fc407b805e
chore: remove explanatory comments from apiEntityModel test
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
2cf453f328
refactor(catalog-model): rename API v1beta2 to v1alpha2
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:34 +02:00
benjdlambert
dddcc0b382
chore(catalog-model): regenerate API report for v1beta2 additions
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:33 +02:00
benjdlambert
27aee3a9b1
feat(catalog-model): add API v1beta2 with mcp-server subtype
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:33 +02:00
benjdlambert
163561085b
feat(catalog-model): add API v1beta2 default and mcp-server schemas
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:33 +02:00
benjdlambert
9e0572b88c
refactor: move AiResource types to @backstage/catalog-model alpha
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:15:33 +02:00
benjdlambert
19f9330073
docs: document source-location annotation for skill/rule content
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 14:14:58 +02:00
Fredrik Adelöw
baeb4431e8
Merge pull request #34278 from backstage/freben/deprecate-immediate-stitching
...
catalog-backend: deprecate immediate mode stitching
2026-05-19 14:12:30 +02:00
Fredrik Adelöw
644adbd19a
Move sweep before cache lookup to simplify expired entry handling
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-05-19 14:09:58 +02:00
Fredrik Adelöw
fdf8f753bc
Merge pull request #34301 from backstage/freben/incremental-ingestion-any-array
...
incremental-ingestion: use ANY(array) instead of IN(...) on Postgres
2026-05-19 14:06:34 +02:00
Fredrik Adelöw
624c39c93c
Refactor whereInArray to use knex .modify() for linear query chains
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-05-19 13:37:49 +02:00
Fredrik Adelöw
0f8c977018
Reuse whereInArray helper in deleteMarkEntities and fix test formatting
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-05-19 13:30:21 +02:00
copilot-swe-agent[bot]
fd2c369f7b
test(notifications-backend): increase router test timeout for DB teardown
...
Agent-Logs-Url: https://github.com/backstage/backstage/sessions/7f504e1c-86b2-4d51-add3-6fb873dfe222
2026-05-19 10:21:51 +00:00
Patrik Oldsberg
c35e968254
Merge pull request #34077 from backstage/mob/workspaces
...
workspaces: introduce isolated ui workspace
2026-05-19 12:15:54 +02:00
benjdlambert
a185d7e0f8
feat: restore per-type guards for union narrowing
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 12:14:25 +02:00
Patrik Oldsberg
dcf850f1f5
Merge pull request #34108 from backstage/rugvip/forward-embedded-pg-config
...
cli-module-build: forward user config to embedded Postgres
2026-05-19 12:10:05 +02:00
benjdlambert
e5671e44c0
refactor: extend default type and remove per-type guards
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 12:09:21 +02:00
Fredrik Adelöw
32f0dfe7f8
incremental-ingestion: use ANY(array) instead of IN(...) on Postgres
...
The whereIn('ref', refs) calls on ingestion_mark_entities generated
a unique prepared statement for every distinct array length, bloating
the Postgres query plan cache. On Postgres, use = ANY($1) with a
single array parameter instead. Falls back to regular whereIn on
SQLite/MySQL.
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: Fredrik Adelöw <freben@gmail.com >
2026-05-19 11:55:30 +02:00
Patrik Oldsberg
2a03b0798c
Apply suggestion from @Rugvip
...
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
2026-05-19 11:48:20 +02:00
Fredrik Adelöw
8f867a2078
Merge pull request #34272 from backstage/freben/relations-target-index
...
catalog-backend: add missing index on relations.target_entity_ref
2026-05-19 11:43:39 +02:00
Patrik Oldsberg
2ec4c54b5f
Remove rolled-back nav item disable changeset
...
The grumpy-experts-leave fix was superseded by removing nav-item config
matching entirely.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-19 11:29:29 +02:00
Patrik Oldsberg
59d62d3019
docs: use Remix icon in building plugins tutorial
...
Update the PageBlueprint example to use RiPuzzleLine and drop stale
nav item references from later snippets.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-19 11:29:12 +02:00
Patrik Oldsberg
36998fea17
scaffolder: restore page nav title to Create
...
Use Create on the page extension rather than the former nav item label.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-19 11:28:12 +02:00
Patrik Oldsberg
b5032acd83
docs: remove legacy items input row from app nav table
...
The items input is internal backward compatibility, not public API.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-19 11:23:03 +02:00
Patrik Oldsberg
15afdd994d
Fix plugin-app changeset to describe legacy nav-item support
...
Page-based nav discovery is unchanged; the app nav change is backward
compatibility after NavItemBlueprint removal.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-19 11:22:38 +02:00
Patrik Oldsberg
e1b0499b7d
docs: use Remix icon in plugin override example
...
Update the architecture plugins doc to match page IconElement usage.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-19 11:22:05 +02:00
Patrik Oldsberg
177a1c1af6
Clarify plugin-app changeset message in isolation
...
Explain page-based nav discovery and legacy nav-item compatibility together.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-19 11:21:23 +02:00
Patrik Oldsberg
2ba8c10106
Split plugin-app into its own changeset
...
Keep legacy nav-item compatibility note on plugin-app only; other
plugins get a changeset focused on page title/icon for sidebar entries.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-19 11:20:28 +02:00