Provided by: nbdkit_1.36.3-1ubuntu10_amd64 bug

NAME

       nbdkit-release-notes-1.36 - release notes for nbdkit 1.36

DESCRIPTION

       These are the release notes for nbdkit stable release 1.36.  This describes the major
       changes since 1.34.

       nbdkit 1.36.0 was released on 27 September 2023.

   Security
       No security issues were identified in this release.

       All past security issues and information about how to report new ones can be found in
       nbdkit-security(1).

   Plugins
       New nbdkit-ones-plugin(1) which creates a fully allocated disk containing all 0xff (all
       ones), or another byte of your choice.

       nbdkit-curl-plugin(1) now uses a curl "multi" interface.  This enables much better
       performance, and also allows the curl plugin to handle requests in parallel.  The curl
       plugin now falls back to making a "GET" request to get the size of the remote file for
       certain servers which do not support "HEAD" requests.  This plugin adds new options:
       "ipresolve" (force IPv4 or IPv6), "resolve" (force a particular IP address), -D
       curl.times=1 (print detailed timing stats), and -D curl.verbose.ids=1 (display connection
       and transfer IDs).

       nbdkit-memory-plugin(1) now uses a read-write lock to protect internal structures,
       resulting in improved performance for mostly read workloads.

       nbdkit-data-plugin(1) now has more optimizations.

       nbdkit-file-plugin(1) now supports 4k sector sizes on Windows (Brian Carnes).

   Filters
       New nbdkit-evil-filter(1) adds random but consistent data corruption to the underlying
       plugin.

       New nbdkit-qcow2dec-filter(1) which can decode qcow2 files (but not write to them).

       nbdkit-ip-filter(1) can now filter by client SELinux label.

       nbdkit-partition-filter(1) now supports 4k sector sizes (Brian Carnes).

       nbdkit-retry-request-filter(1) allows the "get_size" operation to be retried.

       nbdkit-tar-filter(1) adds new "tar-limit" parameter which can be used to ensure the filter
       does not read indefinite amounts of input when opening the tar file.

       Filters can now append their own output to nbdkit --dump-plugin output.

   Language bindings
       Rust bindings add support for "after_fork", "block_size", "nbdkit_debug", "nbdkit_is_tls",
       "nbdkit_parse_size", "nbdkit_parse_bool" and "nbdkit_parse_probability".  The "open"
       method can now return an error; note this is not backwards compatible and requires a small
       source code change to Rust plugins.  (Thanks Alan Somers)

       nbdkit-ocaml-plugin(3) now supports OCaml 5.

       OCaml bindings add support for "nbdkit_stdio_safe", "nbdkit_is_tls", "nbdkit_peer_name"
       and "nbdkit_peer_security_context".

       nbdkit-perl-plugin(3) now supports Perl 5.38.

       Shell script plugins (nbdkit-sh-plugin(3)) may now ignore stdin in their "pwrite" method,
       whereas previously it was required to read and discard stdin along error paths (thanks
       Eric Blake).

   Server
       When using the --run option, the default is now to use a private Unix domain socket (as if
       -U - was specified), whereas in nbdkit ≤ 1.34 the default was to open a TCP port.  The new
       default reflects the most common and safest way to use the --run option.  You can find out
       if nbdkit has the new behaviour by checking "nbdkit --dump-config" and looking for
       "run_default_socket=Unix" in the output.

       Debug strings containing control codes and other non-printable characters are now escaped
       properly.

       New flag -D nbdkit.environ=1 can be used to dump the server environment in debug output.

   API
       New "nbdkit_parse_probability" function which can be used to parse probabilities in
       various formats, like "10%" or "1:10".

       New "nbdkit_peer_security_context" function which returns the security context (usually
       SELinux label) of the client.

   Bug fixes
       Fix long-standing double-free in nbdkit-file-plugin(1) when the client closes the
       connection during negotiation (thanks Eric Blake).

       nbdkit-file-plugin now has improved error messages when you try to open a file with an
       empty name ("").

   Documentation
       Miscellaneous documentation improvements for Windows (Brian Carnes).

       Fuzzing instructions updated for Clang 17, AFL++ 4.08c.

   Tests
       Ongoing CI maintenance and fixes (Laszlo Ersek, Eric Blake).

       Many fixes in the test suite for MinGW and Wine.

       Several internal consistency checks were added to the test suite, to ensure, for example,
       that we always use "requires_run" when the test uses the nbdkit --run option.

   Build
       Optionally "zlib-ng" can be used (instead of "zlib") for faster decompression in various
       places.

       No longer link with msvcrt on Windows.

       "awk" is a build requirement.  It was implicitly required before (because it is needed by
       the "./configure" script generated by autoconf), but now the dependency is explicit (Eric
       Blake).

   Internals
       "podwrapper" has a new --replace parameter which makes it easier to use
       "AC_SUBST"-substitutions in documentation.

SEE ALSO

       nbdkit(1).

AUTHORS

       Authors of nbdkit 1.36:

       Alan Somers
       Brian Carnes
       Eric Blake
       Laszlo Ersek
       Richard W.M. Jones

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.