3.25 Releases

Convox 3.25 upgrades Kubernetes to 1.35 across all providers. The 3.25.1 release extends per-app instance cost tracking to Azure racks with refreshed price tables for both AWS and Azure, adds Karpenter NodeOverlay support for fractional-GPU instance families and custom price modeling, expands convox run with six new pod customization flags, adds a CLI guard that stops builds from silently dropping environment variables set in the running release, and propagates renewed certificates to app namespaces automatically.

3.25.0

Released: 2026-07-08

Updates

  • Upgraded Kubernetes to v1.35 across all providers (EKS, GKE, AKS, DOKS)
  • Updated kube-proxy to v1.35.3
  • Updated VPC CNI to v1.22.3
  • Updated CoreDNS to v1.14.3
  • Updated EBS CSI Driver to v1.62.0
  • Updated EFS CSI Driver to v3.3.0
  • Updated Cluster Autoscaler to v1.35.0

View on GitHub

3.25.1

Released: 2026-07-17

Feature Additions

  • Added per-app instance cost tracking for Azure racks via the new cost_tracking_enable rack parameter, enabling convox cost per-service breakdowns, Console cost dashboards, and per-app monthly budget caps with convox budget set, with automatic spot node pool detection and discounting
  • Added the karpenter_node_overlays_config rack parameter for creating Karpenter NodeOverlays, which can advertise extended resources such as nvidia.com/gpu on fractional-GPU instance families (g6f, gr6f) or adjust the prices Karpenter uses in its provisioning cost model
  • Added six optional convox run flags for per-invocation pod customization: --termination-grace, --annotations, --labels, --use-service-lifecycle, --node-affinity, and --tolerations
  • Added a CLI preflight check on convox build, convox deploy, and convox test that stops a build from dropping environment variables set in the running release, with a --force flag to bypass when the drop is intentional

Updates

  • Updated the Karpenter chart from 1.10.0 to 1.13.1, adding Kubernetes 1.35 and 1.36 support. Racks with Karpenter enabled may see a one-time gradual node replacement after this update, depending on whether the chart change alters the NodePool drift hash. Any replacement is graceful and bounded by karpenter_disruption_budget_nodes (default 10%); lower that value before updating for a slower roll
  • Expanded the AWS and Azure instance price tables to 489 instance types each, covering arm64 Graviton, AMD, network-optimized, storage-optimized, high-memory, and GPU families, with AWS prices refreshed to current us-east-1 Linux on-demand list prices
  • Run and timer pods now honor the service's termination.grace setting from convox.yml, matching the behavior of service deployments

Fixes

  • Renewed Let's Encrypt certificates now propagate automatically from the rack namespace to app namespaces, so services referencing a certificate through the certificate: option always serve the current certificate without requiring a new deploy

View on GitHub

See Also