# Workshop v0.9.0 release notes

## 26 May 2026

These release notes cover new features and changes in Workshop v0.9.0.

## 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 Workshop v0.9.0

Workshop v0.9.0 is the first public release on the 0.9 track. The project is now
licensed under the GNU General Public License v3. This release also introduces
the `workshop init` command, a startup firewall check, GPU passthrough via the
LXD CDI extension, a redesigned snapshot system, Ubuntu 26.04 support,
and arm64 snap builds.

### Public release under GPL v3

Workshop is now publicly released and licensed under the GNU General Public
License v3.

### Workshop init command

A new `workshop init` command scaffolds a workshop definition in the current
directory, replacing the previous need to copy and adapt boilerplate from
another project.

### Startup firewall check

On startup, Workshop now inspects the host nftables rules that apply to the
LXD bridge. If Docker or UFW defaults block forwarding, Workshop logs a
message and records a state warning. Workshops still start, so the operator can
act before networking issues surface as opaque failures.

### GPU passthrough via LXD CDI

The `gpu` interface now uses the Container Device Interface (CDI) extension
exposed by recent LXD releases. This aligns Workshop’s GPU passthrough with
the mechanism used by the rest of the LXD ecosystem.

### Snapshot system overhaul

Snapshots are now workshop-agnostic. A snapshot is keyed by its base image and
SDK content rather than by the workshop that produced it, so a single snapshot
can seed any workshop with a matching base and SDK set.

### Ubuntu 26.04 support

Workshops can now use `ubuntu@26.04` as a base.

### arm64 snap builds

Workshop is now published to the snap edge channel for `arm64` in addition to
`amd64`.

---

**Full Changelog**:
[https://github.com/canonical/workshop/compare/v0.1.30…v0.9.0](https://github.com/canonical/workshop/compare/v0.1.30...v0.9.0)
