<!-- Provide a brief summary of your changes -->
Fixes:
https://github.com/modelcontextprotocol/registry/actions/runs/22784360696/job/66097670402
## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
---------
Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
## Summary
Fixes two CI issues:
### 1. Deploy workflows broken since PR #1034 (all staging deploys
failing)
The deploy-staging and deploy-production workflows install Go using the
**root** `go.mod`, but then build Pulumi infrastructure code from the
`deploy/` directory which has its own `go.mod`.
This started failing when PR #1034 (`build(deps): bump
github.com/pulumi/pulumi/sdk/v3 from 3.220.0 to 3.225.1 in /deploy`)
bumped `deploy/go.mod` from Go 1.24.11 to **Go 1.25.6** — a version
newer than the root module's Go 1.24.13. Every staging deploy since that
merge (Mar 6) has failed with:
```
go: go.mod requires go >= 1.25.6 (running go 1.24.13; GOTOOLCHAIN=local)
```
The last successful deploy was commit cb4807a on Mar 1, before the Go
version bump.
**Fix**: point `go-version-file` in both deploy workflows at
`deploy/go.mod` instead of the root `go.mod`.
### 2. `govulncheck` failing due to Go stdlib vulnerabilities
Five new Go stdlib vulnerabilities (GO-2026-4599 through GO-2026-4603)
were published on Mar 5-6 affecting Go 1.24.13, fixed in Go 1.25.8.
These cause `govulncheck` in the CI pipeline to fail.
**Fix**: bump root `go.mod` from Go 1.24.13 to Go 1.25.8.
## Test plan
- [ ] CI pipeline passes (govulncheck, build, lint, tests)
- [ ] Verify the deploy-staging workflow passes on the next push to main
after merge
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude <noreply@anthropic.com>
Bumps
[github.com/pulumi/pulumi-kubernetes/sdk/v4](https://github.com/pulumi/pulumi-kubernetes)
from 4.25.0 to 4.27.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi-kubernetes/releases">github.com/pulumi/pulumi-kubernetes/sdk/v4's
releases</a>.</em></p>
<blockquote>
<h2>v4.27.0</h2>
<p>No release notes provided.</p>
<h2>v4.26.0</h2>
<h3>Fixed</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/4122">#4122</a>
Implements a new provider config option, <code>alwaysRender</code>,
which sets <code>Diff_Some</code>to true when used in combination with
<code>renderYAMLtoDirectory</code>.
This allows for user-defined opt-in behavior for YAML manifests to be
idempotently generated on every <code>pulumi up</code>, and for Update()
to show these changes to a user.</p>
</li>
<li>
<p>Fixed a race condition in StatefulSet await logic where Pulumi could
incorrectly report a rollout as complete before the controller had
processed the update. This occurred when Pulumi checked status fields
before the controller updated <code>observedGeneration</code>, causing
stale "ready" values to be trusted.</p>
</li>
<li>
<p>Fixed a regression of <a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/2943">#2943</a>
which could cause Deployments to erroneously report diffs.</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>Upgraded <code>helm.sh/helm</code> to v3.18.6. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3969">pulumi/pulumi-kubernetes#3969</a>)</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/4156">#4156</a>
Upgrade Kubernetes schema and libraries to v1.35.1</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi-kubernetes/blob/master/CHANGELOG.md">github.com/pulumi/pulumi-kubernetes/sdk/v4's
changelog</a>.</em></p>
<blockquote>
<h2>4.27.0 (March 2, 2026)</h2>
<h3>Fixed</h3>
<ul>
<li><a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/4181">#4181</a>
Fix PVC timeout when updating to a storage class with
WaitForFirstConsumer bind mode.</li>
</ul>
<h3>Added</h3>
<ul>
<li><a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/3661">#3661</a>
Support for OCI login inside the provider process. Providing a
username/password to <code>Chart v4</code> and <code>Release v3</code>
will now login to private OCI
registries as expected.
(<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/2911">pulumi/pulumi-kubernetes#2911</a>
and <a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/1914">pulumi/pulumi-kubernetes#1914</a>)</li>
</ul>
<h2>4.26.0 (February 19, 2026)</h2>
<h3>Fixed</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/4122">#4122</a>
Implements a new provider config option, <code>alwaysRender</code>,
which sets <code>Diff_Some</code>to true when used in combination with
<code>renderYAMLtoDirectory</code>.
This allows for user-defined opt-in behavior for YAML manifests to be
idempotently generated on every <code>pulumi up</code>, and for Update()
to show these changes to a user.</p>
</li>
<li>
<p>Fixed a race condition in StatefulSet await logic where Pulumi could
incorrectly report a rollout as complete before the controller had
processed
the update. This occurred when Pulumi checked status fields before the
controller updated <code>observedGeneration</code>, causing stale
"ready" values to be
trusted.</p>
</li>
<li>
<p>Fixed a regression of
<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/2943">#2943</a>
which could
cause Deployments to erroneously report diffs.</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>Upgraded <code>helm.sh/helm</code> to v3.18.6. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3969">pulumi/pulumi-kubernetes#3969</a>)</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/pull/4156">#4156</a>
Upgrade Kubernetes schema and libraries to v1.35.1</p>
</li>
</ul>
<h2>4.24.0 (November 5, 2025)</h2>
<h3>Added</h3>
<ul>
<li>Added a <code>plainHttp</code> option to the <code>v4.Chart</code>
resource. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3250">pulumi/pulumi-kubernetes#3250</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>The <code>pulumi.com/waitFor</code> annotation now uses an
<a
href="https://www.rfc-editor.org/rfc/rfc9535.html">RFC9535</a>-compliant
JSONPath
parser. This makes it possible to wait for more complex scenarios.</p>
<p>For example:</p>
<ul>
<li>To wait for a Pod's <code>status.phase</code> to be
"Running" or "Succeeded":</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="20f0c07152"><code>20f0c07</code></a>
Prepare for v4.27.0 release (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4194">#4194</a>)</li>
<li><a
href="c5e7ece7b1"><code>c5e7ece</code></a>
Update module github.com/pulumi/pulumi/pkg/v3 to v3.224.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4191">#4191</a>)</li>
<li><a
href="49c2646952"><code>49c2646</code></a>
helm: login to private registries (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/3661">#3661</a>)</li>
<li><a
href="b48d7a39a8"><code>b48d7a3</code></a>
Fix PVC timeout on Update (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4181">#4181</a>)</li>
<li><a
href="e3427da684"><code>e3427da</code></a>
Automated upgrade: bump pulumi/pulumi to 3.223.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4188">#4188</a>)</li>
<li><a
href="7af1b7e73b"><code>7af1b7e</code></a>
Update dependency <code>@pulumi/pulumi</code> to v3.224.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4189">#4189</a>)</li>
<li><a
href="6860aae22d"><code>6860aae</code></a>
Update module github.com/cloudflare/circl to v1.6.3 [SECURITY] (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4187">#4187</a>)</li>
<li><a
href="5c58fea181"><code>5c58fea</code></a>
Update GitHub Actions workflows. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4186">#4186</a>)</li>
<li><a
href="1564fc1c46"><code>1564fc1</code></a>
Update module github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3
to v3...</li>
<li><a
href="9ebe2663c3"><code>9ebe266</code></a>
Update dependency <code>@pulumi/gcp</code> to v9.13.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4184">#4184</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi-kubernetes/compare/v4.25.0...v4.27.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/docker/cli](https://github.com/docker/cli) from
29.0.3+incompatible to 29.2.0+incompatible.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0b9d1985db"><code>0b9d198</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/cli/issues/6764">#6764</a> from
vvoland/update-docker</li>
<li><a
href="9c9ec73588"><code>9c9ec73</code></a>
vendor: github.com/moby/moby/client v0.2.2</li>
<li><a
href="bab3e81e1d"><code>bab3e81</code></a>
vendor: github.com/moby/moby/api v1.53.0</li>
<li><a
href="2e64fc162a"><code>2e64fc1</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/cli/issues/6367">#6367</a> from
thaJeztah/template_slicejoin</li>
<li><a
href="1f2ba2ac9d"><code>1f2ba2a</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/cli/issues/6760">#6760</a> from
thaJeztah/container_create_fix_error</li>
<li><a
href="e34a3422cc"><code>e34a342</code></a>
templates: make "join" work with non-string slices and map
values</li>
<li><a
href="a86356d42f"><code>a86356d</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/cli/issues/6763">#6763</a> from
thaJeztah/bump_mapstructure</li>
<li><a
href="771660a17e"><code>771660a</code></a>
vendor: github.com/go-viper/mapstructure/v2 v2.5.0</li>
<li><a
href="9cff36b35a"><code>9cff36b</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/cli/issues/6762">#6762</a> from
thaJeztah/bump_x_deps</li>
<li><a
href="08ed2bc6e8"><code>08ed2bc</code></a>
cli/command/container: make injecting config.json failures a
warning</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/cli/compare/v29.0.3...v29.2.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/modelcontextprotocol/registry/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!-- Provide a brief summary of your changes -->
## Motivation and Context
Add missing spec of include_deleted parameter in openapi spec
## How Has This Been Tested?
NA
## Breaking Changes
No
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
(Updated auto-generated PR description from @tadasant / Claude on Feb
22, 2026)
## Motivation and Context
Fixes#637
Server lifecycle management (deprecation and yanking) is a standard
requirement for package registries. Use cases like rebranding, security
vulnerabilities, and end-of-life servers demand the ability to mark
servers as deprecated or deleted, with optional messaging to guide
consumers toward alternatives.
## Changes
### New API endpoints
- **`PATCH /v0/servers/{serverName}/versions/{version}/status`** —
Update the lifecycle status of a single server version
- **`PATCH /v0/servers/{serverName}/status`** — Update the lifecycle
status of all versions of a server in a single transaction
Both endpoints accept:
```json
{
"status": "active|deprecated|deleted",
"statusMessage": "Optional message (max 500 chars) explaining the change"
}
```
### New CLI command
- **`mcp-publisher status <serverName> [version]`** — Update server
lifecycle status from the command line
- `--status` (required): `active`, `deprecated`, or `deleted`
- `--message`: Optional status message
- `--all-versions`: Apply to all versions of the server (replaces the
`<version>` argument)
### API response changes
`RegistryExtensions` now includes two new fields:
- `statusChangedAt` — Timestamp of the last status change
- `statusMessage` — Optional free-form message (e.g., deprecation
reason, migration guidance)
### List endpoint changes
- New `include_deleted` query parameter on `GET /v0/servers` — defaults
to `false`, hiding deleted servers from listings
- When `updated_since` is provided, `include_deleted` is automatically
set to `true` for incremental sync
### Database
- Migration `013_add_status_fields.sql`: Adds `status_changed_at` (NOT
NULL, initialized from `published_at`) and `status_message` columns to
the `servers` table
### Design decisions (from review discussion)
- **Dedicated status endpoints** rather than overloading the existing
edit endpoint
- **Bidirectional status transitions** — all transitions between
`active`, `deprecated`, and `deleted` are allowed
- **`statusMessage` as free-form text** — no structured `nextName` or
`alternativeUrl` fields (per maintainer feedback, to avoid complexity
around chaining, trust transfer, etc.)
- **Publish permission** grants status change access (not limited to
admin/edit)
- **Status message auto-cleared** when transitioning back to `active`
Good, now I have the full picture. Here's the addendum:
### Consumer-facing API changes
The new status fields live inside
`_meta["io.modelcontextprotocol.registry/official"]` on every
`ServerResponse`. This is the existing `RegistryExtensions` object — two
new fields are added alongside the existing ones:
**Before:**
```json
{
"server": { "name": "com.example/my-server", "...": "..." },
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"publishedAt": "2025-06-01T00:00:00Z",
"updatedAt": "2025-06-15T00:00:00Z",
"isLatest": true
}
}
}
```
**After:**
```json
{
"server": { "name": "com.example/my-server", "...": "..." },
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "deprecated",
"statusChangedAt": "2026-02-01T12:00:00Z",
"statusMessage": "Deprecated in favor of com.example/my-server-v2",
"publishedAt": "2025-06-01T00:00:00Z",
"updatedAt": "2026-02-01T12:00:00Z",
"isLatest": true
}
}
}
```
| New field | Type | Present when |
|-----------|------|-------------|
| `statusChangedAt` | `string` (RFC3339) | Always — initialized to
`publishedAt` for existing records |
| `statusMessage` | `string` (max 500 chars) | Only when set —
`null`/omitted for active servers (auto-cleared on transition to active)
|
These fields appear on **every endpoint that returns a
`ServerResponse`**: `GET /v0/servers`, `GET /v0/servers/{name}`, `GET
/v0/servers/{name}/versions/{version}`, and the new PATCH status
endpoints.
### List endpoint filtering
`GET /v0/servers` gains an `include_deleted` query parameter:
| Scenario | Behavior |
|----------|----------|
| No `include_deleted` param | Deleted servers hidden (default `false`)
|
| `include_deleted=true` | Deleted servers included in results |
| `updated_since` provided | `include_deleted` forced to `true` for
incremental sync |
## How Has This Been Tested?
- Unit tests for status handler (`status_test.go`) covering status
transitions, permission checks, validation errors, and the all-versions
endpoint
- Unit tests for the CLI command (`status_test.go`)
- Integration with existing server/edit handler tests
- Database layer tests for the new status update and query methods
- Tested locally with `make dev-compose`
## Types of changes
- [x] New feature (non-breaking change which adds functionality)
## Checklist
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed
## Open items from review
- [ ] `include_deleted` silent override: When `updated_since` is
provided and `include_deleted=false` is explicitly passed, should return
a 400 error rather than silently overriding
([thread](https://github.com/modelcontextprotocol/registry/pull/893#discussion_r2100879360))
— agreed upon but may not yet be implemented
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.219.0 to 3.220.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/releases">github.com/pulumi/pulumi/sdk/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.220.0</h2>
<h2>3.220.0 (2026-02-10)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Show environment variables that were set if a snapshot
integrity error happens
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21709">#21709</a></p>
</li>
<li>
<p>[cli/{install,package}] Use the Pulumi Cloud Registry by default to
resolve package names</p>
</li>
<li>
<p>[engine] Pass replacement trigger through to Construct
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21408">#21408</a></p>
</li>
<li>
<p>[engine] Add EnvVarMappings resource option for provider resources,
allowing environment variables to be remapped before being passed to the
provider
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21572">#21572</a></p>
</li>
<li>
<p>[pkg] BREAKING: Deprecate
github.com/pulumi/pulumi/pkg/v3/codegen/dotnet in favor of
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3/codegen. This
package will be removed from pulumi/pulumi soon!
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21720">#21720</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli] Retry <code>yarn install</code> when it fails (e.g. during
<code>pulumi install</code>)
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21707">#21707</a></p>
</li>
<li>
<p>[engine] Deal with errors in elided journal entries correctly
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21576">#21576</a></p>
</li>
<li>
<p>[sdk/nodejs] Fix remote components with
PULUMI_NODEJS_SKIP_COMPONENT_INPUTS</p>
</li>
<li>
<p>[sdk/python] Fix <code>_LazyModule</code> to not trigger full module
load for introspection attributes
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21620">#21620</a></p>
</li>
<li>
<p>[sdkgen/python] Remove workaround for slow typechecking with MyPy and
PyCharm
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21722">#21722</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[cli] Write logfile location if verbosity is >= 1 to stderr
instead of stdout
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21663">#21663</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/blob/master/CHANGELOG.md">github.com/pulumi/pulumi/sdk/v3's
changelog</a>.</em></p>
<blockquote>
<h2>3.220.0 (2026-02-10)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Show environment variables that were set if a snapshot
integrity error happens
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21709">#21709</a></p>
</li>
<li>
<p>[cli/{install,package}] Use the Pulumi Cloud Registry by default to
resolve package names</p>
</li>
<li>
<p>[engine] Pass replacement trigger through to Construct
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21408">#21408</a></p>
</li>
<li>
<p>[engine] Add EnvVarMappings resource option for provider resources,
allowing environment variables to be remapped before being passed to the
provider
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21572">#21572</a></p>
</li>
<li>
<p>[pkg] BREAKING: Deprecate
github.com/pulumi/pulumi/pkg/v3/codegen/dotnet in favor of
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3/codegen. This
package will be removed from pulumi/pulumi soon!
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21720">#21720</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli] Retry <code>yarn install</code> when it fails (e.g. during
<code>pulumi install</code>)
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21707">#21707</a></p>
</li>
<li>
<p>[engine] Deal with errors in elided journal entries correctly
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21576">#21576</a></p>
</li>
<li>
<p>[sdk/nodejs] Fix remote components with
PULUMI_NODEJS_SKIP_COMPONENT_INPUTS</p>
</li>
<li>
<p>[sdk/python] Fix <code>_LazyModule</code> to not trigger full module
load for introspection attributes
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21620">#21620</a></p>
</li>
<li>
<p>[sdkgen/python] Remove workaround for slow typechecking with MyPy and
PyCharm
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21722">#21722</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[cli] Write logfile location if verbosity is >= 1 to stderr
instead of stdout
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21663">#21663</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e8ecd95a5e"><code>e8ecd95</code></a>
Fix remote components with PULUMI_NODEJS_SKIP_COMPONENT_INPUTS (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21727">#21727</a>)</li>
<li><a
href="4c2cc2a729"><code>4c2cc2a</code></a>
upgrade pulumi-dotnet and pulumi-yaml to latest (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21764">#21764</a>)</li>
<li><a
href="8dc466ce6e"><code>8dc466c</code></a>
Always install from registry when appropriate (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21649">#21649</a>)</li>
<li><a
href="2ce415c413"><code>2ce415c</code></a>
Relax the Copyright banner linter (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21732">#21732</a>)</li>
<li><a
href="5d49339b03"><code>5d49339</code></a>
Update module github.com/go-git/go-git/v5 to v5.16.5 [SECURITY] (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21758">#21758</a>)</li>
<li><a
href="dbcad3b0ba"><code>dbcad3b</code></a>
Remap environment variables as a resource option on Provider (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21572">#21572</a>)</li>
<li><a
href="f5dc5a3fff"><code>f5dc5a3</code></a>
print and save environment variables on snapshot integrity errors (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21709">#21709</a>)</li>
<li><a
href="82d584e2d4"><code>82d584e</code></a>
Fix proto build: Update Node.js installation to use modern keyring (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21729">#21729</a>)</li>
<li><a
href="f8aaed4083"><code>f8aaed4</code></a>
Deprecate <code>github.com/pulumi/pulumi/pkg/v3/codegen/dotnet</code>
& remove tests (<a
href="https://redirect.github.com/pulumi/pulumi/issues/2">#2</a>...</li>
<li><a
href="3392d063db"><code>3392d06</code></a>
Remove workaround for slow typechecking with MyPy and PyCharm (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21722">#21722</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.219.0...v3.220.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!-- Provide a brief summary of your changes -->
## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR bumps prod to v1.4.1
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
<!-- Provide a brief summary of your changes -->
## Motivation and Context
This PR ensures that the draft URL points to the actual draft schema
improvement suggested in
https://github.com/modelcontextprotocol/registry/issues/814
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.32.0 to
0.33.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="27761a2ad8"><code>27761a2</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/mod/compare/v0.32.0...v0.33.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Authored by Claude Code Opus 4.5, steered/reviewed by me.
## Summary
- Updated the URL regex pattern in `StreamableHttpTransport` and
`SseTransport` to allow template variables like `{baseUrl}` as an
alternative to requiring the `https://` prefix
- This enables more flexible URL configuration in the `remotes` section
of server.json
## Changes
- Modified the `url` field pattern from `^https?://[^\s]+$` to
`^(https?://[^\s]+|\{[a-zA-Z_][a-zA-Z0-9_]*\}[^\s]*)$`
- Updated both `openapi.yaml` and the derived `server.schema.json`
- Added clarifying documentation that URL must start with `http://`,
`https://`, or a template variable
## Regex breakdown
```
^(https?://[^\s]+|\{[a-zA-Z_][a-zA-Z0-9_]*\}[^\s]*)$
```
| Part | Meaning |
|------|---------|
| `^` | Start of string |
| `(` | Begin alternation group |
| `https?://[^\s]+` | `http://` or `https://` followed by non-whitespace
|
| `\|` | OR |
| `\{[a-zA-Z_][a-zA-Z0-9_]*\}` | Template variable: `{` + valid
identifier + `}` |
| `[^\s]*` | Optional path/query after template variable |
| `)` | End alternation group |
| `$` | End of string |
## Test cases
**Should match ✓**
- `https://api.example.com/mcp`
- `http://localhost:8080/sse`
- `https://example.com/path?query=value`
- `{baseUrl}`
- `{baseUrl}/mcp`
- `{server_url}/api/v1`
- `{API_ENDPOINT}`
**Should NOT match ✗**
- `ftp://example.com` — wrong protocol
- `example.com` — missing protocol or variable
- `/relative/path` — relative paths not allowed
- `{invalid-name}/path` — hyphens not valid in variable names
- `{123invalid}` — variables can't start with numbers
---------
Co-authored-by: Agent Orchestrator <agent@ao.pulsemcp.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Radoslav Dimitrov <radoslav@stacklok.com>
<!-- Provide a brief summary of your changes -->
## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
<!-- Provide a brief summary of your changes -->
## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR groups all otel deps in a single dependabot PR as
usually they are spread across 4-5 separate ones whenever there's a new
version.
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.217.1 to 3.218.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/releases">github.com/pulumi/pulumi/sdk/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.218.0</h2>
<h2>3.218.0 (2026-01-29)</h2>
<h3>Features</h3>
<ul>
<li>[sdk/nodejs] Add support for the <code>OnError</code> resource
hook</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli] Allow positional arguments to be passed to <code>convert</code>
again</p>
</li>
<li>
<p>[cli/install] Correctly include git forge organizations as schema
namespaces when generating SDKs
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21579">#21579</a></p>
</li>
<li>
<p>[cli/{install,package}] Correctly grab package names for Python &
NodeJS
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21577">#21577</a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/blob/master/CHANGELOG.md">github.com/pulumi/pulumi/sdk/v3's
changelog</a>.</em></p>
<blockquote>
<h2>3.218.0 (2026-01-29)</h2>
<h3>Features</h3>
<ul>
<li>[sdk/nodejs] Add support for the <code>OnError</code> resource
hook</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli] Allow positional arguments to be passed to <code>convert</code>
again</p>
</li>
<li>
<p>[cli/install] Correctly include git forge organizations as schema
namespaces when generating SDKs
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21579">#21579</a></p>
</li>
<li>
<p>[cli/{install,package}] Correctly grab package names for Python &
NodeJS
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21577">#21577</a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="da9b84347b"><code>da9b843</code></a>
Unrestrict arguments to <code>convert</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21603">#21603</a>)</li>
<li><a
href="d94b6a69e2"><code>d94b6a6</code></a>
OnError support for NodeJS SDK (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21568">#21568</a>)</li>
<li><a
href="6ae181792f"><code>6ae1817</code></a>
expand exclusion rule for RefreshV2 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21591">#21591</a>)</li>
<li><a
href="e885bf3653"><code>e885bf3</code></a>
fuzzing: print full test case to stdout in CI (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21601">#21601</a>)</li>
<li><a
href="059066063e"><code>0590660</code></a>
Argument specifications for state commands (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21590">#21590</a>)</li>
<li><a
href="d186b46c6f"><code>d186b46</code></a>
Check the interaction between <code>replaceWith</code> and
<code>deletedWith</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21584">#21584</a>)</li>
<li><a
href="9074f6b351"><code>9074f6b</code></a>
Argument specifications for Pulumi CLI stack commands (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21589">#21589</a>)</li>
<li><a
href="16ad3edd5a"><code>16ad3ed</code></a>
Bump language runtimes for dotnet, java, and yaml (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21597">#21597</a>)</li>
<li><a
href="5b2e34bcd4"><code>5b2e34b</code></a>
Argument specifications for Pulumi Cloud commands (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21587">#21587</a>)</li>
<li><a
href="aed72b3e76"><code>aed72b3</code></a>
Argument specifications for Pulumi deployment commands (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21588">#21588</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.217.1...v3.218.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Radoslav Dimitrov <radoslav@stacklok.com>
Bumps the actions group with 2 updates in the / directory:
[docker/login-action](https://github.com/docker/login-action) and
[anchore/sbom-action](https://github.com/anchore/sbom-action).
Updates `docker/login-action` from 3.6.0 to 3.7.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/login-action/releases">docker/login-action's
releases</a>.</em></p>
<blockquote>
<h2>v3.7.0</h2>
<ul>
<li>Add <code>scope</code> input to set scopes for the authentication
token by <a
href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/912">docker/login-action#912</a></li>
<li>Add support for AWS European Sovereign Cloud ECR by <a
href="https://github.com/dphi"><code>@dphi</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/914">docker/login-action#914</a></li>
<li>Ensure passwords are redacted with <code>registry-auth</code> input
by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a>
in <a
href="https://redirect.github.com/docker/login-action/pull/911">docker/login-action#911</a></li>
<li>build(deps): bump lodash from 4.17.21 to 4.17.23 in <a
href="https://redirect.github.com/docker/login-action/pull/915">docker/login-action#915</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v3.6.0...v3.7.0">https://github.com/docker/login-action/compare/v3.6.0...v3.7.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c94ce9fb46"><code>c94ce9f</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/915">#915</a>
from docker/dependabot/npm_and_yarn/lodash-4.17.23</li>
<li><a
href="8339c958ce"><code>8339c95</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/912">#912</a>
from docker/scope</li>
<li><a
href="c83e9320c8"><code>c83e932</code></a>
build(deps): bump lodash from 4.17.21 to 4.17.23</li>
<li><a
href="b268aa57e3"><code>b268aa5</code></a>
chore: update generated content</li>
<li><a
href="a603229278"><code>a603229</code></a>
documentation for scope input</li>
<li><a
href="7567f92a74"><code>7567f92</code></a>
Add scope input to set scopes for the authentication token</li>
<li><a
href="0567fa5ae8"><code>0567fa5</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/914">#914</a>
from dphi/add-support-for-amazonaws.eu</li>
<li><a
href="f6ef577545"><code>f6ef577</code></a>
feat: add support for AWS European Sovereign Cloud ECR registries</li>
<li><a
href="916386b000"><code>916386b</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/911">#911</a>
from crazy-max/ensure-redact</li>
<li><a
href="5b3f94a294"><code>5b3f94a</code></a>
chore: update generated content</li>
<li>Additional commits viewable in <a
href="5e57cd1181...c94ce9fb46">compare
view</a></li>
</ul>
</details>
<br />
Updates `anchore/sbom-action` from 0.22.1 to 0.22.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/anchore/sbom-action/releases">anchore/sbom-action's
releases</a>.</em></p>
<blockquote>
<h2>v0.22.2</h2>
<h2>⬆️ Dependencies</h2>
<ul>
<li>chore(deps): bump fast-xml-parser from 5.3.3 to 5.3.4 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/581">#581</a>)
[@<a href="https://github.com/apps/dependabot">dependabot[bot]</a>]</li>
<li>chore(deps): update Syft to v1.41.2 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/582">#582</a>)
[@<a
href="https://github.com/apps/anchore-actions-token-generator">anchore-actions-token-generator[bot]</a>]</li>
<li>chore(deps-dev): bump the dev-dependencies group with 2 updates (<a
href="https://redirect.github.com/anchore/sbom-action/issues/580">#580</a>)
[@<a href="https://github.com/apps/dependabot">dependabot[bot]</a>]</li>
<li>chore(deps): update Syft to v1.41.1 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/579">#579</a>)
[@<a
href="https://github.com/apps/anchore-actions-token-generator">anchore-actions-token-generator[bot]</a>]</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="28d71544de"><code>28d7154</code></a>
chore(deps): bump fast-xml-parser from 5.3.3 to 5.3.4 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/581">#581</a>)</li>
<li><a
href="5e3583419a"><code>5e35834</code></a>
chore(deps): update Syft to v1.41.2 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/582">#582</a>)</li>
<li><a
href="a30a06a2ce"><code>a30a06a</code></a>
chore(deps-dev): bump the dev-dependencies group with 2 updates (<a
href="https://redirect.github.com/anchore/sbom-action/issues/580">#580</a>)</li>
<li><a
href="750e84c055"><code>750e84c</code></a>
chore(deps): update Syft to v1.41.1 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/579">#579</a>)</li>
<li><a
href="5620efe7f1"><code>5620efe</code></a>
chore(deps): bump release-drafter/release-drafter from 6.1.0 to 6.2.0
(<a
href="https://redirect.github.com/anchore/sbom-action/issues/578">#578</a>)</li>
<li><a
href="ec824c76ad"><code>ec824c7</code></a>
chore(deps): bump peter-evans/create-pull-request from 8.0.0 to 8.1.0
(<a
href="https://redirect.github.com/anchore/sbom-action/issues/577">#577</a>)</li>
<li>See full diff in <a
href="https://github.com/anchore/sbom-action/compare/v0.22.1...v0.22.2">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Radoslav Dimitrov <radoslav@stacklok.com>
<!-- Provide a brief summary of your changes -->
The following PR fixes the failing validation checks on our CI.
## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
## Motivation and Context
Per discussion with @rdimitrov - all validation now happens in a new
`/validate` endpoint. For details, see below.
## Breaking Changes
None. Validation on /publish only validates schema version and semantic
checks (manual checks) as before. We can add schema validation by
changing a flag in the called to `ValidateJSONSchema` when we're ready.
## Types of changes
- [X] New feature (non-breaking change which adds functionality)
## Checklist
- [X] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [X] My code follows the repository's style guidelines
- [X] New and existing tests pass locally
- [X] I have added appropriate error handling
- [X] I have added or updated documentation as needed
## Additional context
## API Changes
### 1. New `/validate` Endpoint
A new public endpoint was added for validating `server.json` files
without publishing them.
**Details:**
- **Paths:** `/v0/validate` and `/v0.1/validate`
- **Method:** `POST`
- **Authentication:** None required (public endpoint)
- **Request:** JSON body containing `ServerJSON`
- **Response:** `200 OK` with `ValidationResult` containing:
- `valid` (boolean)
- `issues` (array of validation issues with type, path, message,
severity, reference)
**Implementation:**
- New handler file: `internal/api/handlers/v0/validate.go`
- Performs comprehensive validation using `ValidationAll` option:
- Schema version validation
- Full schema validation
- Semantic validation
- Always returns `200 OK` - validity is indicated in `result.Valid`
field
- Registered in router for both `/v0` and `/v0.1` prefixes
### 2. `/publish` Endpoint Validation Flow Changes
The publish endpoint now validates earlier in the request flow and
provides clearer error responses.
**Before:** Validation was mixed into `ValidatePublishRequest()` (which
also handled publisher extensions and registry ownership).
**After:**
1. Validates `ServerJSON` structure first using `ValidateServerJSON()`
(schema version + semantic validation)
2. Returns `422 Unprocessable Entity` with message: "Failed to publish
server, invalid schema: call /validate for details"
3. Only proceeds to publisher extensions/registry validation if schema
validation passes
4. No longer calls `ValidatePublishRequest()` internally for schema
validation
**Key Changes:**
- Validation happens before `CreateServer()` call
- Returns `422` on schema/semantic validation failures
- Error message directs users to `/validate` endpoint for details
- `ValidatePublishRequest()` no longer performs schema validation (added
note in comments)
### 3. `/edit` Endpoint Validation Flow Changes
Similar validation changes were applied to the edit endpoint.
**Changes:**
- Added `ValidateServerJSON()` call before server update
- Returns `422` with same error message format on validation failure
- Matches the `/publish` endpoint behavior
### 4. Validator Functions Refactoring
Updated validator functions to reflect that schema validation is now
done separately.
**Changes to `ValidatePublishRequest()`:**
- Removed internal `ValidateServerJSON()` call
- Added note: "ValidateServerJSON should be called separately before
this function"
- Now only validates publisher extensions and registry ownership
**Changes to `ValidateUpdateRequest()`:**
- Same change (removed schema validation, added note)
- Now only validates registry ownership
## CLI Changes
### 1. `validate` Command: Now Uses API Endpoint
**Before:** Performed local validation using
`validators.ValidateServerJSON()`.
**After:** Calls the `/v0/validate` endpoint on the registry.
**Details:**
- Reads `server.json` and sends it to the registry API
- Displays validation results returned by the server
- Uses the same error formatting as before
- Registry URL comes from token file (or default)
- No authentication required (public endpoint)
**Implementation:**
- Added `validateViaAPI()` function that POSTs to `/v0/validate`
- Parses `ValidationResult` response from server
- Uses shared `printValidationIssues()` for formatting
### 2. `publish` Command: Validation Only on 422 Errors
**Before:** Performed upfront local schema validation before publishing.
**After:** Attempts publish first, then validates only if server returns
422.
**Details:**
- Attempts publish immediately (no upfront validation)
- If publish returns 422 (Unprocessable Entity):
- Calls `/v0/validate` endpoint to get detailed validation errors
- Formats and displays them using same logic as `validate` command
- Returns error with migration links
- For non-422 errors (401, 403, etc.), returns original error (no
validation call)
**Implementation Changes:**
- Removed upfront `runValidationAndPrintIssues()` call
- Modified `publishToRegistry()` to return HTTP status code alongside
response/error
- Added 422 detection logic that calls `validateViaAPI()`
### 3. Shared Validation Error Formatting
**Before:** `runValidationAndPrintIssues()` function handled both
validation and printing together.
**After:** Refactored to separate printing logic.
**Details:**
- Created `printValidationIssues()` function - just prints validation
issues (no validation logic)
- Removed `runValidationAndPrintIssues()` function (no longer used)
- Both `validate` and `publish` commands use `printValidationIssues()`
for consistent output
**Behavior:**
- Prints schema validation errors with migration guidance
- Prints all other validation issues with formatting
- Returns formatted error message string for schema issues
## Summary
Both CLI commands now use the `/validate` API endpoint for validation
instead of local validation. The `publish` command validates only after
receiving a 422 error response, and both commands share the same error
formatting via `printValidationIssues()`.
### Benefits
- **Centralized validation logic** - All validation happens on the
server
- **Always up-to-date** - CLI always uses current server validation
rules
- **Consistent experience** - Same validation behavior whether using CLI
or API directly
- **Better separation of concerns** - Schema validation separated from
publisher-specific validation
Bumps the actions group with 1 update:
[anchore/sbom-action](https://github.com/anchore/sbom-action).
Updates `anchore/sbom-action` from 0.22.0 to 0.22.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/anchore/sbom-action/releases">anchore/sbom-action's
releases</a>.</em></p>
<blockquote>
<h2>v0.22.1</h2>
<h2>⬆️ Dependencies</h2>
<ul>
<li>chore(deps): update Syft to v1.41.0 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/576">#576</a>)
[@<a
href="https://github.com/apps/anchore-actions-token-generator">anchore-actions-token-generator[bot]</a>]</li>
<li>chore(deps): bump lodash from 4.17.21 to 4.17.23 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/573">#573</a>)
[@<a href="https://github.com/apps/dependabot">dependabot[bot]</a>]</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="deef08a0db"><code>deef08a</code></a>
chore(deps): update Syft to v1.41.0 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/576">#576</a>)</li>
<li><a
href="f139ded77a"><code>f139ded</code></a>
chore(deps): bump lodash from 4.17.21 to 4.17.23 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/573">#573</a>)</li>
<li><a
href="1b05262535"><code>1b05262</code></a>
chore(deps): bump zizmorcore/zizmor-action from 0.3.0 to 0.4.1 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/575">#575</a>)</li>
<li><a
href="1e8f28d002"><code>1e8f28d</code></a>
chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/574">#574</a>)</li>
<li><a
href="c618dc7fb6"><code>c618dc7</code></a>
chore: tweak release drafter author and husky (<a
href="https://redirect.github.com/anchore/sbom-action/issues/572">#572</a>)</li>
<li>See full diff in <a
href="https://github.com/anchore/sbom-action/compare/v0.22.0...v0.22.1">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[cloud.google.com/go/kms](https://github.com/googleapis/google-cloud-go)
from 1.24.0 to 1.25.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-cloud-go/releases">cloud.google.com/go/kms's
releases</a>.</em></p>
<blockquote>
<h2>maps 1.25.0</h2>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/maps/v1.24.0...maps/v1.25.0">1.25.0</a>
(2025-10-22)</h2>
<h3>Features</h3>
<ul>
<li>
<p>Add moved_place and moved_place_id to Place (PiperOrigin-RevId:
821809971) (<a
href="f46efe45">f46efe45</a>)</p>
</li>
<li>
<p>add experimental Load Costs feature (PiperOrigin-RevId: 819788002)
(<a
href="0241a9ca">0241a9ca</a>)</p>
</li>
<li>
<p>add OptimizeToursLongRunning method (PiperOrigin-RevId: 819788002)
(<a
href="0241a9ca">0241a9ca</a>)</p>
</li>
<li>
<p>add experimental U-turn Avoidance feature (PiperOrigin-RevId:
819788002) (<a
href="0241a9ca">0241a9ca</a>)</p>
</li>
<li>
<p>add OptimizeToursUri method (PiperOrigin-RevId: 819788002) (<a
href="0241a9ca">0241a9ca</a>)</p>
</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>
<p>Change comments in some fields in Places API (PiperOrigin-RevId:
821809971) (<a
href="f46efe45">f46efe45</a>)</p>
</li>
<li>
<p>A comment for field <code>place_id</code> in message
<code>.google.maps.routeoptimization.v1.Waypoint</code> is changed
(PiperOrigin-RevId: 819788002) (<a
href="0241a9ca">0241a9ca</a>)</p>
</li>
<li>
<p>A comment for field <code>precedence_rules</code> in message
<code>.google.maps.routeoptimization.v1.ShipmentModel</code> is changed
(PiperOrigin-RevId: 819788002) (<a
href="0241a9ca">0241a9ca</a>)</p>
</li>
<li>
<p>A comment for field <code>duration_distance_matrices</code> in
message <code>.google.maps.routeoptimization.v1.ShipmentModel</code> is
changed (PiperOrigin-RevId: 819788002) (<a
href="0241a9ca">0241a9ca</a>)</p>
</li>
<li>
<p>A comment for enum <code>TravelMode</code> is changed
(PiperOrigin-RevId: 819788002) (<a
href="0241a9ca">0241a9ca</a>)</p>
</li>
</ul>
<h2>cloudbuild 1.25.0</h2>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/cloudbuild/v1.24.0...cloudbuild/v1.25.0">1.25.0</a>
(2025-12-18)</h2>
<h2>kms 1.25.0</h2>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/kms/v1.24.0...kms/v1.25.0">1.25.0</a>
(2026-01-22)</h2>
<h3>Features</h3>
<ul>
<li>add the SingleTenantHsm functionality including the management API
and resource types (PiperOrigin-RevId: 858582271) (<a
href="8ddeca50">8ddeca50</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>
<p>A comment for field <code>crypto_key_backend</code> in message
<code>.google.cloud.kms.v1.CryptoKey</code> is expanded to include
SingleTenantHsmInstances (PiperOrigin-RevId: 858582271) (<a
href="8ddeca50">8ddeca50</a>)</p>
</li>
<li>
<p>A comment for enum value
<code>MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION</code> in enum
<code>AccessReason</code> is changed (PiperOrigin-RevId: 858582271) (<a
href="8ddeca50">8ddeca50</a>)</p>
</li>
<li>
<p>A comment for enum value
<code>MODIFIED_CUSTOMER_INITIATED_ACCESS</code> in enum
<code>AccessReason</code> is changed (PiperOrigin-RevId: 858582271) (<a
href="8ddeca50">8ddeca50</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md">cloud.google.com/go/kms's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.24.0...documentai/v1.25.0">1.25.0</a>
(2024-02-09)</h2>
<h3>Features</h3>
<ul>
<li><strong>documentai:</strong> Expose model_type in v1 processor, so
that user can see the model_type after get or list processor version (<a
href="2fcf55ccb2">2fcf55c</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="740e59c6a0"><code>740e59c</code></a>
chore: librarian release pull request: 20250912T134835Z (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12870">#12870</a>)</li>
<li><a
href="d8078f0b64"><code>d8078f0</code></a>
chore: release main (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12869">#12869</a>)</li>
<li><a
href="2d9e87b206"><code>2d9e87b</code></a>
chore: librarian generate pull request: 20250912T133008Z (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12868">#12868</a>)</li>
<li><a
href="1501b23474"><code>1501b23</code></a>
feat(gkehub): add <code>k8s_git_version</code> field (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12863">#12863</a>)</li>
<li><a
href="1f11996023"><code>1f11996</code></a>
chore(main): release spanner 1.85.1 (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12796">#12796</a>)</li>
<li><a
href="baab714b87"><code>baab714</code></a>
fix(spanner): disable afe_connectivity_error_count metric (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12866">#12866</a>)</li>
<li><a
href="a76dedc161"><code>a76dedc</code></a>
chore: release main (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12861">#12861</a>)</li>
<li><a
href="5a65fa044f"><code>5a65fa0</code></a>
chore: remove dlp from release-please and bump postprocessor (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12862">#12862</a>)</li>
<li><a
href="d73f9123be"><code>d73f912</code></a>
chore(apihub): fix Go proto/grpc build target (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12814">#12814</a>)</li>
<li><a
href="45a7d9b4b9"><code>45a7d9b</code></a>
fix(internal/postprocessor): add dlp to skip-module-scan-paths (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/12857">#12857</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/google-cloud-go/compare/dlp/v1.24.0...dlp/v1.25.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Add a `<Note>` component to all MDX files in
`docs/modelcontextprotocol-io/` informing readers that the MCP Registry
is currently in preview and that breaking changes or data resets may
occur before general availability.
The note also directs users to report issues on GitHub at
https://github.com/modelcontextprotocol/registry/issues
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Bumps the actions group with 1 update:
[anchore/sbom-action](https://github.com/anchore/sbom-action).
Updates `anchore/sbom-action` from 0.21.1 to 0.22.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/anchore/sbom-action/releases">anchore/sbom-action's
releases</a>.</em></p>
<blockquote>
<h2>v0.22.0</h2>
<h2>Changes in v0.22.0</h2>
<h2>⬆️ Dependencies</h2>
<ul>
<li>chore(deps-dev): bump the dev-dependencies group with 19 updates (<a
href="https://redirect.github.com/anchore/sbom-action/issues/566">#566</a>)
[<a
href="https://github.com/dependabot"><code>@dependabot</code></a>]</li>
<li>chore(deps): bump npm-check-updates from 17.1.3 to 19.3.1 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/567">#567</a>)
[<a
href="https://github.com/dependabot"><code>@dependabot</code></a>]</li>
<li>chore(deps): update Syft to v1.40.1 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/563">#563</a>)
[<a
href="https://github.com/anchore-actions-token-generator"><code>@anchore-actions-token-generator</code></a>[bot]]</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="62ad5284b8"><code>62ad528</code></a>
chore: update release-drafter, dependencies (<a
href="https://redirect.github.com/anchore/sbom-action/issues/571">#571</a>)</li>
<li><a
href="2657179ab6"><code>2657179</code></a>
chore(deps-dev): bump the dev-dependencies group with 19 updates (<a
href="https://redirect.github.com/anchore/sbom-action/issues/566">#566</a>)</li>
<li><a
href="61140b1e0e"><code>61140b1</code></a>
chore(deps): bump npm-check-updates from 17.1.3 to 19.3.1 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/567">#567</a>)</li>
<li><a
href="f99cf3e0ee"><code>f99cf3e</code></a>
ci: enable dependabot with groups (<a
href="https://redirect.github.com/anchore/sbom-action/issues/565">#565</a>)</li>
<li><a
href="28b3d8f2b7"><code>28b3d8f</code></a>
Chore better zizmor (<a
href="https://redirect.github.com/anchore/sbom-action/issues/564">#564</a>)</li>
<li><a
href="3363a57fa0"><code>3363a57</code></a>
chore(deps): update Syft to v1.40.1 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/563">#563</a>)</li>
<li>See full diff in <a
href="https://github.com/anchore/sbom-action/compare/v0.21.1...v0.22.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Fix `--private-key-file` to `--private-key` in `github-actions.mdx`
DNS authentication example (the CLI expects hex-encoded key data, not
a file path)
- Add missing `./` prefix to `mcp-publisher` command in PAT
authentication example
- Fix typo `verfication` to `verification` in troubleshooting table
- Remove duplicate word `authentication` in `quickstart.mdx`
prerequisites
- Fix `name` to `identifier` field in JSON examples in `versioning.mdx`
- Fix `PyPi` to `PyPI` (correct capitalization) in
`moderation-policy.mdx`
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace the markdown `# Frequently Asked Questions` heading with proper
MDX frontmatter that includes both `title` and `sidebarTitle` fields.
This brings the FAQ page in line with MDX documentation conventions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added schema validation and support for exhaustive and more detailed
validation to existing validators. Added new `mcp-publisher validate`
command. No change to any existing tests or behavior other than the new
command.
## Motivation and Context
Many currently published servers fail schema validation. Of those that
pass, many have semantic/logical errors or other errors that make them
impossible to configure, or their configuration when applied doesn't
generate correct MCP server configuration (per their own documentation).
To address this, we need better tooling to validate servers and to
inform server publishers of errors, issues, and best practices in a way
that is clear and actionable, both during server development and at time
of publishing.
I have started a discussion about the broader topic:
https://github.com/modelcontextprotocol/registry/discussions/635
There is also a fairly detailed document describing the design,
architecture, implementation, future plans, etc. See [Enhanced
Validation Design](docs/explanations/proposed-enhanced-validation.md)
This PR is the first step in the process of improving validation. It
adds schema validation and updates all existing validators to use a new
model that allows them to track context and return rich and exhaustive
results. This has been done in a way that is backward compatible
(ValidateServerJSON is unchanged as are all existing validation unit
tests).
There is a new `mcp-publisher` command called `validate` that is
currenty the only place that schema validation and enhanced
(exhaustive/rich) validation results are exposed.
### Changes
Internal Validation improvements
- Schema validation has been implemented and is available as an option
in validation methods (defaults to off)
- Existing validators track the JSON path (context) of the attribute
they're evaluating, passing it to any child validators
- Existing validators are exhaustive (return all issues, not failing
fast on the first error)
- Existing validators return rich validation results, including:
- type (schema, semantic, linter)
- severity (error, warn, info)
- path (JSON path to server.json element)
- reference (to the schema element or rule that triggered the result)
- message (currently the same as previous error message)
A new `validate` command has been added to `mcp-publisher` so publishers
can evaluate their server.json before publishing
- Includes new schema validation and previous semantic validation
- Shows full details of all issues encountered during validation
### Usage
Given a server.json that looks like this:
```json
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
"name": "io.github.BobDickinson/registry",
"description": "An MCP server that provides [describe what your server does]",
"repository": {
"url": "",
"source": ""
},
"version": "=1.0.0",
"packages": [
{
"registryType": "oci",
"registryBaseUrl": "https://docker.io",
"identifier": "registry",
"version": "1.0.0",
"transport": {
"type": "sse"
},
"packageArguments": [
{
"type": "named",
"name": "--mode",
"description": "Operation mode",
"format": "foo"
}
],
"environmentVariables": [
{
"description": "Your API key for the service",
"isRequired": true,
"format": "string",
"isSecret": true,
"name": "YOUR_API_KEY"
}
]
}
]
}
```
Run the command:
`mcp-publisher validate server.json`
Which will produce the output:
```bash
❌ Validation failed with 5 issue(s):
1. [error] packages.0.packageArguments.0.format (schema)
value must be one of "string", "number", "boolean", "filepath"
Reference: #/definitions/Input/properties/format/enum from: [#/definitions/ServerDetail]/properties/packages/items/[#/definitions/Package]/properties/packageArguments/items/[#/definitions/Argument]/else/[#/definitions/NamedArgument]/allOf/0/[#/definitions/InputWithVariables]/allOf/0/[#/definitions/Input]/properties/format/enum
2. [error] packages.0.transport (schema)
missing required fields: 'url'
Reference: #/definitions/SseTransport/required from: [#/definitions/ServerDetail]/properties/packages/items/[#/definitions/Package]/properties/transport/else/else/[#/definitions/SseTransport]/required
3. [error] repository.url (schema)
'' has invalid format 'uri'
Reference: #/definitions/Repository/properties/url/format from: [#/definitions/ServerDetail]/properties/repository/[#/definitions/Repository]/properties/url/format
4. [error] version (semantic)
version must be a specific version, not a range: "=1.0.0"
Reference: version-looks-like-range
5. [error] packages[0].transport.url (semantic)
url is required for sse transport type
Reference: streamable-transport-url-required
Error: validation failed
```
Note in the results above:
- All errors contain the JSON path of the triggering element from
server.json.
- The first three errors are schema errors detected during schema
validation. The `Reference` provided contains an absolute path to the
schema rule that was violated, followed by the full schema path that
enforced that rule (with $ref redirect values substited and enclosed in
square brackets).
- The error messages provided by the existing semantic validators are
exactly the same as the previous error messages those validators
produced.
In the final solution we would remove semantic validators that are
redundant to schema validation (as in number 5 above). We have the
option to use the structured data produced by schema validation to
replace the generic schema validation message with a more descriptive
message if that is an issue (in particular, if the only argument for an
ad-hoc validator is that is produces a better/cleaner message, we would
just move that message creation code to the schema error result
formatter and special case it as opposed to having a redundant
validator).
### What's Next
If this general direction is supported and this PR is accepted, a fast
follow would include:
- Add new validators (infliuenced by observed issues) for both semantic
errors and best practices
- Require passing schema validation (in addition to improved semantic
validation) in order to publish
- Remove existing validation code that is redundant to schema validation
(ensuring error messages remain intelligible)
- Update validation client code and tests to handle the new rich return
types natively
### Issues
Schema validation requires embedding the `server.schema.json` file into
the validators package via `go:embed`, which is restricted from
embedding files outside of the package. For this reason we copy the
schema file into a schema subdir (via a prep target in the makefile) and
we .gitignore it. I tried cleaning up the copy in the make clean target,
but then the linter would complain about the embed target being missing
if it wasn't there during development. I also considered just checking
in the schema file and assuming a separate workflow for updating the
embedded schema file, but it's not clear what that workflow would be or
how it would be maintained. I'm open to a different approach, but the
schema file does need to be embedded somehow for schema validation to
work.
## How Has This Been Tested?
All existing validation tests pass, new tests implemented and all pass.
## Breaking Changes
No breaking changes, no behavior change except new `validate` command
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [X] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [X] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [X] My code follows the repository's style guidelines
- [X] New and existing tests pass locally
- [X] I have added appropriate error handling
- [X] I have added or updated documentation as needed
---------
Co-authored-by: GitHub Action <action@github.com>
<!-- Provide a brief summary of your changes -->
## Motivation and Context
Added a fully client-side browser for MCP registry APIs to the
`community-projects.md` documentation page:
https://vemonet.github.io/mcp-registry
I built it because I was missing a way to easily configure a server and
export the configuration (existing browsers I have found show the
available parameters, but you still need to manually build the JSON):
- It shows a user friendly form that enables to configure MCP servers
based on their registry entry, making it easier to understand and fill
the configuration required for deploying a server (instead of having to
read through JSON, and manually build another JSON). Then users can
either copy the generated config or install in client with custom URL
handler like VSCode/cursor in 1 click
- It is a thin client UI layer over the existing registry API, it does
not offer additional classification, complex filtering, or semantic
search (we don't use an additional server or database). So it is more of
a tool to make it user friendly to directly access a raw registry
content and inspects available servers, than an opinionated browser with
advanced search capabilities
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [x] I have added or updated documentation as needed
## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
<!-- Provide a brief summary of your changes -->
## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
Follow up on #869
## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed
## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.31.0 to
0.32.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4c04067938"><code>4c04067</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/mod/compare/v0.31.0...v0.32.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.214.0 to 3.215.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/releases">github.com/pulumi/pulumi/sdk/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.215.0</h2>
<h2>3.215.0 (2026-01-07)</h2>
<h3>Features</h3>
<ul>
<li>[cli/plugin] Allow plugins to specify a supported version range for
the CLI
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21335">#21335</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli] Filter internal properties like __defaults from diff display
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21359">#21359</a></p>
</li>
<li>
<p>[cli/config] Make <code>config set --type bool</code> accept
different spellings of boolean values instead of only lowercase
"true"
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21314">#21314</a></p>
</li>
<li>
<p>[sdk/python] Fix import_resources with converter failing due to
--stack argument placement
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21373">#21373</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>
<p>[cli] Update pulumi-dotnet to 3.96.1</p>
</li>
<li>
<p>[cli/package] Remove superfluous version string
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21351">#21351</a></p>
</li>
</ul>
<h2>v3.214.1</h2>
<h2>3.214.1 (2026-01-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli/package] Preserve existing behavior when <code>pulumi package
add</code> is used with a local provider
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21350">#21350</a></p>
</li>
<li>
<p>[pkg] Create namespace aliases to avoid Pulumi namespace collisions
during codegen
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21325">#21325</a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pulumi/pulumi/blob/master/CHANGELOG.md">github.com/pulumi/pulumi/sdk/v3's
changelog</a>.</em></p>
<blockquote>
<h2>3.215.0 (2026-01-07)</h2>
<h3>Features</h3>
<ul>
<li>[cli/plugin] Allow plugins to specify a supported version range for
the CLI
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21335">#21335</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli] Filter internal properties like __defaults from diff display
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21359">#21359</a></p>
</li>
<li>
<p>[cli/config] Make <code>config set --type bool</code> accept
different spellings of boolean values instead of only lowercase
"true"
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21314">#21314</a></p>
</li>
<li>
<p>[sdk/python] Fix import_resources with converter failing due to
--stack argument placement
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21373">#21373</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>
<p>[cli] Update pulumi-dotnet to 3.96.1</p>
</li>
<li>
<p>[cli/package] Remove superfluous version string
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21351">#21351</a></p>
</li>
</ul>
<h2>3.214.1 (2026-01-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli/package] Preserve existing behavior when <code>pulumi package
add</code> is used with a local provider
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21350">#21350</a></p>
</li>
<li>
<p>[pkg] Create namespace aliases to avoid Pulumi namespace collisions
during codegen
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21325">#21325</a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2ff3425c8f"><code>2ff3425</code></a>
Update pulumi-dotnet to 3.96.1 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21382">#21382</a>)</li>
<li><a
href="628bf0b636"><code>628bf0b</code></a>
fuzzing: expand targeted dependency rule (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21380">#21380</a>)</li>
<li><a
href="2f90313e05"><code>2f90313</code></a>
fix: Insert <code>--stack</code> before <code>--</code> separator in
<code>_run_pulumi_cmd_sync</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21373">#21373</a>)</li>
<li><a
href="137b72ba9f"><code>137b72b</code></a>
Use unittest.IsolatedAsyncioTestCase (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21376">#21376</a>)</li>
<li><a
href="6d92edd52e"><code>6d92edd</code></a>
Allow plugins to set supported CLI versions (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21335">#21335</a>)</li>
<li><a
href="3d12eb1182"><code>3d12eb1</code></a>
Always use <code>packageresolution.Resolve</code> for resource plugin
downloads (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21317">#21317</a>)</li>
<li><a
href="54b8cd9884"><code>54b8cd9</code></a>
Filter internal properties from diff display (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21359">#21359</a>)</li>
<li><a
href="0d3bb719fe"><code>0d3bb71</code></a>
Fix python test coverage (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21365">#21365</a>)</li>
<li><a
href="64c53a5bc1"><code>64c53a5</code></a>
show DestroyV2 failures when parent of provider is updated (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20758">#20758</a>)</li>
<li><a
href="30cfc54973"><code>30cfc54</code></a>
Update dependency urllib3 to v2.6.2 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21360">#21360</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.214.0...v3.215.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>