cluster.ninja

API removals between two versions

Upgrading across several minors removes everything removed in each hop along the way. Pick your current and target version to list the API versions you lose.

All removals, newest first

Kubernetes 1.37 released 26 Aug 2026

KindAPI versionUse instead
ClusterTrustBundle certificates.k8s.io/v1alpha1 alpha · off certificates.k8s.io/v1
IPAddress networking.k8s.io/v1beta1 beta · off by default networking.k8s.io/v1
ServiceCIDR networking.k8s.io/v1beta1 beta · off by default networking.k8s.io/v1
VolumeAttributesClass storage.k8s.io/v1beta1 beta · off by default storage.k8s.io/v1

Kubernetes 1.35 released 17 Dec 2025

KindAPI versionUse instead
VolumeAttributesClass storage.k8s.io/v1alpha1 alpha · off storage.k8s.io/v1

Kubernetes 1.34 released 27 Aug 2025

KindAPI versionUse instead
ValidatingAdmissionPolicy admissionregistration.k8s.io/v1beta1 beta · off by default admissionregistration.k8s.io/v1
ValidatingAdmissionPolicyBinding admissionregistration.k8s.io/v1beta1 beta · off by default admissionregistration.k8s.io/v1

Kubernetes 1.33 released 23 Apr 2025

KindAPI versionUse instead
SelfSubjectReview authentication.k8s.io/v1beta1 beta · off by default authentication.k8s.io/v1

Kubernetes 1.32 released 11 Dec 2024

KindAPI versionUse instead
FlowSchema flowcontrol.apiserver.k8s.io/v1beta3 flowcontrol.apiserver.k8s.io/v1
PriorityLevelConfiguration flowcontrol.apiserver.k8s.io/v1beta3 flowcontrol.apiserver.k8s.io/v1
ValidatingAdmissionPolicy admissionregistration.k8s.io/v1alpha1 alpha · off admissionregistration.k8s.io/v1
ValidatingAdmissionPolicyBinding admissionregistration.k8s.io/v1alpha1 alpha · off admissionregistration.k8s.io/v1
SelfSubjectReview authentication.k8s.io/v1alpha1 alpha · off authentication.k8s.io/v1

Kubernetes 1.29 released 13 Dec 2023

Kubernetes 1.27 released 11 Apr 2023

KindAPI versionUse instead
CSIStorageCapacity storage.k8s.io/v1beta1 storage.k8s.io/v1

Kubernetes 1.26 released 9 Dec 2022

Kubernetes 1.25 released 23 Aug 2022

KindAPI versionUse instead
HorizontalPodAutoscaler autoscaling/v2beta1 autoscaling/v2
CronJob batch/v1beta1 batch/v1
EndpointSlice discovery.k8s.io/v1beta1 discovery.k8s.io/v1
Event events.k8s.io/v1beta1 events.k8s.io/v1
RuntimeClass node.k8s.io/v1beta1 node.k8s.io/v1
Eviction policy/v1beta1 policy/v1
PodDisruptionBudget policy/v1beta1 policy/v1
PodSecurityPolicy policy/v1beta1 Pod Security Admission (no API replacement)

Kubernetes 1.24 released 3 May 2022

KindAPI versionUse instead
CSIStorageCapacity storage.k8s.io/v1alpha1 alpha · off storage.k8s.io/v1
VolumeAttachment storage.k8s.io/v1alpha1 alpha · off storage.k8s.io/v1

Kubernetes 1.22 released 4 Aug 2021

KindAPI versionUse instead
AdmissionReview admission.k8s.io/v1beta1 admission.k8s.io/v1
MutatingWebhookConfiguration admissionregistration.k8s.io/v1beta1 admissionregistration.k8s.io/v1
ValidatingWebhookConfiguration admissionregistration.k8s.io/v1beta1 admissionregistration.k8s.io/v1
ConversionReview apiextensions.k8s.io/v1beta1 apiextensions.k8s.io/v1
CustomResourceDefinition apiextensions.k8s.io/v1beta1 apiextensions.k8s.io/v1
APIService apiregistration.k8s.io/v1beta1 apiregistration.k8s.io/v1
TokenReview authentication.k8s.io/v1beta1 authentication.k8s.io/v1
LocalSubjectAccessReview authorization.k8s.io/v1beta1 authorization.k8s.io/v1
SelfSubjectAccessReview authorization.k8s.io/v1beta1 authorization.k8s.io/v1
SelfSubjectRulesReview authorization.k8s.io/v1beta1 authorization.k8s.io/v1
SubjectAccessReview authorization.k8s.io/v1beta1 authorization.k8s.io/v1
CertificateSigningRequest certificates.k8s.io/v1beta1 certificates.k8s.io/v1
Lease coordination.k8s.io/v1beta1 coordination.k8s.io/v1
Ingress extensions/v1beta1 networking.k8s.io/v1
Ingress networking.k8s.io/v1beta1 networking.k8s.io/v1
IngressClass networking.k8s.io/v1beta1 networking.k8s.io/v1
ClusterRole rbac.authorization.k8s.io/v1beta1 rbac.authorization.k8s.io/v1
ClusterRoleBinding rbac.authorization.k8s.io/v1beta1 rbac.authorization.k8s.io/v1
Role rbac.authorization.k8s.io/v1beta1 rbac.authorization.k8s.io/v1
RoleBinding rbac.authorization.k8s.io/v1beta1 rbac.authorization.k8s.io/v1
PriorityClass scheduling.k8s.io/v1beta1 scheduling.k8s.io/v1
CSIDriver storage.k8s.io/v1beta1 storage.k8s.io/v1
CSINode storage.k8s.io/v1beta1 storage.k8s.io/v1
StorageClass storage.k8s.io/v1beta1 storage.k8s.io/v1
VolumeAttachment storage.k8s.io/v1beta1 storage.k8s.io/v1

Kubernetes 1.16 released 18 Sep 2019

KindAPI versionUse instead
ControllerRevision apps/v1beta1 apps/v1
ControllerRevision apps/v1beta2 apps/v1
DaemonSet apps/v1beta2 apps/v1
Deployment apps/v1beta1 apps/v1
Deployment apps/v1beta2 apps/v1
DeploymentRollback apps/v1beta1 apps/v1
ReplicaSet apps/v1beta2 apps/v1
ReplicaSet apps/v1beta1 apps/v1
Scale apps/v1beta1 autoscaling/v1
Scale apps/v1beta2 autoscaling/v1
StatefulSet apps/v1beta1 apps/v1
StatefulSet apps/v1beta2 apps/v1
DaemonSet extensions/v1beta1 apps/v1
Deployment extensions/v1beta1 apps/v1
DeploymentRollback extensions/v1beta1 —
NetworkPolicy extensions/v1beta1 networking.k8s.io/v1
PodSecurityPolicy extensions/v1beta1 Pod Security Admission (no API replacement)
ReplicaSet extensions/v1beta1 apps/v1
Scale extensions/v1beta1 —

Rows in grey were alpha, or beta versions that were off by default, so they only affected clusters that enabled them. Sources: lifecycle markers in the Kubernetes source (v1.37.2) and the official Deprecated API Migration Guide; see methodology for the cross-check.