<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/kubernetes-v1-37-storage-version-migration-enabled-by-default-k8snajxt8" -->

---
title: Kubernetes v1.37: Storage Version Migration Enabled by...
description: Storage version migration (SVM) has graduated to General Availability in Kubernetes v1.37, with the built-in StorageVersionMigration API...
canonical: https://daily.dev/posts/kubernetes-v1-37-storage-version-migration-enabled-by-default-k8snajxt8
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Kubernetes v1.37: Storage Version Migration Enabled by Default | daily.dev
og:description: Storage version migration (SVM) has graduated to General Availability in Kubernetes v1.37, with the built-in StorageVersionMigration API...
og:url: https://daily.dev/posts/kubernetes-v1-37-storage-version-migration-enabled-by-default-k8snajxt8
og:image: https://api.daily.dev/og/posts/K8snAJxt8.png
og:image:alt: Kubernetes v1.37: Storage Version Migration Enabled by Default
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Kubernetes v1.37: Storage Version Migration Enabled by Default

**[Kubernetes](https://daily.dev/sources/k8s)** · 4 min read · 0 upvotes · 0 comments

## Summary

Storage version migration (SVM) has graduated to General Availability in Kubernetes v1.37, with the built-in StorageVersionMigration API (storagemigration.k8s.io/v1) and its control plane controller now stable and enabled by default across all v1.37 clusters. SVM solves the problem of stale storage versions - resources left encoded in an old schema (e.g. v1alpha1) or under old encryption keys until actively rewritten. Administrators can now declaratively trigger migrations via a StorageVersionMigration object instead of relying on manual kubectl get/replace scripts or the out-of-tree kube-storage-version-migrator tool, and can monitor progress through the object's status conditions.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://kubernetes.io/blog/2026/08/31/kubernetes-v1-37-storage-version-migration-ga>

## Questions this post answers

### What changed with storage version migration in Kubernetes 1.37?

Storage version migration (SVM) graduated to General Availability in Kubernetes 1.37, meaning the built-in StorageVersionMigration API (storagemigration.k8s.io/v1) and its control plane controller are now stable and enabled by default across all v1.37 clusters. Previously this required manual kubectl get/replace scripts or the out-of-tree kube-storage-version-migrator component to rewrite resources into a new storage version.

_daily.dev helps cluster admins track Kubernetes release changes like this before rolling out upgrades._

### How do I migrate a CRD's stored resources to a new storage version in Kubernetes 1.37?

Create a declarative StorageVersionMigration object specifying the resource group and name, then apply it with kubectl apply. The built-in StorageVersionMigrator controller watches for these objects and automatically rewrites existing stored resources to the CRD's current default storage version, reporting progress and a Succeeded condition in the object's status.

_Teams migrating CRDs can follow evolving Kubernetes storage practices via daily.dev._

### Why do old resource versions like v1alpha1 stick around in Kubernetes storage after updating a CRD?

Kubernetes only rewrites a resource's storage version when that resource is actively mutated through the API server, so simply designating a new storage version like v1 does not retroactively convert resources still stored as v1alpha1 or v1beta1. Until every stored instance is rewritten, you cannot safely drop the old version from the CRD's .status.storedVersions or remove serving support for it.

_Understanding storage version quirks like this helps teams avoid breaking CRD upgrades, a topic daily.dev tracks._

## Similar posts on daily.dev

- [Kubernetes v1.36 Promotes Stability, Compatibility & Reproducibility](https://daily.dev/posts/kubernetes-v1-36-promotes-stability-compatibility-reproducibility-q5x4goaqb) · Cloud Native Now · 14 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes)

[View this post on daily.dev](https://daily.dev/posts/kubernetes-v1-37-storage-version-migration-enabled-by-default-k8snajxt8)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Kubernetes v1.37: Storage Version Migration Enabled by Default","url":"https://daily.dev/posts/kubernetes-v1-37-storage-version-migration-enabled-by-default-k8snajxt8","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/kubernetes-v1-37-storage-version-migration-enabled-by-default-k8snajxt8"},"datePublished":"2026-08-31T23:43:28.353Z","dateModified":"2026-09-01T00:49:00.561Z","description":"Storage version migration (SVM) has graduated to General Availability in Kubernetes v1.37, with the built-in StorageVersionMigration API...","image":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","thumbnailUrl":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","isAccessibleForFree":true,"articleSection":"Kubernetes","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Kubernetes","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/k8s","url":"https://daily.dev/sources/k8s"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/kubernetes-v1-37-storage-version-migration-enabled-by-default-k8snajxt8","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Kubernetes","item":"https://daily.dev/sources/k8s"},{"@type":"ListItem","position":3,"name":"Kubernetes v1.37: Storage Version Migration Enabled by Default"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/kubernetes-v1-37-storage-version-migration-enabled-by-default-k8snajxt8#faq","mainEntity":[{"@type":"Question","name":"What changed with storage version migration in Kubernetes 1.37?","acceptedAnswer":{"@type":"Answer","text":"Storage version migration (SVM) graduated to General Availability in Kubernetes 1.37, meaning the built-in StorageVersionMigration API (storagemigration.k8s.io/v1) and its control plane controller are now stable and enabled by default across all v1.37 clusters. Previously this required manual kubectl get/replace scripts or the out-of-tree kube-storage-version-migrator component to rewrite resources into a new storage version. daily.dev helps cluster admins track Kubernetes release changes like this before rolling out upgrades."}},{"@type":"Question","name":"How do I migrate a CRD's stored resources to a new storage version in Kubernetes 1.37?","acceptedAnswer":{"@type":"Answer","text":"Create a declarative StorageVersionMigration object specifying the resource group and name, then apply it with kubectl apply. The built-in StorageVersionMigrator controller watches for these objects and automatically rewrites existing stored resources to the CRD's current default storage version, reporting progress and a Succeeded condition in the object's status. Teams migrating CRDs can follow evolving Kubernetes storage practices via daily.dev."}},{"@type":"Question","name":"Why do old resource versions like v1alpha1 stick around in Kubernetes storage after updating a CRD?","acceptedAnswer":{"@type":"Answer","text":"Kubernetes only rewrites a resource's storage version when that resource is actively mutated through the API server, so simply designating a new storage version like v1 does not retroactively convert resources still stored as v1alpha1 or v1beta1. Until every stored instance is rewritten, you cannot safely drop the old version from the CRD's .status.storedVersions or remove serving support for it. Understanding storage version quirks like this helps teams avoid breaking CRD upgrades, a topic daily.dev tracks."}}]}
```

