Workshop 0.9.8 release notes¶
16 October 2026¶
These release notes cover new features and changes in Workshop 0.9.8 and SDKcraft 0.9.4.
Requirements and compatibility¶
Workshop relies on Snap and LXD:
See the Tutorial for setup instructions.
Refer to the Contribution Guide for development prerequisites.
What’s new in 0.9.8¶
Workshop 0.9.8 introduces the secret interface, letting SDKs request
credentials such as API keys at runtime and letting users provide them from the
host keyring. SDKcraft 0.9.4 adds matching support for declaring secret plugs.
The release replaces confinement: virtual-machine with runtime: lxd-vm; use runtime: lxd-container for container workshops.
Workshop¶
Repository: https://github.com/canonical/workshop
Added the builtin
secretinterface, so an SDK can declare asecretplug and retrieve a connected credential at runtime throughworkshopctl get-secret, including systemd credential delivery. Users can provide a secret from the host keyring through a connected secret slot, or ad hoc as an environment variable for a singleworkshop execcommand.Added connection maintenance: manual interface connections are now disconnected and require a reconnection when a plug or a slot changed its definition (secrets, tunnels, etc.).
Enabled socket activation for the untrusted socket.
Added shell completion for
workshop initoptions.Sped up virtual machine startup by disabling secure boot, skipping the firmware boot menu, removing unused devices, disabling
pollinate.service, and adding a quiet kernel parameter.
SDKcraft 0.9.4¶
Repository: https://github.com/canonical/sdkcraft
Added support for declaring
secretplugs, matching the new Workshopsecretinterface.
Docs¶
Repository: https://github.com/canonical/workshop
Added how-tos for providing secrets to a workshop and for using secrets in an SDK.
Added a how-to for experimental virtual machine workshops.
Documented
workshopctl get-secretand refreshed the CLI reference.
Full Changelog: