Provided by: nbdkit_1.32.5-1ubuntu2_amd64 bug

NAME

       nbdkit-release-notes-1.12 - release notes for nbdkit 1.12

DESCRIPTION

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

       nbdkit 1.12.0 was released on 10th April 2019.

   New features
       New nbdkit-ssh-plugin(1) which lets you turn any disk image on a remote Unix server
       accessible by ssh into an NBD source.

       New nbdkit-rate-filter(1) for bandwidth-limiting connections.  Either single connections
       or the whole server can be bandwidth-limited, and the limit can be dynamically changed at
       runtime.

       New nbdkit-readahead-filter(1) improves performance when reading sequentially from plugins
       with a high request overhead like curl.

       New nbdkit-linuxdisk-plugin(1) lets you create complete ext2, ext3 or ext4 filesystems in
       a GPT partitioned disk image, from a local directory.  This can be attached to existing
       Linux VMs or used to create new ones from scratch.

       New nbdkit-noextents-filter(1) can make sparse disks appear fully allocated.

       Plugins can now be written in the Rust programming language, see nbdkit-rust-plugin(3).

       The old nbdkit-xz-plugin has been removed.  Use

        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.

       "nbdkit_error" errors are printed in red when writing to the terminal, making them much
       easier to see.

       "nbdkit_parse_size" rejects negative values, eg.  "nbdkit memory size=-100" (Nikolay
       Ivanets).

       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.

       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.

       nbdkit-partition-filter(1) also supports MBR logical partitions.

       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".  This causes some
       tests to crash (silently) because of a shutdown race which needs to be fixed.

       Test shell scripts now have a generic "requires" function to skip tests if features are
       not present.

       C99 type "bool" is now used in most places where appropriate.

       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).

SEE ALSO

       nbdkit(1), https://www.redhat.com/archives/virt-tools-list/2019-April/msg00045.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.