Incus 0.5.1 has been released. This release includes important bugfixes and a minor feature addition that caters to those running CentOS, AlmaLinux and Rocky Linux virtual machines.

One of the highlights of this release is the alternative way to get the VM agent. In the previous version, there was a single share named config that included both the instance-specific agent configuration and the incus-agent binary. However, this approach was wasteful and required a copy of the large incus-agent for every VM. With Incus 0.5.1, a separate share was introduced just for the binaries to avoid copying them for every VM. This change reduces resource usage on the host system.

Another important fix in this release is the handling of stopped instances during evacuation. In Incus 0.5, a bug caused stopped instances to be relocated to other systems during evacuation, even if they were configured to remain where they were. This bug has been corrected in Incus 0.5.1, ensuring that instances using stopped, force-stop, or stateful-stop will remain on their current server.

There are also some database performance fixes in this release. Improvements in Incus 0.5 unintentionally caused nested database transactions when fetching network information details for a large number of instances. This issue became visible when using an Incus cluster that serves DNS zones and has its metrics scraped by Prometheus. The fix removes the nested transactions and optimizes database interactions during command API interactions.

Here is the complete changelog for Incus 0.5.1:

  • Translated using Weblate (German)
  • Translated using Weblate (Dutch)
  • incus/action: Fix resume
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Japanese)
  • doc: Remove net_prio
  • incusd/cgroup: Fully remove net_prio
  • incusd/warningtype: Remove net_prio
  • incusd/cgroup: Look for full cgroup controllers list at the root
  • incusd/dns: Serialize DNS queries
  • incusd/network: Optimize UsedByInstanceDevices
  • incusd/backups: Simplify missing backup errors
  • tests: Update for current backup errors
  • incusd/cluster: Optimize ConnectIfInstanceIsRemote
  • incusd/instance/qemu/agent-loader: Fix to work with busybox
  • doc/installing.md: add a gentoo-wiki link under Gentoo section
  • Translated using Weblate (French)
  • Translated using Weblate (Dutch)
  • incusd/device/disk: Better cleanup cloud-init ISO
  • incusd/instance/qemu/qmp: Add Eject command
  • incusd/instance/qemu/qmp: Handle eject requests
  • api: agent_config_drive
  • doc/devices/disk: Add agent:config drive
  • incusd/device/disk: Add agent config drive
  • incusd/project: Add support for agent config drive
  • incusd/instance/qemu/agent-loader: Handle agent drive
  • incusd/db/warningtype: gofmt
  • incusd/loki: Sort lifecycle context keys
  • incusd/instance/qemu/agent-loader: Don’t hardcode paths
  • incusd/cluster: Fix evacuation of stopped instances

For more information, you can refer to the Incus documentation.