=head1 NAME

guestfs-release-notes - libguestfs Release Notes

=head1 RELEASE NOTES FOR LIBGUESTFS 1.48

These are the release notes for libguestfs stable release 1.48.
This describes the major changes since 1.46.

Libguestfs 1.48.0 was released on B<14 March 2022>.

=head2 Some features removed

The following little used, experimental or unsafe features have been
removed:

"Libguestfs live" was an experimental feature that allowed you (in
theory) to connect to an existing instance of the libguestfs daemon in
a running guest.  If you want to do this we recommend installing
qemu-guest-agent in the guest instead and using the APIs provided by
it.  The related C<unix:> backend has been removed.  The
L<guestfish(1)> and L<guestmount(1)> I<--live> option now prints an
error.

The User-mode Linux (C<uml>) backend has been removed.  It was an
alternate hypervisor that could be used instead of qemu.  It had many
limitations including lack of network support, and lack of qemu native
features like qcow2 or network-backed disks.  In addition it was
slower than KVM and particular features like bulk upload/download were
painfully slow.  Also the UML feature of Linux that it was based on
often does not work.

The 9pfs APIs C<guestfs_list_9p> and C<guestfs_mount_9p> have been
deprecated and now return errors.  This was related to an experimental
feature for passing through host filesystems to the appliance.  You
had to hand-hack the qemu command line for this to work and it did not
fit the libguestfs model very well.

C<guestfs_add_drive> no longer supports hotplugging (adding a drive
after launch), and C<guestfs_remove_drive> has been deprecated and now
returns an error.  Hotplugging was an unsuccessful feature which was
complicated to implement and maintain, and was slow and insecure.  It
also only worked with the non-default libvirt backend, and was never
implemented in the default "direct" backend.

=head2 Language bindings

Fix allocation and deallocation of string lists in golang bindings
(Laszlo Ersek).

Multiple fixes to the OCaml bindings: Fix warnings, move minimum
version to OCaml 4.04, replace various deprecated OCaml features with
modern OCaml features.

Running C<make distclean> in the F<rust> directory now completely
cleans the cargo temporary files.

=head2 Inspection

Fix inspection of modern Pardus GNU/Linux (Laszlo Ersek).

Add support for Kylin (Laszlo Ersek).

Add support for Rocky Linux (Neil Hanlon).

Inspection of guests which use LUKS encryption on top of LVM logical
volumes should now work (Laszlo Ersek).

=head2 API

=head3 New APIs

No new APIs were added in libguestfs 1.48.

=head3 Other API changes

C<guestfs_list_9p> and C<guestfs_mount_9p> are deprecated and now
return errors.

C<guestfs_remove_drive> has been deprecated and now returns an error.

In C<guestfs_xfs_admin> the C<lazycounter> parameter is deprecated
because it is no longer supported in recent versions of XFS.

Partition APIs now cope with the broken MBR partition tables created
by dosfstools E<ge> 4.2 (Laszlo Ersek).

In C<guestfs_md_create> the C<chunk> parameter should not be used with
RAID 1.  Previously it was allowed but ignored, but now it will give
an error (Laszlo Ersek).

=head2 Build changes

Multiple compiler warnings fixed and/or analyzed and suppressed
(Laszlo Ersek).

Fix detection of optional Yara library using pkg-config instead of
checking for library/header file (Laszlo Ersek).

Update valgrind suppressions for glibc 2.35, OCaml 4.13 and libvirt
7.7.  C<make check-valgrind> works again.

If using libvirt E<ge> 3.8.0, we now use E<lt>interfaceE<gt> to create
the appliance network interface instead of adding qemu command line
parameters (Laszlo Ersek).

The L<guestfs-release-notes(1)> page was a broken link, but it has now
been restored as a new page that links to the release notes from each
stable release.

=head2 Internals

The libc API L<strerror_r(3)> is difficult to use correctly because of
differing signatures in glibc and other libc.  A wrapper
C<guestfs_int_strerror> has been created to hide the differences.

=head2 Bugs fixed

=begin comment

https_proxy= ./bugs-in-changelog.sh v1.46.0..

=end comment

=over 4

=item L<https://bugzilla.redhat.com/2030709>

[RFE] libguestfs: Add Rocky Linux support

=item L<https://bugzilla.redhat.com/2030396>

Fix usage of strerror_r which caused corrupted error messages

=item L<https://bugzilla.redhat.com/2024022>

xfs-admin: Cannot disable lazy-counters on V5 fs

=item L<https://bugzilla.redhat.com/1995391>

RFE: virt-inspector fails to detect the distro and applications on Kylin-Desktop-V10 image

=item L<https://bugzilla.redhat.com/1993842>

RFE: virt-inspector fails to detect the distro on Pardus-19.5 image

=item L<https://bugzilla.redhat.com/1931821>

work around mkfs.vfat writes corrupted filesystem/partition table when used on whole block device

=item L<https://bugzilla.redhat.com/1451665>

RFE: Virt-v2v can't convert the guest which has encrypted partition

=back

=head1 SEE ALSO

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

=head1 AUTHORS

=begin comment

git shortlog -s v1.46.0..

=end comment

=over 4

=item Laszlo Ersek

=item Neil Hanlon

=item Richard W.M. Jones

=back

=head1 COPYRIGHT

Copyright (C) 2009-2025 Red Hat Inc.
