nbdkit-release-notes-1.24(1)

πŸ’– nbdkit-release-notes-1.24 πŸ’–

okay bestie, welcome to the nbdkit manual page for nbdkit-release-notes-1.24 β€” this is the receipt for the nbdkit 1.24 era, and I'm gonna walk you through it like we're gossiping at a sleepover. pull up a chair. 🫢


✨ NAME ✨

nbdkit-release-notes-1.24 β€” the release notes for nbdkit 1.24 πŸŽ€


🌸 DESCRIPTION 🌸

These are the release notes for the nbdkit stable release 1.24. This is the tea on all the major changes since 1.22. πŸ‘‘

nbdkit 1.24.0 dropped on 7 January 2021. mark the calendar, it's iconic. πŸ“…

πŸ”’ Security

Not a single security issue was found. zero. none. ate. ✨

All the past security issues (plus the info on how to report brand new ones) live over in nbdkit-security(1). iykyk. πŸ’…

πŸ–₯️ Server

the server and a subset of the plugins and filters have been ported to Windows using the Win32 API. no cap, that's huge. some ground rules tho:

  • only the mingw-w64 toolchain is supported for building nbdkit β€” not MSVC, don't even try it bestie 😭
  • you can also cross-compile from Linux and test under Wine
  • some features are missing, although it is very usable πŸ¦‹

New -D nbdkit.tls.log and -D nbdkit.tls.session debug flags, which turn on extra debugging for TLS sessions. more visibility = more slay. πŸ”₯

The server now responds to "NBD_INFO_NAME" (shoutout to Eric Blake).

Options --run and --vsock may now be used together. the power couple we deserved. πŸ’ž

In --run, $nbd is now a synonym for $uri instead of having confusing magical properties. no more mystery, just vibes that make sense. 🧚

🧩 Plugins

  • NEW nbdkit-S3-plugin(1) β€” access disks stored on AWS S3 and Ceph. cloud storage bestie!! ☁️
  • NEW nbdkit-sparse-random-plugin(1) β€” generates large disks sparsely filled with random blocks of data. these look like virtual disk images and can be used to benchmark copying tools. it's giving "fake disk, real results" πŸ’€
  • nbdkit-data-plugin(1) got a glow-up, and by glow-up I mean it has been greatly enhanced. new features include: "(...)[N:M]" (slice syntax), assignments, comments, variables, "<(SCRIPT)" (inlined shell script). on top of that, a parse tree is built, which allows optimizations and other enhancements. and the plugin is now 64 bit clean, allowing patterns larger than 2^32 bytes to work correctly. periodt. πŸ’…
  • nbdkit-random-plugin(1) can now be used to test copying tools. go off king πŸ‘‘
  • nbdkit-vddk-plugin(1) supports enabling compression between VDDK and the VMware server, which in some situations can improve performance. faster = better, always. ⚑

πŸŽ€ Filters

  • NEW nbdkit-exportname-filter(1) β€” extend, mask and modify the exports exposed by a plugin (Eric Blake, our king πŸ‘‘)
  • NEW nbdkit-exitwhen-filter(1) β€” lets the server gracefully exit on various events, including external scripts. dramatic exits only. πŸšͺ✨
  • NEW nbdkit-checkwrite-filter(1) β€” can be used to benchmark copying tools
  • nbdkit-ip-filter(1) now supports filtering clients by PID, user ID or group ID, for clients connected over a Unix domain socket. also you can filter clients using "AF_VSOCK" and the vsock port number. gatekeeping, but make it ✨intentional✨
  • nbdkit-log-filter(1) now logs "get_ready", "after_fork" and "preconnect" methods, and there's a new "logscript" feature allowing scripts to be run on logging events. logging but it's a whole event. πŸ“
  • nbdkit-ext2-filter(1) has a new option "ext2file=exportname" which can be used to allow the client to select which file to see from the filesystem using the NBD export name (Eric Blake). choose-your-own-adventure but filesystem edition πŸ¦‹

🐍 Language bindings

  • Python style cleanups (Eric Blake) β€” tidy queen πŸ§ΉπŸ’…
  • The OCaml plugin now correctly acquires and releases the GC lock on all paths in and out. no leaks, no crumbs left behind πŸ™ˆ
  • There's a new OCaml "NBDKit.version" function returning the version of nbdkit that the plugin was compiled against. self-aware king πŸͺž
  • Multiple enhancements to the Rust plugin (Alan Somers). πŸ¦€πŸ”₯

πŸ”Œ API

  • New ".list_exports", ".default_export" and ".export_description" plugin methods, allowing plugins to be queried about what export names they support, and to give additional descriptions of exports. plus a new "nbdkit_use_default_export" helper function (Eric Blake). communication, bestie!! πŸ—£οΈ
  • New "nbdkit_strdup_intern", "nbdkit_strndup_intern", "nbdkit_printf_intern" and "nbdkit_vprintf_intern" functions, which allow you to allocate a string in a plugin without worrying about freeing it (Eric Blake). no cleanup arc, just vibes 🧚
  • New "nbdkit_peer_pid", "nbdkit_peer_uid" and "nbdkit_peer_gid" allow plugins and filters to read the client's credentials, for clients connected over a Unix domain socket. πŸͺͺ

πŸ§ͺ Tests

  • Many tests now use libnbd(3), nbdsh(1), nbdinfo(1) and nbdcopy(1) as lighter weight replacements for qemu tools. glow-up for the test suite πŸ’…
  • Fix compatibility with qemu > 5.2.0. πŸ›β†’βœ¨

πŸ› οΈ Build

  • Downstream packagers can now use this to add extra downstream information which is printed in version strings etc:
 ./configure --with-extra=...
  • If ocamldoc(1) is installed at build time, then it will be used to build the NBDKit(3) manual page for OCaml documentation. docs on docs, we love to see it πŸ“š

πŸ‘€ SEE ALSO πŸ‘€

nbdkit(1).


🫢 AUTHORS 🫢

Authors of nbdkit 1.24:

  • Alan Somers
  • Eric Blake
  • Richard W.M. Jones

the literal dream team, no notes πŸ’–


Copyright Red Hat


πŸ“œ LICENSE πŸ“œ

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

aaaand that's the whole thing bestie πŸŽ€ this page came to you from nbdkit-1.48.1, dated 2026-08-29, and yes it's literally the nbdkit-release-notes-1.24 page. mwah, go read your man pages πŸ’‹πŸŒˆ

πŸ“¦ where this page comes from