I'm pleased to announce new stable releases of nbdkit 1.38 and libnbd 1.20.

nbdkit is a Network Block Device (NBD) server with a stable plugin ABI
and a permissive license.  libnbd is an NBD client library in
userspace.

Largely these are bug fix releases, but there are some interesting new
features such as the new Google Cloud Server plugin for nbdkit,
enhancements to nbdinfo, and OCaml zero-copy support,

nbdkit 1.38.0 can be downloaded here:
https://download.libguestfs.org/nbdkit/1.38-stable/
git here: https://gitlab.com/nbdkit/nbdkit

libnbd 1.20.0 can be downloaded here:
https://download.libguestfs.org/libnbd/1.20-stable/
git here: https://gitlab.com/nbdkit/libnbd

Release notes for nbdkit 1.38 online:
https://libguestfs.org/nbdkit-release-notes-1.38.1.html

Release notes for libnbd 1.20 online:
https://libguestfs.org/libnbd-release-notes-1.20.1.html

-----


       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




       libnbd-release-notes-1.20 - release notes for libnbd 1.20

DESCRIPTION
       These are the release notes for libnbd stable release 1.20.  This
       describes the major changes since 1.18.

       libnbd 1.20.0 was released on 5 April 2024.

   Security
       Fuzzing found and Eric Blake fixed an assertion which could be
       triggered by connecting to a malicious server.  This was assigned
       CVE-2023-5871 (low severity).  See the announcement here:
       
https://lists.libguestfs.org/archives/list/guestfs@lists.libguestfs.org/thread/5CRC7LRTN35WPZZ4BT6NAMH4JGMF47IK/

       If you find a security issue, please read SECURITY in the source
       (online here: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY).
       To find out about previous security issues in libnbd, see
       libnbd-security(3).

   Enhancements to existing APIs
       nbd_connect_uri(3) now correctly supports case insensitive URIs.

   Protocol
       Improve interop with nbd-server(1) which supports structured replies
       but not meta context (Eric Blake).

   Tools
       nbdinfo(1) adds support for --isnt, --cannot, --hasnt, which lets you
       check if features of an NBD server are not supported.

       nbdinfo(1) adds support for --uri which just prints the canonical URI
       of the server.

       nbdinfo(1) now prints human sizes for block size constraints (Eric
       Blake).

   Language bindings
       New libnbd-rust(3) manual page added, providing an overview for writing
       Rust programs using libnbd.

       Rust documentation has been improved by using a custom translator from
       our own documentation format (Perl POD) to rustdoc.

       Some Rust compiler warnings were fixed (Eric Blake).

       OCaml bindings now support zero-copy in AIO pread and pwrite functions.
       This change is backwards compatible with existing code.  (Thanks
       Nicolas Ojeda Bar, Anil Madhavapeddy, Simon Cruanes).

       OCaml bindings now use "Gc.finalize" (OCaml-level finalizers instead of
       C-level finalizers) which improves compatibility in OCaml 5.1.1 and
       above (Guillaume Munch-Maccagnoni).

       OCaml ≥ 4.05 is formally required and checked in ./configure.
       Previously we did not specify a minimum version of OCaml, but in
       practice versions older than 4.05 probably didn't work.

   Tests
       Fuzzing approach was changed to use asynchronous commands.  This
       improves speed of fuzzing greatly and should find more issues.

       Multiple CI fixes (Eric Blake).

       Respect the user's choice of qemu-nbd, nbdkit and other binaries from
       (eg) "./configure NBDKIT=/some/nbdkit".  Previously we would often test
       against binaries found on the path even if the user had specified other
       binaries to use.

   Other improvements and bug fixes
       nbdinfo(1) now gracefully disconnects from the server in error cases,
       improving output (Eric Blake).

       "struct nbd_handle" now contains a magic value which is checked on
       entry to libnbd, which should identify mistakes where programs calling
       libnbd pass in an incorrect pointer.

   Documentation
       An example was added of how to use userfaultfd to mmap an NBD-backed
       drive.  See examples/userfault-map.c in the libnbd sources.

       Documentation of acceptable handle states in the man pages has been
       improved.

   Build
       contrib/libnbd.m4 is a contributed configure test for libnbd (Bruno
       Haible).

       "./configure --with-bash-completions" will now fail if the required
       bash-completions package is not installed.

SEE ALSO
       libnbd(3).

AUTHORS
       Eric Blake
       Richard W.M. Jones
       Thomas Weißschuh


-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
_______________________________________________
Libguestfs mailing list -- guestfs@lists.libguestfs.org
To unsubscribe send an email to guestfs-le...@lists.libguestfs.org

Reply via email to