Releases: canonical/lxd
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...
LXD 5.0.3
Announcement
https://discourse.ubuntu.com/t/lxd-5-0-3-has-been-released/42074
What's Changed
Full Changelog: lxd-5.0.2...lxd-5.0.3
LXD 5.20
Announcement
https://discourse.ubuntu.com/t/lxd-5-20-has-been-released/40865
What's Changed
- lxd: Initialise server name and global config before storage patches are run by @tomponline in #12421
- Use HTTP status codes constants instead of literal numerics by @simondeziel in #12424
- lxd/firewall: Fix nftables ACL template by @rafalborczuch in #12423
- lxd/patches: Add cluster check for patches fixing volumes by @monstermunchkin in #12430
- doc: update link to tool downloads by @ru-fu in #12427
- lxd: Update certificate cache again after cluster join. by @markylaing in #12428
- Fix missing etag when retrieving storage pool by @MusicDin in #12432
- Add staticcheck target by @simondeziel in #12422
- doc: add a note about go-lxc build issue when LXC_DEVEL=1 by @mihalicyn in #12420
- Doc updates 5.19 by @ru-fu in #12435
- Doc: remove undesired content by @ru-fu in #12440
- lxd/instance/drivers: Check running status with
InitPID
for cgroups by @monstermunchkin in #12441 - shared/cliconfig: Nicer error on missing socket by @gabrielmougard in #12439
- Exec: Log error from io.Copy by @tomponline in #12443
- Ensure the remote connection using simplestreams is valid before adding it by @gabrielmougard in #12442
- Revert "Ensure the remote connection using simplestreams is valid before adding it" by @tomponline in #12446
- Candid + RBAC test suite by @markylaing in #12436
- doc: temporarily ignore MAAS links by @ru-fu in #12448
- loki: enable TLS verification if a CA cert is provided by @simondeziel in #12402
- Authentication method constants by @markylaing in #12450
- Require destination name when copying an instance on the same server by @MusicDin in #12447
- test/suites: Unsets RBAC configuration after test. by @markylaing in #12453
- Drop
GetTLSConfig()
unused args by @simondeziel in #12452 - lxd/instance/driver/qemu: replace sha1 by sha256 in blockNodeName() by @simondeziel in #12454
- Refactors
projectParam
for use outside oflxd
directory by @markylaing in #12451 - lxd: Exec wrapper improvements by @tomponline in #12456
- Authorization refactor in preparation for fine-grained authorization by @markylaing in #12313
- lxd/cluster/config: Add missing bool default values by @MusicDin in #12460
- Support server side copy/move of custom storage volumes in clusters by @monstermunchkin in #12386
- doc/networking/firewall: add more restrictive UFW rules by @ru-fu in #12266
- readme: reference Ubuntu's LXD security page by @eslerm in #12444
- lxd/storage_volumes: Fix calls to QueryParam by @monstermunchkin in #12462
- gomod: Switch UUID package by @roosterfish in #12471
- lxd/patches: Ensure renaming is only done on cluster leader by @monstermunchkin in #12467
- test/suites: Fixes wait_no_operations helper. by @markylaing in #12464
- OpenFGA authorization driver by @markylaing in #12252
- lxc/network forward: Fix typo
port
toports
. by @VergeDX in #12479 - doc: add page title for related links by @ru-fu in #12480
- Fix idmapped mount layer on intercepted mounts by @mihalicyn in #12484
- config: Ensure config key values are reset to their default by @monstermunchkin in #12483
- instance/lxc: Fix swap limit handling by @gabrielmougard in #12466
- test/deps: switch to ecdsa certificate by @simondeziel in #12472
- doc: small fixes OpenFGA docs by @ru-fu in #12485
- zfs: Support zfs pools containing '/' in the patch by @monstermunchkin in #12469
- Test metrics cert by @simondeziel in #12486
- metrics: Fix label merging in metric sets by @monstermunchkin in #12474
- lxd/device/proxy: Consider routed NIC IPs for wildcard target check by @tomponline in #12502
- lxd/network/driver/bridge: Improve comments for accept_ra by @tomponline in #12501
- Go: Bump minimum version to 1.20 by @tomponline in #12506
- test/lint: Removes openfga model linter. by @markylaing in #12509
- Always use
--
withexec delimiter
by @simondeziel in #12455 - Add NVME disk support by @simondeziel in #12500
- Fix load balancer port typo by @MusicDin in #12508
- Restrict user.* keys by @monstermunchkin in #12487
- Go 1.20 followup by @simondeziel in #12512
- lxc/delete: Include instance name in error message by @monstermunchkin in #12499
- Adds tests for OIDC by @markylaing in #12490
- shared/network: Only skip TLS verification if no remote certificate is available by @simondeziel in #12457
- lxc: Use volume copy when moving to target project by @roosterfish in #12521
- Trust ca certs by @markylaing in #12513
- lxd/instance/exec: Only use keepalives on TCP sockets by @cjwatson in #12530
- btrfs: Handle pools whose source is a subvolume outside of the pool mount path by @monstermunchkin in #12498
- client: Use io.Writer for Stdout/Stderr in InstanceExecArgs by @monstermunchkin in #12495
- Import from incus by @simondeziel in #12532
- config: Fix
acme.ca_url
short description by @monstermunchkin in #12535 - lxd/instance/drivers/driver_qemu: force 4MB UEFI firmware in snap by @mihalicyn in #12515
- Read system certs directly from
/etc/ssl
by @masnax in #12541 - lxd/instance/drivers/driver_qemu: use OVMF_CODE.fd in a non-snap envi… by @mihalicyn in #12543
- lxd/instance/drivers/driver_qemu: add the boot.debug_edk2 option by @mihalicyn in #12522
- Add LXD server UUID file by @roosterfish in #12544
- doc/installing: LXC_DEVEL needs to be fixed on 22.04+ by @simondeziel in #12549
- Exec cleanup improvements by @tomponline in #12542
- Rename ring buffer to com.canonical.lxd by @MusicDin in #12548
- Few small changes to
lxd-agent-setup
script by @simondeziel in #12552 - github: instruct dependabot to also look after the stable-5.0 branch by @simondeziel in #12553
- Respect storage pool configuration when moving instance between projects by @MusicDin in #12412
- github: instruct dependabot to also look after the stable-4.0 branch by @simondeziel in #12556
- github: dependabot knows which branch to target by @simondeziel in #12561
- VM: Support bootorder in edk2 CSM mode by @mihalicyn in #12564
- Set specific root drive config only for Ceph backends by @roosterfish in #12569
- Use stable random generator for temporary instance name by @roosterfish in #12568
- Optionally create entities for
cephfs
storage pool by @masnax in #12538 - Use default VM block filesystem size from driver by @roosterfish in #12566
- Update iso import in instances_create by @MusicDin in #12572
- Improved filtering from Incus by @simondeziel in #12570
- doc/howto: Make pool name consistent in iso tutorial. by @markylaing in #12574
- Revert to filepath traversal if subvolume list fails by @markylaing in #12565
- doc/instances: change pool name to be consistent by @ru-fu in #12576
...
LXD 5.19
Announcement
https://discourse.ubuntu.com/t/lxd-5-19-has-been-released/39590
What's Changed
- patches: Don't fail if no storage pools were found by @monstermunchkin in #12289
- simplestreams: Fix regression in lxd_combined.tar.gz handling by @tomponline in #12294
- loki: Sort context keys alphabetically by @monstermunchkin in #12296
- client: check API extension for
instances_rebuild
by @gabrielmougard in #12298 - Small Loki fixes by @monstermunchkin in #12300
- doc: add link to Windows VM tutorial by @ru-fu in #12302
- doc: align with current doc starter pack by @ru-fu in #12275
- lxd/main_init: use GiB instead of GB for storage-create-loop by @simondeziel in #12307
- doc: include the cheat sheet again by @ru-fu in #12303
- Add name and project to lifecycle events and loki by @monstermunchkin in #12301
- loki: Add hostname as
instance
label value by @monstermunchkin in #12305 - Add support for network device limits.priority option by @mihalicyn in #12135
- lxd/device/nic_ovn: Prevent setting static IPv6 if static IPv4 is not set by @MusicDin in #12311
- makefile: use venv pip and not global pip by @gabrielmougard in #12314
- Doc: fix for topical navigation by @ru-fu in #12288
- Instance volume configuration through disk device by @MusicDin in #12089
- Enforce
security.shifted
andsecurity.unmapped
to be mutually exclusive. by @markylaing in #12316 - doc: document the project config options by @gabrielmougard in #12251
- github: add differential shellcheck to get in-PR feedback by @simondeziel in #12323
- doc: fix swagger display by @ru-fu in #12321
- Use generic helper functions by @monstermunchkin in #12320
- firewall: fix nftables hostVersion() description by @mihalicyn in #12328
- github: only try to upload differential shellcheck result if it ran by @simondeziel in #12324
- Allows usage of
remote:
withlxc network list-allocations
and fixes project usage. by @markylaing in #12331 - patches: Remove invalid block settings from existing volumes by @monstermunchkin in #12330
- README: Update test status badge so it accurately shows status of tests.yml workflow by @tomponline in #12332
- README: remove CII Best Practices badge link by @simondeziel in #12336
- Fix info --resources for wwan devices by @skatsaounis in #12281
- patches: Check server name when unsetting invalid block settings by @monstermunchkin in #12340
- client/lxd/images: Propagate error (if any) when streaming split tarballs by @montag451 in #12341
- tests: Don't use lxdbr0 in network tests by @tomponline in #12346
- doc/devices_nic: add missing column to
limits.priority
description by @simondeziel in #12350 - github: look for branch target name in PR title by @simondeziel in #12351
- lxc: Handle volume rename in
lxc storage volume move
command by @monstermunchkin in #12348 - lxd: Fully configure new node from cluster config after it is added. by @markylaing in #12347
- lxd/patches: Fix patchStorageRenameCustomISOBlockVolumes when no storage pools exist by @tomponline in #12352
- lxc/storage: Initialise writable storage pool config map if nil. by @markylaing in #12353
- github: sign commits (with SSH key) to repo on git.launchpad.net by @simondeziel in #12342
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 4 to 5 by @dependabot in #12355
- github: Skip edge snap build for pushes on branches from dependabot by @tomponline in #12357
- client: Remove project from format string API path. by @markylaing in #12359
- client: Pass a flag into
queryOperation
to skip event listener setup if not required. by @markylaing in #12349 - github: build static lxc and lxd-migrate bins for arm64 by @simondeziel in #12364
- scripts/bash: add missing
lxc config trust
subcommands by @simondeziel in #12363 - Move certificate cache into new package by @markylaing in #12367
- github: build static lxc and lxd-migrate bins for arm64 by @simondeziel in #12375
- lxd-agent: Adds an operation wait endpoint to fix VM exec operations by @markylaing in #12372
- build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 by @dependabot in #12376
- lxd: Properly forward rebuild requests by @gabrielmougard in #12373
- doc/support: clarify information about LTS releases and timing by @ru-fu in #12371
- Fix duplicate used by entry in storage pool by @MusicDin in #12366
- Doc: fixes to projects documentation by @ru-fu in #12369
- Doc: add information about managing the snap by @ru-fu in #12365
- lxd/resources: if
SCSI_IDENT_SERIAL
is available, use it as serial nr beforeID_SERIAL_SHORT
by @gabrielmougard in #12377 - Fix .md docs by @simondeziel in #12378
- Improve ceph test reliability by @simondeziel in #12384
- github: tune ext4 for speed and reclaim some space by @simondeziel in #12385
- Add lxd-user test by @MusicDin in #12379
- doc: remove lxd.{ogg,wav} now that mp3 support is ubiquitous by @simondeziel in #12383
- Operation wait extension by @markylaing in #12380
- Return error from locking.Lock by @roosterfish in #12382
- Fix interactive exec hangs when background processes still running by @tomponline in #12381
- Update translations from weblate and go mod for LXD 5.19 by @tomponline in #12389
- patches: Fix patch regarding unsetting zfs block settings by @monstermunchkin in #12390
- client: Unset response header timeout when waiting for operations. by @markylaing in #12394
- internal/server/seccomp: Fix clang build by @monstermunchkin in #12393
- shared/osarch: Add loongarch64 by @monstermunchkin in #12392
- Respect instance-only flag when generating backup.yaml by @MusicDin in #12395
- github: use ppa:ubuntu-lxc/daily instead of ppa:ubuntu-lxc/lxc-git-master by @mihalicyn in #12396
- lxd-agent: Fixes vsock listener restart on boot due to vsock module not being fully initialised by @tomponline in #12404
- lxd: Remove use of ioutil by @simondeziel in #12400
- lxd-agent: Fixes intermittent exec EOF closure when vsock listener is restarted just after boot by @tomponline in #12405
- shared/api/url: Fix double path encoding issue by @tomponline in #12407
- network: Don't consider an IP parse failure of a proxy listen address an error by @tomponline in #12411
- Fix/multiple ephemeral delete by @gabrielmougard in #12403
- Fix volume rename if cluster desination target is set by @roosterfish in #12410
- github: Run push actions on main and release branches only by @roosterfish in #12415
- test/remote: switch to cloud-images.ubuntu.com URLs by @simondeziel in #12413
New Contributors
- @skatsaounis made their first contribution in #12281
Full Changelog: lxd-5.18...lxd-5.19
LXD 5.18
Announcement
https://discourse.ubuntu.com/t/lxd-5-18-has-been-released/38769
What's Changed
- doc: directly link to config options by @ru-fu in #12178
- doc: fix breaking build by @ru-fu in #12179
- lxd/auth/rbac: Fix regression by @stgraber in #12182
- doc/manpages: add the man pages to the docs by @ru-fu in #12165
- doc: Update contribution docs by @ru-fu in #12180
- Fix version parsing by @MusicDin in #12187
- doc: add manpages to topical navigation by @ru-fu in #12186
- Un-hide hidden commands by @monstermunchkin in #12192
- doc: unpin Sphinx version by @ru-fu in #12193
- Improve bash completion to work when the selected project !=
default
by @simondeziel in #12195 - doc: add guide about virt-v2v by @mihalicyn in #12184
- doc: don't check validity of GitHub anchors by @ru-fu in #12198
- doc: link to manpages by @ru-fu in #12199
- shared/util: use LC_ALL instead of LANG in RunCommandCLocale() by @simondeziel in #12201
- lxd: Use instance lock when updating instance by @monstermunchkin in #12191
- lxd/resources: Use
lshw
if DMI is not available by @monstermunchkin in #12202 - Add Ubuntu Minimal remote image servers by @MusicDin in #12212
- Doc: PoC for adding API instructions by @ru-fu in #12139
- doc: Updates routed nic how-to to use pass netplan config via stdin. by @markylaing in #12207
- zfs: Disallow block.* settings for regular custom block volumes by @monstermunchkin in #12203
- lxd: Add generated configuration options to API by @gabrielmougard in #12101
- lxd/resources: Use RunCommandCLocale when calling
lshw
by @monstermunchkin in #12217 - drivers: Use StatusError to ensure error code consistency by @monstermunchkin in #12218
- Reduce doc size by @ru-fu in #12215
- instance_exec: Add constraint validation by @monstermunchkin in #12219
- Skip loop devices from IO stats by @simondeziel in #12208
- Makefile: fix "tags" target and don't make it PHONY by @simondeziel in #12221
- doc/zfs: remove limitation by @ru-fu in #12220
- Device: Fix disk hot-plug validation for VMs by @tomponline in #12230
- btrfs: Mention detected FS on detection error by @monstermunchkin in #12227
- Fix metadata-up-to-date lint script by @simondeziel in #12222
- lxd: expose a documentation server to LXD by @gabrielmougard in #12098
- Update storage_volumes.md by @piperdeck in #12223
- storage/drivers/ceph: Differentiate between a true non-existent OSD pool and a Ceph internal issue by @gabrielmougard in #12231
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in #12235
- Makefile: check
shellcheck
's version only if present by @simondeziel in #12241 - doc: add information about LXD 4.0 EOL by @ru-fu in #12240
- shared/cmd/ask: Allow setting CLI function reader by @masnax in #12238
- doc/instances: add UI instructions by @ru-fu in #12237
- doc/zfs: document that some features require ZFS 2.2 by @ru-fu in #12242
- lxd: Dependency updates and cherry-picks by @tomponline in #12243
- Small ISO workaround by @simondeziel in #12245
- github: Adds CODEOWNERS file by @tomponline in #12246
- apparmor: Allow /etc/machine-id by @tomponline in #12247
- tests: Test the distribution tarball can be used to build LXD and its dependencies by @tomponline in #12248
- lxd/instance/qemu: Avoid old -bios syntax by @tomponline in #12249
- Try to improve ceph pool creation reliability by @simondeziel in #12250
- lxd-agent: Validate fields only for CPU info by @monstermunchkin in #12257
- doc/storage: clarify that
block.*
options are for filesystem volumes by @ru-fu in #12253 - Bail if the rootfs and the ephemeral one are on the same disk by @simondeziel in #12256
- Fix OVN leases not showing static IPs by @MusicDin in #12236
- storage: Use btrfs subvolume list command instead of walking dir to get subvolumes by @takonomura in #12258
- lxd/auth: Exit goroutine if RBAC has been disabled by @monstermunchkin in #12259
- simplestreams: Adds support for incus.tar.xz items by @tomponline in #12260
- doc/faq: add info about VPN cgroup1 issues by @ru-fu in #12265
- lxd: Revert server config if it cannot be set by @tomponline in #12264
- device: Improve error handling and messaging in networkSRIOVRestoreVF by @tomponline in #12268
- Add shutdown api http error by @masnax in #12269
- Better document
loki.api.url
by @simondeziel in #12272 - forknet: Remove altname if preventing rename of NIC interface by @tomponline in #12274
- Disallow block settings for VM block volumes by @MusicDin in #12267
- shared/validate: names starting with a digit are valid by @simondeziel in #12262
- grafana: add Loki logs section with lifecycle and logging events by @simondeziel in #12279
- Send OVN logs to events API and Loki by @monstermunchkin in #12200
- Drop compat with ZFS 0.6 by @simondeziel in #12277
- doc: Update docs on loki.api.url by @monstermunchkin in #12273
- Add missing flag
all-projects
for command operation list by @MusicDin in #12282 - shared: Add support for OVN logs to
lxc monitor --pretty
by @tomponline in #12286
New Contributors
- @piperdeck made their first contribution in #12223
- @takonomura made their first contribution in #12258
Full Changelog: lxd-5.17...lxd-5.18
LXD 5.17
Announcement
https://discourse.ubuntu.com/t/lxd-5-17-has-been-released/38061
What's Changed
- doc: add a link to Ubuntu Discourse by @ru-fu in #12072
- Volumes: Add remote copy support for snapshots by @roosterfish in #12045
- lxc: Support parsing of anonymous nested structs for getting properties by @gabrielmougard in #12073
- doc: Clean up backup and disaster recovery documentation by @ru-fu in #12064
lxd-doc
improvements by @gabrielmougard in #12062- shared/proxy: allow SOCKS5 proxy by @montag451 in #12066
- VM: Fix boot from Windows ISO by setting correct FSType for .iso files by @tomponline in #12076
- Storage: Fix ZFS incorrect VM cached image volume regeneration when zfs.block_mode enabled by @tomponline in #12077
- Remove project query parameter from generated instance name by @MusicDin in #12080
- Update instance name in backup file when importing new instance by @MusicDin in #12079
- Apply MemberConfig to storage config table by @masnax in #12007
- Add support for ZFS delegation by @stgraber in #12056
- lxd/instance/lxc: Restrict /dev/zfs to unprivileged containers by @stgraber in #12081
- doc/cluster: add an example for a ZFS storage pool to preseed by @ru-fu in #12083
- doc/installing: update link to tutorial on Discourse by @ru-fu in #12082
- lxd/device/device/utils/disk: Look for virtiofsd in /usr/lib/ by @libricoleur in #12087
- SECURITY.md: update the security policy by @ru-fu in #12091
- Remove detection of LXC versions that are EOL by @simondeziel in #12095
- lxd/networks: Don't filter config on project owned networks by @stgraber in #12094
- Switch to Diataxis navigation by @ru-fu in #12092
- lxddoc: fix quotes issues by @gabrielmougard in #12093
- doc: move configuration options one level up by @ru-fu in #12097
- github: Enable PKI and concurrent tests by @tomponline in #12096
- doc: Update IPAM cli output to use documentation-specific IP addresses by @gabrielmougard in #12060
- Improve bound checking by @simondeziel in #12102
- Introduce Authorizer interface by @monstermunchkin in #12053
- test/container_syscall_interception: supported releases have seccomp_notify support by @simondeziel in #12109
- doc: add an index.html redirect for topical navigation by @ru-fu in #12111
- RBAC fixes by @monstermunchkin in #12106
- Change RaftSpare node to RaftVoter by @ichiro999 in #12040
- lxddoc: Within a config group, alphabetically sort the config options by @gabrielmougard in #12114
- github: keep GITHUB_ACTIONS in the test env to skip cleanup by @simondeziel in #12115
- Update .deepsource.toml by @monstermunchkin in #12117
- static-analysis: Fix shellcheck 0.9.x complaints by @monstermunchkin in #12118
- Use smaller ISO files in tests by @simondeziel in #12113
- Adds a "how to" for routed nic devices on VMs by @markylaing in #12107
- Reduce noise in CI/test logs when DEBUG is set by @simondeziel in #12120
- Fix some erroneous letter repetition by @simondeziel in #12127
- Fix 2 function descriptions in
shared/util
by @simondeziel in #12133 - Doc: Clarify scope of nexthop config keys in BGP extension by @roosterfish in #12134
- doc/security: fix wrongly formatted link by @ru-fu in #12145
- Tiny fixes by @simondeziel in #12143
- doc/api-extensions: fix extension name for VM support by @simondeziel in #12140
- doc/storage: mark ZFS as usable inside a container by @ru-fu in #12146
- doc: Align header of macaroon_authentication by @monstermunchkin in #12151
- lxd/instance/drivers: update instance config if rebuild as empty by @gabrielmougard in #12138
- fix: bgp.ipv*.nexthop keys treated as unknown by @mandrav in #12125
- Fix swagger issue in the instance rebuild endpoint by @gabrielmougard in #12137
- doc: restrict Sphinx version by @ru-fu in #12157
- Instance: Fix placement when moving within same cluster group by @roosterfish in #12148
- Doc: Add missing redirect for security.md by @ru-fu in #12158
- doc: update link to IRC tutorial by @ru-fu in #12159
- lxddoc: Add a readthedoc pre-build hook to build and generate codebase doc by @gabrielmougard in #12043
- doc: update download links by @ru-fu in #12160
- fix: helper message typo by @0o001 in #12162
- shared/termios: Use golang.org/x/term instead of golang.org/x/crypto/ssh/terminal by @tomponline in #12164
- lxddoc: add option comments by @gabrielmougard in #12100
- Allow recovery of empty storage pools by @MusicDin in #12108
- lxd/device/gpu: if
gputype=physical
, check that no processes are tied to the card before unbinding it by @gabrielmougard in #12017 - lxddoc: Renamed to lxd-metadata by @gabrielmougard in #12171
- doc: update link to distrobuilder docs by @ru-fu in #12173
- lxd: network.limit-related bugfixes by @mihalicyn in #12170
- Fix migration condition for bridged network devices by @MusicDin in #12176
- lxd: add all-projects param to the operation API by @MusicDin in #12172
New Contributors
- @montag451 made their first contribution in #12066
- @libricoleur made their first contribution in #12087
- @mandrav made their first contribution in #12125
- @0o001 made their first contribution in #12162
Full Changelog: lxd-5.16...lxd-5.17