libnbd-release-notes-1.10 - Man Page

release notes for libnbd 1.10

Description

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 23 September 2021.

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

New APIs

No new APIs were added in 1.10.

Enhancements to existing APIs

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

Tools

nbdcopy(1) now uses a default request size of 2M (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. --is read-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).

Other improvements and bug fixes

The nbdcopy(1) progress bar should be displayed more accurately in multithreaded mode.

Documentation

nbd_connect(3) and nbd_aio_connect(3) 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.

Build

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

See Also

libnbd(3).

Authors

Anson Lo

Eric Blake

Martin Kletzander

Richard W.M. Jones

License

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Info

2021-10-04 libnbd-1.10.0