v1.12.0
Release Notes
These release notes describe all changes since the previous minor release, v1.11.0, not since the most recent 1.11.x patch. Some of the fixes and enhancements listed below were also delivered in the intervening v1.11.x patch releases; they are repeated here so this page is a complete record of what changed between 1.11.0 and 1.12.0.
New Features & Enhancements
Kubernetes
- The Containerd shim is now the default CRI integration for new installs. See Upgrade notes.
- Added CRI-O integration, including AppArmor support, alongside the existing Containerd shim.
- Added PCI device passthrough support for workloads run through the Containerd shim.
- The Helm chart now performs privileged host setup with an init container instead of a privileged DaemonSet.
Core
- KVM zones now survive a
protect-daemonrestart: the daemon adopts already-running KVM zones instead of destroying and recreating them. Configurable via the[kvm]section ofdaemon.toml. - Zone forking now carries a zone’s running workloads through the fork, including console and session state, instead of forking only the zone’s memory.
- Added the ability to hotplug an additional host-directory volume into a running workload without recreating the zone.
- Improved Xen PVH zone boot performance by building a domain’s initial memory with a copy hypercall instead of mapping it.
- When the
object-capabilities-v0feature is enabled, OCI image fetch and pack now run in their own capability-scoped processes instead of in the daemon. - Consolidated
protect-meminfointoprotect-monitorand fixed a startup-ordering issue between them. - Added an alpha, opt-in
zone-services-v0feature: a zone can advertise a name that every other zone resolves to its address through/etc/hosts. See thezone-services-v0feature flag.
Observability
- Added
zone_memory_target_bytes,zone_memory_min_bytes, andzone_memory_adjustment_policymetrics exposing each zone’s active memory-sizing (balloon) policy, plus per-NUMA-node vmstat snapshots and a last-transition timestamp alongside the existing memory-pressure metrics. See the metrics reference for details.
Integrations
- Updated Cloud Hypervisor to v53.
- Expanded SPIRE workload attestation with SVID projection and per-workload socket grants, along with a new
protect-ctl host spire-startcommand to launch a SPIRE server zone. Requires thespire-v0feature flag.
Bug Fixes
Kubernetes
- Fixed
ExecSyncCRI calls to use the workload’s environment. - Fixed CNI plugins to tolerate non-compliant
VERSIONcommand handlers. - The installer now detects a non-default CNI plugin binary directory configured via containerd, and seeds
cri.tomlappropriately. - The kubelet container runtime endpoint is now set with a systemd drop-in that appends
--container-runtime-endpointtoExecStart, instead of rewriting kubelet’s environment variables. - Fixed
protect-ctl workload execto run inside the workload’s cgroup. - Fixed a fallocate regression, multi-container networking, and OCI layer handling in the Containerd shim, and improved image import times.
- SPIRE agent-socket access inside a SPIRE-enabled zone is now opt-in per workload by default, instead of open to every workload.
Core
- Fixed a dom0 boot failure on PVH hosts, in some configurations.
- Removed the
mixednode type fromprotect-monitor. It now defaults toedera, which is the only recommended mode. - Fixed oversized IDM packets being silently dropped instead of fragmented, which could leave a pod stuck in
CreateContainerErrorwhen many environment variables were injected into a workload launch request (for example, via Kubernetes’enableServiceLinks). - Fixed IDM to terminate served streams when the transport reconnects.
- Fixed a seccomp filter bug where a rule’s action could match without its configured errno taking effect.
- Hardened the object-capability session protocol: capability names are validated as plain relative paths, and handlers refuse methods they haven’t opted in to.
- Fixed concurrent Xen domain destroys spinning inside the hypercall.
- The KVM runtime now accepts empty-body 200 responses from Cloud Hypervisor.
Observability
- Fixed zone CPU-time metrics running far faster than real time, on both Xen and KVM.
Installer
- Denylisted
virtio-balloonunder Xen. - Increased dom0 memory by 128 MiB by default when Kubernetes is enabled.
- Fixed an issue with
dracut107, present in Azure Linux 4, where--hostonlypacks only the filesystem modules currently loaded and skips the mounted-filesystem probe.
Known Issues
KVM support
- NUMA support is not enabled.
- Memory ballooning is not supported.
Upgrade notes
There are no known breaking changes in this release from the previous minor or patch release.
Containerd shim default for new installs
The containerd shim will be enabled by default for new installs but upgrades will continue to use the old CRI method.
Last updated on