Change in behaviour of 'incus publish' in 6.23

After upgrading to 6.23, I found the behaviour of “incus publish” has changed in a non-backwards-compatible way. This used to work:

# incus publish vtp-build/final --alias vtp --reuse --public 'description=Virtual Training Platform (20260330_12:09)' os=vtp release=main serial=20260330_12:09 variant=default
Usage: incus publish [<remote>:]<instance>[/<snapshot>] [<remote>:] [<key>=<value>...]
                     └───────────────┬────────────────┘ ┅┅┅┅┅┅┅┅┅┅┅
  ┌──────────────────────────────────┘
  └─ “vtp-build/final”

Error: The remote "description=Virtual Training Platform (20260330_12" doesn't exist

Digs further…

It seems that if the first key=value argument contains a colon, then that argument is treated as a remote. So my fix is to remove the colon from the description, or to rearrange the the order of the key/value pairs so the first one doesn’t contain a colon.

Still, that was unexpected breakage, and I thought it was worth a mention.

Oh, that’s a funny and unexpected bug. I’ll come up with a fix, thanks!
For now, you can pass local: as your remote before using the <key>=<value> args. Rearranging as you did works fine also!

1 Like