Releases: canonical/lxd
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}Type
Name
methods toString
by @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
none
forcloud-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-lint
and 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-lint
v2 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.04
runners 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/tls
by @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_id
by @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
instancesShutdown
by @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.external
if in snap and ZFS tools are missing by @simondeziel in #15293 - test/suites/backup: On cephfs add sync calls after
file push
by @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-godeps
target 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-hotplug
devices by @kadinsayani in #14375 - Storage: Specify storage volume type in disk device
source
by @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 list
regression 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
scope
to 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.inherit
setting forunix-hotplug
devices by @kadinsayani in #14417 - Device: Add
subsystem
device option forunix-hotplug
devices 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
storagePoolCreateLocal
by @kadinsayani in #14583 - Introduce source type constants by @MusicDin in #14587
- client: Fix unnecessary error formatting by @MusicDin in #14596
- github:
lp-snap-build
action 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
ceph
andcephfs
storage pools by @masnax in #14044 - github: Use cohort="+" for trivy snap scan by @tomponline in #14632
- Simplify
actions/lp-snap-build
to be reusable by @simondeziel in #14601 - Device: Rework
ueventParseVendorProduct
logic 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.delegate
is best used in conjunction withsecurity.nesting
by @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
detach
by @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.*f
messages 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.shared
on cephfs by @hamistao in #14633 - LXC: Improve configuration key validation and add missing completions for
lxc config unset
by @kadinsayani in #14584 - CLI: Add dynamic
lxc config unset
shell 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_addresses
keys 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
--format
flag tolxd sql
by @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
prealloc
linter by @kadinsayani in #14678 - CLI: Exclude default remote from
lxc remote switch|remove
shell completions by @kadinsayani in #14677 - Documentation: Update link prefix for
doc/reference/storage_cephfs
by @kadinsayani in #14675 - Remove defunct lint exceptions by @markylaing in #14676
- test: Improve usage of
lxd sql
in tests by @markylaing in #14674 - Preserve
custom/c1
syntax 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
LXD 6.2
Announcement
https://discourse.ubuntu.com/t/lxd-6-2-has-been-released/49889
What's Changed
- build(deps): bump github.com/dell/goscaleio from 1.14.1 to 1.15.0 by @dependabot in #13717
- build(deps): bump github.com/osrg/gobgp/v3 from 3.27.0 to 3.28.0 by @dependabot in #13718
- Update first_steps.md by @ancollins24 in #13725
- test/main: don't check for xgettext command by @simondeziel in #13726
- Update short description for the OIDC groups claim by @markylaing in #13727
- lxd/instance/exec: Only use keepalives on TCP sockets by @tomponline in #13731
- build(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1 by @dependabot in #13735
- Extract certificate add token metadata from remote member by @markylaing in #13733
- Prevent custom block volume sharing by @hamistao in #13183
- Test certificate add token remote operation by @markylaing in #13740
- test: replace many
grep -Fx
by shell comparison by @simondeziel in #13744 - test: use
my_curl()
helper where applicable by @simondeziel in #13747 - lxd: Improve certificate add token validation by @tomponline in #13749
- test/suites/backup: cleanup by @simondeziel in #13745
- fix(deps): update module github.com/zitadel/oidc/v3 to v3.26.0 by @renovate in #13761
- build(deps): bump github.com/go-jose/go-jose/v4 from 4.0.2 to 4.0.3 by @dependabot in #13762
- fix(deps): update k8s.io/utils digest to 18e509b by @renovate in #13758
- VM: External QEMU snap support by @mihalicyn in #13742
- Try to extract version creation/upload time for simplestream images by @MusicDin in #13767
- Removes CODEOWNERS file by @tomponline in #13771
- Fix devlxd image export by @markylaing in #13730
- Instance: Allow nosymfollow mount flag for container apparmor profile by @mihalicyn in #13681
- Device: Fix crash when
none
type device is added to running instance by @tomponline in #13775 - Ensure supported drivers are always in the same order by @MusicDin in #13778
- Hint shellcheck that bash is used for all test scripts by @simondeziel in #13776
- doc/authentication: clean up PKI instructions by @ru-fu in #13772
- Allow instance import from QCoW2 and VMDK format by @MusicDin in #13385
- lxd/apparmor: allow userns for security.nesting=true case by @mihalicyn in #13779
- lxd: Standardise on "err" field in contextual logging for error by @tomponline in #13781
- fix typo in index.md by @s-makin in #13784
- Improve ioctl handling (from Incus) by @tomponline in #13783
- Make migration sink arguments private by @MusicDin in #13598
- doc/contributing: add section on how-tos by @ru-fu in #13785
- Lower qemu-img convert priority during conversion instead of limiting cpu time by @MusicDin in #13787
- lxd: Update logic for project config patch by @boltmark in #13786
- fix(deps): update module github.com/pkg/xattr to v0.4.10 by @renovate in #13792
- fix(deps): update module github.com/minio/minio-go/v7 to v7.0.74 by @renovate in #13789
- fix(deps): update golang.org/x/exp digest to 8a7402a by @renovate in #13788
- Openfga dependency update by @hamistao in #13780
- Update metrics.md to remove symlink trailing slash by @JohnHammell in #13790
- VM: Use virtiofsd chroot sandbox mode on pre pidfd_open kernels by @tomponline in #13794
- doc/projects: fix documentation for PATCH request by @ru-fu in #13803
- Add entitlements to metadata by @markylaing in #13728
- Doc: Add more details on Dell PowerFlex pool creation by @roosterfish in #13795
- doc/storage: change examples to sections instead of tabs by @ru-fu in #13805
- lxd-migrate: Fix path provided to the raw disk check by @MusicDin in #13816
- Storage: Don't fail on setting dir project quota if file is removed during root fs walk by @tomponline in #13815
- lxd: Add support for starting instances on creation (from Incus) by @boltmark in #13695
- Container: Allow apparmor nosymfollow mount flag in more cases by @mihalicyn in #13820
- Specify subject name when generating keypair by @masnax in #13817
- Doc: Additional examples for cluster storage pools using remote drivers by @roosterfish in #13819
- Container: fix all apparmor ro+remount rules by @mihalicyn in #13826
- Extend conversion API with option to inject virtio drivers by @MusicDin in #13748
- Auth: Add project query parameter to URLs in authorizer by @markylaing in #13317
- doc: Use consistent naming for remote pool creation examples by @roosterfish in #13827
- fix(deps): update module github.com/go-jose/go-jose/v4 to v4.0.4 by @renovate in #13832
- fix(deps): update github.com/openfga/api/proto digest to 7e5be7b by @renovate in #13831
- Auth: Add storage volume and bucket location to URL in access check by @markylaing in #13517
- doc: Update rhsrvany link and fix code blocks by @MusicDin in #13833
- VM: Add support for extended attributes for virtiofs shares by @Ardelean-Calin in #13830
- lxd/seccomp: fix bpf syscall number for arm64 by @mihalicyn in #13841
- lxd/include: update bpf header files by @mihalicyn in #13842
- Live migration with attached storage volumes (from Incus) by @markylaing in #13823
- Add
security.protection.start
to optionally prevent instance start up by @qianzhangxa in #13824 - Device: Use -o flag for xattr mode of virtiofsd for
disk
device by @tomponline in #13845 - lxd: Ensure file is created when receiving raw image by @MusicDin in #13847
- VM: Don't fail event sending on missing agent (from Incus) by @boltmark in #13856
- Instance: Fix deadlock during failed snapshot creation by @MggMuggins in #13821
- lxd/zfs: Always try to wait for device path to appear (from Incus) by @MusicDin in #13861
- gomod: Update dependencies by @tomponline in #13858
- Entity type refactor (simplified) by @markylaing in #13846
- lxd/firewall/drivers: Fix netprio error message by @MggMuggins in #13864
- lxd: Add tracker for qemu-img progress (from Incus) by @MusicDin in #13848
- fix(deps): update module golang.org/x/sync to v0.8.0 by @renovate in #13867
- fix(deps): update module golang.org/x/oauth2 to v0.22.0 by @renovate in #13866
- lxc: Add support for creating profile from yaml (from Incus) by @gabrielmougard in #13849
- lxd: Prevent conversion from OVA file format by @MusicDin in #13877
- build(deps): bump golang.org/x/sys from 0.22.0 to 0.23.0 by @dependabot in #13871
- Image export over devlxd for virtual machines by @markylaing in #13878
- lxd-migrate: Properly handle projects (from Incus) by @MusicDin in #13880
- Adds an API extension for image export over devlxd in VMs by @markylaing in #13882
- github: Replacing @ru-fu for doc triage by @mionaalex in #13881
- doc: Update architectures documentation (from Incus) by @kadinsayani in #13851
- doc/tutorial: add a UI tutorial by @ru-fu in #13876
- github: Disable renovate by @tomponline in #13884
- doc: unpin Swagger version by @ru-fu in https:/...
LXD 5.0.4
Announcement
https://discourse.ubuntu.com/t/lxd-5-0-4-lts-has-been-released/49681
What's Changed
Full Changelog: lxd-5.0.3...lxd-5.0.4
LXD 4.0.10
Announcement
https://discourse.ubuntu.com/t/lxd-4-0-10-lts-has-been-released/46687
What's Changed
Full Changelog: lxd-4.0.9...lxd-4.0.10
LXD 5.21.2
Announcement
https://discourse.ubuntu.com/t/lxd-5-21-2-has-been-released/46443
What's Changed
Full Changelog: lxd-5.21.1...lxd-5.21.2
LXD 6.1
Announcement
https://discourse.ubuntu.com/t/lxd-6-1-has-been-released/46259
What's Changed
- ui: add server-side gzip and security headers for LXD UI by @gabrielmougard in #13100
- Storage: Cleanup on failure in BTRFS RefreshVolume by @tomponline in #13102
- Auth: Remove
can_view_configuration
entitlement. by @markylaing in #13106 - Auth: Ensure projects cannot be edited or deleted by restricted clients. by @markylaing in #13107
- github: fix branch target name/version extraction logic by @simondeziel in #13110
- Network: Only stop OVN device if network is populated by @roosterfish in #13114
- client: Unset project when querying permissions. by @markylaing in #13116
- lxc: Remove impossible condition in
copy
by @hamistao in #13119 - Update starterpack by @ru-fu in #13117
- Doc: Fix CLI instructions for changing an image alias by @ru-fu in #13123
- doc: install extra tools inside the environment by @ru-fu in #13125
- VM: Restore 50MB tmpfs for lxd-agent as it will likely exceed 25MB by @tomponline in #13126
- doc/UI: reword status of the LXD UI by @ru-fu in #13128
- Auth: Don't build authorization drivers into the lxd-agent by @tomponline in #13129
- Makefile: consistently use pip by @simondeziel in #13131
- Storage: Specify a port for
minio --console-address
by @masnax in #13140 - lxc: Print "permission denied" when LXD socket isn't writable by @MggMuggins in #13120
- doc: Add CLI examples for unix-* devices by @ru-fu in #13146
- Doc: Documentation for identity and access management by @markylaing in #13134
- Test: Check version number format (X.Y.Z for LTSes, X.Y otherwise) by @simondeziel in #13139
- Auth: Remove no-op authorizer interface methods. by @markylaing in #13153
- lxc: Correctly parse remote when listing permissions. by @markylaing in #13144
- Doc: Add CLI examples for proxy device by @ru-fu in #13160
- Doc: Add CLI examples for more device types by @ru-fu in #13152
- Storage: Rework volume
volatile.uuid
patch by @roosterfish in #13162 - Doc: add configuration examples for gpu devices by @ru-fu in #13163
- lxd: Improves efficiency of operation cancel with permission checker. by @markylaing in #13156
- scripts: Add bash completions for
lxc auth
by @MggMuggins in #13159 - Auth: Pre-check permissions when performing bulk state update. by @markylaing in #13155
- UI: Update
X-Xss-Protection
(deprecated) forContent-Security-Policy
by @gabrielmougard in #13121 - Storage: Fix Btrfs local refresh by @roosterfish in #13133
- Implement
xerrors.Unwrap
forapi.StatusError
. by @markylaing in #13080 - lxd/device/nic: fix default IP for routed NIC (
ipv4.host_address
) by @simondeziel in #13170 - build(deps): bump github.com/mdlayher/ndp from 1.0.1 to 1.1.0 by @dependabot in #13171
- API: Enable gzip compression by @gabrielmougard in #13164
- lxc/file: Get owner mode only if
--gid
or--uid
is unset - from Incus by @simondeziel in #13141 - Migration: Always clone the device config by @roosterfish in #13175
- Few improvements to bash completion by @simondeziel in #13169
- lxc: Check the image really exists on the remote before exporting it by @gabrielmougard in #13161
- doc/reference: reorder pages and update the landing page by @ru-fu in #13180
- doc/explanation: reorder pages and update the landing page by @ru-fu in #13182
- Storage: Recover BTRFS pools
source
to block device UUID to align with creation process by @roosterfish in #13184 - Patch: Fix patches that incorrectly depend on cluster member being leader by @roosterfish in #13189
- Container: Do not set "soft" limit when hard limit is set for cgroupv2 by @mihalicyn in #13192
- doc/howto: reorder pages and update the landing pages by @ru-fu in #13188
- doc: workaround for undefined references by @ru-fu in #13196
- VM: Fix handling of > 64 limits.cpu by @tomponline in #13195
- lxd/api: Revert gzip compression on API by @tomponline in #13202
- lxd/api_internal.go: remove impossible conditions by @hamistao in #13206
- Storage: Remove unused parameters by @hamistao in #13205
- lxd: Update instance types URL by @tomponline in #13208
- build(deps): bump github.com/openfga/openfga from 1.5.0 to 1.5.1 by @dependabot in #13209
- Storage: Use reverter for Ceph RBD volume refresh by @roosterfish in #13198
- Move
IPRanges
parsing by @MggMuggins in #13213 - Grafana fixes by @simondeziel in #13212
- actions: add notification for doc PRs by @ru-fu in #13201
- doc: remove nesting for the tutorial by @ru-fu in #13216
- actions: fix notification for doc PRs by @ru-fu in #13221
- LXC: Implement profile expansion on lxc copy by @hamistao in #13118
- API: Add list all volumes endpoint by @hamistao in #13036
- gitignore: Ignore all pycache under doc/ by @MggMuggins in #13232
- Ensure
uid
,gid
, andmode
are valid during parsing by @MggMuggins in #13230 - Cleanup for the automatically generated config options by @ru-fu in #13229
- Storage: Use progress tracker for Btrfs migration by @roosterfish in #13233
- gitignore: Ignore all
.bak
by @MggMuggins in #13237 - Metrics: Differentiate between restricted and unrestricted certificates by @roosterfish in #13214
- Refactor file header parsing by @MggMuggins in #13231
- Allow setting file permissions via API and
lxd file push --mode
by @MggMuggins in #13193 - build(deps): bump actions/checkout from 3 to 4 by @dependabot in #13242
- Check
lxd-agent
imports by @simondeziel in #13219 - VM: Use auto-converge for all live migrations (from Incus) by @tomponline in #13246
- gomod: Update dependencies by @tomponline in #13245
- lxc: Add images remote for images.lxd.canonical.com by @tomponline in #13247
- Metrics: Do not expose the stopped instance metrics anymore by @gabrielmougard in #13222
- lxc: Make
lxc init
andlxd launch
manpages more consistent by @MggMuggins in #13250 - DB: Remove
ErrAlreadyDefined
sentinel error. by @markylaing in #13252 - test: Tweak to be able to run tests locally by @tomponline in #13253
- Introduce requirements.nesting for images (from Incus) by @MusicDin in #13249
- Auth: Generate entitlement definitions by @markylaing in #13256
- Bash completion additions by @simondeziel in #13260
- Instance and storage volume name validation improvements by @tomponline in #13261
- Instance: Add container
finit_module()
syscall interception support by @mihalicyn in #13151 - VM: Instance's CPU auto rebalancing/pinning by @mihalicyn in #13257
- Storage: Improve volume name validation in CreateCustomVolumeFromBackup by @tomponline in #13263
- test/lint/godeps: rework dependency checking by @simondeziel in #13266
- Enable renovate bot by @simondeziel in #13267
- build(deps): bump golang.org/x/crypto from 0.21.0 to 0.22.0 by @dependabot in https://github.com/can...
LXD 5.21.1
Announcement
https://discourse.ubuntu.com/t/lxd-5-21-1-lts-has-been-released/43823
What's Changed
Full Changelog: lxd-5.21.0...lxd-5.21.1
LXD 5.21.0
Announcement
https://discourse.ubuntu.com/t/lxd-5-21-0-lts-has-been-released/42476
What's Changed
- github: add Canonical CLA check by @simondeziel in #12665
- doc: clarify some wording around the license by @ru-fu in #12673
- doc/backup: improve linking between pages and mention
--refresh
by @ru-fu in #12697 - doc: small doc fixes by @ru-fu in #12676
- doc/security: include info on privileged/unprivileged containers by @ru-fu in #12695
- build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 by @dependabot in #12690
- build(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /test/mini-oidc by @dependabot in #12689
- build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #12683
- Clarify restricted.containers.privilege config option by @roosterfish in #12604
- doc: add sudo to set lxd ui.enable=true by @ggouzi in #12707
- Refer to licenses using their proper SPDX identifiers by @simondeziel in #12677
- Clarify optimized volume refresh by @roosterfish in #12720
- License Go SDK client as Apache-2.0 by @tomponline in #12731
- GitHub push event base ref by @markylaing in #12709
- lxc/move: Only use server-side move when dealing with a single server by @MusicDin in #12675
- lxd/instance/qemu: Start using seabios as CSM firmware by @mihalicyn in #12736
- Prevent live migration of instances with custom volumes by @MusicDin in #12733
- shared/idmap: handle "both" idmappings in raw.idmap properly by @mihalicyn in #12718
- test: Add exec exit code test by @MusicDin in #12714
- Task: Remove unnecessary calls to defer g.mu.Unlock() by @tomponline in #12710
- Allow configuring OVN SSL settings through server configuration by @simondeziel in #12638
- Use rsync flags consistently for local and remote copy by @roosterfish in #12715
- Stop dead client connection from blocking instance snapshot / remove by @gabrielmougard in #12702
- Tighten up QEMU Apparmor profile by @simondeziel in #12687
- lxd: Add support for apparmor unconfined profile mode by @alexmurray in #12713
- Remove deprecated instance config option limits.network.priority by @MusicDin in #12735
- doc: decode the objects.inv file by @ru-fu in #12701
- Fix typos in code comments and make it clear that
zfs.blocksize
is in bytes by @simondeziel in #12671 - doc/projects: clarify restricted.devices.disk by @ru-fu in #12613
- Make it clear that CCW devices (s390x) don't have device bus nor bus address by @simondeziel in #12669
- Use
cloud-init
to enablelxd-agent
on Ubuntu releases before20.04
by @simondeziel in #12680 - Removes AGPL imports from shared package by @tomponline in #12740
- lxd/init: Add support for storage volumes in preseed init by @megheaiulian in #12426
- doc: Add paragraph on how to delete images by @ggouzi in #12711
- Makefile: stop pinning openfga/go-sdk by @simondeziel in #12688
- test/lint: Always fetch the target branch if it cannot be found. by @markylaing in #12741
- Add metrics for stopped instances by @simondeziel in #12639
- doc/api-extensions:
security.devlxd
applies to both containers and VMs by @simondeziel in #12747 - Apply the
snapshots.pattern
option for manual custom volume snapshot by @gabrielmougard in #12717 - lxdmetadata: support for multiple entities comments by @gabrielmougard in #12642
- feat: annotate codebase for storage config options by @gabrielmougard in #12645
- Remove
images:
remote by @MusicDin in #12748 - Indicate supported instance types when querying /1.0 by @MusicDin in #12662
- README: provide links to some recommended managements tools for LXD by @simondeziel in #12749
- Ceph RBD: Restore the filesystems UUID on the volume by @roosterfish in #12745
- Force SeaBIOS instead of OVMF-based firmware & some firmware lookup logic changes by @mihalicyn in #12750
- Show mounted status of disks and partitions by @masnax in #12537
- doc: enable multiprocessing for pyspelling by @ru-fu in #12751
- Improve
test/lint/golangci
script by @simondeziel in #12753 - doc: use all processors for spelling check by @ru-fu in #12757
- build(deps): bump actions/dependency-review-action from 3 to 4 by @dependabot in #12758
- test/lint: Treat GITHUB_BEFORE as a revision. by @markylaing in #12759
- Scrape interval by @ru-fu in #12763
- Replace deprecated HasExtension checks by @MusicDin in #12764
- shared: Add helper for obtaining a CertInfo struct by @masnax in #12767
- OIDC fixes (without encryption) by @markylaing in #12766
- lxc/cluster: update restore help text for --force by @simondeziel in #12772
- Doc improvements (config option index and build speedup) by @ru-fu in #12770
- github: Pin MinIO to the version before ServiceV2 API by @roosterfish in #12782
- lxdmetadata: connect a substitution database by @gabrielmougard in #12776
- Restore the VM's filesystem volume on LVM and Ceph RBD by @roosterfish in #12777
- github: Pin microceph to quincy edge by @tomponline in #12786
- Indicate LTS version in
lxc version
by @MusicDin in #12785 - github: exempts Apache-2.0 contributions from CLA signing by @simondeziel in #12790
- Fix in-cluster storage volume refreshes by @roosterfish in #12778
- Makefile: Removes unnecessary pins of go deps by @tomponline in #12794
- Golangci whole files by @markylaing in #12791
- doc/installing: 5.0 is the last LTS release shipping lxd.migrate by @simondeziel in #12783
- github: check DCO last as it fails on big PRs by @simondeziel in #12796
- golangci: Remove/update some overly-pedantic revive lint rules. by @markylaing in #12797
- Advertise snap sources by @simondeziel in #12798
- Ceph RBD: Regenerate the FS UUID for filesystem volumes only by @roosterfish in #12805
- github: consistently use set -eux in all script snippets by @simondeziel in #12793
- Revert database on joining node if cluster join fails by @masnax in #12811
- Document that the
certificate
field is base64 onPOST /1.0/certificates
by @markylaing in #12812 - doc: update minimum and recommended requirements by @simondeziel in #12819
- Encrypt OIDC cookies by @markylaing in #12628
- Convert the
certificates
table into anidentities
table. by @markylaing in #12807 - simplestreams: Fix regression when parsing indexes that contain both combined and non-combined variants by @tomponline in #12829
- doc: additional options recommended for running Docker by @ru-fu in #12833
- Remove Candid authentication and RBAC authorization by @markylaing in #12830
- github: update CI to run most tests with Go 1.21 with build/compat test with 1.20 by @simondeziel in #12822
- Add patch to remove
block.*
settings from LVM and Ceph RBD block volumes by @roosterfish in #12813 - Instance: fix linting issues in the instance drivers by @gabrielmougard in #12841
- lxd: Remove RBAC and Candid config keys (patch). by @markylaing in https://github.com/canonical/lxd/pull...