APIBreak

What Kubernetes changed, 30 April 2026 to 30 October 2026

1123 operations became 1172. 112 were removed, 0 were newly deprecated, 161 were added, and 0 request fields became required.

Read from kubernetes/kubernetes at 6691eca and 87bbc4c. Generated 31 October 2026 by the specification parser the APIBreak Action uses, applied to Kubernetes's published specification.

Kubernetes publishes the Swagger 2.0 description of its API server in kubernetes/kubernetes. This page reads api/openapi-spec/swagger.json on the main development branch, which runs ahead of the latest release, so check a change against the version your clusters run. None of its 1172 operations carries the deprecated flag (read 31 October 2026): Kubernetes deprecates whole API versions and documents them in its Deprecated API Migration Guide (kubernetes.io/docs/reference/using-api/deprecation-guide), so the deprecated lists on this page are empty by construction, not because nothing is deprecated. Shutdown dates are not in the specification, so this page does not state them.

Removed from the specification

  • DELETE /apis/certificates.k8s.io/v1alpha1/clustertrustbundles
  • DELETE /apis/certificates.k8s.io/v1alpha1/clustertrustbundles/{name}
  • DELETE /apis/networking.k8s.io/v1beta1/ipaddresses
  • DELETE /apis/networking.k8s.io/v1beta1/ipaddresses/{name}
  • DELETE /apis/networking.k8s.io/v1beta1/servicecidrs
  • DELETE /apis/networking.k8s.io/v1beta1/servicecidrs/{name}
  • DELETE /apis/resource.k8s.io/v1beta1/deviceclasses
  • DELETE /apis/resource.k8s.io/v1beta1/deviceclasses/{name}
  • DELETE /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims
  • DELETE /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims/{name}
  • DELETE /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaimtemplates
  • DELETE /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaimtemplates/{name}
  • DELETE /apis/resource.k8s.io/v1beta1/resourceslices
  • DELETE /apis/resource.k8s.io/v1beta1/resourceslices/{name}
  • DELETE /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups
  • DELETE /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups/{name}
  • DELETE /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/workloads
  • DELETE /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/workloads/{name}
  • DELETE /apis/storage.k8s.io/v1beta1/volumeattributesclasses
  • DELETE /apis/storage.k8s.io/v1beta1/volumeattributesclasses/{name}
  • GET /apis/certificates.k8s.io/v1alpha1/
  • GET /apis/certificates.k8s.io/v1alpha1/clustertrustbundles
  • GET /apis/certificates.k8s.io/v1alpha1/clustertrustbundles/{name}
  • GET /apis/certificates.k8s.io/v1alpha1/watch/clustertrustbundles
  • GET /apis/certificates.k8s.io/v1alpha1/watch/clustertrustbundles/{name}
  • GET /apis/networking.k8s.io/v1beta1/
  • GET /apis/networking.k8s.io/v1beta1/ipaddresses
  • GET /apis/networking.k8s.io/v1beta1/ipaddresses/{name}
  • GET /apis/networking.k8s.io/v1beta1/servicecidrs
  • GET /apis/networking.k8s.io/v1beta1/servicecidrs/{name}
  • GET /apis/networking.k8s.io/v1beta1/servicecidrs/{name}/status
  • GET /apis/networking.k8s.io/v1beta1/watch/ipaddresses
  • GET /apis/networking.k8s.io/v1beta1/watch/ipaddresses/{name}
  • GET /apis/networking.k8s.io/v1beta1/watch/servicecidrs
  • GET /apis/networking.k8s.io/v1beta1/watch/servicecidrs/{name}
  • GET /apis/resource.k8s.io/v1beta1/
  • GET /apis/resource.k8s.io/v1beta1/deviceclasses
  • GET /apis/resource.k8s.io/v1beta1/deviceclasses/{name}
  • GET /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims
  • GET /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims/{name}
  • GET /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims/{name}/status
  • GET /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaimtemplates
  • GET /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaimtemplates/{name}
  • GET /apis/resource.k8s.io/v1beta1/resourceclaims
  • GET /apis/resource.k8s.io/v1beta1/resourceclaimtemplates
  • GET /apis/resource.k8s.io/v1beta1/resourceslices
  • GET /apis/resource.k8s.io/v1beta1/resourceslices/{name}
  • GET /apis/resource.k8s.io/v1beta1/watch/deviceclasses
  • GET /apis/resource.k8s.io/v1beta1/watch/deviceclasses/{name}
  • GET /apis/resource.k8s.io/v1beta1/watch/namespaces/{namespace}/resourceclaims
  • GET /apis/resource.k8s.io/v1beta1/watch/namespaces/{namespace}/resourceclaims/{name}
  • GET /apis/resource.k8s.io/v1beta1/watch/namespaces/{namespace}/resourceclaimtemplates
  • GET /apis/resource.k8s.io/v1beta1/watch/namespaces/{namespace}/resourceclaimtemplates/{name}
  • GET /apis/resource.k8s.io/v1beta1/watch/resourceclaims
  • GET /apis/resource.k8s.io/v1beta1/watch/resourceclaimtemplates
  • GET /apis/resource.k8s.io/v1beta1/watch/resourceslices
  • GET /apis/resource.k8s.io/v1beta1/watch/resourceslices/{name}
  • GET /apis/scheduling.k8s.io/v1alpha2/
  • GET /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups
  • GET /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups/{name}
  • GET /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups/{name}/status
  • GET /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/workloads
  • GET /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/workloads/{name}
  • GET /apis/scheduling.k8s.io/v1alpha2/podgroups
  • GET /apis/scheduling.k8s.io/v1alpha2/watch/namespaces/{namespace}/podgroups
  • GET /apis/scheduling.k8s.io/v1alpha2/watch/namespaces/{namespace}/podgroups/{name}
  • GET /apis/scheduling.k8s.io/v1alpha2/watch/namespaces/{namespace}/workloads
  • GET /apis/scheduling.k8s.io/v1alpha2/watch/namespaces/{namespace}/workloads/{name}
  • GET /apis/scheduling.k8s.io/v1alpha2/watch/podgroups
  • GET /apis/scheduling.k8s.io/v1alpha2/watch/workloads
  • GET /apis/scheduling.k8s.io/v1alpha2/workloads
  • GET /apis/storage.k8s.io/v1beta1/
  • GET /apis/storage.k8s.io/v1beta1/volumeattributesclasses
  • GET /apis/storage.k8s.io/v1beta1/volumeattributesclasses/{name}
  • GET /apis/storage.k8s.io/v1beta1/watch/volumeattributesclasses
  • GET /apis/storage.k8s.io/v1beta1/watch/volumeattributesclasses/{name}
  • PATCH /apis/certificates.k8s.io/v1alpha1/clustertrustbundles/{name}
  • PATCH /apis/networking.k8s.io/v1beta1/ipaddresses/{name}
  • PATCH /apis/networking.k8s.io/v1beta1/servicecidrs/{name}
  • PATCH /apis/networking.k8s.io/v1beta1/servicecidrs/{name}/status
  • PATCH /apis/resource.k8s.io/v1beta1/deviceclasses/{name}
  • PATCH /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims/{name}
  • PATCH /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims/{name}/status
  • PATCH /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaimtemplates/{name}
  • PATCH /apis/resource.k8s.io/v1beta1/resourceslices/{name}
  • PATCH /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups/{name}
  • PATCH /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups/{name}/status
  • PATCH /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/workloads/{name}
  • PATCH /apis/storage.k8s.io/v1beta1/volumeattributesclasses/{name}
  • POST /apis/certificates.k8s.io/v1alpha1/clustertrustbundles
  • POST /apis/networking.k8s.io/v1beta1/ipaddresses
  • POST /apis/networking.k8s.io/v1beta1/servicecidrs
  • POST /apis/resource.k8s.io/v1beta1/deviceclasses
  • POST /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims
  • POST /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaimtemplates
  • POST /apis/resource.k8s.io/v1beta1/resourceslices
  • POST /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups
  • POST /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/workloads
  • POST /apis/storage.k8s.io/v1beta1/volumeattributesclasses
  • PUT /apis/certificates.k8s.io/v1alpha1/clustertrustbundles/{name}
  • PUT /apis/networking.k8s.io/v1beta1/ipaddresses/{name}
  • PUT /apis/networking.k8s.io/v1beta1/servicecidrs/{name}
  • PUT /apis/networking.k8s.io/v1beta1/servicecidrs/{name}/status
  • PUT /apis/resource.k8s.io/v1beta1/deviceclasses/{name}
  • PUT /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims/{name}
  • PUT /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaims/{name}/status
  • PUT /apis/resource.k8s.io/v1beta1/namespaces/{namespace}/resourceclaimtemplates/{name}
  • PUT /apis/resource.k8s.io/v1beta1/resourceslices/{name}
  • PUT /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups/{name}
  • PUT /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/podgroups/{name}/status
  • PUT /apis/scheduling.k8s.io/v1alpha2/namespaces/{namespace}/workloads/{name}
  • PUT /apis/storage.k8s.io/v1beta1/volumeattributesclasses/{name}

Newly deprecated in this window

A deprecation is the notice period. It is the cheapest moment to act and the easiest one to miss. This list compares operations present at the baseline.

No compared operation (one paired with a baseline operation) gained the deprecated flag in this window.

Deprecated as of the current specification (0)

Everything the vendor currently marks deprecated, whether or not it changed recently. The vendor has flagged each of these for possible removal, with or without a date attached.

No operation is currently marked deprecated.

Request fields removed from the specification

The current specification no longer lists these request fields, which the baseline did. A caller that still sends one is sending a parameter the new version does not define; whether Kubernetes rejects or ignores it at runtime is not something a specification diff can show, and what it means for an integration depends on how Kubernetes versions — see the note at the top of this page.

  • POST /api/v1/namespaces/{namespace}/pods no longer lists status.nodeAllocatableResourceClaimStatuses[].resources (*/*)
  • POST /apis/resource.k8s.io/v1/resourceslices no longer lists spec.devices[].nodeAllocatableResourceMappings (*/*)
  • POST /apis/resource.k8s.io/v1beta2/resourceslices no longer lists spec.devices[].nodeAllocatableResourceMappings (*/*)
  • PUT /api/v1/namespaces/{namespace}/pods/{name} no longer lists status.nodeAllocatableResourceClaimStatuses[].resources (*/*)
  • PUT /api/v1/namespaces/{namespace}/pods/{name}/ephemeralcontainers no longer lists status.nodeAllocatableResourceClaimStatuses[].resources (*/*)
  • PUT /api/v1/namespaces/{namespace}/pods/{name}/resize no longer lists status.nodeAllocatableResourceClaimStatuses[].resources (*/*)
  • PUT /api/v1/namespaces/{namespace}/pods/{name}/status no longer lists status.nodeAllocatableResourceClaimStatuses[].resources (*/*)
  • PUT /apis/resource.k8s.io/v1/resourceslices/{name} no longer lists spec.devices[].nodeAllocatableResourceMappings (*/*)
  • PUT /apis/resource.k8s.io/v1beta2/resourceslices/{name} no longer lists spec.devices[].nodeAllocatableResourceMappings (*/*)

Kubernetes API questions

Every answer below is computed from the snapshot above, and each links to the Kubernetes specification it was read from.

Which Kubernetes API endpoints were removed recently?
112 operations were removed from api/openapi-spec/swagger.json in kubernetes/kubernetes between 30 April 2026 and 30 October 2026: DELETE /apis/certificates.k8s.io/v1alpha1/clustertrustbundles, DELETE /apis/certificates.k8s.io/v1alpha1/clustertrustbundles/{name}, DELETE /apis/networking.k8s.io/v1beta1/ipaddresses, DELETE /apis/networking.k8s.io/v1beta1/ipaddresses/{name}, DELETE /apis/networking.k8s.io/v1beta1/servicecidrs, DELETE /apis/networking.k8s.io/v1beta1/servicecidrs/{name}, DELETE /apis/resource.k8s.io/v1beta1/deviceclasses, DELETE /apis/resource.k8s.io/v1beta1/deviceclasses/{name} and 104 more (all listed above). The file went from 1123 to 1172 operations.
Source: kubernetes/kubernetes, the two commits compared
Which Kubernetes API endpoints are deprecated?
No operation in api/openapi-spec/swagger.json in kubernetes/kubernetes, as of 30 October 2026, carries the deprecated flag. A specification can only show a deprecation the vendor marks in it, so Kubernetes's own changelog may still announce one.
Source: kubernetes/kubernetes, the two commits compared
Did any Kubernetes API request fields become required?
None between 30 April 2026 and 30 October 2026, among the JSON request bodies in api/openapi-spec/swagger.json in kubernetes/kubernetes the comparison could read. A field inside a union (anyOf or oneOf) is not compared, so it is not counted either way.
Source: kubernetes/kubernetes, the two commits compared
Where is the Kubernetes OpenAPI specification?
In the kubernetes/kubernetes repository on GitHub. This page reads api/openapi-spec/swagger.json at commit 87bbc4c, dated 30 October 2026.
Source: kubernetes/kubernetes on GitHub

The Action does not check Kubernetes yet

It checks GitHub REST and Stripe. If you want your CI to check the Kubernetes endpoints you call, say so in an issue, because requests like that decide which vendor the Action should support next.

a real report

API changes at other vendors

See every vendor