vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
Add vcluster snapshot get command by @nprokopic in https://github.com/loft-sh/vcluster/pull/3269
Clean up volume snapshot resources after taking snapshot by @nprokopic in https://github.com/loft-sh/vcluster/pull/3275
Improve manifest e2e tests and fix snapshot test (and unerlying issue) by @nprokopic in https://github.com/loft-sh/vcluster/pull/3281
Update README.md by @pescerosso in https://github.com/loft-sh/vcluster/pull/3282
chore: undeprecate k8s.version by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3284
refactor: use InternalIP by default instead of hostname by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3285
Cancel previous in-progress snapshot requests for the same URL by @nprokopic in https://github.com/loft-sh/vcluster/pull/3277
Update README.md by @pescerosso in https://github.com/loft-sh/vcluster/pull/3283
v0.31.0 - vcluster Release Notes | AnnounceHQ
Fix: kube-cm crash because of wrong flag by @squ94wk in https://github.com/loft-sh/vcluster/pull/3287
ENG-9633 Add controlPlane.advanced.kubeVip by @squ94wk in https://github.com/loft-sh/vcluster/pull/3286
feat: Add --external for platform add by @cbalan in https://github.com/loft-sh/vcluster/pull/3272
skip restoring pvc(s) with failed snapshot by @neogopher in https://github.com/loft-sh/vcluster/pull/3279
Fix getting PVCs that should be snapshotted by @nprokopic in https://github.com/loft-sh/vcluster/pull/3296
Add snapshot Deleting phase by @nprokopic in https://github.com/loft-sh/vcluster/pull/3293
[main] Don't check if PVC should be restored when restore flag is not set (#3301) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3303
[main] Fix race condition in restore volumes e2e test (#3302) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3304
[main] Fix checking if the PVC is restored on the host (#3305) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3307
fix: snapshot delete request to deleting phase by @jjaferson in https://github.com/loft-sh/vcluster/pull/3306
ENG-9668 | Delete nodeProviders before deleting nodeTypes by @janekbaraniewski in https://github.com/loft-sh/vcluster/pull/3310
set vClusterName globally for the translate package for use in the restore pod by @neogopher in https://github.com/loft-sh/vcluster/pull/3309
Update README.md by @pescerosso in https://github.com/loft-sh/vcluster/pull/3299
bugfix: do not rely on the kubeconfig for getting SharedSecrets by @hidalgopl in https://github.com/loft-sh/vcluster/pull/3294
[main] Fix snapshot creation with private nodes (#3315) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3316
[main] Reduce log severity when patching snapshot request ConfigMap (#3317) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3318
refactor: do not create docs folders by @Piotr1215 in https://github.com/loft-sh/vcluster/pull/3322
docs: typo entry for CoreWeave in README by @zachspar in https://github.com/loft-sh/vcluster/pull/3323
[main] chore: bump vCluster dependency by @loft-bot in https://github.com/loft-sh/vcluster/pull/3314
chore(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3321
chore(deps): bump anchore/sbom-action from 0.20.6 to 0.20.9 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3320
chore(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3319
fix: prevent panic when getting service CIDR by @lizardruss in https://github.com/loft-sh/vcluster/pull/3327
fix: updated describe command to allow matching vClusters across different namespaces by @cbalan in https://github.com/loft-sh/vcluster/pull/3330
chore: extend the test framework to manage host kubeconfig file by @roehrijn in https://github.com/loft-sh/vcluster/pull/3326
refactor: konnectivity handler by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3335
refactor: remove konnectivity port by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3336
chore(deps): bump sorenlouv/backport-github-action from 9.5.1 to 10.2.0 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3334
[main] initialize expfmt.TextParser due to breaking change in prometheus/common-v0.66 (#3344) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3345
feat: allow PodDisruptionBudget configuration for vcluster control plane by @mfranczy in https://github.com/loft-sh/vcluster/pull/3341
upload k8s conformance test results for 1.34 by @kale-amruta in https://github.com/loft-sh/vcluster/pull/3346
chore: add claude review by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3347
chore(deps): bump platform MinimumVersionTag to v4.5.0 by @loft-bot in https://github.com/loft-sh/vcluster/pull/3324
feat: Add support for ingress network policies at vcluster creation time by @cbalan in https://github.com/loft-sh/vcluster/pull/3262
fix: claude-review by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3351
fix(charts): add field exportKubeConfig.additionalSecrets by @mayooot in https://github.com/loft-sh/vcluster/pull/3129
Adding tests for syncing service endpoint and endpointslice to host by @sowmyav27 in https://github.com/loft-sh/vcluster/pull/3187
ENG-9490 Support canonical name lookup of default/kubernetes svc by @squ94wk in https://github.com/loft-sh/vcluster/pull/3357
fix cert rotation for standalone by @hidalgopl in https://github.com/loft-sh/vcluster/pull/3354
chore: fix claude-review pipeline by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3360
refactor: run interrupt handlers before stopping vCluster by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3361
refactor: rewrite certain panics by @FabianKramm in https://github.com/loft-sh/vcluster/pull/3362
fix: flaky test for snapshot PV restore by @jjaferson in https://github.com/loft-sh/vcluster/pull/3368
add a fallback command for checking helm binary version (v4.x) by @neogopher in https://github.com/loft-sh/vcluster/pull/3373
test: Enable network policies by default in e2e tests by @cbalan in https://github.com/loft-sh/vcluster/pull/3374
refactor: rename and export patchSecret func by @johannesfrey in https://github.com/loft-sh/vcluster/pull/3377
feat(ci): cleanup backport branches by @Piotr1215 in https://github.com/loft-sh/vcluster/pull/3352
chore(deps): bump anchore/sbom-action from 0.20.9 to 0.20.10 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3371
chore(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3370
Skip admin email prompt when using new platform activation flow by @nprokopic in https://github.com/loft-sh/vcluster/pull/3385
chore(deps): bump golangci/golangci-lint-action from 8 to 9 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3349
feat(ci): skip linear comments for non-stable releases by @Piotr1215 in https://github.com/loft-sh/vcluster/pull/3331
chore(deps): bump platform MinimumVersionTag to v4.5.2 by @loft-bot in https://github.com/loft-sh/vcluster/pull/3391
fix: returning an error when vcluster config schema changed by @jjaferson in https://github.com/loft-sh/vcluster/pull/3386
chore(deps): bump alpine from 3.22 to 3.23 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3388
Updates go mod dependencies by @cbron in https://github.com/loft-sh/vcluster/pull/3399
chore(deps): bump peter-evans/create-pull-request from 7 to 8 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3400
chore(deps): bump anchore/sbom-action from 0.20.10 to 0.20.11 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3402
chore(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3401
bugfix(cli): use the helm version fallback command in the delete subcommand as well by @neogopher in https://github.com/loft-sh/vcluster/pull/3405
chore(deps): bump actions/download-artifact from 6 to 7 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3403
chore(deps): bump tj-actions/changed-files from 47.0.0 to 47.0.1 by @dependabot[bot] in https://github.com/loft-sh/vcluster/pull/3404
refactor: Added NetworkPolicyIngressRule and NetworkPolicyEgressRule types by @cbalan in https://github.com/loft-sh/vcluster/pull/3396
chore(deps): bump platform MinimumVersionTag to v4.5.3 by @loft-bot in https://github.com/loft-sh/vcluster/pull/3421
fix: inconsistent etcd snapshots by @mfranczy in https://github.com/loft-sh/vcluster/pull/3423
Deprecate ingress nginx by @rmweir in https://github.com/loft-sh/vcluster/pull/3395
Upgrade platform version to 4.6.0-alpha.8 by @ApsTomar in https://github.com/loft-sh/vcluster/pull/3425
fix: fall back to login flow if config access key is invalid by @lizardruss in https://github.com/loft-sh/vcluster/pull/3422
Cross vcluster apis by @janekbaraniewski in https://github.com/loft-sh/vcluster/pull/3418
CLI | Log helm command in debug instead of info by @janekbaraniewski in https://github.com/loft-sh/vcluster/pull/3429
ENG-10880 | Add accessResources to resource proxy config by @janekbaraniewski in https://github.com/loft-sh/vcluster/pull/3431
[v0.31] ENG-10923 | Add config validation for experimental custom resource proxy (#3436) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3439
[v0.31] Update jsonschema regex for target vc and make it required (#3443) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3445
[v0.31] Add optional project to targetVirtualCluster ref (#3447) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3453
Backport all PRs from main branch into v0.31 branch by @deniseschannon in https://github.com/loft-sh/vcluster/pull/3450
[v0.31] feat: add vCluster docker driver (#3460) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3461
[v0.31] feat: add docker registry proxy (#3465) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3467
[v0.31] fix(linear-sync): support variable-length team keys in issue regex (#3469) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3477
[v0.31] fix(assets scripts): support multiarch images (#3454) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3470
[v0.31] Check against using the same resource for both sync and proxy (#3471) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3480
[v0.31] fix: docker dns & better logging (#3478) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3479
[v0.31] Validate against api group being used in both sync and proxy (#3483) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3484
[v0.31] feat: add load balancer support & refactor (#3486) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3487
[v0.31] fix: pro feature enabled check (#3488) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3489
[v0.31] fix: add --docker to vcluster platform destroy (#3492) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3493
[v0.31] fix(linear-sync): look up team per issue instead of using global default (#3495) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3502
[v0.31] ci: add conflict marker detection to prevent accidental merges (#3466) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3519
[v0.31] fix: get containerd socket path (#3521) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3522
fix: platform version check for admin email prompt by @nprokopic in https://github.com/loft-sh/vcluster/pull/3523
[v0.31] fix: cilium, vpn & alpine issue (#3528) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3529
Update platform version to v4.6.0-rc.12 by @nprokopic in https://github.com/loft-sh/vcluster/pull/3531
[v0.31] feat: use LICENSE_TOKEN from env (#3541) by @loft-bot in https://github.com/loft-sh/vcluster/pull/3542
chore: Update minimum platform version to 4.6.0 by @nprokopic in https://github.com/loft-sh/vcluster/pull/3540
New Contributors
@zachspar made their first contribution in https://github.com/loft-sh/vcluster/pull/3323
Full Changelog: https://github.com/loft-sh/vcluster/compare/v0.30.4...v0.31.0