Patrik Oldsberg
0a44fb3cb8
Merge pull request #33895 from ganievs/fix-valkey-cluster-client
...
fix: use iovalkey Cluster for Valkey cluster mode
2026-05-19 20:14:27 +02:00
Ben Lambert
e16b564c6f
Merge pull request #34310 from backstage/copilot/copy-commits-from-pr-34066
...
MCP structured responses, OIDC error improvements, catalog model reference config
2026-05-19 20:12:47 +02:00
benjdlambert
3f5e7ec2b4
Improve MCP safeStringify, OIDC error messages, and catalog model reference config
...
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 19:27:45 +02:00
Ben Lambert
a5a269c27a
Merge pull request #34300 from backstage/github-omit-suspended-rest
...
feat(catalog-backend-module-github): add experimental REST-based suspended user check
2026-05-19 19:19:59 +02:00
Love Kumar Chauhan
ca8951ae87
fix(mcp-actions-backend): return structured content and remove markdown formatting in tool responses
...
This change aligns the MCP tool execution responses with the specification by returning plain text in the 'content' array and providing the raw JSON in a new 'structuredContent' field. It also removes the unnecessary Markdown code block formatting that was previously added to tool results.
Fixes #34052
Signed-off-by: Love Kumar Chauhan <lovechauhan6564@gmail.com >
Co-authored-by: benjdlambert <3645856+benjdlambert@users.noreply.github.com >
Signed-off-by: benjdlambert <ben@blam.sh >
2026-05-19 18:48:50 +02:00
Ben Lambert
381cf2ae10
Merge pull request #34308 from backstage/freben/cached-service-cleanup
...
Fix cache eviction race in CachedUserInfoService
2026-05-19 18:37:27 +02:00
Ben Lambert
359d5a502f
Merge pull request #34016 from backstage/benjdlambert/api-v1beta2-mcp-server
2026-05-19 16:01:11 +02:00
Ben Lambert
484c073be9
Merge pull request #34261 from backstage/session/scheming-finch-ks70
2026-05-19 16:00:41 +02:00
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