GUESTFS-RELEASE-NOTES-1.50(1)
πΈ NAME πΈ
guestfs-release-notes β the libguestfs Release Notes, bestie edition π (also filed under Virtualization Support, iykyk)
β¨ RELEASE NOTES FOR LIBGUESTFS 1.50 β¨
Okay so these are the release notes for libguestfs stable release 1.50, and they cover all the major glow-ups since 1.48. π
Libguestfs 1.50.0 dropped on 7 February 2023. Mark your calendars, it's giving anniversary energy π
π Language bindings
- Fixed the PHP bindings for PHP8 (ty Geoff Amey π«Ά).
- Fixed a bunch of deprecation warnings in the GObject bindings.
- We no longer use the deprecated Python
distutilslibrary (thanks Miro HronΔok πΈ).
π Inspection
- When listing the packages in RPM-based guests, the inspection API no longer checks package signatures. Why? Because the newer librpm that libguestfs uses doesn't understand signatures stored in older guests β like the SHA1 used by RHEL 6 (thanks Panu Matilainen π).
guestfs_inspect_get_hostnamein guestfs(3) can now handle/etc/hostnamefiles that contain comments (thanks Dawid Zamirski β¨).guestfs_file_architecturein guestfs(3) can now parse files using zstd compression ποΈ.guestfs_inspect_get_osinfoin guestfs(3) now returns the correct osinfo field for Windows 11. But β because of decisions made by Microsoft β these guests still return product name and other strings identifying as Windows 10 π (thanks Yaakov Selkowitz, Yongkui Guo).
π οΈ API
π New APIs
guestfs_device_namein guestfs(3) β a brand new API that reads the device name associated with a drive. Like, call it with0and it returns/dev/sda. Slay.guestfs_clevis_luks_unlockin guestfs(3) β a new API for unlocking disks using the Clevis/Tang network-based full disk encryption scheme. Plus it's implemented inguestfishandguestmounttoo (Laszlo Ersek π₯).guestfs_inspect_get_build_idin guestfs(3) β new API for reading the build ID from some Linux and Windows guests. Ngl it's not widely used on Linux, but for Windows it is vital for identifying Windows 11 π.
π Other API changes
- In the
guestfs_add_drivein guestfs(3) API, thenameandifacefields are not used.namehasn't been used since around 2017, but the docs have only just been updated to reflect that.ifacewas never allowed for the libvirt backend and didn't work reliably with the direct backend (Laszlo Ersek). guestfs_readdirin guestfs(3) is no longer limited to the maximum message size β it can read a directory of any size now (Laszlo Ersek π«).
ποΈ Build changes
Heads up bestie, several of these are breaking-ish, read carefully π
- Note that the Augeas bindings for libguestfs are no longer bundled with libguestfs and must be built separately. See:
https://people.redhat.com/~rjones/augeas/β for RHEL 7+ rebuilding the Fedora Rawhide package will work. - Note that libguestfs now requires minimum OCaml 4.04. It will not compile on RHEL 6.
- Note that zstd is now a required dependency.
- OCaml gettext is no longer a dependency of libguestfs. (Plain gettext is still optionally used to translate C source files.)
- Added support for OCaml 4.14 β¨.
- Fixed the build for missing stdlib functions in OCaml 4.04.
- Fixed
./configure --disable-ocaml. OCaml is still required to build libguestfs, but this now correctly disables the OCaml bindings of the API. - Added support for building on Artix, Rocky and Virtuozzo (Halil Tezcan KARABULUT, Neil Hanlon, Andrey Drobyshev π«Ά). Also, when working out the local distro we now look at
$ID_LIKEin/etc/os-releasebefore$ID, which helps on Arch (thanks S D Rausty). - Added preliminary support for compiling libguestfs on macOS π.
- Fixed the website description of cloning the libguestfs repository (Kashyap Chamarthy).
- We no longer use glibc custom printf.
- We no longer use
LD_PRELOAD=libSegFault.soin the appliance. This feature was removed in glibc 2.35. - We no longer use dtrace / systemtap probes.
π§ Internals
- Fixed regression tests to use correct paths (Nikolay Shirokovskiy).
- Various improvements to qcow2 appliance handling (Andrey Drobyshev).
- Disabled 5-level page tables in qemu. This avoids a bug in older versions of qemu.
- Disabled the LVM2 devicesfile in the appliance, since it interferes with cloned LVs that have the same UUID (Laszlo Ersek).
- Don't use
-cpu maxon RISC-V, because it's not yet supported by qemu's TCG emulation of that architecture. This will be re-enabled when qemu gets support. - Avoided a rare hang when launching the appliance π. Turns out it was caused by using the unsafe call
setenv(3)betweenforkandexec(thanks Siddhesh Poyarekar). - When running the
filecommand inside the appliance we now disable seccomp, since it interferes with processing compressed files (thanks David Runge, Toolybird).
π Bugs fixed
https://bugzilla.redhat.com/2108425β compile of libguestfs-1.48.4 fails with Error: static declaration of βcaml_alloc_initialized_stringβ follows non-static declarationhttps://bugzilla.redhat.com/2064182β SHA 1 signatures required to inspect packages in RHEL 6 guestshttps://bugzilla.redhat.com/2033247β document encrypted RBD disk limitationhttps://bugzilla.redhat.com/2012658β libguestfs fails to detect Windows 11 guest imagehttps://bugzilla.redhat.com/1965941β lvm-set-filter failed in guestfish with the latest lvm2 packagehttps://bugzilla.redhat.com/1844341β The duplicate block device is listed when iface is set to 'virtio'https://bugzilla.redhat.com/1809453β [RFE] Add support for LUKS encrypted disks with Clevis & Tanghttps://bugzilla.redhat.com/1794518β Rewrite libguestfs use of setfiles so that it doesn't stop on ext4 immutable bitshttps://bugzilla.redhat.com/1674392β No return values from a directory listing when there are simply too many files in that directory (NULL value return)https://bugzilla.redhat.com/1554735β RFE: customize --selinux-relabel should be the default, with --no-selinux-relabel used to opt out
π SEE ALSO π
guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org/ π
π«Ά AUTHORS π«Ά
The literal icons who made this happen:
- Adolfo Jayme Barrientos
- Andrey Drobyshev
- Emilio Herrera
- Ettore Atalan
- Geoff Amey
- Hela Basa
- Jan Kuparinen
- Kashyap Chamarthy
- Laszlo Ersek
- Marcin Stanclik
- MichaΕ Smyk
- Neil Hanlon
- Nikolay Shirokovskiy
- Pavel Borecki
- Piotr DrΔ g
- Richard W.M. Jones
- Ricky Tigg
- Temuri Doghonadze
- Yuri Chornoivan
Β©οΈ COPYRIGHT Β©οΈ
Copyright (C) 2009-2025 Red Hat Inc.
π 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.
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.
π BUGS π
Wanna get a list of bugs against libguestfs? Use this link:
https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
Wanna 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 please 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.
Fr fr, that last one is not optional β unedited output only, no cherry-picking π€
Okay that's the whole thing, bestie. This page ships as part of libguestfs-1.61.3, dated 2026-09-16 π mwah, go fix some bugs π β¨
π¦ where this page comes from
- centos-stream 10: libguestfs 1:1.61.3-1.el10 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms