Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions docs/reference/release-notes/1.17.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
orphan: true
---

(1.17.0)=
# 1.17.0

These release notes cover new features and changes in Multipass 1.17.0.

Multipass 1.17.0 is a major feature release. It introduces a native Apple Virtualization backend on macOS, a rewritten Windows backend built on the Host Compute System (HCS) API, Availability Zones, new Debian and Fedora images with a redesigned image catalogue, and support for additional CPU architectures. Under the hood, the code base moved to C++20, gained a Rust toolchain, updated QEMU and Flutter, and migrated many dependencies to vcpkg. This release also removes the deprecated LXD and libvirt backends, blueprints, and appliances.

## New features and improvements

### Apple Virtualization backend (macOS)

Multipass now ships a native macOS backend built on Apple's Virtualization framework, running alongside QEMU. It adds VM lifecycle support, ASIF image support, additional networks, and Availability Zone integration ([#4653](https://github.com/canonical/multipass/pull/4653), [#4676](https://github.com/canonical/multipass/pull/4676), [#4757](https://github.com/canonical/multipass/pull/4757), [#4931](https://github.com/canonical/multipass/pull/4931), [#4542](https://github.com/canonical/multipass/pull/4542)).

### New Windows backend on Host Compute System (HCS)

The Windows backend has been reworked on top of the Hyper-V Host Compute System API, providing a more robust and better-integrated virtualization path on Windows ([#4080](https://github.com/canonical/multipass/pull/4080)).

### Availability Zones

Availability Zones let you place and organize instances across isolated zones, each with its own subnet management. The feature is now enabled by default ([#4312](https://github.com/canonical/multipass/pull/4312), [#4061](https://github.com/canonical/multipass/pull/4061), [#5056](https://github.com/canonical/multipass/pull/5056)). Use `multipass zones` to list zones and their subnets ([#4969](https://github.com/canonical/multipass/pull/4969)).

### Debian and Fedora images and a redesigned catalogue

Multipass can now fetch Debian and Fedora images in addition to Ubuntu, and the image catalogue page has been redesigned to make discovering and launching images easier ([#4293](https://github.com/canonical/multipass/pull/4293), [#4474](https://github.com/canonical/multipass/pull/4474)).

### Additional CPU architectures

Multipass now builds for `s390x` and `ppc64el`, with additional GitHub runners added to support these architectures ([#4548](https://github.com/canonical/multipass/pull/4548), [#4890](https://github.com/canonical/multipass/pull/4890), [#4893](https://github.com/canonical/multipass/pull/4893)).

### GUI improvements

* App localizations for the desktop client ([#4797](https://github.com/canonical/multipass/pull/4797))
* Updated to Flutter 3.32.5 ([#4181](https://github.com/canonical/multipass/pull/4181))
* Remember terminal font size ([#4208](https://github.com/canonical/multipass/pull/4208))
* Add a `Select All` option to the terminal right-click menu ([#4211](https://github.com/canonical/multipass/pull/4211))
* Set minimum RAM and disk size based on image type in the launch form ([#4239](https://github.com/canonical/multipass/pull/4239))
* Add an About section in the Settings tab ([#4420](https://github.com/canonical/multipass/pull/4420))
* Add a certificate check to the gRPC client ([#4329](https://github.com/canonical/multipass/pull/4329))

### Under the hood

* Switched the build to C++20 ([#4378](https://github.com/canonical/multipass/pull/4378))
* Introduced a Rust toolchain and a native petname implementation ([#4600](https://github.com/canonical/multipass/pull/4600))
* Bumped QEMU to 10.0.3 and moved QEMU to vcpkg ([#4416](https://github.com/canonical/multipass/pull/4416), [#4799](https://github.com/canonical/multipass/pull/4799))
* Updated gRPC to 1.71.0 and migrated Qt, libssh, xz, semver, and premock to vcpkg ([#4621](https://github.com/canonical/multipass/pull/4621), [#4530](https://github.com/canonical/multipass/pull/4530), [#4614](https://github.com/canonical/multipass/pull/4614), [#4734](https://github.com/canonical/multipass/pull/4734), [#4461](https://github.com/canonical/multipass/pull/4461), [#4776](https://github.com/canonical/multipass/pull/4776))
* Migrated JSON handling to Boost.JSON and removed the legacy Qt JSON utilities across the daemon, image vault, snapshots, and CLI ([#4515](https://github.com/canonical/multipass/pull/4515), [#4566](https://github.com/canonical/multipass/pull/4566), [#4777](https://github.com/canonical/multipass/pull/4777), [#4730](https://github.com/canonical/multipass/pull/4730), [#4491](https://github.com/canonical/multipass/pull/4491))
* Introduced a Multipass CLI test suite and Flutter unit tests in CI ([#4220](https://github.com/canonical/multipass/pull/4220), [#5026](https://github.com/canonical/multipass/pull/5026))
* Added version information to Windows executables ([#5022](https://github.com/canonical/multipass/pull/5022))

## Breaking changes

* Removed support for LXD as a Multipass backend ([#4402](https://github.com/canonical/multipass/pull/4402))
* Removed support for libvirt as a Multipass backend ([#4365](https://github.com/canonical/multipass/pull/4365))
* Removed blueprints ([#4389](https://github.com/canonical/multipass/pull/4389))
* Removed support for appliances ([#4363](https://github.com/canonical/multipass/pull/4363))
* Removed the deprecated `mem` launch option (use `memory`) ([#4116](https://github.com/canonical/multipass/pull/4116))
* Removed the `--all` option from `multipass info` for the current release ([#5032](https://github.com/canonical/multipass/pull/5032))

## Bug fixes

* Fix image resizing on Ubuntu Core images ([#4663](https://github.com/canonical/multipass/pull/4663))
* Fix SSH session shutdown ([#4962](https://github.com/canonical/multipass/pull/4962))
* Fix `QEMU` `create_tap_device` to reconfigure an existing device ([#4971](https://github.com/canonical/multipass/pull/4971))
* Patch failure to start bridged instances that are suspended after a snap update ([#4708](https://github.com/canonical/multipass/pull/4708))
* Fix root certificate not found when using an external directory ([#4252](https://github.com/canonical/multipass/pull/4252))
* Include `qcow2` files when cloning ([#4273](https://github.com/canonical/multipass/pull/4273))
* Don't prune image directories that are being downloaded ([#4808](https://github.com/canonical/multipass/pull/4808))
* Fix `sftp` link path denial ([#4887](https://github.com/canonical/multipass/pull/4887))
* Normalize `sshfs` mount paths ([#4857](https://github.com/canonical/multipass/pull/4857))
* Solve error from suspended instances on GUI close ([#4358](https://github.com/canonical/multipass/pull/4358))
* Fix Windows installer logs path ([#4359](https://github.com/canonical/multipass/pull/4359))
* Fix client key permissions ([#4194](https://github.com/canonical/multipass/pull/4194))
* Fix memory leaks identified by ASan and file-path leaks in logs ([#4716](https://github.com/canonical/multipass/pull/4716), [#4674](https://github.com/canonical/multipass/pull/4674))

## New contributors

Special thanks to our new contributors :wink:

* [@AhmedMagdy9876](https://github.com/AhmedMagdy9876) made their first contribution in https://github.com/canonical/multipass/pull/4937
* [@chrisndbg](https://github.com/chrisndbg) made their first contribution in https://github.com/canonical/multipass/pull/5022

## Changes

See also the full diff: [`v1.16.3...v1.17.0`](https://github.com/canonical/multipass/compare/v1.16.3...v1.17.0).

## Feedback

Please file issues on the [Multipass GitHub](https://github.com/canonical/multipass/issues/new/choose) for problems and feature requests, or join the [Multipass Discourse forum](https://discourse.ubuntu.com/c/project/multipass) to chat. You can also find us in the [Multipass room on Matrix](https://matrix.to/#/#multipass:ubuntu.com).
Loading