LXD 5.0.7 release notes

This is a LTS release and is recommended for production use.

Release notes content

These release notes cover updates in the core LXD repository and the LXD snap package.

This is a maintenance release for the 5.0 LTS series. It focuses on security hardening, stricter input validation, and bug fixes backported from the main development branch.

Highlights

This section highlights notable improvements in this release.

Security hardening

A number of inputs are now validated more strictly and some low-level options have been further restricted as part of security hardening backports:

  • Stricter image fingerprint validation, including computing and verifying the combined hash during image downloads.

  • Stricter validation of low-level VM options: raw.apparmor and raw.qemu.conf were added to the list of forbidden low-level options.

  • Improved validation when editing certificates.

  • Validation of struct slices and configuration during backup import.

  • Tightened the compression algorithm validation to only allow supported values.

Template rendering hardening

The instance template rendering logic was reworked to align with the standard RenderTemplate implementation. This introduces a recursion limit, blocks some pongo2 template functions, handles panics from the pongo2 package, and avoids leaking output from failed template execution.

Bug fixes

The following bug fixes are included in this release.

Backwards-incompatible changes

These changes are not compatible with older versions of LXD or its clients.

Minimum system requirement changes

The minimum supported version of some components has changed:

Stricter validation and tightened permissions

Several inputs are now validated more strictly, and some low-level options have been further restricted as part of security hardening backports. Requests that previously succeeded with malformed or unexpected values may now be rejected:

  • Stricter image fingerprint validation.

  • Stricter checks for low-level (raw.*) VM configuration options, including raw.apparmor and raw.qemu.conf.

  • Improved certificate edit validation.

  • Validation of struct slices and configuration during import.

  • The compression algorithm validation now only allows supported values.

Updated minimum Go version

If you are building LXD from source instead of using a package manager, the minimum version of Go required to build LXD is now 1.26.4 (previously 1.24.6).

Snap packaging changes

  • Transitioned the snap base from core20 to core22.

  • QEMU is now built from the Ubuntu source package (8.2.2+ds-0ubuntu1.17) instead of upstream Git.

  • Added an edk2/OVMF patch to disable the UEFI shell when Secure Boot is enabled.

  • Added the apparmor.unprivileged-restrictions-disable snap configuration option (default true).

  • The lxd-ui build now uses Node.js 20 (previously 18).

  • Refreshed the bundled Ceph stage libraries for core22.

  • libnvidia-container bumped to v1.19.1.

  • ZFS 2.2 bumped to 2.2.10.

Change log

View the complete list of all changes in this release.

Downloads

The source tarballs and binary clients can be found on our download page.

Binary packages are also available for:

  • Linux: snap install lxd --channel=5.0/stable

  • MacOS client: brew install lxc

  • Windows client: choco install lxc