# 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:

- See the [Tutorial](https://ubuntu.com/workshop/docs/tutorial/) for setup instructions.
- Refer to the [Contribution Guide](https://ubuntu.com/workshop/docs/contributing/) for development prerequisites.

## 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](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](https://github.com/canonical/sdkcraft)

- No changes in this release.

### Docs

**Repository:** [https://github.com/canonical/workshop](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**:

- Workshop: [https://github.com/canonical/workshop/compare/v0.9.8…v0.9.9](https://github.com/canonical/workshop/compare/v0.9.8...v0.9.9)
