# Release Notes for v0.20.0

Release Date: April 29th, 2026

This release is based on [3.29.0](https://github.com/kata-containers/kata-containers/releases/tag/3.29.0) of Kata Containers

This release includes the fix for a [critical CVE](https://github.com/kata-containers/kata-containers/security/advisories/GHSA-q49m-57vm-c8cc).

Usually CoCo ships every other Kata release, which would not include Kata 3.29.0.
Due to the aforementioned CVE fix, an additional release is being cut. 

This release uses v0.19.0 of Trustee and guest components.
Trustee and the guest components use KBS protocol v0.4.0.

Trustee and guest components use Rust v1.90.0.

Please see the [quickstart guide](https://confidentialcontainers.org/docs/getting-started/) or [project documentation](https://confidentialcontainers.org/docs) for more information.

## Deprecation Notices
* The Docker CAA provider is deprecated and planned to be dropped in the next release.
* The Fedora-based mkosi CAA podvm image is deprecated (replaced with a Ubuntu image) and planned to be dropped in the next release.
* The Cloud API Adaptor is moving away from building guest images with packer in favor of mkosi.
  Support for packer images will be dropped in some future release.

## What's New

* Improvements to reliability of Nydus snapshotter with containerd.
* Support for NVIDIA PPCIE in runtime, guest, and Trustee.
* Addition of `verbose_token` Trustee AS configuration.
* Improvements to TDX attestation in Trustee.
* Trustee uses unified key-value storage interface.
* Image-rs can validate multi-arch images where the manifest digest list is signed.
* Image-rs supports more signature algorithms via cosign.
* KBS Protocol can support more types of Tee public keys.

## Hardware Support

Attestation is supported and tested on three platforms: Intel TDX, AMD SEV-SNP, and IBM SEL.
Not all features have been tested on every platform, but those based on attestation
are expected to work on the platforms above.

Make sure your host platform is compatible with the hypervisor and guest kernel
provisioned by CoCo.

This release has been tested on the following stacks:

### AMD SEV-SNP

* Processor: AMD EPYC 7713
* Kernel: 6.16.0
* OS: Ubuntu 24.04 LTS
* k8s: v1.34.2 (Kubeadm)
* Kustomize: v5.7.1
* Containerd: v1.7.29

### Intel TDX

* Kernel: 6.17.0-14-generic
* OS: Ubuntu 24.04.4 LTS
* k8s: v1.35.2 (Kubeadm)
* Kustomize: v5.7.1

### IBM Secure Execution for Linux (SEL)

* Hardware: IBM Z16 LPAR
* Kernel: 6.8.0-90-generic
* OS: Ubuntu 24.04.2 LTS
* k8s: v1.34.0 (Kubeadm)
* Kustomize: v5.8.0

### NVIDIA

There are two NVIDIA runners.

* Hardware: Intel(R) Xeon(R) Gold 6354 and NVIDIA Corporation GH100
* Kernel: 6.17.0-8-generic
* OS: Ubuntu 25.10
* k8s: v1.34.3
* Kustomize: v5.7.1
* Containerd: v2.0.4 1a43cb6a1035441f9aca8f5666a9b3ef9e70ab20

* Hardware: AMD EPYC 9274F and NVIDIA Corporation GH100
* Kernel: 6.17.0-7-generic
* OS: Ubuntu 25.10
* k8s: v1.34.1
* Kustomize: v5.7.1
* Containerd: v2.2.0-beta.1 d94e514fc46c2a6ae371c026b234bb5c39194f52

## Limitations

The following are limitations and known issues with this release.

* Credentials for authenticated registries are exposed to the host.
* LUKS-based secure storage provides integrity protection, but not replay protection.
* Not all features are tested on all platforms.
* Nydus snapshotter support is not mature.
  * Nydus snapshotter sometimes fails to pull an image.
  * Host pulling with Nydus snapshotter is not yet enabled.
  * There is an experimental option to force guest image pull without a snapshotter.
    This is also not mature and must be manually configured.
* Pulling container images inside guest may have negative performance implications including greater resource usage and slower startup.
* `crio` support is still evolving.
* Platform support is rapidly changing
* SELinux is not supported on the host and must be set to permissive if in use.
* Complete integration with Kubernetes is still in progress.
  * Existing APIs do not fully support the CoCo security and threat model. [More info](https://github.com/confidential-containers/confidential-containers/issues/53)
  * Some commands accessing confidential data, such as `kubectl exec`, may either fail to work, or incorrectly expose information to the host
* The CoCo community aspires to adopting open source security best practices, but not all practices are adopted yet.
