Scroll to navigation

guestfs-release-notes-1.42(1) Virtualization Support guestfs-release-notes-1.42(1)


guestfs-release-notes - libguestfs Release Notes


Please note that virt-v2v, virt-p2v and the boot analysis tools were moved out of the libguestfs package / repository into separate projects. See:

Those projects are now on a separate release cycle. Release notes are published separately.

New features

Add support for the Vala language (Corentin Noël).

Add support for the Rust language (Hiroyuki Katsura, sponsored by Google Summer of Code).

Reproducible builds (Chris Lamb).

Advanced Format disks (which use 4K sectors) can now be processed by libguestfs. Use the new optional "blocksize" parameter to "guestfs_add_drive_opts", and the --blocksize option added to several tools (Nikolay Ivanets).

Windows CompactOS (NTFS file compression) is now supported.

New features in existing tools

Advanced machine readable output in various virt tools now supports JSON output, and writing logs to a numbered file descriptor (Pino Toscano).

virt-filesystems tool now more accurately reports filesystem total size, in the case where for example the filesystem does not occupy the whole of its containing device (Pino Toscano).

Language bindings

Python ≥ 2.7 is required.

Python bindings are now more extensively tested (Hiroyuki Katsura).

Python bindings should now work with Python ≥ 3.8.

Multiple fixes to avoid crashes in the Python bindings (Sam Eiderman).

OCaml bindings are compiled with "-DCAML_NAME_SPACE" to ensure no non-caml_-namespaced symbols are used (Pino Toscano).

OCaml bindings should now work with OCaml 4.09 and 4.10.

Erlang has deprecated the old "erl_interface" library which we use for Erlang bindings. It will be removed in OTP 22, which will permanently break Erlang support unless someone steps forward to update the Erlang bindings in libguestfs.

Fix compatibility with newer cgo for Go bindings (Tomáš Golembiovský).

Go API error handling is now more idiomatic (Csaba Henk).

Update documentation about how to handle boolean parameters in Ruby bindings (Csaba Henk).


Libguestfs can now extract icons for Gentoo, newer SUSE and OpenMandriva guests. Improved extraction of RHEL icons. (Pino Toscano).

Inspection returns the osinfo IDs of newer Windows versions, and rolling Linux distros (Pino Toscano).

OpenMandriva is now detected (Bernhard Rosenkränzer).

Arch Linux detection improvements (Pino Toscano).

Architectures and platforms

Libguestfs can now be compiled on OpenMandriva (Bernhard Rosenkränzer).

Ubuntu fix for enabling network support (Ioanna Alifieraki).


Use of deprecated libguestfs APIs will now cause compiler deprecation warnings by default, whereas previously you have to enable these warnings. To turn off these warnings use "-DGUESTFS_NO_WARN_DEPRECATED=1". A new feature is that you can now disable deprecated APIs completely if you want, using "-DGUESTFS_NO_DEPRECATED=1" (Pino Toscano).

Fix hostname in virt-builder templates (Pino Toscano).

The single large release notes file is now split into multiple documents organized by version.

The "--key" option of several tools was broken, especially if you tried to use the option to pass multiple keys. This has been fixed and a regression test added.

Augeas exceptions occurring in daemon (eg. during inspection) will now produced detailed errors (Pino Toscano).


No security issues were found in this release.


New APIs

"luks_uuid" returns the UUID of a LUKS device (Pino Toscano).

Other API changes

Cope with new output from the "btrfs scrub" command. There is no visible change at the API level.

New optional parameter "blocksize" added to "guestfs_add_drive_opts" to support Advanced Format disks (Nikolay Ivanets).

Build changes

Minimum version of Augeas required is 1.2.0 (Pino Toscano).

"common/" subdirectory is now a git submodule shared with the virt-v2v project.

Supermin ≥ 5.1.18 is required.

There were several bugs in libvirt 5.10.0 and 6.0 which affected libguestfs. It is highly advisable to use libvirt 6.1 where these bugs are fixed (versions of libvirt < 5.10.0 are also fine).

Many gnulib modules which we were not using or which we used in only a few places have been removed (Pino Toscano).

Multiple fixes for builddir != sourcedir builds (Pino Toscano).

A new "bundled/" subdirectory contains one bundled library that we currently use, "ocaml-augeas" (Pino Toscano).

Fix compatibility issues when being compiled with GCC 10.


When linking OCaml programs, automake silent rules and the "V=1" flag are both now obeyed (Pino Toscano).

The "guestfs_device_index" API was reimplemented in library code instead of in the daemon. There should be no observable effect of this change.

Since Linux 5.6 enumerates "/dev/sdX" devices in parallel, libguestfs was changed to map API device names to appliance device names, and then do the reverse mapping when returning names from the appliance. Hopefully this should have no observable effect, but can produce somewhat confusing debugging messages since device names in the debug might not match device names passed in to APIs. Furthermore the "root=UUID=..." option is always passed to the appliance (instead of naming the device containing the root filesystem).

We expect to move from the Zanata service to the Weblate service for translated strings. For more information see

Bugs fixed
Segfault in python bindings for guestfs_int_py_event_callback_wrapper
Can't import guest from export domain to data domain on rhv4.3 due to error "Invalid parameter: 'DiskType=1'"
virt-v2v: Use scp -T in -i vmx -it ssh mode
Delete info"export PATH=/path/to/nbdkit-1.1.x:$PATH" in virt-v2v-input-vmware manual page
python 3.8 requires using -embed variant of pkgconf file, causing libguestfs to fail to build Python 3.8 bindings
libguestfs cannot inspect disks using WIndows 10 NTFS compression, error "unsupported reparse point"
[PATCH] Add OpenMandriva support
virt-v2v should show a message when qemu-guest-agent is installed in guest successfully during conversion
virt-v2v fails to import a guest while cannot find `file_architecture` for a file
[v2v][RHV][Scale] v2v Migration to RHV failed on timed out waiting for transfer to finalize
python bindings wrongly using str for APIs with RBufferOut/FBuffer on Python 3
Unable to maintain static IP address configuration post VM migration
Guest has no disk after rhv-upload converting if target data domain has similar name with other data domain on rhv4.2
Update nbdkit info for vddk in v2v man page
On W2K12r2 rhev-apt does not run non-interactively, causing race when starting rhev-apt service from the command line
Macvtap network will be lost during v2v conversion
virt-customize --commands-from-file will fail if there is an extra blank in the file


guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1),


Ioanna Alifieraki

Sam Eiderman

Tomáš Golembiovský

Csaba Henk

Nikolay Ivanets

Richard W.M. Jones

Hiroyuki Katsura

Chris Lamb

Corentin Noël

Bernhard Rosenkränzer

Pino Toscano


Copyright (C) 2009-2020 Red Hat Inc.


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


To get a list of bugs against libguestfs, use this link:

To report a new bug against libguestfs, use this link:

When reporting a bug, please supply:

  • The version of libguestfs.
  • Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
  • Describe the bug accurately and give a way to reproduce it.
  • Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.
2021-03-31 libguestfs-1.44.1