nbdkit-release-notes-1.12(1)

πŸŽ€ nbdkit-release-notes-1.12 πŸŽ€

hiii bestie, welcome to the NBDKIT manual πŸ’– this page lives in the NBDKIT section of the manual and it's literally just the receipts from when nbdkit 1.12 dropped. grab a snack, we're going through every single thing that changed, no skips, no cap.


πŸ“› NAME

nbdkit-release-notes-1.12 β€” release notes for nbdkit 1.12 ✨


πŸ“– DESCRIPTION

okay so these are the release notes for the nbdkit stable release 1.12. it describes the major changes since 1.10. yes it's giving changelog but make it cute.

nbdkit 1.12.0 was released on 10th April 2019. πŸ—“οΈ mark the calendar, it's an iconic date.


🌟 New features 🌟

bestie sit down because the new stuff is a LOT:

  • New nbdkit-ssh-plugin(1) β€” turns literally any disk image on a remote Unix server that you can reach over ssh into an NBD source. remote disk image? gone. converted. slay. πŸ¦‹
  • New nbdkit-rate-filter(1) β€” bandwidth-limiting for your connections! you can limit a single connection or the whole server, and the limit can be changed dynamically at runtime. so the vibes stay adjustable. πŸ”₯
  • New nbdkit-readahead-filter(1) β€” improves performance when you're reading sequentially from plugins with a high request overhead, like curl. readahead really said "I'll get that for you in advance". πŸ‘‘
  • New nbdkit-linuxdisk-plugin(1) β€” lets you create complete ext2, ext3 or ext4 filesystems in a GPT partitioned disk image, from a local directory. attach it to existing Linux VMs or use it to create brand new ones from scratch. that's main character energy honestly. πŸ’…
  • New nbdkit-noextents-filter(1) β€” can make sparse disks appear fully allocated. illusion. magic. iconic.
  • Plugins can now be written in the Rust programming language πŸ¦€ see nbdkit-rust-plugin(3).
  • the old nbdkit-xz-plugin has been removed. rip but it's fine, use this instead:
nbdkit --filter=xz file file.xz

as a replacement. this filter can be placed on top of other plugins such as curl (for decompressing a remote web URL). πŸ’–

  • "NBD_CMD_BLOCK_STATUS" has been implemented, allowing clients to query which parts of the disk are allocated, holes or zeroes. plugins and filters have been extended to supply this information in many cases. this required adding minimal support for NBD protocol Structured Replies, "NBD_CMD_FLAG_REQ_ONE" and "NBD_CMD_FLAG_DF". (Thanks to Eric Blake for extensive help with this one.) 🫢
  • nbdkit-vddk-plugin(1) has been updated to VDDK 6.7, but now also works back as far as VDDK 5.1.1. it supports extents, flush and FUA. also added: new flags "single-link" and "unbuffered". (Thanks to Martin Kletzander.) ✨
  • the line "All rights reserved." was removed from the license, with the agreement of all nbdkit contributors. note this does not change the license. just so we're clear, bestie. πŸ‘€
  • "nbdkit_error" errors are printed in red when writing to the terminal, making them much easier to see. red means stop and read it fr fr 🚨
  • "nbdkit_parse_size" rejects negative values, eg. "nbdkit memory size=-100" (Nikolay Ivanets). no negative sizes, we don't do that here. πŸ™ˆ
  • nbdkit-curl-plugin(1) now supports cookies, password auth and proxies. it can also limit URLs to whitelisted protocols. this makes it broadly feature equivalent to, and a replacement for, the qemu curl block driver. glow up complete. 🌈
  • nbdkit-partitioning-plugin(1) can now create MBR logical partitions. previously it only supported 4 MBR primary partitions, and if you wanted more than that you had to use GPT. more partitions, more problems? no, more partitions, more slay. πŸ’œ
  • nbdkit-partition-filter(1) also supports MBR logical partitions. matching energy. ✨
  • nbdkit-python-plugin(3) creates plugins which are compatible with Python >= 3.7. 🐍
  • tests are now run under "MALLOC_CHECK_=1" and "MALLOC_PERTURB_=random". > heads up bestie: this causes some tests to crash (silently) because of a shutdown race which needs to be fixed. it's a known thing, not a you thing. πŸ’€
  • test shell scripts now have a generic "requires" function to skip tests if features are not present. polite of them honestly. πŸŽ€
  • C99 type "bool" is now used in most places where appropriate. true/false girlies rise. 🌸
  • the protocol and connections code in the server has been split up because the single file had grown very large. (Thanks to Eric Blake for helping with protocol issues). it was giving "one file to rule them all" and honestly, no more. 🧚

πŸ‘€ SEE ALSO


🫢 AUTHORS

  • Eric Blake
  • Richard W.M. Jones

Copyright Red Hat


πŸ“œ LICENSE

the whole legal situation, verbatim, because we do not paraphrase legal text in this house:

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.

and that's the whole page bestie πŸ’– this one came from nbdkit-1.48.1, dated 2026-08-29, and it's the nbdkit-release-notes-1.12(1) page. go read the other release notes, ily, drink some water. πŸ¦‹βœ¨

πŸ“¦ where this page comes from