For the full migration guide see MIGRATION.md.
Release highlights
- Release artifacts are now signed. Controller images use keyless Cosign signatures; both Helm charts (
karpenterandkarpenter-crd) include OpenPGP provenance signatures. The image and both charts also have GitHub build-provenance attestations. See Verify release artifacts to verify them before installation. Signatures and attestations for this release were checked against the release tag and workflow; they do not establish absence of vulnerabilities. - Karpenter core upgraded to v1.15.0. Review the migration guide for node-repair behavior, disruption metrics, and CRD/RBAC upgrade considerations.
What's Changed
New Features
- Add Terraform-managed persistent e2e environment by @dm3ch in #656
- feat: support resource manager tags on GCENodeClass by @taltsafrirpx in #670
- feat: add bare-metal instance selection by @joemiller in #672
- feat: add z4d support by @joemiller in #674
- chore: migrate to karpenter-core v1.15.0 by @dm3ch in #677
- feat: sign images and Helm charts and attest builds by @dm3ch in #691
- feat: support GPU time-sharing via GCENodeClass gpuSharingConfig by @taltsafrirpx in #700
- feat: add nodepool, nodeclass and cluster info to node disk labels by @afrancis101 in #703
- feat: add threadsPerCore to GCENodeClass by @djeebus in #718
- feat(instance): back off instance types that hit GCE quota by @taltsafrirpx in #721
- feat: add GKE-compatible minCpuPlatform and gVNIC configuration by @djeebus (original implementation) and @dm3ch (integration) in #727
- feat: add failSwapOn and memorySwap to kubeletConfiguration by @djeebus in #728
- feat: add deviceName to GCENodeClass data disks by @djeebus in #736
- feat: make telemetry opt-in via TELEMETRY by @djeebus in #743
- feat: make launch failure backoffs configurable by @djeebus (original implementation) and @dm3ch (integration) in #744
- feat: configure node shutdown with deterministic defaults by @djeebus (original implementation) and @dm3ch (integration) in #746
- feat: add GKE-style boot-disk swap by @djeebus (original implementation) and @dm3ch (integration) in #752
Bug Fixes
- fix(e2e): validate published release image alignment by @dm3ch in #669
- fix: remove unsupported PD capabilities from C4A and N4 by @joemiller in #676
- fix(chart): avoid managed NPD ports for Spot detector by @dm3ch in #684
- fix: derive GPU count from accelerator quantities by @dm3ch in #685
- fix: set target pod network labels for multi-networking by @dm3ch in #689
- fix: fail startup when default service account lookup fails by @dm3ch in #692
- fix: avoid GitHub schema downloads during CRD validation by @dm3ch in #695
- fix: configure dual-stack networking for GKE nodes by @jwcesign in #701
- fix(interruption): skip nodes without matching NodeClaims by @dm3ch in #705
- fix: preserve usable COS images during staggered rollouts by @dm3ch in #706
- fix(imagefamily): allow Ubuntu version pins with a release letter by @ryan-macdonald-nb in #715
- fix(instance): fall back to on-demand within Create after a spot stockout by @ryan-macdonald-nb in #716
- fix: size the image streaming cache for the launched machine type by @djeebus in #734
- fix(deps): resolve dependency security scanning alerts by @dm3ch in #740
Documentation
- docs: align pod range examples and troubleshooting with subnetRangeNames by @promptless-for-oss in #668
- docs: add binarly to ADOPTERS.md by @guitmz in #671
- docs: document Z4D local SSD support by @promptless-for-oss in #675
- docs: note custom role update needed for resourceManagerTags by @promptless-for-oss in #678
- feat: add cortea to adopters by @tbCortea in #680
- docs: note deploy/terraform Dataplane V2, system pool and release channel changes by @promptless-for-oss in #687
- docs: Add joemiller as approver and reviewer by @joemiller in #688
- docs: document startup default service account lookup by @promptless-for-oss in #693
- docs: Document GPU count semantics for instance-gpu-count by @promptless-for-oss in #696
- docs: document dual-stack GKE node networking by @promptless-for-oss in #702
- docs: migration note for Karpenter ownership labels on persistent disks by @promptless-for-oss in #704
- docs: describe Spot to on-demand fallback within a launch after a stockout by @promptless-for-oss in #717
- docs: note threadsPerCore halves the podsPerCore pod cap by @promptless-for-oss in #725
- docs: document GCE quota backoff in migration guide and troubleshooting by @promptless-for-oss (original documentation) and @dm3ch (integration) in #726
- Original contribution: #722.
- docs: list swap among settings not inherited from the bootstrap pool by @promptless-for-oss in #733
- docs: note image streaming cache sizing in bootstrap pool metadata sources by @promptless-for-oss in #735
- docs: point insufficient capacity troubleshooting to configurable backoffs by @promptless-for-oss in #742
- docs: add E2B to adopters by @djeebus in #748
- docs: note shutdown grace periods are not inherited from the bootstrap pool by @promptless-for-oss in #749
- docs: add post-release signature check to RELEASE.md by @promptless-for-oss in #751
Maintenance
- chore(pricing): scheduled pricing data refresh by @github-actions in #679
- chore(pricing): scheduled pricing data refresh by @github-actions in #698
- chore(pricing): scheduled pricing data refresh by @github-actions in #714
- chore(pricing): scheduled pricing data refresh by @github-actions in #720
- chore: check GCENodeClass ergonomics against GKE in Greptile by @dm3ch in #729
- chore(security): add CVE checks and Go/base-image updates by @dm3ch in #730
- ci: reuse upstream Go caching on main by @jwcesign in #737
- chore(ci): lock actions, harden automation, and scan images with Grype by @dm3ch in #739
- chore(pricing): scheduled pricing data refresh by @github-actions in #747
- chore(security): bump Go to 1.27.4 by @djeebus in #750
Dependency updates and release preparation
These PRs are normally excluded by the automated changelog configuration; they are listed here for complete accounting of the tagged commit range. The core upgrade (#677) is included under New Features above.
- chore(deps): bump sigs.k8s.io/gcp-compute-persistent-disk-csi-driver from 1.27.0 to 1.27.5 in /hack/pdcsi-data in the pdcsi-data group by @dependabot in #710
- chore(deps): bump sigs.k8s.io/controller-runtime from 0.25.1 to 0.25.2 in the karpenter-core group by @dependabot in #711
- chore(deps): bump the dev-tools group in /hack/tools with 79 updates by @dependabot in #712
- chore(deps): bump azure/setup-helm from 4.3.1 to 5.0.1 in the github-actions group by @dependabot in #713
- chore: prepare v0.8.0 release by @dm3ch in #756
New Contributors
- @taltsafrirpx made their first contribution in #670
- @tbCortea made their first contribution in #680
- @djeebus made their first contribution in #718
Full Changelog: v0.7.0...v0.8.0