Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
nbdkit-release-notes-1.18(1)	     NBDKIT	    nbdkit-release-notes-1.18(1)

NAME
     nbdkit-release-notes-1.18 - release notes for nbdkit 1.18

DESCRIPTION
     These are the release notes for nbdkit stable release 1.18.  This describes
     the major changes since 1.16.

     nbdkit 1.18.0 was released on 27th February 2020.

   Security
     There were no security issues found.  All past security issues and informa-
     tion about how to report new ones can be found in nbdkit-security(1).

   Plugins
     New nbdkit-eval-plugin(1) lets you write a plugin entirely on a single com-
     mand line.  It is similar to nbdkit-sh-plugin(3).

     nbdkit-ext2-plugin is deprecated and will be removed in the next release
     after this one (nbdkit 1.20).  As a replacement use nbdkit-ext2-filter(1)
     like this:

      nbdkit --filter=ext2 file fs.img ext2file=/disks/disk.raw

     nbdkit-python-plugin(3) now offers a version 2 API which avoids copying the
     data buffer, improving performance.  The original protocol (now retrospec-
     tively called version 1) is still supported for backwards compatibility.
     The version 1 protocol was also enhanced to support the buffer protocol for
     the pread method, and memoryview for pwrite, improving performance by re-
     ducing copies (Nir Soffer).

     The Python plugin now prints readable stack traces when an exception is
     thrown (Nir Soffer).

     New methods implemented in the Python plugin: cache, can_cache, can_zero,
     can_fast_zero, can_multi_conn, can_fua.

     In nbdkit-curl-plugin(1), new options "cainfo" and "capath" (Wiktor
     GoAgowski).

     nbdkit-split-plugin(1) now supports extents (Eric Blake).

     In nbdkit-vddk-plugin(1), "file=" is now a magic config key, meaning it can
     be omitted in most circumstances (Eric Blake).

     The VDDK plugin now no longer needs $LD_LIBRARY_PATH to be set.  The cor-
     rect library load path is automatically inferred from the "libdir" parame-
     ter (Eric Blake).

     Verbose messages about calls to VDDK functions Read and Write can now be
     suppressed by setting -D vddk.datapath=0.

   Filters
     New nbdkit-ext2-filter(1), which replaces the deprecated nbdkit-ext2-plu-
     gin.  This filter allows you to read and write files inside ext2, ext3 or
     ext4 filesystems.	The new filter has the same features as the plugin, and
     one enhancement: optionally the name of the file to serve can be picked
     from the client-supplied exportname.  The old plugin will be removed in
     nbdkit 1.20 (Eric Blake).

     New nbdkit-extentlist-filter(1) lets you specify a static list of extents
     from a file which can be placed on top of plugins which don't export extent
     information.

     New nbdkit-ip-filter(1) lets you allow and deny incoming connections by
     client IP address, similar to TCP wrappers or a firewall.

     New nbdkit-nofilter-filter(1) is a null filter, used for testing.

     The stats filter now collects time elapsed per operation, per operation and
     total rates, and adds stats for the flush method.	The output is shown in
     human sizes making it easier to understand.  (Nir Soffer).

   Server
     New --swap option which allows nbdkit to be safely used to serve swap space
     to the same machine.

     Debug flags (-D) can now be applied to the server core (using -D nbdkit.*).
     Underscores in debug flags can now be replaced by dots, allowing a kind of
     namespacing.  Debug flags which are not consumed now no longer give an er-
     ror, so you can use them without needing to detect if the plugin supports
     them.  New server debug flags -D nbdkit.backend.controlpath=0 and -D nbd-
     kit.backend.datapath=0 were added to suppress some very verbose messages
     when verbose mode is enabled.

   API
     There is a new ".get_ready" method which is called after ".config_complete"
     and before the server forks or changes directory.	It is the last chance to
     do any global preparation that is needed to serve connections.  Plugins
     have previously done this work in ".config_complete", but by splitting this
     into a new method it makes the API clearer.  (Note that existing plugins
     may continue to use ".config_complete" for this work if they prefer.)

     There is a new ".preconnect" method available which is called just after
     the client makes a connection but before any NBD negotiation or TLS authen-
     tication is done.	It can be used for early whitelisting or rate limiting
     of connections, and in particular is used by the new nbdkit-ip-filter(1).

   Bug fixes
     In nbdkit-curl-plugin(1), "CURLINFO_CONTENT_LENGTH_DOWNLOAD_T" is used (if
     available) so that file sizes up to 63 bits should now work on all plat-
     forms (Pino Toscano and Adrian AmbroA1/4ewicz).

     nbdkit is now compatible with OCaml 4.10.

     nbdkit-memory-plugin(1) now supports "size=0" (Eric Blake).

   Documentation
     Plugins which were actually added in nbdkit 1.0.0 are now documented as
     such properly.

     Improved methods for probing plugins and filters are documented in nbd-
     kit-probing(1).

   Tests
     Old plugins from nbdkit 1.0, 1.2, 1.8 and 1.12 are now bundled with the
     nbdkit sources and tested to try to ensure that they do not accidentally
     regress.  Note these are included as binary blobs.  See tests/old-plug-
     ins/README for more information about this, including how to delete these
     tests.

     Various tests, especially ones which rely on timeouts, have been made more
     stable so they should not fail on slow or overloaded machines.

     Many tests now use libnbd and nbdsh (instead of libguestfs and guestfish)
     as the test client.  This should improve the performance of the tests for
     most people.

     The --vsock option (added in nbdkit 1.16) can now be tested if the host is
     running Linux aY 5.6 (Stefano Garzarella).

   Build
     You can use "./configure --disable-nbd-plugin" to completely disable the
     NBD plugin.

     The automake feature "subdir-objects" is no longer used, which may improve
     compatibility on platforms with ancient and buggy automake (RHEL 7 being
     one such platform).

   Internals
     The explicit connection parameter passed around many functions in the
     server is now fetched from thread-local storage.

     The server no longer calls the finalize method if prepare fails.  Also
     failing to reopen the plugin from nbdkit-retry-filter(1) no longer hangs
     (Eric Blake).

     "git.orderfile" was enhanced to make patches easier to read (Eric Blake).

     Internal calls to methods like get_size, can_write will now no longer pro-
     duce debug messages if the data is simply being returned from the internal
     cache (but calls into the plugin are still logged).

SEE ALSO
     nbdkit(1).

AUTHORS
     Authors of nbdkit 1.18:

     Adrian AmbroA1/4ewicz
	 (1 commit)

     Eric Blake
	 (30 commits)

     Wiktor GoAgowski
	 (1 commit)

     Richard W.M. Jones
	 (130 commits)

     Nir Soffer
	 (11 commits)

     Pino Toscano
	 (1 commit)

COPYRIGHT
     Copyright Red Hat

LICENSE
     Redistribution and use in source and binary forms, with or without modifi-
     cation, 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 no-
	 tice, this list of conditions and the following disclaimer in the docu-
	 mentation 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 EX-
     PRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
     CLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DI-
     RECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SER-
     VICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABIL-
     ITY, 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 DAM-
     AGE.

nbdkit-1.46.2			   2026-08-30	    nbdkit-release-notes-1.18(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nbdkit-release-notes-1.18&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help