Release notes
1.31.0
4 April 2025
This version is compatible with Kubernetes versions 1.30 to 1.32
Okteto Chart release 1.31 is designed to work with Okteto CLI 3.6.x
Deprecation Notice
- ⚠️ Important: Support for Docker Image Manifest Schema 1 images is removed in this (1.31) due to upstream dependency changes. If you are using older images, they may fail to pull or deploy.
Learn how to check and update your images →
New Features
- Added a new Okteto API endpoint to list users
- Added support for waking up resources within Development Environments respecting the dependencies defined through
depends_on
field in Docker Compose. By default this behavior is disabled, but it can be enabled with the feature flagOKTETO_COMPOSE_WAIT_FOR_DEPENDENCIES
(requires redeploying the application with Okteto CLI 3.6.0). - Added support for Kubernetes 1.32 (previous support for 1.29 was removed)
Improvements
- Improved error messages when ssh-keyscan error fails for deploys triggered from the UI,
okteto pipeline deploy
orokteto preview deploy
- Patched IngressNightmare CVE-2025-1974 to enhance platform security
- Upgraded our BuildKit client to 0.20.2
Bug Fixes
- The
baggage.divert
header is now properly propagated to downstream services when using thenginx
divert driver, allowing services to detect diverted requests - Fixed an issue where logs appeared out of order on initial load
- Support bundles now include Ingress NGINX logs and Helm values for installations managed via ArgoCD
- Fixed UI overflow in the deploy dialog when rendering long lists
Removal Notice
- Support for Kubernetes 1.29 has been removed in this release.
1.30.1
26 March 2025
This version is compatible with Kubernetes versions 1.29 to 1.31
Okteto Chart release 1.30 is designed to work with Okteto CLI 3.5.x
Improvements
- Updated ingress-nginx dependency as a preventive measure for a critical vulnerability. Note: The affected admission webhook component is not enabled by default in our deployments, but it could be enabled through helm settings
Bug Fixes
baggage.okteto-divert
HTTP header is now included on every request going through the ingress-controller when usingnginx
driver for Divert- Okteto CLI 3.5.1: Fixed Smart Builds cache calculation when the git repository has a high number of files in the build context
1.30.0
7 March 2025
This version is compatible with Kubernetes versions 1.29 to 1.31
Okteto Chart release 1.30 is designed to work with Okteto CLI 3.5.x
Deprecation Notice
- ⚠️ Important: Support for Docker Image Manifest Schema 1 images will be removed in next release (1.31) due to upstream dependency changes. If you are using older images, they may fail to pull or deploy.
Learn how to check and update your images →
New Features
- Okta User De-provisioning: Okta users can now be automatically de-provisioned in Okteto when removed from Okta
- Okteto Test Insights: You can now view average success time metrics for your Okteto Test runs in Okteto Insights
Improvements
- Automatic Cleanup of Orphaned Namespaces: Namespaces with no owner will now be automatically garbage collected to free up resources
- The ingress-nginx package has been upgraded to 4.12.0
- Improved the interaction between helm and Horizontal Pod Autoscaler(HPA) to avoid longer upgrade periods and unnecessary BuildKit restarts when the number of replicas specified in helm values differs from the ones HPA enforces
- If a deployment via UI,
okteto pipeline deploy
, orokteto preview deploy
can’t be scheduled, it will be marked as failed after 5 minutes. - Okteto CLI 3.5.0: Files listed in .dockerignore can now be excluded from the smart build context calculation by setting the Admin Variable
OKTETO_SMART_BUILDS_IGNORE_FILES_ENABLED
totrue
- Okteto CLI 3.5.0: We've optimized remote executions of Deploy and Destroy operations when buildkit execution is not needed
Bug Fixes
- Init container logs now appear before container logs in history
- Okteto CLI 3.5.0: The CLI now waits if Buildkit is not available
- Okteto CLI 3.5.0: The
OKTETO_AUTODEPLOY
feature flag now works as intended when set - Okteto CLI 3.5.0: Fixed re-deploy logic for compose files with
depends_on
between services. If a dependency failed in a previous operation, a redeploy sometimes was being considered failed as it was taking into account the previous state
Removal Notice
- Support for Kubernetes 1.28 has been removed in this release.
1.29.0
7 February 2025
This version is compatible with Kubernetes versions 1.28 to 1.31
Okteto Chart release 1.29 is designed to work with Okteto CLI 3.4.x
New Features
- Added support for Kubernetes 1.31
- Personal Namespaces can now be included in your Garbage Collection Policy
- Personal Namespaces themselves will not be deleted, but their unused resources (e.g., Pods, Services, ConfigMaps) will be removed following the Sleep and Delete Period settings
- To leave developer workflows untouched, Persistent Volume Claims (PVCs) within Personal Namespaces will not be deleted as part of this process
- Introducing the Okteto API (Beta)! 🎉 Now you can get programmatic information on namespaces and applications with authenticated API requests. Access the full API documentation via the Okteto Dashboard under Admin → Admin Access Tokens
Improvements
- Okteto CLI 3.4.0: Optimized image building in
okteto up
: Now, only the necessary images required for the process are built, instead of building all images. This reduces build times, speeds up environment startup, and minimizes unnecessary resource usage - Okteto CLI 3.4.0: Improve warnings when a CLI user has a different version than within the accepted range set by the Okteto Admin
- Added a warning for users on older browsers that may have compatibility issues
Bug Fixes
- Fixed an issue where Divert would not work with Docker Compose as intended
- Buildkit in rootless mode when running in Kubernetes 1.30 no longer adds a deprecated annotation
- Fixed an issue where Okteto failed to inject the ingress-nginx controller’s private IP in Okteto components when the service name was too long
Removal Notice
- Support for Kubernetes 1.27 has been removed in this release.
1.28.2
14 January 2025
This version is compatible with Kubernetes versions 1.27 to 1.30
Okteto Chart release 1.28 is designed to work with Okteto CLI 3.3.x
Bug Fixes
- Okteto CLI 3.3.1: Fixed an issue when deploying with divert through a docker compose file
1.28.1
10 January 2025
This version is compatible with Kubernetes versions 1.27 to 1.30
Okteto Chart release 1.28 is designed to work with Okteto CLI 3.3.x
Bug Fixes
- Okteto CLI 3.3.0: Fixed an issue where deployments of Compose files would always time out after 5 minutes
- Okteto CLI 3.3.0: Resolved a permission issue when deploying Compose files with volumes that were being initialized
1.28.0
10 January 2025
This version is compatible with Kubernetes versions 1.27 to 1.30
Okteto Chart release 1.28 is designed to work with Okteto CLI 3.3.x
New Features
- Okteto CLI 3.3.0: Introducing Okteto Validate, a CLI command allowing you to run validation on your Okteto Manifest
- All external dependencies now use images hosted under our Docker Hub organization okteto/ (e.g., ingress-nginx, reloader, redis)
Improvements
- Enabled hourly intervals for Garbage Collection delete schedules
- Add new
unschedulable
status for when a pod has the reason Unschedulable for more than 3 minutes - Okteto CLI 3.3.0: Upgraded our BuildKit client to 0.18.2
Bug Fixes
- Addressed inconsistent states in the logs filters within the UI to improve reliability
- Fixed an issue where the okteto deploy command did not correctly receive variables specified in the commands section of an Okteto Manifest
1.27.2
10 January 2025
This version is compatible with Kubernetes versions 1.27 to 1.30
Okteto Chart release 1.27 is designed to work with Okteto CLI 3.2.x
Bug Fixes
- Okteto CLI 3.2.3: Fixed an issue that was provoking that deployment of compose file were timing out always after 5 minutes
- Okteto CLI 3.2.3: Fixed a permission issue when deploying compose files with volumes, and the volume was being initialized
1.27.1
17 December 2024
This version is compatible with Kubernetes versions 1.27 to 1.30
Okteto Chart release 1.27 is designed to work with Okteto CLI 3.2.x
Bug Fixes
- Recovered
kustomize
binary as part of our default runner image.
1.27.0
12 December 2024
This version is compatible with Kubernetes versions 1.27 to 1.30
Okteto Chart release 1.27 is designed to work with Okteto CLI 3.2.x
Breaking Changes
- Remove code for our deprecated Quickstarts feature
- Helm chart now separates registry and repository fields for overwriting container images.
Update configurations for
backend.image
,frontend.image
,buildkit.image
,buildkit.rootless.image
,registry.image
following this guide if you have previously overwritten these. cue
,helmfile
,kustomize
,yq
anddocker-credential-ecr-login
binaries were removed from the Okteto's default pipeline runner image. If you need some of those binaries in your pipelines, you can build your own runner image.
New Features
- We now allow the ability for admins of Okteto to set the minimum accepted CLI version for their team. This will apply for all users who are using CLI 3.2.0 and above
- We've published the Okteto Manifest JSON Schema for inline suggestions and validation for creating and editing Okteto manifests within your code editor
- Added support for overwriting CLI images at the Helm chart level
- Shipped additional support for the installation of Okteto in Air-Gapped Environments
- Configured buildkit probes to only accept requests when buildkit is healthy
- Added support for configuring the Okteto control plane jobs TTL at the helm level
Improvements
- We've reorganized the Admin Dashboard menu items into groups for easier navigation
- For Catalog and Cloud Credentials items that were created via CRDs, we've added "read-only" tags in the Dashboard to avoid confusion on which items can be edited in the UI
- Updated buildkit cacheRatio default value to
0.5
- The Okteto installer image is no longer needed, binaries for the installer jobs are now installed from
okteto/backend
- Okteto CLI 3.2.1: We merged
okteto/bin
andokteto/busybox
images into theokteto/okteto
image to reduce the number of images used in the CLI workflow - Okteto CLI 3.2.1: You can now define the Admin Variable
OKTETO_DEV_PERSISTENT_VOLUME_SIZE
to configure the default volume size for Development Containers
Bug Fixes
- Added
globals.priorityClassName
to sleep/wake jobs and theevents-exporter
component - Added new logic to filter out terminated containers from Resource Manager calculations
- Redacted service accounts from our diagnostics package
- Okteto CLI 3.2.1: Fixed a problem when deploying a compose with failed health checks. We were not taking into account the timeout operation, so the deploy operation was stuck forever
1.26.1
12 November 2024
This version is compatible with Kubernetes versions 1.27 to 1.30
Bug Fixes
- Fixed the calculation of the total requested CPU/memory in Resource Manager Admin View by excluding completed pods.
- Fixed an issue when Resource Manager was enabled in Manual mode and
quotas.limitranges.requests.limitRequestRatio
was also set.
1.26.0
9 November 2024
This version is compatible with Kubernetes versions 1.27 to 1.30
Breaking Changes
Please read the following changes before upgrading to 1.26
- ACTION REQUIRED: Hostname Length Limit
Deployments now fail if a service hostname exceeds 63 characters, and an error message is shown. This limit is automatically applied to all resources. Previously, dev environments could deploy successfully even if endpoints didn’t work. This change may affect environments that deployed without issues before. - Helm Release Name Limit:
Helm release names are now limited to 63 characters. While this limit is automatically enforced for most resources, theDefaultBackend
service can still fail during installation if its name exceeds this limit.
To avoid installation errors, use thedefaultBackend.nameOverride
setting to shorten theDefaultBackend
service name. If you need to rename theDefaultBackend
during an upgrade,follow this guide as it may impact the installation. - Private Repository Deploys: Deploying private repositories now uses the Okteto backend as the SSH agent, rather than mounting the local SSH agent. This change ensures feature parity between remote and local deploys but may impact scenarios where private repositories are cloned as part of commands defined in the deploy section during remote execution
- Buildkit Persistence Enabled: Buildkit persistence is now enabled by default, with a 100Gi disk and cache set to 90% of the disk size. If you previously used
buildkit.persistence.cache
, adjust to the new ratio, as this setting is no longer applicable
New Features
- Introducing the Okteto Resource Manager: a new feature that automatically optimizes CPU and memory requests for your environments. By analyzing real-time resource utilization, the Resource Manager dynamically adjusts resource requests to ensure efficient usage, prevent node overload, and improve overall cluster performance. This feature simplifies resource management, reduces manual adjustments, and enhances application stability, especially in larger clusters. The default installation provides recommendations but doesn't apply them automatically. See our docs for details on how to apply these automatically
- Added Okteto Garbage Collector settings to the Admin Dashboard: Admins can now manage sleep and delete periods from the Dashboard, with the ability to set different configurations for Namespaces and Preview Environments
- Remote Execution can now be set as the default in the Okteto Admin Dashboard, allowing admins to enforce consistent remote deploys. Remote deploys also include improvements for feature parity with local deploys, such as the ability to specify the context synchronization folder and private Git repository cloning during deploy commands using SSH keys
- Added additional feature and documentation for running Buildkit at scale
Improvements
- Okteto will now automatically create a Docker secret if one doesn't already exist in the Controller Manager. This prevents a misleading warning that was being displayed in some scenarios when deploying from the UI
- Buildkit cache size is now automatically configured based on its PVC volume size
- Removed Buildkit persistency as an installation step now that it defaults to true
- The Okteto frontend now runs rootless by default, while Buildkit operates without privileges when rootless mode is enabled
- We've released Okteto CLI 3.1.0 with many new improvements
- Okteto CLI 3.1.0: Added support for a
context
field in the Okteto Manifest, allowing you to specify the working directory for commands in thedeploy
anddestroy
sections - Okteto CLI 3.1.0: Added automatic retry for build operations when BuildKit is unavailable due to transient errors. The behavior can be controlled using the environment variables
OKTETO_BUILDKIT_MAX_RETRIES_FOR_TRANSIENT_ERRORS
,OKTETO_BUILDKIT_WAIT_TIMEOUT
, andOKTETO_BUILDKIT_RETRY_INTERVAL
.
Bug Fixes
- Fixed an issue that was preventing Development Environments to be destroyed when the specified manifest doesn't exist
- Fixed a patch operation in the Okteto Insights cronjob that was causing the loss of node labels when there were concurrent operations from external processes
- Resolved an issue where build logs were not displayed in the UI when deploying dev or preview environments, causing the UI to appear frozen. Build logs now display correctly during deployments
1.25.0
7 October 2024
This version is compatible with Kubernetes versions 1.27 to 1.30
New Features
- Announcing Okteto CLI 3.0 - upgrading to chart release 1.25 requires a CLI upgrade to 3.0
- Announcing Cloud Credentials, a central location to manage your cloud provider credentials for
deploy
,destroy
, andtest
remote operations - Added official support for Red Hat OpenShift
- Added support and a new Namespace UI for resource quotas at the individual Namespace level. This allows administrators to set the maximum resources that can be used per Namespace
- Enabling Okteto Insights Dashboards for all SaaS and BYOC users of Okteto
- Added support to allow override of installer security context
Improvements
- Support for
priorityClassName
andaccessMode
for volumes created byokteto up
- Show more actionable feedback upon "failed to deploy okteto pipeline" error
- You can now list your Github App installations under Settings → Integrations
- Implemented a number of UI updates to ensure your Okteto experience stays smooth
- Made a number of improvements to the Okteto Insights Dashboards to display historical build and deploy data, and provide a better experience loading large datasets
Bug Fixes
- Okteto CLI 3.0: Fix in Smart Builds logic to properly calculate when to build a new image if the build context points to a parent folder
- Fixed wrong data parsing error from unknown git urls
- Fixed issue where interactive but hidden elements, such as links in closed deploy log stage, were wrongly accessible via keyboard navigation and screen readers
- Fixed issue preventing password managers from filling in the login token
- Reconfigured GitHub installation to error when trying to be installed by a non-admin
- Fixed external resources not being selectable on Preview Environments
- Fixed sleep namespaces job when statefulset within it is in dev mode
- Fix for Buildkit PVC cleanups in the "okteto" Namespace
- Fix keyboard navigation on Admin → Users actions dropdown menu
- Removed support for "Volumes" on the Admin Nodes view and Autoscaler
1.24.2
9 September 2024
This version is compatible with Kubernetes versions 1.27 to 1.30
Bug Fixes
- Fix high vulnerabilities in backend and pipeline installer images
1.24.1
9 September 2024
This version is compatible with Kubernetes versions 1.27 to 1.30
Bug Fixes
- Fix deploy of development environments from the UI when the git URL is from a self-hosted GitLab instance and it refers to repositories within Groups and Subgroups
1.24.0
9 September 2024
This version is compatible with Kubernetes versions 1.27 to 1.30