New Features

  • Added support for deploying Operators as KOTS applications:
    • Added additionalImages to the kots.io/v1beta1, Kind=Application spec
    • Added new template functions for operators to read the local image name and image pull secrets
  • Added support for --kubeconfig and all other kubectl flags in all kots commands. These can be used with kubectl kots --kubeconfig ...
  • Added TLSKey and TLSCert template functions, to generate matching cert and private key for a hostname.


  • ConfigOption template functions will now be evaluated recursively. Items defined in the config can reference other config items, and will be updated when any value changes.
  • When there is no TTY, the default KOTS logger will not show a spinner.
  • The upstream directory has been excluded from diff calculation and view in order to show clearly what changes are being deployed.
  • The diff calculation now shows the lines added and removed in the base and downstream only.
  • kubectl kots admin-console upgrade command will no longer upgrade kURL installs.
  • kots can now push images to unsecured private registries.
  • Multi-doc YAML files will be automatically split when rendered into the base directory.
  • Added messages that show the reason that certs are not accepted when uploading them on the embedded cluster page
  • When uploading a cert with a hostname on the embedded cluster, the browser will automatically redirect to the hostname after applying the cert

Bug Fixes

  • kots version command now doesn’t hang and doesn’t display networking errors when it’s unable to connect to github.com to check for updates.
  • Fixed the issue that caused kURL installer to fail when kotsadm add-on was included, but application did not have any metadata.
  • Fixed the 404 error when Secure Console page is refreshed in the browser on kURL+kotsadm installs.
  • Clicking “Continue to Setup” on the Secure Console page no longer shows the “Anonymous uploads have been disabled” message.
  • Fixed the issue that allowed users to upload certificates that had expired or had an invalid hostname.
  • Fixed the issue that caused kURL installs to fail when kotsadm add-on is enabled but no app slug is specified.
  • Fixed the issue that caused scroll bars to be shown on the Preflight Checks page while the spinner is the only thing visible on the page.
  • Fixed the bug that caused GitOps page to show “Oops, something went wrong” message when trying to add a repo.
  • Fixed the support bundle command shown on embedded cluster installs.
  • Fixed the bug that caused updateCursor and versionLabel to be removed from the installation.yaml file by the kots pull command.
  • Fixed a bug that caused kots.io/exclude annotations to be either completely ignored or applied to all objects in a single file.
  • Fixed error display when the Add Node button on the Cluster Management page.