I'm pleased to announce new stable releases of nbdkit 1.42 and libnbd 1.22

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.

Notable features include:

 - New nbdkit-time-limit-filter, nbdkit-lzip-filter

 - New nbdkit --timeout and --keepalive options

 - New nbd+ssh:// URI format for libnbd, tunneling NBD over SSH

 - Send the full plugin error from nbdkit to libnbd

 - Support for GCC 15, Tcl 9.0, OCaml 5.3, Rust 1.84


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

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

Release notes for nbdkit 1.42 online:
https://libguestfs.org/nbdkit-release-notes-1.42.1.html

Release notes for libnbd 1.22 online:
https://libguestfs.org/libnbd-release-notes-1.22.1.html

-----

nbdkit-release-notes-1.42(1)         NBDKIT        nbdkit-release-notes-1.42(1)

NAME
       nbdkit-release-notes-1.42 - release notes for nbdkit 1.42

DESCRIPTION
       These are the release notes for nbdkit stable release 1.42.  This
       describes the major changes since 1.40.

       nbdkit 1.42.0 was released on 11 February 2025.

   Security
       nbdkit-ip-filter(1) has been fixed to close an information leak.  In an
       unusual configuration of the filter, it could leak the list of exports
       to clients that are supposed to be blocked.

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

   Plugins
       nbdkit-ondemand-plugin(1) now allows more characters to appear in
       filenames.  Colons are now allowed, so filenames containing MAC
       addresses can be used, which is useful when using NBD in pre-boot
       environments.  Also add the "share=true" option to allow sharing.
       (Thanks Markus Hartung)

       nbdkit-vddk-plugin(1) now prints the default list of transports in
       --dump-plugin output.  Also this plugin now handles partial chunks
       correctly when reading extents for disks with a non-aligned size (thanks
       Ming Xie).

   Filters
       New nbdkit-time-limit-filter(1) can be used to specify the maximum time
       limit for a connection.  (See also the new --timeout option below).

       New nbdkit-lzip-filter(1) implements random access to lzip-compressed
       files (Jan Felix Langenbach).

   Language bindings
       Multiple updates to nbdkit-rust-plugin(3) to keep up to date with latest
       changes in the Rust language (Alan Somers).

       Fix crash that happened in nbdkit-ocaml-plugin(3) plugins with OCaml ≥ 5
       (thanks Guillaume Munch-Maccagnoni, Gabriel Scherer).  Also update the
       ocamldoc documentation.  Fix more OCaml 5 deprecation warnings.

       Add support for Tcl 9.0 to nbdkit-tcl-plugin(3).

   Server
       nbdkit will now try to send the last plugin error message over the NBD
       protocol to the client, to provide additional information.  This
       requires an NBD client which supports this, such as qemu ≥ 2.12 or
       libnbd ≥ 1.22.

       New nbdkit --timeout flag can be used as a security measure to ensure
       that clients don't consume resources by opening lots of connections and
       then not negotiating (or negotiating slowly) the full NBD session.

       New nbdkit --keepalive option which enables TCP-level keepalives.  This
       is useful for detecting dead clients.

       nbdkit --dump-config output now includes "timeout_option=yes|no" and
       "vsock_option=yes|no" reflecting whether the --timeout and --vsock
       options are available.

   Bug fixes
       Detect and warn about certain conditions which can cause the
       closed-source VDDK library to crash the server (Matthew Arnold, Nijin
       Ashok, Eric Blake).

   Tests
       Plugins from nbdkit 1.38 have been added to the tests/old-plugins
       directory.

   Build
       nbdkit should be buildable again on macOS.

       Add support for GCC 15.

SEE ALSO
       nbdkit(1).

AUTHORS
       Authors of nbdkit 1.42:

       Alan Somers
       Eric Blake
       Jan Felix Langenbach
       Richard W.M. Jones


----------

libnbd-release-notes-1.22(1)         LIBNBD        libnbd-release-notes-1.22(1)

NAME
       libnbd-release-notes-1.22 - release notes for libnbd 1.22

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

       libnbd 1.22.0 was released on 11 February 2025.

   Security
       Multiple flaws in TLS server certificate checking were found and fixed
       (CVE-2024-7383).  See
       
https://lists.libguestfs.org/archives/list/guestfs@lists.libguestfs.org/thread/LHR3BW6RJ7K4BJBQIYV3GTZLSY27VZO2/
       (thanks Jon Szymaniak, Daniel P. Berrangé).

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

   New APIs
       nbd_set_tls_hostname(3) and nbd_get_tls_hostname(3) can be used to set
       and get the hostname used for TLS server certificate checking.  This
       hostname, if set, is used in preference to the hostname of the server.
       This can be used when NBD connections are proxied, or transported over a
       Unix domain socket.

       nbd_is_uri(3) applies a heuristic to detect if something is likely to be
       an NBD URI or not.

       nbd_get_subprocess_pid(3) returns the process ID (PID) of the subprocess
       created by functions such as nbd_connect_command(3).

   Enhancements to existing APIs
       As an extension to nbd_connect_uri(3), you can now connect to
       "nbd+ssh://" or "nbds+ssh://" URIs, creating an NBD tunnel over an SSH
       connection.  This is very convenient when you have SSH access to a
       remote host, but a firewall prevents direct access to NBD ports.

   Protocol
       We now print the full error message string if one is sent by the server.
       nbdkit ≥ 1.42 will send full error messages from plugins over the NBD
       connection to compatible NBD clients like libnbd 1.22 or qemu.

   Tools
       Fix nbdfuse(1) so that TLS URIs using "?tls-certificates" or
       "?tls-psk-file" now work properly (Jon Szymaniak).

       nbddump(1) has a new --offset option (Eric Blake).

   Language bindings
       Various fixes to the Rust bindings (thanks Hanna Czenczek).

       The documentation included in the Rust bindings has been improved
       greatly.

   Other improvements and bug fixes
       Common code is now used to get the size of block devices, and this has
       been fixed to work properly on BSD.  This affected at least nbdcopy when
       used to copy to and from block devices on BSD.

   Documentation
       Fix links to nbd-server(1) and other pages in HTML-generated
       documentation (Vera Wu).

       In nbd_connect_uri(3) we documented small differences in the way that we
       parse NBD URIs versus qemu.

       nbd_connect_uri(3) adds additional documentation on the reserved VSock
       port numbers.

   Build
       gnutls ≥ 3.5.18 is now required.  This matches the version needed by
       qemu.  If using RHEL, this means that RHEL ≥ 8 is now required.

       libnbd should now compile on macOS.

       examples/connect-benchmark is a new example that can be used to
       benchmark connections.

       Add support for GCC 15.

SEE ALSO
       libnbd(3).

AUTHORS
       Daniel P. Berrangé
       Eric Blake
       Richard W.M. Jones
       Jon Szymaniak
_______________________________________________
Libguestfs mailing list -- guestfs@lists.libguestfs.org
To unsubscribe send an email to guestfs-le...@lists.libguestfs.org

Reply via email to