Features
- (BREAKING) addition of launch timeout for nodeclaim lifecycle (#2349) #2349 (Reed Schalo)
- Add the Node Overlay CRD (#2296) #2296 (Amanuel Engeda)
- Add a feature flag for Node Overlay (#2404) #2404 (Amanuel Engeda)
- Add StaticCapacity feature flag (#2405) #2405 (Sumukha Radhakrishna)
- Create optional operator arguments to leverage leader lease functionality (#2433) #2433 (Derek Frank)
- Add NodeOverlay Controller Support (#2306) #2306 (Amanuel Engeda)
Bug Fixes
- pod errors when nodepool requirements filter all instance types (#2341) #2341 (Reed Schalo)
- handle multiple PDBs for the same pod more gracefully (#2379) #2379 (Saurav Agarwalla)
- rate limit eviction when PDBs are blocking (#2399) #2399 (Jason Deal)
- BREAKING: update naming of karpenter_pods_drained_total (#2421) #2421 (Andy Townsend)
- pod metrics when pod is terminal (#2417) #2417 (Jigisha Patil)
- do not block drifted nodes from being terminated if consolidation is disabled (#2423) #2423 (Saurav Agarwalla)
- Don't schedule a pod with DRA requirements (#2384) #2384 (Alima Azamat)
- support arbitrary reserved capacity labels for drift (#2476) #2476 (Jason Deal)
- Fix nil pointer exception for multiNodeConsolidation (#2472) #2472 (Jonathan Innis)
- avoid hash collisions with duplicate match expressions (#2479) #2479 (Jason Deal)
- Validate unsupported provisioners on bound PVs (#2480) #2480 (Jonathan Innis)
- make toolchain failing due to deletion of asciicheck (#2485) #2485 (Sumukha Radhakrishna)
- Handle PVC edge cases handled by kube-scheduler (#2488) #2488 (Jonathan Innis)
- Handle unbound volumes with volumeName defined (#2487) #2487 (Jonathan Innis)
Documentation
- Node Overlay RFC (#2166) #2166 (Amanuel Engeda)
- Add IBM Cloud provider (#2396) #2396 (Josephine Pfeiffer)
- static capacity RFC (#2309) #2309 (Sumukha Radhakrishna)
Code Refactoring
- Create a NopValidator for the disruption testing (#2369) #2369 (Jonathan Innis)
- Update disruption testing from PR comments (#2372) #2372 (Jonathan Innis)
- use iterator for iterating state nodes (#2483) #2483 (Jason Deal)
Performance Improvements
- Optimistically delete from the cache after launch (#2380) #2380 (Jonathan Innis)
- Add flag to disable costly metrics controllers (#2354) #2354 (Derek Frank)
- concurrent reconciles CPU-based scaling (#2406) #2406 (ryan-mist)
- Disruption Queue Retry Duration Scaling (#2411) #2411 (ryan-mist)
- Typed Bucket Scaling (#2420) #2420 (ryan-mist)
- Update the Node Repair Controller for requeue time (#2286) #2286 (Amanuel Engeda)
Continuous Integration
- Include K8s version 1.33 and 1.34 in testing (#2465) #2465 (Jonathan Innis)
- revert k8s 1.34 addition (#2475) #2475 (Jason Deal)
- enable k8s 1.34 tests (#2481) #2481 (Jason Deal)
Chores
- deps: bump github.com/docker/docker from 28.3.0+incompatible to 28.3.1+incompatible in the go-deps group (#2355) #2355 (dependabot[bot])
- deps: bump the go-deps group with 2 updates (#2373) #2373 (dependabot[bot])
- Consider node.kubernetes.io/not-ready:NoExecute as ephemeral (#2265) #2265 (Jigisha Patil)
- ignore pods that use unsupported provisioner in the storageClass (#2400) #2400 (Jigisha Patil)
- ignore pods that have unbound pvc with volumeBindingMode immediate (#2415) #2415 (Jigisha Patil)
- bump go version to 1.24.6 (#2432) #2432 (Reed Schalo)
- deps: bump the go-deps group with 5 updates (#2442) #2442 (dependabot[bot])
- deps: bump actions/checkout from 4.2.2 to 5.0.0 in /.github/actions/install-pyroscope in the action-deps group (#2428) #2428 (dependabot[bot])
- deps: bump the actions-deps group across 1 directory with 2 updates (#2443) #2443 (dependabot[bot])
- deps: bump actions/cache from 4.2.3 to 4.2.4 in /.github/actions/install-deps in the action-deps group (#2425) #2425 (dependabot[bot])
- Pin GH action SHAs for run-bench-test (#2448) #2448 (Jonathan Innis)
- update operatorpkg (#2455) #2455 (Derek Frank)
- Track NodeClaims in NodePoolState (#2449) #2449 (Sumukha Radhakrishna)
- deps: bump the k8s-go-deps group across 1 directory with 7 updates (#2456) #2456 (dependabot[bot])
- increase MaxInstanceTypes to give cloud-providers more control over instance type truncation (#2430) #2430 (Brandon Wagner)
- deps: bump the go-deps group with 2 updates (#2461) #2461 (dependabot[bot])
- deps: bump amannn/action-semantic-pull-request from 6.0.1 to 6.1.1 in the actions-deps group (#2462) #2462 (dependabot[bot])
- deps: bump actions/checkout from 4.2.2 to 5.0.0 in /.github/actions/install-prometheus in the action-deps group (#2426) #2426 (dependabot[bot])
- Change appName from const to var (#2489) #2489 (Andrew Mitchell)
- deps: bump actions/setup-go from 5.5.0 to 6.0.0 in /.github/actions/install-deps in the action-deps group (#2494) #2494 (dependabot[bot])
- deps: bump actions/setup-python from 5.6.0 to 6.0.0 in the actions-deps group (#2493) #2493 (dependabot[bot])
- deps: bump the go-deps group with 6 updates (#2491) #2491 (dependabot[bot])
- deps: bump the k8s-go-deps group with 4 updates (#2492) #2492 (dependabot[bot])
- remove duplicate reconcile logging (#2496) #2496 (Ryan Mistretta)
- bump operatorpkg version (#2500) #2500 (Andrew Mitchell)