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

guestfs-release-notes - libguestfs Release Notes

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

guestfish

- guestfish strings can use escapes,
  eg. ><fs> write /foo "line 1\nline 2\n"
- guestfish write-append command can be used to append to files.
- Long-running file uploads and downloads can be cancelled through the
  API or by hitting ^C in guestfish.
- New guestfish "display" command for displaying graphical files
  inside guests.
- In guestfish, tab completion now works on /dev/mapper devices.

virt-inspector

- Inspection API can get an icon or logo for certain guests.
- virt-inspector includes the logo and hostname for certain guests.
- virt-inspector can now get the version and release numbers for RPM
  packages.
- CentOS and Scientific Linux are now treated as separate distros by
  the inspection API.

virt-resize

- virt-resize can now handle btrfs.
- New virt-resize --ntfsresize-force option allows Windows VMs to be
  resized multiple times.

other virt tools

- guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems,
  virt-inspector, virt-ls and virt-rescue now allow you to use
  "-d UUID" option to specify a guest by UUID.  This makes them more
  robust to use from other programs.
- virt-ls -lR option allows complex file iteration and guest analysis.
- virt-win-reg supports HKEY_USERS\<SID> and HKEY_USERS\<username>.
- virt-win-reg new option --unsafe-printable-strings allows printable
  strings to be displayed in the output (unsafely: read the documentation
  before using).
- virt-edit has been rewritten in C.

API and language bindings

- Java is now completely supported.
  See http://libguestfs.org/guestfs-java.3.html
- JRuby is supported via the Java bindings.
- guestfs_close now appears in trace messages.
- Python binding adds explicit g.close() method.
- Python programs can now use the new event API.
- Python GIL is released during libguestfs calls, allowing multithreaded
  Python programs to work properly.
- 9pfs (Plan 9 filesystems exported from the host) are now supported.
- Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API
  functions in C programs.
- New manual page guestfs-recipes(1) with recipes.
- mkfs-opts can now set inode size and sector size on created filesystems
  (thanks Nikita Menkovich).
- guestfs_last_errno is now accessible from OCaml (as g#last_errno ()).

- optargs_bitmask is checked even for calls that have no optional
  arguments.  This closes a possible exploit in the daemon from
  untrusted callers.

btrfs-filesystem-resize, get-pgroup, inspect-get-icon, is-zero,
is-zero-device, list-9p, list-dm-devices, mount-9p, ntfsresize-opts,
set-pgroup, write-append

- Coverity (a static analysis tool) was run across the codebase and
  many fixes were made.
- Generator can handle functions that return RBufferOut and have
  optional arguments.
- Compatible with Perl 5.14.
- Compatible with gcc 4.6.
- Perform safety checks on QEMU.
- C API tests can now fully test calls that have optional arguments.
- Use ./configure --enable-install-daemon to install /usr/sbin/guestfsd.
- po-docs directory now covers all man pages.
- stderr from qemu process is now captured by the event subsystem.

- 602997 part-get-bootable gives wrong result with an unordered part layout
- 661280 virt-rescue: panic when shutting down: "/sbin/reboot: No such file or directory"
- 700369 qemu-system-x86_64 says 'KVM not supported for this target'
- 705200 guestmount attempt results in access denied
- 714981 'list-filesystems' does not know about virtio 9p filesystems or detect existing mounts
- 717786 libguestfs python bindings should have an explicit close call
- 721275 virt-resize in F16 should support btrfs

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

Richard W.M. Jones

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: 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) and paste the complete, unedited output into the bug report.
2022-11-28 libguestfs-1.48.6