libnbd-release-notes-1.20(1)

✨ libnbd-release-notes-1.20 ✨

okay bestie, gather round β€” this is the manual page for libnbd-release-notes-1.20(1), and it's literally the glow-up recap for libnbd stable release 1.20. no cap, it's iconic. πŸ’…


🌸 NAME 🌸

libnbd-release-notes-1.20 β€” release notes for libnbd 1.20


πŸ¦‹ DESCRIPTION πŸ¦‹

These are the release notes for libnbd stable release 1.20. This describes the major changes since 1.18. fr fr, it's giving "what did we do since last time" energy. πŸ’–

libnbd 1.20.0 was released on 5 April 2024. mark your calendars bestie, that's the birthday. πŸŽ‚


πŸ”’ Security πŸ”’

Fuzzing found and Eric Blake fixed an assertion which could be triggered by connecting to a malicious server. This was assigned CVE-2023-5871 (low severity). See the announcement here: https://lists.libguestfs.org/archives/list/guestfs@lists.libguestfs.org/thread/5CRC7LRTN35WPZZ4BT6NAMH4JGMF47IK/

If you find a security issue, please read SECURITY in the source (online here: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). To find out about previous security issues in libnbd, see libnbd-security(3).

bestie, lowkey if you find a vuln, pls report it responsibly okay? don't be messy. πŸ™ˆ

✨ Enhancements to existing APIs ✨

nbd_connect_uri(3) now correctly supports case insensitive URIs. slay, no more "wait is it NBD:// or nbd://?" drama. πŸ’…


πŸ“‘ Protocol πŸ“‘

Improve interop with nbd-server(1) which supports structured replies but not meta context (Eric Blake). it's giving "we play nice with others" energy. 🫢


πŸ› οΈ Tools πŸ› οΈ

  • nbdinfo(1) adds support for --isnt, --cannot, --hasnt, which lets you check if features of an NBD server are not supported. yes bestie, sometimes you need to know what isn't there. iconic.
  • nbdinfo(1) adds support for --uri which just prints the canonical URI of the server. short, sweet, to the point. πŸŽ€
  • nbdinfo(1) now prints human sizes for block size constraints (Eric Blake). no more squinting at raw bytes, we love to see it. 🌈

🌍 Language bindings 🌍

  • New libnbd-rust(3) manual page added, providing an overview for writing Rust programs using libnbd. Rust girlies, this one's for you. πŸ¦€
  • Rust documentation has been improved by using a custom translator from our own documentation format (Perl POD) to rustdoc. fancy, right? ✨
  • Some Rust compiler warnings were fixed (Eric Blake). clean build, clean conscience. πŸ”₯
  • OCaml bindings now support zero-copy in AIO pread and pwrite functions. This change is backwards compatible with existing code. (Thanks Nicolas Ojeda Bar, Anil Madhavapeddy, Simon Cruanes). zero-copy? we love efficiency. πŸ’œ
  • OCaml bindings now use "Gc.finalize" (OCaml-level finalizers instead of C-level finalizers) which improves compatibility in OCaml 5.1.1 and above (Guillaume Munch-Maccagnoni). compatibility queen. πŸ‘‘
  • OCaml β‰₯ 4.05 is formally required and checked in ./configure. Previously we did not specify a minimum version of OCaml, but in practice versions older than 4.05 probably didn't work. so like, if you're on ancient OCaml, bestie, it's time to upgrade. 😭

πŸ§ͺ Tests πŸ§ͺ

  • Fuzzing approach was changed to use asynchronous commands. This improves speed of fuzzing greatly and should find more issues. go fuzzing go! πŸƒβ€β™€οΈπŸ’¨
  • Multiple CI fixes (Eric Blake). CI said "not today" and Eric said "actually yes today." πŸ’€
  • Respect the user's choice of qemu-nbd, nbdkit and other binaries from (eg) "./configure NBDKIT=/some/nbdkit". Previously we would often test against binaries found on the path even if the user had specified other binaries to use. respect the config, periodt. 🫑

πŸ› Other improvements and bug fixes πŸ›

nbdinfo(1) now gracefully disconnects from the server in error cases, improving output (Eric Blake). graceful exits only. 🌸

"struct nbd_handle" now contains a magic value which is checked on entry to libnbd, which should identify mistakes where programs calling libnbd pass in an incorrect pointer. magic value = vibe check for pointers. if it's not the right vibe, libnbd knows. πŸͺ„


πŸ“š Documentation πŸ“š

  • An example was added of how to use userfaultfd to mmap an NBD-backed drive. See examples/userfault-map.c in the libnbd sources. ngl, that example ate. πŸ’…
  • Documentation of acceptable handle states in the man pages has been improved. clearer docs = happier devs. πŸ’–

πŸ—οΈ Build πŸ—οΈ

  • contrib/libnbd.m4 is a contributed configure test for libnbd (Bruno Haible). ty for the contribution bestie. 🫢
  • "./configure --with-bash-completions" will now fail if the required bash-completions package is not installed. no silent failures, we die like legends. πŸ’€

πŸ‘€ SEE ALSO πŸ‘€

libnbd(3).


πŸ‘‘ AUTHORS πŸ‘‘

  • Eric Blake
  • Richard W.M. Jones
  • Thomas Weißschuh

Copyright Red Hat


πŸ“œ LICENSE πŸ“œ

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library 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 Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA


and that's the whole tea, bestie. this page is from libnbd-1.25.8 and it's dated 2026-10-13 β€” so like, it's basically vintage but still slaying. πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«ΆπŸ˜­πŸ”₯πŸ‘‘πŸŒˆβ­πŸ’€πŸ™ˆπŸ“πŸ§šπŸ’œ

πŸ“¦ where this page comes from