> For the complete documentation index, see [llms.txt](https://docs.layeronecloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.layeronecloud.com/pve-microvm/release-notes.md).

# v0.3.25

Source project: `pve-microvm` (migrated from `RELEASE_NOTES.md`). Run commands from the code checkout and directory specified below, not from this documentation repository.

This release fixes unsafe cleanup and refresh paths, preserves command failures, and honours read-only disk settings. Template cleanup now keeps the build directory when bind mounts remain or mount inspection fails; refresh refuses ordinary or running VMs and checks prerequisites before deletion.

Patch application validates both upstream Perl layouts before changing either file. Rollback verifies the saved originals and patched files rather than restoring stale PVE code. **Legacy installations without verified backup provenance refuse automatic removal**; reconcile backups with the installed qemu-server package before removing pve-microvm. Upgrades remain supported.

The ephemeral runner cleans up after configuration failures and preserves guest exit codes. OCI imports retain failure diagnostics and abort on failed disk attachment. Required kernel configuration checks now fail the build instead of just logging errors. The missing 9Front download has also been restored.

Validation: 88 tests pass; the Debian candidate installed on borg and z83ii, repeated patch application was idempotent, and isolated Debian guest boots passed on both. z83ii also built a fresh Debian template. Existing borg VM IDs and process IDs were unchanged. Candidate tests used the deployed kernel/initrd; release CI rebuilds them.

See [the audit report](/pve-microvm/audit-2026-09-05.md) for test boundaries and remaining limitations.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.layeronecloud.com/pve-microvm/release-notes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
