.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Podwrapper::Man 1.57.7 (Pod::Simple 3.47)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\"
.\" Required to disable full justification in groff 1.23.0.
.if n .ds AD l
.\" ========================================================================
.\"
.IX Title "guestfs-release-notes-1.48 1"
.TH guestfs-release-notes-1.48 1 2025-12-04 libguestfs-1.57.7 "Virtualization Support"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
guestfs\-release\-notes \- libguestfs Release Notes
.SH "RELEASE NOTES FOR LIBGUESTFS 1.48"
.IX Header "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.
.PP
Libguestfs 1.48.0 was released on \fB14 March 2022\fR.
.SS "Some features removed"
.IX Subsection "Some features removed"
The following little used, experimental or unsafe features have been
removed:
.PP
"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 \f(CW\*(C`unix:\*(C'\fR backend has been removed.  The
\&\fBguestfish\fR\|(1) and \fBguestmount\fR\|(1) \fI\-\-live\fR option now prints an
error.
.PP
The User\-mode Linux (\f(CW\*(C`uml\*(C'\fR) 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.
.PP
The 9pfs APIs \f(CW\*(C`guestfs_list_9p\*(C'\fR and \f(CW\*(C`guestfs_mount_9p\*(C'\fR 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.
.PP
\&\f(CW\*(C`guestfs_add_drive\*(C'\fR no longer supports hotplugging (adding a drive
after launch), and \f(CW\*(C`guestfs_remove_drive\*(C'\fR 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.
.SS "Language bindings"
.IX Subsection "Language bindings"
Fix allocation and deallocation of string lists in golang bindings
(Laszlo Ersek).
.PP
Multiple fixes to the OCaml bindings: Fix warnings, move minimum
version to OCaml 4.04, replace various deprecated OCaml features with
modern OCaml features.
.PP
Running \f(CW\*(C`make distclean\*(C'\fR in the \fIrust\fR directory now completely
cleans the cargo temporary files.
.SS Inspection
.IX Subsection "Inspection"
Fix inspection of modern Pardus GNU/Linux (Laszlo Ersek).
.PP
Add support for Kylin (Laszlo Ersek).
.PP
Add support for Rocky Linux (Neil Hanlon).
.PP
Inspection of guests which use LUKS encryption on top of LVM logical
volumes should now work (Laszlo Ersek).
.SS API
.IX Subsection "API"
\fINew APIs\fR
.IX Subsection "New APIs"
.PP
No new APIs were added in libguestfs 1.48.
.PP
\fIOther API changes\fR
.IX Subsection "Other API changes"
.PP
\&\f(CW\*(C`guestfs_list_9p\*(C'\fR and \f(CW\*(C`guestfs_mount_9p\*(C'\fR are deprecated and now
return errors.
.PP
\&\f(CW\*(C`guestfs_remove_drive\*(C'\fR has been deprecated and now returns an error.
.PP
In \f(CW\*(C`guestfs_xfs_admin\*(C'\fR the \f(CW\*(C`lazycounter\*(C'\fR parameter is deprecated
because it is no longer supported in recent versions of XFS.
.PP
Partition APIs now cope with the broken MBR partition tables created
by dosfstools ≥ 4.2 (Laszlo Ersek).
.PP
In \f(CW\*(C`guestfs_md_create\*(C'\fR the \f(CW\*(C`chunk\*(C'\fR parameter should not be used with
RAID 1.  Previously it was allowed but ignored, but now it will give
an error (Laszlo Ersek).
.SS "Build changes"
.IX Subsection "Build changes"
Multiple compiler warnings fixed and/or analyzed and suppressed
(Laszlo Ersek).
.PP
Fix detection of optional Yara library using pkg\-config instead of
checking for library/header file (Laszlo Ersek).
.PP
Update valgrind suppressions for glibc 2.35, OCaml 4.13 and libvirt
7.7.  \f(CW\*(C`make check\-valgrind\*(C'\fR works again.
.PP
If using libvirt ≥ 3.8.0, we now use <interface> to create
the appliance network interface instead of adding qemu command line
parameters (Laszlo Ersek).
.PP
The \fBguestfs\-release\-notes\fR\|(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.
.SS Internals
.IX Subsection "Internals"
The libc API \fBstrerror_r\fR\|(3) is difficult to use correctly because of
differing signatures in glibc and other libc.  A wrapper
\&\f(CW\*(C`guestfs_int_strerror\*(C'\fR has been created to hide the differences.
.SS "Bugs fixed"
.IX Subsection "Bugs fixed"
.IP https://bugzilla.redhat.com/2030709 4
.IX Item "https://bugzilla.redhat.com/2030709"
[RFE] libguestfs: Add Rocky Linux support
.IP https://bugzilla.redhat.com/2030396 4
.IX Item "https://bugzilla.redhat.com/2030396"
Fix usage of strerror_r which caused corrupted error messages
.IP https://bugzilla.redhat.com/2024022 4
.IX Item "https://bugzilla.redhat.com/2024022"
xfs\-admin: Cannot disable lazy\-counters on V5 fs
.IP https://bugzilla.redhat.com/1995391 4
.IX Item "https://bugzilla.redhat.com/1995391"
RFE: virt\-inspector fails to detect the distro and applications on Kylin\-Desktop\-V10 image
.IP https://bugzilla.redhat.com/1993842 4
.IX Item "https://bugzilla.redhat.com/1993842"
RFE: virt\-inspector fails to detect the distro on Pardus\-19.5 image
.IP https://bugzilla.redhat.com/1931821 4
.IX Item "https://bugzilla.redhat.com/1931821"
work around mkfs.vfat writes corrupted filesystem/partition table when used on whole block device
.IP https://bugzilla.redhat.com/1451665 4
.IX Item "https://bugzilla.redhat.com/1451665"
RFE: Virt\-v2v can\*(Aqt convert the guest which has encrypted partition
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fBguestfs\-examples\fR\|(1),
\&\fBguestfs\-faq\fR\|(1),
\&\fBguestfs\-performance\fR\|(1),
\&\fBguestfs\-recipes\fR\|(1),
\&\fBguestfs\-testing\fR\|(1),
\&\fBguestfs\fR\|(3),
\&\fBguestfish\fR\|(1),
http://libguestfs.org/
.SH AUTHORS
.IX Header "AUTHORS"
.IP "Laszlo Ersek" 4
.IX Item "Laszlo Ersek"
.PD 0
.IP "Neil Hanlon" 4
.IX Item "Neil Hanlon"
.IP "Richard W.M. Jones" 4
.IX Item "Richard W.M. Jones"
.PD
.SH COPYRIGHT
.IX Header "COPYRIGHT"
Copyright (C) 2009\-2025 Red Hat Inc.
.SH LICENSE
.IX Header "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.
.PP
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.
.PP
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.
.SH BUGS
.IX Header "BUGS"
To get a list of bugs against libguestfs, use this link:
https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
.PP
To report a new bug against libguestfs, use this link:
https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
.PP
When reporting a bug, please supply:
.IP \(bu 4
The version of libguestfs.
.IP \(bu 4
Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
.IP \(bu 4
Describe the bug accurately and give a way to reproduce it.
.IP \(bu 4
Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR
output into the bug report.
