nbdkit-release-notes-1.22(1)
π NAME π
ok so bestie, this is nbdkit-release-notes-1.22 β the manual page, from the NBDKIT fam, and it's literally the release notes for nbdkit 1.22. pull up a chair π
β¨ DESCRIPTION β¨
These are the release notes for nbdkit stable release 1.22. it's giving "here's everything that changed since 1.20" energy π¦
nbdkit 1.22.0 was released on 27 August 2020. periodt.
π Security π
There were no security issues found. not a single one, we love a clean slate β¨
All past security issues and information about how to report new ones can be found in nbdkit-security(1). iykyk.
π§© Plugins π§©
- New
nbdkit-cdi-plugin(1)(Containerized Data Importer) lets you export a single layer from a container image, allowing you to access disk images distributed using container registry infrastructure. iconic. - New
nbdkit-ondemand-plugin(1)creates filesystems for clients on demand. on demand?? main character behaviour fr. - New
nbdkit-torrent-plugin(1)serves a BitTorrent file or magnet link over NBD. yes, torrents. slay. nbdkit-data-plugin(1)andnbdkit-memory-plugin(1)have a newallocatorparameter giving more fine-grained control over the allocation strategy. Currently implemented strategies are: sparse array, sparse array with zstd compression, malloc, and malloc with mlock. pick your fighter πnbdkit-data-plugin(1)data format now supports strings and alignment. Thedisk2data.plscript has been enhanced to detect repeated sequences and produce a more compact output. it's giving glow-up.nbdkit-curl-plugin(1)adds support for arbitrary custom request headers. Also it now supports scripts for generating cookies and custom request headers. This is especially useful when accessing web servers that require authentication which has to be renewed periodically. bestie, the cookies are renewing themselves, we're obsessed πnbdkit-curl-plugin(1)now supports HTTP/2 servers (David Edmondson, Pino Toscano, Zi Liu). πnbdkit-curl-plugin(1)adds support for theUser-Agentheader. who are you pretending to be today, bestie?nbdkit-file-plugin(1)can export multiple files in a directory as separate exports (Eric Blake). one directory, many exports, no cap.nbdkit-file-plugin(1)supports newcache=noneandfadvise=normal|random|sequentialparameters which can be used to optimize access patterns and avoid filling the page cache. your page cache will thank you.nbdkit-nbd-plugin(1)supports proxying to another NBD server overAF_VSOCK(Eric Blake).nbdkit-nbd-plugin(1)supports newcommand=andsocket-fd=parameters which allow you to run a subordinate NBD server as a command directly from the plugin, or pass in an already connected NBD endpoint.nbdkit-streaming-plugin(1)supports streaming to and from local pipes. π¦nbdkit-vddk-plugin(1)now has support for VDDK 7.0. A new and uselesserrormessage printed by VDDK 7 has been suppressed (thanks Ming Xie, Pino Toscano). not the useless error message getting silenced, we love to see it πnbdkit-ext2-pluginhas been removed. It was deprecated innbdkit 1.17.8. All existing uses can be replaced withnbdkit-ext2-filter(1). rip to a real one π- The
-character is now permitted within plugin and filter names (Eric Blake). dashes are back on the menu.
π Filters π
- New
nbdkit-ddrescue-filter(1)lets you test disk images recovered byddrescue(1)(FranΓ§ois Revol). - New
nbdkit-gzip-filter(1)can decompress a plugin that contains gzip-compressed data. It replacesnbdkit-gzip-pluginwhich is deprecated and will be removed innbdkit 1.26.
β οΈ heads up bestie:nbdkit-gzip-pluginis deprecated and gets yeeted innbdkit 1.26. plan accordingly π
- New
nbdkit-pause-filter(1)can temporarily stop and later resume NBD requests. This can be used when taking snapshots. pause and resume, she contains multitudes. - New
nbdkit-swab-filter(1)swaps bytes in the underlying plugin, which can be used to adjust images that have an incorrect byte order (FranΓ§ois Revol). byte order said "not today". - New
nbdkit-tar-filter(1)reads and writes files inside a tar file in the underlying plugin. It replacesnbdkit-tar-pluginwhich is deprecated and will be removed innbdkit 1.26.
β οΈ and same energy here:nbdkit-tar-pluginis deprecated, gone innbdkit 1.26. don't get attached π
- New
nbdkit-tls-fallback-filter(1)provides alternate content when a client connects without using TLS to a server that permits but does not require TLS (Eric Blake). nbdkit-fua-filter(1)has new optionfuamode=passto pass through FUA and flush requests unchanged (disabling the filter). A new, unsafefuamode=discardmode was added which discards FUA and flush requests.
π¨ bestie the fuamode=discard mode is unsafe. it literally discards FUA and flush requests. know what you're doing, fr fr.
π Language bindings π
- New
nbdkit-cc-plugin(3)lets you write small nbdkit plugins as inline C, C++ or OCamlscripts(and potentially other ahead-of-time compiled programming languages). inline C?? she's versatile. nbdkit-rust-plugin(3)bindings have been replaced by higher level and more idiomatic bindings. These also support a greater range of server features (Alan Somers). π¦ glow-up confirmed.nbdkit-python-plugin(3)now supports parallel plugins. These cannot run Python code in parallel (because of the Python GIL), but for Python code that blocks, eg. calling out to external services, requests can now be handled in parallel (thanks Nir Soffer). the GIL said no but the requests said yes.nbdkit-python-plugin(3)has a greater range of examples (Nir Soffer).nbdkit-python-plugin(3)adds support for getting the client export name, callingnbdkit_debug, and also for extents.
π₯οΈ Server π₯οΈ
nbdkit --dump-confighas new fields:version_majorandversion_minorto allow easier version parsing from scripts.host_cpuandhost_osso you can find out if nbdkit was cross-compiled for another platform.zstd=(yes|no)so you can find out if nbdkit was compiled with zstd compression support.
- The
-e/--exportnameoption (which never did anything useful previously) is now used to pass the preferred exportname to the--runoption. In general you should never use this option except in very limited and exceptional circumstances (Eric Blake).
π«Ά okay so real talk: don't just casually use-e/--exportname. very limited and exceptional circumstances only. that's the rule, bestie.
π API π
- New
.after_forkcallback which can be used for plugins which need to create background threads, since those threads would otherwise be stranded if the server forks into the background. The VDDK plugin now defers VDDK library initialization til.after_forkbecause it is thought that the library creates background threads especially when accessing remote servers. - New API
nbdkit_extents_alignedis a helper function for filters that retrieves extents as needed until at least a certain range is covered (Eric Blake). - New
nbdkit_is_tlscan be called to determine if TLS was negotiated on the connection. Plugins could use this to hide certain exports from non-authenticated/non-encrypted clients (Eric Blake). privacy queen π nbdkit_read_passwordwithpassword=-will now return an error if the input is not a tty. Alsopassword=-FDis disallowed if the file descriptor is0,1or2.
π Bug fixes π
The VDDK plugin was extensively refactored to fix many bugs:
- Reading passwords from a tty should work again.
- The plugin should now work properly when daemonized or using the
--runoption. - The threading model has been relaxed to
SERIALIZE_REQUESTSwhich should give small performance improvements when using multiple connections. - The
base64option ofnbdkit-data-plugin(1)has been fixed so it sets the implicit size correctly. finally. - The
<FILEformatter ofnbdkit-data-plugin(1)now works if you use it more than once. use it twice, she's fine with it now π
π Documentation π
- New
nbdkit-client(1)manual page documents how to mount filesystems from NBD exports on client machines, either directly or using systemd mountpoints. mount girlies rise up πΈ - Examples now use
NBDKIT_API_VERSION 2so that the examples match the documentation. consistency?? we love her.
π§ͺ Tests π§ͺ
- The tests should now pass on OpenBSD β₯ 6.4. π‘
tests/Makefile.amwas refactored: There is now no longer a single massiveEXTRA_DIST. Creation of test disks was refactored. the massiveEXTRA_DISThas been dismantled, we're free π- Some tests will now use new libnbd 1.4 tools
nbdcopy(1)andnbdinfo(1)if available, and skip the tests otherwise. - New test functions
requires_pluginandrequires_filterallows tests to be skipped if the corresponding plugin/filter was not compiled on a particular platform. So tests should now not fail when an optional external library needed by a plugin/filter is not available. no more false alarms bestie β¨
ποΈ Build ποΈ
- Honggfuzz may now be used for fuzz testing. fuzz testing era π
- If
nbdkit-python-plugin(3)is enabled, Python β₯ 3.6 must be used.
βοΈ Internals βοΈ
- The export name is now passed down through filter
.opencallbacks, allowing filters to modify the export name passed through to plugins. - The final thread model is passed to filter
.get_readycallbacks.
π SEE ALSO π
π AUTHORS π
Authors of nbdkit 1.22, aka the girlies who did that:
- Alan Somers β (7 commits)
- Eric Blake β (53 commits)
- FranΓ§ois Revol β (2 commits)
- Nir Soffer β (2 commits)
- Richard W.M. Jones β (285 commits)
not Richard with 285 commits, main character energy fr π₯
Β©οΈ COPYRIGHT Β©οΈ
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.
okay that's the whole page bestie, mwah π this was nbdkit release notes 1.22, sitting inside the nbdkit manual, version nbdkit-1.48.1, dated 2026-08-29. go forth and export some disk images, love u, bye π¦β¨
π¦ where this page comes from
- fedora 44: nbdkit-devel 1.48.1-1.fc44 Β· BSD-3-Clause
- fedora 44: nbdkit-devel 1.48.1-1.fc44 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms