Skip to content

Conversation

@david-fraley
Copy link
Collaborator

@david-fraley david-fraley commented Oct 31, 2025

Description

This PR adds a user guide for setting up what's basically our traiage.yml workflow, but something that customers can follow. Preview the page here.

@github-actions github-actions bot added the stale This issue is like stale bread. label Nov 10, 2025
@johnstcn johnstcn removed the stale This issue is like stale bread. label Nov 12, 2025
@david-fraley david-fraley changed the title docs: add how to for github to coder tasks docs: add User Guide for GitHub<>Tasks Workflow Nov 14, 2025
Copy link
Member

@mafredri mafredri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Noticed a few things are missing that may lead to headache trying to figure it out, but once those are addressed I think it's good to go.


## Background

Most software engineering organizations track and manage their codebase through GitHub, and use project mnnagement tools like Asana, Jira, or even GitHub's Projects to coordinate work. Across these systems, engineers are frequently performing the same repetitive workflows: triaging and addressing bugs, updating documentation, or implementing well-defined changes for example.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Most software engineering organizations track and manage their codebase through GitHub, and use project mnnagement tools like Asana, Jira, or even GitHub's Projects to coordinate work. Across these systems, engineers are frequently performing the same repetitive workflows: triaging and addressing bugs, updating documentation, or implementing well-defined changes for example.
Most software engineering organizations track and manage their codebase through GitHub, and use project management tools like Asana, Jira, or even GitHub's Projects to coordinate work. Across these systems, engineers are frequently performing the same repetitive workflows: triaging and addressing bugs, updating documentation, or implementing well-defined changes for example.

Copy link
Member

@mafredri mafredri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comments but other than that, I think this is in good shape. Nice work! :shipit:


- Post an update on the GitHub ticket with a link to the task

The prompt text can be modified to not wait for additional human input, but continue with implementing the proposed solution and creating a PR for example. Note that this example prompt uses the GitHub CLI `gh`, which must be installed in your Coder template. The CLI will automatically authenticate using the user's linked GitHub account via Coder's external auth.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CLI will automatically authenticate using the user's linked GitHub account via Coder's external auth.

Just a note that this has never worked for me personally in our templates. I have to do e.g. export GITHUB_TOKEN=$(GIT_PREFIX=/ coder "Username for 'https://github.com':") before I can use the gh cli. I'm not sure if I'm just an outlier or what, but this reads as if it will magically work if gh CLI is present, and I think it's worth confirming that that is in fact the case.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mafredri do you have time to check that? I'm pretty slammed myself... lmk if not

Copy link
Member

@mafredri mafredri Nov 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The short answer is: there's no automatic mechanism.

One simple way users can perform the authentication is to run this in their workspace/dotfiles:

export GITHUB_TOKEN=$(coder external-auth access-token github)

(Assuming github is the correct coder external auth ID.)

This will then show up as:

gh auth status
github.com
  ✓ Logged in to github.com account mafredri (GITHUB_TOKEN)
  - Active account: true
  - Git operations protocol: https
  - Token: ghu_************************************

Note: How much of the gh features work will depend on what permissions have been given to the GitHub App that's configured for external auth. But this is something for external auth docs, not here necessarily.

In Terraform, a simplistic approach would look like:

data "coder_external_auth" "github" {
  id = "github"
}

resource "coder_agent" "dev" {
  env = {
    GITHUB_TOKEN = data.coder_external_auth.github.access_token
  }
}

But there are two problems with this:

  1. It overrides the users own configuration in ~/.config/gh, they need to unset GITHUB_TOKEN if they want to use it, and remember to do so every new terminal session
  2. The token may expire while the workspace is active and there's no way to update it (except using the earlier export ... method for each new terminal session)

It'd be nice if we provided a Coder module to make this authentication transparent and handle runtime expiration as well. The gh CLI supports extensions that we could investigate for a clean integration. Another option is wrapping the CLI command.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm following right, we'll need to go down the TF route since this guide is for automation people will setup and they can't manually set the gh auth every time...

Given that --

  • Problem (1) doesn't matter since the user config doesn't actually really come into play for the specific automation in the context of the workspace
  • The token might expire, but ya that's a general problem. I could add a call out for that

Do you agree? I think that should put us in a good spot with the doc page then.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DevelopmentCats fyi for the module request here. Throwing it on your radar; we can have a convo about it later!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@david-fraley I'm good with that proposal 👍🏻

AlexanderSarson and others added 9 commits November 25, 2025 15:48
<!--

If you have used AI to produce some or all of this PR, please ensure you
have read our [AI Contribution
guidelines](https://coder.com/docs/about/contributing/AI_CONTRIBUTING)
before submitting.

-->
This pull-request simply renames our `AI Governance` feature to `AI
Bridge` whilst we evaluate the future of how we want to render the
governance of AI related features.
Adds `coder exp scaletest task-status` subcommand to generate task status update load on the Coder server.
Implement Cleanup in the task status Runner, to delete the external workspaces created.
Wait for the External workspace build job to complete before attempting to pull its credentials from Coder. This resolves a race in the load generator.
Refactors Task page UI to show startup script errors as compact warning
buttons in the topbar.

Closes #20418
…test (#20827)

The test flake can be verified by setting `ReportInterval` to a really
low value, like `100 * time.Millisecond`.

We now set it to a really high value to avoid triggering flush without 
manually calling the function in test. This can easily happen because 
the default value is 30s and we run tests in parallel. The assertion
typically happens such that:

	[use workspace] -> [fetch previous last used] -> [flush]
	-> [fetch new last used]

When this edge case is triggered:

	[use workspace] -> [report interval flush]
	-> [fetch previous last used] -> [flush] -> [fetch new last used]

In this case, both the previous and new last used will be the same,
breaking the test assertion.

Fixes coder/internal#960
Fixes coder/internal#975
Database insert errors will fail the transaction. So this error is
fatal. Properly return it for a better error call stack, and not just
hiding the error in the logs.
Measure entire stage durations for each terraform cmd execution
matifali and others added 25 commits November 25, 2025 15:48
Upgrades `coder/aibridge` to v0.2.0 which includes
coder/aibridge#62.

Creates a `prometheus.Registerer` with a prefix `coder_aibridged_` and
passes that along to coder/aibridge which actually exposes the metrics.

Also includes a side-effect of a change described in
coder/aibridge#62 (comment).

---------

Signed-off-by: Danny Kopping <danny@coder.com>
closes #19889

This is in response to a migration in v2.27 that takes very long on deployments with large `api_key` tables.
[//]: # (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
[github.com/prometheus/common](https://github.com/prometheus/common)
from 0.65.0 to 0.67.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/releases">github.com/prometheus/common's">https://github.com/prometheus/common/releases">github.com/prometheus/common's
releases</a>.</em></p>
<blockquote>
<h2>v0.67.4 / 2025-11-18</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: clean up golangci-lint configuration by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/mmorel-35"><code>@​mmorel-35</code></a">https://github.com/mmorel-35"><code>@​mmorel-35</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/782">prometheus/common#782</a></li">https://redirect.github.com/prometheus/common/pull/782">prometheus/common#782</a></li>
<li>chore: 'omitempty' to Oauth2 fields with type Secret to avoid
requiring them by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/JorTurFer"><code>@​JorTurFer</code></a">https://github.com/JorTurFer"><code>@​JorTurFer</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/864">prometheus/common#864</a></li">https://redirect.github.com/prometheus/common/pull/864">prometheus/common#864</a></li>
<li>chore: Add omitempty tag to all config fields by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/JorTurFer"><code>@​JorTurFer</code></a">https://github.com/JorTurFer"><code>@​JorTurFer</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/865">prometheus/common#865</a></li">https://redirect.github.com/prometheus/common/pull/865">prometheus/common#865</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.67.3...v0.67.4">https://github.com/prometheus/common/compare/v0.67.3...v0.67.4</a></p">https://github.com/prometheus/common/compare/v0.67.3...v0.67.4">https://github.com/prometheus/common/compare/v0.67.3...v0.67.4</a></p>
<h2>v0.67.3 / 2025-11-18</h2>
<h2>What's Changed</h2>
<ul>
<li>Support JWT Profile for Authorization Grant (RFC 7523 3.1) by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/JorTurFer"><code>@​JorTurFer</code></a">https://github.com/JorTurFer"><code>@​JorTurFer</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/862">prometheus/common#862</a></li">https://redirect.github.com/prometheus/common/pull/862">prometheus/common#862</a></li>
<li>Config: remove outdated comment about HTTP/2 issues by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/bboreham"><code>@​bboreham</code></a">https://github.com/bboreham"><code>@​bboreham</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/863">prometheus/common#863</a></li">https://redirect.github.com/prometheus/common/pull/863">prometheus/common#863</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/JorTurFer"><code>@​JorTurFer</code></a">https://github.com/JorTurFer"><code>@​JorTurFer</code></a>
made their first contribution in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/862">prometheus/common#862</a></li">https://redirect.github.com/prometheus/common/pull/862">prometheus/common#862</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.67.2...v0.67.3">https://github.com/prometheus/common/compare/v0.67.2...v0.67.3</a></p">https://github.com/prometheus/common/compare/v0.67.2...v0.67.3">https://github.com/prometheus/common/compare/v0.67.2...v0.67.3</a></p>
<h2>v0.67.2 / 2025-10-28</h2>
<h2>What's Changed</h2>
<ul>
<li>config: Fix panic in <code>tlsRoundTripper</code> when CA file is
absent by <a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/ndk"><code>@​ndk</code></a">https://github.com/ndk"><code>@​ndk</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li">https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li>
<li>Cleanup linting issues by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/SuperQ"><code>@​SuperQ</code></a">https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/860">prometheus/common#860</a></li">https://redirect.github.com/prometheus/common/pull/860">prometheus/common#860</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/ndk"><code>@​ndk</code></a">https://github.com/ndk"><code>@​ndk</code></a> made their
first contribution in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li">https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.67.1...v0.67.2">https://github.com/prometheus/common/compare/v0.67.1...v0.67.2</a></p">https://github.com/prometheus/common/compare/v0.67.1...v0.67.2">https://github.com/prometheus/common/compare/v0.67.1...v0.67.2</a></p>
<h2>v0.67.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix Go case-insensitive file name collision by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/SuperQ"><code>@​SuperQ</code></a">https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/853">prometheus/common#853</a></li">https://redirect.github.com/prometheus/common/pull/853">prometheus/common#853</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.67.0...v0.67.1">https://github.com/prometheus/common/compare/v0.67.0...v0.67.1</a></p">https://github.com/prometheus/common/compare/v0.67.0...v0.67.1">https://github.com/prometheus/common/compare/v0.67.0...v0.67.1</a></p>
<h2>v0.67.0 / 2025-10-07</h2>
<h2>What's Changed</h2>
<ul>
<li>Create CHANGELOG.md for easier communication of library changes,
especially possible breaking changes. by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/ywwg"><code>@​ywwg</code></a">https://github.com/ywwg"><code>@​ywwg</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/833">prometheus/common#833</a></li">https://redirect.github.com/prometheus/common/pull/833">prometheus/common#833</a></li>
<li>model: New test for validation with dots by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/m1k1o"><code>@​m1k1o</code></a">https://github.com/m1k1o"><code>@​m1k1o</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li">https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li>
<li>expfmt: document NewTextParser as required by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/burgerdev"><code>@​burgerdev</code></a">https://github.com/burgerdev"><code>@​burgerdev</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li">https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li>
<li>expfmt: Add support for float histograms and gauge histograms by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/beorn7"><code>@​beorn7</code></a">https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/843">prometheus/common#843</a></li">https://redirect.github.com/prometheus/common/pull/843">prometheus/common#843</a></li>
<li>Updated minimum Go version to 1.24.0, updated Go dependecies by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/SuperQ"><code>@​SuperQ</code></a">https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/849">prometheus/common#849</a></li">https://redirect.github.com/prometheus/common/pull/849">prometheus/common#849</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/m1k1o"><code>@​m1k1o</code></a">https://github.com/m1k1o"><code>@​m1k1o</code></a> made
their first contribution in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li">https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li>
<li><a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/burgerdev"><code>@​burgerdev</code></a">https://github.com/burgerdev"><code>@​burgerdev</code></a>
made their first contribution in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li">https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.66.1...v0.67.0">https://github.com/prometheus/common/compare/v0.66.1...v0.67.0</a></p">https://github.com/prometheus/common/compare/v0.66.1...v0.67.0">https://github.com/prometheus/common/compare/v0.66.1...v0.67.0</a></p>
<h2>v0.66.1</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/blob/main/CHANGELOG.md">github.com/prometheus/common's">https://github.com/prometheus/common/blob/main/CHANGELOG.md">github.com/prometheus/common's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>main / unreleased</h2>
<h3>What's Changed</h3>
<h2>v0.67.2 / 2025-10-28</h2>
<h2>What's Changed</h2>
<ul>
<li>config: Fix panic in <code>tlsRoundTripper</code> when CA file is
absent by <a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/ndk"><code>@​ndk</code></a">https://github.com/ndk"><code>@​ndk</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li">https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li>
<li>Cleanup linting issues by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/SuperQ"><code>@​SuperQ</code></a">https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/860">prometheus/common#860</a></li">https://redirect.github.com/prometheus/common/pull/860">prometheus/common#860</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/ndk"><code>@​ndk</code></a">https://github.com/ndk"><code>@​ndk</code></a> made their
first contribution in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li">https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.67.1...v0.67.2">https://github.com/prometheus/common/compare/v0.67.1...v0.67.2</a></p">https://github.com/prometheus/common/compare/v0.67.1...v0.67.2">https://github.com/prometheus/common/compare/v0.67.1...v0.67.2</a></p>
<h2>v0.67.1 / 2025-10-07</h2>
<h2>What's Changed</h2>
<ul>
<li>Remove VERSION file to avoid Go conflict error in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/853">prometheus/common#853</a></li">https://redirect.github.com/prometheus/common/pull/853">prometheus/common#853</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.67.0...v0.67.1">https://github.com/prometheus/common/compare/v0.67.0...v0.67.1</a></p">https://github.com/prometheus/common/compare/v0.67.0...v0.67.1">https://github.com/prometheus/common/compare/v0.67.0...v0.67.1</a></p>
<h2>v0.67.0 / 2025-10-07</h2>
<h2>What's Changed</h2>
<ul>
<li>Create CHANGELOG.md for easier communication of library changes,
especially possible breaking changes. by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/ywwg"><code>@​ywwg</code></a">https://github.com/ywwg"><code>@​ywwg</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/833">prometheus/common#833</a></li">https://redirect.github.com/prometheus/common/pull/833">prometheus/common#833</a></li>
<li>model: New test for validation with dots by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/m1k1o"><code>@​m1k1o</code></a">https://github.com/m1k1o"><code>@​m1k1o</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li">https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li>
<li>expfmt: document NewTextParser as required by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/burgerdev"><code>@​burgerdev</code></a">https://github.com/burgerdev"><code>@​burgerdev</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li">https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li>
<li>expfmt: Add support for float histograms and gauge histograms by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/beorn7"><code>@​beorn7</code></a">https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/843">prometheus/common#843</a></li">https://redirect.github.com/prometheus/common/pull/843">prometheus/common#843</a></li>
<li>Updated minimum Go version to 1.24.0, updated Go dependecies by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/SuperQ"><code>@​SuperQ</code></a">https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/849">prometheus/common#849</a></li">https://redirect.github.com/prometheus/common/pull/849">prometheus/common#849</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/m1k1o"><code>@​m1k1o</code></a">https://github.com/m1k1o"><code>@​m1k1o</code></a> made
their first contribution in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li">https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li>
<li><a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/burgerdev"><code>@​burgerdev</code></a">https://github.com/burgerdev"><code>@​burgerdev</code></a>
made their first contribution in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li">https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.66.1...v0.67.0">https://github.com/prometheus/common/compare/v0.66.1...v0.67.0</a></p">https://github.com/prometheus/common/compare/v0.66.1...v0.67.0">https://github.com/prometheus/common/compare/v0.66.1...v0.67.0</a></p>
<h2>v0.66.1 / 2025-09-05</h2>
<p>This release has no functional changes, it just drops the
dependencies <code>github.com/grafana/regexp</code> and
<code>go.uber.org/atomic</code> and replaces
<code>gopkg.in/yaml.v2</code> with <code>go.yaml.in/yaml/v2</code> (a
drop-in replacement).</p>
<h3>What's Changed</h3>
<ul>
<li>Revert &quot;Use github.com/grafana/regexp instead of regexp&quot;
by <a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/aknuds1"><code>@​aknuds1</code></a">https://github.com/aknuds1"><code>@​aknuds1</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/835">prometheus/common#835</a></li">https://redirect.github.com/prometheus/common/pull/835">prometheus/common#835</a></li>
<li>Move to supported version of yaml parser by <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/dims"><code>@​dims</code></a">https://github.com/dims"><code>@​dims</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/834">prometheus/common#834</a></li">https://redirect.github.com/prometheus/common/pull/834">prometheus/common#834</a></li>
<li>Revert &quot;Use go.uber.org/atomic instead of sync/atomic (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/issues/825">#825</a>)&quot">https://redirect.github.com/prometheus/common/issues/825">#825</a>)&quot;
by <a href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/aknuds1"><code>@​aknuds1</code></a">https://github.com/aknuds1"><code>@​aknuds1</code></a> in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/pull/838">prometheus/common#838</a></li">https://redirect.github.com/prometheus/common/pull/838">prometheus/common#838</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v1.20.99...v0.66.1">https://github.com/prometheus/common/compare/v1.20.99...v0.66.1</a></p">https://github.com/prometheus/common/compare/v1.20.99...v0.66.1">https://github.com/prometheus/common/compare/v1.20.99...v0.66.1</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/d80d8544703e59a080a204b6f7429ac6561fb24f"><code>d80d854</code></a">https://github.com/prometheus/common/commit/d80d8544703e59a080a204b6f7429ac6561fb24f"><code>d80d854</code></a>
chore: Add omitempty tag to all config fields (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/issues/865">#865</a>)</li">https://redirect.github.com/prometheus/common/issues/865">#865</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/04686b2cfc6804598d99b86070135f9266998c59"><code>04686b2</code></a">https://github.com/prometheus/common/commit/04686b2cfc6804598d99b86070135f9266998c59"><code>04686b2</code></a>
chore: 'omitempty' to Oauth2 fields with type Secret to avoid requiring
them ...</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/0b2fbf31f0e2c21d9e1a4e51e698188fae258cb2"><code>0b2fbf3</code></a">https://github.com/prometheus/common/commit/0b2fbf31f0e2c21d9e1a4e51e698188fae258cb2"><code>0b2fbf3</code></a>
chore: clean up golangci-lint configuration (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/issues/782">#782</a>)</li">https://redirect.github.com/prometheus/common/issues/782">#782</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/b2cdb0785c1498399587cb0bf42aa960d810633a"><code>b2cdb07</code></a">https://github.com/prometheus/common/commit/b2cdb0785c1498399587cb0bf42aa960d810633a"><code>b2cdb07</code></a>
Merge pull request <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/issues/863">#863</a">https://redirect.github.com/prometheus/common/issues/863">#863</a>
from prometheus/remove-http2-comment</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/cd1ab56cc1e1d41dbc286d2e501e26515400b9be"><code>cd1ab56</code></a">https://github.com/prometheus/common/commit/cd1ab56cc1e1d41dbc286d2e501e26515400b9be"><code>cd1ab56</code></a>
Config: remove outdated comment about HTTP/2 issues</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/f4c0aea59fa97a7627730e65cb2e625ec9fc45cf"><code>f4c0aea</code></a">https://github.com/prometheus/common/commit/f4c0aea59fa97a7627730e65cb2e625ec9fc45cf"><code>f4c0aea</code></a>
Support JWT Profile for Authorization Grant (RFC 7523 3.1) (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/issues/862">#862</a>)</li">https://redirect.github.com/prometheus/common/issues/862">#862</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/594f4d4a984eb5f1ca8f0983f8b1790e77a5a725"><code>594f4d4</code></a">https://github.com/prometheus/common/commit/594f4d4a984eb5f1ca8f0983f8b1790e77a5a725"><code>594f4d4</code></a>
Merge pull request <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/issues/861">#861</a">https://redirect.github.com/prometheus/common/issues/861">#861</a>
from prometheus/beorn7/version</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/440c1a30a0315f2ca0dba99fd7fffb288a3e898b"><code>440c1a3</code></a">https://github.com/prometheus/common/commit/440c1a30a0315f2ca0dba99fd7fffb288a3e898b"><code>440c1a3</code></a>
Cut v0.67.2</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/acb18736bed74c218ee4023ed1e0e36cf2dd1612"><code>acb1873</code></a">https://github.com/prometheus/common/commit/acb18736bed74c218ee4023ed1e0e36cf2dd1612"><code>acb1873</code></a>
Merge pull request <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/prometheus/common/issues/860">#860</a">https://redirect.github.com/prometheus/common/issues/860">#860</a>
from prometheus/superq/linting</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/commit/1e323394d0ceaccda49f263dc81456e33af4263b"><code>1e32339</code></a">https://github.com/prometheus/common/commit/1e323394d0ceaccda49f263dc81456e33af4263b"><code>1e32339</code></a>
Cleanup linting issues</li>
<li>Additional commits viewable in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/prometheus/common/compare/v0.65.0...v0.67.4">compare">https://github.com/prometheus/common/compare/v0.65.0...v0.67.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/common&package-manager=go_modules&previous-version=0.65.0&new-version=0.67.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from
1.76.0 to 1.77.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/releases">google.golang.org/grpc's">https://github.com/grpc/grpc-go/releases">google.golang.org/grpc's
releases</a>.</em></p>
<blockquote>
<h2>Release 1.77.0</h2>
<h1>API Changes</h1>
<ul>
<li>mem: Replace the <code>Reader</code> interface with a struct for
better performance and maintainability. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8669">#8669</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8669">#8669</a>)</li>
</ul>
<h1>Behavior Changes</h1>
<ul>
<li>balancer/pickfirst: Remove support for the old
<code>pick_first</code> LB policy via the environment variable
<code>GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST=false</code>. The new
<code>pick_first</code> has been the default since <code>v1.71.0</code>.
(<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8672">#8672</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8672">#8672</a>)</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>xdsclient: Fix a race condition in the ADS stream implementation
that could result in <code>resource-not-found</code> errors, causing the
gRPC client channel to move to <code>TransientFailure</code>. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8605">#8605</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8605">#8605</a>)</li>
<li>client: Ignore HTTP status header for gRPC streams. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8548">#8548</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8548">#8548</a>)</li>
<li>client: Set a read deadline when closing a transport to prevent it
from blocking indefinitely on a broken connection. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8534">#8534</a">https://redirect.github.com/grpc/grpc-go/issues/8534">#8534</a>)
<ul>
<li>Special Thanks: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/jgold2-stripe"><code>@​jgold2-stripe</code></a></li">https://github.com/jgold2-stripe"><code>@​jgold2-stripe</code></a></li>
</ul>
</li>
<li>client: Fix a bug where default port 443 was not automatically added
to addresses without a specified port when sent to a proxy.
<ul>
<li>Setting environment variable
<code>GRPC_EXPERIMENTAL_ENABLE_DEFAULT_PORT_FOR_PROXY_TARGET=false</code>
disables this change; please file a bug if any problems are encountered
as we will remove this option soon. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8613">#8613</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8613">#8613</a>)</li>
</ul>
</li>
<li>balancer/pickfirst: Fix a bug where duplicate addresses were not
being ignored as intended. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8611">#8611</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8611">#8611</a>)</li>
<li>server: Fix a bug that caused overcounting of channelz metrics for
successful and failed streams. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8573">#8573</a">https://redirect.github.com/grpc/grpc-go/issues/8573">#8573</a>)
<ul>
<li>Special Thanks: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/hugehoo"><code>@​hugehoo</code></a></li">https://github.com/hugehoo"><code>@​hugehoo</code></a></li>
</ul>
</li>
<li>balancer/pickfirst: When configured, shuffle addresses in resolver
updates that lack endpoints. Since gRPC automatically adds endpoints to
resolver updates, this bug only affects custom LB policies that delegate
to <code>pick_first</code> but don't set endpoints. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8610">#8610</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8610">#8610</a>)</li>
<li>mem: Clear large buffers before re-using. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8670">#8670</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8670">#8670</a>)</li>
</ul>
<h1>Performance Improvements</h1>
<ul>
<li>transport: Reduce heap allocations to reduce time spent in garbage
collection. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8624">#8624</a">https://redirect.github.com/grpc/grpc-go/issues/8624">#8624</a>,
<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8630">#8630</a">https://redirect.github.com/grpc/grpc-go/issues/8630">#8630</a>,
<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8639">#8639</a">https://redirect.github.com/grpc/grpc-go/issues/8639">#8639</a>,
<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8668">#8668</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8668">#8668</a>)</li>
<li>transport: Avoid copies when reading and writing Data frames. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8657">#8657</a">https://redirect.github.com/grpc/grpc-go/issues/8657">#8657</a>,
<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8667">#8667</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8667">#8667</a>)</li>
<li>mem: Avoid clearing newly allocated buffers. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8670">#8670</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8670">#8670</a>)</li>
</ul>
<h1>New Features</h1>
<ul>
<li>outlierdetection: Add metrics specified in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/proposal/blob/master/A91-outlier-detection-metrics.md">gRFC">https://github.com/grpc/proposal/blob/master/A91-outlier-detection-metrics.md">gRFC
A91</a>. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8644">#8644</a">https://redirect.github.com/grpc/grpc-go/issues/8644">#8644</a>)
<ul>
<li>Special Thanks: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/davinci26"><code>@​davinci26</code></a">https://github.com/davinci26"><code>@​davinci26</code></a>, <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/PardhuKonakanchi"><code>@​PardhuKonakanchi</code></a></li">https://github.com/PardhuKonakanchi"><code>@​PardhuKonakanchi</code></a></li>
</ul>
</li>
<li>stats/opentelemetry: Add support for optional label
<code>grpc.lb.backend_service</code> in per-call metrics (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8637">#8637</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8637">#8637</a>)</li>
<li>xds: Add support for JWT Call Credentials as specified in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/proposal/blob/master/A97-xds-jwt-call-creds.md">gRFC">https://github.com/grpc/proposal/blob/master/A97-xds-jwt-call-creds.md">gRFC
A97</a>. Set environment variable
<code>GRPC_EXPERIMENTAL_XDS_BOOTSTRAP_CALL_CREDS=true</code> to enable
this feature. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8536">#8536</a">https://redirect.github.com/grpc/grpc-go/issues/8536">#8536</a>)
<ul>
<li>Special Thanks: <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/dimpavloff"><code>@​dimpavloff</code></a></li">https://github.com/dimpavloff"><code>@​dimpavloff</code></a></li>
</ul>
</li>
<li>experimental/stats: Add support for up/down counters. (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8581">#8581</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8581">#8581</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/805b1f88c5fb9419e3837c72e1deb9c2ec677ffe"><code>805b1f8</code></a">https://github.com/grpc/grpc-go/commit/805b1f88c5fb9419e3837c72e1deb9c2ec677ffe"><code>805b1f8</code></a>
Change version to 1.77.0 (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8677">#8677</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8677">#8677</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/ea7b66e1caa21b242b035bc4f598edb82093877f"><code>ea7b66e</code></a">https://github.com/grpc/grpc-go/commit/ea7b66e1caa21b242b035bc4f598edb82093877f"><code>ea7b66e</code></a>
Cherrypick <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8702">#8702</a">https://redirect.github.com/grpc/grpc-go/issues/8702">#8702</a> to
v1.77.x (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8709">#8709</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8709">#8709</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/cadae08d5f37d60083091c103a89d5566b7ae34e"><code>cadae08</code></a">https://github.com/grpc/grpc-go/commit/cadae08d5f37d60083091c103a89d5566b7ae34e"><code>cadae08</code></a>
Cherry-pick <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8536">#8536</a">https://redirect.github.com/grpc/grpc-go/issues/8536">#8536</a> to
v1.77.x (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8691">#8691</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8691">#8691</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/4288cfc5aba43fa11ad9b769f58b193b78f76a3b"><code>4288cfc</code></a">https://github.com/grpc/grpc-go/commit/4288cfc5aba43fa11ad9b769f58b193b78f76a3b"><code>4288cfc</code></a>
Cherrypick <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8657">#8657</a">https://redirect.github.com/grpc/grpc-go/issues/8657">#8657</a>
and <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8667">#8667</a">https://redirect.github.com/grpc/grpc-go/issues/8667">#8667</a> to
v1.77.x (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8690">#8690</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8690">#8690</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/f959da611763ff733f7fb6b4b04c0f796d0fa441"><code>f959da6</code></a">https://github.com/grpc/grpc-go/commit/f959da611763ff733f7fb6b4b04c0f796d0fa441"><code>f959da6</code></a>
transport: Reduce heap allocations (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8668">#8668</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8668">#8668</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/0d49384b60894f29d2da20f7f72987aed4fbb229"><code>0d49384</code></a">https://github.com/grpc/grpc-go/commit/0d49384b60894f29d2da20f7f72987aed4fbb229"><code>0d49384</code></a>
deps: update all dependencies (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8673">#8673</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8673">#8673</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/e3e142d0e32ff4e500ca140dc5eaed66adac9bfd"><code>e3e142d</code></a">https://github.com/grpc/grpc-go/commit/e3e142d0e32ff4e500ca140dc5eaed66adac9bfd"><code>e3e142d</code></a>
pickfirst: Remove old pickfirst (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8672">#8672</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8672">#8672</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/254ab1095e9f4179cebd36517bfb7e61b623e509"><code>254ab10</code></a">https://github.com/grpc/grpc-go/commit/254ab1095e9f4179cebd36517bfb7e61b623e509"><code>254ab10</code></a>
documentation: fix typos in benchmark and auth docs (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8674">#8674</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8674">#8674</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/2d56bdadb11058f67c48e3c837fcf4a487e15346"><code>2d56bda</code></a">https://github.com/grpc/grpc-go/commit/2d56bdadb11058f67c48e3c837fcf4a487e15346"><code>2d56bda</code></a>
mem: Remove Reader interface and export the concrete struct (<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8669">#8669</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8669">#8669</a>)</li>
<li><a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/commit/8ab0c8214a28222821a1a761996b76f9bfa6aca7"><code>8ab0c82</code></a">https://github.com/grpc/grpc-go/commit/8ab0c8214a28222821a1a761996b76f9bfa6aca7"><code>8ab0c82</code></a>
mem: Avoid clearing new buffers and clear buffers from simpleBufferPools
(<a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://redirect.github.com/grpc/grpc-go/issues/8670">#8670</a>)</li">https://redirect.github.com/grpc/grpc-go/issues/8670">#8670</a>)</li>
<li>Additional commits viewable in <a
href="/api/flow.js?q=https%3A%2F%2Fgithub.com%2Fcoder%2Fcoder%2Fpull%2F%253Ca%2520href%3D"https://github.com/grpc/grpc-go/compare/v1.76.0...v1.77.0">compare">https://github.com/grpc/grpc-go/compare/v1.76.0...v1.77.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.76.0&new-version=1.77.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>
**Add priorityClassName support to Coder Helm chart**

Add coder.priorityClassName configuration to the Helm chart that allows
setting the pod's priorityClassName in the deployment

**Usage:**

```
coder:
  priorityClassName: high-priority
```

See: #20676

---------

Co-authored-by: Rowan Smith <rowan@coder.com>
<!--

If you have used AI to produce some or all of this PR, please ensure you
have read our [AI Contribution
guidelines](https://coder.com/docs/about/contributing/AI_CONTRIBUTING)
before submitting.

-->

Making this PR to test the workflow

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…cond delay duration (#20869)

Part 1 of 2

- this sets up the TooltipProvider for Storybook in preview.tsx and for
the app in App.tsx along with removing TooltipProvider in some of the
usages of Tooltip
- I tested existing components that haven't had the TooltipProvider
removed and they still function correctly. So should be fine until the
2nd PR to complete the migration.

---------

Co-authored-by: Claude <noreply@anthropic.com>
)

Addresses [`aibridge#54`](coder/aibridge#54)

When querying against the values in the database for
`/api/experimental/aibridge/interceptions` we found strange behaviour
wherein there was interceptions that lacked prompting and other various
fields we want. Generally this was as a result of the data not actually
existing for these values (as they were inflight).

The simple solution to this was to hide them if they didn't exist. This
PR addresses that.

---------

Co-authored-by: Danny Kopping <danny@coder.com>
…y allocations (#20724)

Signed-off-by: Callum Styan <callumstyan@gmail.com>
Closes #20711

We now allow agents to be created on dormant workspaces.

I've ran the test with and without the change. I've confirmed that -
without the fix - it triggers the "rbac: unauthorized" error.
…20903)

Closes coder/internal#1135

---------

Signed-off-by: Danny Kopping <danny@coder.com>
fixes coder/internal#1123

We want to tests that ports are not included after they are no longer used, but this isn't safe on the real OS networking stack because there is no way to guarantee a port _won't_ be used. Instead, we introduce an interface and fake implementation for testing.

On order to leave the filtering logic in the test path, this PR also does some refactoring.

Caching logic is left in the real OS querying implementation and a new test case is added for it in this PR.
This PR adds the backend implementation for modifying task prompts. Part
of coder/internal#1084

## Changes

- New `UpdateTaskPrompt` database query to update task prompts
- New PATCH `/api/v2/tasks/{task}/prompt` endpoint

## Notes

This is part 1 of a 2-part PR stack. The frontend UI will be added in a
follow-up PR based on this branch
(#20812).

---

🤖 PR was written by Claude Sonnet 4.5 Thinking using [Coder
Mux](https://github.com/coder/cmux) and reviewed by a human 👩
Updates the dev containers documentation to accurately reflect that the
feature is generally available and document all configuration options.

Closes coder/internal#1138

---

🤖 PR was written by Claude Sonnet 4.5 Thinking using [Coder
Mux](https://github.com/coder/cmux) and reviewed by a human 👩
## Problem

Tasks currently only expose a machine-friendly name field (e.g.
`task-python-debug-a1b2`), but this value is primarily an identifier
rather than a clean, descriptive label. We need a separate
display-friendly name for use in the UI.

This PR introduces a new `display_name` field and updates the task-name
generation flow. The Claude system prompt was updated to return valid
JSON with both `name` and `display_name`. The name generation logic
follows a fallback chain (Anthropic > prompt sanitization > random
fallback). To make task names more closely resemble their display names,
the legacy `task-` prefix has been removed. For context, PR
#20834 introduced a small Task icon
to the workspace list to help identify workspaces associated to tasks.

## Changes

- Database migration: Added `display_name` column to tasks table
- Updated system prompt to generate both task name and display name as
valid JSON
- Task name generation now follows a fallback chain: Anthropic > prompt
sanitization > random fallback
- Removed `task-` prefix from task names to allow more descriptive names
- Note: PR #20834 adds a Task icon to
workspaces in the workspace list to distinguish task-created workspaces

**Note:** UI changes will be addressed in a follow-up PR

Related to: #20801
## Overview

This change promotes the tasks CLI commands from `coder exp task` to
`coder task`, marking them as generally available (GA).

## Migration

Users will need to update their scripts from:

```shell
coder exp task create "my task"
```

To:
```shell
coder task create "my task"
```

---

🤖 This change was written by Claude Sonnet 4.5 Thinking using [mux](https://github.com/coder/mux) and reviewed by a human 🏄🏻‍♂️
Supply-chain attacks are on the rise; Jakub is going to keep an eye on
things.

Signed-off-by: Danny Kopping <danny@coder.com>
Update boundary to v0.2.1 which uses sys-admin permissions to work with
newer kernel versions.
…1 row (#20917)

## Description

This PR fixes an issue where `GetLatestWorkspaceAppStatusesByAppID`
returned an unbounded number of rows for a given app ID, which could
cause performance issues for noisy or long-running AI tasks.

## Impact

This change reduces database query overhead for workspace app status
updates, particularly for busy AI tasks that update their status
frequently. Previously, fetching the latest status would return all
historical statuses, now it returns only the most recent one.

Fixes #20862

---

🤖 This change was written by Claude Sonnet 4.5 Thinking using [mux](https://github.com/coder/mux) and reviewed by a human 🏄🏻‍♂️
- Promote tasks from `/api/experimental` to `/api/v2`.
- Move sdk from `ExperimentalClient` to `Client`.
- Update swagger
## Summary

This change promotes Coder Tasks from Beta to GA by removing Beta labels
from:

- TasksPage UI component
- Documentation files

Tasks feature is now ready for general availability!

---

🤖 This change was written by Claude Sonnet 4.5 Thinking using
[mux](https://github.com/coder/mux) and reviewed by a human 🏂
@github-actions
Copy link


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


24 out of 25 committers have signed the CLA.
✅ (david-fraley)[https://github.com/david-fraley]
✅ (AlexanderSarson)[https://github.com/AlexanderSarson]
✅ (jakehwll)[https://github.com/jakehwll]
✅ (spikecurtis)[https://github.com/spikecurtis]
✅ (DanielleMaywood)[https://github.com/DanielleMaywood]
✅ (mafredri)[https://github.com/mafredri]
✅ (Emyrk)[https://github.com/Emyrk]
✅ (johnstcn)[https://github.com/johnstcn]
✅ (SasSwart)[https://github.com/SasSwart]
✅ (ssncferreira)[https://github.com/ssncferreira]
✅ (DevelopmentCats)[https://github.com/DevelopmentCats]
✅ (code-asher)[https://github.com/code-asher]
✅ (phorcys420)[https://github.com/phorcys420]
✅ (jaaydenh)[https://github.com/jaaydenh]
✅ (mtojek)[https://github.com/mtojek]
✅ (matifali)[https://github.com/matifali]
✅ (dannykopping)[https://github.com/dannykopping]
✅ (zedkipp)[https://github.com/zedkipp]
✅ (rowansmithau)[https://github.com/rowansmithau]
✅ (jdomeracki-coder)[https://github.com/jdomeracki-coder]
✅ (kacpersaw)[https://github.com/kacpersaw]
✅ (leo-wr-ps)[https://github.com/leo-wr-ps]
✅ (cstyan)[https://github.com/cstyan]
✅ (evgeniy-scherbina)[https://github.com/evgeniy-scherbina]
❌ @blinkagent[bot]
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@david-fraley
Copy link
Collaborator Author

Messed up a merge. Closing and remaking in #20928

@github-actions github-actions bot locked and limited conversation to collaborators Nov 25, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.