Commit graph

481 commits

Author SHA1 Message Date
dependabot[bot]
e28c64dbe9
build(deps): bump github.com/pulumi/pulumi-kubernetes/sdk/v4 from 4.24.1 to 4.25.0 in /deploy (#899)
Bumps
[github.com/pulumi/pulumi-kubernetes/sdk/v4](https://github.com/pulumi/pulumi-kubernetes)
from 4.24.1 to 4.25.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.25.0</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f47bc2d6f1"><code>f47bc2d</code></a>
Upgrade runners and reduce parallelism for publish jobs (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4073">#4073</a>)</li>
<li><a
href="890c66d3d1"><code>890c66d</code></a>
Fix a race in condition.Deleted (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4079">#4079</a>)</li>
<li><a
href="a6affb2331"><code>a6affb2</code></a>
Re-generate workflows to use larger publish runner (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4069">#4069</a>)</li>
<li><a
href="7bd527abff"><code>7bd527a</code></a>
Update GitHub Actions workflows. (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4071">#4071</a>)</li>
<li><a
href="3fb75f0a22"><code>3fb75f0</code></a>
Update module github.com/pulumi/pulumi/pkg/v3 to v3.215.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4064">#4064</a>)</li>
<li><a
href="7bb5e5ff7f"><code>7bb5e5f</code></a>
Update dependency <code>@​pulumi/pulumi</code> to v3.215.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4062">#4062</a>)</li>
<li><a
href="04466f6b72"><code>04466f6</code></a>
Update dependency <code>@​pulumi/gcp</code> to v9.9.0 (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4061">#4061</a>)</li>
<li><a
href="d512bb3ba3"><code>d512bb3</code></a>
Update first-party Pulumi dependencies (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4058">#4058</a>)</li>
<li><a
href="bc12e8ace3"><code>bc12e8a</code></a>
Allow for yaml render mode to not need a working cluster (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4053">#4053</a>)</li>
<li><a
href="fd2b31702d"><code>fd2b317</code></a>
Update first-party Pulumi dependencies (<a
href="https://redirect.github.com/pulumi/pulumi-kubernetes/issues/4027">#4027</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi-kubernetes/compare/v4.24.1...v4.25.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi-kubernetes/sdk/v4&package-manager=go_modules&previous-version=4.24.1&new-version=4.25.0)](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>
2026-01-20 17:11:26 +02:00
dependabot[bot]
0af9ee03b9
build(deps): bump github.com/danielgtaylor/huma/v2 from 2.34.1 to 2.35.0 (#905)
Bumps
[github.com/danielgtaylor/huma/v2](https://github.com/danielgtaylor/huma)
from 2.34.1 to 2.35.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/danielgtaylor/huma/releases">github.com/danielgtaylor/huma/v2's
releases</a>.</em></p>
<blockquote>
<h2>v2.35.0</h2>
<h2>Overview</h2>
<p><em>Moved this release as it was incorrectly tagged as
v2.34.3.</em></p>
<h3>Improved Error Messaging for Form Pointers</h3>
<p>Pointer panic messages now explicitly include “Form” where
applicable, making debugging clearer and resolving <a
href="https://redirect.github.com/danielgtaylor/huma/issues/892">#892</a>.</p>
<h3>Expanded String Format Support</h3>
<p>Added support for <code>duration</code> and <code>idn-hostname</code>
string formats, improving schema expressiveness and validation
coverage.</p>
<h3>Header Parsing Fix</h3>
<p>Fixed several subtle issues in header detection that occurred when
output fields were slices, arrays, or maps, which could cause headers
(notably []*http.Cookie) to be incorrectly applied or documented. The
parsing logic now correctly inspects the root type of collection fields
and adds support for hidden headers, allowing them to be excluded from
generated OpenAPI documentation. These changes resolve multiple
long-standing documentation and serialization bugs without introducing
new behavior.</p>
<h2>What's Changed</h2>
<ul>
<li>fix: include “Form” in pointer panic message (fixes <a
href="https://redirect.github.com/danielgtaylor/huma/issues/892">#892</a>)
by <a href="https://github.com/wolveix"><code>@​wolveix</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/938">danielgtaylor/huma#938</a></li>
<li>feat: support duration and IDN-hostname string formats by <a
href="https://github.com/wolveix"><code>@​wolveix</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/939">danielgtaylor/huma#939</a></li>
<li>docs: add simple HTML docs by <a
href="https://github.com/wolveix"><code>@​wolveix</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/941">danielgtaylor/huma#941</a></li>
<li>fix: header parsing by <a
href="https://github.com/wolveix"><code>@​wolveix</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/944">danielgtaylor/huma#944</a></li>
<li>perf(schema): optimize convertType with fast paths for compatible
types by <a href="https://github.com/baagod"><code>@​baagod</code></a>
in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/931">danielgtaylor/huma#931</a></li>
<li>Added exhaustive error code wrappers by <a
href="https://github.com/rhodeon"><code>@​rhodeon</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/876">danielgtaylor/huma#876</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/baagod"><code>@​baagod</code></a> made
their first contribution in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/931">danielgtaylor/huma#931</a></li>
<li><a href="https://github.com/rhodeon"><code>@​rhodeon</code></a> made
their first contribution in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/876">danielgtaylor/huma#876</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/danielgtaylor/huma/compare/v2.34.2...v2.35.0">https://github.com/danielgtaylor/huma/compare/v2.34.2...v2.34.3</a></p>
<h2>v2.34.2</h2>
<h2>Overview</h2>
<h3>TLS-Aware URL Scheme Detection</h3>
<p>Huma now correctly uses the <code>https</code> URL scheme when TLS is
configured, and <code>http</code> when it is not. Previously, the scheme
detection could be incorrect in certain scenarios.</p>
<h3>Time Wrapper Parsing Fix</h3>
<p>Fixed an issue where time wrapper types failed to parse correctly,
resolving <a
href="https://redirect.github.com/danielgtaylor/huma/issues/844">#844</a>.</p>
<h2>What's Changed</h2>
<ul>
<li>fix: correct example format for tags in Pet struct by <a
href="https://github.com/vikyw89"><code>@​vikyw89</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/858">danielgtaylor/huma#858</a></li>
<li>docs: add links to hire me by <a
href="https://github.com/danielgtaylor"><code>@​danielgtaylor</code></a>
in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/869">danielgtaylor/huma#869</a></li>
<li>Revert &quot;docs: add links to hire me&quot; by <a
href="https://github.com/danielgtaylor"><code>@​danielgtaylor</code></a>
in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/890">danielgtaylor/huma#890</a></li>
<li>chore(deps): bump github.com/gofiber/fiber/v2 from 2.52.7 to 2.52.9
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/882">danielgtaylor/huma#882</a></li>
<li>Fix code samples in the response output documentation by <a
href="https://github.com/prnvbn"><code>@​prnvbn</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/927">danielgtaylor/huma#927</a></li>
<li>fix: use &quot;http&quot; URL scheme only if no TLS is used by <a
href="https://github.com/leonklingele"><code>@​leonklingele</code></a>
in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/905">danielgtaylor/huma#905</a></li>
<li>fix: failed to parse time wrapper, close <a
href="https://redirect.github.com/danielgtaylor/huma/issues/844">#844</a>
by <a href="https://github.com/zhenzou"><code>@​zhenzou</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/924">danielgtaylor/huma#924</a></li>
<li>Minor linting/formatting by <a
href="https://github.com/wolveix"><code>@​wolveix</code></a> in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/936">danielgtaylor/huma#936</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vikyw89"><code>@​vikyw89</code></a> made
their first contribution in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/858">danielgtaylor/huma#858</a></li>
<li><a href="https://github.com/prnvbn"><code>@​prnvbn</code></a> made
their first contribution in <a
href="https://redirect.github.com/danielgtaylor/huma/pull/927">danielgtaylor/huma#927</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c24cd0713d"><code>c24cd07</code></a>
Added wrappers for the remaining error codes defined in the standard
library....</li>
<li><a
href="b4a4ec85ca"><code>b4a4ec8</code></a>
perf(schema): optimize convertType with fast paths for compatible types
(<a
href="https://redirect.github.com/danielgtaylor/huma/issues/931">#931</a>)</li>
<li><a
href="88c6cda0a4"><code>88c6cda</code></a>
Fix Header Parsing (<a
href="https://redirect.github.com/danielgtaylor/huma/issues/944">#944</a>)</li>
<li><a
href="0814e6f650"><code>0814e6f</code></a>
Simple HTML docs (<a
href="https://redirect.github.com/danielgtaylor/huma/issues/941">#941</a>)</li>
<li><a
href="1cd5c26aec"><code>1cd5c26</code></a>
Support Duration and IDN-Hostname String Formats (<a
href="https://redirect.github.com/danielgtaylor/huma/issues/939">#939</a>)</li>
<li><a
href="e78584eeb0"><code>e78584e</code></a>
Include form in pointer panic message (<a
href="https://redirect.github.com/danielgtaylor/huma/issues/938">#938</a>)</li>
<li><a
href="027984237b"><code>0279842</code></a>
Minor linting/formatting (<a
href="https://redirect.github.com/danielgtaylor/huma/issues/936">#936</a>)</li>
<li><a
href="f30901ce06"><code>f30901c</code></a>
fix: failed to parse time wrapper, close <a
href="https://redirect.github.com/danielgtaylor/huma/issues/844">#844</a>
(<a
href="https://redirect.github.com/danielgtaylor/huma/issues/924">#924</a>)</li>
<li><a
href="57b362553d"><code>57b3625</code></a>
fix: use &quot;http&quot; URL scheme only if no TLS is used (<a
href="https://redirect.github.com/danielgtaylor/huma/issues/905">#905</a>)</li>
<li><a
href="1f43b55a21"><code>1f43b55</code></a>
Merge pull request <a
href="https://redirect.github.com/danielgtaylor/huma/issues/927">#927</a>
from prnvbn/patch-1</li>
<li>Additional commits viewable in <a
href="https://github.com/danielgtaylor/huma/compare/v2.34.1...v2.35.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/danielgtaylor/huma/v2&package-manager=go_modules&previous-version=2.34.1&new-version=2.35.0)](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>
2026-01-20 17:05:15 +02:00
Bob Dickinson
fc88cf0870
Enhanced server.json validation (phase 1) (#636)
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>
2026-01-16 00:49:39 +02:00
Vincent Emonet
d3d137e170
docs: Add MCP registry browser to the community-projects.md page (#889)
<!-- 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
-->
2026-01-14 23:33:20 +02:00
Radoslav Dimitrov
ad207f2390
Handle URL-encoded NUL bytes (%00) in URL path and query (#877)
<!-- 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>
2026-01-13 11:19:49 +02:00
dependabot[bot]
c6856a818b
build(deps): bump golang.org/x/mod from 0.31.0 to 0.32.0 (#883)
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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/mod&package-manager=go_modules&previous-version=0.31.0&new-version=0.32.0)](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>
2026-01-13 11:15:33 +02:00
dependabot[bot]
37e2fdd70b
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.214.0 to 3.215.0 in /deploy (#880)
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
&quot;true&quot;
<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
&quot;true&quot;
<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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi/sdk/v3&package-manager=go_modules&previous-version=3.214.0&new-version=3.215.0)](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>
2026-01-13 11:15:15 +02:00
dependabot[bot]
59df9f87e2
build(deps): bump the actions group across 1 directory with 2 updates (#888)
Bumps the actions group with 2 updates in the / directory:
[actions/setup-go](https://github.com/actions/setup-go) and
[anchore/sbom-action](https://github.com/anchore/sbom-action).

Updates `actions/setup-go` from 6.1.0 to 6.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-go/releases">actions/setup-go's
releases</a>.</em></p>
<blockquote>
<h2>v6.2.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Example for restore-only cache in documentation by <a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/696">actions/setup-go#696</a></li>
<li>Update Node.js version in action.yml by <a
href="https://github.com/ccoVeille"><code>@​ccoVeille</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/691">actions/setup-go#691</a></li>
<li>Documentation update of actions/checkout by <a
href="https://github.com/deining"><code>@​deining</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/683">actions/setup-go#683</a></li>
</ul>
<h3>Dependency updates</h3>
<ul>
<li>Upgrade js-yaml from 3.14.1 to 3.14.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/682">actions/setup-go#682</a></li>
<li>Upgrade <code>@​actions/cache</code> to v5 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/695">actions/setup-go#695</a></li>
<li>Upgrade actions/checkout from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/686">actions/setup-go#686</a></li>
<li>Upgrade qs from 6.14.0 to 6.14.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/703">actions/setup-go#703</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ccoVeille"><code>@​ccoVeille</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/691">actions/setup-go#691</a></li>
<li><a href="https://github.com/deining"><code>@​deining</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/683">actions/setup-go#683</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-go/compare/v6...v6.2.0">https://github.com/actions/setup-go/compare/v6...v6.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7a3fe6cf4c"><code>7a3fe6c</code></a>
Bump qs from 6.14.0 to 6.14.1 (<a
href="https://redirect.github.com/actions/setup-go/issues/703">#703</a>)</li>
<li><a
href="b9adafd441"><code>b9adafd</code></a>
Bump actions/checkout from 5 to 6 (<a
href="https://redirect.github.com/actions/setup-go/issues/686">#686</a>)</li>
<li><a
href="d73f6bcfc2"><code>d73f6bc</code></a>
README.md: correct to actions/checkout@v6 (<a
href="https://redirect.github.com/actions/setup-go/issues/683">#683</a>)</li>
<li><a
href="ae252ee6fb"><code>ae252ee</code></a>
Bump <code>@​actions/cache</code> to v5 (<a
href="https://redirect.github.com/actions/setup-go/issues/695">#695</a>)</li>
<li><a
href="bf7446afaf"><code>bf7446a</code></a>
Bump js-yaml from 3.14.1 to 3.14.2 (<a
href="https://redirect.github.com/actions/setup-go/issues/682">#682</a>)</li>
<li><a
href="02aadfee7f"><code>02aadfe</code></a>
Fix Node.js version in action.yml (<a
href="https://redirect.github.com/actions/setup-go/issues/691">#691</a>)</li>
<li><a
href="4aaadf4266"><code>4aaadf4</code></a>
Example for restore-only cache in documentation (<a
href="https://redirect.github.com/actions/setup-go/issues/696">#696</a>)</li>
<li>See full diff in <a
href="4dc6199c7b...7a3fe6cf4c">compare
view</a></li>
</ul>
</details>
<br />

Updates `anchore/sbom-action` from 0.21.0 to 0.21.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.21.1</h2>
<h2>Changes in v0.21.1</h2>
<ul>
<li>chore(deps): update Syft to v1.40.0 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/562">#562</a>)
[[<a
href="https://github.com/apps/anchore-actions-token-generator">anchore-actions-token-generator[bot]</a>](<a
href="https://github.com/%5Banchore-actions-token-generator%5Bbot%5D%5D(https://github.com/apps/anchore-actions-token-generator))%5D">https://github.com/[anchore-actions-token-generator[bot]](https://github.com/apps/anchore-actions-token-generator))]</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0b82b0b1a2"><code>0b82b0b</code></a>
chore(deps): update Syft to v1.40.0 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/562">#562</a>)</li>
<li>See full diff in <a
href="https://github.com/anchore/sbom-action/compare/v0.21.0...v0.21.1">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 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>
Co-authored-by: Radoslav Dimitrov <radoslav@stacklok.com>
2026-01-13 11:14:49 +02:00
adam jones
f0f885ccf9
chore: update licensing to Apache 2.0 for new contributions (#887)
As part of MCP joining the Linux Foundation, this PR updates licensing
to Apache 2.0 for new contributions while grandfathering existing MIT
code. See modelcontextprotocol/modelcontextprotocol#1994
2026-01-13 11:11:20 +02:00
lif
61fdf17b21
fix(publisher): add --help support for subcommands (#867)
## Summary
- Added `printCommandHelp()` function to display help for each
subcommand
- `mcp-publisher init --help` now shows init command help instead of
running init
- `mcp-publisher login --help` now shows login methods instead of error
- `mcp-publisher publish --help` now shows publish usage instead of
attempting publish

Fixes #735

Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: Radoslav Dimitrov <radoslav@stacklok.com>
2026-01-04 00:59:59 +02:00
lif
ab6a5a6b6d
fix(api): reject requests with NUL bytes in URL (#869)
## Summary
- Added `NulByteValidationMiddleware` to validate incoming requests
- Returns 400 Bad Request when NUL bytes (%00) detected in URL path or
query
- Prevents PostgreSQL encoding errors from being exposed as 500 errors

## Before
```
GET /v0.1/servers?cursor=%00
→ 500 Internal Server Error
→ "invalid byte sequence for encoding UTF8: 0x00"
```

## After
```
GET /v0.1/servers?cursor=%00
→ 400 Bad Request
→ "Invalid request: query parameters contain null bytes"
```

Fixes #862

Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: Radoslav Dimitrov <radoslav@stacklok.com>
2026-01-03 19:14:44 +02:00
dependabot[bot]
50e030d927
build(deps): bump github.com/jackc/pgx/v5 from 5.7.6 to 5.8.0 (#864)
Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.7.6
to 5.8.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jackc/pgx/blob/master/CHANGELOG.md">github.com/jackc/pgx/v5's
changelog</a>.</em></p>
<blockquote>
<h1>5.8.0 (December 26, 2025)</h1>
<ul>
<li>Require Go 1.24+</li>
<li>Remove golang.org/x/crypto dependency</li>
<li>Add OptionShouldPing to control ResetSession ping behavior
(ilyam8)</li>
<li>Fix: Avoid overflow when MaxConns is set to MaxInt32</li>
<li>Fix: Close batch pipeline after a query error (Anthonin
Bonnefoy)</li>
<li>Faster shutdown of pgxpool.Pool background goroutines (Blake
Gentry)</li>
<li>Add pgxpool ping timeout (Amirsalar Safaei)</li>
<li>Fix: Rows.FieldDescriptions for empty query</li>
<li>Scan unknown types into *any as string or []byte based on format
code</li>
<li>Optimize pgtype.Numeric (Philip Dubé)</li>
<li>Add AfterNetConnect hook to pgconn.Config</li>
<li>Fix: Handle for preparing statements that fail during the Describe
phase</li>
<li>Fix overflow in numeric scanning (Ilia Demianenko)</li>
<li>Fix: json/jsonb sql.Scanner source type is []byte</li>
<li>Migrate from math/rand to math/rand/v2 (Mathias Bogaert)</li>
<li>Optimize internal iobufpool (Mathias Bogaert)</li>
<li>Optimize stmtcache invalidation (Mathias Bogaert)</li>
<li>Fix: missing error case in interval parsing (Maxime Soulé)</li>
<li>Fix: invalidate statement/description cache in Exec (James
Hartig)</li>
<li>ColumnTypeLength method return the type length for varbit type
(DengChan)</li>
<li>Array and Composite codecs handle typed nils</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fe8740aa06"><code>fe8740a</code></a>
Release v5.8.0</li>
<li><a
href="e5dde5a511"><code>e5dde5a</code></a>
Skip test on CockroachDB</li>
<li><a
href="06f2d82cac"><code>06f2d82</code></a>
Remove trailing space</li>
<li><a
href="2cf78dd906"><code>2cf78dd</code></a>
Merge pull request <a
href="https://redirect.github.com/jackc/pgx/issues/2448">#2448</a> from
DengChan/column_type_lenth_varbit</li>
<li><a
href="2d1c4ef1aa"><code>2d1c4ef</code></a>
Skip tests on CockroachDB</li>
<li><a
href="1a5fa7fc7f"><code>1a5fa7f</code></a>
Array and Composite codecs handle typed nils</li>
<li><a
href="5736d0976d"><code>5736d09</code></a>
ColumnTypeLength method return the type length for varbit type.</li>
<li><a
href="4c1308c14b"><code>4c1308c</code></a>
Revert &quot;stdlib matches native pgx scanning support&quot;</li>
<li><a
href="14ce2b7a62"><code>14ce2b7</code></a>
Skip test on CockroachDB</li>
<li><a
href="65b2724ea5"><code>65b2724</code></a>
Merge pull request <a
href="https://redirect.github.com/jackc/pgx/issues/2443">#2443</a> from
jameshartig/x-invalidate-cache-in-exec</li>
<li>Additional commits viewable in <a
href="https://github.com/jackc/pgx/compare/v5.7.6...v5.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/jackc/pgx/v5&package-manager=go_modules&previous-version=5.7.6&new-version=5.8.0)](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>
2025-12-31 11:05:26 +02:00
dependabot[bot]
44b9a6659f
build(deps): bump anchore/sbom-action from 0.20.11 to 0.21.0 in the actions group (#860)
Bumps the actions group with 1 update:
[anchore/sbom-action](https://github.com/anchore/sbom-action).

Updates `anchore/sbom-action` from 0.20.11 to 0.21.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.21.0</h2>
<ul>
<li>chore(deps): update Syft to v1.39.0 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/561">#561</a>)</li>
<li>chore(deps): bump <code>@​octokit/request-error</code>,
<code>@​octokit/core</code> and <code>@​octokit/webhooks</code> (<a
href="https://redirect.github.com/anchore/sbom-action/issues/560">#560</a>)</li>
<li>chore(deps): bump peter-evans/create-pull-request from 7.0.11 to
8.0.0 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/558">#558</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a930d0ac43"><code>a930d0a</code></a>
chore(deps): update Syft to v1.39.0 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/561">#561</a>)</li>
<li><a
href="e4b2532819"><code>e4b2532</code></a>
chore(deps): bump <code>@​octokit/request-error</code>,
<code>@​octokit/core</code> and <code>@​octokit/webhooks</code>...</li>
<li><a
href="481b254e1d"><code>481b254</code></a>
chore(deps): bump peter-evans/create-pull-request from 7.0.11 to 8.0.0
(<a
href="https://redirect.github.com/anchore/sbom-action/issues/558">#558</a>)</li>
<li>See full diff in <a
href="https://github.com/anchore/sbom-action/compare/v0.20.11...v0.21.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anchore/sbom-action&package-manager=github_actions&previous-version=0.20.11&new-version=0.21.0)](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>
2025-12-31 11:04:47 +02:00
dependabot[bot]
06fd395939
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.213.0 to 3.214.0 in /deploy (#872)
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.213.0 to 3.214.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.214.0</h2>
<h2>3.214.0 (2025-12-30)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Add --config and --config-path options to destroy and refresh
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21299">#21299</a></p>
</li>
<li>
<p>[sdkgen] Add <code>OutputStyleOnly</code> flag to functions to not
emit their plain variants
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21198">#21198</a></p>
</li>
<li>
<p>[sdk/python] Add support for <code>replacement_trigger</code> in the
Python SDK
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20940">#20940</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[engine] Pass ignoreChanges when issuing no-diff updates that resolve
initErrors
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21319">#21319</a></p>
</li>
<li>
<p>[programgen] Fix a bug in programgen binding to invokes from
parameterized packages
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21284">#21284</a></p>
</li>
<li>
<p>[cli/plugin] Fix plugin download URL overrides for fallback mechanism
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21095">#21095</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[pkg] Upgrade pulumi-java to 1.20.0</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.214.0 (2025-12-30)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Add --config and --config-path options to destroy and refresh
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21299">#21299</a></p>
</li>
<li>
<p>[sdkgen] Add <code>OutputStyleOnly</code> flag to functions to not
emit their plain variants
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21198">#21198</a></p>
</li>
<li>
<p>[sdk/python] Add support for <code>replacement_trigger</code> in the
Python SDK
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20940">#20940</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[engine] Pass ignoreChanges when issuing no-diff updates that resolve
initErrors
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21319">#21319</a></p>
</li>
<li>
<p>[programgen] Fix a bug in programgen binding to invokes from
parameterized packages
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21284">#21284</a></p>
</li>
<li>
<p>[cli/plugin] Fix plugin download URL overrides for fallback mechanism
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21095">#21095</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[pkg] Upgrade pulumi-java to 1.20.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="72adf65d22"><code>72adf65</code></a>
Run smoke tests in parallel (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20082">#20082</a>)</li>
<li><a
href="8cfc492137"><code>8cfc492</code></a>
Upgrade pulumi-java to v1.20.0 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21328">#21328</a>)</li>
<li><a
href="eb7217f340"><code>eb7217f</code></a>
Fix plugin download URL overrides for fallback mechanism (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21095">#21095</a>)</li>
<li><a
href="2e94b9b424"><code>2e94b9b</code></a>
engine: pass IgnoreChanges to init errors update (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21319">#21319</a>)</li>
<li><a
href="9e5f2036ce"><code>9e5f203</code></a>
Make the types make sense for <code>packageresolution.Resolve</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21298">#21298</a>)</li>
<li><a
href="9e36f87181"><code>9e36f87</code></a>
Discourage use of SDK gen tests via note in README.md (<a
href="https://redirect.github.com/pulumi/pulumi/issues/19596">#19596</a>)</li>
<li><a
href="0dd8b625ba"><code>0dd8b62</code></a>
fix typo in dev docs (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21313">#21313</a>)</li>
<li><a
href="c0f75ececf"><code>c0f75ec</code></a>
improve error message when dependency installation failed (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21310">#21310</a>)</li>
<li><a
href="70f8c56ccd"><code>70f8c56</code></a>
fix yet another flaky tail test (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21311">#21311</a>)</li>
<li><a
href="ac0a6b116c"><code>ac0a6b1</code></a>
re-enable TestAzureLoginAzLogin (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21303">#21303</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.213.0...v3.214.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi/sdk/v3&package-manager=go_modules&previous-version=3.213.0&new-version=3.214.0)](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>
2025-12-31 11:03:00 +02:00
dependabot[bot]
9afbaacdfd
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.212.0 to 3.213.0 in /deploy (#856)
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.212.0 to 3.213.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.213.0</h2>
<h2>3.213.0 (2025-12-17)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>[sdkgen/go] Generate three-level nested builtin output types for Go
SDK
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21248">#21248</a></li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[pkg] Move plugin downloading from pkg into sdk
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21220">#21220</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>
<h1>Changelog</h1>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b5f037ab6d"><code>b5f037a</code></a>
Bump SDK versions for 3.213.0 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21269">#21269</a>)</li>
<li><a
href="e317952bf1"><code>e317952</code></a>
add infrastructure to exclude known issues from fuzzing (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21267">#21267</a>)</li>
<li><a
href="312929faea"><code>312929f</code></a>
Do not assert that the pulumi/templates repo contains aws-javascript (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21280">#21280</a>)</li>
<li><a
href="777230ba86"><code>777230b</code></a>
add fuzzing failures to gitignore (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21264">#21264</a>)</li>
<li><a
href="fe2c4cb31d"><code>fe2c4cb</code></a>
catch panics in the engine, and turn them into errors for fuzzing (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20955">#20955</a>)</li>
<li><a
href="de5e586f87"><code>de5e586</code></a>
python auto api tests: fix flakes because of existing stacks (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21265">#21265</a>)</li>
<li><a
href="6d4aa06fc3"><code>6d4aa06</code></a>
Add doc for sdk/go/pulumi-internal/ (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21263">#21263</a>)</li>
<li><a
href="a3350dac5f"><code>a3350da</code></a>
Add a backporting of type-alias of <code>workspace.PluginSpec</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21262">#21262</a>)</li>
<li><a
href="27f635e1dd"><code>27f635e</code></a>
Remove sdk/go/pulumi/internals/empty.s (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21261">#21261</a>)</li>
<li><a
href="29b4e67ea3"><code>29b4e67</code></a>
Expand <code>PackageSpec</code> allow representing a full
<code>PluginDescriptor</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21254">#21254</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.212.0...v3.213.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi/sdk/v3&package-manager=go_modules&previous-version=3.212.0&new-version=3.213.0)](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>
2025-12-18 09:46:18 +02:00
Benedikt Reinartz
4338ec157a
Default to the local registry in the UI (#799)
<!-- Provide a brief summary of your changes -->
Change the UI default to the locally hosted registry.

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
Was quite confusing at first :)

## 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. -->
- [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
- [ ] I have added or updated documentation as needed
2025-12-16 21:59:39 +00:00
Radoslav Dimitrov
cc1e665b32
Ensure no downtime during rollouts (#854)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR ensures we don't have downtime when we are doing
rollouts during deployment/promotions.

## 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>
2025-12-16 21:01:55 +00:00
Radoslav Dimitrov
d71df40c81
Promote prod to 1.4.0 (#852)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR promotes the version of the registry in prod to 1.4.0

## 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>
2025-12-16 19:46:54 +02:00
Radoslav Dimitrov
05d282002a
Revert "Restrict @claude bot to mcp org only, fix fork behavior" (#851)
Reverts modelcontextprotocol/registry#819
2025-12-16 06:05:26 -08:00
Radoslav Dimitrov
731198572b
Set 429 status code responses in the config map (#849) v1.4.0
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
Seems that per ingress annotations were not working, so had to put them
in the ingress configmap. Did tested this manually on staging so it's
confirmed it's working (I was getting 429s instead of 503s) and no
traffic was getting into the registry pod.
 
## 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>
2025-12-13 13:34:12 -07:00
Radoslav Dimitrov
fef7d3e2ac
Preserve client IPs and bump NGINX replicas (#848)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
A few changes related to configuring the rate limiting:
* Set `externalTrafficPolicy: Local` to preserve real client IPs
(otherwise we only see the cluster IPs)
* Disable `use-forwarded-headers` (L4 LB doesn't set `X-Forwarded-For`,
prevents spoofing)
* Scale NGINX to 2 replicas in prod (costs nothing, gives us
zero-downtime deploys to prod)

## 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>
2025-12-13 18:28:12 +02:00
dependabot[bot]
7cfd3f04c7
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.210.0 to 3.212.0 in /deploy (#847) 2025-12-13 09:36:42 +02:00
dependabot[bot]
3692b995b2
build(deps): bump actions/upload-artifact from 5.0.0 to 6.0.0 in the actions group (#846) 2025-12-13 09:36:19 +02:00
Radoslav Dimitrov
19c58c15d5
Add NGINX ingress rate limiting to protect against traffic spikes (#843)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following is an alternative solution to #833

Goal is to deploy and promote it to prod, then monitor the alerts for a
week to see its effect and reassess. In case it's actual traffic that
we've started blocking we can also up the replicas. I thought it doesn't
make sense to up them now since it would be nice to isolate the result
of this change first.

## 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>
2025-12-12 15:38:26 -07:00
Radoslav Dimitrov
9357e767c9
Add a PUT method to the OpenAPI specification (#838)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR adds a PUT method for updating a server version
(optional, not implemented by the registry but still provides the
ability for other registry implementations to standardise on it)

**Details:**
- Path: PUT /v0.1/servers/{serverName}/versions/{version}
- Purpose: Update a specific version of an MCP server in the registry
- Authentication: Uses bearer token authentication (registry-specific)
- Request Body: Accepts a ServerDetail schema
- Response: Returns a ServerResponse on success (200)
- Error Handling: Includes proper HTTP status codes:
  - 401: Unauthorized
  - 403: Forbidden - Insufficient permissions
  - 404: Server or version not found
  - 500: Internal server error
  - 501: Not Implemented - Registry doesn't support updates

  
## 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>
2025-12-12 13:48:23 -07:00
dependabot[bot]
c179f71215
build(deps): bump the actions group across 1 directory with 4 updates (#836)
Bumps the actions group with 4 updates in the / directory:
[actions/checkout](https://github.com/actions/checkout),
[actions/setup-go](https://github.com/actions/setup-go),
[golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action)
and [anchore/sbom-action](https://github.com/anchore/sbom-action).

Updates `actions/checkout` from 5.0.1 to 6.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update all references from v5 and v4 to v6 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2314">actions/checkout#2314</a></li>
<li>Add worktree support for persist-credentials includeIf by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li>
<li>Clarify v6 README by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2328">actions/checkout#2328</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v6...v6.0.1">https://github.com/actions/checkout/compare/v6...v6.0.1</a></p>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>v6-beta by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2298">actions/checkout#2298</a></li>
<li>update readme/changelog for v6 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2311">actions/checkout#2311</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5.0.0...v6.0.0">https://github.com/actions/checkout/compare/v5.0.0...v6.0.0</a></p>
<h2>v6-beta</h2>
<h2>What's Changed</h2>
<p>Updated persist-credentials to store the credentials under
<code>$RUNNER_TEMP</code> instead of directly in the local git
config.</p>
<p>This requires a minimum Actions Runner version of <a
href="https://github.com/actions/runner/releases/tag/v2.329.0">v2.329.0</a>
to access the persisted credentials for <a
href="https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action">Docker
container action</a> scenarios.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v6.0.0</h2>
<ul>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
</ul>
<h2>v5.0.1</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<h2>v5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>v4.3.1</h2>
<ul>
<li>Port v6 cleanup to v4 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li>
</ul>
<h2>v4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a
href="https://github.com/lucacome"><code>@​lucacome</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li>
<li>Dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>- <a
href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>,
<a
href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li>
<li>Check out other refs/* by commit by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable
version. by <a href="https://github.com/jww3"><code>@​jww3</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li>
</ul>
<h2>v4.1.5</h2>
<ul>
<li>Update NPM dependencies by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkout#1703</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkout#1694</a></li>
<li>Bump actions/setup-node from 1 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkout#1696</a></li>
<li>Bump actions/upload-artifact from 2 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkout#1695</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8e8c483db8"><code>8e8c483</code></a>
Clarify v6 README (<a
href="https://redirect.github.com/actions/checkout/issues/2328">#2328</a>)</li>
<li><a
href="033fa0dc0b"><code>033fa0d</code></a>
Add worktree support for persist-credentials includeIf (<a
href="https://redirect.github.com/actions/checkout/issues/2327">#2327</a>)</li>
<li><a
href="c2d88d3ecc"><code>c2d88d3</code></a>
Update all references from v5 and v4 to v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2314">#2314</a>)</li>
<li><a
href="1af3b93b68"><code>1af3b93</code></a>
update readme/changelog for v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2311">#2311</a>)</li>
<li><a
href="71cf2267d8"><code>71cf226</code></a>
v6-beta (<a
href="https://redirect.github.com/actions/checkout/issues/2298">#2298</a>)</li>
<li><a
href="069c695914"><code>069c695</code></a>
Persist creds to a separate file (<a
href="https://redirect.github.com/actions/checkout/issues/2286">#2286</a>)</li>
<li><a
href="ff7abcd0c3"><code>ff7abcd</code></a>
Update README to include Node.js 24 support details and requirements (<a
href="https://redirect.github.com/actions/checkout/issues/2248">#2248</a>)</li>
<li>See full diff in <a
href="93cb6efe18...8e8c483db8">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/setup-go` from 6.0.0 to 6.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-go/releases">actions/setup-go's
releases</a>.</em></p>
<blockquote>
<h2>v6.1.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Fall back to downloading from go.dev/dl instead of
storage.googleapis.com/golang by <a
href="https://github.com/nicholasngai"><code>@​nicholasngai</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/665">actions/setup-go#665</a></li>
<li>Add support for .tool-versions file and update workflow by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/673">actions/setup-go#673</a></li>
<li>Add comprehensive breaking changes documentation for v6 by <a
href="https://github.com/mahabaleshwars"><code>@​mahabaleshwars</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/674">actions/setup-go#674</a></li>
</ul>
<h3>Dependency updates</h3>
<ul>
<li>Upgrade eslint-config-prettier from 10.0.1 to 10.1.8 and document
breaking changes in v6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/617">actions/setup-go#617</a></li>
<li>Upgrade actions/publish-action from 0.3.0 to 0.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/641">actions/setup-go#641</a></li>
<li>Upgrade semver and <code>@​types/semver</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/652">actions/setup-go#652</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/nicholasngai"><code>@​nicholasngai</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/665">actions/setup-go#665</a></li>
<li><a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/673">actions/setup-go#673</a></li>
<li><a
href="https://github.com/mahabaleshwars"><code>@​mahabaleshwars</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/674">actions/setup-go#674</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-go/compare/v6...v6.1.0">https://github.com/actions/setup-go/compare/v6...v6.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4dc6199c7b"><code>4dc6199</code></a>
Bump semver and <code>@​types/semver</code> (<a
href="https://redirect.github.com/actions/setup-go/issues/652">#652</a>)</li>
<li><a
href="f3787be646"><code>f3787be</code></a>
Add comprehensive breaking changes documentation for v6 (<a
href="https://redirect.github.com/actions/setup-go/issues/674">#674</a>)</li>
<li><a
href="3a0c2c8245"><code>3a0c2c8</code></a>
Bump actions/publish-action from 0.3.0 to 0.4.0 (<a
href="https://redirect.github.com/actions/setup-go/issues/641">#641</a>)</li>
<li><a
href="faf52423ec"><code>faf5242</code></a>
Add support for .tool-versions file in setup-go, update workflow (<a
href="https://redirect.github.com/actions/setup-go/issues/673">#673</a>)</li>
<li><a
href="7bc60db215"><code>7bc60db</code></a>
Fall back to downloading from go.dev/dl instead of
storage.googleapis.com/gol...</li>
<li><a
href="c0137caad7"><code>c0137ca</code></a>
Bump eslint-config-prettier from 10.0.1 to 10.1.8 and document breaking
chang...</li>
<li>See full diff in <a
href="4469467582...4dc6199c7b">compare
view</a></li>
</ul>
</details>
<br />

Updates `golangci/golangci-lint-action` from 9.0.0 to 9.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/golangci/golangci-lint-action/releases">golangci/golangci-lint-action's
releases</a>.</em></p>
<blockquote>
<h2>v9.2.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Changes</h3>
<ul>
<li>feat: add version-file option by <a
href="https://github.com/ldez"><code>@​ldez</code></a> in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1320">golangci/golangci-lint-action#1320</a></li>
<li>chore: move samples into fixtures by <a
href="https://github.com/ldez"><code>@​ldez</code></a> in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1321">golangci/golangci-lint-action#1321</a></li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>build(deps-dev): bump the dev-dependencies group with 2 updates by
<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1317">golangci/golangci-lint-action#1317</a></li>
<li>build(deps): bump actions/checkout from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1318">golangci/golangci-lint-action#1318</a></li>
<li>build(deps-dev): bump the dev-dependencies group with 3 updates by
<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1323">golangci/golangci-lint-action#1323</a></li>
<li>build(deps): bump yaml from 2.8.1 to 2.8.2 in the dependencies group
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1324">golangci/golangci-lint-action#1324</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/golangci/golangci-lint-action/compare/v9.1.0...v9.2.0">https://github.com/golangci/golangci-lint-action/compare/v9.1.0...v9.2.0</a></p>
<h2>v9.1.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Changes</h3>
<ul>
<li>feat: automatic module directories by <a
href="https://github.com/ldez"><code>@​ldez</code></a> in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1315">golangci/golangci-lint-action#1315</a></li>
</ul>
<h3>Documentation</h3>
<ul>
<li>docs: organize options by <a
href="https://github.com/ldez"><code>@​ldez</code></a> in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1314">golangci/golangci-lint-action#1314</a></li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>build(deps-dev): bump the dev-dependencies group with 2 updates by
<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1307">golangci/golangci-lint-action#1307</a></li>
<li>build(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1309">golangci/golangci-lint-action#1309</a></li>
<li>build(deps-dev): bump the dev-dependencies group with 2 updates by
<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1310">golangci/golangci-lint-action#1310</a></li>
<li>build(deps): bump the dependencies group with 2 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/golangci/golangci-lint-action/pull/1311">golangci/golangci-lint-action#1311</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/golangci/golangci-lint-action/compare/v9.0.0...v9.1.0">https://github.com/golangci/golangci-lint-action/compare/v9.0.0...v9.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1e7e51e771"><code>1e7e51e</code></a>
build(deps): bump yaml from 2.8.1 to 2.8.2 in the dependencies group (<a
href="https://redirect.github.com/golangci/golangci-lint-action/issues/1324">#1324</a>)</li>
<li><a
href="5256ff0c0a"><code>5256ff0</code></a>
build(deps-dev): bump the dev-dependencies group with 3 updates (<a
href="https://redirect.github.com/golangci/golangci-lint-action/issues/1323">#1323</a>)</li>
<li><a
href="13fed6f911"><code>13fed6f</code></a>
chore: update workflows</li>
<li><a
href="7afe8ff863"><code>7afe8ff</code></a>
chore: update workflows</li>
<li><a
href="5a9289952f"><code>5a92899</code></a>
chore: move samples into fixtures (<a
href="https://redirect.github.com/golangci/golangci-lint-action/issues/1321">#1321</a>)</li>
<li><a
href="aa6fad0ea0"><code>aa6fad0</code></a>
feat: add version-file option (<a
href="https://redirect.github.com/golangci/golangci-lint-action/issues/1320">#1320</a>)</li>
<li><a
href="a6071aaacb"><code>a6071aa</code></a>
build(deps): bump actions/checkout from 5 to 6 (<a
href="https://redirect.github.com/golangci/golangci-lint-action/issues/1318">#1318</a>)</li>
<li><a
href="6e36c8460f"><code>6e36c84</code></a>
build(deps-dev): bump the dev-dependencies group with 2 updates (<a
href="https://redirect.github.com/golangci/golangci-lint-action/issues/1317">#1317</a>)</li>
<li><a
href="e7fa5ac41e"><code>e7fa5ac</code></a>
feat: automatic module directories (<a
href="https://redirect.github.com/golangci/golangci-lint-action/issues/1315">#1315</a>)</li>
<li><a
href="f3ae99f5f5"><code>f3ae99f</code></a>
docs: organize options (<a
href="https://redirect.github.com/golangci/golangci-lint-action/issues/1314">#1314</a>)</li>
<li>Additional commits viewable in <a
href="0a35821d5c...1e7e51e771">compare
view</a></li>
</ul>
</details>
<br />

Updates `anchore/sbom-action` from 0.20.10 to 0.20.11
<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.20.11</h2>
<h2>Changes in v0.20.11</h2>
<ul>
<li>update Syft to v1.38.2 (<a
href="https://redirect.github.com/anchore/sbom-action/pull/557">anchore/sbom-action#557</a>)</li>
<li>bump <code>@​octokit/plugin-paginate-rest</code>,
<code>@​actions/artifact</code> and <code>@​actions/github</code> (<a
href="https://redirect.github.com/anchore/sbom-action/issues/550">#550</a>)
[[<a href="https://github.com/apps/dependabot">dependabot[bot]</a>](<a
href="https://github.com/%5Bdependabot%5Bbot%5D%5D(https://github.com/apps/dependabot))%5D">https://github.com/[dependabot[bot]](https://github.com/apps/dependabot))]</a></li>
<li>bump js-yaml (<a
href="https://redirect.github.com/anchore/sbom-action/issues/552">#552</a>)
[[<a href="https://github.com/apps/dependabot">dependabot[bot]</a>](<a
href="https://github.com/%5Bdependabot%5Bbot%5D%5D(https://github.com/apps/dependabot))%5D">https://github.com/[dependabot[bot]](https://github.com/apps/dependabot))]</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="43a17d6e7a"><code>43a17d6</code></a>
chore(deps): update Syft to v1.38.2 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/557">#557</a>)</li>
<li><a
href="4df6110a4d"><code>4df6110</code></a>
chore(deps): bump <code>@​octokit/plugin-paginate-rest</code>,
<code>@​actions/artifact</code> and <a
href="https://github.com/actio"><code>@​actio</code></a>...</li>
<li><a
href="2df107d3f8"><code>2df107d</code></a>
chore(deps): bump js-yaml (<a
href="https://redirect.github.com/anchore/sbom-action/issues/552">#552</a>)</li>
<li><a
href="ef53eb7703"><code>ef53eb7</code></a>
chore(deps): bump actions/checkout from 5.0.0 to 6.0.1 (<a
href="https://redirect.github.com/anchore/sbom-action/issues/555">#555</a>)</li>
<li><a
href="5758fe48c1"><code>5758fe4</code></a>
chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.11
(<a
href="https://redirect.github.com/anchore/sbom-action/issues/556">#556</a>)</li>
<li>See full diff in <a
href="https://github.com/anchore/sbom-action/compare/v0.20.10...v0.20.11">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 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>
Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Radoslav Dimitrov <radoslav@stacklok.com>
2025-12-12 09:38:39 -08:00
Tadas Antanavicius
453956d975
chore: Release server.json schema version 2025-12-11 (#841)
Prepared by Claude Code, iterated and reviewed by me.

## Summary

This PR releases the server.json schema version `2025-12-11`,
incorporating URL template variables for remote servers from #570.

### What's New

- **URL Template Variables for Remote Servers** - Remote servers can now
define configurable variables in URLs using `{curly_braces}` notation,
enabling multi-tenant deployments.

### Schema Version
- `2025-10-17` → `2025-12-11`

## Release Sequence

1. ~~**First: Merge static repo PR** -
https://github.com/modelcontextprotocol/static/pull/11 (publishes schema
to versioned URL)~~
2. **Then: Merge this PR** - Updates registry code to reference the new
schema version

## Changes in This PR

- [x] Update CHANGELOG.md with release notes
- [x] Update `CurrentSchemaVersion` in `pkg/model/constants.go`
- [x] Update schema example URL in `docs/reference/api/openapi.yaml`
- [x] Update schema URL in `pkg/api/v0/types.go`
- [x] Update all documentation examples to use new schema version
- [x] Regenerate `server.schema.json`

## Test Plan
- [x] `make check` passes (lint, schema validation, example validation)
- [x] Unit tests pass for validators and publisher commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-12 09:33:57 -08:00
Tadas Antanavicius
b58836c48e
feat: Add LocalTransport/RemoteTransport with URL template variables (#570)
Co-authored with Claude Code, but I've closely reviewed/modified/vetted
all changes; ready for final review.

## Summary

This PR adds LocalTransport and RemoteTransport separation with URL
template variable support for remote servers, enabling e.g. multi-tenant
deployments with configurable endpoints.

**Key additions:**
- LocalTransport (for Packages) and RemoteTransport (for Remotes)
- URL template variables for remote transports (e.g., `{tenant_id}` in
URLs)
- Pattern validation ensuring URLs are URL-like while allowing templates
- Full test coverage via Go validator tests and documentation examples

## ⚠️ server.json Update

This PR updates the `server.json` schema. A new schema version will be
cut after this lands.

## Problem

The current schema describes URL templating with `{curly_braces}` for
transports but provides no mechanism for Remote contexts to define what
those variables should resolve to, making the feature unusable for
remote servers.

Referenced issue: #394
- Users need multi-tenant remote servers with different endpoints per
deployment
- Each tenant/region has its own URL (e.g., `us-cell1.example.com`,
`emea-cell1.example.com`)
- Current schema doesn't support parameterized remote URLs

## Solution

### Schema Architecture

**LocalTransport** (for Package context):
```typescript
LocalTransport = StdioTransport | StreamableHttpTransport | SseTransport
```
- Used in Package context (non-breaking rename of existing behavior)
- Variables in `{curly_braces}` reference parent Package
arguments/environment variables
- Supports all three transport types including stdio

**RemoteTransport** (for Remote context):
```typescript
RemoteTransport = (StreamableHttpTransport | SseTransport) + { variables: object }
```
- Extends StreamableHttp/Sse via `allOf` composition - no duplication!
- Adds `variables` object for URL templating
- Only supports streamable-http and sse (stdio not valid for remotes)

### Key Changes

**1. Schema Updates** (`openapi.yaml`, `server.schema.json`):
- Added `LocalTransport` union type for Package context
- Added `RemoteTransport` with `allOf` composition extending base
transports
- Updated Package to reference `LocalTransport`
- Updated remotes to reference `RemoteTransport`
- Added URL pattern validation: `^https?://[^\\s]+$` to both
StreamableHttp and SSE
- Removed `format: uri` from SSE (was blocking template variables)

**2. Go Types** (`pkg/model/types.go`):
- Base `Transport` struct unchanged for Package context
- `RemoteTransport` struct for remotes with `Variables` field
- Both work with existing validation infrastructure

**3. Validators** (`internal/validators/`):
- `validateRemoteTransport()` validates Remote-specific constraints
- `collectRemoteTransportVariables()` extracts available variables
- `IsValidTemplatedURL()` validates template variables reference defined
variables
- `IsValidRemoteURL()` handles template variable substitution before
localhost check
- 6 new test cases for remote transport variable validation

**4. Documentation Examples** (`generic-server-json.md`):
- Remote Server with URL Templating (StreamableHttp with `{tenant_id}`)
- SSE Remote with URL Templating (SSE with `{tenant_id}`)
- Local Server with URL Templating (Package with `{port}`)
- All examples validate via existing `validate-examples` tool

## Example: Remote Transport with Variables

```json
{
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://api.example.com/mcp/{tenant_id}/{region}",
      "variables": {
        "tenant_id": {
          "description": "Tenant identifier",
          "isRequired": true,
          "choices": ["us-cell1", "emea-cell1", "apac-cell1"]
        },
        "region": {
          "description": "Deployment region",
          "isRequired": true
        }
      }
    }
  ]
}
```

Clients configure the variables, and `{tenant_id}` and `{region}` get
replaced to connect to tenant-specific endpoints like
`https://api.example.com/mcp/us-cell1/east`.

## Architecture Details

**Context-based variable resolution:**
- **Package + LocalTransport**: `{port}` references `--port` argument or
`PORT` env var from parent Package
- **Remote + RemoteTransport**: `{tenant_id}` references
`variables.tenant_id` defined in the transport itself
- **Code reuse**: StreamableHttp/Sse definitions shared via `allOf`, not
duplicated
- **Validation**: Template variables validated against available
variables for each context

---

## Follow-on Work

Follow-on work will be done to adopt the feedback in
https://github.com/modelcontextprotocol/registry/pull/570#issuecomment-3367417636
regarding variable naming/prioritzation/scoping conventions, but should
not have any impact on the shape being introduced here (just
validations).

---------

Co-authored-by: yuna0x0 <yuna@yuna0x0.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Connor Peet <connor@peet.io>
2025-12-11 09:17:32 -08:00
Radoslav Dimitrov
bbbad1af1f
Update Goreleaser and Cosign (#839)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR bumps cosign and updates Goreleaser to reflect that.

Follows
https://goreleaser.com/blog/cosign-v3/#updating-your-goreleaser-configuration

<!-- 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>
2025-12-11 08:43:57 -08:00
Radoslav Dimitrov
c54a5ac277
Ensure tests are failing CI (#840) 2025-12-11 09:56:57 +02:00
Tadas Antanavicius
fdcb38537f
Update OpenAPI spec to use v0.1 endpoints and make _meta optional (#811)
Prepared by Claude Code, reviewed by me.

## Summary
- Update all API endpoint paths from `/v0/` to `/v0.1/` in the OpenAPI
spec
- Bump OpenAPI spec version from `2025-10-17` to `2025-12-01` (in `$id`
and `info.version`)

## Rationale
This ensures sub-registries implementing the spec are adhering to the
stable v0.1 version rather than the unstable v0. The API freeze (v0.1)
provides stability guarantees that sub-registries need.

## Additional cleanup

### Make `_meta` optional in `ServerResponse`

The `_meta` field (and its `io.modelcontextprotocol.registry/official`
extension) were never intended to be required parts of the spec.
Sub-registries may not use these registry-specific metadata fields, so
they should be optional.

### Move extensions docs to use /v0.1/ instead of /v0/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-10 23:58:01 +02:00
dependabot[bot]
b4e76845d5
build(deps): bump go.opentelemetry.io/otel/exporters/prometheus from 0.60.0 to 0.61.0 (#832)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps
[go.opentelemetry.io/otel/exporters/prometheus](https://github.com/open-telemetry/opentelemetry-go)
from 0.60.0 to 0.61.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go/releases">go.opentelemetry.io/otel/exporters/prometheus's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.38.0/v0.60.0/v0.14.0/v0.0.13</h2>
<h2>Overview</h2>
<p>This release is the last to support [Go 1.23]. The next release will
require at least [Go 1.24].</p>
<h3>Added</h3>
<ul>
<li>Add native histogram exemplar support in
<code>go.opentelemetry.io/otel/exporters/prometheus</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6772">#6772</a>)</li>
<li>Add template attribute functions to the
<code>go.opentelmetry.io/otel/semconv/v1.34.0</code> package. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6939">#6939</a>)
<ul>
<li><code>ContainerLabel</code></li>
<li><code>DBOperationParameter</code></li>
<li><code>DBSystemParameter</code></li>
<li><code>HTTPRequestHeader</code></li>
<li><code>HTTPResponseHeader</code></li>
<li><code>K8SCronJobAnnotation</code></li>
<li><code>K8SCronJobLabel</code></li>
<li><code>K8SDaemonSetAnnotation</code></li>
<li><code>K8SDaemonSetLabel</code></li>
<li><code>K8SDeploymentAnnotation</code></li>
<li><code>K8SDeploymentLabel</code></li>
<li><code>K8SJobAnnotation</code></li>
<li><code>K8SJobLabel</code></li>
<li><code>K8SNamespaceAnnotation</code></li>
<li><code>K8SNamespaceLabel</code></li>
<li><code>K8SNodeAnnotation</code></li>
<li><code>K8SNodeLabel</code></li>
<li><code>K8SPodAnnotation</code></li>
<li><code>K8SPodLabel</code></li>
<li><code>K8SReplicaSetAnnotation</code></li>
<li><code>K8SReplicaSetLabel</code></li>
<li><code>K8SStatefulSetAnnotation</code></li>
<li><code>K8SStatefulSetLabel</code></li>
<li><code>ProcessEnvironmentVariable</code></li>
<li><code>RPCConnectRPCRequestMetadata</code></li>
<li><code>RPCConnectRPCResponseMetadata</code></li>
<li><code>RPCGRPCRequestMetadata</code></li>
<li><code>RPCGRPCResponseMetadata</code></li>
</ul>
</li>
<li>Add <code>ErrorType</code> attribute helper function to the
<code>go.opentelmetry.io/otel/semconv/v1.34.0</code> package. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6962">#6962</a>)</li>
<li>Add <code>WithAllowKeyDuplication</code> in
<code>go.opentelemetry.io/otel/sdk/log</code> which can be used to
disable deduplication for log records. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6968">#6968</a>)</li>
<li>Add <code>WithCardinalityLimit</code> option to configure the
cardinality limit in <code>go.opentelemetry.io/otel/sdk/metric</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6996">#6996</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7065">#7065</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7081">#7081</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7164">#7164</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7165">#7165</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7179">#7179</a>)</li>
<li>Add <code>Clone</code> method to <code>Record</code> in
<code>go.opentelemetry.io/otel/log</code> that returns a copy of the
record with no shared state. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7001">#7001</a>)</li>
<li>Add experimental self-observability span and batch span processor
metrics in <code>go.opentelemetry.io/otel/sdk/trace</code>. Check the
<code>go.opentelemetry.io/otel/sdk/trace/internal/x</code> package
documentation for more information. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7027">#7027</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6393">#6393</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7209">#7209</a>)</li>
<li>The <code>go.opentelemetry.io/otel/semconv/v1.36.0</code> package.
The package contains semantic conventions from the <code>v1.36.0</code>
version of the OpenTelemetry Semantic Conventions. See the <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/HEAD/semconv/v1.36.0/MIGRATION.md">migration
documentation</a> for information on how to upgrade from
<code>go.opentelemetry.io/otel/semconv/v1.34.0.</code>(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7032">#7032</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7041">#7041</a>)</li>
<li>Add support for configuring Prometheus name translation using
<code>WithTranslationStrategy</code> option in
<code>go.opentelemetry.io/otel/exporters/prometheus</code>. The current
default translation strategy when UTF-8 mode is enabled is
<code>NoUTF8EscapingWithSuffixes</code>, but a future release will
change the default strategy to
<code>UnderscoreEscapingWithSuffixes</code> for compliance with the
specification. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7111">#7111</a>)</li>
<li>Add experimental self-observability log metrics in
<code>go.opentelemetry.io/otel/sdk/log</code>. Check the
<code>go.opentelemetry.io/otel/sdk/log/internal/x</code> package
documentation for more information. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7121">#7121</a>)</li>
<li>Add experimental self-observability trace exporter metrics in
<code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>.
Check the
<code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/x</code>
package documentation for more information. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7133">#7133</a>)</li>
<li>Support testing of [Go 1.25]. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7187">#7187</a>)</li>
<li>The <code>go.opentelemetry.io/otel/semconv/v1.37.0</code> package.
The package contains semantic conventions from the <code>v1.37.0</code>
version of the OpenTelemetry Semantic Conventions. See the <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/HEAD/semconv/v1.37.0/MIGRATION.md">migration
documentation</a> for information on how to upgrade from
<code>go.opentelemetry.io/otel/semconv/v1.36.0.</code>(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7254">#7254</a>)</li>
</ul>
<h3>Changed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/exporters/prometheus's
changelog</a>.</em></p>
<blockquote>
<h2>[1.39.0/0.61.0/0.15.0/0.0.14] 2025-12-05</h2>
<h3>Added</h3>
<ul>
<li>Greatly reduce the cost of recording metrics in
<code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map
keys. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li>
<li>Add <code>WithInstrumentationAttributeSet</code> option to
<code>go.opentelemetry.io/otel/log</code>,
<code>go.opentelemetry.io/otel/metric</code>, and
<code>go.opentelemetry.io/otel/trace</code> packages.
This provides a concurrent-safe and performant alternative to
<code>WithInstrumentationAttributes</code> by accepting a
pre-constructed <code>attribute.Set</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li>
<li>Add experimental observability for the Prometheus exporter in
<code>go.opentelemetry.io/otel/exporters/prometheus</code>.
Check the
<code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code>
package documentation for more information. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li>
<li>Add temporality selector functions
<code>DeltaTemporalitySelector</code>,
<code>CumulativeTemporalitySelector</code>,
<code>LowMemoryTemporalitySelector</code> to
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li>
<li>Add experimental observability metrics for simple log processor in
<code>go.opentelemetry.io/otel/sdk/log</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li>
<li>Add experimental observability metrics for simple span processor in
<code>go.opentelemetry.io/otel/sdk/trace</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li>
<li>Add experimental observability metrics for manual reader in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li>
<li>Add experimental observability metrics for periodic reader in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li>
<li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and
<code>OTEL_EXPORTER_OTLP_INSECURE</code> environmental variables in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7608">#7608</a>)</li>
<li>Add <code>Enabled</code> method to the <code>Processor</code>
interface in <code>go.opentelemetry.io/otel/sdk/log</code>.
All <code>Processor</code> implementations now include an
<code>Enabled</code> method. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li>
<li>The <code>go.opentelemetry.io/otel/semconv/v1.38.0</code> package.
The package contains semantic conventions from the <code>v1.38.0</code>
version of the OpenTelemetry Semantic Conventions.
See the <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.38.0/MIGRATION.md">migration
documentation</a> for information on how to upgrade from
<code>go.opentelemetry.io/otel/semconv/v1.37.0.</code>(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7648">#7648</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>Distinct</code> in
<code>go.opentelemetry.io/otel/attribute</code> is no longer guaranteed
to uniquely identify an attribute set.
Collisions between <code>Distinct</code> values for different Sets are
possible with extremely high cardinality (billions of series per
instrument), but are highly unlikely. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/trace</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>TracerOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/meter</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>MeterOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/log</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>LoggerOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li>Rename the <code>OTEL_GO_X_SELF_OBSERVABILITY</code> environment
variable to <code>OTEL_GO_X_OBSERVABILITY</code> in
<code>go.opentelemetry.io/otel/sdk/trace</code>,
<code>go.opentelemetry.io/otel/sdk/log</code>, and
<code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7302">#7302</a>)</li>
<li>Improve performance of histogram <code>Record</code> in
<code>go.opentelemetry.io/otel/sdk/metric</code> when min and max are
disabled using <code>NoMinMax</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7306">#7306</a>)</li>
<li>Improve error handling for dropped data during translation by using
<code>prometheus.NewInvalidMetric</code> in
<code>go.opentelemetry.io/otel/exporters/prometheus</code>.
⚠️ <strong>Breaking Change:</strong> Previously, these cases were only
logged and scrapes succeeded.
Now, when translation would drop data (e.g., invalid label/value), the
exporter emits a <code>NewInvalidMetric</code>, and Prometheus scrapes
<strong>fail with HTTP 500</strong> by default.
To preserve the prior behavior (scrapes succeed while errors are
logged), configure your Prometheus HTTP handler with:
<code>promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError
}</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7363">#7363</a>)</li>
<li>Replace fnv hash with xxhash in
<code>go.opentelemetry.io/otel/attribute</code> for better performance.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7371">#7371</a>)</li>
<li>The default <code>TranslationStrategy</code> in
<code>go.opentelemetry.io/exporters/prometheus</code> is changed from
<code>otlptranslator.NoUTF8EscapingWithSuffixes</code> to
<code>otlptranslator.UnderscoreEscapingWithSuffixes</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7421">#7421</a>)</li>
<li>Improve performance of concurrent measurements in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7427">#7427</a>)</li>
<li>Include W3C TraceFlags (bits 0–7) in the OTLP
<code>Span.Flags</code> field in
<code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp</code>
and
<code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7438">#7438</a>)</li>
<li>The <code>ErrorType</code> function in
<code>go.opentelemetry.io/otel/semconv/v1.37.0</code> now handles custom
error types.
If an error implements an <code>ErrorType() string</code> method, the
return value of that method will be used as the error type. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7442">#7442</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix <code>WithInstrumentationAttributes</code> options in
<code>go.opentelemetry.io/otel/trace</code>,
<code>go.opentelemetry.io/otel/metric</code>, and
<code>go.opentelemetry.io/otel/log</code> to properly merge attributes
when passed multiple times instead of replacing them.
Attributes with duplicate keys will use the last value passed. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7300">#7300</a>)</li>
<li>The equality of <code>attribute.Set</code> when using the
<code>Equal</code> method is not affected by the user overriding the
empty set pointed to by <code>attribute.EmptySet</code> in
<code>go.opentelemetry.io/otel/attribute</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7357">#7357</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6ce14298b9"><code>6ce1429</code></a>
Release v1.39.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7676">#7676</a>)</li>
<li><a
href="12e421a706"><code>12e421a</code></a>
sdk/log: move Enabled method from FilterProcessor to Processor (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li>
<li><a
href="5982f16d24"><code>5982f16</code></a>
fix(deps): update module golang.org/x/sys to v0.39.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7684">#7684</a>)</li>
<li><a
href="928837830d"><code>9288378</code></a>
chore(deps): update module golang.org/x/sync to v0.19.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7683">#7683</a>)</li>
<li><a
href="ee3dfef45d"><code>ee3dfef</code></a>
chore(deps): update github.com/securego/gosec/v2 digest to 41f28e2 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7682">#7682</a>)</li>
<li><a
href="9345d1f64d"><code>9345d1f</code></a>
fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.7.2
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7680">#7680</a>)</li>
<li><a
href="d03b03395d"><code>d03b033</code></a>
Check context prior to delaying retry in OTLP exporters (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7678">#7678</a>)</li>
<li><a
href="61765e78a6"><code>61765e7</code></a>
Fix flaky <code>TestClientInstrumentation</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7677">#7677</a>)</li>
<li><a
href="a54721cc80"><code>a54721c</code></a>
chore(deps): update module github.com/go-git/go-billy/v5 to v5.7.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7679">#7679</a>)</li>
<li><a
href="746d0860d7"><code>746d086</code></a>
chore(deps): update github/codeql-action action to v4.31.7 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7675">#7675</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-go/compare/exporters/prometheus/v0.60.0...exporters/prometheus/v0.61.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=go.opentelemetry.io/otel/exporters/prometheus&package-manager=go_modules&previous-version=0.60.0&new-version=0.61.0)](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>
2025-12-10 23:57:22 +02:00
dependabot[bot]
1be2f4edbb
build(deps): bump go.opentelemetry.io/contrib/instrumentation/runtime from 0.63.0 to 0.64.0 (#835)
Bumps
[go.opentelemetry.io/contrib/instrumentation/runtime](https://github.com/open-telemetry/opentelemetry-go-contrib)
from 0.63.0 to 0.64.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go-contrib/releases">go.opentelemetry.io/contrib/instrumentation/runtime's
releases</a>.</em></p>
<blockquote>
<h2>Release
v1.39.0/v2.1.0/v0.64.0/v0.33.0/v0.19.0/v0.14.0/v0.12.0/v0.11.0</h2>
<h2>Overview</h2>
<h3>Added</h3>
<ul>
<li><code>ParseYAML</code> in
<code>go.opentelemetry.io/contrib/otelconf</code> now supports
environment variables substitution in the format
<code>${[env:]VAR_NAME[:-defaultvalue]}</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/6215">#6215</a>)</li>
<li>Add the <code>http.route</code> metric attribute to
<code>go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7966">#7966</a>)</li>
<li>Support <code>db.client.operation.duration</code> metric for
<code>go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7983">#7983</a>)</li>
<li>Add a <code>WithSpanNameFormatter</code> option to
<code>go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7986">#7986</a>)</li>
<li>WithOnError option for otelecho middleware in
<code>go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho</code>
to specify the behavior when an error occurs. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8025">#8025</a>)</li>
<li>Updated <code>go.opentelemetry.io/contrib/otelconf</code> to include
the <a
href="https://github.com/open-telemetry/opentelemetry-configuration/releases/tag/v1.0.0-rc.2">v1.0.0-rc2</a>
release candidate of schema which includes backwards incompatible
changes. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8026">#8026</a>)</li>
<li>Introduce v1.0.0-rc.2 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8031">#8031</a>)</li>
<li>Add unmarshaling and validation for <code>CardinalityLimits</code>
and <code>SpanLimits</code> to v1.0.0 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8043">#8043</a>)</li>
<li>Add unmarshaling and validation for
<code>BatchLogRecordProcessor</code>, <code>BatchSpanProcessor</code>,
and <code>PeriodicMetricReader</code> to v1.0.0 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8049">#8049</a>)</li>
<li>Add unmarshaling and validation for <code>TextMapPropagator</code>
to v1.0.0 model in <code>go.opentelemetry.io/contrib/otelconf</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8052">#8052</a>)</li>
<li>Add
<code>jaeger.sampler.type</code>/<code>jaeger.sampler.param</code>
attributes for adaptive sampling support and option
<code>WithAttributesDisabled</code> in
<code>go.opentelemetry.io/contrib/samplers/jaegerremote</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8073">#8073</a>)</li>
<li>Add support for <code>OTEL_EXPERIMENTAL_CONFIG_FILE</code> via the
<code>NewSDK</code> function in
<code>go.opentelemetry.io/contrib/otelconf</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8106">#8106</a>)</li>
<li>Add unmarshaling and validation for <code>OTLPHttpExporter</code>,
<code>OTLPGrpcExporter</code>, <code>OTLPGrpcMetricExporter</code> and
<code>OTLPHttpMetricExporter</code> to v1.0.0 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8112">#8112</a>)</li>
<li>Add unmarshaling and validation for <code>AttributeType</code>,
<code>AttributeNameValue</code>, <code>SimpleSpanProcessor</code>,
<code>SimpleLogRecordProcessor</code>, <code>ZipkinSpanExporter</code>,
<code>NameStringValuePair</code>, <code>InstrumentType</code>,
<code>ExperimentalPeerInstrumentationServiceMappingElem</code>,
<code>ExporterDefaultHistogramAggregation</code>,
<code>PullMetricReader</code> to v1.0.0 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8127">#8127</a>)</li>
<li>Add support for <code>container</code>, <code>host</code>,
<code>process</code> resource detectors in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8180">#8180</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Improve performance by reducing allocations in the gRPC stats
handler in
<code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8035">#8035</a>)</li>
<li>Export the <code>ReadEvents</code> and <code>WriteEvents</code>
constants in
<code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>
so they can be used in <code>WithMessageEvents</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8153">#8153</a>)</li>
<li>Switched the default for <code>OTEL_SEMCONV_STABILITY_OPT_IN</code>
to emit the v1.37.0 semantic conventions by default in
<code>go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo</code>.
Use the environment variable <code>OTEL_SEMCONV_STABILITY_OPT_IN</code>
to configure duplication with old semantic conventions if needed (i.e.
<code>OTEL_SEMCONV_STABILITY_OPT_IN=&quot;database/dup&quot;</code>).
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8230">#8230</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li><code>WithRouteTag</code> in
<code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>
is deprecated. The route is already added automatically for spans. For
metrics, the alternative is to use the
<code>WithMetricAttributesFn</code> option. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8117">#8117</a>)</li>
<li><code>WithPublicEndpoint</code> in
<code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>
is deprecated. Use <code>WithPublicEndpointFn</code> instead. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8152">#8152</a>)</li>
<li><code>DefaultClient</code>, <code>Get</code>, <code>Head</code>,
<code>Post</code>, and <code>PostForm</code> in
<code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>
are deprecated. Use a custom <code>*http.Client</code> with
<code>otelhttp.NewTransport(http.DefaultTransport)</code> instead. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8140">#8140</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8201">#8201</a>)</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Drop support for <a href="https://go.dev/doc/go1.23">Go 1.23</a>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7831">#7831</a>)</li>
<li>Remove deprecated
<code>go.opentelemetry.io/contrib/detectors/aws/ec2</code> module,
please use <code>go.opentelemetry.io/contrib/detectors/aws/ec2/v2</code>
instead. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7841">#7841</a>)</li>
<li>Remove the deprecated <code>Extract</code> and <code>Inject</code>
functions from
<code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7952">#7952</a>)</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update go-openapi packages by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/7830">open-telemetry/opentelemetry-go-contrib#7830</a></li>
<li>chore(deps): update module github.com/spf13/pflag to v1.0.9 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/7833">open-telemetry/opentelemetry-go-contrib#7833</a></li>
<li>fix(deps): update module github.com/shirou/gopsutil/v4 to v4.25.8 by
<a href="https://github.com/renovate"><code>@​renovate</code></a>[bot]
in <a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/7834">open-telemetry/opentelemetry-go-contrib#7834</a></li>
<li>Remove support for Go 1.23 by <a
href="https://github.com/MrAlias"><code>@​MrAlias</code></a> in <a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/7831">open-telemetry/opentelemetry-go-contrib#7831</a></li>
<li>fix(deps): update golang.org/x by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/7733">open-telemetry/opentelemetry-go-contrib#7733</a></li>
<li>chore(deps): update googleapis to ef028d9 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/7835">open-telemetry/opentelemetry-go-contrib#7835</a></li>
<li>chore(deps): update module github.com/securego/gosec/v2 to v2.22.8
by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/7836">open-telemetry/opentelemetry-go-contrib#7836</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md">go.opentelemetry.io/contrib/instrumentation/runtime's
changelog</a>.</em></p>
<blockquote>
<h2>[1.39.0/2.1.0/0.64.0/0.33.0/0.19.0/0.14.0/0.12.0/0.11.0] -
2025-12-08</h2>
<h3>Added</h3>
<ul>
<li><code>ParseYAML</code> in
<code>go.opentelemetry.io/contrib/otelconf</code> now supports
environment variables substitution in the format
<code>${[env:]VAR_NAME[:-defaultvalue]}</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/6215">#6215</a>)</li>
<li>Add the <code>http.route</code> metric attribute to
<code>go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7966">#7966</a>)</li>
<li>Support <code>db.client.operation.duration</code> metric for
<code>go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7983">#7983</a>)</li>
<li>Add a <code>WithSpanNameFormatter</code> option to
<code>go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7986">#7986</a>)</li>
<li>WithOnError option for otelecho middleware in
<code>go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho</code>
to specify the behavior when an error occurs. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8025">#8025</a>)</li>
<li>Updated <code>go.opentelemetry.io/contrib/otelconf</code> to include
the <a
href="https://github.com/open-telemetry/opentelemetry-configuration/releases/tag/v1.0.0-rc.2">v1.0.0-rc2</a>
release candidate of schema which includes backwards incompatible
changes. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8026">#8026</a>)</li>
<li>Introduce v1.0.0-rc.2 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8031">#8031</a>)</li>
<li>Add unmarshaling and validation for <code>CardinalityLimits</code>
and <code>SpanLimits</code> to v1.0.0 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8043">#8043</a>)</li>
<li>Add unmarshaling and validation for
<code>BatchLogRecordProcessor</code>, <code>BatchSpanProcessor</code>,
and <code>PeriodicMetricReader</code> to v1.0.0 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8049">#8049</a>)</li>
<li>Add unmarshaling and validation for <code>TextMapPropagator</code>
to v1.0.0 model in <code>go.opentelemetry.io/contrib/otelconf</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8052">#8052</a>)</li>
<li>Add
<code>jaeger.sampler.type</code>/<code>jaeger.sampler.param</code>
attributes for adaptive sampling support and option
<code>WithAttributesDisabled</code> in
<code>go.opentelemetry.io/contrib/samplers/jaegerremote</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8073">#8073</a>)</li>
<li>Add support for <code>OTEL_EXPERIMENTAL_CONFIG_FILE</code> via the
<code>NewSDK</code> function in
<code>go.opentelemetry.io/contrib/otelconf</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8106">#8106</a>)</li>
<li>Add unmarshaling and validation for <code>OTLPHttpExporter</code>,
<code>OTLPGrpcExporter</code>, <code>OTLPGrpcMetricExporter</code> and
<code>OTLPHttpMetricExporter</code> to v1.0.0 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8112">#8112</a>)</li>
<li>Add unmarshaling and validation for <code>AttributeType</code>,
<code>AttributeNameValue</code>, <code>SimpleSpanProcessor</code>,
<code>SimpleLogRecordProcessor</code>, <code>ZipkinSpanExporter</code>,
<code>NameStringValuePair</code>, <code>InstrumentType</code>,
<code>ExperimentalPeerInstrumentationServiceMappingElem</code>,
<code>ExporterDefaultHistogramAggregation</code>,
<code>PullMetricReader</code> to v1.0.0 model in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8127">#8127</a>)</li>
<li>Add support for <code>container</code>, <code>host</code>,
<code>process</code> resource detectors in
<code>go.opentelemetry.io/contrib/otelconf</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8180">#8180</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Improve performance by reducing allocations in the gRPC stats
handler in
<code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8035">#8035</a>)</li>
<li>Export the <code>ReadEvents</code> and <code>WriteEvents</code>
constants in
<code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>
so they can be used in <code>WithMessageEvents</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8153">#8153</a>)</li>
<li>Switched the default for <code>OTEL_SEMCONV_STABILITY_OPT_IN</code>
to emit the v1.37.0 semantic conventions by default in
<code>go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo</code>.
Use the environment variable <code>OTEL_SEMCONV_STABILITY_OPT_IN</code>
to configure duplication with old semantic conventions if needed (i.e.
<code>OTEL_SEMCONV_STABILITY_OPT_IN=&quot;database/dup&quot;</code>).
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8230">#8230</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li><code>WithRouteTag</code> in
<code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>
is deprecated.
The route is already added automatically for spans.
For metrics, the alternative is to use the
<code>WithMetricAttributesFn</code> option. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8117">#8117</a>)</li>
<li><code>WithPublicEndpoint</code> in
<code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>
is deprecated.
Use <code>WithPublicEndpointFn</code> instead. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8152">#8152</a>)</li>
<li><code>DefaultClient</code>, <code>Get</code>, <code>Head</code>,
<code>Post</code>, and <code>PostForm</code> in
<code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>
are deprecated.
Use a custom <code>*http.Client</code> with
<code>otelhttp.NewTransport(http.DefaultTransport)</code> instead. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8140">#8140</a>,
<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8201">#8201</a>)</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Drop support for [Go 1.23]. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7831">#7831</a>)</li>
<li>Remove deprecated
<code>go.opentelemetry.io/contrib/detectors/aws/ec2</code> module,
please use <code>go.opentelemetry.io/contrib/detectors/aws/ec2/v2</code>
instead. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7841">#7841</a>)</li>
<li>Remove the deprecated <code>Extract</code> and <code>Inject</code>
functions from
<code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7952">#7952</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9a6a4d7dec"><code>9a6a4d7</code></a>
Release v1.39.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8261">#8261</a>)</li>
<li><a
href="14c6a7a655"><code>14c6a7a</code></a>
chore(deps): update module golang.org/x/sys to v0.39.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8260">#8260</a>)</li>
<li><a
href="829f498cc4"><code>829f498</code></a>
chore(deps): update module golang.org/x/sync to v0.19.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8259">#8259</a>)</li>
<li><a
href="a77cddabf6"><code>a77cdda</code></a>
chore(deps): update module golang.org/x/oauth2 to v0.34.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8257">#8257</a>)</li>
<li><a
href="a98be56f37"><code>a98be56</code></a>
chore(deps): update module github.com/go-git/go-billy/v5 to v5.7.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8255">#8255</a>)</li>
<li><a
href="4385fbc6db"><code>4385fbc</code></a>
chore(deps): update github/codeql-action action to v4.31.7 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8253">#8253</a>)</li>
<li><a
href="3c3e7b27af"><code>3c3e7b2</code></a>
otelconf: add support for parsing resource detectors (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8180">#8180</a>)</li>
<li><a
href="6497853d28"><code>6497853</code></a>
otelconf: add support for OTEL_EXPERIMENTAL_CONFIG_FILE (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8106">#8106</a>)</li>
<li><a
href="3f4d49c3db"><code>3f4d49c</code></a>
Fix flaky canceled context in otelconf/trace test (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8250">#8250</a>)</li>
<li><a
href="3ce5839c96"><code>3ce5839</code></a>
fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.7.1
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8252">#8252</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.63.0...zpages/v0.64.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=go.opentelemetry.io/contrib/instrumentation/runtime&package-manager=go_modules&previous-version=0.63.0&new-version=0.64.0)](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>
2025-12-10 23:56:56 +02:00
adam jones
dcb5a6f696
Add 5s timeout to DNS auth lookup to prevent resource exhaustion (#825)
The DNS auth endpoint was vulnerable to resource exhaustion if an
attacker controlled a domain with a slow/non-responding authoritative
DNS server. Without a timeout, handler goroutines would block on DNS
resolution indefinitely, allowing an attacker to pile up goroutines
until OOM.

Production is protected by NGINX ingress's default 60s proxy timeout,
but this adds defense-in-depth with a tighter 5s bound.
2025-12-10 16:22:27 +00:00
dependabot[bot]
d840378a3a
build(deps): bump go.opentelemetry.io/otel from 1.38.0 to 1.39.0 (#829)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps
[go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go)
from 1.38.0 to 1.39.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go/releases">go.opentelemetry.io/otel's
releases</a>.</em></p>
<blockquote>
<h2>v1.39.0</h2>
<h2>Overview</h2>
<h3>Added</h3>
<ul>
<li>Greatly reduce the cost of recording metrics in
<code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map
keys. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li>
<li>Add <code>WithInstrumentationAttributeSet</code> option to
<code>go.opentelemetry.io/otel/log</code>,
<code>go.opentelemetry.io/otel/metric</code>, and
<code>go.opentelemetry.io/otel/trace</code> packages. This provides a
concurrent-safe and performant alternative to
<code>WithInstrumentationAttributes</code> by accepting a
pre-constructed <code>attribute.Set</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li>
<li>Add experimental observability for the Prometheus exporter in
<code>go.opentelemetry.io/otel/exporters/prometheus</code>. Check the
<code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code>
package documentation for more information. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li>
<li>Add temporality selector functions
<code>DeltaTemporalitySelector</code>,
<code>CumulativeTemporalitySelector</code>,
<code>LowMemoryTemporalitySelector</code> to
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li>
<li>Add experimental observability metrics for simple log processor in
<code>go.opentelemetry.io/otel/sdk/log</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li>
<li>Add experimental observability metrics for simple span processor in
<code>go.opentelemetry.io/otel/sdk/trace</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li>
<li>Add experimental observability metrics for manual reader in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li>
<li>Add experimental observability metrics for periodic reader in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li>
<li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and
<code>OTEL_EXPORTER_OTLP_INSECURE</code> environmental variables in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7608">#7608</a>)</li>
<li>Add <code>Enabled</code> method to the <code>Processor</code>
interface in <code>go.opentelemetry.io/otel/sdk/log</code>. All
<code>Processor</code> implementations now include an
<code>Enabled</code> method. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li>
<li>The <code>go.opentelemetry.io/otel/semconv/v1.38.0</code> package.
The package contains semantic conventions from the <code>v1.38.0</code>
version of the OpenTelemetry Semantic Conventions. See the <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/HEAD/semconv/v1.38.0/MIGRATION.md">migration
documentation</a> for information on how to upgrade from
<code>go.opentelemetry.io/otel/semconv/v1.37.0.</code>(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7648">#7648</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>Distinct</code> in
<code>go.opentelemetry.io/otel/attribute</code> is no longer guaranteed
to uniquely identify an attribute set. Collisions between
<code>Distinct</code> values for different Sets are possible with
extremely high cardinality (billions of series per instrument), but are
highly unlikely. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/trace</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>TracerOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/meter</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>MeterOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/log</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>LoggerOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li>Rename the <code>OTEL_GO_X_SELF_OBSERVABILITY</code> environment
variable to <code>OTEL_GO_X_OBSERVABILITY</code> in
<code>go.opentelemetry.io/otel/sdk/trace</code>,
<code>go.opentelemetry.io/otel/sdk/log</code>, and
<code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7302">#7302</a>)</li>
<li>Improve performance of histogram <code>Record</code> in
<code>go.opentelemetry.io/otel/sdk/metric</code> when min and max are
disabled using <code>NoMinMax</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7306">#7306</a>)</li>
<li>Improve error handling for dropped data during translation by using
<code>prometheus.NewInvalidMetric</code> in
<code>go.opentelemetry.io/otel/exporters/prometheus</code>. ⚠️
<strong>Breaking Change:</strong> Previously, these cases were only
logged and scrapes succeeded. Now, when translation would drop data
(e.g., invalid label/value), the exporter emits a
<code>NewInvalidMetric</code>, and Prometheus scrapes <strong>fail with
HTTP 500</strong> by default. To preserve the prior behavior (scrapes
succeed while errors are logged), configure your Prometheus HTTP handler
with: <code>promhttp.HandlerOpts{ ErrorHandling:
promhttp.ContinueOnError }</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7363">#7363</a>)</li>
<li>Replace fnv hash with xxhash in
<code>go.opentelemetry.io/otel/attribute</code> for better performance.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7371">#7371</a>)</li>
<li>The default <code>TranslationStrategy</code> in
<code>go.opentelemetry.io/exporters/prometheus</code> is changed from
<code>otlptranslator.NoUTF8EscapingWithSuffixes</code> to
<code>otlptranslator.UnderscoreEscapingWithSuffixes</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7421">#7421</a>)</li>
<li>Improve performance of concurrent measurements in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7427">#7427</a>)</li>
<li>Include W3C TraceFlags (bits 0–7) in the OTLP
<code>Span.Flags</code> field in
<code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp</code>
and
<code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7438">#7438</a>)</li>
<li>The <code>ErrorType</code> function in
<code>go.opentelemetry.io/otel/semconv/v1.37.0</code> now handles custom
error types.
If an error implements an <code>ErrorType() string</code> method, the
return value of that method will be used as the error type. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7442">#7442</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix <code>WithInstrumentationAttributes</code> options in
<code>go.opentelemetry.io/otel/trace</code>,
<code>go.opentelemetry.io/otel/metric</code>, and
<code>go.opentelemetry.io/otel/log</code> to properly merge attributes
when passed multiple times instead of replacing them. Attributes with
duplicate keys will use the last value passed. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7300">#7300</a>)</li>
<li>The equality of <code>attribute.Set</code> when using the
<code>Equal</code> method is not affected by the user overriding the
empty set pointed to by <code>attribute.EmptySet</code> in
<code>go.opentelemetry.io/otel/attribute</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7357">#7357</a>)</li>
<li>Return partial OTLP export errors to the caller in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li>
<li>Return partial OTLP export errors to the caller in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li>
<li>Return partial OTLP export errors to the caller in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li>
<li>Return partial OTLP export errors to the caller in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li>
<li>Return partial OTLP export errors to the caller in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li>
<li>Return partial OTLP export errors to the caller in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li>
<li>Fix <code>AddAttributes</code>, <code>SetAttributes</code>,
<code>SetBody</code> on <code>Record</code> in
<code>go.opentelemetry.io/otel/sdk/log</code> to not mutate input. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7403">#7403</a>)</li>
<li>Do not double record measurements of <code>RecordSet</code> methods
in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7655">#7655</a>)</li>
<li>Do not double record measurements of <code>RecordSet</code> methods
in <code>go.opentelemetry.io/otel/semconv/v1.36.0</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7656">#7656</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel's
changelog</a>.</em></p>
<blockquote>
<h2>[1.39.0/0.61.0/0.15.0/0.0.14] 2025-12-05</h2>
<h3>Added</h3>
<ul>
<li>Greatly reduce the cost of recording metrics in
<code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map
keys. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li>
<li>Add <code>WithInstrumentationAttributeSet</code> option to
<code>go.opentelemetry.io/otel/log</code>,
<code>go.opentelemetry.io/otel/metric</code>, and
<code>go.opentelemetry.io/otel/trace</code> packages.
This provides a concurrent-safe and performant alternative to
<code>WithInstrumentationAttributes</code> by accepting a
pre-constructed <code>attribute.Set</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li>
<li>Add experimental observability for the Prometheus exporter in
<code>go.opentelemetry.io/otel/exporters/prometheus</code>.
Check the
<code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code>
package documentation for more information. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li>
<li>Add temporality selector functions
<code>DeltaTemporalitySelector</code>,
<code>CumulativeTemporalitySelector</code>,
<code>LowMemoryTemporalitySelector</code> to
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li>
<li>Add experimental observability metrics for simple log processor in
<code>go.opentelemetry.io/otel/sdk/log</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li>
<li>Add experimental observability metrics for simple span processor in
<code>go.opentelemetry.io/otel/sdk/trace</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li>
<li>Add experimental observability metrics in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li>
<li>Add experimental observability metrics for manual reader in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li>
<li>Add experimental observability metrics for periodic reader in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li>
<li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and
<code>OTEL_EXPORTER_OTLP_INSECURE</code> environmental variables in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7608">#7608</a>)</li>
<li>Add <code>Enabled</code> method to the <code>Processor</code>
interface in <code>go.opentelemetry.io/otel/sdk/log</code>.
All <code>Processor</code> implementations now include an
<code>Enabled</code> method. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li>
<li>The <code>go.opentelemetry.io/otel/semconv/v1.38.0</code> package.
The package contains semantic conventions from the <code>v1.38.0</code>
version of the OpenTelemetry Semantic Conventions.
See the <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.38.0/MIGRATION.md">migration
documentation</a> for information on how to upgrade from
<code>go.opentelemetry.io/otel/semconv/v1.37.0.</code>(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7648">#7648</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>Distinct</code> in
<code>go.opentelemetry.io/otel/attribute</code> is no longer guaranteed
to uniquely identify an attribute set.
Collisions between <code>Distinct</code> values for different Sets are
possible with extremely high cardinality (billions of series per
instrument), but are highly unlikely. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/trace</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>TracerOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/meter</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>MeterOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li><code>WithInstrumentationAttributes</code> in
<code>go.opentelemetry.io/otel/log</code> synchronously de-duplicates
the passed attributes instead of delegating it to the returned
<code>LoggerOption</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li>
<li>Rename the <code>OTEL_GO_X_SELF_OBSERVABILITY</code> environment
variable to <code>OTEL_GO_X_OBSERVABILITY</code> in
<code>go.opentelemetry.io/otel/sdk/trace</code>,
<code>go.opentelemetry.io/otel/sdk/log</code>, and
<code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7302">#7302</a>)</li>
<li>Improve performance of histogram <code>Record</code> in
<code>go.opentelemetry.io/otel/sdk/metric</code> when min and max are
disabled using <code>NoMinMax</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7306">#7306</a>)</li>
<li>Improve error handling for dropped data during translation by using
<code>prometheus.NewInvalidMetric</code> in
<code>go.opentelemetry.io/otel/exporters/prometheus</code>.
⚠️ <strong>Breaking Change:</strong> Previously, these cases were only
logged and scrapes succeeded.
Now, when translation would drop data (e.g., invalid label/value), the
exporter emits a <code>NewInvalidMetric</code>, and Prometheus scrapes
<strong>fail with HTTP 500</strong> by default.
To preserve the prior behavior (scrapes succeed while errors are
logged), configure your Prometheus HTTP handler with:
<code>promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError
}</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7363">#7363</a>)</li>
<li>Replace fnv hash with xxhash in
<code>go.opentelemetry.io/otel/attribute</code> for better performance.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7371">#7371</a>)</li>
<li>The default <code>TranslationStrategy</code> in
<code>go.opentelemetry.io/exporters/prometheus</code> is changed from
<code>otlptranslator.NoUTF8EscapingWithSuffixes</code> to
<code>otlptranslator.UnderscoreEscapingWithSuffixes</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7421">#7421</a>)</li>
<li>Improve performance of concurrent measurements in
<code>go.opentelemetry.io/otel/sdk/metric</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7427">#7427</a>)</li>
<li>Include W3C TraceFlags (bits 0–7) in the OTLP
<code>Span.Flags</code> field in
<code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp</code>
and
<code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7438">#7438</a>)</li>
<li>The <code>ErrorType</code> function in
<code>go.opentelemetry.io/otel/semconv/v1.37.0</code> now handles custom
error types.
If an error implements an <code>ErrorType() string</code> method, the
return value of that method will be used as the error type. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7442">#7442</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix <code>WithInstrumentationAttributes</code> options in
<code>go.opentelemetry.io/otel/trace</code>,
<code>go.opentelemetry.io/otel/metric</code>, and
<code>go.opentelemetry.io/otel/log</code> to properly merge attributes
when passed multiple times instead of replacing them.
Attributes with duplicate keys will use the last value passed. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7300">#7300</a>)</li>
<li>The equality of <code>attribute.Set</code> when using the
<code>Equal</code> method is not affected by the user overriding the
empty set pointed to by <code>attribute.EmptySet</code> in
<code>go.opentelemetry.io/otel/attribute</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7357">#7357</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6ce14298b9"><code>6ce1429</code></a>
Release v1.39.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7676">#7676</a>)</li>
<li><a
href="12e421a706"><code>12e421a</code></a>
sdk/log: move Enabled method from FilterProcessor to Processor (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li>
<li><a
href="5982f16d24"><code>5982f16</code></a>
fix(deps): update module golang.org/x/sys to v0.39.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7684">#7684</a>)</li>
<li><a
href="928837830d"><code>9288378</code></a>
chore(deps): update module golang.org/x/sync to v0.19.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7683">#7683</a>)</li>
<li><a
href="ee3dfef45d"><code>ee3dfef</code></a>
chore(deps): update github.com/securego/gosec/v2 digest to 41f28e2 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7682">#7682</a>)</li>
<li><a
href="9345d1f64d"><code>9345d1f</code></a>
fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.7.2
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7680">#7680</a>)</li>
<li><a
href="d03b03395d"><code>d03b033</code></a>
Check context prior to delaying retry in OTLP exporters (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7678">#7678</a>)</li>
<li><a
href="61765e78a6"><code>61765e7</code></a>
Fix flaky <code>TestClientInstrumentation</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7677">#7677</a>)</li>
<li><a
href="a54721cc80"><code>a54721c</code></a>
chore(deps): update module github.com/go-git/go-billy/v5 to v5.7.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7679">#7679</a>)</li>
<li><a
href="746d0860d7"><code>746d086</code></a>
chore(deps): update github/codeql-action action to v4.31.7 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7675">#7675</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.38.0...v1.39.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=go.opentelemetry.io/otel&package-manager=go_modules&previous-version=1.38.0&new-version=1.39.0)](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>
2025-12-09 11:54:52 -08:00
dependabot[bot]
b63a5d7f3f
build(deps): bump golang.org/x/mod from 0.30.0 to 0.31.0 (#831)
Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.30.0 to
0.31.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d271cf332f"><code>d271cf3</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="269c237cf3"><code>269c237</code></a>
sumdb/note: delete chop</li>
<li><a
href="3f03020ad5"><code>3f03020</code></a>
x/mod: apply go fix and go vet</li>
<li>See full diff in <a
href="https://github.com/golang/mod/compare/v0.30.0...v0.31.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/mod&package-manager=go_modules&previous-version=0.30.0&new-version=0.31.0)](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>
2025-12-09 11:53:58 -08:00
Joel Verhagen
80cb03ff7a
Fix NuGet.org base URL default, improve API integration (#813)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->

This resolves
https://github.com/modelcontextprotocol/registry/issues/738. There are
two issues with the NuGet.org integration today:

1. Change the `registryBaseUrl` for NuGet to
`https://api.nuget.org/v3/index.json`. `https://api.nuget.org` is not
the entry point for our service and is not specific enough.
`https://api.nuget.org/v3/index.json` is the value that users put into
their tooling to connect to our public registry (it is installed by
default in .NET client tooling).
2. Use the service index API to get the URL pattern for package READMEs.
- This URL is not guaranteed to be stable. The service index URL
(`registryBaseUrl`) is, however.

Additionally, I polished up the error messages so various error modes
are clearer. When packages are published to NuGet.org, they take 2-5
minutes to become available due to validations we run.

Some possible states that are now handled and described more helpfully
are:
- Version exists, but the package has no README
- The ID exists, but the version does not
- The ID does not exist at all

There are only 3 authors (me, another MSFT person, and a community
member) explicitly setting the old value. The DB migration will fix the
issue. A future publish will fail with the validation error but the
error message is clear.

`registry type and base URL do not match: 'https://api.nuget.org' is not
valid for registry type 'nuget'. Expected:
https://api.nuget.org/v3/index.json`

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

- Unit tests, new and existing
- Manual test locally
- Set old data in the DB, `docker compose up`, confirm the migration
updates the specific package

## Breaking Changes

Yes, but minimal impact expected, unless there is a dependency on the
specific `https://api.nuget.org` value downstream. I am not aware of any
such dependency, and the new value is more proper and specific.

## 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)
- [x] 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
- [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
<!-- Add any other context, implementation notes, or design decisions
-->

For more information about the NuGet API see:
https://learn.microsoft.com/en-us/nuget/api/overview#service-index (I
wrote most of the docs).
2025-12-09 07:19:38 -08:00
Tadas Antanavicius
823c1a1081
Add registry maintainer onboarding documentation (#820)
Closes https://github.com/modelcontextprotocol/registry/issues/512

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-08 13:43:37 +00:00
Jonathan Hefner
8a3d858d1d
docs: fix broken links in Documentation Index (#822)
Update Documentation Index section to reflect the current directory
structure after the docs reorganization in #728. The old links to
./guides/ and ./explanations/ no longer exist.

Fixes #821

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-08 13:43:16 +00:00
Tadas Antanavicius
370453317d
Restrict @claude bot to mcp org only, fix fork behavior (#819)
Written by Claude Code, reviewed by me.

## Summary

Fixes `@claude` to work on external fork PRs by:
1. Restricting triggers to modelcontextprotocol org members only
2. Properly checking out fork PR code via `refs/pull/N/head`

## Background

The `@claude` GitHub app was failing on external forks
([example](https://github.com/modelcontextprotocol/registry/actions/runs/19938435814/job/57169634431))
because the action tried to fetch branches by name, which doesn't work
for forks.

## Changes

### Org membership check
- Fetches the member list from
[`modelcontextprotocol/access`](https://github.com/modelcontextprotocol/access)
repo's `users.ts`
- Only org members can trigger `@claude` (prevents strangers from using
it)
- Uses `github.triggering_actor` so the person commenting must be an org
member

### Fork PR checkout fix
- Detects when a comment is on a fork PR
- Uses `refs/pull/{number}/head` to checkout fork code (instead of
branch name)
- This works because GitHub exposes all PRs via special refs on the base
repo

## How it works

1. Org member comments `@claude` on a fork PR
2. Workflow checks if commenter is in the `modelcontextprotocol/access`
member list
3. Workflow detects it's a fork PR and checks out via `refs/pull/N/head`
4. Claude runs with access to the fork's code

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-08 13:42:58 +00:00
Tadas Antanavicius
8b861e5e1a
docs: add production database connection guide for admins (#808)
Drafted by Claude Code, reviewed and tested by me.

Add instructions for maintainers to connect to the production PostgreSQL
database, including Cloud Shell (recommended) and local machine methods,
plus read-only session configuration for safety.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-08 13:34:43 +00:00
adam jones
ca6912cded
Add registry extensions specification (#777)
Introduces a standardized way for registries to provide experimental or
community-driven features without committing them to the core API
specification.

## Summary

- Extensions live under `/v0/x/<namespace>/<extension>` URL structure
- Simple conventions: REST, JSON responses, cursor pagination, optional
auth
- Composable design building on core APIs where possible

This enables experimentation with features like search (#389) and MCP
server integration (#24) while keeping the core API minimal and stable.

Fixes #776
2025-12-05 15:38:51 +00:00
Joel Verhagen
af29c14239
Fix command documentation for publish (#818)
<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->

The `--file=PATH` pattern does not work. The path is an optional,
positional argument not a named option.
The `--dry-run` option is not supported.

Look at the implementation:
d092dd6390/cmd/publisher/commands/publish.go (L19)

## How Has This Been Tested?

Try these options yourself, they are ignored.

## 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
- [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
<!-- Add any other context, implementation notes, or design decisions
-->
2025-12-05 15:38:35 +00:00
Tadas Antanavicius
65b96b03ce
docs: update API endpoint documentation from /v0/ to /v0.1/ (#802)
Update all documentation to reference the stable `/v0.1/` API version
instead of the development `/v0/` version.

Didn't update internal references (e.g. in admin-only docs) as that
probably make sense to keep pointed at v0 as the "dev" option.

Authored by Claude Code, reviewed by me.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-04 13:02:45 -08:00
Avish Porwal
d092dd6390
Fix issue-743 by sanitizing the URL (#809)
<!-- Provide a brief summary of your changes -->
This PR aims to fix
https://github.com/modelcontextprotocol/registry/issues/743#event-20985516896

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
This is needed to ensure we are sanitizing the URL before creating
server.json to be inline with the validations.

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
Tested via UTs and also tested CLI locally to ensure the expected
behavior.

## 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)
- [x] 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
-->

Co-authored-by: Avish Porwal <avishporwal@microsoft.com>
2025-12-04 09:23:15 -08:00
dependabot[bot]
8191133cbe
build(deps): bump github.com/pulumi/pulumi/sdk/v3 from 3.208.0 to 3.210.0 in /deploy (#817)
Bumps
[github.com/pulumi/pulumi/sdk/v3](https://github.com/pulumi/pulumi) from
3.208.0 to 3.210.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.210.0</h2>
<h2>3.210.0 (2025-12-03)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli/about] Print python toolchain information in <code>pulumi
about</code></p>
</li>
<li>
<p>[sdk/java] Update java to v1.18</p>
</li>
<li>
<p>[components/nodejs] Local components will use the version from
package.json rather than 0.0.0
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21100">#21100</a></p>
</li>
<li>
<p>[cli/package] Add <code>pulumi package delete</code> command to
delete package versions from the Pulumi Registry
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21069">#21069</a></p>
</li>
<li>
<p>[cli/package] Always print the schema first in <code>package
get-schema</code>, then print any binding errors
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21080">#21080</a></p>
</li>
<li>
<p>[sdk/python] Require <code>grpcio&gt;=1.75.1</code> on Python 3.14
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21113">#21113</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>[sdk/nodejs] Fix ComponentResources transfering input arguments to
output properties automatically
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21094">#21094</a></li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>[sdk/nodejs] Remove <code>@​types/uuid</code> type declarations dev
dependency
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21077">#21077</a></li>
</ul>
<h2>v3.209.0</h2>
<h2>3.209.0 (2025-11-26)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Add native support for OIDC token exchange when logging into
Pulumi Cloud. Run <code>pulumi login --help</code> for more information.
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20974">#20974</a></p>
</li>
<li>
<p>[sdk/python] Allow older grpcio and protobuf dependencies
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21007">#21007</a></p>
</li>
<li>
<p>[sdkgen/{dotnet,go,nodejs,python}] Generate .gitignore and
.gitattributes files for generated SDKs
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21034">#21034</a></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</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>
<h1>Changelog</h1>
<h2>3.209.0 (2025-11-26)</h2>
<h3>Features</h3>
<ul>
<li>
<p>[cli] Add native support for OIDC token exchange when logging into
Pulumi Cloud. Run <code>pulumi login --help</code> for more information.
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20974">#20974</a></p>
</li>
<li>
<p>[sdk/python] Allow older grpcio and protobuf dependencies
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21007">#21007</a></p>
</li>
<li>
<p>[sdkgen/{dotnet,go,nodejs,python}] Generate .gitignore and
.gitattributes files for generated SDKs
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21034">#21034</a></p>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>[cli/install] Correctly install non-standard plugins. See <a
href="https://redirect.github.com/pulumi/pulumi/issues/20953">pulumi/pulumi#20953</a>
for more information
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20983">#20983</a></p>
</li>
<li>
<p>[cli/new] Create pyproject.toml for uv and poetry projects when using
--generate-only
<a
href="https://redirect.github.com/pulumi/pulumi/pull/20979">#20979</a></p>
</li>
<li>
<p>[sdk/nodejs] Fix serialization errors due to SxS copies of the SDK
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21029">#21029</a></p>
</li>
<li>
<p>[sdk/python] Add <code>PropertyValue</code> runtime validation checks
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21058">#21058</a></p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>
<p>[engine] Don't send root directory and runtime options to language
plugins as command line arguments
<a
href="https://redirect.github.com/pulumi/pulumi/pull/21054">#21054</a></p>
</li>
<li>
<p>[sdk/{dotnet,java,yaml}] Bump language runtimes for yaml, dotnet and
java</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="43bb5ff53c"><code>43bb5ff</code></a>
Print python toolchain information in <code>pulumi about</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21122">#21122</a>)</li>
<li><a
href="bbe721d42f"><code>bbe721d</code></a>
Update java to v1.18.0 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21121">#21121</a>)</li>
<li><a
href="f770d66d60"><code>f770d66</code></a>
journaler: unlock the lock if the journaler is already closed (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21117">#21117</a>)</li>
<li><a
href="9217663c03"><code>9217663</code></a>
Add pulumi package delete command (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21069">#21069</a>)</li>
<li><a
href="749c6722ba"><code>749c672</code></a>
fix: use independent <code>http.Client</code> in pair with
<code>http.Server</code> (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20942">#20942</a>)</li>
<li><a
href="43bd0a8687"><code>43bd0a8</code></a>
enable journaling in testing (<a
href="https://redirect.github.com/pulumi/pulumi/issues/20990">#20990</a>)</li>
<li><a
href="c0c4dfe970"><code>c0c4dfe</code></a>
Replace deprecated is-finite dependency in test (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21108">#21108</a>)</li>
<li><a
href="220cccd368"><code>220cccd</code></a>
Require <code>grpcio&gt;=1.75.1</code> on Python 3.14 (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21113">#21113</a>)</li>
<li><a
href="d6277b37b3"><code>d6277b3</code></a>
[journal] Add comments, support multiple Close() (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21112">#21112</a>)</li>
<li><a
href="df6ef98165"><code>df6ef98</code></a>
Remove construct_component_configure_provider binary (<a
href="https://redirect.github.com/pulumi/pulumi/issues/21110">#21110</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pulumi/pulumi/compare/v3.208.0...v3.210.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/pulumi/pulumi/sdk/v3&package-manager=go_modules&previous-version=3.208.0&new-version=3.210.0)](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>
2025-12-04 12:28:03 +02:00
Tadas Antanavicius
5cc553d1ca
Upgrade Go to 1.24.11 to fix GO-2025-4155 vulnerability (#815)
Prepared by Claude Code, reviewd by me.

## Summary
- Upgrade Go from 1.24.9 to 1.24.11 in the main `go.mod` to fix
govulncheck CI failure
- Upgrade Go from 1.24.7 to 1.24.11 in `deploy/go.mod` for the same
vulnerability fix

## Details

This PR addresses the failing `govulncheck` check in CI caused by
vulnerability **GO-2025-4155**:

- **Vulnerability**: Excessive resource consumption when printing error
string for host certificate validation in `crypto/x509`
- **Found in**: `crypto/x509@go1.24.9` (and earlier versions like
go1.24.7)
- **Fixed in**: `crypto/x509@go1.24.11`
- **More info**: https://pkg.go.dev/vuln/GO-2025-4155

Both Go module files in the repository are updated to 1.24.11 to ensure
consistent vulnerability remediation.

## Test plan
- [x] CI passes govulncheck after the Go version upgrade

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-04 12:23:14 +02:00
Tadas Antanavicius
51c70ba034
Fix misleading server.json schema URL label (#803)
The schema in this repo may contain unreleased changes, so labeling it
with a dated version URL is misleading. Change to use a `draft` URL
instead, and add documentation for the schema contribution process.

- Update $id in server.schema.json to use draft URL
- Update example $schema URL in openapi.yaml
- Add Draft (Unreleased) section to CHANGELOG.md
- Add CONTRIBUTING.md with process for making/releasing schema changes

Written by Claude Code, reviewed and tweaked by me.

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-03 08:44:30 -08:00
Tadas Antanavicius
d528ac5bbc
Fix version mismatch in OpenAPI and changelog (#804)
## What this fixes

The API changelog had a section header dated `2025-11-17`, but the
openapi.yaml version is `2025-10-17`. This was confusing because they
appeared to be tracking the same thing but didn't match.

## What happened

1. Various API changes (v0.1 introduction, endpoint removal) were made
in early-to-mid October
2. On **Oct 17**, commit 0828bc4 bumped the openapi.yaml version to
`2025-10-17`
3. These changes sat under an "Unreleased" section in the changelog
4. On **Nov 17**, commit 7b3f01a converted "Unreleased" → `2025-11-17`
as part of the v1.3.9 release process

The problem: `2025-11-17` was the date the release was cut, not the API
version. Since there were no openapi.yaml changes between Oct 17 and Nov
17, the changelog section should match the API version (`2025-10-17`),
not the internal release date.

## The fix

Change the changelog header from `## 2025-11-17` to `## 2025-10-17` to
align with the openapi.yaml version that consumers actually use.

@domdomegg am I correct in thinking this was just a typo? Or was the
distinction intentional?

Authored by Claude Code, reviewed by me.

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-03 16:37:22 +00:00
dependabot[bot]
34daa90f6a
build(deps): bump github.com/google/go-containerregistry from 0.20.6 to 0.20.7 (#797)
Bumps
[github.com/google/go-containerregistry](https://github.com/google/go-containerregistry)
from 0.20.6 to 0.20.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/go-containerregistry/releases">github.com/google/go-containerregistry's
releases</a>.</em></p>
<blockquote>
<h2>v0.20.7</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix ArgsEscaped lint directive by <a
href="https://github.com/Subserial"><code>@​Subserial</code></a> in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2137">google/go-containerregistry#2137</a></li>
<li>transport: Fix broken links to distribution docs by <a
href="https://github.com/guzalv"><code>@​guzalv</code></a> in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2136">google/go-containerregistry#2136</a></li>
<li>fix(remote): using customized retry predicate func if provided by <a
href="https://github.com/derekhjray"><code>@​derekhjray</code></a> in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2135">google/go-containerregistry#2135</a></li>
<li>Adding docker file by <a
href="https://github.com/HassanJasim"><code>@​HassanJasim</code></a> in
<a
href="https://redirect.github.com/google/go-containerregistry/pull/2138">google/go-containerregistry#2138</a></li>
<li>crane: Add timestamp to flatten layer by <a
href="https://github.com/Stephanie0829"><code>@​Stephanie0829</code></a>
in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2117">google/go-containerregistry#2117</a></li>
<li>feat(remote): pass retryBackoff option to transport by <a
href="https://github.com/aslafy-z"><code>@​aslafy-z</code></a> in <a
href="https://redirect.github.com/google/go-containerregistry/pull/1628">google/go-containerregistry#1628</a></li>
<li>Expose clobber refusal error by <a
href="https://github.com/pjbgf"><code>@​pjbgf</code></a> in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2146">google/go-containerregistry#2146</a></li>
<li>Build artifacts for riscv64 by <a
href="https://github.com/ffgan"><code>@​ffgan</code></a> in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2159">google/go-containerregistry#2159</a></li>
<li>Update dependencies and deprecate DockerVersion field by <a
href="https://github.com/Subserial"><code>@​Subserial</code></a> in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2164">google/go-containerregistry#2164</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/guzalv"><code>@​guzalv</code></a> made
their first contribution in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2136">google/go-containerregistry#2136</a></li>
<li><a
href="https://github.com/derekhjray"><code>@​derekhjray</code></a> made
their first contribution in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2135">google/go-containerregistry#2135</a></li>
<li><a
href="https://github.com/HassanJasim"><code>@​HassanJasim</code></a>
made their first contribution in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2138">google/go-containerregistry#2138</a></li>
<li><a
href="https://github.com/Stephanie0829"><code>@​Stephanie0829</code></a>
made their first contribution in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2117">google/go-containerregistry#2117</a></li>
<li><a href="https://github.com/pjbgf"><code>@​pjbgf</code></a> made
their first contribution in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2146">google/go-containerregistry#2146</a></li>
<li><a href="https://github.com/ffgan"><code>@​ffgan</code></a> made
their first contribution in <a
href="https://redirect.github.com/google/go-containerregistry/pull/2159">google/go-containerregistry#2159</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/go-containerregistry/compare/v0.20.6...v0.20.7">https://github.com/google/go-containerregistry/compare/v0.20.6...v0.20.7</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e075f20912"><code>e075f20</code></a>
<code>go mod tidy</code> on dependabot update (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2171">#2171</a>)</li>
<li><a
href="45aacf4b5f"><code>45aacf4</code></a>
Bump the actions group across 1 directory with 3 updates (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2170">#2170</a>)</li>
<li><a
href="073b936909"><code>073b936</code></a>
Update dependencies and deprecate DockerVersion field (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2164">#2164</a>)</li>
<li><a
href="390dacd7ad"><code>390dacd</code></a>
Bump golang.org/x/crypto from 0.38.0 to 0.45.0 in /cmd/krane (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2163">#2163</a>)</li>
<li><a
href="ca44d47f67"><code>ca44d47</code></a>
Bump golang.org/x/crypto from 0.38.0 to 0.45.0 in /pkg/authn/k8schain
(<a
href="https://redirect.github.com/google/go-containerregistry/issues/2162">#2162</a>)</li>
<li><a
href="999cc1fbfb"><code>999cc1f</code></a>
Bump github.com/docker/docker (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2161">#2161</a>)</li>
<li><a
href="d1809c8623"><code>d1809c8</code></a>
Build artifacts for riscv64 (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2159">#2159</a>)</li>
<li><a
href="7471efdf98"><code>7471efd</code></a>
Bump the auxiliary-deps group across 3 directories with 4 updates (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2156">#2156</a>)</li>
<li><a
href="2bb5bb01b8"><code>2bb5bb0</code></a>
Bump the actions group with 5 updates (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2155">#2155</a>)</li>
<li><a
href="16371c1fe7"><code>16371c1</code></a>
Remove manual vendor setting for dependabot (<a
href="https://redirect.github.com/google/go-containerregistry/issues/2151">#2151</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/google/go-containerregistry/compare/v0.20.6...v0.20.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/google/go-containerregistry&package-manager=go_modules&previous-version=0.20.6&new-version=0.20.7)](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>
2025-12-03 00:27:29 +02:00