What's Changed
- github: format INCUS_VERSION from tag in release workflow by @0xk1f0 in #3098
- client: Optionally skip blocking for OIDC authentication by @masnax in #3102
- Keepalive proxy improvements by @stgraber in #3097
- incus/version: Gracefully fail when server unreachable by @bensmrs in #3104
- incusd/instance/agent-loader: Use Linux arch names by @bensmrs in #3105
- qemu: gate SPICE support on incus host via QMP query-spice by @damex in #3103
- incusd/instances/qemu: Detect 9p support and hide it behind feature flag by @damex in #3109
- incusd/instance/qemu: Enable SPICE audio feature gating by @damex in #3110
- incusd: Fix bad type in format strings by @stgraber in #3114
- qemu: gate virtio audio based on presence of virtio-sound-pci by @damex in #3115
- Cleanup cmd packages by @stgraber in #3107
- Translations update from Hosted Weblate by @weblate in #3116
- incusd/instances/qemu: Rework qemuArchConfig by @stgraber in #3106
- Delete dependent volumes on instance deletion by @presztak in #3117
- incusd/response: Make pipeResponse flush headers ASAP by @bensmrs in #3123
- Improve handling of dependent volumes by @presztak in #3120
- Rework storage caching logic (performance improvement) by @stgraber in #3121
- Implement IncusOS update trigger on cluster version mismatch by @stgraber in #3122
- shared/cliconfig: Avoid treating
=as part of a remote name by @bensmrs in #3125 - incusd/network/state: Use canAccessNetwork by @stgraber in #3126
- incus-simplestreams: Add flag for overriding product name by @csprl in #3128
- Support old-style ZFS types by @bensmrs in #3130
- Translations update from Hosted Weblate by @weblate in #3132
- Add support for cross-cluster dependent volume migration by @presztak in #3133
- incusd/storage: Fix race in caching logic by @stgraber in #3134
- Port to yaml/go-yaml by @stgraber in #3127
- incusd/storage: Fix potential deadlock by @stgraber in #3136
- Implement cancel logic on all remaining websocket class operations by @stgraber in #3135
- Remove stale port UUID by @DarkressX in #3140
- Support optimized storage for dependent volumes by @presztak in #3141
- Fix dependent volume flag removal during same-host storage moves by @presztak in #3138
- Implement a request body limit by @stgraber in #3137
- Fix mount interception dropping mount data flag on idmapped mount by @stgraber in #3142
- Use device names for dependent volumes when importing backups by @presztak in #3144
- Clarify description of oidc.claim option by @yannis2707 in #3145
- Rework physical NIC device validation by @stgraber in #3143
- Fix stateful snapshots for qcow2 volumes by @presztak in #3147
- incusd: Don't expose the API extension list pre-authentication by @stgraber in #3149
- incusd/device/nic_physical: Fix bridge handling by @stgraber in #3150
- incusd/device/nic_physical: Fix inheritance from network by @stgraber in #3152
- incusd/instances/qemu: Skip vmcoreinfo on ppc64le by @stgraber in #3153
- doc/image_format: Update Pongo2 link by @neitsab in #3154
- incusd/device/nic_bridged: Handle physical NICs by @stgraber in #3157
- Fix live migration of instances with snapshots by @presztak in #3158
- incusd/instance/qemu: Scale SCSI queues with CPUs by @stgraber in #3165
- Add a NBD based backup API by @stgraber in #3093
- Fix stateful VM snapshot failure with dependent volumes by @presztak in #3173
- incus: Enable admin recover and admin sql on all platforms by @stgraber in #3169
- incusd/apparmor/qemuimg: Expand symlinks by @stgraber in #3175
- client: Forward skopeo errors by @stgraber in #3172
- incus: Fix Windows absolute paths by @bensmrs in #3176
- Return bitmap endpoints by default when listing by @presztak in #3177
- incusd/instance/qemu: Fix RTC handling on Windows by @stgraber in #3179
- Add support for exposing dirty bitmaps by @presztak in #3178
- Improve snapshot creation rollback handling by @presztak in #3180
- Rework tracking of original VM properties for migration and stateful snapshots/stop by @stgraber in #3181
- Fix ovn duplicate route by @DarkressX in #3184
- Improve QCOW2 volume handling by @presztak in #3185
- Various bugfixes by @stgraber in #3182
- Allow limiting storage pools to project by @pranav767 in #3162
- Translations update from Hosted Weblate by @weblate in #3189
- shared/archive: Improve detection and error handling by @stgraber in #3190
- Use io.CopyN with 4MiB buffer everywhere by @stgraber in #3192
- Translations update from Hosted Weblate by @weblate in #3194
- Translations update from Hosted Weblate by @weblate in #3198
- VM migration tweaks by @stgraber in #3197
- incus/cluster: Tweak error message by @kazan417 in #3202
- incus/info: Tweak wording in resources output by @kazan417 in #3203
- Improve import/export usage consistency by @bensmrs in #3200
- Wait for BLOCK_JOB_COMPLETED event after block-job-complete by @presztak in #3201
- shared/archive: Avoid concurrent calls to Wait by @stgraber in #3204
- Translations update from Hosted Weblate by @weblate in #3206
- incusd/images: Allow simpler HTTP headers by @stgraber in #3205
- Translations update from Hosted Weblate by @weblate in #3211
- Add support for export/import qcow2 in raw format by @presztak in #3208
- incusd/instance/edk2: Add support for seabios at bios-256k by @stgraber in #3214
- Add cp-like flags to push commands by @bensmrs in #3209
- incusd/instance/qemu: Improve OS detection for FreeBSD by @bensmrs in #3215
- incus-agent: Use psutil for process count by @stgraber in #3218
- Translations update from Hosted Weblate by @weblate in #3221
- incusd/instance/qemu: Use timeouts for agent operations by @stgraber in #3222
- Remove temporary snapshot block device after migration by @presztak in #3224
- incusd/instances/qemu: Fix crash on nil qmp handler in RunJSON by @stgraber in #3225
- Add support for specifying new names for dependent volumes when copying an instance by @presztak in #3219
- shared/validate: Fix name validation on single character by @stgraber in #3226
- internal/linux: Add logging to ClearBlock by @stgraber in #3227
- Translations update from Hosted Weblate by @weblate in #3228
- Add support for targeting network lists by @stgraber in #3230
- doc: Update benchmark_performance.md with GOPATH details by @UweKrause in #3231
- Report VM error state in /state call by @DarkressX in #3232
- Remove CGroup v1 support by @stgraber in #3235
- Translations update from Hosted Weblate by @weblate in #3238
- incus-agent: Work around issue when built with GO111MODULE=off by @gibmat in #3239
- Bunch of typo fixes in sources strings by @kazan417 in #3234
- Check whether an instance snapshot can be restored by @presztak in #3241
- Improve flags by @bensmrs in #3240
- Reset LXC feature detection by @stgraber in #3242
- client: Add bitmap manipulation functions by @presztak in #3248
- Improve compatibility with
cpfor pull/push operations by @bensmrs in #3247 - Deprecate support for older kernels by @stgraber in #3246
- Translations update from Hosted Weblate by @weblate in #3250
- Bump minimum versions and remove version checks by @stgraber in #3249
- Remove xtables support by @stgraber in #3254
- Help a bit with the slop by @bensmrs in #3257
- Client deprecations by @bensmrs in #3253
- incus/storage: Fix typo by @kazan417 in #3262
- incus/cluster: Fix spelling of YAML by @kazan417 in #3268
- incus/network_zone: Fix missing example description by @kazan417 in #3267
- incus/storage_bucket: Fix bad list column help message by @kazan417 in #3265
- Allow overriding storage pools for dependent volumes during instance migration by @presztak in #3256
- Prevent duplicate network external ip by @DarkressX in #3271
- Tune DrbdOptions/Disk/rs-discard-granularity by @bensmrs in #3270
- Replace minio with built-in S3 endpoint by @stgraber in #3258
- doc/metrics: Mention Loki requirement by @stgraber in #3272
- incus/server/network/ovn/driver: Fix duplicate external network ip check on network creation by @DarkressX in #3276
- Pre-release security fixes by @stgraber in #3273
- Add missing path parameters in swagger profile by @stgraber in #3277
- Add --reuse to incus image copy --copy-aliases and fix cluster join bug by @stgraber in #3275
- Makefile: Add help target and remove tags target by @bensmrs in #3280
- Implement core.shutdown_action by @stgraber in #3274
- tests: Use a 5MiB test file for buckets by @stgraber in #3282
- incusd/instance/qemu: Fix locking around VM reset by @stgraber in #3284
- Allow scriptlet target selection during cluster re-balance by @stgraber in #3279
- incusd/device/nic: Set next-hop based on configured IP addresses by @stgraber in #3278
- incus/storage_bucket/key: Fix incorrect list column description by @stgraber in #3283
- Create missing sub-paths by @stgraber in #3281
- VM lifecycle fixes by @stgraber in #3295
- Update dependencies by @stgraber in #3285
New Contributors
- @damex made their first contribution in #3103
- @csprl made their first contribution in #3128
- @yannis2707 made their first contribution in #3145
- @neitsab made their first contribution in #3154
- @pranav767 made their first contribution in #3162
- @kazan417 made their first contribution in #3202
- @UweKrause made their first contribution in #3231
Full Changelog: v6.23.0...v7.0.0