Releases: canonical/lxd
Releases · canonical/lxd
LXD 6.8
Announcement
- Announcement: https://discourse.ubuntu.com/t/lxd-6-8-has-been-released/80650
- Release notes: https://documentation.ubuntu.com/lxd/latest/reference/release-notes/release-notes-6.8/
What's Changed
- Less negative
grepby @simondeziel in #17751 - Use source file size when recreating volumes during recovery by @kadinsayani in #17752
- shared/cert: Close the response body in GetRemoteCertificate by @nmezhenskyi in #17762
- doc: Include LXC bump to v6.0.6 in LXD 6.7 release notes by @tomponline in #17768
- test/clustering: Test image publish in a project with features.images disabled by @MusicDin in #17755
- Conflicts between operations by @skozina in #17721
- Unify IsRecursionRequest return type and consolidate GetInstances SDK methods by @gajeshbhat in #17679
- Add
createTLSListenerhelper by @simondeziel in #17771 - Minor string handling improvements by @simondeziel in #17774
- Client certificate handling simplifications by @simondeziel in #17763
- lxd/resouces: avoid repeatedly building filepaths by @simondeziel in #17760
- Reinstate
udevrules to triggerlxd-agent.servicein LXD VMs by @simondeziel in #17767 - Minor improvements to DNS handler by @simondeziel in #17772
- Fix --profile and --no-profiles flags being ignored on cluster moves by @tugbataluy in #17756
- Prevent concurrent evacuations by @kadinsayani in #17475
- Fix mutex leak and unclosed files by @larrasket in #17778
- Minor improvements to device equality helpers by @simondeziel in #17773
- QEMU micro optimizations by @simondeziel in #17766
- GPU physical device micro optimizations by @simondeziel in #17765
- Add "RequestorAuditor" for use in operations by @markylaing in #17769
- lxc/file: fix recursive pull failing on existing directories by @tugbataluy in #17739
- build(deps): bump actions/dependency-review-action from 4.8.2 to 4.8.3 in the actions group across 1 directory by @dependabot[bot] in #17782
- operations: Clean up orphaned operations after successful initial heartbeat by @markylaing in #17734
- lxd/db/operationtype: Clarify comment by @kadinsayani in #17785
- doc: use intersphinx for snap docs links by @minaelee in #17786
- Replace
deviceEqualsbymaps.Equalby @simondeziel in #17788 - Apply refresh config server-side for copy and migration by @kadinsayani in #17678
- DB: Make identity ID int64 by @markylaing in #17789
- lxd/operations: operation.Render() error is unused by @skozina in #17791
- Fix ignored config keys (boot priority) when adding device to an instance. by @tugbataluy in #17790
- lxc/config/file: include path to bogus or missing file in errors by @simondeziel in #17795
- Get operations from DB rather than memory by @skozina in #17783
- lxc/console_unix: improve logging on errors and fix channel leak by @simondeziel in #17798
- lxd: Fix snapshot URL in clustered mode by @MusicDin in #17794
- github: ask Dependabot to respect
gorilla/websocket@v1.5.1pinning by @simondeziel in #17802 - test/main: ignore WGA crashes by @simondeziel in #17807
- build(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 in the actions group across 1 directory by @dependabot[bot] in #17805
- Identity ID follow up and report operation run hook error on connect by @markylaing in #17799
- Followup fixes on GET /1.0/operations changes by @skozina in #17800
- lxd: Use correct name in create from backup entity URL by @markylaing in #17810
- lxd/db/cluster: Remove backticks from integer values in errors by @skozina in #17812
- Disk device micro optimizations by @simondeziel in #17764
- lxd/instance/drivers/qemu: only add udev rules on platform lacking DMI support by @simondeziel in #17816
- Start scheduled operations automatically by @skozina in #17814
- Avoid
os.Lstat+os.ReadFilepattern by @simondeziel in #17815 - Improve error message for low limits.memory by @larrasket in #17775
- Enforce limits.instances in clusters by @kadinsayani in #17822
- Improve limits.instances error message by @kadinsayani in #17824
- Remove support for
fan.type=ipipnetworks by @simondeziel in #17826 - Cluster: control-plane cluster role by @kadinsayani in #17269
- Cluster link identity by @kadinsayani in #17819
- Refactor cluster role handling and simplify documentation by @kadinsayani in #17831
- lxd: Add godoc and named return by @kadinsayani in #17834
- Prealloc fixes by @simondeziel in #17841
- Cgroup tweaks by @simondeziel in #17838
- Minor tweaks for
lxc listby @simondeziel in #17836 - lxd/apparmor/apparmor: avoid TOCTOU in
hasProfileby @simondeziel in #17837 - shared/tcp/tcp_timeout_user: do not shadow error from
unix.SetsockoptIntby @simondeziel in #17833 - build(deps): bump the actions group across 1 directory with 2 updates by @dependabot[bot] in #17846
- Add operation type for scheduled snapshot creation by @markylaing in #17849
- Address many TOCTOU races by @simondeziel in #17840
- String handling improvements by @simondeziel in #17835
- Makefile: Pin to dqlite v1.18.x branch by @tomponline in #17854
- Improve file operation error messages for missing paths by @larrasket in #17777
- lxd/operations: Don't send event on schedule by @skozina in #17851
- Use
net.KeepAliveConfigand enable TCP_USER_TIMEOUT inRFC3493Dialerby @tomponline in #17830 - Bulk instance state resource url by @markylaing in #17857
- Endpoints: Listener improvements by @tomponline in #17861
- Optimize dnsmasq log message creation by @tugbataluy in #17848
- Add location to the Operation structure by @skozina in #17867
- go: Bump Go min by @simondeziel in #17865
- Endpoints: Setup TCP keep alive and user timeouts on incoming API connections by @tomponline in #17868
- Remove
miniosupport by @simondeziel in #17673 - Correctly report QEMU from external snap by @simondeziel in #17876
- Add more DNS tests by @simondeziel in #17873
- doc: Added reference to CVE-2026-28384 in 6.7 release notes by @tomponline in #17879
- storage/connector: Force multipath for single iSCSI connection by @MusicDin in #17858
- lxd/operations: Make operation error a string by @skozina in #17859
- Drop MAAS controller by @simondeziel in #17872
- lxd/dnsmasq: Clean up orphaned .removing files on bridge network start by @tugbataluy in #17869
- test/lint: Add error-msg linter by @kadinsayani in #17817
- Storage: Drop
sourceconfig key for Ceph/CephFS by @roosterfish in #17853 - Minor device improvements by @simondeziel in #17884
- golangci-lint: remove now unused exclusion rule by @simondeziel in #17880
- Scheduled snapshot optype follow up by @simondeziel in #17883
- build(deps): bump the actions group across 1 directory with 2 updates by @dependabot[bot] in #17889
- lxd/dnsmasq: do not swallow errors in
DHCPAllAllocationsby @simondezi...
LXD 6.7
Announcement
- Announcement: https://discourse.ubuntu.com/t/lxd-6-7-has-been-released/77656
- Release notes: https://documentation.ubuntu.com/lxd/latest/reference/release-notes/release-notes-6.7/
What's Changed
- tests: Wait for raft roles to update by @kadinsayani in #17049
- github: add PR template checklist by @minaelee in #17052
- doc: Fix grammar in rest-api.md by @kadinsayani in #17060
- doc: update commit structure for contributions by @minaelee in #17056
- devlxd: Allow creating volume from snapshot by @MusicDin in #17058
- Disallow sending a TLS certificate when updating an OIDC or Bearer identity by @markylaing in #17054
- events package refactoring and race condition fix by @kadinsayani in #16999
- Commit structure improvements by @kadinsayani in #17061
- lxd: Move instance post request parsing up by @kadinsayani in #16973
- doc/lxd-test: Install nano for dev comfort by @MusicDin in #17065
- Make
LXD_VM_TESTS=1the new default by @simondeziel in #17057 - doc: Add 6/stable channel to snap install command for 6.6 release notes by @tomponline in #17069
- cgroup package refactorings by @kadinsayani in #16997
- Use
sudowhen invokingapt-getto install packages by @simondeziel in #17071 - Remove some unused functions by @simondeziel in #17009
- Cluster: Fix clearing a member when using remote storage by @roosterfish in #17047
- build(deps): bump github.com/openfga/openfga from 1.11.0 to 1.11.1 by @dependabot[bot] in #17038
- storage: Correctly parse Pure Storage gateway URL by @MusicDin in #17075
- lxd/cluster/config: actually set a default expiry on remote token by @simondeziel in #17081
- fix: use uint64 for interface statistics counters by @troyanov in #17010
- storage: Do not call host updated in Alletra as it is not supported by @MusicDin in #17082
- 24.04 runners followup by @simondeziel in #17088
- lxd: Require all cluster member to process forced project delete notifications by @kadinsayani in #17091
- Cache rework by @simondeziel in #17090
- devlxd: Ensure security.devlxd flag is checked /1.0 endpoint by @MusicDin in #17078
- Makefile: Replace pin for tags.cncf.io/container-device-interface@v0.8.1 with github.com/opencontainers/runtime-spec@v1.2.1 by @tomponline in #17100
- test: Run VM tests in standalone mode by @tomponline in #17102
- Fix inefficiency in instance deleteCommon() by @kadinsayani in #17092
- Notify all cluster members to update node schema and/or handle forced project deletion by @kadinsayani in #17104
- lxd/cluster/gateway: Use dqlite WithBusyTimeout by @tomponline in #17099
- test/suites: Reduce awk usage and creation of subdirectories by @markylaing in #17077
- Revert "github: reintroduce CLA check in commits job" by @simondeziel in #17051
- build(deps): bump actions/setup-python from 6.0.0 to 6.1.0 by @dependabot[bot] in #17121
- build(deps): bump github/codeql-action from 4.31.5 to 4.31.6 by @dependabot[bot] in #17120
- build(deps): bump github.com/go-acme/lego/v4 from 4.28.1 to 4.29.0 by @dependabot[bot] in #17118
- doc: Update Keycloak howto to handle client secrets. by @escabo in #17083
- lxd-agent: Make event processing synchronous by @MusicDin in #17123
- Add dqlite developer documentation and improve dqlite related code comments by @kadinsayani in #17105
- doc: Ignore linkcheck for kubernetes.io host by @MusicDin in #17128
- client: Call mkdir instead of file stat by @markylaing in #17131
- doc: requirements/configuration tooling updates by @minaelee in #17106
- doc: Add that QEMU is required for VMs by @markylaing in #17124
- lxc/auth: Add a newline on bearer identity creation message by @markylaing in #17134
- Don't build any Go binaries during
system-testsby @simondeziel in #17137 - lxd: Fix in-memory config corruption on update failure by @kwonkwonn in #17122
- Use
microovninstead of OVS deb by @simondeziel in #17141 - Tweak syslog test by @simondeziel in #17140
- Storage: Fix returning last error in
TryMountby @roosterfish in #17142 - lxd/storage/drivers/zfs_volumes: Rework zvol resolution logic (from Incus) by @simondeziel in #17095
- lxd/instance/drivers: Ignore expected ErrInUse by @kadinsayani in #17143
- Move some Go checks to lint scripts by @simondeziel in #17154
- doc: remove edit button from manpages by @minaelee in #17153
- OIDC test fixes by @simondeziel in #17150
- Fix test ordering issues with basic tests by @simondeziel in #17149
- Improve cleanup of
lxd-usertests to allow repeated runs by @simondeziel in #17148 - Reliability and consistency improvements to
tls_restrictionstest by @simondeziel in #17147 - Minor tweaks to
filemaniptest by @simondeziel in #17146 - Minor tweak and fixes to projects tests by @simondeziel in #17145
- Minor tweaks to
storage_driver_zfstest by @simondeziel in #17144 - doc: merge docs makefiles by @minaelee in #17157
- doc: baseurl and sitemap improvements by @minaelee in #17158
- Use the snap cache in snap tests by @simondeziel in #17156
- Minor test tweaks by @simondeziel in #17152
- test/suites/kernel_limits: simplify test by @simondeziel in #17151
- Test: Cleanup all daemons in clustering tests by @roosterfish in #17161
- Storage: Fix ZFS zvol activation race when mounting a temporary XFS snapshot for export by @tomponline in #17162
- test/suites/storage_driver_zfs: fix
/dev/zfspermissions ifudevdidn't do it by @simondeziel in #17163 - doc: use Go 1.25 by @simondeziel in #17164
- Storage: Scan block devices directly when mounting Btrfs pool by @roosterfish in #17160
- lxd/network/acl: Don't get instance usage within project ACL loop by @markylaing in #17165
- Makefile: don't build
lxd-metadatawhen buildingallby @simondeziel in #17155 - Storage: Drop CephFS
volatile.pool.pristineconfig key by @roosterfish in #17168 - Storage:
zfs.clone_copy=rebasemode fixes by @tomponline in #17135 - Test: Fix and clarify clustering storage cleanup by @roosterfish in #17169
- Minor improvements to
lxd-benchmarkby @simondeziel in #17172 - Rebalance when there are too many voters or standby nodes and clean up nodeRefreshTask() (from Incus) by @kadinsayani in #17171
- build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 by @dependabot[bot] in #17195
- build(deps): bump github.com/zitadel/oidc/v3 from 3.45.0 to 3.45.1 by @dependabot[bot] in #17197
- build(deps): bump github.com/openfga/openfga from 1.11.1 to 1.11.2 by @dependabot[bot] in #17192
- build(deps): bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in #17183
- build(deps): bump golangci/golangci-lint-action from 9.1.0 to 9.2.0 by @dependabot[bot] in #17181
- build(deps): bump github/codeql-action from 4.31.6 to 4.31.7 by @dependabot[bot] in #17184
- build(deps): bump actions/setup-node from 6.0.0 to 6.1.0 by @dependabot[bot] in #17182
- Re-instate check for native bridge info check by @simondeziel in...
LXD 5.0.6 LTS
Announcement
https://discourse.ubuntu.com/t/lxd-5-0-6-lts-has-been-released/77113
What's Changed
Full Changelog: lxd-5.0.5...lxd-5.0.6
LXD 6.6
Announcement
- Announcement: https://discourse.ubuntu.com/t/lxd-6-6-has-been-released/72476
- Release notes: https://documentation.ubuntu.com/lxd/latest/reference/release-notes/release-notes-6.6/
Release notes
https://documentation.ubuntu.com/lxd/latest/reference/release-notes/release-notes-6.6/
What's Changed
- Apparmor tweaks (from Incus) by @simondeziel in #16132
- lxd: Convert internal config representation from map[string]any to map[string]string by @skozina in #16134
- Only remove mount points created in
/dev(from Incus) by @kadinsayani in #16137 - VM: Prevent file mounts (from Incus) by @kadinsayani in #16138
- Improve network name validation by @simondeziel in #16068
- build(deps): bump github/codeql-action from 3.29.4 to 3.29.5 by @dependabot[bot] in #16141
- Fix QEMU Apparmor regression with Ceph by @simondeziel in #16152
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.29 to 1.14.30 by @dependabot[bot] in #16146
- build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.1 to 4.1.2 by @dependabot[bot] in #16148
- build(deps): bump github.com/zitadel/oidc/v3 from 3.42.0 to 3.43.0 by @dependabot[bot] in #16144
- build(deps): bump github.com/miekg/dns from 1.1.67 to 1.1.68 by @dependabot[bot] in #16153
- Auth: Cluster secret by @markylaing in #15832
- Per-project backups and images storage by @skozina in #15990
- Cluster: Validate a cluster group member removal by @edlerd in #16075
- Cluster secret followup by @markylaing in #16157
- Mount point removal follow up by @kadinsayani in #16158
- Followup project storage by @skozina in #16160
- Add
volatile.uuidtoconfigtable by @markylaing in #16129 - lxd/db/cluster: Add missing id column to GetCoreAuthSecrets by @markylaing in #16163
- Refactor identity type handling with type-safe interface by @kadinsayani in #16161
- Cluster link identity types by @kadinsayani in #16165
- lxd/instance: Allow setting lxc.net config keys through raw.lxc (from Incus) by @simondeziel in #16089
- github: deactivate
lxd-installerinactions/install-lxd-runtimedepsby @simondeziel in #16168 - init: Ensure the LXD_DIR exists by @markylaing in #16166
- github/workflows: Set GOTOOLCHAIN=local for TICS deps by @tomponline in #16170
- Bump Go min to 1.24.5 and refresh go.mod by @simondeziel in #16169
- Network: Internal OVN load balancers and forwards by @nmezhenskyi in #16162
- github: Fix lxd-ui workflow to use lxc binary from build by @tomponline in #16173
- Revert "lxd/cluster/gateway: stop checking for remnants of LXD pre 4.0" by @tomponline in #16175
- Revert "github: Remove lxd-installer package." by @simondeziel in #16172
- tests: Add basic disk mount VM checks by @kadinsayani in #16156
- shared/validate: add a few unit tests by @simondeziel in #16180
- build(deps): bump golang.org/x/term from 0.33.0 to 0.34.0 by @dependabot[bot] in #16203
- build(deps): bump actions/cache from 4.2.3 to 4.2.4 by @dependabot[bot] in #16191
- build(deps): bump github/codeql-action from 3.29.7 to 3.29.8 by @dependabot[bot] in #16194
- build(deps): bump golang.org/x/crypto from 0.40.0 to 0.41.0 by @dependabot[bot] in #16196
- build(deps): bump golang.org/x/text from 0.27.0 to 0.28.0 by @dependabot[bot] in #16195
- build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0 by @dependabot[bot] in #16189
- lxd/storage: Improve error message in
CreateCustomVolumeFromBackup()by @skozina in #16210 - lxd/storage: Validate volume name in
CreateCustomVolumeFromISO()by @skozina in #16209 - client/util_test: add few quick tests by @simondeziel in #16208
- Storage: Add new
powerflex.snapshot_copyreplacement config key by @roosterfish in #16186 - build(deps): bump golang.org/x/tools from 0.35.0 to 0.36.0 by @dependabot[bot] in #16200
- lxd/idmap/linux: address
golanglint-ciissues by @simondeziel in #16181 - doc: Align image file names with content by @Kxiru in #16110
- github: use actions/setup-python only for non-PRs by @simondeziel in #16220
- More unit tests by @simondeziel in #16218
- lxd/cluster/gateway: Only call CloseRead when remote connection is TCP type by @tomponline in #16230
- Fix
fanotifytest by @kadinsayani in #16219 - Cluster links identity type follow up by @kadinsayani in #16167
- doc: combine UI and CLI tutorials into a single improved tutorial by @minaelee in #16094
- Doc: Rewrite DevLXD documentation by @markylaing in #16215
- github: add Copilot instructions by @simondeziel in #16222
- Network: Follow-up on internal OVN load balancers and forwards by @nmezhenskyi in #16179
- Storage: Reduce code duplication across remote storage drivers by @mihalicyn in #15885
- github: remove the CLA check now there is a Org level one by @simondeziel in #16231
- doc: Fix broken symlink by @markylaing in #16232
- github: bump github/codeql-action from 3.29.8 to 3.29.10 by @simondeziel in #16242
- doc: Remove trailing spaces from devlxd API spec by @markylaing in #16234
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.30 to 1.14.32 by @dependabot[bot] in #16244
- build(deps): bump github.com/openfga/openfga from 1.9.2 to 1.9.5 by @dependabot[bot] in #16243
- Refresh RTD by @simondeziel in #16249
- build(deps): bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #16248
- Reference HAProxy config for LXD clusters by @simondeziel in #16226
- github: allow debugging failed system tests via
mxschmitt/action-tmateby @simondeziel in #16250 - DB: Improvements to generated code by @markylaing in #16198
- Recover: Rearrange
detectUnknownInstanceVolumeby @roosterfish in #16176 - Storage: Clarify mount approach in
detectUnknownInstanceVolumeby @roosterfish in #16251 - lxd/auth/drivers/openfga: Fix effective project handling and network used by list by @edlerd in #16217
- Various auth improvements by @markylaing in #16256
- Auth: Remove effective project from request.Info by @markylaing in #16254
- Auth: Move authentication methods to
requestpackage and rename to Protocol by @markylaing in #16255 - lxd-benchmark: improve test coverage by @simondeziel in #16258
- Revert cluster link identity type by @kadinsayani in #16259
- Auth: Refactoring in preparation for token based authentication by @markylaing in #16223
- Doc: Create partity between PowerFlex & Pure name tables by @roosterfish in #16260
- lxd/daemon: fix typo when checking identity type by @simondeziel in #16263
- Replace unmaintained
gopkg.in/yaml.v2bygo.yaml.in/yaml/v2by @simondeziel in #16262 - lxc/auth: Use shortform identity types by @markylaing in #16261
- Storage: Add PowerFlex snapshot prefix by @roosterfish in #16253
- Internal requestor follow up by @markylaing in #16265
- test/suites: Test that only tls identities can be created by @markylaing in #16266
- Auth: Enforce unique identity names (except for OIDC) by @markylaing in #16205
- HAProxy tweaks ...
LXD 5.0.5 LTS
Announcement
https://discourse.ubuntu.com/t/lxd-5-0-5-lts-has-been-released/67598
What's Changed
Full Changelog: lxd-5.0.4...lxd-5.0.5
LXD 5.21.4 LTS
Announcement
https://discourse.ubuntu.com/t/lxd-5-21-4-lts-has-been-released/66602
What's Changed
Full Changelog: lxd-5.21.3...lxd-5.21.4
LXD 6.5
Announcement
https://discourse.ubuntu.com/t/lxd-6-5-has-been-released/64873
What's Changed
- feat(csp) harden content security policy for the ui serving to include only an allowed list of domains by @edlerd in #15675
- Linter: Fix remaining
musttagissues across the entire codebase by @roosterfish in #15673 - Move LXD 5.0 into extended support by @simondeziel in #15678
- doc: update howto/instances_routed_nic_vm.md by @almeidaraul in #15668
- test: ask
tarto stop scanning archive after finding the file we wanted by @simondeziel in #15680 - github: provide pkg-config path to
lxc.pcfor TiCS run by @simondeziel in #15679 - Misc improvements by @simondeziel in #15681
- dependabot: only track security updates for 5.0
gomodby @simondeziel in #15683 - lxc/network_zone: Fix typo in help description (from Incus) by @simondeziel in #15684
- github: Update TICS viewerURL by @roosterfish in #15691
- lxd: Add target request forwarding to storagePoolVolumeTypeStateGet by @edlerd in #15690
- doc/howto/instances_create: provide direct link to all instance-types to not rely on
autoindexby @simondeziel in #15687 - test/mini-oidc/storage: use stdlib
log/slogby @Juneezee in #15694 - lxd/cloudinit: Fix other formats of cloud-init user configuration options by @skozina in #15689
- Apply
modernizechanges by @simondeziel in #15686 - build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.5.3 to 5.5.4 by @dependabot[bot] in #15698
- build(deps): bump github.com/NVIDIA/nvidia-container-toolkit from 1.17.7 to 1.17.8 by @dependabot[bot] in #15697
- github: fix copy-n-paste error in step name in tests workflow by @simondeziel in #15705
- lxc: Prevent panic when overwriting the progress renderer by @roosterfish in #15708
- lxd: Resolve the intermittent "file already closed" errors in
distributeImageby @tomponline in #15674 - Network: Show info for macvlan networks by @nmezhenskyi in #15682
- lxd/cloudinit: Fix parsing of invalid cloud-init yaml by @skozina in #15707
- lxd/cloudinit: Fix behavior when vendor-data parsing fails and when user-data are not provided. by @skozina in #15712
- github: fix conditional around optionally skipping unit tests by @simondeziel in #15710
- test: Don't modify go modules during go test by @tomponline in #15711
- dependabot: disable schedule to only deal with security updates for 5.0
gomodby @simondeziel in #15723 - Run shellcheck only once by @simondeziel in #15722
- Makefile: Pin dqlite to last known good version by @tomponline in #15729
- test/suites/auth: use ecdsa certs instead of (slow) rsa4096 by @simondeziel in #15725
- cluster: Fix panic during exclusive DB mode by @tomponline in #15726
- Images: Fix "database is locked" errors when deleting old image records after update by @tomponline in #15716
- github: add golangci-lint action by @simondeziel in #15720
- Misc tweaks by @simondeziel in #15719
- lxd/images: accumulate node IDs while building the node list by @simondeziel in #15736
- Storage: Fix CephFS mount timeout by @roosterfish in #15542
- Documentation: Update Storage docs - Backup storage volumes [WD-22293] by @Kxiru in #15685
- test: Check that network info shows correct MTU for macvlan network by @nmezhenskyi in #15718
- lxd/daemon: Manage images and backups volumes without symlinks by @skozina in #15482
- Add tests for cloud-init by @skozina in #15728
- lxd/db: Rework RunExclusive to use context with timeout internally by @tomponline in #15743
- github: Drop LXD_CONCURENT variable by @simondeziel in #15737
- lxd: Pass around the request context instead of the request by @MusicDin in #15529
- doc: Add Ubuntu Pro how-to by @markylaing in #15717
- build(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0 by @dependabot[bot] in #15746
- build(deps): bump github/codeql-action from 3.28.18 to 3.28.19 by @dependabot[bot] in #15752
- build(deps): bump github.com/pkg/xattr from 0.4.10 to 0.4.11 by @dependabot[bot] in #15748
- build(deps): bump github.com/canonical/go-dqlite/v3 from 3.0.0 to 3.0.1 by @dependabot[bot] in #15749
- build(deps): bump golang.org/x/tools from 0.33.0 to 0.34.0 by @dependabot[bot] in #15751
- Make it easy to build and test LXD by @simondeziel in #15734
- devLXD: Response format based on vsock usage by @MusicDin in #15727
- Ubuntu 24.04 runners for tests by @simondeziel in #15763
- Cluster: Reject invalid cluster evacuate modes by @kadinsayani in #15768
- Partially undo switch to
ubuntu-24.04runners by @simondeziel in #15770 - Improve
make test-shella bit by @simondeziel in #15764 - Update context (from Incus) by @kadinsayani in #15587
- lxc/remote/add: Fixed runtime error (index out of range [0] with length 0) by @TanishkBansode in #15745
- Add
lxd-benchmarktests by @simondeziel in #15724 - Storage: Fix comment and error message by @roosterfish in #15775
- Backup: Rearrange consts to allow narrowing down volume lookup by @roosterfish in #15776
- devlxd: Fix regression in LXD agent where string responses are escaped by @MusicDin in #15774
- github: use actions/setup-python to cache pip dependencies by @simondeziel in #15778
- Makefile: Add
make update-fmtby @kadinsayani in #15779 - test/lint/bad-grep: check test scripts for
grepmisuse by @simondeziel in #15789 - lxd: Replace request context keys with request info by @MusicDin in #15762
- Allow using the same volume for storage.images_volume and storage.backups_volume by @skozina in #15621
- lxd/devices/proxy: Fix unix socket cleanup by @kadinsayani in #15788
- Install storage driver tools on-demand by @simondeziel in #15780
- tests: Add
is_backend_availablehelper function by @kadinsayani in #15793 - Storage: Add reverter pattern for custom volume backend actions by @roosterfish in #15777
- test/suites/concurrent: ignore PIDs that vanished by @simondeziel in #15799
- github: add option to install optional dependencies in actions/install-lxd-runtimedeps by @simondeziel in #15797
- Tiny speed and precision tweak to a few tests by @simondeziel in #15800
- Misc test tweaks by @simondeziel in #15801
- test/suites/migration: use small volumes by @simondeziel in #15790
- doc: add vGPU acronym for virtual GPU by @minaelee in #15805
- build(deps): bump github/codeql-action from 3.28.19 to 3.29.0 by @dependabot[bot] in #15808
- build(deps): bump github.com/minio/minio-go/v7 from 7.0.92 to 7.0.93 by @dependabot[bot] in #15809
- build(deps): bump github.com/openfga/openfga from 1.8.13 to 1.8.15 by @dependabot[bot] in #15812
- build(deps): bump github.com/zitadel/oidc/v3 from 3.38.1 to 3.39.0 by @dependabot[bot] in #15810
- dqlite: Revert pin and use main by @tomponline in #15740
- Device: Add thread pool option for VM filesystem
diskshares usingvirtiofsdby @tomponline in #15792 - lxd: Add headers only if value is not empty when connecting to other cluster member by @MusicDin in #15791
- doc: u...
LXD 6.4
Announcement
https://discourse.ubuntu.com/t/lxd-6-4-has-been-released/61433
What's Changed
- github: Wait for microovn to be ready before bootstrapping the cluster by @simondeziel in #15174
- tests/suites/network.sh: Add test for fetching bridge info by @ghadi-rahme in #15170
- Storage: Newtype for Database Volume/Content types by @MggMuggins in #14885
- Rename
StoragePoolVolume{Content}TypeNamemethods toStringby @MggMuggins in #15175 - lxc/file: Use the file extension of the edited file for the temp file (from Incus) by @simondeziel in #15161
- VM: Fix QMP arguments typing to support QEMU 9.2 (from Incus) by @nmezhenskyi in #15154
- build(deps): bump tags.cncf.io/container-device-interface/specs-go from 0.8.0 to 1.0.0 by @dependabot in #15143
- Storage: Reference counts for LVM LV activation by @MggMuggins in #15162
- docs: add oidc configuration with ory hydra by @edlerd in #15126
- Prevent cluster groups from being deleted when referenced by a projects' configuration by @markylaing in #15119
- lxd/bgp: Rework start/stop logic (from Incus) by @nmezhenskyi in #15173
- deps: switch to github.com/moby/sys/capability by @kolyshkin in #15091
- Require GHA pinning by @simondeziel in #15197
- doc: Untrusted TLS identity post endpoint description by @markylaing in #15200
- gomod: Update deps by @tomponline in #15194
- lxd: BGP fixes (from Incus) by @nmezhenskyi in #15205
- github: fix regex allow list for local actions by @simondeziel in #15204
- lxd: Prevent deleting non-empty project by @nmezhenskyi in #15198
- cloud-init: Allow
noneforcloud-init.ssh-keys.*by @hamistao in #15207 - lxd/storage/drivers/pure: Unmap volume when connection is freshly created by @MusicDin in #15211
- Network: Fix bridge fan mode by adding "/" back into
fanAddress()output by @simondeziel in #15213 - docs: add oidc configuration with keycloak by @edlerd in #15176
- Do not use Go toolchain directive by @simondeziel in #15217
- lxd/network/common: Handle missing BGP peer (from Incus) by @nmezhenskyi in #15220
- build(deps): bump actions/cache from 4.2.2 to 4.2.3 by @dependabot in #15230
- build(deps): bump actions/upload-artifact from 4.6.1 to 4.6.2 by @dependabot in #15233
- build(deps): bump github.com/miekg/dns from 1.1.63 to 1.1.64 by @dependabot in #15235
- build(deps): bump actions/download-artifact from 4.1.9 to 4.2.1 by @dependabot in #15232
- build(deps): bump github/codeql-action from 3.28.11 to 3.28.12 by @dependabot in #15231
- github: Update
golangci-lintand migrate config to new format by @kadinsayani in #15249 - build(deps): bump actions/setup-go from 5.3.0 to 5.4.0 by @dependabot in #15229
- github: add issue form and template configuration by @minaelee in #15253
- Container: BPF token support by @mihalicyn in #15009
- Storage: Fix persisting Ceph RBD config by @roosterfish in #15214
- Firewall: Fix regression in nftables port range rules by @tomponline in #15255
- doc: hard-code additional link titles by @minaelee in #15227
- doc: minor revisions to keycloak docs by @minaelee in #15216
- client/connection: use LegacyCurvesOnly for simplestreams connections by @simondeziel in #15250
- doc: add localhost:8080 to linkcheck_ignore by @minaelee in #15262
- github: add feature request issue form by @minaelee in #15260
- lint: Fix new warnings from switching to
golangci-lintv2 by @roosterfish in #15258 - meta/instance-types: drop now unused instance types by @simondeziel in #15264
- Small adjustments on top of BPF Token support PR by @mihalicyn in #15263
- create admin group with server admin permission on install by @edlerd in #15215
- doc: show annotations in microcloud docs integration by @minaelee in #15266
- Prepare for
ubuntu-24.04runners by @simondeziel in #15268 - feat(doc): add steps to verify lxd host support for vms by @pamudithaA in #15228
- Lower log level of error messages when checking disk usage fails by @simondeziel in #15269
- update: [WD-18946] storage-pool-docs-update by @Kxiru in #15206
- lxd: Fix target profile on snapshot copy by @skozina in #15155
- doc: Fix swagger definition for
POST /1.0/auth/identities/tlsby @markylaing in #15270 - Storage: Fix import of iso images smaller than 512B on ceph by @skozina in #15251
- VM: Use full device name in qemu's
device_idby @hamistao in #15225 - gomod: Update dependencies by @tomponline in #15291
- Pre- instance-placement fixes by @markylaing in #15292
- github: Update issue template forms by @minaelee in #15296
- build(deps): bump github/codeql-action from 3.28.12 to 3.28.13 by @dependabot in #15283
- doc: add google analytics consent cookie banner by @minaelee in #15297
- LVM: Fix ref count inconsistency by @hamistao in #15219
- docs: add scripted grafana setup WD-20339 by @edlerd in #15209
- Device: Update GPU CDI support for Ubuntu Core: add mesa-2404 contents to config search paths by @mihalicyn in #15301
- lxd: Make the LXD shutdown sequence more concurrent to avoid long-running operations blocking unrelated instances shutdown by @gabrielmougard in #15016
- VM: Fix NUMA node binding when using CPU count without pinning by @gabrielmougard in #15272
- lxd: Logging improvements for
instancesShutdownby @tomponline in #15303 - forkproxy: proxy device early disconnect fix by @kadinsayani in #15178
- Apply instance profiles to snapshots with --profile as well by @skozina in #15271
- lxd/storage/drivers/zfs: suggest
zfs.externalif in snap and ZFS tools are missing by @simondeziel in #15293 - test/suites/backup: On cephfs add sync calls after
file pushby @skozina in #15308 - lxd/instance: Don't enforce device/config validation on snapshots (from Incus) by @skozina in #15299
- Network: Improve network priority during network startup by @nmezhenskyi in #15312
- Makefile: add
update-godepstarget by @simondeziel in #15309 - github: enable code coverage for client tests by @simondeziel in #15316
- Cluster: Support downgrades within point releases of an LXD LTS series by @tomponline in #15314
- doc: Force white background for swagger API (from Incus) by @minaelee in #15320
- VM: Fix regression when hotplugging qemu virtio-blk drives in addDriveConfig by @tomponline in #15323
- Resources: Add device's filesystem UUID if present by @roosterfish in #15310
- build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by @dependabot in #15344
- build(deps): bump github/codeql-action from 3.28.13 to 3.28.14 by @dependabot in #15343
- build(deps): bump tiobe/tics-github-action from 3.3.0 to 3.4.0 by @dependabot in #15339
- build(deps): bump actions/dependency-review-action from 4.5.0 to 4.6.0 by @dependabot in #15340
- Cluster: Update comments in checkClusterIsUpgradable by @tomponline in #15322
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.24 to 1.14.27 by @dependabot in #15342
- build(deps): bump golang.org/x/text from 0.23.0 to 0.24.0 by @dependabot in...
LXD 6.3
Announcement
https://discourse.ubuntu.com/t/lxd-6-3-has-been-released/56974
What's Changed
- LXC: Create config paths when no local daemons (from Incus) by @kadinsayani in #14550
- lxd/instance: Lock image access (from Incus) by @MusicDin in #14546
- Add workflow to run e2e tests from lxd-ui by @edlerd in #14035
- E2E UI tests by @edlerd in #14553
- doc/guest-os-compatibility: 16.04 and 18.04 require manual installation of lxd-agent by @simondeziel in #14554
- API: Add support for fetching images across all projects (from Incus) by @kadinsayani in #14260
- Device: Add support for discovering multiple
unix-hotplugdevices by @kadinsayani in #14375 - Storage: Specify storage volume type in disk device
sourceby @MggMuggins in #14491 - VM: Fix nvram file update from 2MB OVMF and CSM mode by @tomponline in #14555
- Simplify config validation by @simondeziel in #14559
- LXC: Fix
lxc image listregression by @kadinsayani in #14563 - github: only upload client binaries when merging PRs by @simondeziel in #14565
- Test image list of some builtin remotes by @simondeziel in #14564
- API: Add
scopeto metadata configuration API by @kadinsayani in #14530 - Clarify which snap channel we recommend by @simondeziel in #14558
- Revert "github: only run CodeQL (go) on PRs and on weekly schedule" by @simondeziel in #14571
- build(deps): bump github.com/dell/goscaleio from 1.17.0 to 1.17.1 by @dependabot in #14567
- build(deps): bump github.com/minio/minio-go/v7 from 7.0.80 to 7.0.81 by @dependabot in #14566
- doc: Add noble package to Windows image conversion by @MggMuggins in #14573
- Device: Add
ownership.inheritsetting forunix-hotplugdevices by @kadinsayani in #14417 - Device: Add
subsystemdevice option forunix-hotplugdevices by @kadinsayani in #14529 - doc: Update doclint exceptions by @MggMuggins in #14579
- test/suites: Check that a restricted client certificate cannot view server configuration by @markylaing in #14580
- doc/support: detail the 3 levels of LTS support by @simondeziel in #14562
- Fix detection of suitable architecture for conversion when LXD is clustered by @MusicDin in #14586
- Storage: Add storage driver cache update to
storagePoolCreateLocalby @kadinsayani in #14583 - Introduce source type constants by @MusicDin in #14587
- client: Fix unnecessary error formatting by @MusicDin in #14596
- github:
lp-snap-buildaction by @simondeziel in #14592 - lxd: Get config for instance on offline cluster member by @hamistao in #14539
- gomod: Update dependencies by @tomponline in #14620
- Linter fixes by @tomponline in #14626
- Storage: Define per-pool default block size by @hamistao in #14594
- build(deps): bump github/codeql-action from 3.27.5 to 3.27.6 by @dependabot in #14608
- build(deps): bump actions/cache from 4.1.2 to 4.2.0 by @dependabot in #14607
- Optimize Project Queries during limits checks by @MggMuggins in #14369
- doc: clarify that storage size is equal to quota by @minaelee in #14604
- test: add markdown table with the duration of each test by @simondeziel in #14602
- Docs: Add OVN network developer documentation by @markylaing in #14556
- Set OSD pool size when creating
cephandcephfsstorage pools by @masnax in #14044 - github: Use cohort="+" for trivy snap scan by @tomponline in #14632
- Simplify
actions/lp-snap-buildto be reusable by @simondeziel in #14601 - Device: Rework
ueventParseVendorProductlogic by @kadinsayani in #14636 - Have
make update-*propose to commit any changes by @simondeziel in #14630 - OpenFGA: Add request cache to the OpenFGA datastore by @gabrielmougard in #14557
- Documentation: VM live migration internals documentation by @kadinsayani in #14574
- Doc: Mention that
zfs.delegateis best used in conjunction withsecurity.nestingby @simondeziel in #14629 - docs: Update storage volume How-to by @MggMuggins in #14578
- Documentation: Update doc links by @kadinsayani in #14600
- Storage: Show correct instance root disk size on API by @hamistao in #14511
- lxc: Accept volume full name on
detachby @hamistao in #14593 - lp-snap-builder action v3 by @simondeziel in #14638
- Doc: Remove monthly from feature release by @tomponline in #14637
- github: another attempt at adding ~/go/bin to system path by @simondeziel in #14640
- lxd/devices: Update
logger.*fmessages with their contextual logging equivalents by @kadinsayani in #14639 - Storage: Check default osd pool size before setting on create. by @masnax in #14642
- doc: fix lxc network load-balancer backend add command syntax by @minaelee in #14643
- lxd: Deny creation of empty ISO volume by @hamistao in #14644
- build(deps): bump golang.org/x/crypto from 0.30.0 to 0.31.0 by @dependabot in #14645
- Network: add target parameter for GET 1.0/networks and network_get_target api extension by @edlerd in #14419
- lxd: Remove lint exception for defer rule. by @markylaing in #14649
- storage: Disallow
volume.security.sharedon cephfs by @hamistao in #14633 - LXC: Improve configuration key validation and add missing completions for
lxc config unsetby @kadinsayani in #14584 - CLI: Add dynamic
lxc config unsetshell completions for server config keys by @kadinsayani in #14653 - Documentation: Update VM live migration implementation diagrams by @kadinsayani in #14652
- Fix typo: Reusuable -> Reusable by @simondeziel in #14650
- build(deps): bump tiobe/tics-github-action from 3.2.1 to 3.3.0 by @dependabot in #14660
- build(deps): bump github/codeql-action from 3.27.6 to 3.27.9 by @dependabot in #14661
- Patches: Remove
volatile.%.last_state.ip_addresseskeys more efficiently by @tomponline in #14659 - build(deps): bump github.com/minio/minio-go/v7 from 7.0.81 to 7.0.82 by @dependabot in #14656
- build(deps): bump actions/setup-go from 5.1.0 to 5.2.0 by @dependabot in #14662
- build(deps): bump github.com/go-chi/chi/v5 from 5.1.0 to 5.2.0 by @dependabot in #14657
- Add
--formatflag tolxd sqlby @markylaing in #14670 - build(deps): bump github.com/openfga/openfga from 1.8.1 to 1.8.2 and update gomod lists by @kadinsayani in #14672
- Doc: Improve network load-balancer instructions and add examples by @minaelee in #14654
- OVN tests for main test suite by @markylaing in #14651
- VM: Move check for container-specific prefixed keys applied to VMs up by @kadinsayani in #14680
- golangci: Add
prealloclinter by @kadinsayani in #14678 - CLI: Exclude default remote from
lxc remote switch|removeshell completions by @kadinsayani in #14677 - Documentation: Update link prefix for
doc/reference/storage_cephfsby @kadinsayani in #14675 - Remove defunct lint exceptions by @markylaing in #14676
- test: Improve usage of
lxd sqlin tests by @markylaing in #14674 - Preserve
custom/c1syntax during storage volume rename by @MggMuggins in #14681 - github: Disable TICS temporarily by...
LXD 5.21.3
Announcement
https://discourse.ubuntu.com/t/lxd-5-21-3-lts-has-been-released/53768
What's Changed
Full Changelog: lxd-5.21.2...lxd-5.21.3