From a1173828285aeaab67d7d38aa3eb19bceb2e1a32 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 24 Feb 2017 15:08:27 +0000 Subject: [PATCH] docs: Update release notes for libguestfs 1.36 release. --- docs/guestfs-release-notes.pod | 263 ++++++++++++++++++++++++++++++--- 1 file changed, 244 insertions(+), 19 deletions(-) diff --git a/docs/guestfs-release-notes.pod b/docs/guestfs-release-notes.pod index 3643ea10a..7274d5f16 100644 --- a/docs/guestfs-release-notes.pod +++ b/docs/guestfs-release-notes.pod @@ -4,7 +4,7 @@ guestfs-release-notes - libguestfs Release Notes =begin comment -UPDATED TO 04fe77c5199059a76f16875d6d2b495936ba7b82 +UPDATED TO e53ee5befa3e067a3c7d163d63eb2a2eba960858 =end comment @@ -28,21 +28,45 @@ the git repository, or the ChangeLog file distributed in the tarball. Bash completion is now available in every command line tool that is shipped. +ExFAT filesystems are now supported (Miles Wolbe). =head3 New tools - +Virt-tail is a new tool for following (tailing) log files within a +guest, similar to the regular C command. =head3 New features in existing tools +Virt-customize, virt-get-kernel, virt-sparsify and virt-sysprep can +now handle encrypted guests (Pino Toscano). +Virt-builder and virt-customize now support I<--append-line>, which is +useful for adding lines to the end of configuration files. -=head3 virt-v2v/virt-p2v +Virt-resize can now shrink and expand swap partitions (Pino Toscano). -Conversions of Debian/Ubuntu guests are now supported -(Tomáš Golembiovský, Pino Toscano). +Virt-resize can now output to non-local disks (Pino Toscano). -Conversions from SUSE Xen have now been tested (Cédric Bosdonnat). +Virt-sysprep has a new operation called C for removing +editor backups, and C for removing F and +similar. + +Virt-dib can now create checksums using the new I<--checksum> option +(Pino Toscano). + +Virt-dib can now create tgz files. In addition, extended attributes +and SELinux labels are preserved in the output tar file (Pino +Toscano). + +Virt-dib can now create squashfs files (Pino Toscano). + +=head3 virt-v2v and virt-p2v + +Conversions of Debian (6+) and Ubuntu (10.04+) guests are now +supported (Tomáš Golembiovský, Pino Toscano). + +Conversions from SUSE Xen hypervisor have now been tested +(Cédric Bosdonnat). Windows conversions may now install a program C which prevents conflicts between the Windows Plug-and-Play Manager and our @@ -52,43 +76,117 @@ requires the C program to be built separately OVA files exported from AWS can now be converted (Shahar Havivi). +When converting OVA files, in some circumstances virt-v2v can now read +disk images directly from the OVA input file instead of needing to +unpack the OVA file to a temporary directory. This can save large +amounts of disk space, and is quicker (Tomáš Golembiovský). + +Virt-p2v can now be built on RHEL 5 (2007-era) Linux and RHEL 6, which +means that 32 bit and hardware with ancient fakeraid disks can be +virtualized. Binaries of virt-p2v based on these old versions of +RHEL can be found at http://oirase.annexia.org/virt-p2v/ + +Virt-p2v can now use nbdkit (an NBD server) as an alternative to +qemu-nbd. In addition, virt-p2v can use "socket activation" which is +a more robust method for opening the NBD listening socket. Socket +activation works with qemu-nbd or nbdkit, but requires the most up to +date versions. + +To prevent timeouts during P2V conversions, virt-p2v inhibits power +saving on the physical machine, and also sends ping packets over the +ssh control and data connections. + Virt-v2v no longer removes the C and C nodes from the Windows Registry. Xen and vCenter conversions can now be done using the libvirt backend, provided libvirt E 2.1.0 is used. -Ignore F (SCSI CD-ROM) devices (Tomáš Golembiovský). +F (SCSI CD-ROM) devices are ignored (Tomáš Golembiovský). When converting SUSE Linux guests, use F if it exists. +Removing VMware tools from Linux guests should now work reliably +(Pino Toscano). + +When converting OVA files, virt-v2v now checks the disk image hash +contained in the manifest file, whereas previously it was ignored +because of a mistake in the code. In addition, SHA256 hashes are now +supported (Tomáš Golembiovský). + +When converting OVA files that contain compressed disk images, we now +trust the C attribute from the metadata instead of +using content sniffing on the disk image (Tomáš Golembiovský). + +A new flag I<--vdsm-compat> has been added to I<-o vdsm> mode, +allowing more efficient qcow2 images to be generated. + +Since the RHEV product [commercially supported version of oVirt] has +now been renamed to RHV, "RHEV" was changed to "RHV" throughout the +tooling. In particular, I<-o rhev> becomes I<-o rhv>, although the +old name can be used for backwards compatibility. + +The C utility is only installed when the output hypervisor +is oVirt or RHV. + +A problem with virt-v2v running out of memory when doing an SELinux +relabel of the guest filesystem should now be resolved. + =head3 Language bindings Setting C before F<./configure> allows you to add arbitrary flags to C when compiling the Java bindings. +Use of any libguestfs API which returned a single struct, from Perl or +Java bindings, would have leaked memory. This has now been fixed +(Pino Toscano). =head3 Inspection -Inspection of btrfs subvolumes now works where the C +Inspection of Windows guests with mildly corrupted Windows Registry +hives should now work instead of failing with an error. This feature +requires hivex E 1.3.14 (Dawid Zamirski). + +For Debian guests, we can now read the URL, source name, summary and +full description of installed packages. For RPM-based guests we can +read the URL, summary and description (Pino Toscano). + +Inspection of guest operating systems that use a separate F +partition should now work more reliably (Pino Toscano). + +When parsing guest F, paths are reduced to a canonical +form (eg. C<"///usr//local//"> → C<"/usr/local">). + +Inspection of btrfs subvolumes now works where the F options field contains commas. - - - -=head3 Documentation - - +F devices in guest F are ignored (Pino Toscano). =head3 Architectures and platforms +Stable releases are now tested on aarch64, ppc64 and ppc64le +architectures. + +The RISC-V architecture is now handled as a guest, and libguestfs will +now at least compile on RISC-V (but probably not work as there is no +usable qemu at the time of writing). + +Detection of S/390 and S/390x binaries and guests is now supported. =head2 Security See also L. +There were no CVEs reported in this development cycle. However some +security-related hardening was carried out as described below. +Temporary filenames are now always generated using randomness from +F (previously the C function L was used in +one case). + +The C<$TERM> environment variable is now validated before passing it +through to the appliance kernel command line. =head2 API @@ -96,26 +194,83 @@ See also L. =over 4 -=item C +=item C -Exposes the Augeas C API. +Exposes the Augeas C API (Pino Toscano). + +=item C + +Find files by inode number (Matteo Cafasso). + +=item C + +=item C + +Return the path to the Windows C and C +hives computed during inspection. + +=item C + +Create a squashfs filesystem from a path (Pino Toscano). =back =head3 Other API changes +=over 4 +=item C +This call now handles libvirt file-based volumes correctly, where +previously these would have been ignored (Pino Toscano). + +=item C + +This call will no longer incorrectly modify Linux software RAID device +names (like F). + +=item C + +Previously the C API could return either of the +strings C or C for 32 bit x86 binaries. It now only +returns C (as documented). + +This API can now return the following new values: C, +C, C, C, C. + +=item C + +This now has an optional C flag which +allows certain corrupted Windows Registry hives to be opened. This +feature requires hivex E 1.3.14 (Dawid Zamirski). + +=item C + +This call now returns Linux software RAID partitions. + +=item C + +This call now correctly handles partition names which include +CNE> (Pino Toscano). + +=item C + +This call can now change the labels of swap partitions (Pino Toscano). + +=back =head2 Build changes +GCC 7 is now supported. + "Silent rules" are now used for OCaml programs, Java bindings. To show the full command line executed, add C on the make command line (Pino Toscano). Slow testing (C) now covers: firstboot scripts in -Linux guests; v2v conversion of a selection of real Linux guests; -the virt-customize I<--hostname> and I<--timezone> settings. +Linux guests; v2v conversion of a selection of real Linux guests; the +virt-customize I<--hostname> and I<--timezone> settings; the +I<--root-password> parameter; that the serial console works. Large generated C source files, eg. the list of commands found in F (and many more), have been split into smaller files to @@ -125,13 +280,46 @@ C now checks that all generated files are included in the tarball. The tests no longer assume that C<.> is in Perl's C<@INC>, as it is -gong to be removed soon (Pino Toscano). +going to be removed soon (Pino Toscano). +Debian hosts using UsrMerge are now supported (Pino Toscano). +Header files and C Cs can now have internal documentation +using the special C comments. +C<@VAR@> subtitutions in C<./run> are now fully quoted. This is +necessary so that (eg) C<./configure PYTHON=/some/path> works robustly +if C contains characters that need to be quoted (Hilko +Bengen). + +gperf E 3.1 is now supported. + +Kraxel's old edk2 builds can no longer be used for UEFI support. UEFI +code is now fully free software, so use the versions bundled with your +Linux distro instead. + +Libguestfs can now mostly be compiled on RHEL 5 (2007-era) Linux. =head2 Internals +The generator and mllib C modules are now shared from +the same source file. + +A considerable amount of common code has been moved into the F +directory in the source and is now compiled only once. The +mini-libraries located under here are: F, +F, F, F, +F, F, F, +F, F, F. + +The directory containing the main library code has moved from F → +F. + +All tests written in shell script now use a common file of utility +functions (F). There are several new utility +functions, mainly for skipping tests. Also these test scripts can now +use autoconf-like path variables like C<$abs_top_srcdir>. + UEFI paths are now stored in the generator (F). The way the generator handles actions and procedure numbers was @@ -143,6 +331,43 @@ needing/printing the program name (Pino Toscano). F is not translatable (Nikos Skalkotos). +Virt-builder templates moved from F to +F and there is now a single unified program which +can build any template. + +All Windows registry utilities used by virt-customize and virt-v2v +have been moved to a common module called C under F. + +All POSIX bindings have been moved to a new module called +C under F. + +Inspection, virt-customize and virt-v2v no longer recompute the +Windows C<%systemroot%>, C or paths to the +C and C hives in multiple places. Instead +these are all computed once (during inspection) and passed to the +other tools through various C APIs. + +C is now available inside the appliance, so any tools we run +which require a pty will now work (Pino Toscano). + +Most OCaml warnings have been fixed. + +There is now a single common function for creating temporary +files (C) (Matteo Cafasso). + +The C<$TERM> environment variable is now validated before passing it +through to the appliance kernel command line. + +Useless USB and memballoon devices are no longer created in the +appliance. + +On aarch64 we now use virtio-pci for the appliance. This is somewhat +faster than virtio-mmio. + +Use of L and L has been minimized. In +particular, temporary filenames are no longer created based on +randomness returned by L, but F is used +instead. =head2 Bugs fixed