Skip to content

chore(apiversion): add guidelines regarding bumping apiversion #16009

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 2, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions apiversion/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// Package apiversion provides an API version type that can be used to validate
// compatibility between two API versions.
//
// NOTE: API VERSIONS ARE NOT SEMANTIC VERSIONS.
//
// API versions are represented as major.minor where major and minor are both
// positive integers.
//
// API versions are not directly tied to a specific release of the software.
// Instead, they are used to represent the capabilities of the server. For
// example, a server that supports API version 1.2 should be able to handle
// requests from clients that support API version 1.0, 1.1, or 1.2.
// However, a server that supports API version 2.0 is not required to handle
// requests from clients that support API version 1.x.
// Clients may need to negotiate with the server to determine the highest
// supported API version.
//
// When making a change to the API, use the following rules to determine the
// next API version:
// 1. If the change is backward-compatible, increment the minor version.
// Examples of backward-compatible changes include adding new fields to
// a response or adding new endpoints.
// 2. If the change is not backward-compatible, increment the major version.
// Examples of non-backward-compatible changes include removing or renaming
// fields.
package apiversion
Loading