Introduction
The LXD team would like to announce the release of LXD 4.0.10 LTS!
This is the tenth bugfix release for LXD 4.0 which is supported until June 2025.
Thank you to everyone who contributed to this release!
Bug fixes and improvements
New image server remote for non-Ubuntu images
There is now a new image server available (images.lxd.canonical.com
) that provides non-Ubuntu images. This remote is now bundled in the lxc
command by default under the remote name images
.
To see a list of available images run:
lxc image list images:
Complete changelog
Here is a complete list of all changes in this release:
Full commit list
- lxd/devlxd: Don’t expand format strings
- lxd/instance/qemu: Set spawn=allow
- *: mass rename github.com/lxc/lxd → github.com/canonical/lxd
- Makefile: Pin xgettext-go to working version
- Makefile: pin raft to a specific SHA1 commit
- Makefile: pin dqlite to a specific SHA1 commit
- lxd: Update instance types URL
- github: the sphinx config moved to doc/
- github: Update for new labeler
- github: add labels when PRs target LTS branches
- lxc/config/default: Remove images remote
- lxc/config/default: Add images remote for images.lxd.canonical.com
- lxd/config/default: Add images to DefaultRemotes
- *: replace images.linuxcontainers.org by images.lxd.canonical.com
- test: Flush routes on lo interface left over from liblxc ipvlan bug
- test: Fix container devices nic bridged filtering tests on recent versions of nftables
- lxd/instance/drivers/driver/lxc: Add support for disabling idmapped mounts via LXD_IDMAPPED_MOUNTS_DISABLE env var
- test: Fix manual shifting protection tests by disabling kernel shifting
- test: Order client dependencies alphabetically.
- *: Runs
gofmt -w -s ./
. - github: adapt snap build job from main branch
- lxd/config: Add ubuntu-minimal and ubuntu-minimal-daily remotes
- lxd-benchmark: Use image from ubuntu remote in description
- github: Update for current min Go version (1.16)
- doc: Clarify multiple GPU device passthrough for VMs.
- doc: Add basic instance exec information
- doc: use local image
- doc/instances: Removes trailing whitespace
- doc: Update for new myst_parser
- doc: move .sphinx directory and conf.py file
- doc: add a .readthedocs.yaml file
- doc: move requirement setup from the Makefile to conf.py
- doc: hide the version selector on RTD
- doc: fix styling of version box on RTD
- doc: add a 404 page
- doc: update header
- doc: update links
- doc: update header for mobile compatibility
- doc: Update links to new locations
- doc: changes to make the build work
- doc: fix symbolic link to rest-api.yaml after moving the directory
- doc: fix indentation in rest-api.yaml
- doc: add doc output to “make dist”
- doc: use newer Sphinx version
- doc: fix the footer
- doc: update footer to display correctly
- code of conduct: update email address
- build(deps): bump actions/labeler from 3 to 4
- build(deps): bump actions/upload-artifact from 2 to 3
- build(deps): bump actions/setup-go from 2 to 4
- build(deps): bump actions/checkout from 2 to 4
- build(deps): bump actions/labeler from 4 to 5
- build(deps): bump actions/setup-go from 4 to 5
- build(deps): bump actions/upload-artifact from 3 to 4
- README: change the branch for the GitHub badges
- README: remove link to CII Best Practices
- README: update link to tests status badge
- README: remove link to CI server status badge (not tested yet)
- SECURITY.md: update security policy
- lxd/migrate: update link to doc (new path and branch name)
- doc/security: update link for main branch
- CONTRIBUTING: update link for main branch
- Makefile: Update translation bugs email address.
- Makefile: support setting a custom version for
make dist
- Makefile: use go install instead of go get
- po: Run
LXD_OFFLINE=1 make update-pot
- po: Run
make update-po
- doc/metadata: Drop now unused file
- doc/requirements: bump Go min to 1.16
- test: drop dependency on uuidgen
- test/backends: sync with main branch
- test/backends/lvm: use bigger loop dev to accomodate for metadata LV
- test/includes: sync with main branch
- test/main: sync with main branch
- github: sync triage workflow with main branch
- github: sync tests workflow with main branch
- github: remove sphinx workflow (moved to tests)
- test: update shellcheck disable code
- test/suites/static_analysis: ignore some suggestions from shellcheck
- test/suites/static_analysis: disable go vet
- test/suites/static_analysis: skip doc/ directory
- github: make sure xgettext-go is available during offline build
- test/suites/storage: tune quota values
- test/suites/migration: skip optimized btrfs->btrfs migration
- test: BTRFS nospace_cache usage was failing to mount on 5.19.0-43-generic
- test/suites/storage_driver_btrfs: don’t test copy between pools
- test/suites/storage_driver_btrfs: skip --optimized-storage test
- lxd/util: Split
CheckTrustState
into two functions. - lxd-agent: Update calls to util.CheckTrustState.
- lxd/cluster: Update calls to util.CheckTrustState.
- lxd: Separately check CA signatures during authentication.
- lxd/util: Update info log to indicate CA restriction applies to clients.
- lxd: Disallow certificate creation in CA mode if cert is not signed by CA.
- shared: Set
GetClientCertificate
in TLS config. - test/suites: Improve PKI test coverage.
- test/suites/storage_local_volume_handling: skip storage volume copy on btrfs
- test/includes/check: don’t abort on find error
- test/suites/backup: don’t test optimized import on btrfs
- github: add commits job from main branch
- test/suites/container_local_cross_pool_handling: skip btrfs snapshot copy
- README: update link to CI tests badge
- test/suites: Grep for trusted certificate names with
-wF
flags. - github: Exclude lvm standalone tests as they fail on Github due to lack of space
Downloads
The release tarballs can be found on our download page.
Binary builds are also available for:
- Linux: snap install lxd
- MacOS: brew install lxc
- Windows: choco install lxc