Workshop 0.9.9 release notes

21 October 2026

These release notes cover new features and changes in Workshop 0.9.9.

Requirements and compatibility

Workshop relies on Snap and LXD:

What’s new in 0.9.9

Workshop 0.9.9 brings the Workshop untrusted API to virtual machine workshops over vsock, so workshopctl and check-health hooks now work in VMs. Automatic interface connections are enabled in VMs. It also validates workshop definitions and SDKs more strictly, and fixes SSH from strictly confined snaps on hosts with launched workshops.

Workshop

Repository: https://github.com/canonical/workshop

  • Virtual machine workshops now reach the Workshop daemon over vsock, so workshopctl and check-health hook work in VMs. If the daemon can’t listen on vsock, VM workshops are reported as unavailable.

  • In VM workshops, plugs and slots of the camera, custom-device, desktop, gpu, ssh-agent, and tunnel interfaces are skipped with a warning, because these interfaces are only available to containers.

  • VM workshops now reserve PCIe ports for SDK mounts, so VMs with many SDK mounts boot reliably.

  • Workshop definition files with unknown fields are now rejected with an error that names the field and its line and column. Previously, unknown fields were silently ignored.

  • Fixed SSH clients in strictly confined snaps, such as juju, failing to parse the system SSH configuration after a workshop was launched.

SDKcraft 0.9.4 (unchanged)

Repository: https://github.com/canonical/sdkcraft

  • No changes in this release.

Docs

Repository: https://github.com/canonical/workshop

  • Switched the virtual machine how-to from the LXD 6/edge channel to 6/candidate.

  • Described the vsock API used by virtual machine workshops.


Full Changelog: