nbdkit-release-notes-1.10(1)

NAME
nbdkit-release-notes-1.10 - release notes for nbdkit 1.10

DESCRIPTION
These are the release notes for nbdkit stable release 1.10. This describes the major changes since 1.8.

nbdkit 1.10.0 was released on 18th January 2019.

  New features

•   Implemented "NBD_FLAG_CAN_MULTI_CONN" which greatly improves performance for clients that support it.

•   Implemented "NBD_OPT_INFO" (Eric Blake).

•   nbdkit-data-plugin(1) and nbdkit-memory-plugin(1): By adding fine-grained locking, these plugins now use the fully parallel thread model.

•   nbdkit-cache-filter(1): The size of the cache can now be limited, and the cache reclaims space using an LRU algorithm. It has also been enhanced to support cache-on-read mode. The filter now uses a fully parallel thread model.

•   nbdkit-cow-filter(1): Use a fully parallel thread model.

•   nbdkit-sh-plugin(1): Inline scripts: https://rwmj.wordpress.com/2018/12/15/nbdkit-inline-scripts/

•   nbdkit-sh-plugin(1): Full API version 2 is now supported.

•   nbdkit-ocaml-plugin(3): Full API version 2 is now supported.

•   nbdkit-delay-filter(1) allows you to specify the read, write, zero and trim delays individually.

•   nbdkit-curl-plugin(1): Add support for connecting to servers over Unix domain sockets.

•   Bash tab completion has been improved: Partial plugin names are expanded correctly, and plugin parameters containing "-" work.

•   Public header files can now be consumed by ISO C90 compilers (but GCC or Clang is still required to compile nbdkit itself).

•   A better non-cryptographically secure pseudo-random number generator (xoshiro256** 1.0) is now used on all platforms, replacing previous uses of random(3).

•   Fuzzing using American Fuzzy Lop is now supported, and was carried out, resulting in one error being found in the server (not security related).

•   New nbdkit-xz-filter(1): This replaces nbdkit-xz-plugin which will be removed in nbdkit 1.12.

•   New nbdkit-loop(1) man page documenting how to use nbdkit for loop mounts. See also: https://fosdem.org/2019/schedule/event/nbdkit/

•   New nbdkit-full-plugin(1): Returns "ENOSPC" on every request.

•   "attribute((format))", "attribute((nonnull))" and "attribute((sentinel))" are used in internal header files to improve code quality.

•   Logging using %m now works on all platforms, not just on Linux with glibc (Eric Blake).

•   VPATH builds partially supported (Eric Blake).

SEE ALSO
nbdkit(1), https://www.redhat.com/archives/libguestfs/2019-January/msg00135.html.

AUTHORS
Eric Blake

Richard W.M. Jones

COPYRIGHT
Copyright (C) 2019 Red Hat Inc.

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.