libnbd-release-notes-1.12(1)
π libnbd-release-notes-1.12 β the tea on libnbd 1.12 π
okay so bestie, welcome to libnbd-release-notes-1.12(1), aka the β¨glow-up chronicleβ¨ for libnbd stable release 1.12 πΈ this whole page is literally the major changes since 1.10, and no cap, it's giving "we fixed things and we're proud of it" energy π
libnbd 1.12.0 was released on 24 February 2022 ποΈβ¨
π‘οΈ Security π‘οΈ
- CVE-2022-0485 β silent data corruption when using
nbdcopy(1)ππ like, the data just gets quietly wrong, which is the worst kind of wrong, fr fr.
See the full announcement here: https://listman.redhat.com/archives/libguestfs/2022-February/msg00104.html π₯
If you find a security issue, please readSECURITYin the source (online here:https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). To find out about previous security issues in libnbd, seelibnbd-security(3). π«Ά please actually read it, bestie, it's important.
π New APIs π
get_pread_initialize,set_pread_initializeβ these control whether libnbd clears the pread buffer, so memory contents don't leak out if the client doesn't properly handle errors ππ. These were added as part of the fix for CVE-2022-0485 (Eric Blake) β iconic cleanup behavior tbh.get_request_block_size,set_request_block_sizeβ these control whether libnbd requests block size constraints from the server during negotiation (Eric Blake) β¨π¦.
π Enhancements to existing APIs π
Error messages about incorrect URIs in nbd_connect_uri(3) have been improved to make common mistakes clearer for the user π β like it literally holds your hand now, we love an empathetic error message.
π οΈ Tools π οΈ
- New syntax:
nbdinfo [ CMD ... ]allowing you to query the properties of an NBD server directly ππ₯. nbdcopy(1)new--queue-sizeoption to control the maximum size of the internal buffer (Nir Soffer) π§β¨.nbdcopy(1)now names the source and destination handles to make it easier to understand debug output π β debug output that actually makes sense? we stan.
π§ͺ Tests π§ͺ
- Adopt libvirt-ci's
ci/gitlab.yml(Martin Kletzander) π. - Fix the OCaml extents example (thanks Laszlo Ersek) π«Ά.
- Golang benchmarks were added to the test suite (Nir Soffer) β.
- The large
tests/errors.ctest was split into about a dozen separate tests. Also this adds a new test for checking server-side block size constraint error policy which was missing before ππ β not the previously-untested policy, bestie, we don't talk about that.
π Other improvements and bug fixes π
- New OCaml
NBD.with_handlehelper which ensures thatNBD.closeis always called even if the inner code throws an exception ππ«Ά β cleanup on the way out, always. - The OCaml bindings now consistently use the correct types for buffer sizes everywhere (Laszlo Ersek) β¨.
- Several improvements and fixes to the golang bindings and tests. The golang bindings have been relicensed to LGPLv2+ like the rest of the library and are now published as a golang module at
https://libguestfs.org/libnbd(Nir Soffer) π. - The Python bindings no longer crash if you pass
Nonein place of a buffer parameter. In addition some memory leaks were fixed (Eric Blake) π₯ β no more crashing, we love to see it. - Various memory leaks have been fixed when using the optional
strict_modesettings (Eric Blake) π¦. - The performance of the internal vector library has been improved greatly and overflow is now handled correctly (Nir Soffer, Laszlo Ersek and Eric Blake) β‘π.
- Add
simple_copyandaio_copyGolang examples (Nir Soffer) πΈ. - Error handling was reviewed and fixed across many of the example programs and documentation (Eric Blake, Nir Soffer) π.
- Simplify and optimize handling of the extents callback in Golang (Nir Soffer) β¨.
- Golang AioBuffer was enhanced, making it safer to use, faster and adding documentation (Nir Soffer) π β safer, faster, documented, the holy trinity tbh.
π Documentation π
Document the limits on lengths and sizes of parameters to various APIs (Eric Blake) π β like, here's the actual limit, no guessing games.
ποΈ Build ποΈ
- You can now build programs that use the OCaml bindings of libnbd against the libnbd build directory instead of requiring libnbd to be installed (Laszlo Ersek) π.
- Compatibility with OCaml 4.13 β.
- Line locations in the state machine should be more accurate when stepping through with a debugger like
gdbππ. .editorconfigfile can be used to help code formatting, seehttps://editorconfig.org/(Nir Soffer, Eric Blake) π.MINandMAXmacros can be nested (thanks Eric Blake) β¨π¦.
π SEE ALSO π
libnbd(3) π«Ά.
π«Ά AUTHORS π«Ά
- Eric Blake
- Laszlo Ersek
- Martin Kletzander
- Nir Soffer
- Richard W.M. Jones
like, absolute legends, every single one ππ
Β©οΈ COPYRIGHT Β©οΈ
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. π«Ά (yes bestie, all caps, that's how serious it is)
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 vibe check, bestie π
this page is from libnbd-1.25.8, dated 2026-10-13, and it's literally libnbd-release-notes-1.12(1) π slay, go read libnbd(3) now π¦β¨
π¦ where this page comes from
- centos-stream 10: libnbd-devel 1.25.8-1.el10 Β· LGPL-2.0-or-later AND BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms