For the full migration guide (CRD chart split, network config redesign, new IAM permission, network tags, and optional steps for GC controller adoption) see MIGRATION.md.
What's Changed
- fix: update installation command by @jwcesign in #213
- feat: support for IOPS and throughput by @sweetfxv in #210
- feat: add subnet range name to GCENodeClass by @cacarico in #215
- chore(deps): bump google.golang.org/grpc from 1.76.0 to 1.79.3 in the go_modules group across 1 directory by @dependabot[bot] in #217
- fix: include disk config in instance type cache key by @dm3ch in #221
- fix(ci): enforce code formatting in CI by @dm3ch in #223
- fix(toolchain): remove sudo from toolchain and codegen scripts by @dm3ch in #225
- fix: arm kube-env patch by @thameezb in #219
- chore: bump Go 1.24.6 → 1.25.0 and pin CI go-version-file by @dm3ch in #226
- ci: enable Go module and toolchain caching in presubmit by @dm3ch in #232
- chore: bump cloud.google.com/go/compute v1.38.0 → v1.56.0 + fix local SSD sizing by @dm3ch in #227
- fix: propagate buildInstance errors instead of logging and returning nil by @dm3ch in #241
- fix: copy Scheduling struct in setupScheduling to avoid template mutation by @dm3ch in #240
- fix(instance): add idempotency guard and async delete for GCE instances by @dm3ch in #243
- feat: add shieldedInstanceConfig support to GCENodeClass by @sleterrier in #251
- fix(arm64): use arch-native node pool templates instead of patching kube-env by @dm3ch in #236
- fix(instance): skip zones with cached insufficient capacity in zone selection by @dm3ch in #245
- doc: add dm3ch as the maintainer by @jwcesign in #254
- fix: pass capacityType into buildInstance to prevent spot/on-demand provisioning mismatch by @dm3ch in #238
- feat(e2e): add e2e test framework and suites (provisioning, consolidation, drift, expiration, networking) by @dm3ch in #249
- feat: add NetworkConfig for per-interface network settings (private nodes) by @dm3ch in #229
- feat(gc): add GC controller to delete orphaned GCE instances by @dm3ch in #244
- fix(makefile): scope ut-test coverage to package under test by @dm3ch in #256
- test(e2e): re-enable GC and networking e2e specs by @dm3ch in #257
- fix(instancetype): use GCP API architecture field instead of hardcoded ARM family list by @dm3ch in #259
- docs: add initial documentation by @dm3ch in #269
- chore(chart): add artifacthub-repo.yml for Verified Publisher badge by @dm3ch in #271
- chore: upgrade Go version to 1.26 by @dm3ch in #273
- fix(instance): retry transient 503s in operation poll to prevent double-insertion by @dm3ch in #268
- test(e2e): Add ubuntu provisioning scenarios and improve node is ready checks. by @dm3ch in #262
- chore(deps): upgrade karpenter-core to v1.8.0 by @dm3ch in #265
- chore(ci): fix toolchain caching — skip install on hit, cache kubebuilder, pin @latest tools by @dm3ch in #275
- chore(chart): add helm-docs README and fix chart description by @dm3ch in #272
- chore(ci): automate Helm chart release pipeline by @dm3ch in #274
- feat(cloudprovider): implement GKE-correct RepairPolicies and NodeRepair feature gate by @dm3ch in #266
- feat(chart): add values.schema.json for Helm chart validation by @dm3ch in #270
- fix(ci): add explicit permissions to workflow jobs by @dm3ch in #278
- fix(chart): allow staticCapacity and nodeRepair in values.schema.json by @sleterrier in #287
- chore(deps): bump go.opentelemetry.io/otel from 1.39.0 to 1.41.0 in the go_modules group across 1 directory by @dependabot[bot] in #286
- docs: add node-repair and static-capacity pages; fix values schema for image.digest by @dm3ch in #277
- feat(imagefamily): resolve images from GKE catalog instead of template boot disks by @dm3ch in #280
- chore(deps): upgrade karpenter-core from v1.8.0 to v1.12.0 by @dm3ch in #276
- test(drift): fix nil nodeClass panic; add unit tests and e2e NodeClassDrift coverage by @dm3ch in #289
- feat(networking): derive network interfaces/tags from cluster API; redesign networkConfig API by @dm3ch in #284
- feat(price_validate): add price validation tool and automated pricing CI by @dm3ch in #231
- fix: update slack channel and owners by @thameezb in #300
- chore: use karpenter-gcp slack channel by @thameezb in #303
- feat(chart): add karpenter-crd Helm chart for independent CRD lifecycle by @dm3ch in #285
- Update Slack link in README.md by @dm3ch in #304
- fix(imagefamily): exclude cgpv1 COS images from auto-selection by @dm3ch in #309
- chore: prepare v0.3.0 release by @dm3ch in #307
New Contributors
- @cacarico made their first contribution in #215
- @sleterrier made their first contribution in #251
Full Changelog: v0.2.1...v0.3.0