Files
coder/tailnet/proto/version.go
T
Ehab Younes 903d7b756d feat: add workspace agent session count protocol (#28125)
Phase 2 of the Scalable Approach for Adding New IDE Session Types RFC,
tracked in #27410.

Adds a session_counts map to Stats on the Agent API, so an agent can report
a count per app name instead of the four fixed fields, which are now marked
deprecated. Bumps the API to v2.11.

- coderd normalizes names on ingest, caps distinct entries, and sums the
  overflow under unknown, so an arbitrary client name cannot blow up
  cardinality.
- Agents predating v2.11 set the fixed fields instead, never both, and the
  ingest path falls back to them.

Nothing sends session_counts yet. The agent starts populating it in #28338.
2026-08-21 03:14:55 +03:00

94 lines
3.4 KiB
Go

package proto
import (
"github.com/coder/coder/v2/apiversion"
)
// Version history:
//
// API v1:
// - retroactively applied name for the HTTP Rest APIs for the Agent and the
// JSON over websocket coordination and DERP Map APIs for Tailnet
//
// API v2.0:
// - Shipped in Coder v2.8.0
// - first dRPC over yamux over websocket APIs for tailnet and agent
//
// API v2.1:
// - Shipped in Coder v2.12.0
// - Added support for multiple banners via the GetAnnouncementBanners RPC on
// the Agent API.
// - No changes to the Tailnet API.
//
// API v2.2:
// - Shipped in Coder v2.13.0
// - Added support for network telemetry via the PostTelemetry RPC on the
// Tailnet API.
// - No changes to the Agent API.
//
// API v2.3:
// - Shipped in Coder v2.18.0
// - Added support for client Resume Tokens on the Tailnet API via the
// RefreshResumeToken RPC. (This actually shipped in Coder v2.15.0, but we
// forgot to increment the API version. If you dial for API v2.2, you MAY
// be connected to a server that supports RefreshResumeToken, but be
// prepared to process "unsupported" errors.)
// - Added support for WorkspaceUpdates RPC on the Tailnet API.
// - Added support for ScriptCompleted RPC on the Agent API. (This actually
// shipped in Coder v2.16.0, but we forgot to increment the API version. If
// you dial for API v2.2, you MAY be connected to a server that supports
// ScriptCompleted, but be prepared to process "unsupported" errors.)
//
// API v2.4:
// - Shipped in Coder v2.20.0
// - Added support for GetResourcesMonitoringConfiguration and
// PushResourcesMonitoringUsage RPCs on the Agent API.
// - Added support for reporting connection events for auditing via the
// ReportConnection RPC on the Agent API.
//
// API v2.5:
// - Shipped in Coder v2.23.0
// - Added `ParentId` to the agent manifest.
//
// API v2.6:
// - Shipped in Coder v2.24.0
// - Added support for CreateSubAgent RPC on the Agent API.
// - Added support for DeleteSubAgent RPC on the Agent API.
// - Added support for ListSubAgents RPC on the Agent API.
// - Add ORGANIZATION SharingLevel
//
// API v2.7:
// - Added support for ReportBoundaryLogs RPC on the Agent API for forwarding
// boundary audit logs to coderd.
//
// API v2.8:
// - Added support for pre-created sub agents on the Agent API.
// - Added support for UpdateAppStatus on the Agent API.
//
// API v2.9:
// - Added session_id and confined_process fields to
// ReportBoundaryLogsRequest on the Agent API.
// - Added sequence_number field to BoundaryLog on the Agent API.
//
// API v2.10:
// - Added PushContextState RPC on the Agent API for pushing
// resolved workspace context snapshots (instruction files,
// skills, MCP configs, MCP server tool lists) from the
// agent to coderd. Adds ContextResource, PushContextStateRequest,
// and PushContextStateResponse messages. The coderd handler
// ships as a stub returning Unimplemented; the agent push
// loop shuts down cleanly on that response so older coderd
// deployments remain interoperable. Real persistence,
// KindMCPServer provider, and chatd hydration land in
// CODAGT-569.
//
// API v2.11:
// - Added the session_counts map to Stats on the Agent API, deprecating
// the fixed session_count_* fields.
const (
CurrentMajor = 2
CurrentMinor = 11
)
var CurrentVersion = apiversion.New(CurrentMajor, CurrentMinor)