guestfs-release-notes-1.121
Libguestfs release notes
Release notes for libguestfs 1.12
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.
New features
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 theAPI or by hitting ^C in guestfish.- New guestfish "display" command for displaying graphical filesinside 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 RPMpackages.- CentOS and Scientific Linux are now treated as separate distros bythe inspection API.
virt-resize
- virt-resize can now handle btrfs.- New virt-resize --ntfsresize-force option allows Windows VMs to beresized 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 morerobust 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 printablestrings to be displayed in the output (unsafely: read the documentationbefore 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 multithreadedPython 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 APIfunctions 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 ()).
Security
- optargs_bitmask is checked even for calls that have no optionalarguments. This closes a possible exploit in the daemon fromuntrusted callers.
New APIs
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
Internals
- Coverity (a static analysis tool) was run across the codebase andmany fixes were made.- Generator can handle functions that return RBufferOut and haveoptional 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.
Bugs fixed
- 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
Releases
4 releases since Debian 11 (Bullseye); the text changed 3 times.