Commit Graph
11654 Commits
Author SHA1 Message Date
Sas SwartandMathias Fredriksson ce627bf23f feat: implement agent socket api, client and cli (#20758)
closes: https://github.com/coder/coder/issues/10352
closes: https://github.com/coder/internal/issues/1094
closes: https://github.com/coder/internal/issues/1095

In this pull request, we enable a new set of experimental cli commands
grouped under `coder exp sync`.
These commands allow any process acting within a coder workspace to
inform the coder agent of its requirements and execution progress. The
coder agent will then relay this information to other processes that
have subscribed.

These commands are:
```
# Check if this feature is enabled in your environment 
coder exp sync ping

# express that your unit depends on another
coder exp sync want <unit> <dependency_unit> 

# express that your unit intends to start a portion of the script that requires 
# other units to have completed first. This command blocks until all dependencies have been met
coder exp sync start <unit> 

# express that your unit has completes its work, allowing dependent units to begin their execution
coder exp sync complete <unit>
```

Example:

In order to automatically run claude code in a new workspace, it must
first have a git repository cloned. The scripts responsible for cloning
the repository and for running claude code would coordinate in the
following way:

```bash
# Script A: Claude code

# Inform the agent that the claude script wants the git script.
# That is, the git script must have completed before the claude script can begin its execution
coder exp sync want claude git

# Inform the agent that we would now like to begin execution of claude.
# This command will block until the git script (and any other defined dependencies)
# have completed
coder exp sync start claude

# Now we run claude code and any other commands we need
claude ...

# Once our script has completed, we inform the agent, so that any scripts that depend on this one
# may begin their execution

coder exp sync complete claude
```

```bash
# Script B: Git

# Because the git script does not have any dependencies, we can simply inform the agent that we 
# intend to start
coder exp sync start git

git clone ssh://git@github.com/coder/coder

# Once the repository have been cloned, we inform the agent that this script is complete, so that
# scripts that depend on it may begin their execution.
coder exp sync complete git
```

Notes:
* Unit names (ie. `claude` and `git`) given as input to the sync
commands are arbitrary strings. You do not have to conform to specific
identifiers. We recommend naming your scripts descriptively, but
succinctly.
* Scripts unit names should be well documented. Other scripts will need
to know the names you've chosen in order to depend on yours. Therefore,
you

---------

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2025-11-28 08:33:50 +02:00
Mathias Fredriksson ee58f40cad feat(site): add bulk delete for tasks (#20905)
This change implements bulk delete for tasks, closely copying UI and
components from workspaces batch actions.

Fixes coder/internal#1088
2025-11-27 16:05:17 +00:00
Susana Ferreira 21efebeadc fix: show task display name in task topbar (#20957)
## Description

Update task topbar in task page to show display name, instead of task
name.

Follow-up PR: https://github.com/coder/coder/pull/20918
Related to internal slack thread:
https://codercom.slack.com/archives/C0992H8HGCS/p1764086497375829
2025-11-27 15:57:35 +00:00
Michael Suchacz dba34da981 fix: make mux mandatory (#20969)
<!--

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.

-->
2025-11-27 15:02:17 +00:00
Sas Swart 1d726c81bb fix: remove a sensitive field from an agent log line (#20968)
This PR removes a log field that could expose sensitive information in
agent logs for workspaces that pass such information to the agent via
its manifest.
2025-11-27 16:12:03 +02:00
Danny Kopping ebbdfa03b8 chore: document bedrock setup process for aibridge (#20956)
Documents the steps needed to setup AWS Bedrock

See also: https://github.com/coder/coder/pull/20507

---------

Signed-off-by: Danny Kopping <danny@coder.com>
2025-11-27 10:14:16 +02:00
Jake Howell caf711d70a fix: ensure we check if the user can actually see ai bridge (#20942)
There was a mild regression here where-in if the user only had `AI
Bridge` they wouldn't be able to see this content in the dropdown menu.
This was necessary for reasons earlier with it being an experiment
however its now fine to check for this and won't upset anything.
2025-11-27 17:45:51 +11:00
Callum Styan d22d34e45b fix: pass context with authorization to agentapi (#20959)
The agentapi context needs to be a context with some amount of
authorization attached to it via the context so that the cache refresh
routine can fetch the workspace from the db via GetWorkspaceForAgentID.

---------

Signed-off-by: Callum Styan <callumstyan@gmail.com>
2025-11-26 14:53:16 -08:00
Yevhenii Shcherbina a6a8a060ea docs: update boundary docs (#20958) 2025-11-26 15:33:55 -05:00
Atif Ali e3671f38ff docs: change AI Bridge state from 'early access' to 'beta' (#20951)
<!--

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.

-->
2025-11-27 01:05:30 +05:00
Mathias Fredriksson bcc74b2664 docs: improve code comment guidelines for AI agents (#20952)
This PR enhances the CLAUDE.md document with comprehensive guidelines
for writing better code comments, specifically targeted at AI agents and
LLM-generated code.

## Changes

- **Proper sentence structure**: Comments should end with punctuation
- **Explain why, not what**: Focus on rationale rather than describing
code
- **Line length and wrapping**: 80-character width with natural wrapping

## Example

The guidelines include before/after examples showing the difference
between well-formatted, meaningful comments and poorly written ones.

## Impact

These standards will help ensure AI-generated code includes
professional, maintainable comments that align with project conventions.

---

🤖 This change was written by Claude Sonnet 4.5 Thinking using
[mux](https://github.com/coder/mux) and reviewed by a human 🏂
2025-11-26 18:46:37 +02:00
Mathias Fredriksson 363ed5f64a docs: consolidate cursorrules into AGENTS.md (#20950)
Replace `.cursorrules` with symlink to `AGENTS.md` to establish a single
authoritative document for AI agent guidelines.

Extract architectural documentation from `.cursorrules` into
`.claude/docs/ARCHITECTURE.md` for reference material.

This ensures all AI agents (Claude, Cursor, etc.) use the same
guidelines without duplication.

---

🤖 This change was written by Claude Sonnet 4.5 Thinking using
[mux](https://github.com/coder/mux) and reviewed by a human 🏂
2025-11-26 16:13:16 +02:00
Marcin Tojek 9c7135a61d chore: add license check for prebuilds (#20947)
Related: https://github.com/coder/coder/pull/20864
2025-11-26 15:00:07 +01:00
Mathias Fredriksson b7d8918d60 fix(site): only show active tasks in waiting for input tab (#20933)
This change filters out non-active tasks from the "Waiting for input"
tab filter for the tasks list.

---

🤖 This change was initially written by Claude Code using Coder Tasks, then reviewed and edited by a human 🏂
2025-11-26 13:13:39 +00:00
Danielle Maywood e7dbbcde87 fix: do not notify marked for deletion for deleted workspaces (#20937)
Closes https://github.com/coder/coder/issues/20913

I've ran the test without the fix, verified the test caught the issue,
then applied the fix, and confirmed the issue no longer happens.

---

🤖 PR was initially written by Claude Opus 4.5 Thinking using Claude Code
and then review by a human 👩
2025-11-26 09:23:16 +00:00
Zach bbf7b137da fix(cli): remove defaulting to keyring when --global-config set (#20943)
This fixes a regression that caused the VS code extension to be unable
to authenticate after making keyring usage on by default. This is
because the VS code extension assumes the CLI will always use the
session token stored on disk, specifically in the directory specified by
--global-config.

This fix makes keyring usage enabled when the --global-config directory
is not set. This is a bit wonky but necessary to allow the extension to
continue working without modification and without backwards compat
concerns. In the future we should modify these extensions to either
access the credential in the keyring (like Coder Desktop) or some other
approach that doesn't rely on the session token being stored on disk.

Tests:
`coder login dev.coder.com` -> token stored in keyring
`coder login --global-config=/tmp/ dev.coder.com` -> token stored in
`/tmp/session`
2025-11-26 10:17:31 +01:00
Mykyta ProtsenkoandDanny Kopping c87c33f7dd perf: add index to improve the GetWorkspaceAgentByInstanceID query performance (#20936)
## Context

GetWorkspaceAgentByInstanceID has a suboptimal plan. Even though it is
designed to fetch a small subset of records, there are no corresponding
indexes and that query results in full table scan:

Query:

```
SELECT id, auth_instance_id FROM workspace_agents
where auth_instance_id='i-013c2b96b6441648a' and deleted=FALSE;
```

Plan:

```
------------------------------------------------------------------------------------------------------------------
 Seq Scan on workspace_agents  (cost=0.00..222325.48 rows=2 width=36) (actual time=0.012..234.152 rows=4 loops=1)
   Filter: ((NOT deleted) AND ((auth_instance_id)::text = 'i-013c2b96b6441648a'::text))
   Rows Removed by Filter: 302276
 Planning Time: 0.173 ms
 Execution Time: 234.169 ms
```

After adding the index, the plan improves drastically.

Updated plan:

```
 Bitmap Heap Scan on workspace_agents  (cost=4.44..12.32 rows=2 width=36) (actual time=0.019..0.019 rows=0 loops=1)
   Recheck Cond: (((auth_instance_id)::text = 'i-013c2b96b6441648a'::text) AND (NOT deleted))
   ->  Bitmap Index Scan on workspace_agents_auth_instance_id_deleted_idx  (cost=0.00..4.44 rows=2 width=0) (actual time=0.013..0.014 rows=0 loops=1)
         Index Cond: (((auth_instance_id)::text = 'i-013c2b96b6441648a'::text) AND (deleted = false))
 Planning Time: 0.388 ms
 Execution Time: 0.044 ms
```

## Changes

* add an index to optimize this query

## Testing

* ran the queries manually against prod and test DBs
* ran `./scripts/develop.sh`, connected to the local PostgreSQL
instance, inspected the indexes to make sure new index is there:

```
Indexes:
    "workspace_agents_pkey" PRIMARY KEY, btree (id)
    // NEW INDEX CREATED SUCCESSFULLY  [comment is mine]
    "workspace_agents_auth_instance_id_deleted_idx" btree (auth_instance_id, deleted)
    "workspace_agents_auth_token_idx" btree (auth_token)
    "workspace_agents_resource_id_idx" btree (resource_id)
```

---------

Signed-off-by: Danny Kopping <danny@coder.com>
Co-authored-by: Danny Kopping <danny@coder.com>
2025-11-26 05:57:25 +02:00
George K a9261577bc perf: optimize migration 371 to run faster on large deployments (#20906)
closes https://github.com/coder/coder/issues/20899

This is in response to a migration in v2.27 that takes very long on
deployments with large `api_keys` tables.

NOTE: The optimization causes the _up_ migration to delete old data
(keys that expired more than 7 days ago). The _down_ migration won't
resurrect the deleted data.
2025-11-25 21:44:59 -06:00
Benjamin Cohen 9c2f94b574 fix(site): remove erroneous "install Cursor" notification for Cursor Desktop (#20875)
### Summary

This change removes the erroneous “Install Cursor” notification in the
desktop environment when Cursor is already installed. The issue is the
timeout of 500ms was simply too short for Cursor Desktop to respond in
time, so I increased it to 1500ms. This seems to consistently work, but
it could easily be increased to 2000ms to be safe.

### Issue

Fixes #20289

### Testing

- Verified that when Cursor is installed, the notification no longer
appears

### QA

#### Before


https://github.com/user-attachments/assets/facd2e74-6eb7-47ac-935d-7b11974648a0

#### After


https://github.com/user-attachments/assets/ced817d8-ca0c-428c-8436-5f30ffc6134b
2025-11-26 12:59:06 +11:00
Zach 6238a99275 feat(cli)!: enable keyring usage by default (#20851)
Make keyring usage for session token storage on by default for supported
platforms (Windows and macOS), with the ability to opt-out via
--use-keyring=false.

This change will be a breaking change for any users depending on the
session token being stored on disk, though users can restore file usage
via the flag above.

This change will also require CLI users to authenticate after updating.
2025-11-25 18:13:00 -07:00
Asher c266bb830c chore: add debug logging and recovery to agent api requests (#20785)
This is to debug context timeouts on API requests to the agent.

Because rbac and database cannot be imported in slim, split the logger
middleware into slim and non-slim versions and break out the recovery
middleware.
2025-11-25 14:59:20 -09:00
Callum Styan b0e8384b82 perf: reduce DB calls to GetWorkspaceByAgentID via caching workspace info (#20662)
---------

Signed-off-by: Callum Styan <callumstyan@gmail.com>
2025-11-25 14:45:05 -08:00
ケイラ 956cbe7751 chore: remove classic parameters frontend code (#20710) 2025-11-25 15:07:21 -07:00
Andrew Aquino 4863812d8c refactor: replace MUI Tooltip component with Tooltip (simple usage) (#20849)
for #19974 

Redo of #20027, this time splitting it into multiple PRs + using our
existing `Tooltip` component instead of creating a new component (see
below). This PR covers the most basic usage of the MUI Tooltip, i.e.,
the tooltip content is a string literal.

~~Adds a global `TooltipProvider` to `AppProviders` and our Storybook
decorators, so that we don't have to render a `TooltipProvider` for
every tooltip instance. Removing redundant `TooltipProvider`s will be
another separate PR~~ <- this was done by #20869
2025-11-25 13:40:26 -08:00
Danny Kopping e340560164 chore: actually store translated token metadata (#20929)
Signed-off-by: Danny Kopping <danny@coder.com>
2025-11-25 16:50:19 +00:00
Mathias Fredriksson e189dc1f81 fix: complete Tasks GA promotion (docs, site) (#20927)
## Summary

Completes the Coder Tasks GA promotion by updating swagger tags and
regenerating API documentation and updating the frontend API structure.

## Related

Follows #20923 and #20921 which promoted Tasks from Beta/Experimental to
GA.

---

🤖 This change was written by Claude Sonnet 4.5 Thinking using
[mux](https://github.com/coder/mux) and reviewed by a human 🏂
2025-11-25 16:46:13 +00:00
Susana Ferreira 2f399eafae feat(site): use display name field for tasks (#20918)
## Description

This PR updates the frontend to use the new `display_name` field for
tasks. In the tasks list view, `display_name` replaces `initial_prompt`,
and in the tasks sidebar, `display_name` replaces `name`. This is a
follow-up to https://github.com/coder/coder/pull/20856, which introduced
the `display_name` field in the backend.

## Changes

- Display `task.display_name` instead of `task.initial_prompt` in the
tasks table
- Display `task.display_name` instead of `task.name` in the task sidebar
view
- Updated mock data to include `display_name` for all test tasks
- Added Storybook story to showcase display name rendering with
different lengths (short, max length with ellipsis, and edge cases)

Follow-up: https://github.com/coder/coder/pull/20856
Closes: https://github.com/coder/coder/issues/20801
2025-11-25 16:29:54 +00:00
Mathias Fredriksson 02bac71421 feat: promote Tasks to GA (#20923)
## 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 🏂
2025-11-25 17:43:31 +02:00
Danielle Maywood b255827a52 chore: promote tasks to stable from experimental (#20921)
- Promote tasks from `/api/experimental` to `/api/v2`.
- Move sdk from `ExperimentalClient` to `Client`.
- Update swagger
2025-11-25 15:24:25 +00:00
Mathias Fredriksson 37fc6646ad perf(coderd/database): limit GetLatestWorkspaceAppStatusByAppID to 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 🏄🏻‍♂️
2025-11-25 16:56:42 +02:00
Yevhenii Shcherbina 5213023fe5 chore: update boundary to v0.2.1 (#20920)
Update boundary to v0.2.1 which uses sys-admin permissions to work with
newer kernel versions.
2025-11-25 09:17:20 -05:00
Danny Kopping ae2c94b322 chore: add @jdomeracki-coder as CODEOWNER of .github dir (#20919)
Supply-chain attacks are on the rise; Jakub is going to keep an eye on
things.

Signed-off-by: Danny Kopping <danny@coder.com>
2025-11-25 13:58:22 +00:00
Mathias Fredriksson ad8ba4aac6 feat(cli): promote tasks commands from experimental to GA (#20916)
## 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 🏄🏻‍♂️
2025-11-25 13:50:22 +00:00
Susana Ferreira 3011207519 feat: add display name field for tasks (#20856)
## 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
https://github.com/coder/coder/pull/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 https://github.com/coder/coder/pull/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: https://github.com/coder/coder/issues/20801
2025-11-25 13:00:59 +00:00
Atif Ali e8bf074022 chore: update AI client compatibility table in AI Bridge documentation (#20915) 2025-11-25 12:29:47 +00:00
Danielle Maywood 7fd9a450c1 docs: update dev containers documentation to reflect GA status (#20847)
Updates the dev containers documentation to accurately reflect that the
feature is generally available and document all configuration options.

Closes https://github.com/coder/internal/issues/1138

---

🤖 PR was written by Claude Sonnet 4.5 Thinking using [Coder
Mux](https://github.com/coder/cmux) and reviewed by a human 👩
2025-11-25 11:29:11 +00:00
Danielle Maywood 82f525baf3 feat(coderd): add task prompt modification endpoint (#20811)
This PR adds the backend implementation for modifying task prompts. Part
of https://github.com/coder/internal/issues/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
(https://github.com/coder/coder/pull/20812).

---

🤖 PR was written by Claude Sonnet 4.5 Thinking using [Coder
Mux](https://github.com/coder/cmux) and reviewed by a human 👩
2025-11-25 11:13:32 +00:00
Spike Curtis afd40436f0 fix: mock Agent querying OS for listening ports in tests (#20842)
fixes https://github.com/coder/internal/issues/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.
2025-11-25 14:25:24 +04:00
Danny Kopping 823009d9ea chore: document key scopes for OpenAI and Anthropic for aibridge (#20903)
Closes https://github.com/coder/internal/issues/1135

---------

Signed-off-by: Danny Kopping <danny@coder.com>
2025-11-25 11:33:07 +02:00
Danielle Maywood c12303f0b2 fix: allow agents to be created on dormant workspaces (#20909)
Closes https://github.com/coder/coder/issues/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.
2025-11-25 06:24:33 +00:00
Callum Styan 658e8c34a9 perf: improve performance of metricsAggregator path by reducing memory allocations (#20724)
Signed-off-by: Callum Styan <callumstyan@gmail.com>
2025-11-24 15:45:08 -08:00
Jake HowellandDanny Kopping ca560d36ce fix: remove inflight interceptions from aibridge returned values (#20852)
Addresses [`aibridge#54`](https://github.com/coder/aibridge/issues/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>
2025-11-25 10:23:39 +11:00
Jaayden HalkoandClaude 6c2900f138 refactor: use a global tooltip provider with a consistent 100 millisecond 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>
2025-11-24 18:22:54 -05:00
DevCatsandCopilot f08cb2f059 feat: add documentation check workflow for pull requests (#20907)
<!--

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>
2025-11-24 17:05:41 -06:00
leo-wr-psandRowan Smith 3847f3b297 feat(helm): add priorityClassName support (#20678)
**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: https://github.com/coder/coder/discussions/20676

---------

Co-authored-by: Rowan Smith <rowan@coder.com>
2025-11-25 09:06:33 +11:00
dependabot[bot] 42a24b7334 chore: bump google.golang.org/grpc from 1.76.0 to 1.77.0 (#20892)
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="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="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="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="https://redirect.github.com/grpc/grpc-go/issues/8605">#8605</a>)</li>
<li>client: Ignore HTTP status header for gRPC streams. (<a
href="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="https://redirect.github.com/grpc/grpc-go/issues/8534">#8534</a>)
<ul>
<li>Special Thanks: <a
href="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="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="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="https://redirect.github.com/grpc/grpc-go/issues/8573">#8573</a>)
<ul>
<li>Special Thanks: <a
href="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="https://redirect.github.com/grpc/grpc-go/issues/8610">#8610</a>)</li>
<li>mem: Clear large buffers before re-using. (<a
href="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="https://redirect.github.com/grpc/grpc-go/issues/8624">#8624</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8630">#8630</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8639">#8639</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8668">#8668</a>)</li>
<li>transport: Avoid copies when reading and writing Data frames. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8657">#8657</a>,
<a
href="https://redirect.github.com/grpc/grpc-go/issues/8667">#8667</a>)</li>
<li>mem: Avoid clearing newly allocated buffers. (<a
href="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="https://github.com/grpc/proposal/blob/master/A91-outlier-detection-metrics.md">gRFC
A91</a>. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8644">#8644</a>)
<ul>
<li>Special Thanks: <a
href="https://github.com/davinci26"><code>@​davinci26</code></a>, <a
href="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="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="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="https://redirect.github.com/grpc/grpc-go/issues/8536">#8536</a>)
<ul>
<li>Special Thanks: <a
href="https://github.com/dimpavloff"><code>@​dimpavloff</code></a></li>
</ul>
</li>
<li>experimental/stats: Add support for up/down counters. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8581">#8581</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/grpc/grpc-go/commit/805b1f88c5fb9419e3837c72e1deb9c2ec677ffe"><code>805b1f8</code></a>
Change version to 1.77.0 (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8677">#8677</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/ea7b66e1caa21b242b035bc4f598edb82093877f"><code>ea7b66e</code></a>
Cherrypick <a
href="https://redirect.github.com/grpc/grpc-go/issues/8702">#8702</a> to
v1.77.x (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8709">#8709</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/cadae08d5f37d60083091c103a89d5566b7ae34e"><code>cadae08</code></a>
Cherry-pick <a
href="https://redirect.github.com/grpc/grpc-go/issues/8536">#8536</a> to
v1.77.x (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8691">#8691</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/4288cfc5aba43fa11ad9b769f58b193b78f76a3b"><code>4288cfc</code></a>
Cherrypick <a
href="https://redirect.github.com/grpc/grpc-go/issues/8657">#8657</a>
and <a
href="https://redirect.github.com/grpc/grpc-go/issues/8667">#8667</a> to
v1.77.x (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8690">#8690</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/f959da611763ff733f7fb6b4b04c0f796d0fa441"><code>f959da6</code></a>
transport: Reduce heap allocations (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8668">#8668</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/0d49384b60894f29d2da20f7f72987aed4fbb229"><code>0d49384</code></a>
deps: update all dependencies (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8673">#8673</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/e3e142d0e32ff4e500ca140dc5eaed66adac9bfd"><code>e3e142d</code></a>
pickfirst: Remove old pickfirst (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8672">#8672</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/254ab1095e9f4179cebd36517bfb7e61b623e509"><code>254ab10</code></a>
documentation: fix typos in benchmark and auth docs (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8674">#8674</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/2d56bdadb11058f67c48e3c837fcf4a487e15346"><code>2d56bda</code></a>
mem: Remove Reader interface and export the concrete struct (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8669">#8669</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/8ab0c8214a28222821a1a761996b76f9bfa6aca7"><code>8ab0c82</code></a>
mem: Avoid clearing new buffers and clear buffers from simpleBufferPools
(<a
href="https://redirect.github.com/grpc/grpc-go/issues/8670">#8670</a>)</li>
<li>Additional commits viewable in <a
href="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>
2025-11-24 18:21:45 +00:00
dependabot[bot] ba242b5e77 chore: bump github.com/prometheus/common from 0.65.0 to 0.67.4 (#20890)
[//]: # (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="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="https://github.com/mmorel-35"><code>@​mmorel-35</code></a> in <a
href="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="https://github.com/JorTurFer"><code>@​JorTurFer</code></a> in <a
href="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="https://github.com/JorTurFer"><code>@​JorTurFer</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/865">prometheus/common#865</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="https://github.com/JorTurFer"><code>@​JorTurFer</code></a> in <a
href="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="https://github.com/bboreham"><code>@​bboreham</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/863">prometheus/common#863</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/JorTurFer"><code>@​JorTurFer</code></a>
made their first contribution in <a
href="https://redirect.github.com/prometheus/common/pull/862">prometheus/common#862</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="https://github.com/ndk"><code>@​ndk</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li>
<li>Cleanup linting issues by <a
href="https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/860">prometheus/common#860</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ndk"><code>@​ndk</code></a> made their
first contribution in <a
href="https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/853">prometheus/common#853</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="https://github.com/ywwg"><code>@​ywwg</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/833">prometheus/common#833</a></li>
<li>model: New test for validation with dots by <a
href="https://github.com/m1k1o"><code>@​m1k1o</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li>
<li>expfmt: document NewTextParser as required by <a
href="https://github.com/burgerdev"><code>@​burgerdev</code></a> in <a
href="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="https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="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="https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/849">prometheus/common#849</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/m1k1o"><code>@​m1k1o</code></a> made
their first contribution in <a
href="https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li>
<li><a href="https://github.com/burgerdev"><code>@​burgerdev</code></a>
made their first contribution in <a
href="https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="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="https://github.com/ndk"><code>@​ndk</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li>
<li>Cleanup linting issues by <a
href="https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/860">prometheus/common#860</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ndk"><code>@​ndk</code></a> made their
first contribution in <a
href="https://redirect.github.com/prometheus/common/pull/792">prometheus/common#792</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="https://redirect.github.com/prometheus/common/pull/853">prometheus/common#853</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="https://github.com/ywwg"><code>@​ywwg</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/833">prometheus/common#833</a></li>
<li>model: New test for validation with dots by <a
href="https://github.com/m1k1o"><code>@​m1k1o</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li>
<li>expfmt: document NewTextParser as required by <a
href="https://github.com/burgerdev"><code>@​burgerdev</code></a> in <a
href="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="https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="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="https://github.com/SuperQ"><code>@​SuperQ</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/849">prometheus/common#849</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/m1k1o"><code>@​m1k1o</code></a> made
their first contribution in <a
href="https://redirect.github.com/prometheus/common/pull/759">prometheus/common#759</a></li>
<li><a href="https://github.com/burgerdev"><code>@​burgerdev</code></a>
made their first contribution in <a
href="https://redirect.github.com/prometheus/common/pull/842">prometheus/common#842</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="https://github.com/aknuds1"><code>@​aknuds1</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/835">prometheus/common#835</a></li>
<li>Move to supported version of yaml parser by <a
href="https://github.com/dims"><code>@​dims</code></a> in <a
href="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="https://redirect.github.com/prometheus/common/issues/825">#825</a>)&quot;
by <a href="https://github.com/aknuds1"><code>@​aknuds1</code></a> in <a
href="https://redirect.github.com/prometheus/common/pull/838">prometheus/common#838</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="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="https://github.com/prometheus/common/commit/d80d8544703e59a080a204b6f7429ac6561fb24f"><code>d80d854</code></a>
chore: Add omitempty tag to all config fields (<a
href="https://redirect.github.com/prometheus/common/issues/865">#865</a>)</li>
<li><a
href="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="https://github.com/prometheus/common/commit/0b2fbf31f0e2c21d9e1a4e51e698188fae258cb2"><code>0b2fbf3</code></a>
chore: clean up golangci-lint configuration (<a
href="https://redirect.github.com/prometheus/common/issues/782">#782</a>)</li>
<li><a
href="https://github.com/prometheus/common/commit/b2cdb0785c1498399587cb0bf42aa960d810633a"><code>b2cdb07</code></a>
Merge pull request <a
href="https://redirect.github.com/prometheus/common/issues/863">#863</a>
from prometheus/remove-http2-comment</li>
<li><a
href="https://github.com/prometheus/common/commit/cd1ab56cc1e1d41dbc286d2e501e26515400b9be"><code>cd1ab56</code></a>
Config: remove outdated comment about HTTP/2 issues</li>
<li><a
href="https://github.com/prometheus/common/commit/f4c0aea59fa97a7627730e65cb2e625ec9fc45cf"><code>f4c0aea</code></a>
Support JWT Profile for Authorization Grant (RFC 7523 3.1) (<a
href="https://redirect.github.com/prometheus/common/issues/862">#862</a>)</li>
<li><a
href="https://github.com/prometheus/common/commit/594f4d4a984eb5f1ca8f0983f8b1790e77a5a725"><code>594f4d4</code></a>
Merge pull request <a
href="https://redirect.github.com/prometheus/common/issues/861">#861</a>
from prometheus/beorn7/version</li>
<li><a
href="https://github.com/prometheus/common/commit/440c1a30a0315f2ca0dba99fd7fffb288a3e898b"><code>440c1a3</code></a>
Cut v0.67.2</li>
<li><a
href="https://github.com/prometheus/common/commit/acb18736bed74c218ee4023ed1e0e36cf2dd1612"><code>acb1873</code></a>
Merge pull request <a
href="https://redirect.github.com/prometheus/common/issues/860">#860</a>
from prometheus/superq/linting</li>
<li><a
href="https://github.com/prometheus/common/commit/1e323394d0ceaccda49f263dc81456e33af4263b"><code>1e32339</code></a>
Cleanup linting issues</li>
<li>Additional commits viewable in <a
href="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>
2025-11-24 17:10:01 +00:00
Steven Masley 0c43789f3a test: move TestConvertStateGolden to only linux + mac (#20901)
Windows runners are flaky for golden files
closes https://github.com/coder/internal/issues/1141
2025-11-24 10:25:08 -06:00
Steven Masley cefe07d074 feat: purge expired api keys in dbpurge (#20863)
closes https://github.com/coder/coder/issues/19889

This is in response to a migration in v2.27 that takes very long on deployments with large `api_key` tables.
2025-11-24 10:24:32 -06:00
Danny Kopping c6631e1e50 feat: expose aibridged metrics (#20865)
Upgrades `coder/aibridge` to v0.2.0 which includes
https://github.com/coder/aibridge/pull/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
https://github.com/coder/aibridge/pull/62#discussion_r2550017470.

---------

Signed-off-by: Danny Kopping <danny@coder.com>
2025-11-24 18:16:06 +02:00