GUESTFS-RELEASE-NOTES-1.46(1)

✨ NAME ✨

okay so this is guestfs-release-notes β€” the libguestfs Release Notes page πŸ’… it's the section 1 manpage (yes, guestfs-release-notes-1.46(1) energy), and this one is specifically spilling all the tea on libguestfs 1.46. Buckle up bestie πŸŽ€


🌸 RELEASE NOTES FOR LIBGUESTFS 1.46 🌸

The big news in this release? The virt tools β€” think virt-builder(1), virt-cat(1), virt-customize(1), virt-df(1) and like, many more β€” got moved to a whole new project. Main character relocation arc fr fr πŸ¦‹

The temporary repository for the new guestfs-tools project is right here: https://github.com/rwmjones/guestfs-tools β€” that's where it lives while a permanent home gets set up on gitlab. And the tarballs containing the tools are here: https://download.libguestfs.org/guestfs-tools/ ✨

Spinning out all of the tools into a new repository has made libguestfs a bit easier and simpler to build and manage, and it lets the project focus on just being the API. lowkey a glow-up ngl πŸ‘‘

heads up: the tools guestfish(1) (which is really a "shell API"), guestmount(1), libguestfs-test-tool(1) and virt-rescue(1) are still part of the libguestfs repo. they did not move, they're staying home πŸ™ˆ

The not-quite-so-big news: IRC moved away from FreeNode to Libera Chat πŸ’¬ the new channel on Libera is called #guestfs (thanks Daniel BerrangΓ©).

🧚 Language bindings

Libguestfs is now compatible with Go 1.16, and defines a Go module (thanks Gianfranco Costamagna).

Memory leaks in Python APIs that returned structs are fixed (thanks 朱丹) β€” leaks are so last season, we do not stan πŸ’€

Python PyPi code has been relicensed to LGPLv2+ (from GPLv2+).

πŸ” Inspection

Inspection of RPM guests now uses librpm instead of trying to parse the Berkeley DB directly. Since most RPM-based guests have replaced BDB with sqlite, this allows us to read these newer guests while retaining compatibility with the older guests (thanks Panu Matilainen) 🫢

Inspection of RHEL 8+ with split /usr configuration has been made more reliable.

Inspection of Windows Server 2022 should now work correctly (Yongkui Guo).

🧩 API

New APIs

No new APIs were added in libguestfs 1.46. that's it, that's the section, we're keeping it real 😭

Other API changes

The output of the guestfs_cap_get_file API has changed slightly because of changes in the underlying libcap. This isn't strictly speaking an API break because the new output is a still valid but more compact description of file capabilities, but because it is different it may cause problems for users of the API. ⚠️

The guestfs_mkfs_btrfs API now ignores the allocstart parameter since it was deprecated by btrfs 4.14.1 and later removed.

guestfs_isoinfo_* APIs now directly parse the CD Primary Volume Descriptor instead of using an external tool. The APIs should appear to work exactly the same (thanks Thomas Schmitt).

You can now force the appliance to use KVM or fail if not supported (Sam Eiderman).

Because of a change to XFS in version 5, disabling lazy-counters no longer works. The API still works for earlier versions of XFS (Laszlo Ersek).

πŸ› οΈ Build changes

The build now uses and requires PCRE2 (instead of PCRE).

This version requires libvirt β‰₯ 7.1.0, if libvirt is enabled.

gnulib is no longer bundled with libguestfs, making builds from git much simpler.

Perl Sys::Virt (libvirt bindings for Perl) are no longer required by libguestfs.

The code has been compiled with both LTO and GCC -fanalyzer and many bugs and warnings fixed.

Allow projects like guestfs-tools and virt-v2v to be compiled with locally built (but not installed) libguestfs (Laszlo Ersek).

Tests now run in parallel (many additional fixes by Laszlo Ersek) β€” parallel tests are literally the vibe check of CI ⚑

Work around RAID0 regression in Linux 3.14/5.4 (Laszlo Ersek).

Support for RISC-V (Heinrich Schuchardt).

Support for building on Alma and Cloud Linux (АлСксандр ΠšΡ€Π°Π²Ρ‡Π΅Π½ΠΊΠΎ).

Fix to compile with OCaml 4.12.

The tarball no longer includes the ChangeLog file. To get a detailed changelog, please look at the upstream git repository.

Don't assume bash in the ./configure script (Martin Kletzander).

Fix ./configure --with-distro option (Alexandre Iooss).

Various fixes for qemu 6.1.

Fix creating appliance dependencies on Debian (Hilko Bengen).

Update appliance packages on SUSE and several other improvements to the init script (Olaf Hering).

🫧 Internals

We now use the qemu / libvirt feature -cpu max to select the best CPU to run the appliance. This should improve performance for things like encrypted disks (Daniel BerrangΓ©).

When passing the appliance filesystem UUID to supermin we now read it directly out of the appliance instead of using the file(1) program. This is more reliable, especially as file often breaks or changed its output.

The qemu -enable-fips option is no longer used. It was not needed and has been deprecated by qemu.

On Fedora, pull in glibc-gconv-extra to fix the guestfs_syslinux API (Yongkui Guo).

We no longer use qemu's sga (Serial Graphics Adapter) option ROM, instead using the equivalent seabios feature.

πŸ› Bugs fixed


πŸ‘€ SEE ALSO πŸ‘€

guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org/ β€” go read them, they're iconic 🫢

πŸ’– AUTHORS πŸ’–

look at this roster, absolute legends only:

  • Alexandre Iooss
  • Daniel P. BerrangΓ©
  • Heinrich Schuchardt
  • Hilko Bengen
  • Laszlo Ersek
  • Martin Kletzander
  • Remi Collet
  • Richard W.M. Jones
  • Sam Eiderman

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 🐞

To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

To 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 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. (complete and unedited, bestie β€” do not trim it, do not summarize it, the whole thing πŸ™)

ok that's the whole page, no skips, no cuts, every last bug link accounted for πŸ’…

and that's a wrap! this page ships as part of libguestfs-1.61.3, dated 2026-09-16 β€” so yeah, the docs are current, the vibes are immaculate, and guestfs-release-notes-1.46(1) said what it said. bye bestie, go build something πŸ¦‹βœ¨

πŸ“¦ where this page comes from