Provided by: nbdkit_1.40.4-5ubuntu1_amd64 bug

NAME

       nbdkit-release-notes-1.38 - release notes for nbdkit 1.38

DESCRIPTION

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

       nbdkit 1.38.0 was released on 5 April 2024.

   Security
       No security issues were found 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-gcs-plugin(1) providing support for Google Cloud Storage (Mykola Ivanets).

       nbdkit-data-plugin(1), nbdkit-memory-plugin(1), nbdkit-floppy-plugin(1),
       nbdkit-iso-plugin(1), nbdkit-sparse-random-plugin(1) and nbdkit-torrent-plugin(1) all now
       advertise suitable minimum, preferred and maximum block sizes, which means clients should
       be able to access them more efficiently.

       nbdkit-vddk-plugin(1) now supports VDDK up to version 8.0.2.1.

       nbdkit-S3-plugin(1) now reads sensitive tokens as passwords, allowing more flexibility on
       how to safely pass them to nbdkit.

   Filters
       New nbdkit-readonly-filter(1) which allows more fine-grained control over whether a plugin
       is read-only (and also to change it at runtime) compared to the normal nbdkit -r command
       line option.

   Language bindings
       nbdkit-python-plugin(3) adds bindings for "nbdkit.is_tls", "nbdkit.stdio_safe",
       "nbdkit.nanosleep" "nbdkit.peer_pid", "nbdkit.peer_uid", "nbdkit.peer_gid",
       "nbdkit.peer_security_context", "nbdkit.read_password".

       nbdkit-ocaml-plugin(3) implements zero-copy pread and pwrite calls.  This change is not
       backwards compatible for OCaml plugin code.  (Thanks Nicolas Ojeda Bar, Anil Madhavapeddy,
       Simon Cruanes).

       nbdkit-ocaml-plugin also adds extra OCaml version information to --dump-plugin output; and
       adds an example of how to use debug flags.

       nbdkit-rust-plugin(3) minimum Rust version (MSRV) increased to 1.63.0.  Various issues
       found by clippy have been fixed (Alan Somers).

   Server
       New --no-meta-contexts (--no-mc) option which stops the server from advertising metadata
       contexts, improving interoperability testing (Eric Blake).

       nbdkit --dump-plugin outputs additional fields: The internal "soext", either "so" or "dll"
       so you can tell what plugin/filter extension the server is looking for.  The
       "max_api_version" is the maximum plugin API version supported.

   Bug fixes
       Fix compilation with GCC 14 (Florian Weimer).

       Fix the default block size exposed by nbdkit-S3-plugin(1), fix the zero callback, and
       other bug fixes (Mykola Ivanets).

       nbdkit-luks-filter(1) could enter an infinite loop in some error cases (Wilko Nienhaus).

       Several plugins would crash or behave strangely if no parameters were passed.  These have
       been fixed and a regression test added.

   Documentation
       Update fio benchmarking documentation (Eric Blake).

       Add example of how to export a variable to --run subcommands (Eric Blake).

   Tests
       Fix Cirros CI tests (Peter Krempa).

   Build
       bash ≥ 4 is required.  (This was always true, but now the ./configure script checks it.)

       You can now use both environment variables "NBDKIT_VALGRIND=1 NBDKIT_GDB=1" together to
       run valgrind and gdbserver, in order to debug valgrinded nbdkit and plugins.

   Internals
       Important internal structs now contain magic values which are checked by optional
       assertions, improving type safety.

SEE ALSO

       nbdkit(1).

AUTHORS

       Authors of nbdkit 1.38:

       Alan Somers
       Eric Blake
       Mykola Ivanets
       Peter Krempa
       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.