---
name: "guestfs-release-notes-1.28"
section: "1"
platform: "linux"
package: "libguestfs"
version: "1.60.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/guestfs-release-notes-1.28"
---

# guestfs-release-notes-1.28(1)

libguestfs Release Notes

## NAME

guestfs-release-notes - libguestfs Release Notes

## RELEASE NOTES FOR LIBGUESTFS 1.28

These release notes only cover the differences from the previous stable/dev branch split (1.26.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.

### New features

*Tools*

[**virt-v2v**(1)](/virt-v2v/1.md) and [**virt-p2v**(1)](/virt-p2v/1.md) are tools for converting from foreign hypervisors (such as VMware or Xen) or physical machines, to KVM.  These tools were previously a separate project.  The code for both tools has been integrated into the libguestfs tree.  As part of the refactoring, virt-p2v has been rewritten (from Ruby, now C), and virt-v2v now uses several modern features of qemu which make it run many times faster than before.  [**virt-v2v**(1)](/virt-v2v/1.md) can import from: VMware vCenter, VMware OVA files, local disk files, libvirt, RHEL 5 Xen.  It can output to: oVirt or Red Hat Enterprise Virtualization (RHEV-M), OpenStack Glance, libvirt, qemu, local disk files.

[**virt-log**(1)](/virt-log/1.md) is a new tool for listing log files from guests.  It supports a variety of guests including Linux traditional, Linux using journal, and Windows event log.

[**virt-builder**(1)](/virt-builder/1.md) has a new `"--machine-readable"` option to make it simpler to consume virt-builder from other programs.

New [**virt-builder**(1)](/virt-builder/1.md) and [**virt-customize**(1)](/virt-customize/1.md) *--chmod* option.

[**virt-sysprep**(1)](/virt-sysprep/1.md) will now remove: systemd journals, anaconda logs, lightdm logs, debian-installer files, apt logs, exim logs, ConsoleKit logs, firewalld logs, grubby logs, proftpd logs, libvirt/libxml logs, and several other log files.  The virt-sysprep `"user-account"` operation is now able to remove or keep particular user accounts. (Pino Toscano).

New [**guestmount**(1)](/guestmount/1.md) *--fd* option, allowing you to run guestmount captive under another process.

[**virt-sparsify**(1)](/virt-sparsify/1.md) has a new *--tmp* option allowing you to precisely control where temporary files are stored.

[**virt-sparsify**(1)](/virt-sparsify/1.md) can now write to a block device.

[**virt-customize**(1)](/virt-customize/1.md) and [**virt-sysprep**(1)](/virt-sysprep/1.md) now support adding firstboot scripts to Windows guests.

[**virt-cat**(1)](/virt-cat/1.md), [**virt-edit**(1)](/virt-edit/1.md), [**virt-ls**(1)](/virt-ls/1.md) now support the *-m* option, allowing you to override automatic inspection of guests and instead specify where to mount partitions (Pino Toscano).

The virt tools now have coloured output: green for OK, red for errors, blue for warnings.

*Language bindings*

You can build a Python distribution using `"make -C python sdist"`

Ruby bindings have switched from `"Test::Unit"` to `"MiniTest"`.

The Java bindings are now compatible with OpenJDK 8 (Pino Toscano).

*Inspection*

Oracle Linux is returned as `"oraclelinux"` (Nikos Skalkotos).

Linux guests which do not have */etc/fstab* can now be handled (Pino Toscano).

Minix is returned as `"minix"` (Pino Toscano).

*Architectures*

Aarch64 (64 bit ARM) support has been added.

Inspection and the `"guestfs_file_architecture"` call can now recognize arm (32 bit) and aarch64 guests.

### Security

- CVE-2014-0191 Network usage and entity resolution in XML parsing

  Libguestfs previously used unsafe libxml2 APIs for parsing libvirt XML.  These APIs defaulted to allowing network connections to be made when certain XML documents were presented.  Using a malformed XML document it was also possible to exhaust all CPU, memory or file descriptors on the machine.

  Since the libvirt XML comes from a trusted source (the libvirt daemon) it is not thought that this could have been exploitable.

  This was fixed in libguestfs ≥ 1.27.9 and the fix was backported to stable versions ≥ 1.26.2, ≥ 1.24.9, ≥ 1.22.10 and ≥ 1.20.13.  (Thanks: Dan Berrange, Pino Toscano).

- Shellshock (bash CVE-2014-6271)

  This bash bug indirectly affects libguestfs.  For more information see: https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html

### API

*New APIs*

- "guestfs\_clear\_backend\_setting"

  - "guestfs\_get\_backend\_setting"

  - "guestfs\_set\_backend\_setting"

  Use these APIs to set individual backend settings.

- "guestfs\_cpio\_out"

  Convert a directory within the disk image to cpio format.

- "guestfs\_journal\_get\_realtime\_usec"

  Fetch precise journal times, see [**sd\_journal\_get\_realtime\_usec**(3)](/sd_journal_get_realtime_usec/3.md).

- "guestfs\_lstatns"

  - "guestfs\_lstatnslist"

  - "guestfs\_statns"

  Enhanced versions of `"guestfs_lstat"`, `"guestfs_lstatlist"`, `"guestfs_stat"` which return nanosecond timestamps.

### Build changes

Libguestfs can now be built with qemu 2.x.

Add support for packaging the appliance on Mageia (Joseph Wang, Thierry Vignaud).

Augeas is now a required dependency.

Flex and bison are now required dependencies.

### Internals

User-Mode Linux (UML) is no longer a supported backend (although still available).  It will be supported again once someone steps in and fixes various regressions and brokenness in the UML (Linux) kernel.

You can now connect gdb to qemu by specifying `"LIBGUESTFS_BACKEND_SETTINGS=gdb"`

Serial BIOS (sgabios) is now used by the libvirt backend (on x86 only) so that we see early BIOS messages.

For the OCaml virt tools, exceptions are now handled and printed by a common function.

A GCC warning about large stack frames is now enabled by default. Several places that used large arrays and structures on the stack have been fixed.

There is now a test for booting the appliance repeatedly.  Useful for finding kernel leaks.  See: *tests/qemu/qemu-boot.c*

There is a test for testing the speed of various qemu features such as virtio-serial uploads and block device writes.  See: *tests/qemu/qemu-speed-test.c*

GCC warnings are now enabled for OCaml-C bindings in the OCaml virt tools.

The code for editing files used by [**virt-edit**(1)](/virt-edit/1.md), [**guestfish**(1)](/guestfish/1.md) `"edit"` command, [**virt-customize**(1)](/virt-customize/1.md) *--edit* option and more is now shared between all these utilities (thanks Pino Toscano).

The FUSE tests were rewritten in C to ensure finer control over how system calls are tested.

The *update-bugs.sh* script has been fixed so it should no longer create an empty `"BUGS"` file if the Bugzilla server is unavailable.

The [**virt-resize**(1)](/virt-resize/1.md) tests now use a stochastic method to ensure much deeper and broader testing.

When the network is enabled, the appliance now uses DHCP to acquire an IP address.

If libvirt is being used then the appliance will connect to `"virbr0"` (can be overridden by setting `"LIBGUESTFS_BACKEND_SETTINGS=network_bridge=<some_bridge>"`). This enables full-featured network connections, with working ICMP, ping and so on.

### Bugs fixed

- https://bugzilla.redhat.com/1153515

  empty (but set) LIBGUESTFS\_BACKEND prints libguestfs: error: invalid backend:

- https://bugzilla.redhat.com/1151766

  libguestfs-bash-completion package contains file /usr/share/bash-completion/completions/virt-log, but no **\_virt\_log()** function in that file

- https://bugzilla.redhat.com/1151738

  typo error in man page of virt-edit

- https://bugzilla.redhat.com/1151033

  virt-v2v conversions from VMware vCenter server run slowly

- https://bugzilla.redhat.com/1150880

  virt-v2v: warning: display \<graphics type='sdl'\> was ignored when converting rhel5 guest with sdl graphics

- https://bugzilla.redhat.com/1150867

  'copy-file-to-file /src /dest' create file /dest even if command 'copy-file-to-file /src /dest' failed

- https://bugzilla.redhat.com/1150815

  Can not find "RECURSIVE LONG LISTING" in 'man virt-diff'

- https://bugzilla.redhat.com/1150701

  virt-v2v does not fstrim data disks and non-mounted filesystems

- https://bugzilla.redhat.com/1150475

  Exporting 2+ disk guest to RHEV, only one disk shows after import

- https://bugzilla.redhat.com/1148355

  virt-filesystems: incorrect LVM vg name when listing Fedora 21 Alpha Atomic image filesystems

- https://bugzilla.redhat.com/1148072

  Option missing --no-selinux-relabel

- https://bugzilla.redhat.com/1148012

  RFE: Allow qemu-bridge-helper to be used to implement guestfs\_set\_network

- https://bugzilla.redhat.com/1146815

  virt-v2v prints warning: /files/etc/fstab/8/spec references unknown device "cdrom"

- https://bugzilla.redhat.com/1146275

  regression setting root password with virt-builder/virt-customize

- https://bugzilla.redhat.com/1146017

  virt-v2v -v -x during windows guest conversion will hang at hivex: hivex\_open: used block id ……

- https://bugzilla.redhat.com/1145995

  Improve the error info when converting windows guest with unclean file system

- https://bugzilla.redhat.com/1145916

  virt-v2v fails to convert win7 guest

- https://bugzilla.redhat.com/1144891

  RFE: stat calls do not return nanosecond timestamps

- https://bugzilla.redhat.com/1144766

  **futimens()** is a no-op via guestmount

- https://bugzilla.redhat.com/1144201

  guestfish can not restore terminal's output colour when exit guestfish, if the terminal's background colour is black then it will make a inconvenient

- https://bugzilla.redhat.com/1143949

  virt-customize option '--password-crypto' do not work

- https://bugzilla.redhat.com/1143887

  Warning shows when converting guests to rhev:chown: changing ownership of ‘/tmp/v2v.u48xag/\*.ovf’: Invalid argument

- https://bugzilla.redhat.com/1143883

  warning shows when converting rhel7 guest:virt-v2v:could not update grub2 console: aug\_get: no matching node (ignored)

- https://bugzilla.redhat.com/1143866

  virt-v2v fails with error: cannot open Packages index using db5

- https://bugzilla.redhat.com/1142416

  part-get-name give 'libguestfs: error: part\_get\_name: parted does not support the machine output (-m)' error message when run 'part-get-name /dev/sda 1'

- https://bugzilla.redhat.com/1142186

  virt-sysprep option '--mount-options' don't work well

- https://bugzilla.redhat.com/1142158

  Illegal command 'part-get-name /dev/sda1 1' cause libguestfs appliance crashed

- https://bugzilla.redhat.com/1142004

  virt-v2v prints warning:WARNING:/files/boot/grub/device.map references unknown device "xvda"

- https://bugzilla.redhat.com/1141723

  virt-v2v: error: disk sda has no defined format shows when converting xen hvm guest

- https://bugzilla.redhat.com/1141680

  \[RFE\] virt-v2 should support convert a domain with using domain's UUID instead of domain name

- https://bugzilla.redhat.com/1141631

  \[RFE\] virt-v2 should support convert a guest to a dir-pool with using pool's uuid

- https://bugzilla.redhat.com/1141157

  virt-sysprep option '--user-accounts' don't work well

- https://bugzilla.redhat.com/1141145

  virt-v2v fails to convert xen pv guests.

- https://bugzilla.redhat.com/1141113

  virt-v2v fails to convert esx guests

- https://bugzilla.redhat.com/1140946

  qemu-img shows error message for backing file twice

- https://bugzilla.redhat.com/1140894

  No error messages output if append '--format qcow2' after '-a guest.img', guest.img is a raw format image file

- https://bugzilla.redhat.com/1140547

  virt-builder option '--format' don't work well

- https://bugzilla.redhat.com/1140156

  RFE: Export to RHEV data domain

- https://bugzilla.redhat.com/1140050

  No error shows when multiple conflicting options used with virt-v2v

- https://bugzilla.redhat.com/1139973

  Improve the error info when converting xen guest with no passwordless SSH access configured

- https://bugzilla.redhat.com/1139543

  Improve the error info when converting guest with no space left

- https://bugzilla.redhat.com/1138586

  No error shows when converting running guest with virt-v2v

- https://bugzilla.redhat.com/1138184

  virt-v2v will fail when converting guests with initramfs-\*kdump.img under /boot

- https://bugzilla.redhat.com/1138182

  xen guest will be kernel panic after converted by virt-v2v

- https://bugzilla.redhat.com/1130189

  Annoying message about permissions of /dev/kvm

- https://bugzilla.redhat.com/1123007

  libguestfs 'direct' backend should close file descriptors before exec-ing qemu to avoid leaking !O\_CLOEXEC fds

- https://bugzilla.redhat.com/1122557

  virt-sparsify overwrites block devices if used as output files

- https://bugzilla.redhat.com/1113156

  Empty fstab breaks libguestfs inspection

- https://bugzilla.redhat.com/1111662

  Guestfs.Error("vgchange\_uuid\_all:   Volume group has active logical volumes")

- https://bugzilla.redhat.com/1109174

  virt-win-reg manual page is corrupted

- https://bugzilla.redhat.com/1106548

  root gets an error accessing to a non-root dir on a snapshot guestmount VMDK img

- https://bugzilla.redhat.com/1103877

  These APIs also need to add to \`guestfish -h\` command list

- https://bugzilla.redhat.com/1102448

  mageia package list is incorrect

- https://bugzilla.redhat.com/1102447

  libguestfs 1.27.13 does not build due to libxml library order

- https://bugzilla.redhat.com/1100498

  RFE: non-polling mechanism to detect guestmount --no-fork readiness

- https://bugzilla.redhat.com/1099490

  scrub-file can't handle link file

- https://bugzilla.redhat.com/1099284

  typo errors in man pages

- https://bugzilla.redhat.com/1098718

  RFE: virt-builder aliases

- https://bugzilla.redhat.com/1096465

  virt-builder "proxy=off" setting doesn't turn off the proxy for downloads

- https://bugzilla.redhat.com/1094746

  virt-sparsify man fails to mention what happens to snapshots within a qcow2 image (they are discarded)

- https://bugzilla.redhat.com/1092753

  virt-builder: If several repos contain the same os-version images, then they are duplicated in -l output

- https://bugzilla.redhat.com/1091803

  tar-in-opts execute failed that cause libguestfs appliance crashed

- https://bugzilla.redhat.com/1088424

  virt-resize: libguestfs error: part\_set\_name: parted: /dev/sdb: Error during translation: Invalid or incomplete multibyte or wide character

- https://bugzilla.redhat.com/1088262

  virt-builder cannot write to a block device

- https://bugzilla.redhat.com/1085029

  Ruby tests fail with latest Ruby

- https://bugzilla.redhat.com/1079210

  virt-sparsify --in-place cannot sparsify as much as it should

- https://bugzilla.redhat.com/1079182

  virt-df cannot report used disk space of windows guest when updated to 6.5

- https://bugzilla.redhat.com/1077817

  virt-builder error: "syntax error at line 3: syntax error"

- https://bugzilla.redhat.com/1056290

  virt-sparsify overwrites block devices if used as output files

- https://bugzilla.redhat.com/812970

  virt-rescue cannot set ≥\<rescue\> prompt, on Ubuntu 12.04

## SEE ALSO

**guestfs-examples**(1), [**guestfs-faq**(1)](/guestfs-faq/1.md), [**guestfs-performance**(1)](/guestfs-performance/1.md), [**guestfs-recipes**(1)](/guestfs-recipes/1.md), [**guestfs-testing**(1)](/guestfs-testing/1.md), [**guestfs**(3)](/guestfs/3.md), [**guestfish**(1)](/guestfish/1.md), http://libguestfs.org/

## AUTHOR

Richard W.M. Jones

## COPYRIGHT

Copyright (C) 2009-2025 Red Hat Inc.

## LICENSE

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.

## BUGS

To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter\_bug.cgi?component=libguestfs&product=Virtualization+Tools

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)](/libguestfs-test-tool/1.md) and paste the **complete, unedited** output into the bug report.
