Incus 6.0.6 LTS リリースのお知らせ¶
2026/03/16
はじめに ¶
Incus チームは、Incus 6.0.6 のリリースのアナウンスができてうれしいです!
このリリースは、Incus 6.0 に対する 6 度目のバグ修正リリースです。Incus 6.0 は 2029 年 6 月までサポートされます。
変更点 ¶
いつもどおり、このバグ修正リリースは、安定性とセキュリティー強化にフォーカスを当てています。
データの移行や、データベースの変更を必要としない、ユーザー側の動作に予期しない変更を起こさないようなマイナーな改善もバックポートされています。
このような改善の数は、LTS ブランチ内での時間経過とともに減っていくでしょう。
このリリースのハイライトは次のとおりです:
- VM における USB CD-ROM の処理の見直し
- CLI でのコンソール動作の設定の拡張
- コンテナ向けの
tmpfsとtmpfs-overlayディスクのサポート - IncusOS 管理コマンドの追加
- Out-of-memory 優先度の制御のための設定の追加
- バックアップをインポートする際に設定とデバイスを上書き可能に
database-clientクラスターロールの追加- OVN アップリンクネットワークにおける
parent=noneのサポート - 事前に与える構成でクラスターグループが設定可能に
- Systemd クレデンシャルメカニズムの利用の追加
- ストレージボリュームのファイル操作
- ISO ボリュームのエクスポート
- BPF トークン委任のサポート
- Incus エージェントの macOS サポート
- VM における VirtIO サウンドカードタイプの追加
- USB デバイスを削除せずにデタッチする機能のサポート
- OVN network における
dns.modeプロパティの追加 - MAC アドレスパターンを設定可能に
- IncusOS CLI の拡張
- SELinux の初期サポート
- Windows エージェントサポートの改良
- リソース API にシリアルデバイス情報が含まれるように
- OVN NIC の帯域幅制限サポート
- ほとんどの CLI コマンドで複数オブジェクトの削除をサポート
- PCI ファームウェアの VM へのパススルーをオフにする機能
- CLI での PKCS12 生成
- CLI CSV 出力における RAW 単位の出力サポート
- クラスター化 LVM 上のボリュームで QCOW2 フォーマットを使用
- スタンドアローンの
incus cluster joinコマンドの追加 - VM エージェントの設定ファイルの追加
- OVN での逆引き DNS レコードの生成
incus waitコマンドの追加- ネットワークインタフェースの自動 SR-IOV 選択
- ネットワークインターフェースへの
attachedとconnectedプロパティーの追加 - インスタンスの並列起動
- OIDC クレームによるネットワーク制限
- ネットワークゾーンにおける SOA レコードのサポート強化
- API での強制(再帰的)ファイル削除機能のサポート
- Windows エージェントの vsock サポート
- 直接バックアップの取得が可能に
- ディスクのみのスナップショットリストアのサポート
- サーバーログ専用のストレージボリュームのサポート
- QCOW2 ストレージの改良
lvmclusterストレージプールのリサイズlvmclusterでのリストアにおけるスナップショットの自動削除のサポートunix-hotplugにおける USB コントローラーの完全なパススルーのサポート- 認可スクリプトレット内の証明書情報の拡張
- VM の高速再起動
- プロジェクトにおけるイメージサーバー URL の制限のサポート
incus-migrateにおける URL ベースのインポートのサポート- ACME を使用した証明書取得のマルチドメインサポート
- SR-IOV NIC における信頼済みプロパティーの制御が可能に
- 退避状況を追跡するためのクラスターメンバーの状態の追加
- インスタンスの移行なしでのクラスターのリストアのサポート
- インスタンス起動時のメトリクスの追加
このアップデートでは、次の脆弱性にも対処しています:
- CVE-2026-28384 (LXD also affecting Incus)
- CVE-2025-64507 (Incus also affecting LXD)
- CVE-2026-23954 (Incus also affecting LXD)
- CVE-2026-23953 (Incus also affecting LXD)
これらの問題はすべて、これまでの月例リリースで修正されていました。LXD 側での情報公開の遅れにより、CVE 番号が割り当てられない場合がありました。6.0.x を提供しているディストリビューションでは、これらの問題について事前に通知を受けており、6.0.6 リリースに先立って、パッチを適用した Incus 6.0.5 が利用可能になっていたはずです。
コミットのすべてのリストは次のとおりです(翻訳なし):
すべてのChangeLogを見る
- incusd/storage: Tighten storage pool volume permissions
- incusd/patches: Re-apply storage permissions on update
- incusd/patches: Fix incorrect error check in permission patch
- incusd/apparmor/lxc: Don't bother with sys/proc protections when nesting enabled
- internal/instance: Prevent line breaks in environment variables
- incusd/instance/lxc: Restrict path of template files and targets
- doc: Fix build failure
- Fix typo and add clarity for project param
- doc: Mention nft in Docker part of firewall doc
- doc: Tweak Docker recommendations
- incusd/instance/qemu: Ensure cdrom is always read-only
- incusd/instance/qmp: Use USB block transport to handle CD-ROM
- incusd/instance/qemu: Fix USB CDROM handling
- incusd/storage: Restrict setting description to global record
- incusd/network: Restrict setting description to global record
- incusd/networks: Set the description when completing the record
- incusd/project: Don't empty global default profile on force deletion
- doc/requirements: Document minimum OVS/OVN versions
- lxd-to-incus: Handle typo in trigger name
- incusd/instance_exec: Relax connection timeout
- incusd/network: Fix logic for UsedByInstanceDevices
- incusd/instance/utils: Don't fail instance startup due to incomplete CPU baseline
- incusd/device/disk: Add tmpfs support for disk devices
- incusd/auth/tls: Don't spam with warnings
- incusd/fsmonitor: Fix handler issue when flooded
- incusd/device/nic: Don't apply MTU if none detected
- incusd/ip/tuntap: Fix handling of Master property
- doc/device: Add documentation for tmpfs disk
- tests: Add test for tmpfs disk
- doc/installing: Update Debian install instructions
- api: container_disk_tmpfs
- shared/api: Add missing Description field to InstanceSnapshots
- incusd: Correctly fill in the instance snapshot description
- doc/rest-api: Refresh swagger YAML
- incusd/cluster: Don't use the proxy for internal connections
- tests: Skip XFS on ZFS with Ubuntu 24.04
- Makefile: Bump Go to 1.24.0
- github: Disable go-swagger on Go 1.25+
- incusd/device/disk: Allow mounting individual files from custom volumes
- tests: Test mounting individual files from custom volumes
- network/incusd: Allow parent=none physical networks, bypass chassis enablement
- incusd/cluster/evacuate: Clarify error
- doc/instance-create: Mention TLS for the agent
- devcontainer: Update Go to 1.24 and Debian to trixie
- incusd/db: Add 'database-client' role
- incusd/cluster: Add support for rebalancing nodes with 'database-client' role
- incusd: Add logic for selecting nodes with 'database-client' role to process
- incusd: Allow rebalancing when there are too many voters or stand-by nodes
- docs: Fix markdown linting issues for tables
- incusd/cluster: Rename dqlite to cowsql in header
- incus: Add incus admin os command
- incusd/cluster: Clarify comment for cluster rebalancing
- incusd/instance_patch: Fix description field not respecting PATCH semantics
- client/oci: Allow OCI image names with a pinned hash
- doc: Add Rocky 10 Copr Repository
- shared/tls: Remove tls.Config.Time override
- build(deps): bump actions/setup-go from 5 to 6
- build(deps): bump actions/labeler from 5 to 6
- incusd/storage/lvm: Don't use pvcreate with cluster
- incus/admin/os: Fix list commands
- incus/admin/os: Don't require remote name in debug
- incus/admin/os: Rename commands for consistency
- doc: Update third party tool URLs
- doc: Hashicorp web servers don't like Github Runners
- incusd/api_os: Set X-IncusOS-Proxy prefix
- incus/export: Fail fast if target already exists
- tests: Cleanup backup files after use
- docs: Clarify clustered storage pools
- api: instance_limits_oom
- incusd/instance/validate: Add OOM priority validation
- incusd/instance/config: Add limits.memory.oom_priority config key
- doc: Update metadata
- incusd/instance/driver_common: Add setOOMPriority shared method
- incusd/instance/driver_lxc: Apply OOM priority to containers
- incusd/instance/driver_qemu: Apply OOM priority to VMs
- incusd/project/permissions: Forbid limits.memory.oom_priority in restricted projects
- api: backup_override_config
- client: Allow config/device override on backup import
- incus/import: Add override config and device
- incusd/instances/import: Add device and config overrides
- incusd/network/ovn: Support for directional port groups
- incusd/network/acl: Support for directional port groups
- incusd/patches: Migrate port groups to directional
- incusd/network/ovn: Fix behavior when ACL name is used as match source
- incusd/network/acl: Fix behavior when ACL name is used as match source
- internal/incusos: Introduce IncusOS API client
- incusd/sys/os: Make use of IncusOS client
- incusd: Update for OS struct change
- incusd/networks: Use IncusOS API client
- incusd/storage: Add IncusOS service checks
- incusd/network: Add IncusOS service checks
- incusd/config: Prevent unsetting core.https_address on IncusOS
- incusd: Consistent spelling of IncusOS
- incusd/certificates: Add check for IncusOS
- incusd/db: Add UpdateStoragePoolConfig
- incusd/storage/drivers: Add SameSource field to Info struct
- incusd: Update configs of all members when SameSource is true
- api: Add ConfigMap type to better support unmarshaling numbers and bools to map[string]string
- api: Use ConfigMap type for map[string]string
- api: Handle pre initialized targed ConfigMap (default values)
- filter: Add support for api.ConfigMap
- server: Fix test with api.ConfigMap
- golangci-lint: Do not require period in Example comments
- incusd/storage: Fix unmount calls for ISO volumes
- incusd/storage/lvm: Fix locking changes
- incusd/instance/qemu: Re-enable vsock on Windows
- shared/idmap: Skip xattrs on EINVAL
- Makefile: Bump minimal Go to 1.24.7 and remove pins
- Makefile: Use latest go-swagger (for Go 1.25 support)
- Revert "github: Disable go-swagger on Go 1.25+"
- incusd/network/driver: Add support for network tunnels to OVN networks
- incusd/networks: Validate config keys only for ClientTypeNormal requests
- api: Add network_ovn_tunnels extension
- doc: Update config
- client/oci: Set the umoci logger on init
- shared/api: Add missing YAML tag
- api: init_preseed_cluster_groups
- shared/api: Add support for cluster group preseeding
- client: Add support for cluster group preseeding
- doc/rest-api: Refresh swagger YAML
- client: Implement IdenticalCertificate
- incusd/cluster: Set IdenticalCertificate for intra-cluster connections
- incusd/cluster: Rework tlsTransport to handle cluster certificate validation
- incusd/cluster: Make use of updated tlsTransport
- doc: Add description for database-client role
- incusd/network/driver: Add support for dns.mode to OVN network
- incusd/network/ovn: Destroy DNS entry in CleanupLogicalSwitchPort
- doc: Update config
- doc: Change command to
snapshot delete - incusd: Use 'Patch' method for PATCH requests
- internal/server: Add tables on sql dump
- incusd: Add tables on sql dump
- incus/admin/sql: Add tables on sql dump
- incus/admin/os: Update for current API prefix
- Fixed grammar in README.md
- incus: Add a date format with second granularity
- incus/admin/os: Improve debug log command
- incusd/cluster: Don't use proxy when joining
- incusd/device/usb: Add attached configuration key
- doc: Update metadata
- doc: Remove outdated warning
- incusd/device/disk: Remove dead code
- api: usb_attached
- incusd/storage: Generalize InstanceTarWriter
- incusd/instancewriter: Add raw instance writer
- incusd/storage: Add ISO volume export
- incus: Handle ISO export
- test: Incus now allows ISO export
- incusd/storage/generic: Use proper custom volume size for backup if possible
- api: backup_iso
- incusd/metrics: Always include internal metrics
- incusd/auth: log the error if getting the oidc provider fails
- Fix
file pushcmd help typo - incusd/instance/qemu: Remove attached attribute handling for disks
- incusd/device/disk: Handle attached attribute early
- incusd/server/drivers: Add gendoc for storage config keys
- doc: Include doc for storage configuration from config_options.txt file
- doc: Update metadata
- incusd/storage/lvm: Clarify doc strings
- incusd/storage: Don't skip zeroes on qcow2 unpack to LVM
- incusd/device: Fix gofumpt
- doc: Update config
- incusd/network/ovn: Check the correct config on uplink validation
- incusd/instance/qemu: Add support for SPICE audio
- incusd/console: Close remote connection on console disconnect
- shared/resources: Fix caching mechanism
- shared/validate: Add IsBase64
- incusd/instance/config: Add systemd.credential. and systemd.credential-binary.
- incusd/instance/qemu: Add support for systemd credentials through SMBIOS-11
- incusd/instance/lxc: Add support for systemd credentials through CREDENTIALS_DIRECTORY
- incusd/instance/lxc: Allow live-updating systemd credentials
- doc: Update configs
- incus-agent: Pass more information to osUmount
- api: instance_systemd_credentials
- doc/wordlist: Update wordlist
- test: Add tests for systemd keys
- incusd/cluster: Disable proxy during cluster join
- agent/darwin: Initial darwin agent implementation
- doc: Kubernetes and ClusterAPI integration
- doc: Add API to wordlist
- internal/server/network: Update libovsdb import path
- Makefile: Update libovsdb command URL
- internal/server/network/ovn/schema: Update generated schema
- incus-agent/darwin: Split non-darwin-specific logic
- incus-agent/windows: Feature parity with Darwin
- test/mini-oidc: Clarify usage in README.md
- test/mini-oidc: Extract logic from main
- test/mini-oidc: Add RunTest for usage in tests
- test/mini-oidc: Move user file to global var
- test/mini-oidc: Make linter happy
- test/mini-oidc: Make poll interval configurable in tests
- test/mini-oidc: Allow setting expiration for tokens
- test/mini-oidc: Make linter happy
- test/mini-oidc: Fix missing support for device control flow
- incus/admin/os: Add system list command
- shared/cmd: Move from internal/cmd
- incus: Use cli.CheckArgs
- cmd: Update for shared/cmd
- incus-simplestreams: Use cli.CheckArgs
- shared/cmd: Add CheckArgs
- shared/cmd: Add Usage
- incus: Use cli.Usage
- shared/cmd: Add TextEditor
- cmd: Use cli.TextEditor
- incus: Switch to shared IncusOS CLI
- incusd: Use ExtendMetadata when possible
- incusd/instance/qmp: Better protect against write after close
- doc/rest-api: Refresh swagger YAML
- shared/api: Add 'UsedBy' field to 'ClusterGroup' struct
- incusd/db: Add 'GetClusterGroupMemberInstances' and check cluster group member usage
- incusd: Check if cluster group is in use
- Makefile: Bump Go to 1.25.0
- gomod: Update dependencies
- api: Add cluster_group_usedby extension
- doc/rest-api: Refresh swagger YAML
- api: Add bpf_token_delegation extension
- incusd/main_forkbpf: Create forkbpf helper for bpf token delegation.
- incusd/instance: Add bpf token delegation feature.
- doc: Update configs
- doc: Add documentation for bpf token delegation
- incusd/project: Require lowlevel access for bpffs options
- tests: Add test for bpf token delegation
- codespell: Allow attachs (bpffs mount option)
- incusd/instance: Add GuestOS
- incusd/device/disk: Rework OS and architecture detection
- incus-agent/darwin: Implement interactive console
- incusd/instance/qemu: Add Darwin agent files
- incus-agent/darwin: Fix typo in comment
- doc/instance/create: Add details for macOS
- incusd/network: Check if target_address in forward is a broadcast address of the networks subnet
- incusd/network: Check if target_address in forward is the networkID of the networks subnet
- incusd/network: Add doc comment to function; Rename variable to avoid shadowing
- incusd/network: Make linter happy
- make: check if run-parts is installed
- incusd/instance/lxc: Fix handling of credentials on existing instances
- incusd/instance/lxc: Don't apply credentials update on stopped containers
- incusd/auth: Reorder 'EntitlementCanAccessFiles' and 'EntitlementCanConnectSFTP' for clarity
- shared/api: Add lifecycle events for storage volume files management
- incusd/lifecycle: Add lifecycle events for storage volume files management
- incusd/storage: Add support for creating SFTP server for storage volume using forkfile
- incusd: Extract helper function for reuse by storage volumes
- incusd: Add support for file management in storage volumes
- incus/file: Extract helper function for reuse by storage volumes
- incus/storage_volumes: Add support for file management in storage volumes
- client: Add support for file management in storage volumes
- tests: Add tests for storage volume files manipulation
- api: Add 'file_storage_volume' extension
- doc/rest-api: Refresh swagger YAML
- shared/osarch: Add aliases for the various x86_64 versions
- incus/export: Quiesce output when writing to stdout
- build(deps): bump actions/upload-artifact from 4 to 5
- server/operations: Remove project name from operations executed on other nodes
- incusd: Remove remaining project remnants from operations
- shared/validate: Add IsMACPattern
- incusd/config: Add MAC address pattern key
- incusd/project: Add MAC address pattern key
- incus: Support remotes for "admin os" commands
- doc: Update configs
- incusd/instance: Allow customizing MAC address patterns
- incusd/device: Allow customizing MAC address patterns
- incusd/network: Allow customizing MAC address patterns
- api: network_hwaddr_pattern
- test: Add network.hwaddr_pattern tests
- incus/file/pull: Respect target name for symlinks
- incus/file/pull: Allow reading symlink content to stdout
- incus/file/push: Keep remote owner/mode when present and not overriden
- incusd/network/ovn: Fix failure on device stop for networks without uplink
- incusd/network/common: Handle parent field in State
- doc/clustering: Cover CPU baseline calculation
- doc/instances: clarify VM definition with abbreviation
- incusd/network/macvlan: Bring up parent interface and check existence on update
- incusd/network/macvlan: Please the static analyzer
- incusd/storage/drivers/lvmcluster: Restrict snapshotting
- doc/environment: Add INCUS_SECURITY_SELINUX
- incusd/db/warnings: Add SELinuxNotAvailable
- incusd/sys: Add SELinux detection
- incusd/instance/lxc: Set SELinux context
- doc: Add SELinux to the word list
- incusd/network/ovn: Tweak port removal logic
- github: Build the agent on MacOS
- incusd/instance/qemu: Disable virtio-snd on Windows
- incusd/instance/qmp: Remove double line break
- incusd/instance/qmp: Don't log serial port changes
- incusd/device/disk: Skip VirtioFS Posix ACLs on Windows
- incusd/selinux: Add basic refpolicy support
- client: Add GetEventsByType and GetEventsAllProjectsByType
- incusd/lifecycle: Fix project prefix in volume name
- incusd/cluster: Use server name instead of IP
- cmd/generate-database/db: Fix create/update with composite keys
- incusd/storage_volumes: Better handle bad patterns
- client: Omit trailing ? for /events without query parameters
- incusd/acme: Handle HTTPS proxies
- incusd: Fix lifecycle events being emited on pending entities
- incusd/network: Fix vlan/parent modification on physical uplink
- incus: Include admin os command on non-Linux pltforms
- incus/list: Add option for raw units in CSV output
- incusd/storage: Fix sparse writer performance
- incus-migrate: Write in 4MB chunks
- incus-migrate: Strict error checking
- incus/instance: Add missing godocs
- incusd: only apply qemu rtc adjustments if it is configured
- incusd/instance/qemu: Fix macOS agent
- incusd/instance/qemu: Properly parse dashed disk names when detaching
- incusd/api: Refresh OIDC on changes to oidc.scopes
- incus/admin/sql: Allow remote interactions
- incus/admin/recover: Allow remote interactions
- incusd: Allow some remote internal API interactions
- incusd/daemon: Setup /var/lib/incus/devices as a tmpfs
- incusd/daemon: Remove nodev check now that we control that path
- cmd/incus-agent: address errcheck lint issue
- cmd/incus-agent: address import shadowing
- cmd/incus-agent: address os.Exit being called outside of main and init
- cmd/incus-agent: refactor DevIncusAPIGET to use switch
- cmd/incus-agent: silence defer being use in loop
- cmd/incus-agent: address if flow in Connect
- cmd/incus-agent: silence warning about break in select in execWs.Do
- incus/util: #2636 fix linter complaints in
internal/util - doc: Remove mentions of IRC
- Added Windows agent install scripts.
- doc/howto/instances: Update Windows agent instructions
- doc/image_format: Tweak wording
- internal/linux: Add IoctlBlkZname
- incusd/storage/zfs: Rework zvol resolution logic
- Revert "tests: Skip XFS on ZFS with Ubuntu 24.04"
- incus-agent: Fix gofumpt
- lint: Make govulncheck non-fatal
- incusd/device/unix_hotplug: Prevent duplicate uevent injection
- incus/storage_volume: Fix determination of target path
- cmd/incus-simplestream: output of golangci-lint run --fix for cmd/incus-simplestream
- cmd/incus-user: refactor to not use os.Exit and instead close listener
- cmd/lxc-to-incus: address golangci-lint issues
- cmd/lxc-to-incus: return error instead of using os.Exit
- cmd/lxc-to-incus: simplify logic to check mount validity
- cmd/lxc-to-incus: simplify logic to check mount validity
- cmd/lxc-to-incus: rename argument in protoSendError to avoid package shadowing
- cmd/lxd-to-incus: address golangci-lint issues
- cmd/lxd-to-incus: do not use os.Exit outside of main
- build(deps): bump actions/checkout from 5 to 6
- shared/resources: Skip broken udev symlinks
- cmd/generate-config: address golangci-lint issues
- incusd/network/zone: Support setting top level records
- cmd/incusd: recursive instance GET returns InstanceFull
- doc/rest-api: Refresh swagger YAML
- incus/remote: Add support for PFX generation
- incus/file: Fix crash on file mount
- incusd/auth/openfga: Add missing storage volume entitlements
- incusd/auth/openfga: Rebuild model
- incusd/patches: Upgrade OpenFGA model
- shared/api: Remove non-existent field from StoragePoolBucketBackup
- incusd/backup/bucket: Remove unused field
- shared/api: Add missing CreatedAt on bucket backup
- incusd/storage/bucket: Fix backup listing endpoint
- api: storage_volume_full
- api: storage_bucket_full
- shared/api: Add StorageVolumeFull
- shared/api: Add StorageBucketFull
- client: Add GetStoragePoolBucketFull and GetStoragePoolVolumeFull
- client: Add full variants of volume and bucket list functions
- incusd/storage_buckets: Add recursion=1 for storage bucket get
- incusd/storage_volumes: Add recursion=1 for storage volume get
- incusd/storage_volumes: Add recursion=2 for storage volumes get
- incusd/storage_buckets: Add recursion=2 for storage buckets get
- doc/rest-api: Refresh swsagger YAML
- tests: Fix snapshot list testing
- incus: Add support for bulk deletion to all objects
- api: device_pci_firmware
- incusd/device/pci: Add firmware option
- incusd/instance/qemu: Add rom-bar to PCI template
- incusd/instance/qemu: Pass firmware option to qemuPCIPhysical
- doc: Update configs
- incusd/instance/qemu: Update tests
- api: resources_serial
- shared/api: Add Serial device resource types
- shared/resources: Add serial device resource support
- shared/resources: Add test cases for serial device
- incus/info: Add Serial devices to --resources
- shares/resources/usbid: Only load the database once
- doc/rest-api: Refresh swagger YAML
- tests: Re-structure test suite for better parallel runs
- github: Tweak test matrix
- test/metrics: Fix missing cleanup
- tests/tls_restrictions: Query specific certificate
- tests/remote: Clear the trusted certificates at beginning of test
- tests/includes: Fix ensure_has_localhost_remote to clear any existing remote
- api: ovn_nic_limits
- incus/server/network/ovn/nb: Add QoS function
- incus/server/network/ovn: Add limits support
- incus/server/device/nic_ovn: Add limits support
- doc: Update configs
- incusd/instances: Use /tmp for temporary screenshot storage
- client/oci: Use SHA256 of combined layers as digest
- shared/ioprogress: Cap download speed to file size
- incusd/network/acl: Only refresh bridge network rules if ACL is directly used
- incusd/device/pci: Don't attempt to bind to current driver
- incusd/instance/lxc: Tweak seccomp category
- api: More precise name for test
- api: Add DevicesMap typ to better support unmarshaling
- api: Use DevicesMap type for map[string]map[string]string
- shared/archive: Fix crash on nil tracker
- agent-loader/install-linux.sh Fix SELinux issue with agent run path
- incusd/device/nic: Fix link to instances-limit-units
- doc: fix instances-limit-units reference links
- Added default environment variables for the Windows agent.
- instance/drivers/driver_common: Fix cat order bug in selinuxContext()
- doc/rest-api: Refresh swagger YAML
- gomod: Update dependencies
- incusd/instance/lxc: Generate a stable MAC for managed physical bridged networks
- Added new Windows environment variable 'SystemDrive'
- incus/create: Allow reading Ephemeral flag from stdin
- incusd/device/nic_physical: Fix VLAN for VMs
- incusd/network/bridge: Don't listen for incoming RAs
- incusd/network/zone: Allow trailing dot in NS records
- incusd/device/physical: Allow live-migration of bridged physical NICs
- shared/tls: Move ACME challenge to shared/tls
- internal/server/acme: Update certificate renewal call
- incusd/instance/qemu: Don't attempt agent connections on frozen VMs
- incusd/instance/qemu: Rework state reporting
- incusd/operations: Return a copy of the metadata to avoid concurrent access
- Attempt to make the Incus Agent on Windows better integrated.
- incusd/instance/qemu: Fix regression in reported state
- build(deps): bump actions/upload-artifact from 5 to 6
- incus/io: #2636 fix linter complaints in
internal/io - generate-database: Allow overwriting the target column for a join
- incusd/storage_volumes: Fix state handling in getVolumeFull
- internal/jmap: Refactor Map methods and add comprehensive tests
- shared/tls: implement Happy Eyeballs (RFC 8305) in RFC3493Dialer
- incusd/devices/tpm: Make incompatible with live-migration
- incus/util: #2636 fix linter complaints in
internal/filter - incus/network_load_balancer: Fix typo in cmd info description
- api: Add storage_lvmcluster_qcow2 extension
- incusd/storage/drivers: Add utils for qcow2 manipulation
- incusd/instance/drivers: Add qcow2 block device utility functions
- incusd/storage/drivers: Add 'block.type' config and additional validation checks
- incusd/storage: Implement the creation of qcow2 formatted volumes when on lvmcluster
- incusd/instance/drivers/qmp: Add QueryNamedBlockNodes and ChangeBackingFile
- incusd/storage/drivers: Add support for activating and deactivating qcow2-formatted volumes
- incusd/storage/drivers: Add support for the qcow2 config filesystem snapshots
- incusd/storage/drivers: Add support for creating and renaming qcow2 volume snapshots
- incusd/storage/drivers: Add GetQcow2BackingFilePath and Qcow2DeletionCleanup
- incusd/device/config: Add 'BackingPath' to track backing chain for qcow2 volumes
- incusd/storage: Add 'BackingPath' to track backing chain for qcow2 volumes
- incusd/storage: Add support for creating, renaming, restoring and deleting qcow2 instance volumes
- incusd/instance/drivers: Add support for running instances from a backing chain
- incusd/instance: Add support for creating/deleting qcow2 snapshots while instance is running
- incusd/storage/drivers: Show config filesystem only for FS volumes
- incusd/storage/lvmcluster: Fix activation for containers
- incusd/storage/lvm: Fix handling of stripe size config
- incusd/storage/lvmcluster: Set block.filesystem to btrfs
- incusd/storage: Don't add new volume options on snapshot
- incusd/storage/drivers/types: Fix gofumpt
- doc: Update metadata
- incusd/cluster: Add missing project handling to ConnectIfVolumeIsRemote
- incusd/storage_volumes: Handle remote volumes in recursion=2
- incusd/storage/lvm: Fix incorrect activation mode
- incus/storage: Take project into account during qcow2 operation
- shared/api: add comprehensive unit tests for URL builder
- incus/admin/init: Prepare code for adding initialized server to cluster
- incus/cluster: Add 'cluster join' command
- incus-agent: Code cleanup
- incus-agent: Add OS config path
- incus-agent: Add system configuration support
- incus-agent: Add feature checks
- doc/instances: Cover incus-agent configuration
- doc/bpf-tokens: Fix markdown
- incus/file: Improve error messages
- doc/network/firewall: Remove warning against IP forward and Docker
- incusd/storage: Generate a clean backup.yaml after a backup is generated
- incusd/api_buckets: Provide fastpath for miniod access
- incusd: Move ReverseDNS to util
- incusd/network/ovn: Set PTR records
- doc/openfga: Clarify required config keys
- doc/openfga: Improve required config keys
- incusd/network/ovn: Drop now obsolete DNS check
- cmd/incus-user: Don't reset setup if user has access
- api: oidc_allowed_subnets
- incusd/auth/oidc: Introduce incus.restricted_subnets
- doc/authentication: Mentioned incus.allowed_subnets claim
- internal/instance: Tweak handling of boot.autostart
- doc: Update configs
- incusd/instances: Support last-state value for boot.autostart
- incusd/network/physical: Allow parent re-use for bridges
- incusd/network/physical: Allow vlan.tagged
- incusd/device: Add vlan.tagged to physical NICs
- doc: Update configs
- incusd/device/nic_physical: Fix internal bridge handling
- incusd: Add X-Incus-force header for file operations
- doc/rest-api: Refresh swagger YAML
- api: file_delete_force
- doc/network_ovn: Add note about advanced external_interfaces syntax
- incusd: Parallelize instance startup on daemon start
- incusd/instance/drivers: Add size parameter to UpdateBlockSize method
- incusd/storage/drivers: Export roundAbove function
- incusd/storage/drivers: Add Qcow2Resize and export isQcow2Block function
- incusd/storage: Add support for resizing qcow2 volumes
- generate-database: Respect "primary" config for Identifier in mappings
- Added a few more environment variables. PATHEXT and COMPUTERNAME were needed for 'shutdown.exe'. Meanwhile, I've connected as SYSTEM with PsExec to show the environment variables by default and added them.
- internal/server/endpoints/listeners: Use new proxyproto package
- generate-database: fix import type for association tables
- incusd/instance/drivers: Fix adding disk with a device name longer than 31 bytes
- incusd/instance/drivers: Add tests for hashName
- shared/validate: Don't allow $ in API names
- shared/util: Add SingleQuote
- incusd/instance/lxc: Use SingleQuote instead of Quote
- incusd/device/disk: Use isRequired
- incusd/device/disk: Move check for attached property
- incusd/device/disk: Handle required=false on custom volumes
- incusd/api_internal: Block instance hooks until daemon is ready
- incusd/instance_console: Align cleanup logic with exec
- incusd: pass firmware opt from device/pci to instance/qemu
- incusd/device: Move reusable code into getNumaNodeSet helper
- incusd/network: Add SRIOVCountFreeVirtualFunctions
- incusd/device: Add support for nic SR-IOV selection by vendorid, productid and pci
- doc: Update configs
- api: Add 'nic_sriov_select_ext' extension
- incusd/storage/drivers: Allow setting 'vg_name' for non-clustered LVM during init
- incus: Implement "incus wait"
- incusd/instance/drivers: Rename hashName to hashValue
- incusd/instance/drivers: Hash serial value if it exceeds the maximum length
- doc: Update configs
- incusd/network/bridge: Skip dnsmasq on non-routed IPv6
- Update Rocky Linux instructions
- incusd/network/zone: Use the standard SOA format
- incusd/network/zone: Allow setting DNS admin contact
- doc: Update configs
- api: network_zones_dns_contact
- incusd/network: Remove automatic increasing of SR-IOV VF count
- doc: Add warning about long device names
- incusd/device/nic: Add
attachedconfiguration key - incusd/device/nic: Add
connectedconfiguration key - incusd/instance/qemu: Properly update detached devices
- incusd/instance/lxc: Properly update detached devices
- incusd/device/nic_ovn: Factor common options
- incusd/device/nic_p2p: Fix boot.priority spelling in gendoc
- incusd/instance/qemu: Implement NIC connected config key
- incusd/ip/link: Relax parent detection logic
- incusd/instance/lxc: Implement NIC connected config key
- api: nic_attached_connected
- doc: Update config
- incusd/instance/lxc: Restrict path of template files and targets
- tests: Add NIC tests for attached and connected keys
- mini-oidc: Update for newer Zitadel
- incusd/cluster: Skip first re-balance
- incusd/auth/tls: Fix handling of GetPermissionChecker
- incusd/instance: Report clear error on concurent migrations
- incusd/device/nic: Fix connected logic for non-NIC QEMU devices
- doc: Update config
- incusd/instance/qmp: Prevent setting link up at initialization
- incusd/instance/qemu: Properly initialize connected status
- incusd/storage/zfs: Set IncusOS storage usage property
- Fix typo: Supported cConditions to Supported Conditions
- shared/util: Fix SingleQuote to actually quote
- cmd/incus: Fix get-client-certificate ignoring per-remote certs
- incusd/storage/lvm: Move IncusOS check to pool creation
- incus-migrate: Allow running as non-root
- incus-migrate: Add URL imports
- doc: Ignore broken links on Alpine gitlab
- doc: Ignore broken links on docbook website
- github: Deal with new Github images
- tests: Fix SR-IOV attached key test
- incusd/device/nic_physical: Allow migration of managed devices
- shared/cliconfig: Don't pass scheme to OCI creds helper
- incusd/cluster: Allow restoring a cluster without its instances
- incus/cluster: Add --action for restore
- internal/instance; Correct doc for boot.autostart.priority
- doc: Update config
- incusd/cluster: Restrict join token to database servers
- incusd/storage/lvm: Prevent use of lvmcluster with loop files
- incusd/operations: Prevent concurrent access to metadata
- incusd/storage: Add support for renaming qcow2 volumes
- incusd/storage/drivers: Load NBD module for lvmcluster
- incusd/instance/drivers: Pass information about whether migration is live
- incusd/storage: Add support for qcow2 volume migration
- incusd/storage: Add snapshot mount paths parameter to the task function
- incusd/device/nic_riov: Retry MAC setting logic
- doc/howto/instances: Mention keeping agent drive attached
- incusd/instances/agent-loader: Silence semanage
- incusd/cluster: Also transfer public key on join
- doc/cloud-init: Fix bad link
- incusd: Search OVS switch external_interfaces
- api: nic_sriov_security_trusted
- incusd/ip/link: Add support for virtual function trusted property
- incusd/device/nic: Add
security.trustedconfiguration key - internal/instance: Add
volatile.<name>.last_state.vf.trusted - tests: Add tests for SR-IOV
security.trustedproperty - doc: Update config for SR-IOV security.trusted
- doc/backup: Fix MarkdownLint warnings
- incusd/storage_volumes_snapshot: Treat pongo templates as unique
- incusd/instance/drivers: Propagate error when adding qcow2 backing block device
- incusd/instancewriter: Make signature more generic
- client/instances: Add direct backup capability
- client/storage_volumes: Add direct backup capability
- client/storage_buckets: Add direct backup capability
- incusd/response: Add pipe response
- incus/export: Add direct backup capability
- incus/storage_volume: Add direct backup capability
- incus/storage_bucket: Add direct backup capability
- incusd/backup: Refactor S3 upload
- incusd/instance_backup: Add direct backup capability
- incusd/storage_volumes_backup: Add direct backup capability
- incusd/storage_buckets_backup: Add direct backup capability
- doc/rest-api: Refresh swagger YAML
- api: direct_backup
- incusd/instance/qemu: gofumpt
- incusd/device/disk: Add IsSpecialDisk
- incusd/instance/lxc: Skip metrics on special disks
- github: Resolve /dev/scratch symlink when consumed
- api: instance_snapshot_disk_only_restore
- shared/api: Add DiskOnly option in InstancePut
- incusd/instance_put: Add DiskOnly option and check for mismatching options
- incusd/instance/qemu: Implement disk-only restore logic in qemu driver
- incusd/instance/lxc: Implement disk-only restore logic in lxc driver
- incusd/instance: Adjust interface for diskOnly parameter
- doc/rest-api: Refresh swagger YAML
- client: Check for diskOnly api extension when invoked
- incus/snapshot: Add disk only restore
- incusd/storage: Prevent moving shared storage volumes
- incus/image: Add generate-metadata
- doc: Update incus-migrate documentation
- incusd: Validate that instance can be migrated
- incusd/instance/drivers: Add writable argument to NBDBlockExportAdd
- incusd/instance/drivers/qmp: Add NBDUnixServerStart
- incusd/instance: Add ExportQcow2Disk
- incusd/storage: Support live migration of qcow2 volumes
- doc: Add information about lvmcluster limitations
- incusd/instance: Add QCOW2 live migration support for instances with snapshots
- incusd/storage: Add QCOW2 live migration support for instances with snapshots
- incusd: Remove ensureMigratable as checks are no longer valid
- doc: Remove outdated doc about live QCOW2 migration limitation
- incusd/instance/drivers: Propagate live migration information
- incusd/storage: Skip final filesystem sync for VMs during migration
- doc/requirements: Bump minimal requirements
- Validate requested storage pool during instance migration
- incusd/instance/qemu: Rename onDisconnectEvent to initialized
- incusd/instance/qemu: Add EventVMReset
- incusd/instance/qemu: Use standard QEMU actions and catch in handler
- internal/instance: Add volatile.vm.needs_reset
- incusd/instance/qemu: Implement fast reboot
- doc: Update config
- incusd/instance/qmp: Fix cross-server live-migration
- incusd/instance/qemu: Report QEMU error on VM restore
- incus-migrate: Fix URL detection
- incusd/instance/drivers: Remove instance volume on revert after failed live migration
- incusd/instance/drivers: Propagate target migration failure to source using context cancellation
- incusd/storage: Prevent concurrent QCOW2 snapshot deletions
- incusd/instance/qemu: Require full restart after eject
- incusd/storage: Prevent concurrent snapshot deletions
- incus: Refactor CLI usage strings
- incusd/instance/qemu: Force a real reboot after applying templates
- incusd/storage/ceph: Use the standard error for unsupported disk usage
- api: unix_hotplug_pci
- incusd/devices/unix_hotplug: Allow selecting by PCI bus
- doc: Update config
- incusd/instance/qmp: Fix gofumpt
- incusd/storage/qcow2: Wait for qemu-nbd to be ready
- incusd/instance/drivers: Fix backing block device ordering when fetching from QEMU
- internal/server/instance/drivers: Get vsock client for Windows
- cmd/incus-agent: Add serial communication for Windows
- incusd/storage/drivers: Delete mount paths when deleting snapshots
- cmd/incus-agent: Only use TCP agent for macOS
- cmd/incus-agent: Use vsock for Windows agent
- incusd/fsmonitor: Read multiple fanotify events
- doc/instance_units: Mention common units
- incusd/instance/qemu: Clarify CPU hotplug error
- incusd/instance/qmp: Add MemoryConfiguration
- incusd/instance/qemu: Improve error message on memory hotplug
- doc/instance: Cover CPU and memory hotplug limits
- incusd/storage/drivers: Allow creation of qcow2 custom volumes
- incusd/instance/drivers: Support detaching qcow2 custom volumes
- incusd/storage: Add snapshot management for qcow2 custom volumes
- incusd/device: Pass backing path information for disk devices
- incusd/storage: Block custom volume snapshot create/delete when attached to an instance
- api: cluster_evacuating_restoring
- incusd/cluster: Implement evacuating and restoring states
- shared/api: Align JSON and YAML behavior for preseeding
- client: Update for InitPreseed change
- incus: Update for InitPreseed change
- incusd: Update for InitPreseed change
- doc/rest-api: Refresh swagger YAML
- incusd/device/nic_ovn: Fix nested NIC state
- incusd/metrics: Implement incus_boot_time_seconds and incus_time_seconds
- incus-agent: Implement incus_boot_time_seconds and incus_time_seconds
- incusd/instance/lxc: Implement time metrics
- doc: Add description of incus_boot_time_seconds and incus_time_seconds
- shared/validate: Allow a specific set of compressors
- incusd: Validate CompressionAlgorithm everywhere it's received
- tests: Check compression algorithm validation
- incusd/project: Prevent restricted projects from pulling data
- api: projects_restricted_image_servers
- incusd/project: Introduce restricted.images.servers
- doc: Update config
- incusd/project: Implement image server restrictions
- incusd/images: Check project restrictions on image download
- incusd/db: Turn NodeSpecificStorageConfig into driver aware function
- incusd: Switch usages to NodeSpecificStorageConfig function
- incusd/storage: Add support for expanding lvmcluster storage pool
- incusd/storage: Add DisallowedStorageConfigForCreation and ClusterWideStorageConfig
- incusd: Add additional checks fro re-sizing lvmcluster pool
- api: Add storage_lvmcluster_size extension
- doc: Update config
- incusd/certificates: Store full API objects in the cache
- incusd/project: Update permissions test for new certificate cache
- incusd/certificate: Allow to retrieve a single API certificate
- incusd/auth/scriptlet: Expose API certificate and request TLS chain to the scriptlet
- doc/authorization: Document new scriptlet details fields
- api: authorization_scriptlet_cert
- incusd/images: Simplify image URL check
- api: lvmcluster_remove_snapshots
- incusd/storage/drivers: Add 'lvmcluster.remove_snapshots' config key
- incusd/storage: Handle snapshot restore when 'lvmcluster.remove_snapshots' is set
- doc: Update config
- incus: Add validation before starting sshSFTPserver
- tests: Add validation for sftp checks
- incusd: Pass volume type to daemonStorageValidate
- api: daemon_storage_logs
- incusd/config: Add storage logs_volume option
- incusd/daemon_storage: Add storage operation for 'storage.logs_volume'
- incusd/api: Add validation and management of 'storage.logs_volume'
- incusd/instance/common: Use logs folder when configured
- incusd/instance/lxc: Use LogPath for forkstart
- incusd/instance_logs: Use LogPath
- incus/server/network/util: Add ipInPoinerRanges util function
- incusd/network/bridge: Trigger dependency notifcation on changes
- incusd/network/ovn: Resetup network on change of uplink ovn range/gateway
- incusd/apparmor/instance: Fix logs volume handling
- incus/server/network/ovn/nb: Overwrite static mac bindings if it already exists
- incusd/api_cluster: Fix database-client count logic
- incusd/instances: Properly instruct to reset NVRAM when changing secure boot config
- incusd/instance/config: Propagate volatile.apply_nvram to copied instances
- incusd/network/acl: Use 'allow-related' instead of 'allow' for default egress action
- incusd/daemon_storage: Don't fail on log volume unmount failure
- incusd/cluster: Handle evacuation on single-node clusters
- internal/instance: Add volatile.hotplug.memory
- doc: Update config
- incusd/instance/qemu: Record and re-use base memory configuration
- incusd/device/nic_bridged: Lookup ACLs in the correct project
- ncusd/network/zone: Include records from all relevant projects
- tests: Update for network zone filtering
- incusd/response: Store original Host in forwardedResponse
- shared/tls: Support multiple domains in ACME functions
- incusd/acme: Support multiple domains
- incusd/network/zone: Allow wildcard records
- incusd/cluster: Don't stop local networking on healing
- incusd/db/networks: Set Project in getPartialNetworkByProjectAndName
- incusd/instance: Allow custom volume snapshot create/delete when attached to running instance
- incusd/server: Allow custom volume snapshot create/delete when attached to running instance
- shared/cliconfig: Add lock to prevent panic
- incusd/endpoints/starttls: Report correct ServerName
- cmd/generate-database: fix linter complaints - #2636
- build(deps): bump actions/upload-artifact from 6 to 7
- internal/server/firewall: fix linter complaints - #2636
- internal/server/sys: fix linter complaints - #2636
- internal/server/project: fix linter complaints - #2636
- internal/server/util: fix linter complaints - #2636
- internal/server/seccomp: fix linter complaints - #2636
- internal/server/migration: fix linter complaints - #2636
- internal/server/task: fix linter complaints - #2636
- api: instances_debug_repair
- shared/api: Add InstanceDebugRepairPost
- doc/rest-api: Refresh swagger YAML
- incusd/storage: Implement ActivateTask
- incusd/instance/debug: Implement instance repair API
- Makefile: Properly set POT encoding
- incusd/operations: Fix missing Unlock
- doc: Fix typo
- incusd: Fix typo
- incusd/metrics: Increase node-exporter timeout to 5s
- doc: Add preselects to wordlist
- incusd/instance_logs: Prevent bad values for exec-output
- incus-migrate: Restrict OVA unpack path
- incusd/network_allocations: Use canAccessNetwork
- incusd/instance/qemu: Relax SEV check
- gomod: Update dependencies
- doc: Update config
- i18n: Update translation templates
- incus: Fix import shadowing
- incusd/storage_volumes: Use switch statement
- incusd/network/common: Use FPrintf instead of WriteString
- github: Remove mention of Linstor
- doc: Remove mention of Linstor and TrueNAS
- doc: Add snapshotted to wordlist
- incusd/device/nic_physical: Drop support for connected key
- incusd/backup: Make extra sure backup.yaml is consistent on disk
- incusd/instance/lxc: Stop any forkfile instances prior to migration
- incusd/storage/zfs: Freeze ZFS instances when using block_mode
- incusd/storage/zfs: Don't create temporary snapshot for inactive volumes
- incusd/storage/zfs: Don't unmap a mounted snapshot
- incusd/storage: Don't allow loop pools on IncusOS
- cmd/incus: fix log in sftpRecursiveMkdir
- doc: Update config
- gomod: Update dependencies
サポートとアップグレード ¶
Incus 6.0 ブランチは 2029 年 6 月までサポートされます。常に最新の LTS バグ修正リリースを実行することを強く推奨します。
ダウンロード ¶
- リリース tarball : incus-6.0.6.tar.xz
- GPG シグネチャー : incus-6.0.6.tar.xz.asc
Contents