These are the release notes for libnbd stable release 1.10. This describes the major changes since 1.8.
libnbd 1.10.0 was released on 23September2021.
Security
There were no security bugs found in libnbd during this release cycle.
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).
NewAPIs
No new APIs were added in 1.10.
EnhancementstoexistingAPIsnbd_get_uri(3) no longer returns service names (eg. "nbd://localhost:nbd"). Instead it always returns
raw port numbers for portability.
nbd_connect_uri(3) now supports "tls-certificates=DIR" query parameter, making it much easier to connect
to servers using TLS with X.509 certificates. Also error messages from this API have been improved in
the case of some common URI user errors.
Python "nbd.aio_connect" implements support for "AF_UNIX" sockets.
Fix invalid use of "unsafe.Pointer" in Go bindings.
Toolsnbdcopy(1) now uses a default request size of 256K (instead of 32M). This default performs better in
most cases.
nbdinfo(1) has a new --map--totals mode which displays a summary of the map. Also new --can and --is
options let you test export properties (eg. --isread-only).
nbdinfo(1) --map option uses "data" instead of "allocated" because of ambiguity about what "allocated"
means (Eric Blake, Nir Soffer).
nbdinfo(1) shows the export size in both bytes and human units (like "1K"). The machine-parsable JSON
output has not changed.
nbdfuse(1) now supports efficient zeroing. Note this requires Linux kernel ≥ 5.14.
nbdsh(1) has new option -n which avoids creating the implicit handle "h". Also new option -v which
enables debugging. Also the initial help banner is now context sensitive giving more relevant
information depending on how nbdsh was invoked.
Tests
CI tests were greatly enhanced and many platform-specific fixes were made. To view the latest CI tests
and results see: https://gitlab.com/nbdkit/libnbd/-/pipelines (Martin Kletzander).
Tests now use the new "GLIBC_TUNABLES" feature, replacing "MALLOC_CHECK_" on glibc ≥ 2.34 (thanks Eric
Blake, Siddhesh Poyarekar).
Otherimprovementsandbugfixes
The nbdcopy(1) progress bar should be displayed more accurately in multithreaded mode.
Documentation
"nbd_connect*" and "nbd_aio_connect*" documentation has been revised and improved.
More consistent option styling is used throughout the documentation.
podwrapper.pl has been unified (almost) with the copy in nbdkit.
Buildconfigure.ac now uses spaces consistently, and has been modernized to support the latest autotools (Eric
Blake).
We now warn about large stack frames, and a few places which used large stack frames have been fixed.
Continue fuzzing using AFL++. Updated the fuzzing documentation.
Fix building from git with --disable-ocaml. As long as only "ocamlc" is installed, the generator should
still be built and run (Martin Kletzander).