Announcement
https://discuss.linuxcontainers.org/t/lxd-5-1-has-been-released/13956
What's Changed
- lxd/instance/qemu: Fix bad topoext logic by @stgraber in #10168
- lxd/storage/btrfs: Fix usage nested by @stgraber in #10167
- Networking docs restructure by @ru-fu in #10139
- lxd/instance/drivers/qemu: Add serial key to device by @monstermunchkin in #10173
- Add/remove cluster role commands by @markylaing in #10172
- Move SplitNTrimSpace to shared by @stgraber in #10174
- Fix typo in notes by @745150400 in #10170
- Storage: Move validation into storage package by @tomponline in #10169
- lxd/cluster: Don't overwrite original volatile.evacuate.origin by @stgraber in #10176
- Database Refactor Part 1: Decouple Certificates from their Projects. by @masnax in #10031
- Image: Prevent concurrent delete race by @tomponline in #10179
- DB: Update generator to use api.StatusErrorf(http.StatusNotFound) by @tomponline in #10178
- Storage volume total size and used in a single query by @presztak in #10171
- doc/rest-api: Refresh swagger YAML by @stgraber in #10180
- lxd/util/net: Assign default port if no port given by @masnax in #10182
- lxd/instance/qemu: Allow using external firmware or kernel by @stgraber in #10188
- doc: move Sphinx extensions to a separate repo by @ru-fu in #10150
- lxd/instance/qemu: Tweak warning on -bios/-kernel by @stgraber in #10193
- Storage: Use TryUnmount without MNT_DETACH in DiskMountClear by @tomponline in #10185
- lxd/instance: Fix RuntimeLiblxcVersionAtLeast to handle ~ by @stgraber in #10197
- shared: allow EOPNOTSUPP from llistxattr() by @tych0 in #10198
- Lxd 100 network bgp by @ru-fu in #10190
- VM: Fix disk hotplugging issues by @tomponline in #10202
- lxd/storage/drivers/btrfs: Fix optimized refresh by @monstermunchkin in #10192
- Miscellaneous fixes by @monstermunchkin in #10204
- Introduction operationlock around Update by @stgraber in #10203
- Misc by @simondeziel in #10206
- lxd/storage/drivers/zfs: Close stderr after copy by @monstermunchkin in #10211
- Backup: Default to container instance type if not specified in backup config by @tomponline in #10209
- LXD: Replace use of ErrNotFound with api.StatusError with code set to http.StatusNotFound by @tomponline in #10207
- Update doc links by @stgraber in #10214
- Network types documentation by @ru-fu in #10201
- Storage: Updates genericVFSCopyVolume to not copy block volume files twice by @tomponline in #10213
- Properly handle nesting a manually built LXD by @stgraber in #10215
- lxd/instance/qemu: Avoid conflicting vsock IDs by @stgraber in #10216
- Implement HEAD in file API by @stgraber in #10218
- Storage: VM copy dir driver peformance improvements by @tomponline in #10217
- Error improvements by @tomponline in #10220
- test: drop dependency on uuidgen by @simondeziel in #10226
- Add global config option instances.nic.host_name by @presztak in #10212
- lxc/instance/drivers: Do not update root device pool by @monstermunchkin in #10224
- Improve PTY error and prevent volatile key deletion by @stgraber in #10229
- Fix format string expansion in devlxd by @stgraber in #10232
- lxd/util: Extend tests for CanonicalNetworkAddress by @stgraber in #10230
- Set msize for 9p mounts by @stgraber in #10228
- Replace
forkuserns
with Go's native uid/gid map by @stgraber in #10227 - doc: make it explicit that automake is needed to build LXD by @simondeziel in #10235
- lxd/main_init_interactive: Mention port by @stgraber in #10237
- tests: Add test for instances.nic.host_name by @stgraber in #10239
- lxd/storage/drivers/zfs: Use -w flag with
zfs send
if possible by @monstermunchkin in #10240 - Comment updates for upcoming godoc/gofmt changes by @stgraber in #10241
- Re-enable some clustering unit tests by @stgraber in #10243
- lxd/storage/drivers/zfs: send -w is possible since 0.8.0 by @simondeziel in #10248
- Migration: Improve errors returned when failing to read control message by @tomponline in #10245
- lxd: Switch to using api.StatusErrorCheck where appropriate by @tomponline in #10247
- VM: Look for QEMU helpers in /usr/libexec/ by @tomponline in #10246
- LXD: Updates ConnectIfInstanceIsRemote to return client preconfigured with instance's project by @tomponline in #10244
- lxd-agent: Fix trans= handling by @stgraber in #10252
- Show instance driver startup errors by @stgraber in #10242
- lxd/device: Increase device name length restriction to 64 chars by @stgraber in #10251
- Fix user triggered restart of ephemeral instances by @stgraber in #10254
- VM: Use qemu-img convert rather than qemu-img dd and use direct I/O where possible by @tomponline in #10249
- Bugfixes by @stgraber in #10257
- client: Add GetMetrics by @stgraber in #10256
- Cluster: Allow member join when a project has
restricted.networks.subnets
by @tomponline in #10259 - Database Refactor: Remove UsedBy/Config from Projects by @masnax in #10225
- VM: Fix stateful snapshot with QEMU >= 6.2 by @tomponline in #10262
- Switch QEMU text console to socket by @stgraber in #10264
- lxd/apparmor: Treat ramfs the same as tmpfs by @simondeziel in #10268
- Network: Mark
sriov
network as available on successful start by @tomponline in #10273 - LXD: Ensure that encoded URL segment variables are not considered for route matching by @tomponline in #10276
- VM: Only attempt to open NVRAM file on UEFI architectures by @tomponline in #10277
- Cluster: Separate, smaller timeout for client leader request by @MathieuBordere in #10284
- Instance: Ensure that devices are added and removed in the correct order by @tomponline in #10285
- lxd/storage/drivers/zfs: Fix optimized refresh in migration by @monstermunchkin in #10234
- Network: Improve network zone name validation by @tomponline in #10280
- Add a --profile option to lxc image copy by @presztak in #10269
- Storage: Attempt to unmount volume if even mount task fails by @tomponline in #10289
- Lower log level of "Detected poll(POLLNVAL) event" message by @simondeziel in #10292
- Fix cluster join cert name issue by @stgraber in #10290
- test: restore "set -x" at the end of respawn_lxd() by @simondeziel in #10295
- test: avoid unbound var if cleanup() is called early on by @simondeziel in #10297
- lxd/instance/qemu: Don't timeout during migration by @stgraber in #10294
- lxc/utils: Fix bad error string by @stgraber in #10293
- lxd/sys: Fix vsockID detection by @stgraber in #10301
- Storage: Fix restoring non-thin LVM block volumes by @tomponline in #10299
- lxd/storage: Allow parallel writes in qemu-img by @stgraber in #10303
- Improve ceph.conf parser by @stgraber in #10304
- Database: Package-based Tx functions and unified DB by @masnax in #10296
- LXD: Removes TransactionCTX function and updates Transaction function to accept context by @tomponline in #10305
- Sql dump schema table by @markylaing in #10298
- Recursive rlock shutdown by @MathieuBordere in #10306
- Sql dump all entities by @markylaing in #10310
- Cosmetic fixes for test by @simondeziel in #10311
- Replace 20.04/Focal Fossa by 22.04/Jammy Jellyfish by @simondeziel in #10307
- Moves swagger response definitions to response package. by @markylaing in #10313
- More generator flags by @masnax in #10315
- shared/cert: Adds method for returning the public key as an x509 cert. by @markylaing in #10316
- DB: Returns a status error on create if entry already exists by @markylaing in #10317
- DB: Error status not found if "delete one" affects zero rows. by @markylaing in #10319
- Doc: integrate with systemd-resolved by @ru-fu in #10318
- Seccomp: Add syscall interception for sysinfo by @tomponline in #10283
- lxd/project: Allow sysinfo intercept by @stgraber in #10320
- lxd/device/disk: Handle long paths in virtiofsd by @monstermunchkin in #10321
- gomod: Update github.com/canonical/go-dqlite to v1.11.1 by @tomponline in #10324
- lxd/resources: Handle nested devices by @stgraber in #10327
- Instance: Fix NIC removal failure on revert by @tomponline in #10326
- shared/api: nowadays various types of certs are accepted by @simondeziel in #10333
- lxc/file: Fix edit in snap environment by @stgraber in #10330
- Allow overriding the cluster evacuation mode by @stgraber in #10332
- Storage: Fix copy of running VM snapshot on non-thin LVM pool by @tomponline in #10331
- lxc/storage: Show new Total field by @stgraber in #10334
- Fix BTRFS optimized refresh by @monstermunchkin in #10339
- test: Skip seccomp notify tests if seccomp notify not supported by @tomponline in #10337
- doc: mention that ECDSA cert generation requires openssl 1.1.0+ by @simondeziel in #10342
- Adds simple wrapper for a cancellable context by @markylaing in #10341
- Storage: Fix unpacking image larger than default volume size for non-thin LVM pools by @tomponline in #10344
- lxc/delete: Validate instances ahead of time by @stgraber in #10345
Full Changelog: lxd-5.0.0...lxd-5.1